Esempio n. 1
0
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;
}