|
11 | 11 | *
|
12 | 12 | */
|
13 | 13 |
|
| 14 | +#include <avr/pgmspace.h> |
| 15 | + |
14 | 16 | #include "n_lib.h"
|
15 | 17 |
|
16 |
| -const char *c_null = "null"; |
17 |
| -const char *c_false = "false"; |
18 |
| -const char *c_true = "true"; |
19 |
| -const char *c_nullstring = ""; |
20 |
| -const char *c_newline = "\r\n"; |
21 |
| -const char *c_mem = "mem"; |
22 |
| -const char *c_iotimeout = "timeout {io}"; |
23 |
| -const char *c_err = "err"; |
24 |
| -const char *c_req = "req"; |
25 |
| -const char *c_cmd = "cmd"; |
26 |
| -const char *c_bad = "bad"; |
27 |
| -const char *c_iobad = "bad {io}"; |
28 |
| -const char *c_ioerr = "{io}"; |
| 18 | +const char c_agent[] PROGMEM = "agent"; |
| 19 | +const char c_align[] PROGMEM = "align"; |
| 20 | +const char c_arch_arc32[] PROGMEM = "arc32"; |
| 21 | +const char c_arch_avr[] PROGMEM = "avr"; |
| 22 | +const char c_arch_esp32[] PROGMEM = "esp32"; |
| 23 | +const char c_arch_esp8266[] PROGMEM = "esp8266"; |
| 24 | +const char c_arch_megaavr[] PROGMEM = "megaavr"; |
| 25 | +const char c_arch_nrf52840[] PROGMEM = "nrf52840"; |
| 26 | +const char c_arch_nrf52[] PROGMEM = "nrf52"; |
| 27 | +const char c_arch_nrf51[] PROGMEM = "nrf51"; |
| 28 | +const char c_arch_pic32[] PROGMEM = "pic32"; |
| 29 | +const char c_arch_sam[] PROGMEM = "sam"; |
| 30 | +const char c_arch_samd[] PROGMEM = "samd"; |
| 31 | +const char c_arch_spresence[] PROGMEM = "spresence"; |
| 32 | +const char c_arch_stm32[] PROGMEM = "stm32"; |
| 33 | +const char c_arch_stm32f0[] PROGMEM = "stm32f0"; |
| 34 | +const char c_arch_stm32f1[] PROGMEM = "stm32f1"; |
| 35 | +const char c_arch_stm32f4[] PROGMEM = "stm32f4"; |
| 36 | +const char c_arch_stm32g0[] PROGMEM = "stm32g0"; |
| 37 | +const char c_arch_stm32l4[] PROGMEM = "stm32l4"; |
| 38 | +const char c_arch_stm32u5[] PROGMEM = "stm32u5"; |
| 39 | +const char c_arch_swan_r5[] PROGMEM = "swan_r5"; |
| 40 | +const char c_area[] PROGMEM = "area"; |
| 41 | +const char c_array[] PROGMEM = "array"; |
| 42 | +const char c_asterisk[] PROGMEM = "*"; |
| 43 | +const char c_bad[] PROGMEM = "bad"; |
| 44 | +const char c_bearing[] PROGMEM = "bearing"; |
| 45 | +const char c_began_loc_dop[] PROGMEM = "began_loc_dop"; |
| 46 | +const char c_began_loc_lat[] PROGMEM = "began_loc_lat"; |
| 47 | +const char c_began_loc_lon[] PROGMEM = "began_loc_lon"; |
| 48 | +const char c_began_loc_when[] PROGMEM = "began_loc_when"; |
| 49 | +const char c_began_motion_when[] PROGMEM = "began_motion_when"; |
| 50 | +const char c_began_when[] PROGMEM = "began_when"; |
| 51 | +const char c_body[] PROGMEM = "body"; |
| 52 | +const char c_bool[] PROGMEM = "bool"; |
| 53 | +const char c_card_attn[] PROGMEM = "card.attn"; |
| 54 | +const char c_card_contact[] PROGMEM = "card.contact"; |
| 55 | +const char c_card_location[] PROGMEM = "card.location"; |
| 56 | +const char c_card_location_mode[] PROGMEM = "card.location.mode"; |
| 57 | +const char c_card_log[] PROGMEM = "card.log"; |
| 58 | +const char c_card_restore[] PROGMEM = "card.restore"; |
| 59 | +const char c_card_status[] PROGMEM = "card.status"; |
| 60 | +const char c_card_temp[] PROGMEM = "card.temp"; |
| 61 | +const char c_card_time[] PROGMEM = "card.time"; |
| 62 | +const char c_card_version[] PROGMEM = "card.version"; |
| 63 | +const char c_card_voltage[] PROGMEM = "card.voltage"; |
| 64 | +const char c_charging[] PROGMEM = "charging"; |
| 65 | +const char c_cmd[] PROGMEM = "cmd"; |
| 66 | +const char c_colon[] PROGMEM = ":"; |
| 67 | +const char c_compiler[] PROGMEM = "compiler"; |
| 68 | +const char c_comma[] PROGMEM = ","; |
| 69 | +const char c_connected[] PROGMEM = "connected"; |
| 70 | +const char c_country[] PROGMEM = "country"; |
| 71 | +const char c_cpu_cores[] PROGMEM = "cpu_cores"; |
| 72 | +const char c_cpu_mem[] PROGMEM = "cpu_mem"; |
| 73 | +const char c_cpu_mhz[] PROGMEM = "cpu_mhz"; |
| 74 | +const char c_cpu_name[] PROGMEM = "cpu_name"; |
| 75 | +const char c_cpu_vendor[] PROGMEM = "cpu_vendor"; |
| 76 | +const char c_curly_brace_close[] PROGMEM = "}"; |
| 77 | +const char c_curly_brace_open[] PROGMEM = "{"; |
| 78 | +const char c_dbg_msg_about_to_sleep[] PROGMEM = "ABOUT TO SLEEP\n"; |
| 79 | +const char c_dbg_msg_awakened_successfully[] PROGMEM = "AWAKENED SUCCESSFULLY\n"; |
| 80 | +const char c_dbg_msg_cannot_convert_to_json[] PROGMEM = "can't convert to JSON"; |
| 81 | +const char c_dbg_msg_card_restored[] PROGMEM = "CARD RESTORED\n"; |
| 82 | +const char c_dbg_msg_did_not_sleep[] PROGMEM = "DIDN'T SLEEP\n"; |
| 83 | +const char c_dbg_msg_i2c_not_active[] PROGMEM = "i2c not active"; |
| 84 | +const char c_dbg_msg_i2c_or_serial_interface_must_be_selected[] PROGMEM = "i2c or serial interface must be selected"; |
| 85 | +const char c_dbg_msg_i2c_receive_error[] PROGMEM = "i2c receive error\n"; |
| 86 | +const char c_dbg_msg_i2c_transmit[] PROGMEM = "i2c transmit"; |
| 87 | +const char c_dbg_msg_insufficient_memory[] PROGMEM = "insufficient memory"; |
| 88 | +const char c_dbg_msg_invalid_data_received_on_serial_port_from_notecard[] PROGMEM = "invalid data received on serial port from notecard\n"; |
| 89 | +const char c_dbg_msg_invalid_json[] PROGMEM = "invalid JSON: "; |
| 90 | +const char c_dbg_msg_io_bad[] PROGMEM = "bad {io}"; |
| 91 | +const char c_dbg_msg_io_err[] PROGMEM = "{io}"; |
| 92 | +const char c_dbg_msg_io_serial_communications_error[] PROGMEM = "serial communications error {io}"; |
| 93 | +const char c_dbg_msg_io_timeout[] PROGMEM = "timeout {io}"; |
| 94 | +const char c_dbg_msg_io_transaction_incomplete[] PROGMEM = "transaction incomplete {io}"; |
| 95 | +const char c_dbg_msg_io_transaction_timeout[] PROGMEM = "transaction timeout {io}"; |
| 96 | +const char c_dbg_msg_io_unrecognized_response_from_card[] PROGMEM = "unrecognized response from card {io}"; |
| 97 | +const char c_dbg_msg_no_notecard[] PROGMEM = "no notecard\n"; |
| 98 | +const char c_dbg_msg_notecard_not_responding[] PROGMEM = "notecard not responding\n"; |
| 99 | +const char c_dbg_msg_received_only_partial_reply_after_timeout[] PROGMEM = "received only partial reply after timeout:\n"; |
| 100 | +const char c_dbg_msg_reply_to_request_did_not_arrive_from_module_in_time[] PROGMEM = "reply to request didn't arrive from module in time\n"; |
| 101 | +const char c_dbg_msg_request_or_response_was_lost[] PROGMEM = "request or response was lost {io}"; |
| 102 | +const char c_dbg_msg_requesting_sleep[] PROGMEM = "requesting sleep\n"; |
| 103 | +const char c_dbg_msg_transaction_jsonbuf_malloc_failed[] PROGMEM = "transaction: jsonbuf malloc failed\n"; |
| 104 | +const char c_dbg_msg_unrecognized_data_from_notecard[] PROGMEM = "unrecognized data from notecard\n"; |
| 105 | +const char c_delete[] PROGMEM = "delete"; |
| 106 | +const char c_device[] PROGMEM = "device"; |
| 107 | +const char c_distance[] PROGMEM = "distance"; |
| 108 | +const char c_dop[] PROGMEM = "dop"; |
| 109 | +const char c_edge_notefile[] PROGMEM = "_edge.qi"; |
| 110 | +const char c_email[] PROGMEM = "email"; |
| 111 | +const char c_ended_loc_dop[] PROGMEM = "ended_loc_dop"; |
| 112 | +const char c_ended_loc_lat[] PROGMEM = "ended_loc_lat"; |
| 113 | +const char c_ended_loc_lon[] PROGMEM = "ended_loc_lon"; |
| 114 | +const char c_ended_loc_when[] PROGMEM = "ended_loc_when"; |
| 115 | +const char c_ended_motion_when[] PROGMEM = "ended_motion_when"; |
| 116 | +const char c_ended_when[] PROGMEM = "ended_when"; |
| 117 | +const char c_env_default[] PROGMEM = "env.default"; |
| 118 | +const char c_env_get[] PROGMEM = "env.get"; |
| 119 | +const char c_err[] PROGMEM = "err"; |
| 120 | +const char c_FAIL[] PROGMEM = "FAIL"; |
| 121 | +const char c_false[] PROGMEM = "false"; |
| 122 | +const char c_file[] PROGMEM = "file"; |
| 123 | +const char c_fixed[] PROGMEM = "fixed"; |
| 124 | +const char c_fmt_1_15g[] PROGMEM = "%1.15g"; |
| 125 | +const char c_fmt_1_17g[] PROGMEM = "%1.17g"; |
| 126 | +const char c_fmt_lg[] PROGMEM = "%lg"; |
| 127 | +const char c_free[] PROGMEM = "free"; |
| 128 | +const char c_heartbeat[] PROGMEM = "heartbeat"; |
| 129 | +const char c_HEX[] PROGMEM = "0123456789ABCDEF"; |
| 130 | +const char c_hex[] PROGMEM = "0123456789abcdef"; |
| 131 | +const char c_host[] PROGMEM = "host"; |
| 132 | +const char c_hub_get[] PROGMEM = "hub.get"; |
| 133 | +const char c_hub_set[] PROGMEM = "hub.set"; |
| 134 | +const char c_hub_status[] PROGMEM = "hub.status"; |
| 135 | +const char c_humidity[] PROGMEM = "humidity"; |
| 136 | +const char c_hyphen[] PROGMEM = "-"; |
| 137 | +const char c_i2c[] PROGMEM = "i2c"; |
| 138 | +const char c_inbound[] PROGMEM = "inbound"; |
| 139 | +const char c_INF[] PROGMEM = "INF"; |
| 140 | +const char c_inf[] PROGMEM = "inf"; |
| 141 | +const char c_invalid[] PROGMEM = "invalid"; |
| 142 | +const char c_jcount[] PROGMEM = "jcount"; |
| 143 | +const char c_journey[] PROGMEM = "journey"; |
| 144 | +const char c_lat[] PROGMEM = "lat"; |
| 145 | +const char c_level[] PROGMEM = "level"; |
| 146 | +const char c_loc_lat[] PROGMEM = "loc_lat"; |
| 147 | +const char c_loc_lon[] PROGMEM = "loc_lon"; |
| 148 | +const char c_log[] PROGMEM = "log"; |
| 149 | +const char c_lon[] PROGMEM = "lon"; |
| 150 | +const char c_malloc[] PROGMEM = "malloc"; |
| 151 | +const char c_mem[] PROGMEM = "mem"; |
| 152 | +const char c_meters[] PROGMEM = "meters"; |
| 153 | +const char c_minutes[] PROGMEM = "minutes"; |
| 154 | +const char c_mode[] PROGMEM = "mode"; |
| 155 | +const char c_motion[] PROGMEM = "motion"; |
| 156 | +const char c_movements[] PROGMEM = "movements"; |
| 157 | +const char c_mtime[] PROGMEM = "mtime"; |
| 158 | +const char c_name[] PROGMEM = "name"; |
| 159 | +const char c_NAN[] PROGMEM = "NAN"; |
| 160 | +const char c_nan[] PROGMEM = "nan"; |
| 161 | +const char c_newline[] PROGMEM = "\r\n"; |
| 162 | +const char c_no_sat[] PROGMEM = "no-sat"; |
| 163 | +const char c_note_add[] PROGMEM = "note.add"; |
| 164 | +const char c_note_c[] PROGMEM = "note_c"; |
| 165 | +const char c_note_event[] PROGMEM = "note.event"; |
| 166 | +const char c_note_get[] PROGMEM = "note.get"; |
| 167 | +const char c_note_template[] PROGMEM = "note.template"; |
| 168 | +const char c_null[] PROGMEM = "null"; |
| 169 | +const char c_null_paren[] PROGMEM = "(null)"; |
| 170 | +const char c_nullstring[] PROGMEM = ""; |
| 171 | +const char c_number[] PROGMEM = "number"; |
| 172 | +const char c_object[] PROGMEM = "object"; |
| 173 | +const char c_off[] PROGMEM = "off"; |
| 174 | +const char c_org[] PROGMEM = "org"; |
| 175 | +const char c_orientation[] PROGMEM = "orientation"; |
| 176 | +const char c_os_family[] PROGMEM = "os_family"; |
| 177 | +const char c_os_name[] PROGMEM = "os_name"; |
| 178 | +const char c_os_platform[] PROGMEM = "os_platform"; |
| 179 | +const char c_os_version[] PROGMEM = "os_version"; |
| 180 | +const char c_outbound[] PROGMEM = "outbound"; |
| 181 | +const char c_payload[] PROGMEM = "payload"; |
| 182 | +const char c_point[] PROGMEM = "point"; |
| 183 | +const char c_pressure[] PROGMEM = "pressure"; |
| 184 | +const char c_product[] PROGMEM = "product"; |
| 185 | +const char c_quotation_mark[] PROGMEM = "\""; |
| 186 | +const char c_req[] PROGMEM = "req"; |
| 187 | +const char c_req_interface[] PROGMEM = "req_interface"; |
| 188 | +const char c_role[] PROGMEM = "role"; |
| 189 | +const char c_route[] PROGMEM = "route"; |
| 190 | +const char c_scan[] PROGMEM = "scan"; |
| 191 | +const char c_scan_format_2g[] PROGMEM = "xmcc,xmnc,xlac,xcid,xrssi"; |
| 192 | +const char c_scan_format_3g[] PROGMEM = "xmcc,xmnc,xlac,xcid,xpsc,xrscp"; |
| 193 | +const char c_scan_format_4g[] PROGMEM = "xmcc,xmnc,xtac,xcid,xpci,rssi,rsrp,rsrq,xband,xchan"; |
| 194 | +const char c_scan_format_5g[] PROGMEM = "xmcc,xmnc,xtac,xcid,xpci,rssi,rsrp,rsrq,xband,xchan"; |
| 195 | +const char c_scan_format_gps[] PROGMEM = "epochsecs,olc,hdop"; |
| 196 | +const char c_scan_format_time[] PROGMEM = "epochsecs"; |
| 197 | +const char c_scan_format_wifi[] PROGMEM = "xbssid,xchannel,xfreq,rssi,snr,\"ssid\""; |
| 198 | +const char c_seconds[] PROGMEM = "seconds"; |
| 199 | +const char c_secs[] PROGMEM = "secs"; |
| 200 | +const char c_serial[] PROGMEM = "serial"; |
| 201 | +const char c_signals[] PROGMEM = "signals"; |
| 202 | +const char c_sleep[] PROGMEM = "sleep"; |
| 203 | +const char c_sn[] PROGMEM = "sn"; |
| 204 | +const char c_space[] PROGMEM = " "; |
| 205 | +const char c_start[] PROGMEM = "start"; |
| 206 | +const char c_status[] PROGMEM = "status"; |
| 207 | +const char c_string[] PROGMEM = "string"; |
| 208 | +const char c_subsystem[] PROGMEM = "subsystem"; |
| 209 | +const char c_sync[] PROGMEM = "sync"; |
| 210 | +const char c_synclog_notefile[] PROGMEM = "_synclog.qi"; |
| 211 | +const char c_temperature[] PROGMEM = "temperature"; |
| 212 | +const char c_text[] PROGMEM = "text"; |
| 213 | +const char c_time[] PROGMEM = "time"; |
| 214 | +const char c_track[] PROGMEM = "track"; |
| 215 | +const char c_true[] PROGMEM = "true"; |
| 216 | +const char c_type[] PROGMEM = "type"; |
| 217 | +const char c_unknown[] PROGMEM = "unknown"; |
| 218 | +const char c_usb[] PROGMEM = "usb"; |
| 219 | +const char c_UTC[] PROGMEM = "UTC"; |
| 220 | +const char c_utf8_bom[] PROGMEM = "\xEF\xBB\xBF"; |
| 221 | +const char c_value[] PROGMEM = "value"; |
| 222 | +const char c_velocity[] PROGMEM = "velocity"; |
| 223 | +const char c_version[] PROGMEM = "version"; |
| 224 | +const char c_voltage[] PROGMEM = "voltage"; |
| 225 | +const char c_web_dot[] PROGMEM = "web."; |
| 226 | +const char c_zone[] PROGMEM = "zone"; |
0 commit comments