[Tinyos-help] Reading the raw data from the receiver on the PC over the UART!

Michael Schippling schip at santafe.edu
Mon Dec 3 14:20:33 PST 2007


That should work. Just be aware that you can have only one send() active
at a time, so if you are transmitting on the radio from that node you
need to interleave the calls using a state variable in sendDone() or
something similar.
MS


Ruoshui Liu wrote:
> As you said in ur reply that "You shouldn't have to fiddle with any code 
> to get this working and they provide a reasonable basis for your own 
> development", but the thing is I have one application already installed 
> in the receiver. Therefore, in this case, I need to modify the TOSBase 
> to be adaptable with my application in the receiver. Do you think so?
> 
> I know my thought is obviously naive, but I have to say that can I just 
> simply call:
> 
> call DataMsg.send(TOS_UART_ADDR, sizeof(CountMsg_t), &msg);
> 
> to ask the receiver to send the received raw data to the host PC via 
> UART while it is receiving the data from the transmitter?
> 
> Thank you very much!
> 
> Best regards,
> Ruoshui
> 
> Michael Schippling wrote:
>> I don't use T2 so this should be taken under advisement...
>>
>> It may be that the dest addr is FFFF because it gets overwritten
>> with the UART address when being forwarded. There is no src addr
>> in the standard header (unless this changed in T2), but it is
>> often included in the message body. If that is getting overwritten
>> all bets are off. In T1, the UART message format is the mica2 format
>> in tos/types/AM.h. TOSBase converts from micaz to mica2 format unless
>> you do some special magic, and the 2420 radio fields (lqi, etc) are
>> dropped. Tmotes with Boomerang do not do this, so the behavior is
>> different on different platforms/versions. RSSI is tagged on to the
>> end of messages in receive() but is not part of the UART forwarded
>> message so you have no way to see it on the PC side. Folks have fixed
>> this by modifying the receive() in the base-station to grab the RSSI
>> and overwrite some field in the message before forwarding.
>>
>> So I guess the message is that you'll have to dig through your base-
>> station code to see what it is really doing...also search this list
>> for RSSI grabbing advice.
>>
>> MS
>>
>>
>> Ittipong Khemapech wrote:
>>> Hi,
>>>
>>> I am trying to do the same thing but in TinyOS 2.x. I am modifying 
>>> BlinkToRadio and BaseStation to vart transmission power level (TX) 
>>> and see how RSSI changes. I have successfully change the TX.
>>>
>>> I've been using the tools/java/net/tinyos/tools/Listen.java program 
>>> by following Lesson 4 in the tutorial. There are several problems 
>>> that I am having:
>>>
>>> 1. I've got FF FF for both source and destination addresses.
>>> 2. I have no clue where to start getting RSSI and LQI readings.
>>>
>>> Any suggestions would be appreciated.
>>>
>>> Best wishes,
>>> Ittipong
>>>
>>> On 03/12/2007, *Michael Schippling* <schip at santafe.edu 
>>> <mailto:schip at santafe.edu>> wrote:
>>>
>>>     In TOS1.x the OscilloscopeRF and SenseToRfm demo apps send ADC 
>>> readings
>>>     over the radio. TOSBase is used at the PC receiving end to 
>>> forward the
>>>     messages through the UART into the host PC. Oscope has a host side
>>>     display
>>>     program, or you can use the tools/java/net/tinyos/tools/Listen.java
>>>     program
>>>     to peek at the messages themselves. You shouldn't have to fiddle 
>>> with
>>>     any code to get this working and they provide a reasonable basis for
>>>     your own development.
>>>
>>>     You should also read through the doc/tutorial where most of this is
>>>     covered.
>>>
>>>     MS
>>>
>>>
>>>     Ruoshui Liu wrote:
>>>      > Dear all,
>>>      >
>>>      > Currently, I have implemented a single transmission link
>>>     containing one
>>>      > transmitter and one receiver. What I want to do next is to use
>>>     the PC or
>>>      > laptop to read the received raw data from the receiver over 
>>> the UART
>>>      > channel. I know I have to plug the receiver to the programming 
>>> board
>>>      > acting as the basestation, and I think the start point is 
>>> probably to
>>>      > modify the TOSBase. However, there are many other functions
>>>     included in
>>>      > the TOSBase application. What I want to do is just the simple 
>>> job to
>>>      > send the raw data back to the PC via UART. Could anyone tell me
>>>     how to
>>>      > simplify this? I mean what is the core part or key function I
>>>     should use
>>>      > in order to read the raw data. Thank you very much!
>>>      >
>>>      > Best regards,
>>>      > Ruoshui Liu
>>>      > _______________________________________________
>>>      > Tinyos-help mailing list
>>>      > Tinyos-help at Millennium.Berkeley.EDU
>>>     <mailto:Tinyos-help at Millennium.Berkeley.EDU>
>>>      >
>>>     
>>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>>
>>>     --
>>>     Platform: WinXP/Cygwin
>>>     TinyOS version: 1.x, Boomerang
>>>     Programmer: MIB510
>>>     Device(s): Mica2, MicaZ, Tmote
>>>     Sensor board: homebrew
>>>
>>>     _______________________________________________
>>>     Tinyos-help mailing list
>>>     Tinyos-help at Millennium.Berkeley.EDU
>>>     <mailto:Tinyos-help at Millennium.Berkeley.EDU>
>>>     
>>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>>
>>>
>>

-- 
Platform: WinXP/Cygwin
TinyOS version: 1.x, Boomerang
Programmer: MIB510
Device(s): Mica2, MicaZ, Tmote
Sensor board: homebrew



More information about the Tinyos-help mailing list