Ejemplo n.º 1
0
void SX1276Init( void )
{
    // Initialize FSK and LoRa registers structure
    SX1276 = ( tSX1276* )SX1276Regs;
    SX1276LR = ( tSX1276LR* )SX1276Regs;

    SX1276InitIo( );
    
    SX1276Reset( );

    // REMARK: After radio reset the default modem is FSK

#if ( LORA == 0 ) 

    LoRaOn = false;
    SX1276SetLoRaOn( LoRaOn );
    // Initialize FSK modem
    SX1276FskInit( );

#else

    LoRaOn = true;
    SX1276SetLoRaOn( LoRaOn );
    // Initialize LoRa modem
    SX1276LoRaInit( );
    
#endif

}
Ejemplo n.º 2
0
/*****************************************************************************
 Prototype    : SX1276Init
 Description  : none
 Input        : void  
 Output       : None
 Return Value : 
 Date         : 2014/3/15
 Author       : Barry
*****************************************************************************/
void SX1276Init( void )
{
  /* Initialize FSK and LoRa registers structure */
  /* 这是一个很好的初始化结构体的技巧,把数组名强制转化为指向结构体的指针 */
  #if defined(SX1276_FSK)
  SX1276 = ( tSX1276* )SX1276Regs;
  #endif

  #if defined(SX1276_LORA)
  SX1276LR = ( tSX1276LR* )SX1276Regs;
  #endif
  
  SX1276Reset( );
  /* in order to compatible FSK,change LORA to bool variable */
  if (LORA)
  {
	#if defined(SX1276_LORA)
	LoRaOn = true;
	LoRaOnState = false;
	SX1276SetLoRaOn( LoRaOn );
	/* Initialize LoRa modem */
	SX1276LoRaInit();
	#endif
  }
  else
  {
	#if defined(SX1276_FSK)
	LoRaOn = false;
	LoRaOnState = true;
	SX1276SetLoRaOn( LoRaOn );
	/* Initialize FSK modem */
	SX1276FskInit( );
	#endif
  }
}
Ejemplo n.º 3
0
void SX1276Init( void )
{
  	
    SX1276InitIo( );
	SX1276Reset( );
		

	SX1276SetLoRaOn();
	SX1276LoRaInit( );
}
Ejemplo n.º 4
0
void SX1276_FSK_init(void)
{
    #if defined(SX1276_FSK)
    SX1276 = ( tSX1276* )SX1276Regs;

    SX1276Reset( );

    SX1276LoRaSetOpMode( RFLR_OPMODE_SLEEP );

    SX1276LR->RegOpMode = ( SX1276LR->RegOpMode & RFLR_OPMODE_LONGRANGEMODE_MASK ) | RFLR_OPMODE_LONGRANGEMODE_OFF;
    SX1276Write( REG_LR_OPMODE, SX1276LR->RegOpMode );

    SX1276LoRaSetOpMode( RFLR_OPMODE_STANDBY );

    SX1276ReadBuffer( REG_OPMODE, SX1276Regs + 1, 0x70 - 1 );
    #endif
}
Ejemplo n.º 5
0
void SX1276Init( void )
{
    SX1276InitIo( );
	
    SX1276Reset( );
	
	static uint8_t temp=0;
	
	SX1276Read( REG_LR_VERSION, &temp );
	
	
	//SX1276Write( REG_LR_OPMODE, 0x09 );
	
    SX1276SetLoRaOn();
	
    // Initialize LoRa modem
    SX1276LoRaInit( );


}
Ejemplo n.º 6
0
void SX1276_lora_init(void)
{
    SX1276LR = ( tSX1276LR* )SX1276Regs;

    SX1276Reset( );

    SX1276LoRaSetOpMode( RFLR_OPMODE_SLEEP );
    /* set to lora mode */
    SX1276LR->RegOpMode = ( SX1276LR->RegOpMode & RFLR_OPMODE_LONGRANGEMODE_MASK ) | RFLR_OPMODE_LONGRANGEMODE_ON;
    SX1276Write( REG_LR_OPMODE, SX1276LR->RegOpMode );

    SX1276LoRaSetOpMode( RFLR_OPMODE_STANDBY );

    g_GDOx_map_conf.GDO0Config = DIO0_RxDone;
    g_GDOx_map_conf.GDO1Config = DIO1_RxTimeout;
    g_GDOx_map_conf.GDO2Config = DIO2_FhssCC;
    g_GDOx_map_conf.GDO3Config = DIO3_CadDone;
    g_GDOx_map_conf.GDO4Config = DIO4_CadDetected;
    g_GDOx_map_conf.GDO5Config = DIO5_ModeReady;
    config_GDOx_Map(g_GDOx_map_conf);

    SX1276ReadBuffer( REG_LR_OPMODE, SX1276Regs + 1, 0x70 - 1 );
}