houss red
/
Master_F
Master Implementation of WANOT
Embed:
(wiki syntax)
Show/hide line numbers
MasterBeacon.cpp
00001 #include"WANOT.h" 00002 00003 /* 00004 * Global variables declarations 00005 */ 00006 00007 extern SuperSlotStates SuperSlotState; 00008 00009 extern RadioEvents_t RadioEvents; 00010 extern SX1276MB1xAS Radio; 00011 00012 extern uint16_t BufferSize; 00013 extern uint8_t Buffer[]; 00014 00015 extern int16_t RssiValue; 00016 extern int8_t SnrValue; 00017 00018 extern uint32_t LORA_Channels[NUMBER_OF_CHANNELS]; 00019 00020 extern uint8_t SlotNumber; 00021 extern uint8_t TDMAChannel; 00022 00023 00024 volatile uint8_t Beacon_Tx_Done = 0; 00025 void SetUp_Beacon_OnTxDone(void) 00026 { 00027 Beacon_Tx_Done = 1; 00028 debug("Beacon Tx Done!!\n\r"); 00029 } 00030 00031 00032 void SetUp_Beacon(void) 00033 { 00034 debug("Master Set Up Beacon Started...\n\r"); 00035 00036 Radio.SetTxConfig(MODEM_LORA, TX_OUTPUT_POWER, 0, SET_UP_LORA_BANDWIDTH, 00037 SET_UP_LORA_SPREADING_FACTOR, LORA_CODINGRATE, 00038 LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON, 00039 SET_UP_LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 00040 LORA_IQ_INVERSION_ON, 2000000); 00041 00042 Radio.SetRxConfig(MODEM_LORA, SET_UP_LORA_BANDWIDTH, SET_UP_LORA_SPREADING_FACTOR, 00043 LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH, 00044 LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, 0, 00045 SET_UP_LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 00046 LORA_IQ_INVERSION_ON, true); 00047 Radio.SetChannel(SET_UP_FREQUENCY); 00048 00049 Beacon_Tx_Done = 0; 00050 RadioEvents.TxDone = SetUp_Beacon_OnTxDone; 00051 Radio.Init(&RadioEvents); 00052 00053 if (TDMAChannel != 0) 00054 Radio.Sleep(); 00055 00056 wait_us(TDMAChannel * BEACON_TIMEOUT_VALUE); 00057 00058 Buffer[0] = SETUP_BEACON_SYNCWORD; 00059 Buffer[1] = TDMAChannel; 00060 00061 Radio.Send(Buffer, BUFFER_SIZE_RTS); 00062 00063 while(Beacon_Tx_Done != 1); 00064 00065 debug("Beacon Sent\n\r"); 00066 00067 Radio.SetTxConfig(MODEM_LORA, TX_OUTPUT_POWER, 0, SET_UP_LORA_BANDWIDTH, 00068 SET_UP_LORA_SPREADING_FACTOR, LORA_CODINGRATE, 00069 LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON, 00070 SET_UP_LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 00071 LORA_IQ_INVERSION_ON, 2000000); 00072 00073 Radio.SetRxConfig(MODEM_LORA, SET_UP_LORA_BANDWIDTH, SET_UP_LORA_SPREADING_FACTOR, 00074 LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH, 00075 LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, 0, 00076 SET_UP_LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 00077 LORA_IQ_INVERSION_ON, true); 00078 00079 00080 Radio.SetChannel(LORA_Channels[TDMAChannel]); 00081 00082 debug("Master Set Up Beacon Done!!\n\r"); 00083 //Sleep untill setup phase RTC 00084 }
Generated on Wed Jul 13 2022 09:10:33 by 1.7.2