Publish Grove Cayenne Spider Test

Dependencies:   SX127x lorawan1v1

Fork of LoRaWAN-grove-cayenne by wayne roberts

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers LoRaMacString.cpp Source File

LoRaMacString.cpp

00001 #include "LoRaMac1v1.h"
00002 #include "LoRaMacString.h"
00003 
00004 void
00005 Mlme_to_string(Mlme_t mlme, char* dst)
00006 {
00007     const char* ptr = NULL;
00008 
00009     switch (mlme) {
00010         case MLME_NONE: ptr = "NONE"; break;
00011         case MLME_LINK_CHECK: ptr = "LINK_CHECK"; break;
00012         case MLME_SWITCH_CLASS: ptr = "SWITCH_CLASS"; break;
00013         case MLME_PING_SLOT_INFO: ptr = "PING_SLOT_INFO"; break;
00014         case MLME_BEACON_TIMING: ptr = "BEACON_TIMING"; break;
00015         case MLME_BEACON_ACQUISITION: ptr = "BEACON_ACQUISITION"; break;
00016         case MLME_TIME_REQ: ptr = "TIME_REQ"; break;
00017         case MLME_BEACON: ptr = "BEACON"; break;
00018         case MLME_TXCW: ptr = "TXCW"; break;
00019 #ifdef LORAWAN_JOIN_EUI
00020         case MLME_JOIN: ptr = "JOIN"; break;
00021         case MLME_REJOIN_0: ptr = "REJOIN_0"; break;
00022         case MLME_REJOIN_1: ptr = "REJOIN_1"; break;
00023         case MLME_REJOIN_2: ptr = "REJOIN_2"; break;
00024 #endif
00025     }
00026 
00027     if (ptr != NULL)
00028         strcpy(dst, ptr);
00029 }
00030 
00031 void
00032 LoRaMacEventInfoStatus_to_string(LoRaMacEventInfoStatus_t status, char* dst)
00033 {
00034     const char* ptr = NULL;
00035 
00036     switch (status) {
00037 
00038         case LORAMAC_EVENT_INFO_STATUS_OK: ptr = "OK"; break;
00039         case LORAMAC_EVENT_INFO_STATUS_CHANNEL_BUSY: ptr = "CHANNEL_BUSY"; break;
00040         case LORAMAC_EVENT_INFO_STATUS_INCR_FAIL: ptr = "INCR_FAIL"; break;
00041         case LORAMAC_EVENT_INFO_STATUS_MLMEREQ: ptr = "MLMEREQ"; break;
00042         case LORAMAC_EVENT_INFO_STATUS_UNKNOWN_MTYPE: ptr = "UNKNOWN_MTYPE"; break;
00043         case LORAMAC_EVENT_INFO_STATUS_SENDING: ptr = "SENDING"; break;
00044         case LORAMAC_EVENT_INFO_STATUS_MCPSREQ: ptr = "MCPSREQ"; break;
00045         case LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT: ptr = "TX_TIMEOUT"; break;
00046         case LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT: ptr = "RX2_TIMEOUT"; break;
00047         case LORAMAC_EVENT_INFO_STATUS_RX2_ERROR: ptr = "RX2_ERROR"; break;
00048 #ifdef LORAWAN_JOIN_EUI
00049         case LORAMAC_EVENT_INFO_STATUS_JOIN_FAIL: ptr = "JOIN_FAIL"; break;
00050         case LORAMAC_EVENT_INFO_STATUS_JOINNONCE: ptr = "JOINNONCE"; break;
00051 #endif
00052         case LORAMAC_EVENT_INFO_STATUS_DOWNLINK_REPEATED: ptr = "DOWNLINK_REPEATED"; break;
00053         case LORAMAC_EVENT_INFO_STATUS_TX_DR_PAYLOAD_SIZE_ERROR: ptr = "TX_DR_PAYLOAD_SIZE_ERROR"; break;
00054         case LORAMAC_EVENT_INFO_STATUS_DOWNLINK_TOO_MANY_FRAMES_LOSS: ptr = "DOWNLINK_TOO_MANY_FRAMES_LOSS"; break;
00055         case LORAMAC_EVENT_INFO_STATUS_ADDRESS_FAIL: ptr = "ADDRESS_FAIL"; break;
00056         case LORAMAC_EVENT_INFO_STATUS_MIC_FAIL: ptr = "MIC_FAIL"; break;
00057         case LORAMAC_EVENT_INFO_STATUS_MULTICAST_FAIL: ptr = "MULTICAST_FAIL"; break;
00058         case LORAMAC_EVENT_INFO_STATUS_BEACON_LOCKED: ptr = "BEACON_LOCKED"; break;
00059         case LORAMAC_EVENT_INFO_STATUS_BEACON_LOST: ptr = "BEACON_LOST"; break;
00060         case LORAMAC_EVENT_INFO_STATUS_BEACON_NOT_FOUND: ptr = "BEACON_NOT_FOUND"; break;
00061         case LORAMAC_EVENT_INFO_STATUS_NO_APPKEY: ptr = "NO_APPKEY"; break;
00062         case LORAMAC_EVENT_INFO_BAD_RX_DELAY: ptr = "BAD_RX_DELAY"; break;
00063     }
00064 
00065     if (ptr != NULL)
00066         strcpy(dst, ptr);
00067 }
00068 
00069 void
00070 LoRaMacStatus_to_string(LoRaMacStatus_t status, char* dst)
00071 {
00072     const char* ptr = NULL;
00073 
00074     switch (status) {
00075         case LORAMAC_STATUS_OK: ptr = "OK"; break;
00076         case LORAMAC_STATUS_LSE: ptr = "LSE"; break;
00077         case LORAMAC_STATUS_WAITING_FOR_TXSTART: ptr = "WAIT_TXSTART"; break;
00078         case LORAMAC_STATUS_WAITING_FOR_TXDONE: ptr = "WAIT_TXDONE"; break;
00079         case LORAMAC_STATUS_WAITING_FOR_RX1: ptr = "WAIT_RX1"; break;
00080         case LORAMAC_STATUS_WAITING_FOR_RX2: ptr = "WAIT_RX2"; break;
00081         case LORAMAC_STATUS_BUSY_UPCONF: ptr = "BUSY_UPCONF"; break;
00082         case LORAMAC_STATUS_SERVICE_UNKNOWN: ptr = "SERVICE_UNKNOWN"; break;
00083         case LORAMAC_STATUS_PARAMETER_INVALID: ptr = "PARAMETER_INVALID"; break;
00084         case LORAMAC_STATUS_FREQUENCY_INVALID: ptr = "FREQUENCY_INVALID"; break;
00085         case LORAMAC_STATUS_DATARATE_INVALID: ptr = "DATARATE_INVALID"; break;
00086         case LORAMAC_STATUS_FREQ_AND_DR_INVALID: ptr = "FREQ_AND_DR_INVALID"; break;
00087 #ifdef LORAWAN_JOIN_EUI
00088         case LORAMAC_STATUS_NO_NETWORK_JOINED: ptr = "NO_NETWORK_JOINED"; break;
00089 #endif
00090         case LORAMAC_STATUS_LENGTH_ERROR: ptr = "LENGTH_ERROR"; break;
00091         case LORAMAC_STATUS_MAC_CMD_LENGTH_ERROR: ptr = "MAC_CMD_LENGTH_ERROR"; break;
00092         case LORAMAC_STATUS_DEVICE_OFF: ptr = "DEVICE_OFF"; break;
00093         case LORAMAC_STATUS_EEPROM_FAIL: ptr = "EEPROM_FAIL"; break;
00094     }
00095     if (ptr != NULL)
00096         strcpy(dst, ptr);
00097 }