[Firebug-cvs] mts400/sensors/intersema IntersemaPressureM.nc,1.1,1.2
Brought to you by:
doolin
From: <do...@us...> - 2003-11-27 00:04:32
|
Update of /cvsroot/firebug/mts400/sensors/intersema In directory sc8-pr-cvs1:/tmp/cvs-serv1851/mts400/sensors/intersema Modified Files: IntersemaPressureM.nc Log Message: Added some more testing files to the fireboard driver. Index: IntersemaPressureM.nc =================================================================== RCS file: /cvsroot/firebug/mts400/sensors/intersema/IntersemaPressureM.nc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IntersemaPressureM.nc 13 Nov 2003 00:10:06 -0000 1.1 --- IntersemaPressureM.nc 27 Nov 2003 00:04:28 -0000 1.2 *************** *** 34,42 **** #include "SODebug.h" ! #define DBG_USR2 0 //disables printf msgs ! enum { IDLE, WARM_UP, WAIT_SWITCH_ON, WAIT_SWITCH_OFF, BUSY, ! MAIN_SWITCH_ON, MAIN_SWITCH_OFF, SWITCH_IO1, SWITCH_IO2, SWITCH_IO3, ! POWERON, POWEROFF, IOON = 1, IOOFF = 0 }; // FIXME: Remove the norace and fix the rest of the atomic r/w warnings. --- 34,53 ---- #include "SODebug.h" ! #define DBG_USR2 0 //disables printf msgs ! enum { IDLE, ! WARM_UP, ! WAIT_SWITCH_ON, ! WAIT_SWITCH_OFF, ! BUSY, ! MAIN_SWITCH_ON, ! MAIN_SWITCH_OFF, ! SWITCH_IO1, ! SWITCH_IO2, ! SWITCH_IO3, ! POWERON, ! POWEROFF, ! IOON = 1, ! IOOFF = 0 }; // FIXME: Remove the norace and fix the rest of the atomic r/w warnings. *************** *** 62,68 **** } - task void IOBus() { ! atomic { if (state == BUSY) { --- 73,83 ---- } ! ! /** The #define'd MICAWB_PRESSURE_* are in sensorboard.h. ! * iostate is IOON = 1, IOOF = 0. Somehow, this is ! * screwing up the GPS unit from reading. ! */ ! task void IOBus() { if (state == BUSY) { *************** *** 72,86 **** } else if (state == SWITCH_IO1) { ! SODbg(DBG_USR2, "IntesemaPressure.IoBus.SCLK switch set \n"); state = SWITCH_IO2; call IOSwitch.set(MICAWB_PRESSURE_DIN, iostate); } else if (state == SWITCH_IO2) { ! SODbg(DBG_USR2, "IntesemaPressure.IoBus.Din switch set \n"); state = SWITCH_IO3; call IOSwitch.set(MICAWB_PRESSURE_DOUT, iostate); } else if (state == SWITCH_IO3) { ! SODbg(DBG_USR2, "IntesemaPressure.IOBus.all switches set \n"); state = IDLE; atomic { --- 87,101 ---- } else if (state == SWITCH_IO1) { ! SODbg(DBG_USR2, "IntersemaPressure.IoBus.SCLK switch set \n"); state = SWITCH_IO2; call IOSwitch.set(MICAWB_PRESSURE_DIN, iostate); } else if (state == SWITCH_IO2) { ! SODbg(DBG_USR2, "IntersemaPressure.IoBus.Din switch set \n"); state = SWITCH_IO3; call IOSwitch.set(MICAWB_PRESSURE_DOUT, iostate); } else if (state == SWITCH_IO3) { ! SODbg(DBG_USR2, "IntersemaPressure.IOBus.all switches set \n"); state = IDLE; atomic { *************** *** 93,97 **** } } ! } // else if (iostate == IOOFF) { // call LowerControl.stop(); --- 108,112 ---- } } ! // else if (iostate == IOOFF) { // call LowerControl.stop(); *************** *** 120,124 **** command result_t SplitControl.start() { ! SODbg(DBG_USR2, "IntersemaPressure.start: turning on power \n"); state = MAIN_SWITCH_ON; call SwitchControl.start(); --- 135,139 ---- command result_t SplitControl.start() { ! SODbg(DBG_USR2, "IntersemaPressureM.SplitControl.start: turning on power \n"); state = MAIN_SWITCH_ON; call SwitchControl.start(); *************** *** 131,139 **** command result_t SplitControl.stop() { ! SODbg(DBG_USR2, "IntersemaPressure.stop: turning off power \n"); state = MAIN_SWITCH_OFF; call SwitchControl.start(); if (call Switch.set(MICAWB_PRESSURE_POWER,0) != SUCCESS) { ! SODbg(DBG_USR2, "IntersemaPressure.stop: failed to get bus \n"); state = WAIT_SWITCH_OFF; } --- 146,154 ---- command result_t SplitControl.stop() { ! SODbg(DBG_USR2, "IntersemaPressureM.SplitControl.stop: turning off power \n"); state = MAIN_SWITCH_OFF; call SwitchControl.start(); if (call Switch.set(MICAWB_PRESSURE_POWER,0) != SUCCESS) { ! SODbg(DBG_USR2, "IntersemaPressureM.SplitControl.stop: failed to get bus \n"); state = WAIT_SWITCH_OFF; } *************** *** 150,153 **** --- 165,169 ---- if (state == WAIT_SWITCH_ON) { + SODbg(DBG_USR2, "IntersemaPressureM.Switch.setDone(): WAIT_SWITCH_ON\n"); if (call Switch.set(MICAWB_PRESSURE_POWER,1) == SUCCESS) { state = MAIN_SWITCH_ON; *************** *** 155,158 **** --- 171,175 ---- } else if (state == WAIT_SWITCH_OFF) { + SODbg(DBG_USR2, "IntersemaPressureM.Switch.setDone(): WAIT_SWITCH_OFF\n"); if (call Switch.set(MICAWB_PRESSURE_POWER,0) == SUCCESS) { state = MAIN_SWITCH_OFF; *************** *** 161,165 **** else if (state == MAIN_SWITCH_ON) { ! SODbg(DBG_USR2, "IntesemaPressure.start: power on, timer activated \n"); atomic { iostate = IOON; --- 178,182 ---- else if (state == MAIN_SWITCH_ON) { ! SODbg(DBG_USR2, "IntersemaPressureM.Switch.setDone(): MAIN_SWITCH_ON\n"); atomic { iostate = IOON; *************** *** 167,173 **** state = BUSY; post IOBus(); //turn on other switches ! return SUCCESS; } else if (state == MAIN_SWITCH_OFF) { state = BUSY; atomic { --- 184,191 ---- state = BUSY; post IOBus(); //turn on other switches ! return SUCCESS; } else if (state == MAIN_SWITCH_OFF) { + SODbg(DBG_USR2, "IntersemaPressureM.Switch.setDone(): MAIN_SWITCH_OFF\n"); state = BUSY; atomic { *************** *** 175,180 **** } post IOBus(); ! // post stopDone(); ! // state = POWEROFF; } return SUCCESS; --- 193,198 ---- } post IOBus(); ! //post stopDone(); ! //state = POWEROFF; } return SUCCESS; *************** *** 192,195 **** --- 210,216 ---- //turn on/off all the I/O switches event result_t IOSwitch.setDone(bool l_result) { + + SODbg(DBG_USR2, "IntersemaPressure.IOSwitch.setDone() \n"); + if ((state == SWITCH_IO1) || (state == SWITCH_IO2) || (state == SWITCH_IO3)) { post IOBus(); *************** *** 205,209 **** event result_t Timer.fired() { if (state == WARM_UP) { ! SODbg(DBG_USR2, "IntesemaPressure.Timer.fired \n"); state = BUSY; post IOBus(); --- 226,230 ---- event result_t Timer.fired() { if (state == WARM_UP) { ! SODbg(DBG_USR2, "IntersemaPressure.Timer.fired \n"); state = BUSY; post IOBus(); *************** *** 286,290 **** if (state == IDLE) { ! SODbg(DBG_USR2, "IntesemaPressure.Calibration.getData \n"); state = BUSY; call LowerControl.start(); --- 307,311 ---- if (state == IDLE) { ! SODbg(DBG_USR2, "IntersemaPressure.Calibration.getData \n"); state = BUSY; call LowerControl.start(); |