X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Frf2xx%2Frf230%2FRF230DriverLayerC.nc;h=8b58211df26dcfae8fc19e0daeca0593e04d8808;hb=fb06e38f2c4372980a983a3d79f584221d475a36;hp=021e0982fc45d72f167b18a15df50e9e7ae5dcb2;hpb=7cb3053eaa216416d4833656f2ffbee14a5c0970;p=tinyos-2.x.git diff --git a/tos/chips/rf2xx/rf230/RF230DriverLayerC.nc b/tos/chips/rf2xx/rf230/RF230DriverLayerC.nc index 021e0982..8b58211d 100644 --- a/tos/chips/rf2xx/rf230/RF230DriverLayerC.nc +++ b/tos/chips/rf2xx/rf230/RF230DriverLayerC.nc @@ -21,6 +21,9 @@ * Author: Miklos Maroti */ +#include +#include + configuration RF230DriverLayerC { provides @@ -29,28 +32,53 @@ configuration RF230DriverLayerC interface RadioSend; interface RadioReceive; interface RadioCCA; + + interface PacketField as PacketTransmitPower; + interface PacketField as PacketRSSI; + interface PacketField as PacketTimeSyncOffset; + interface PacketField as PacketLinkQuality; + + interface LocalTime as LocalTimeRadio; } - uses interface RF230DriverConfig; + uses + { + interface RF230DriverConfig; + interface PacketTimeStamp; + interface PacketData as PacketRF230Metadata; + } } implementation { - components RF230DriverLayerP, HplRF230C, BusyWaitMicroC, TaskletC, MainC, RadioAlarmC, RF230PacketC, LocalTimeMicroC as LocalTimeRadioC; + components RF230DriverLayerP, HplRF230C, BusyWaitMicroC, TaskletC, MainC, RadioAlarmC; RadioState = RF230DriverLayerP; RadioSend = RF230DriverLayerP; RadioReceive = RF230DriverLayerP; RadioCCA = RF230DriverLayerP; + LocalTimeRadio = HplRF230C; + RF230DriverConfig = RF230DriverLayerP; + PacketRF230Metadata = RF230DriverLayerP; + + PacketTransmitPower = RF230DriverLayerP.PacketTransmitPower; + components new MetadataFlagC() as TransmitPowerFlagC; + RF230DriverLayerP.TransmitPowerFlag -> TransmitPowerFlagC; + + PacketRSSI = RF230DriverLayerP.PacketRSSI; + components new MetadataFlagC() as RSSIFlagC; + RF230DriverLayerP.RSSIFlag -> RSSIFlagC; + + PacketTimeSyncOffset = RF230DriverLayerP.PacketTimeSyncOffset; + components new MetadataFlagC() as TimeSyncFlagC; + RF230DriverLayerP.TimeSyncFlag -> TimeSyncFlagC; + + PacketLinkQuality = RF230DriverLayerP.PacketLinkQuality; + PacketTimeStamp = RF230DriverLayerP.PacketTimeStamp; - RF230DriverLayerP.PacketLinkQuality -> RF230PacketC.PacketLinkQuality; - RF230DriverLayerP.PacketTransmitPower -> RF230PacketC.PacketTransmitPower; - RF230DriverLayerP.PacketRSSI -> RF230PacketC.PacketRSSI; - RF230DriverLayerP.PacketTimeSyncOffset -> RF230PacketC.PacketTimeSyncOffset; - RF230DriverLayerP.PacketTimeStamp -> RF230PacketC; - RF230DriverLayerP.LocalTime -> LocalTimeRadioC; + RF230DriverLayerP.LocalTime -> HplRF230C; RF230DriverLayerP.RadioAlarm -> RadioAlarmC.RadioAlarm[unique("RadioAlarm")]; RadioAlarmC.Alarm -> HplRF230C.Alarm;