]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/platforms/telosb/mac/tkn154/timer/Alarm32khzTo62500hzTransformC.nc
TKN15.4 "platform glue code" for the TelosB platform (see tinyos-2.x/tos/lib/mac...
[tinyos-2.x.git] / tos / platforms / telosb / mac / tkn154 / timer / Alarm32khzTo62500hzTransformC.nc
diff --git a/tos/platforms/telosb/mac/tkn154/timer/Alarm32khzTo62500hzTransformC.nc b/tos/platforms/telosb/mac/tkn154/timer/Alarm32khzTo62500hzTransformC.nc
new file mode 100644 (file)
index 0000000..c51d112
--- /dev/null
@@ -0,0 +1,17 @@
+// here we introduce an error
+generic module Alarm32khzTo62500hzTransformC()
+{
+  provides interface Alarm<T62500hz,uint32_t> as Alarm;
+  uses interface Alarm<T32khz,uint32_t> as AlarmFrom;
+}
+implementation
+{
+  async command void Alarm.start(uint32_t dt){ call AlarmFrom.start(dt >> 1);}
+  async command void Alarm.stop(){ call AlarmFrom.stop();}
+  async event void AlarmFrom.fired(){ signal Alarm.fired();}
+  async command bool Alarm.isRunning(){ return call AlarmFrom.isRunning();}
+  async command void Alarm.startAt(uint32_t t0, uint32_t dt){ call AlarmFrom.startAt(t0 >> 1, dt >> 1);}
+  async command uint32_t Alarm.getNow(){ return call AlarmFrom.getNow() << 1;}
+  async command uint32_t Alarm.getAlarm(){ return call AlarmFrom.getAlarm() << 1;}
+  default async event void Alarm.fired(){}
+}