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 }
/***************************************************************************** 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 } }
void SX1276Init( void ) { SX1276InitIo( ); SX1276Reset( ); SX1276SetLoRaOn(); SX1276LoRaInit( ); }
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 }
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( ); }
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 ); }