Exemple #1
0
Fichier : radio.c Projet : x893/WDS
/*!
 *  Set Radio to RX mode, fixed packet length.
 *
 *  @param channel Freq. Channel
 *
 *  @note
 *
 */
void vRadio_StartRX(U8 channel)
{
  // Read ITs, clear pending ones
  si446x_get_int_status(0u, 0u, 0u);

  /* Start Receiving packet, channel 0, START immediately, Packet n bytes long */
  si446x_start_rx(channel, 0u, RadioConfiguration.Radio_PacketLength,
                  SI446X_CMD_START_RX_ARG_RXTIMEOUT_STATE_ENUM_NOCHANGE,
                  SI446X_CMD_START_RX_ARG_RXVALID_STATE_ENUM_RX,
                  SI446X_CMD_START_RX_ARG_RXINVALID_STATE_ENUM_RX );
}
Exemple #2
0
void vRadio_StartRXVarLen(U8 channel)
{
	// Read ITs, clear pending ones
	si446x_get_int_status(0u, 0u, 0u);

	/* Start Receiving packet, channel 0, START immediately, Packet n bytes long */
	si446x_start_rx(channel, 0u, 0,
		SI446X_CMD_START_RX_ARG_RXTIMEOUT_STATE_ENUM_RX,
		//SI446X_CMD_START_RX_ARG_RXVALID_STATE_ENUM_RX,
		SI446X_CMD_START_RX_ARG_RXVALID_STATE_ENUM_READY, 
		SI446X_CMD_START_RX_ARG_RXINVALID_STATE_ENUM_RX );
}
/*!
 *  Set Radio to RX mode. .
 *
 *  @param channel Freq. Channel,  packetLength : 0 Packet handler fields are used , nonzero: only Field1 is used
 *
 *  @note
 *
 */
void vRadio_StartRX(U8 channel, U8 packetLenght )
{
  // Read ITs, clear pending ones
  si446x_get_int_status(0u, 0u, 0u);

   // Reset the Rx Fifo
   si446x_fifo_info(SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_BIT);

  /* Start Receiving packet, channel 0, START immediately, Packet length used or not according to packetLength */
  si446x_start_rx(channel, 0u, packetLenght,
                  SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_NOCHANGE,
                  SI446X_CMD_START_RX_ARG_NEXT_STATE2_RXVALID_STATE_ENUM_READY,
                  SI446X_CMD_START_RX_ARG_NEXT_STATE3_RXINVALID_STATE_ENUM_RX );
}
Exemple #4
0
/*!
 *  Set Radio to RX mode, fixed packet length.
 *
 *  @param channel Freq. Channel
 *
 *  @note
 *
 */
void vRadio_StartRX(U8 channel)
{
  //Switch to RX match network
  RF_Switch_RX();
  
  // Read ITs, clear pending ones
  si446x_get_int_status(0u, 0u, 0u);

  /* Start Receiving packet, channel 0, START immediately, Packet n bytes long */
  si446x_start_rx(channel, 0u, RadioConfiguration.Radio_PacketLength,
                  SI446X_CMD_START_RX_ARG_RXTIMEOUT_STATE_ENUM_NOCHANGE,
                  SI446X_CMD_START_RX_ARG_RXVALID_STATE_ENUM_RX,
                  SI446X_CMD_START_RX_ARG_RXINVALID_STATE_ENUM_RX );
                  
  /* Switch on LED1 to show RX state */
  //vHmi_ChangeLedState(eHmi_Led1_c, eHmi_LedOn_c);
}
Exemple #5
0
/*!
 *  Set Radio to RX mode, fixed packet length.
 *
 *  @param channel Freq. Channel
 *
 *  @note
 *
 */
void vRadio_StartRX(U8 channel)
{
//  volatile unsigned int  tick_tmp=1000; //延时220uS;
//  while(tick_tmp--);
#ifdef LOW_RATE_CHECK

  SetHighRate();
#endif
  PA_Rxen();
  si4438_phy.RF_status=RF_IDLE_FLAG;
  si446x_change_state(SI446X_CMD_CHANGE_STATE_ARG_NEW_STATE_ENUM_READY);
  si4438_phy.rx_flag=RX_ON;
  si4438_phy.RF_status=RF_RX_FLAG;
  // Read ITs, clear pending ones
  si446x_get_int_status(0u, 0u, 0u);
  /* Reset FIFO */
  si446x_fifo_info(SI446X_CMD_FIFO_INFO_ARG_RX_BIT);
  /* Start Receiving packet, channel 0, START immediately, Packet length according to PH */
  si446x_start_rx(channel, 0u, 0x00,
            SI446X_CMD_START_RX_ARG_RXTIMEOUT_STATE_ENUM_NOCHANGE,
            SI446X_CMD_START_RX_ARG_RXVALID_STATE_ENUM_RX,
            SI446X_CMD_START_RX_ARG_RXINVALID_STATE_ENUM_RX );
}