yes, you are right I only need to know the tx power at this time (to validate what I set to RF230_DEF_RFPOWER). I might need to set it dynamically in the future. This is the first step. Thanks.
David On Fri, May 22, 2009 at 12:40 PM, Miklos Maroti <[email protected]>wrote: > Yeah, > > You are on the right track. However, since you are not changing the > power level for the outgoing packet, only query it, this information > will not be very interesting, as it will always return the default tx > power level as defined by RF230_DEF_RFPOWER, which is always 0. I > assumed that you want to dynamically change the TX power level for > outgoing packets. (Just to clarify, I assume you really wanted to get > the tx power level and not the received RSSI signal, right?) > > Miklos > > On Fri, May 22, 2009 at 8:20 PM, David Li <[email protected]> wrote: > > > > Hi Miklos, > > > > Since I am new to the nesC programming this is my pseudo code to > implement > > this. Can you help to see I am on the right track? The lines with //new > are > > mine. > > > > Thanks. > > > > > > Oscilloscope.h: > > =========== > > > > typedef nx_struct oscilloscope { > > ..... > > nx_uint8_t tx_power; //new > > > > } oscilloscope_t; > > > > > > > > OscilloscopeAppC.nc: > > =============== > > > > ... > > implementation > > { > > components ..., RF230ActiveMessageC... //new > > > > Oscillosope.RF230ActiveMessageC ->RF230ActiveMessageC; //new > > } > > > > OscilloscopeC.nc: > > =========== > > module OscilloscopeC > > { > > uses{.... RF230ActiveMessageC...}; //new > > > > } > > implementation > > { > > > > ... > > uint_8_t tx_power_reading = 0; //new > > .... > > > > event void Timer.fired() { > > if (reading == NREADINGS) > > { > > if (!sendBusy && sizeof local <= call AMSend.maxPayloadLength()) > > { > > // Don't need to check for null because we've already checked > length > > // above > > > > tx_power_reading = > > RF230ActiveMessageC.PacketTransmitPower.get(&sendBuf); //new > > local.tx_power = tx_power_reading; //new > > > > memcpy(call AMSend.getPayload(&sendBuf, sizeof(local)), &local, > > sizeof local); > > > > if (call AMSend.send(AM_BROADCAST_ADDR, &sendBuf, sizeof local) > == > > SUCCESS) > > sendBusy = TRUE; > > } > > } > > > > > > > > On Wed, May 20, 2009 at 10:55 PM, Miklos Maroti < > [email protected]> > > wrote: > >> > >> Hi David, > >> > >> On Thu, May 21, 2009 at 2:57 AM, David Li <[email protected]> wrote: > >> > > >> > Thanks. > >> > > >> > I think I got the idea. One missing piece is how to read the Tx power. > >> > Do > >> > you have an interface to recommend? > >> > >> PacketTransmigtPower provided by RF230ActiveMessageC. > >> > >> Miklos > > > > >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
