Re: [Tinyos-help] Help me with power range and signal strength!

2006-06-28 Thread Aditya Bhave
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!

2006-06-28 Thread Aditya Bhave
-- 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!

2006-06-27 Thread Hieu Tran
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!

2006-06-27 Thread Ole Bischoff



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!

2006-06-27 Thread Rahul Sawant
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