- case RADIO_MODE_ON_TRANSITION:
- call HplTda5250Config.reset();
- call HplTda5250Config.SetRFPower(255);
- call ConfigResource.release();
- atomic radioMode = RADIO_MODE_ON;
- post startDoneTask();
- break;
- case RADIO_MODE_OFF_TRANSITION:
- call HplTda5250Config.SetClockOffDuringPowerDown();
- call HplTda5250Config.SetSleepMode();
- call ConfigResource.release();
- atomic radioMode = RADIO_MODE_OFF;
- post stopDoneTask();
- break;
- case RADIO_MODE_SLEEP_TRANSITION:
- call HplTda5250Config.SetSlaveMode();
- call HplTda5250Config.SetSleepMode();
- if (!(call HplTda5250Config.IsTxRxPinControlled()))
- call ConfigResource.release();
- atomic radioMode = RADIO_MODE_SLEEP;
- signal Tda5250Control.SleepModeDone();
- break;
- case RADIO_MODE_TX_TRANSITION:
- call HplTda5250Config.SetSlaveMode();
- call HplTda5250Config.SetTxMode();
- if (!(call HplTda5250Config.IsTxRxPinControlled()))
- call ConfigResource.release();
- atomic delayTimer = TRANSMITTER_DELAY;
- call DelayTimer.start(TDA5250_TRANSMITTER_SETUP_TIME);
- break;
- case RADIO_MODE_RX_TRANSITION:
- call HplTda5250Config.SetSlaveMode();
- call HplTda5250Config.SetRxMode();
- if (!(call HplTda5250Config.IsTxRxPinControlled()))
- call ConfigResource.release();
- atomic delayTimer = RECEIVER_DELAY;
- call DelayTimer.start(TDA5250_RECEIVER_SETUP_TIME);
- break;
- case RADIO_MODE_TIMER_TRANSITION:
- call HplTda5250Config.SetTimerMode(onTime, offTime);
- call ConfigResource.release();
- atomic radioMode = RADIO_MODE_TIMER;
- signal Tda5250Control.TimerModeDone();
- break;
- case RADIO_MODE_SELF_POLLING_TRANSITION:
- call HplTda5250Config.SetSelfPollingMode(onTime, offTime);
- call ConfigResource.release();
- atomic radioMode = RADIO_MODE_SELF_POLLING;
- signal Tda5250Control.SelfPollingModeDone();
- break;
- default:
- break;
+ case RADIO_MODE_ON_TRANSITION:
+ call HplTda5250Config.reset();
+ call HplTda5250Config.SetRFPower(INITIAL_RF_POWER);
+ // call HplTda5250Config.SetClockOnDuringPowerDown();
+ call ConfigResource.release();
+ atomic radioMode = RADIO_MODE_ON;
+ post startDoneTask();
+ break;
+ case RADIO_MODE_OFF_TRANSITION:
+ signal ClkDiv.stopping();
+ call HplTda5250Config.SetSleepMode();
+ call ConfigResource.release();
+ atomic radioMode = RADIO_MODE_OFF;
+ post stopDoneTask();
+ break;
+ case RADIO_MODE_SLEEP_TRANSITION:
+ signal ClkDiv.stopping();
+ call HplTda5250Config.SetSlaveMode();
+ call HplTda5250Config.SetSleepMode();
+ atomic radioMode = RADIO_MODE_SLEEP;
+ signal Tda5250Control.SleepModeDone();
+#ifdef LNDW
+ if(rfpowerdirty) post setRfPower();
+#endif
+ break;
+ case RADIO_MODE_TX_TRANSITION:
+ call HplTda5250Config.SetSlaveMode();
+ call HplTda5250Config.SetTxMode();
+ if (!(call HplTda5250Config.IsTxRxPinControlled()))
+ call ConfigResource.release();
+ atomic delayTimer = TRANSMITTER_DELAY;
+ call DelayTimer.start(TDA5250_TRANSMITTER_SETUP_TIME);
+ break;
+ case RADIO_MODE_RX_TRANSITION:
+ call HplTda5250Config.SetSlaveMode();
+ call HplTda5250Config.SetRxMode();
+ if (!(call HplTda5250Config.IsTxRxPinControlled()))
+ call ConfigResource.release();
+ atomic delayTimer = RECEIVER_DELAY;
+ call DelayTimer.start(TDA5250_RECEIVER_SETUP_TIME);
+ break;
+ case RADIO_MODE_TIMER_TRANSITION:
+ call HplTda5250Config.SetTimerMode(onTime, offTime);
+ call ConfigResource.release();
+ atomic radioMode = RADIO_MODE_TIMER;
+ signal Tda5250Control.TimerModeDone();
+ break;
+ case RADIO_MODE_SELF_POLLING_TRANSITION:
+ call HplTda5250Config.SetSelfPollingMode(onTime, offTime);
+ call ConfigResource.release();
+ atomic radioMode = RADIO_MODE_SELF_POLLING;
+ signal Tda5250Control.SelfPollingModeDone();
+ break;
+ default:
+ break;