]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/sensorboards/mts300/MagP.nc
Convert to Unix-style line terminators.
[tinyos-2.x.git] / tos / sensorboards / mts300 / MagP.nc
index 0bef394778167cda7988627b7469084d31533fc5..79de78f659f4b2ab946568502c613844b198f52e 100644 (file)
-#include "mts300.h"\r
-#include "Timer.h"\r
-#include "I2C.h"\r
-\r
-module MagP\r
-{\r
-  provides interface SplitControl;\r
-  provides interface Mag;\r
-  provides interface Atm128AdcConfig as ConfigX;\r
-  provides interface Atm128AdcConfig as ConfigY;\r
-\r
-  uses interface Timer<TMilli>;\r
-       uses interface GeneralIO as MagPower;\r
-       uses interface MicaBusAdc as MagAdcX;\r
-       uses interface MicaBusAdc as MagAdcY;\r
-  uses interface I2CPacket<TI2CBasicAddr>;\r
-  uses interface Resource as I2CResource;\r
-}\r
-\r
-implementation\r
-{\r
-  uint8_t gainData[2];\r
-\r
-  command error_t SplitControl.start()\r
-  {\r
-    call MagPower.makeOutput();\r
-    call MagPower.set();\r
-\r
-    call Timer.startOneShot(100); \r
-    return SUCCESS;\r
-  }\r
-\r
-  event void Timer.fired() {\r
-    signal SplitControl.startDone(SUCCESS);\r
-  }\r
-\r
-  command error_t SplitControl.stop()\r
-  {\r
-    call MagPower.clr();\r
-    call MagPower.makeInput();\r
-\r
-    signal SplitControl.stopDone(SUCCESS);\r
-    return SUCCESS;\r
-  }\r
-\r
-  command error_t Mag.gainAdjustX(uint8_t val)\r
-  {\r
-    gainData[0] = 1;    // pot subaddr\r
-    gainData[1] = val;  // value to write\r
-    return call I2CResource.request();\r
-  }\r
-  command error_t Mag.gainAdjustY(uint8_t val)\r
-  {\r
-    gainData[0] = 0;    // pot subaddr\r
-    gainData[1] = val;  // value to write\r
-    return call I2CResource.request();\r
-  }\r
-  /**\r
-  * Resource request\r
-  *\r
-  */\r
-  event void I2CResource.granted()\r
-  {\r
-    if ( call I2CPacket.write(0x3,TOS_MAG_POT_ADDR, 2, gainData) == SUCCESS)\r
-    {\r
-      return ;\r
-    }\r
-  }\r
-  /**\r
-  * I2CPot2\r
-  *\r
-  */\r
-  async event void I2CPacket.readDone(error_t error, uint16_t addr, uint8_t length, uint8_t* data)\r
-  {\r
-    return ;\r
-  }\r
-\r
-  async event void I2CPacket.writeDone(error_t error, uint16_t addr, uint8_t length, uint8_t* data)\r
-  {\r
-    call I2CResource.release();\r
-    if (gainData[0] ==1)\r
-    {\r
-      signal Mag.gainAdjustXDone(error);\r
-    }\r
-    if (gainData[0] ==0)\r
-    {\r
-      signal Mag.gainAdjustYDone(error);\r
-    }\r
-    return ;\r
-  }\r
-\r
-  async command uint8_t ConfigX.getChannel() {\r
-    return call MagAdcX.getChannel();\r
-  }\r
-\r
-  async command uint8_t ConfigX.getRefVoltage() {\r
-    return ATM128_ADC_VREF_OFF;\r
-  }\r
-\r
-  async command uint8_t ConfigX.getPrescaler() {\r
-    return ATM128_ADC_PRESCALE;\r
-  }\r
-\r
-  async command uint8_t ConfigY.getChannel() {\r
-    return call MagAdcY.getChannel();\r
-  }\r
-\r
-  async command uint8_t ConfigY.getRefVoltage() {\r
-    return ATM128_ADC_VREF_OFF;\r
-  }\r
-\r
-  async command uint8_t ConfigY.getPrescaler() {\r
-    return ATM128_ADC_PRESCALE;\r
-  }\r
-\r
-   default event error_t Mag.gainAdjustXDone(bool result)\r
-   {\r
-     return result;\r
-   }\r
-   default event error_t Mag.gainAdjustYDone(bool result)\r
-   {\r
-     return result;\r
-   }\r
+#include "mts300.h"
+#include "Timer.h"
+#include "I2C.h"
+
+module MagP
+{
+  provides interface SplitControl;
+  provides interface Mag;
+  provides interface Atm128AdcConfig as ConfigX;
+  provides interface Atm128AdcConfig as ConfigY;
+
+  uses interface Timer<TMilli>;
+       uses interface GeneralIO as MagPower;
+       uses interface MicaBusAdc as MagAdcX;
+       uses interface MicaBusAdc as MagAdcY;
+  uses interface I2CPacket<TI2CBasicAddr>;
+  uses interface Resource as I2CResource;
+}
+
+implementation
+{
+  uint8_t gainData[2];
+
+  command error_t SplitControl.start()
+  {
+    call MagPower.makeOutput();
+    call MagPower.set();
+
+    call Timer.startOneShot(100); 
+    return SUCCESS;
+  }
+
+  event void Timer.fired() {
+    signal SplitControl.startDone(SUCCESS);
+  }
+
+  command error_t SplitControl.stop()
+  {
+    call MagPower.clr();
+    call MagPower.makeInput();
+
+    signal SplitControl.stopDone(SUCCESS);
+    return SUCCESS;
+  }
+
+  command error_t Mag.gainAdjustX(uint8_t val)
+  {
+    gainData[0] = 1;    // pot subaddr
+    gainData[1] = val;  // value to write
+    return call I2CResource.request();
+  }
+  command error_t Mag.gainAdjustY(uint8_t val)
+  {
+    gainData[0] = 0;    // pot subaddr
+    gainData[1] = val;  // value to write
+    return call I2CResource.request();
+  }
+  /**
+  * Resource request
+  *
+  */
+  event void I2CResource.granted()
+  {
+    if ( call I2CPacket.write(0x3,TOS_MAG_POT_ADDR, 2, gainData) == SUCCESS)
+    {
+      return ;
+    }
+  }
+  /**
+  * I2CPot2
+  *
+  */
+  async event void I2CPacket.readDone(error_t error, uint16_t addr, uint8_t length, uint8_t* data)
+  {
+    return ;
+  }
+
+  async event void I2CPacket.writeDone(error_t error, uint16_t addr, uint8_t length, uint8_t* data)
+  {
+    call I2CResource.release();
+    if (gainData[0] ==1)
+    {
+      signal Mag.gainAdjustXDone(error);
+    }
+    if (gainData[0] ==0)
+    {
+      signal Mag.gainAdjustYDone(error);
+    }
+    return ;
+  }
+
+  async command uint8_t ConfigX.getChannel() {
+    return call MagAdcX.getChannel();
+  }
+
+  async command uint8_t ConfigX.getRefVoltage() {
+    return ATM128_ADC_VREF_OFF;
+  }
+
+  async command uint8_t ConfigX.getPrescaler() {
+    return ATM128_ADC_PRESCALE;
+  }
+
+  async command uint8_t ConfigY.getChannel() {
+    return call MagAdcY.getChannel();
+  }
+
+  async command uint8_t ConfigY.getRefVoltage() {
+    return ATM128_ADC_VREF_OFF;
+  }
+
+  async command uint8_t ConfigY.getPrescaler() {
+    return ATM128_ADC_PRESCALE;
+  }
+
+   default event error_t Mag.gainAdjustXDone(bool result)
+   {
+     return result;
+   }
+   default event error_t Mag.gainAdjustYDone(bool result)
+   {
+     return result;
+   }
 }
\ No newline at end of file