#pragma once #include #include #include #define LORA_SCK 5 #define LORA_MISO 19 #define LORA_MOSI 27 #define LORA_NSS 18 #define LORA_RST 23 #define LORA_DIO0 26 #define LORA_DIO1 33 class LoRaTransmitter : public ITransmitter { public: LoRaTransmitter( uint64_t joinEUI, uint64_t devEUI, uint8_t* nwkKey, uint8_t* appKey ); TransmitError init() override; TransmitError join() override; TransmitError send(uint8_t* payload, size_t size) override; private: uint64_t _joinEUI; uint64_t _devEUI; uint8_t _nwkKey[16]; uint8_t _appKey[16]; SX1276 _radio; LoRaWANNode _node; void _reset(); };