on mica2 motes and power register setting of 0x04 i get a range of around 300 inches - 25 feet in an indoor environment line of sight.
On 6/28/06, Aditya 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:HiUse the formula on pg 28 of this document.also u have declared data in MyMsg to be an array of size 18 ie it runs from 0 to 17 and u r usingdata[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_Msgevent TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) {cmd= (struct MyMsg *)Msg->data;temp1 = (int8_t) (((Msg->strength)>>8) & 0xF);//take 8 MSBcmd->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 can convert 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
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
--
regards,
Aditya Bhave
_______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
