Re: [Tinyos-help] Help me with power range and signal strength!
Many users (including me) have had no success using the CC1000Control interface and the setRFPower commands. The way I did it was to edit the CC1000Control.h file in /tos/system/platforms/mica2. Ive forgotten the excat location now but there is a 2-D array called PARAM..something somewhere. In the xxxMhz array (xxx is the radio freq of the motes u are using..there is a seperate array for each type of freq) change the value of the PA_POW variable. (this is a register in the CHIPCON chip that can be used to adjust the transmitter power). By default it is 0xff on MICA2 motes. When i changed it to 0x00 i got a range of about 4-6 feet in an indoor lab environment. On 6/28/06, Rahul Sawant [EMAIL PROTECTED] wrote: Hi Use the formula on pg 28 of this document. http://www.xbow.com/Support/Support_pdf_files/MPR-MIB_Series_Users_Manual.pdf also u have declared data in MyMsg to be an array of size 18 ie it runs from 0 to 17 and u r using data[18] is it right just check that. Rahul On 6/27/06, Hieu Tran [EMAIL PROTECTED] wrote: Hi all! I searched in the archieves and found some of the topics that disscuss about power range however I still have problem with it. in the CC1000ControlM at the line: // Set default parameter values // POWER 0dbm gCurrentParameters[0xb] = ((8 CC1K_PA_HIGHPOWER) | (0 CC1K_PA_LOWPOWER)); call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); I guess I can make a change to power range here so I make change : gCurrentParameters[0xb] =1;//I want to change to the minimum power range call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); After that I recompile my program and run it. However It seems that my change does not go in to effect (the range is still large). Can you tell me the correct way to make the change to the power range? I have one more question about signal strength. I made the change at the TOS_Base, I try to read the signal strength from TOS_Msg event TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) { cmd= (struct MyMsg *)Msg-data; temp1 = (int8_t) (((Msg-strength)8) 0xF);//take 8 MSB cmd-data[17] = temp1;//put in to packet at data[17]temp2 = (int8_t) ((8(Msg-strength)) 0xF);//take 8 LSBcmd-data[18] = temp2;//put in ton packet at data[18] .. Here is MyMsg structure: typedef struct MyMsg { uint16_t seqno; int8_t action; uint16_t source; uint8_t hop_count; uint16_t destaddr; int8_t data[18];} MyMsg; After that, I use Listen program to read signal strength value, however all the times these values are always 0 or 1 (convert to decimal number). Can anyone tell me is this a correct way to receive signal strength? If correct, how canconvert this value to dBm? many thanks! Tran! Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less. ___Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- regards,Aditya Bhave ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Fwd: [Tinyos-help] Help me with power range and signal strength!
-- Forwarded message --From: Aditya Bhave [EMAIL PROTECTED]Date: Jun 29, 2006 12:42 AM Subject: Re: [Tinyos-help] Help me with power range and signal strength!To: bhushan bhatt [EMAIL PROTECTED]You need to modify the CC1000Control.h file in tos/system/platforms/mica2.Im assuming youre motes freq is 914 Mhz.In that case there is a 2D array called CC1K_Params.Look for the PA_POW variable under the 914 Mhz range (there is a seperate row for each type of freq). Look in row 1. It is presently // PA_POW 0x0b ((0x8CC1K_PA_HIGHPOWER) | (0x0CC1K_PA_LOWPOWER)), //0xffChange the above to// PA_POW 0x0b// ((0x8CC1K_PA_HIGHPOWER) | (0x0CC1K_PA_LOWPOWER)), 0x00You can see that I have changed PA_POW to the value 0x00 FROM 0xff (default). The 0x0b (decimal number 11) is not a value...it indicates the position of the element within row 1 of the CC1K_Params array. By giving diff values to PA_POW from 00 to ff, you can change the range.Let me know if it works. If you are using a diff freq mote, change the PA_POW variable corresponding to that freq On 6/28/06, bhushan bhatt [EMAIL PROTECTED] wrote: I have the same problem and tried to control the power by changing CC2420 Radio file for tmote but i still cant get the desired range. I still get range more than 30 feet. Does someone know and have reduced the range for tmotes ?? BhushanAditya Bhave [EMAIL PROTECTED] wrote: Many users (including me) have had no success using the CC1000Control interface and the setRFPower commands. The way I did it was to edit the CC1000Control.h file in /tos/system/platforms/mica2. Ive forgotten the excat location now but there is a 2-D array called PARAM..something somewhere. In the xxxMhz array (xxx is the radio freq of the motes u are using..there is a seperate array for each type of freq) change the value of the PA_POW variable. (this is a register in the CHIPCON chip that can be used to adjust the transmitter power). By default it is 0xff on MICA2 motes. When i changed it to 0x00 i got a range of about 4-6 feet in an indoor lab environment. On 6/28/06, Rahul Sawant [EMAIL PROTECTED] wrote: Hi Use the formula on pg 28 of this document. http://www.xbow.com/Support/Support_pdf_files/MPR-MIB_Series_Users_Manual.pdf also u have declared data in MyMsg to be an array of size 18 ie it runs from 0 to 17 and u r using data[18] is it right just check that. Rahul On 6/27/06, Hieu Tran [EMAIL PROTECTED] wrote: Hi all! I searched in the archieves and found some of the topics that disscuss about power range however I still have problem with it. in the CC1000ControlM at the line: // Set default parameter values // POWER 0dbm gCurrentParameters[0xb] = ((8 CC1K_PA_HIGHPOWER) | (0 CC1K_PA_LOWPOWER)); call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); I guess I can make a change to power range here so I make change : gCurrentParameters[0xb] =1;//I want to change to the minimum power range call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); After that I recompile my program and run it. However It seems that my change does not go in to effect (the range is still large). Can you tell me the correct way to make the change to the power range? I have one more question about signal strength. I made the change at the TOS_Base, I try to read the signal strength from TOS_Msg event TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) { cmd= (struct MyMsg *)Msg-data; temp1 = (int8_t) (((Msg-strength)8) 0xF);//take 8 MSB cmd-data[17] = temp1;//put in to packet at data[17]temp2 = (int8_t) ((8(Msg-strength)) 0xF);//take 8 LSB cmd-data[18] = temp2;//put in ton packet at data[18] .. Here is MyMsg structure: typedef struct MyMsg { uint16_t seqno; int8_t action; uint16_t source; uint8_t hop_count; uint16_t destaddr; int8_t data[18];} MyMsg; After that, I use Listen program to read signal strength value, however all the times these values are always 0 or 1 (convert to decimal number). Can anyone tell me is this a correct way to receive signal strength? If correct, how canconvert this value to dBm? many thanks! Tran! Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2�/min or less. ___Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- regards,Aditya Bhave ___ Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help How low will we go? Check out Yahoo! Messenger's low PC-to-Phone call rates. -- regards,Aditya Bhave -- regards,Aditya Bhave
[Tinyos-help] Help me with power range and signal strength!
Hi all! I searched in the archieves and found some of the topics that disscuss about power range however I still have problem with it.in the CC1000ControlM at the line:// Set default parameter values // POWER 0dbm gCurrentParameters[0xb] = ((8 CC1K_PA_HIGHPOWER) | (0 CC1K_PA_LOWPOWER)); call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]);I guess I can make a change to power range here so I make change : gCurrentParameters[0xb] =1;//I want to change to the minimum power range call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]);After that I recompile my program and run it. However It seems that my change does not go in to effect (the range is still large). Can you tell me the correct way to make the change to the power range?I have one more question about signal strength.I made the change at the TOS_Base, I try to read the signal strength from TOS_Msgevent TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) { cmd= (struct MyMsg *)Msg-data; temp1 = (int8_t) (((Msg-strength)8) 0xF);//take 8 MSB cmd-data[17] = temp1;//put in to packet at data[17]temp2 = (int8_t) ((8(Msg-strength)) 0xF);//take 8 LSBcmd-data[18] = temp2;//put in ton packet at data[18] .. Here is MyMsg structure: typedef struct MyMsg { uint16_t seqno; int8_t action; uint16_t source; uint8_t hop_count; uint16_t destaddr; int8_t data[18];} MyMsg; After that, I use Listen program to read signal strength value, however all the times these values are always 0 or 1 (convert to decimal number). Can anyone tell me is this a correct way to receive signal strength? If correct, how canconvert this value to dBm?many thanks! Tran! Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less.___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Help me with power range and signal strength!
Hi Tran, i would change the output power with CC1000Control.SetRFPower(uint8_t power)from CC1000ControlM. You can use this at runtime instead of changing default values. To validate your changes you can use the CC1000Control.GetRFPower() function. E.g.: call CC1000Control.SetRFPower(7); call Leds.set(call CC1000Control.GetRFPower()); - all LEDs should be on. OLE - Original Message - From: Hieu Tran To: tinyos-help@Millennium.Berkeley.EDU Sent: Tuesday, June 27, 2006 1:44 PM Subject: [Tinyos-help] Help me with power range and signal strength! Hi all! I searched in the archieves and found some of the topics that disscuss about power range however I still have problem with it. in the CC1000ControlM at the line: // Set default parameter values // POWER 0dbm gCurrentParameters[0xb] = ((8 CC1K_PA_HIGHPOWER) | (0 CC1K_PA_LOWPOWER)); call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); I guess I can make a change to power range here so I make change : gCurrentParameters[0xb] =1;//I want to change to the minimum power range call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); After that I recompile my program and run it. However It seems that my change does not go in to effect (the range is still large). Can you tell me the correct way to make the change to the power range? I have one more question about signal strength. I made the change at the TOS_Base, I try to read the signal strength from TOS_Msg event TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) { cmd= (struct MyMsg *)Msg-data; temp1 = (int8_t) (((Msg-strength)8) 0xF);//take 8 MSB cmd-data[17] = temp1;//put in to packet at data[17]temp2 = (int8_t) ((8(Msg-strength)) 0xF);//take 8 LSBcmd-data[18] = temp2;//put in ton packet at data[18] .. Here is MyMsg structure: typedef struct MyMsg { uint16_t seqno; int8_t action; uint16_t source; uint8_t hop_count; uint16_t destaddr; int8_t data[18];} MyMsg; After that, I use Listen program to read signal strength value, however all the times these values are always 0 or 1 (convert to decimal number). Can anyone tell me is this a correct way to receive signal strength? If correct, how canconvert this value to dBm? many thanks! Tran! Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less. ___Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDUhttps://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Help me with power range and signal strength!
Hi Use the formula on pg 28 of this document. http://www.xbow.com/Support/Support_pdf_files/MPR-MIB_Series_Users_Manual.pdf also u have declared data in MyMsg to be an array of size 18 ie it runs from 0 to 17 and u r using data[18] is it right just check that. Rahul On 6/27/06, Hieu Tran [EMAIL PROTECTED] wrote: Hi all! I searched in the archieves and found some of the topics that disscuss about power range however I still have problem with it. in the CC1000ControlM at the line: // Set default parameter values // POWER 0dbm gCurrentParameters[0xb] = ((8 CC1K_PA_HIGHPOWER) | (0 CC1K_PA_LOWPOWER)); call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); I guess I can make a change to power range here so I make change : gCurrentParameters[0xb] =1;//I want to change to the minimum power range call HPLChipcon.write(CC1K_PA_POW, gCurrentParameters[0xb]); After that I recompile my program and run it. However It seems that my change does not go in to effect (the range is still large). Can you tell me the correct way to make the change to the power range? I have one more question about signal strength. I made the change at the TOS_Base, I try to read the signal strength from TOS_Msg event TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) { cmd= (struct MyMsg *)Msg-data; temp1 = (int8_t) (((Msg-strength)8) 0xF);//take 8 MSB cmd-data[17] = temp1;//put in to packet at data[17]temp2 = (int8_t) ((8(Msg-strength)) 0xF);//take 8 LSBcmd-data[18] = temp2;//put in ton packet at data[18] .. Here is MyMsg structure: typedef struct MyMsg { uint16_t seqno; int8_t action; uint16_t source; uint8_t hop_count; uint16_t destaddr; int8_t data[18];} MyMsg; After that, I use Listen program to read signal strength value, however all the times these values are always 0 or 1 (convert to decimal number). Can anyone tell me is this a correct way to receive signal strength? If correct, how canconvert this value to dBm? many thanks! Tran! Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less. ___Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help