if (m_state == GENERATOR_OFF)
result = EALREADY;
else if (m_state == REFERENCE_1_5V_STABLE || m_state == REFERENCE_2_5V_STABLE) {
- if ((result = switchOff()) == SUCCESS) {
- m_state = nextState; // m_state becomes a "XXX_OFF_PENDING" state
- call SwitchOffTimer.startOneShot(SWITCHOFF_INTERVAL);
- }
+ result = SUCCESS;
+ m_state = nextState; // m_state becomes a "XXX_OFF_PENDING" state
+ call SwitchOffTimer.startOneShot(SWITCHOFF_INTERVAL);
} else if (m_state == REFERENCE_1_5V_ON_PENDING || m_state == REFERENCE_2_5V_ON_PENDING) {
if ((result = switchOff()) == SUCCESS) {
// there is a pending start() call
event void SwitchOffTimer.fired() {
switch (m_state) {
- case REFERENCE_1_5V_STABLE:
+ case REFERENCE_1_5V_OFF_PENDING:
if (switchOff() == SUCCESS){
m_state = GENERATOR_OFF;
signal RefVolt_1_5V.stopDone(SUCCESS);
}
break;
- case REFERENCE_2_5V_STABLE:
+ case REFERENCE_2_5V_OFF_PENDING:
if (switchOff() == SUCCESS) {
m_state = GENERATOR_OFF;
signal RefVolt_2_5V.stopDone(SUCCESS);