]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - apps/tests/msp430/Adc12/TestAdcMultiC.nc
- bugfix: ReadStream did not work with a "usPeriod" parameter > 0xFFFF (the fix uses...
[tinyos-2.x.git] / apps / tests / msp430 / Adc12 / TestAdcMultiC.nc
index 26737838a144d6bfc577ec7de7ef9be49147e668..5393334234971288dbbbcdf2e1bf3fa8d595cdd1 100644 (file)
@@ -68,7 +68,7 @@ implementation
 #define BUFFER_SIZE 100
   const msp430adc12_channel_config_t config = {inch, sref, ref2_5v, adc12ssel, adc12div, sht, sampcon_ssel, sampcon_id};
   adc12memctl_t memCtl = {inch2, sref2};
-  uint8_t state;
+  norace uint8_t state;
   uint16_t buffer[BUFFER_SIZE];
   void task getData();
 
@@ -85,6 +85,8 @@ implementation
   bool assertData(uint16_t *data, uint16_t num)
   {
     uint16_t i;
+    if (num != BUFFER_SIZE)
+      post signalFailure();
     for (i=0; i<num; i++)
       if (!data[i] || data[i] >= 0xFFF){
         post signalFailure();
@@ -117,8 +119,10 @@ implementation
 
   async event void MultiChannel.dataReady(uint16_t *buf, uint16_t numSamples)
   {
-    if (assertData(buf, numSamples))
+    if (assertData(buf, numSamples) && state++ == 0)
       post signalSuccess();
+    else
+      post signalFailure();
     call Resource.release();
   }