Hi Romain, On Mon, Jul 11, 2011 at 5:18 PM, Romain Bornet <[email protected]> wrote: > Hi, > > I'm porting TinyOS to a new CPU architecture and I'm currently working > on the radio stack for the radio integrated in my SoC. > I took the RF230 from mainline TinyOS repository and the ATMega128 > RFA1 from http://sourceforge.net/projects/szte-wsn/ as references.
That is a good starting point indeed. > These two implementations support a full-featured radio stack based on > rfxlink with, for example, packet timestamping, software/hardware > acks, collision avoidance, ... > > For my first tests with my radio driver implementation I would like to > have the simplest/minimal possible configuration to just test send and > receive paths. I saw that many components are optional and can be > replaced by DummyLayerC component instances. True, you can almost replace everything with the DummyLayerC, except there are some interfaces that will not be available (e.g. PacketAcknowledgements) > For my first test I will simply use point-to-point transmissions > between 2 nodes and won't need any "advanced" features. What is the > minimal/simplest configuration/wiring for this scenario ? You can keep the whole stack as it is, I think it will not interact badly with your driver, or just replace stuff with the dummy layer. However, if you want a proper driver development environment, then do not use any of the layers, and write your application that drivers the RadioDriverLayer directly. Look into the apps\tests\rfxlink directory, and the RadioSniffer and TestTransmit applications as examples. > > For now I could identify following setup for the send datapath: > (receive datapath is very similar) > > ActiveMessageLayerC > | > AutoResourceAcquireLayerC (optional: can be replaced by a DummyLayer > if Ieee154MessageLayerC is not used) > | > TinyosNetworkLayerC > | > UniqueLayerC > | > PacketLinkLayerC (optional: can be replaced by a DummyLayer if > reliable packet link is not used) > | > LowPowerListeningLayerC (optional: can be replaced by a > LowPowerListeningDummyC if we don't want to support LPL) > | > MessageBufferLayerC (mandatory) > | > CollisionAvoidanceLayerC (random or slotted. Is this a mandatory > component or can it be also replaced ???) > | > SoftwareAckLayerC > | > CsmaLayerC (can be bypassed with a DummyLayerC) > | > TrafficMonitorLayerC (can be bypassed with a DummyLayerC if no traffic > monitoring is necessary/wished) > | > RadioXXXDriverLayerC > > May I replace SoftwareAckLayerC and CollisionAvoidanceLayerC with > dummy implementations for the first tests ? It's clear that these > components are important in the stack but I would like to start with > the "dumbest" possible configuration and introduce new layers one by > one later. You do not need the CollisionAvoidanceLayerC, simply use the dummy. You do not need the SoftwarewAckLayerC either, but then the PacketAcknowledgements interface has to be implemented somehow (in a dummy way). Are your radio driver is Ieee 802.15.4 compliant? Best, Miklos > > Any hint is welcome :-) > > Kind regards, > Romain > _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
