Corrupted serial output from TelosB motes (except node 10)

22 views
Skip to first unread message

Matthew Bradbury

unread,
Jun 29, 2017, 5:02:25 AM6/29/17
to FlockLab users
I'm attempting to run some code across the testbed on the TelosB motes and gather the serial output to observe events happening.
This works fine for node 10, but all other nodes seem to produce corrupted output.
I'm using the SerialPrintfC TinyOS component so I can use printf.

For example 10 produces correct output of:
1498661824.011729,10,10,r,M-MTA:D:10:600018:1,Normal
1498661824.074537,10,10,r,M-NTA:D:10:600021:0,SourceNode
1498661824.074537,10,10,r,M-NTA:D:10:600024:1,SinkNode
1498661824.074537,10,10,r,M-NTA:D:10:600028:2,NormalNode

Whereas 4 gives me:
1498661824.022964,4,4,r, m ´ z„ztzvpppqxzqlŽïòÍáÌ
1498661824.022964,4,4,r, MŽ´ z„ztzvppprqzpl³ÏõòÃåŽïÄÅ
1498661824.022964,4,4,r, MŽ´ z„ztzvppprtzql³éÎËŽÏÄå
1498661824.096299,4,4,r, MŽ” z„ztzvppprxzrLŽÏòíÁìŽÏäÅ

I expect the output from 4 to be very similar to that of 10.

The hexdump for 10 looks sensible:
0017afc0  6c 72 4c 71 79 71 0a 31  34 39 38 36 36 31 38 32  |lrLqyq.149866182|
0017afd0  34 2e 30 31 31 37 32 39  2c 31 30 2c 31 30 2c 72  |4.011729,10,10,r|
0017afe0  2c 4d 2d 4d 54 41 3a 44  3a 31 30 3a 36 30 30 30  |,M-MTA:D:10:6000|
0017aff0  31 38 3a 31 2c 4e 6f 72  6d 61 6c 0a 31 34 39 38  |18:1,Normal.1498|
0017b000  36 36 31 38 32 34 2e 30  37 34 35 33 37 2c 31 30  |661824.074537,10|
0017b010  2c 31 30 2c 72 2c 4d 2d  4e 54 41 3a 44 3a 31 30  |,10,r,M-NTA:D:10|
0017b020  3a 36 30 30 30 32 31 3a  30 2c 53 6f 75 72 63 65  |:600021:0,Source|
0017b030  4e 6f 64 65 0a 31 34 39  38 36 36 31 38 32 34 2e  |Node.1498661824.|
0017b040  30 37 34 35 33 37 2c 31  30 2c 31 30 2c 72 2c 4d  |074537,10,10,r,M|
0017b050  2d 4e 54 41 3a 44 3a 31  30 3a 36 30 30 30 32 34  |-NTA:D:10:600024|
0017b060  3a 31 2c 53 69 6e 6b 4e  6f 64 65 0a 31 34 39 38  |:1,SinkNode.1498|
0017b070  36 36 31 38 32 34 2e 30  37 34 35 33 37 2c 31 30  |661824.074537,10|
0017b080  2c 31 30 2c 72 2c 4d 2d  4e 54 41 3a 44 3a 31 30  |,10,r,M-NTA:D:10|
0017b090  3a 36 30 30 30 32 38 3a  32 2c 4e 6f 72 6d 61 6c  |:600028:2,Normal|
0017b0a0  4e 6f 64 65 0a 31 34 39  38 36 36 31 38 32 34 2e  |Node.1498661824.|

But not at all for node 4:
00162400  61 5c 71 77 4c 72 5c 61  79 74 0a 31 34 39 38 36  |a\qwLr\ayt.14986|
00162410  36 31 38 32 34 2e 30 32  32 39 36 34 2c 34 2c 34  |61824.022964,4,4|
00162420  2c 72 2c 8d 6d 8d b4 81  7a 84 7a 74 7a 76 70 70  |,r,.m...z.ztzvpp|
00162430  70 71 78 7a 71 6c 8e ef  f2 cd e1 cc 0a 31 34 39  |pqxzql.......149|
00162440  38 36 36 31 38 32 34 2e  30 32 32 39 36 34 2c 34  |8661824.022964,4|
00162450  2c 34 2c 72 2c 8d 4d 8e  b4 81 7a 84 7a 74 7a 76  |,4,r,.M...z.ztzv|
00162460  70 70 70 72 71 7a 70 6c  b3 cf f5 f2 c3 e5 8e ef  |ppprqzpl........|
00162470  c4 c5 0a 31 34 39 38 36  36 31 38 32 34 2e 30 32  |...1498661824.02|
00162480  32 39 36 34 2c 34 2c 34  2c 72 2c 8d 4d 8e b4 81  |2964,4,4,r,.M...|
00162490  7a 84 7a 74 7a 76 70 70  70 72 74 7a 71 6c b3 e9  |z.ztzvppprtzql..|
001624a0  ce cb 8e cf c4 e5 0a 31  34 39 38 36 36 31 38 32  |.......149866182|
001624b0  34 2e 30 39 36 32 39 39  2c 34 2c 34 2c 72 2c 8d  |4.096299,4,4,r,.|
001624c0  4d 8e 94 81 7a 84 7a 74  7a 76 70 70 70 72 78 7a  |M...z.ztzvppprxz|
001624d0  72 4c 8e cf f2 ed c1 ec  8e cf e4 c5 0a 31 34 39  |rL...........149|

conf.xml

rdaforno

unread,
Jul 3, 2017, 2:46:28 AM7/3/17
to FlockLab users
Hi Matthew

The serial output is working fine for me, so it must be related to your code. To me it looks like you do not calibrate the DCO correctly, which will result in a mismatch of the baudrate for the UART...

Matthew Bradbury

unread,
Jul 3, 2017, 8:57:31 AM7/3/17
to FlockLab users
That's fixed it.

I've made some changes in the following commit so that when SerialStartC is used, the DCO is automatically calibrated.
May or may not be worth including these in the tinyos support files.

https://github.com/MBradbury/tinyos-main/commit/7a219b7bffd4aa434ceaa0ae6f285cd01e88f9e4

Thanks,
Matthew
Reply all
Reply to author
Forward
0 new messages