diff --git a/ST-B-L072Z-LRWAN1/longfi-us915-button/longfi-us915-button.ino b/ST-B-L072Z-LRWAN1/longfi-us915-button/longfi-us915-button.ino index acf8de5..497ab3f 100644 --- a/ST-B-L072Z-LRWAN1/longfi-us915-button/longfi-us915-button.ino +++ b/ST-B-L072Z-LRWAN1/longfi-us915-button/longfi-us915-button.ino @@ -1,236 +1,101 @@ -#include -#include -#include +#include "LoRaWAN.h" +#include "TimerMillis.h" +#include +const char *devEui = "FILL_ME_IN"; +const char *appEui = "FILL_ME_IN"; +const char *appKey = "FILL_ME_IN"; -// This should also be in little endian format -static const u1_t PROGMEM DEVEUI[8]= { FILL_ME_IN }; -void os_getDevEui (u1_t* buf) { memcpy_P(buf, DEVEUI, 8);} +const uint32_t TX_INTERVAL = 15000; +TimerMillis timer_send; -// This should also be in little endian format -static const u1_t PROGMEM APPEUI[8]= { FILL_ME_IN }; -void os_getArtEui (u1_t* buf) { memcpy_P(buf, APPEUI, 8);} - -// This key should be in big endian format -static const u1_t PROGMEM APPKEY[16] = { FILL_ME_IN }; -void os_getDevKey (u1_t* buf) { memcpy_P(buf, APPKEY, 16);} - -static uint8_t mydata[] = {0}; -static osjob_t sendjob; - -// Schedule TX every this many seconds (might become longer due to duty -// cycle limitations). -const unsigned TX_INTERVAL = 15; - -// Pin mapping -#include "arduino_lmic_hal_boards.h" -// Pin mapping Discovery -const lmic_pinmap lmic_pins = *Arduino_LMIC::GetPinmap_Disco_L072cz_Lrwan1(); - -void printHex2(unsigned v) { - v &= 0xff; - if (v < 16) - Serial.print('0'); - Serial.print(v, HEX); -} - -void onEvent (ev_t ev) { - Serial.print(os_getTime()); - Serial.print(": "); - switch(ev) { - case EV_SCAN_TIMEOUT: - Serial.println(F("EV_SCAN_TIMEOUT")); - break; - case EV_BEACON_FOUND: - Serial.println(F("EV_BEACON_FOUND")); - break; - case EV_BEACON_MISSED: - Serial.println(F("EV_BEACON_MISSED")); - break; - case EV_BEACON_TRACKED: - Serial.println(F("EV_BEACON_TRACKED")); - break; - case EV_JOINING: - Serial.println(F("EV_JOINING")); - break; - case EV_JOINED: - Serial.println(F("EV_JOINED")); - { - u4_t netid = 0; - devaddr_t devaddr = 0; - u1_t nwkKey[16]; - u1_t artKey[16]; - LMIC_getSessionKeys(&netid, &devaddr, nwkKey, artKey); - Serial.print("netid: "); - Serial.println(netid, DEC); - Serial.print("devaddr: "); - Serial.println(devaddr, HEX); - Serial.print("AppSKey: "); - for (size_t i=0; i