41 #if not defined(ARDUINO_ARCH_SAMD) && not defined(ARDUINO_ARCH_ESP32) 47 bool joinABP(uint8_t *DevAddr, uint8_t *AppSKey, uint8_t * NwkSKey);
48 bool send(uint8_t *Data, uint8_t Data_Length, uint8_t Frame_Port = 0x01);
57 uint16_t _frame_counter = 0;
58 static const uint8_t S_Table[16][16];
60 void Encrypt_Payload(uint8_t *Data, uint8_t Data_Length, uint16_t Frame_Counter, uint8_t Direction);
61 void Calculate_MIC(uint8_t *Data, uint8_t *Final_MIC, uint8_t Data_Length, uint16_t Frame_Counter, uint8_t Direction);
62 void Generate_Keys(uint8_t *K1, uint8_t *K2);
63 void Shift_Left(uint8_t *Data);
64 void XOR(uint8_t *New_Data, uint8_t *Old_Data);
66 void AES_Encrypt(uint8_t *Data,
const uint8_t *Key);
67 void AES_Add_Round_Key(uint8_t *Round_Key, uint8_t(*State)[4]);
68 uint8_t AES_Sub_Byte(uint8_t Byte);
69 void AES_Shift_Rows(uint8_t(*State)[4]);
70 void AES_Mix_Collums(uint8_t(*State)[4]);
71 void AES_Calculate_Round_Key(uint8_t Round, uint8_t *Round_Key);
AllWize_LoRaWAN(HardwareSerial *serial, uint8_t reset_gpio=GPIO_NONE)
AllWize_LoRaWAN(uint8_t rx, uint8_t tx, uint8_t reset_gpio=GPIO_NONE)
bool send(uint8_t *Data, uint8_t Data_Length, uint8_t Frame_Port=0x01)
Function to assemble and send a LoRaWAN package.
bool joinABP(uint8_t *DevAddr, uint8_t *AppSKey, uint8_t *NwkSKey)
Stores the application and network keys for ABP activation.
uint16_t getFrameCounter()
Returns current frame counter.
void setFrameCounter(uint16_t value)
Sets new frame counter.