Changeset 864
- Timestamp:
- 10/14/08 20:26:45 (17 months ago)
- Location:
- code/ACMeter/tos/sensorboards/ACMeter
- Files:
-
- 4 modified
-
ACMeterC.nc (modified) (1 diff)
-
ACMeterM.nc (modified) (2 diffs)
-
ADE7753.h (modified) (1 diff)
-
ADE7753P.nc (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
code/ACMeter/tos/sensorboards/ACMeter/ACMeterC.nc
r745 r864 23 23 ACMeterM.onoff -> HplMsp430GeneralIOC.Port21; 24 24 ADE7753P.SpiPacket -> SpiC; 25 ADE7753P.SPIFRM -> HplMsp430GeneralIOC.Port 54;25 ADE7753P.SPIFRM -> HplMsp430GeneralIOC.Port26; 26 26 ADE7753P.Leds -> LedsC; 27 27 ADE7753P.Resource -> SpiC; -
code/ACMeter/tos/sensorboards/ACMeter/ACMeterM.nc
r745 r864 118 118 event void Timer.fired() { 119 119 // at 1Hz, reading RENERGY is equal to power 120 call ADE7753.getReg(ADE7753_RAENERGY, 4); 121 // call ADE7753.getReg(ADE7753_MODE, 3); 122 120 call ADE7753.getReg(ADE7753_RAENERGY, 4); 123 121 } 124 122 … … 134 132 135 133 task void setReg() { 136 call ADE7753.setReg(ADE7753_GAIN, 2, ADE7753_GAIN_VAL);134 call ADE7753.setReg(ADE7753_GAIN, 2, ADE7753_GAIN_VAL); 137 135 } 138 136 -
code/ACMeter/tos/sensorboards/ACMeter/ADE7753.h
r745 r864 19 19 // #define ADE7753_GAIN_VAL 0x24 20 20 // Try 0011 for CH1 gain 21 //#define ADE7753_GAIN_VAL 0x2222 #define ADE7753_GAIN_VAL 0x24 23 21 #define ADE7753_GAIN_VAL 0x22 22 // old 23 // #define ADE7753_GAIN_VAL 0x2C 24 24 25 25 // MSB enabled for no-creep 26 #define ADE7753_MODE_VAL 0x800C27 //#define ADE7753_MODE_VAL 0x000C26 // #define ADE7753_MODE_VAL 0x800C 27 #define ADE7753_MODE_VAL 0x000C -
code/ACMeter/tos/sensorboards/ACMeter/ADE7753P.nc
r556 r864 30 30 uint8_t mSPITxLen; 31 31 uint8_t mSPIRxLen; 32 33 // bool lock; 32 34 33 uint8_t mState; 35 34 bool misInited = FALSE; … … 65 64 command error_t SplitControl.start() { 66 65 error_t error = SUCCESS; 67 // atomic lock = FALSE;68 66 atomic { 69 67 if (mState == STATE_STOPPED) { … … 95 93 error_t error = SUCCESS; 96 94 97 // atomic lock = FALSE;98 95 atomic { 99 96 if (mState == STATE_IDLE) { … … 115 112 error = call SpiPacket.send(mSPITxBuf,mSPIRxBuf,2); 116 113 */ 117 atomicmState = STATE_STOPPED;114 mState = STATE_STOPPED; 118 115 call SPIFRM.set(); 119 116 … … 145 142 command error_t ADE7753.getReg(uint8_t regAddr, uint8_t len) { 146 143 error_t error = SUCCESS; 147 148 atomic { 149 if (mState != STATE_IDLE) { 150 return FAIL; 151 } else { 152 mState = STATE_GETREG; 153 } 154 } 155 156 /* 144 157 145 //if((regAddr < 0x16) || (regAddr > 0x2F)) { 158 146 if(regAddr > 0x3F) { … … 160 148 return error; 161 149 } 162 */163 150 164 151 mSPITxBuf[0] = regAddr; … … 174 161 mSPIRxLen = len; 175 162 176 //atomic mState = STATE_GETREG;163 atomic mState = STATE_GETREG; 177 164 178 165 call Resource.request(); … … 187 174 188 175 return error; 189 190 176 } 191 177 … … 197 183 error_t error = SUCCESS; 198 184 199 atomic {200 if (mState != STATE_IDLE) {201 return FAIL;202 } else {203 mState = STATE_SETREG;204 }205 }206 207 185 // if((regAddr < 0x16) || (regAddr > 0x2F)) { 208 /*209 186 if(regAddr > 0x3F) { 210 187 error = EINVAL; 211 188 return error; 212 189 } 213 */ 214 190 215 191 // call Leds.led0On(); 216 192 … … 236 212 // call Leds.led0On(); 237 213 238 //atomic mState = STATE_SETREG;214 atomic mState = STATE_SETREG; 239 215 240 216 call Resource.request(); … … 257 233 call SPIFRM.set(); // CS HIGH 258 234 259 atomic { 260 switch (mState) { 235 atomic switch (mState) { 261 236 case STATE_GETREG: 262 237 mState = STATE_IDLE; … … 325 300 break; 326 301 } 327 } 302 328 303 call Resource.release(); 329 304
