static void radioRxTxISR(void) { // set packet semaphore packetSemaphore = ISR_ACTION_REQUIRED; // clear isr flag trxClearIntFlag(GPIO_0); }
/******************************************************************************* * @fn cc1120cc1190IdleRx * * @brief Radio state is switched from Idle to RX. Function assumes that * radio is in IDLE when called. * * input parameters * * @param none * * output parameters * * @return void */ static void cc1120cc1190IdleRx(void) { trxClearIntFlag(); //perCC1190HgmEnable(); perCC1120CC1190PaDisable(); perCC1120CC1190LnaEnable(); trxSpiCmdStrobe(CC112X_SRX); trxEnableInt(); return; }
/******************************************************************************* * @fn cc115LTxIdle * * @brief Radio state is switched from TX to IDLE * * input parameters * * @param none * * output parameters * * @return void */ static void cc115LTxIdle(void) { /* Disable pin interrupt */ trxDisableInt(); /* Strobe IDLE */ trxSpiCmdStrobe(CC115L_SIDLE); /* Wait until chip is in IDLE */ while(trxSpiCmdStrobe(CC115L_SNOP) & 0xF0); /* Flush the TX FIFO */ trxSpiCmdStrobe(CC110L_SFTX); /* Clear pin interrupt flag */ trxClearIntFlag(); return; }
/******************************************************************************* * @fn cc1120cc1190RxIdle * * @brief Radio state is switched from RX to IDLE * * input parameters * * @param none * * output parameters * * @return void */ static void cc1120cc1190RxIdle(void) { /* Disable pin interrupt */ trxDisableInt(); /* Strobe IDLE */ trxSpiCmdStrobe(CC112X_SIDLE); /* Wait until chip is in IDLE */ while(trxSpiCmdStrobe(CC112X_SNOP) & 0xF0); //Disable LNA perCC1120CC1190LnaDisable(); /* Flush the Receive FIFO */ trxSpiCmdStrobe(CC112X_SFRX); /* Clear pin interrupt flag */ trxClearIntFlag(); return; }