[Tinyos-help] CC2420Packet

Chieh-Jan (Mike) Liang cliang4 at cs.jhu.edu
Sat Apr 10 11:05:06 PDT 2010


TOSSIM doesn't natively support CC2420 interfaces. We at JHU have made several enhancements for TOSSIM.

1.) CC2420 interface support and services (such as PacketLink).
2.) 802.15.4 channel diversity (16-channels). Note that the current implementation assumes each node uses the same noise trace for all channels.
3.) Packet LQI and RSSI.
4.) MicaZ at45db external flash support.

The code is available on our GIT repository (http://hinrg.cs.jhu.edu/git/?p=jhu/tinyos-2.x.git). Feedbacks are welcome.

Thanks

Mike

On Apr 10, 2010, at 4:10 AM, Yusnaidi Md Yusof wrote:

> Hi All,
> 
> I tried to wire the CC2420Packet component to the CC2420PacketC configuration. The compilation was successful, but when I issue the 'make micaz sim', a simulation error occured with the following messages:
> 
> --------------------------------------
> mkdir -p simbuild/micaz
>   placing object files in simbuild/micaz
>   writing XML schema to app.xml
>   compiling TestNetworkAppC to object file sim.o
> ncc -c -shared -fPIC -o simbuild/micaz/sim.o -g -O0 -tossim -fnesc-nido-tosnodes=1000 -fnesc-simulate -fnesc-nido-motenumber=sim_node\(\) -fnesc-gcc=gcc -Wall -Wshadow -Wnesc-all -target=micaz -fnesc-cfile=simbuild/micaz/app.c -board=micasb -DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=100000 -I/opt/tinyos-2.x/tos/lib/net -I/opt/tinyos-2.x/tos/lib/net/drip -I/opt/tinyos-2.x/tos/lib/net/4bitle -I/opt/tinyos-2.x/tos/lib/net/ctp -I/opt/tinyos-2.x/tos/chips/cc2420/interfaces -I/opt/tinyos-2.x/tos/chips/cc2420/packet -DIDENT_APPNAME=\"TestNetworkAppC\" -DIDENT_USERNAME=\"yusnaidi\" -DIDENT_HOSTNAME=\"ymy-tinylinuxPC\" -DIDENT_USERHASH=0xfa4cfc65L -DIDENT_TIMESTAMP=0x4bc03068L -DIDENT_UIDHASH=0xb79b1318L -Wno-nesc-data-race TestNetworkAppC.nc   -fnesc-dump=components -fnesc-dump=variables -fnesc-dump=constants -fnesc-dump=typedefs -fnesc-dump=interfacedefs -fnesc-dump=tags -fnesc-dumpfile=app.xml
> In file included from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:43,
>                  from TestNetworkAppC.nc:38:
> In interface `CC2420PacketBody':
> /opt/tinyos-2.x/tos/chips/cc2420/interfaces/CC2420PacketBody.nc:42: only commands and events can be defined in interfaces
> /opt/tinyos-2.x/tos/chips/cc2420/interfaces/CC2420PacketBody.nc:42: warning: return-type defaults to `int'
> /opt/tinyos-2.x/tos/chips/cc2420/interfaces/CC2420PacketBody.nc:42: syntax error before `*'
> /opt/tinyos-2.x/tos/chips/cc2420/interfaces/CC2420PacketBody.nc:47: only commands and events can be defined in interfaces
> /opt/tinyos-2.x/tos/chips/cc2420/interfaces/CC2420PacketBody.nc:47: warning: return-type defaults to `int'
> /opt/tinyos-2.x/tos/chips/cc2420/interfaces/CC2420PacketBody.nc:47: syntax error before `*'
> In file included from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:40,
>                  from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:54,
>                  from TestNetworkAppC.nc:38:
> In C file:
> /opt/tinyos-2.x/tos/chips/cc2420/CC2420.h:132: syntax error before `nx_bool'
> /opt/tinyos-2.x/tos/chips/cc2420/CC2420.h:132: warning: no semicolon at end of struct or union
> /opt/tinyos-2.x/tos/chips/cc2420/CC2420.h:133: syntax error before `ack'
> /opt/tinyos-2.x/tos/chips/cc2420/CC2420.h:134: syntax error before `timesync'
> /opt/tinyos-2.x/tos/chips/cc2420/CC2420.h:143: syntax error before `}'
> /opt/tinyos-2.x/tos/chips/cc2420/CC2420.h:143: warning: type defaults to `int' in declaration of `cc2420_metadata_t'
> /opt/tinyos-2.x/tos/chips/cc2420/CC2420.h:143: warning: data definition has no type or storage class
> In file included from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:54,
>                  from TestNetworkAppC.nc:38:
> In component `CC2420PacketP':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `Acks.requestAck':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:66: interface has no command or event named `getHeader'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `Acks.noAck':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:71: interface has no command or event named `getHeader'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `Acks.wasAcked':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:76: interface has no command or event named `getMetadata'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `CC2420Packet.setPower':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:83: interface has no command or event named `getMetadata'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `CC2420Packet.getPower':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:87: interface has no command or event named `getMetadata'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `CC2420Packet.getRssi':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:91: interface has no command or event named `getMetadata'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `CC2420Packet.getLqi':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:95: interface has no command or event named `getMetadata'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `CC2420Packet.getNetwork':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:102: interface has no command or event named `getHeader'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: In function `CC2420Packet.setNetwork':
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:108: interface has no command or event named `getHeader'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc: At top level:
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:114: `getHeader' is not in interface `CC2420PacketBody'
> /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketP.nc:118: syntax error before `*'
> CC2420PacketP: `LinkPacketMetadata.highChannelQuality' not implemented
> CC2420PacketP: `PacketTimeStamp32khz.timestamp' not implemented
> CC2420PacketP: `PacketTimeStamp32khz.clear' not implemented
> CC2420PacketP: `PacketTimeStamp32khz.isValid' not implemented
> CC2420PacketP: `PacketTimeStamp32khz.set' not implemented
> CC2420PacketP: `CC2420PacketBody.cc2420_metadata_t' not implemented
> CC2420PacketP: `CC2420PacketBody.cc2420_header_t' not implemented
> CC2420PacketP: `PacketTimeSyncOffset.get' not implemented
> CC2420PacketP: `PacketTimeSyncOffset.isSet' not implemented
> CC2420PacketP: `PacketTimeSyncOffset.cancel' not implemented
> CC2420PacketP: `PacketTimeSyncOffset.set' not implemented
> CC2420PacketP: `PacketTimeStampMilli.timestamp' not implemented
> CC2420PacketP: `PacketTimeStampMilli.clear' not implemented
> CC2420PacketP: `PacketTimeStampMilli.isValid' not implemented
> CC2420PacketP: `PacketTimeStampMilli.set' not implemented
> In file included from /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:20:
> /opt/tinyos-2.x/tos/platforms/mica/MicaTimer.h:121:2: error: #error "Unknown clock rate. MHZ must be defined to one of 1, 2, 4, or 8."
> In file included from /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:20,
>                  from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:63,
>                  from TestNetworkAppC.nc:38:
> In C file:
> /opt/tinyos-2.x/tos/platforms/mica/MicaTimer.h:126: `MHZ' undeclared here (not in a function)
> /opt/tinyos-2.x/tos/platforms/mica/MicaTimer.h:126: enumerator value for `PLATFORM_MHZ' not integer constant
> In file included from /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:28,
>                  from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:63,
>                  from TestNetworkAppC.nc:38:
> In component `CounterOne16C':
> /opt/tinyos-2.x/tos/platforms/mica/CounterOne16C.nc:24: syntax error before `TOne'
> In file included from /opt/tinyos-2.x/tos/chips/atm128/timer/HplAtm128Timer1C.nc:44,
>                  from /opt/tinyos-2.x/tos/platforms/mica/CounterOne16C.nc:28,
>                  from /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:28,
>                  from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:63,
>                  from TestNetworkAppC.nc:38:
> In component `HplAtm128Timer1P':
> /opt/tinyos-2.x/tos/chips/atm128/timer/HplAtm128Timer1P.nc:206: warning: declaration of `time' shadows global declaration
> /usr/include/time.h:186: warning: location of shadowed declaration
> In file included from /opt/tinyos-2.x/tos/platforms/mica/CounterOne16C.nc:28,
>                  from /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:28,
>                  from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:63,
>                  from TestNetworkAppC.nc:38:
> In component `InitOneP':
> /opt/tinyos-2.x/tos/platforms/mica/InitOneP.nc:24: `MICA_PRESCALER_ONE' undeclared here (not in a function)
> In file included from /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:28,
>                  from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:63,
>                  from TestNetworkAppC.nc:38:
> In component `CounterOne16C':
> /opt/tinyos-2.x/tos/platforms/mica/CounterOne16C.nc:29: `TOne' undeclared here (not in a function)
> /opt/tinyos-2.x/tos/platforms/mica/CounterOne16C.nc:31: cannot find `Counter'
> In file included from /opt/tinyos-2.x/tos/chips/cc2420/packet/CC2420PacketC.nc:63,
>                  from TestNetworkAppC.nc:38:
> In component `Counter32khz32C':
> /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:29: `TOne' undeclared here (not in a function)
> /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:30: `MICA_DIVIDE_ONE_FOR_32KHZ_LOG2' undeclared here (not in a function)
> /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:31: `counter_one_overflow_t' undeclared here (not in a function)
> /opt/tinyos-2.x/tos/platforms/mica/Counter32khz32C.nc:34: no match
> make: *** [sim-exe] Error 1
> 
> ----------------------------------------------------------
> 
> Has anyone encountered the similar problem? Can anybody hint and help me out on this...Actually my main intentation is to get the Rssi value for a given packet by using the CC2420Packet.getRssi() method...
> 
> Thanks in advance.
> 
> Yusnaidi
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help at millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help




More information about the Tinyos-help mailing list