RAW to percentage/temperature
-
- Posts: 1818
- Joined: 02 Oct 2010, 02:19
- Location: Michigan USA
- Contact:
Re: RAW to percentage/temperature
Where is it? I would like to see it, even though I don't know if I will get much from it.
Matt
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
-
- Posts: 323
- Joined: 29 Sep 2010, 05:03
Re: RAW to percentage/temperature
You can download it from the Lego Mindstorms site...
http://mindstorms.lego.com/en-us/suppor ... x#Firmware
If you want to explore it make sure you use a good ide with good search tools to let you follow the code around (something like NetBeans or Eclipse, or if you are a command line sort of guy make sure you have grep etc. available)...
Andy
http://mindstorms.lego.com/en-us/suppor ... x#Firmware
If you want to explore it make sure you use a good ide with good search tools to let you follow the code around (something like NetBeans or Eclipse, or if you are a command line sort of guy make sure you have grep etc. available)...
Andy
-
- Posts: 323
- Joined: 29 Sep 2010, 05:03
Re: RAW to percentage/temperature
Sorry, wrong link. The correct one is here...
http://mindstorms.lego.com/en-us/suppor ... x#Advanced
scroll the horizontal scrolling thing until you can choose "open source firmware" and download that!
Andy
http://mindstorms.lego.com/en-us/suppor ... x#Advanced
scroll the horizontal scrolling thing until you can choose "open source firmware" and download that!
Andy
Re: RAW to percentage/temperature
Here's the important bit (from the enhanced NBC/NXC firmware which is slightly different than the standard firmware):
The TempConvTable is here:
John Hansen
Code: Select all
else if (sType == TEMPERATURE)
{
if (InputVal < 290)
InputVal = 290;
else if (InputVal > 928)
InputVal = 928;
InputVal = TempConvTable[(InputVal) - /*197*/ 290];
InputVal = InputVal + 200;
InputVal = (UWORD)(((SLONG)InputVal * (SLONG)1023)/(SLONG)900);
Code: Select all
const SWORD TempConvTable[] =
{
/* 1500, 1460, 1430, 1400, 1380, 1360, 1330, 1310, 1290, 1270, 1250, 1230, 1220, 1200, 1190, 1170,
1160, 1150, 1140, 1130, 1110, 1100, 1090, 1080, 1070, 1060, 1050, 1040, 1030, 1020, 1010, 1000,
994, 988, 982, 974, 968, 960, 954, 946, 940, 932, 926, 918, 912, 906, 900, 894,
890, 884, 878, 874, 868, 864, 858, 854, 848, 844, 838, 832, 828, 822, 816, 812,
808, 802, 798, 794, 790, 786, 782, 780, 776, 772, 768, 764, 762, 758, 754, 750,
748, 744, 740, 736, 732, 730, 726, 722, 718, 716, 712, 708, 704,*/ 700, 696, 694,
690, 688, 684, 682, 678, 674, 672, 668, 666, 662, 660, 656, 654, 650, 648, 644,
642, 640, 638, 634, 632, 630, 628, 624, 622, 620, 616, 614, 612, 610, 608, 604,
602, 600, 598, 596, 592, 590, 588, 586, 584, 582, 580, 578, 576, 574, 572, 570,
568, 564, 562, 560, 558, 556, 554, 552, 550, 548, 546, 544, 542, 540, 538, 536,
534, 532, 530, 528, 526, 524, 522, 520, 518, 516, 514, 512, 510, 508, 508, 506,
504, 502, 500, 498, 496, 494, 494, 492, 490, 488, 486, 486, 484, 482, 480, 478,
476, 476, 474, 472, 470, 468, 468, 466, 464, 462, 460, 458, 458, 456, 454, 452,
450, 448, 448, 446, 444, 442, 442, 440, 438, 436, 436, 434, 432, 432, 430, 428,
426, 426, 424, 422, 420, 420, 418, 416, 416, 414, 412, 410, 408, 408, 406, 404,
404, 402, 400, 398, 398, 396, 394, 394, 392, 390, 390, 388, 386, 386, 384, 382,
382, 380, 378, 378, 376, 374, 374, 372, 370, 370, 368, 366, 366, 364, 362, 362,
360, 358, 358, 356, 354, 354, 352, 350, 350, 348, 348, 346, 344, 344, 342, 340,
340, 338, 338, 336, 334, 334, 332, 332, 330, 328, 328, 326, 326, 324, 322, 322,
320, 320, 318, 316, 316, 314, 314, 312, 310, 310, 308, 308, 306, 304, 304, 302,
300, 300, 298, 298, 296, 296, 294, 292, 292, 290, 290, 288, 286, 286, 284, 284,
282, 282, 280, 280, 278, 278, 276, 274, 274, 272, 272, 270, 270, 268, 268, 266,
264, 264, 262, 262, 260, 260, 258, 258, 256, 254, 254, 252, 252, 250, 250, 248,
248, 246, 244, 244, 242, 240, 240, 240, 238, 238, 236, 236, 234, 234, 232, 230,
230, 228, 228, 226, 226, 224, 224, 222, 220, 220, 218, 218, 216, 216, 214, 214,
212, 212, 210, 210, 208, 208, 206, 204, 204, 202, 202, 200, 200, 198, 198, 196,
196, 194, 194, 192, 190, 190, 188, 188, 186, 186, 184, 184, 182, 182, 180, 180,
178, 178, 176, 176, 174, 174, 172, 172, 170, 170, 168, 168, 166, 166, 164, 164,
162, 162, 160, 160, 158, 156, 156, 154, 154, 152, 152, 150, 150, 148, 148, 146,
146, 144, 144, 142, 142, 140, 140, 138, 136, 136, 136, 134, 134, 132, 130, 130,
128, 128, 126, 126, 124, 124, 122, 122, 120, 120, 118, 118, 116, 116, 114, 114,
112, 110, 110, 108, 108, 106, 106, 104, 104, 102, 102, 100, 100, 98, 98, 96,
94, 94, 92, 92, 90, 90, 88, 88, 86, 86, 84, 82, 82, 80, 80, 78,
78, 76, 76, 74, 74, 72, 72, 70, 70, 68, 68, 66, 66, 64, 62, 62,
60, 60, 58, 56, 56, 54, 54, 52, 52, 50, 50, 48, 48, 46, 46, 44,
44, 42, 40, 40, 38, 38, 36, 34, 34, 32, 32, 30, 30, 28, 28, 26,
24, 24, 22, 22, 20, 20, 18, 16, 16, 14, 14, 12, 12, 10, 10, 8,
6, 6, 4, 2, 2, 0, 0, -2, -4, -4, -6, -6, -8, -10, -10, -12,
-12, -14, -16, - 16, -18, -20, -20, -22, -22, -24, -26, -26, -28, -30, -30, -32,
-34, -34, -36, -36, -38, -40, -40, -42, -42, -44, -46, -46, -48, -50, -50, -52,
-54, -54, -56, -58, -58, -60, -60, -62, -64, -66, -66, -68, -70, -70, -72, -74,
-76, -76, -78, -80, -80, -82, -84, -86, -86, -88, -90, -90, -92, -94, -94, -96,
-98, -98, -100, -102, -104, -106, -106, -108, -110, -112, -114, -114, -116, -118, -120, -120,
-122, -124, -126, -128, -130, -130, -132, -134, -136, -138, -140, -142, -144, -146, -146, -148,
-150, -152, -154, -156, -158, -160, -162, -164, -166, -166, -168, -170, -172, -174, -176, -178,
-180, -182, -184, -186, -188, -190, -192, -194, -196, -196, -198, -200/*,-202, -204, -206, -208,
-210, -212, -214, -216, -218, -220, -224, -226, -228, -230, -232, -234, -236, -238, -242, -246,
-248, -250, -254, -256, -260, -262, -264, -268, -270, -274, -276, -278, -282, -284, -286, -290,
-292, -296, -298, -300, -306, -308, -312, -316, -320, -324, -326, -330, -334, -338, -342, -344,
-348, -354, -358, -362, -366, -370, -376, -380, -384, -388, -394, -398, -404, -410, -416, -420,
-428, -432, -440, -446, -450, -460, -468, -476, -484, -492, -500, -510, -524, -534, -546, -560,
-572, -588, -600, -630, -656, -684, -720, -770 */
};
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
-
- Posts: 1818
- Joined: 02 Oct 2010, 02:19
- Location: Michigan USA
- Contact:
Re: RAW to percentage/temperature
Ok, thank you. Hopefully I will be able to learn from it.
Matt
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
Re: RAW to percentage/temperature
I hate to bump up old posts but I found something rather interesting that I thought you might want to know. While reading the Spanish Wikipedia entry for Lego Mindstorms (which, IMHO is way better than the numerous English entries) I came across a simple equation that supposedly calculates the temperature from the raw value. Keep in mind that I haven't tested this, the main reason being that I don't have a Legacy Temp sensor. I also remember finding an equation for raw-to-temp in the Extreme NXT book (second edition) but for some reason didn't bookmark it...
-Edit- Post 100!
-Edit- Post 100!
One King to rule them all, One King to find them,
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
Re: RAW to percentage/temperature
The formula is on page 80 of the book.
A sophistical rhetorician, inebriated with the exuberance of his own verbosity, and gifted with an egotistical imagination that can at all times command an interminable and inconsistent series of arguments to malign an opponent and to glorify himself.
Re: RAW to percentage/temperature
Or, page 82 in the second edition. Ok, I thought that equation was to calculate which thermistor would be best as far as similarity to the Legacy sensor. I thought I'd found a different, simpler, equation elsewhere in the book, I must be mistaken .
One King to rule them all, One King to find them,
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
-
- Posts: 1818
- Joined: 02 Oct 2010, 02:19
- Location: Michigan USA
- Contact:
Re: RAW to percentage/temperature
Thanks, I'll be sure to try it out. Just so you don't have to go looking, here are the formulas according to that page.
Edited for accuracy.
Code: Select all
Light = 146 − RAW / 7
Temp = (785 − RAW) / 8
if (RAW>450) //touch = 1
Last edited by mattallen37 on 25 Jan 2011, 01:47, edited 1 time in total.
Matt
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
http://mattallen37.wordpress.com/
I'm all for gun control... that's why I use both hands when shooting
Re: RAW to percentage/temperature
I think that when you copied the Light equation over you might have missed some of it . Complete version below.
-EDIT- Now I messed up! Copied over the Temperature equation instead of the Light equation .
Code: Select all
Light = 146 − RAW / 7
One King to rule them all, One King to find them,
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
One King to bring them all and in the darkness bind them
On Earth where Shadows lie.
Who is online
Users browsing this forum: No registered users and 1 guest