Reply
Posts: 4
Registered: ‎05-22-2015

SI4455 no TX irq

Hi'

 

I'm using a SI4455 for transmitting 16 byte packets. Most of the time it works fine. I have set up at test that transmits 20 packets every 300 ms and then 16 packets every 100 ms (repeated).

Sometimes every 2 to 6 minuttes my application restarts (watchdog timeout) and I've found out the problen is a missing TX interrupt from the 4455.

 

The code is generated by WDS 3.2.9.0 and ported to Codevision

 

TX code:

 

void vRadio_StartTx(unsigned char channel, unsigned char *pioFixRadioPacket)
{
   /* Reset TX FIFO */
  si4455_fifo_info(SI4455_CMD_FIFO_INFO_ARG_TX_BIT);  //0x01

// Read ITs, clear pending ones
  si4455_get_int_status(0, 0, 0);
  /* Fill the TX fifo with datas */
  si4455_write_tx_fifo(RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH, pioFixRadioPacket);
   /* Start sending packet on channel, START immediately, Packet according to PH */
  si4455_start_tx(channel, 0x10,  RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH);
}

 

void TransmitPacket(void)
{        
  vRadio_StartTx(RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER, TxRadioPacket);
 
  while (!(gRadio_CheckTransmitted()));

 

  si4455_fifo_info(0x03);  //Clear RX/TX FIFO

 

  vRadio_StartRX(RADIO_CONFIGURATION_DATA_CHANNEL_NUMBER);
 
  delay_ms(10);     //Give the reciever some time to execute commands
 
}

 

The TxRadioPacket is:

unsigned char TxRadioPacket[RADIO_CONFIGURATION_DATA_RADIO_PACKET_LENGTH];

 

 

What am I doing wrong. I have read this thread but no solution.

http://community.silabs.com/t5/Bluetooth-Wi-Fi/si4463-can-not-generate-transmit-interrupt-TX-IRQ-int...

 

Thank you

 

Posts: 4
Registered: ‎05-22-2015

Re: SI4455 no TX irq

unsigned char gRadio_CheckTransmitted(void)
{
  LED = 1;
  if (SI4455_IRQ == 0)
  {
    LED = 0;  //The debug LED indicates no IRQ and then WDR timeout reset
    /* Read ITs, clear pending ones */    
    si4455_get_int_status(0, 0, 0);
    /* check the reason for the IT */
    if (GET_INT_STATUS.PH_PEND &     SI4455_CMD_GET_INT_STATUS_REP_PACKET_SENT_PEND_BIT)
    {
      return 1;
    }
  }
  return 0;
}

Highlighted
Posts: 4
Registered: ‎05-22-2015

Re: SI4455 no TX irq

The Watchdog is set to one second.