Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
kv_types.h
Go to the documentation of this file.
1
12#ifndef INFUSE_SDK_INCLUDE_GENERATED_KV_DEFINITIONS_H_
13#define INFUSE_SDK_INCLUDE_GENERATED_KV_DEFINITIONS_H_
14
15#include <stdint.h>
16
17#include <zephyr/toolchain.h>
18#include <zephyr/sys/util_macro.h>
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
32 int32_t latitude;
33 int32_t longitude;
34 int32_t height;
35} __packed;
36
38struct bt_addr_le {
39 uint8_t type;
40 uint8_t val[6];
41} __packed;
42
44struct kv_string {
45 uint8_t value_num;
46 char value[];
47} __packed;
48
49/* clang-format off */
51#define KV_STRUCT_KV_STRING_VAR(num) \
52 struct { \
53 uint8_t value_num; \
54 char value[num]; \
55 } __packed
56/* clang-format on */
57
60 uint8_t major;
61 uint8_t minor;
62 uint16_t revision;
63 uint32_t build_num;
64} __packed;
65
68 uint8_t lower;
69 uint8_t upper;
70} __packed;
71
83struct kv_reboots {
84 uint32_t count;
85} __packed;
86
91} __packed;
92
96 uint32_t block_count;
98 uint32_t block_size;
99} __packed;
100
108
113} __packed;
114
115/* clang-format off */
117#define _KV_KEY_DEVICE_NAME_VAR(num) \
118 struct { \
119 KV_STRUCT_KV_STRING_VAR(num) name; \
120 } __packed
121/* clang-format on */
122
126} __packed;
127
132} __packed;
133
138} __packed;
139
140/* clang-format off */
142#define _KV_KEY_WIFI_SSID_VAR(num) \
143 struct { \
144 KV_STRUCT_KV_STRING_VAR(num) ssid; \
145 } __packed
146/* clang-format on */
147
152} __packed;
153
154/* clang-format off */
156#define _KV_KEY_WIFI_PSK_VAR(num) \
157 struct { \
158 KV_STRUCT_KV_STRING_VAR(num) psk; \
159 } __packed
160/* clang-format on */
161
165 uint8_t band;
167 uint8_t channels[];
168} __packed;
169
170/* clang-format off */
172#define _KV_KEY_WIFI_CHANNELS_VAR(num) \
173 struct { \
174 uint8_t band; \
175 uint8_t channels[num]; \
176 } __packed
177/* clang-format on */
178
183} __packed;
184
185/* clang-format off */
187#define _KV_KEY_NTP_SERVER_URL_VAR(num) \
188 struct { \
189 KV_STRUCT_KV_STRING_VAR(num) url; \
190 } __packed
191/* clang-format on */
192
197} __packed;
198
199/* clang-format off */
201#define _KV_KEY_EPACKET_UDP_URL_VAR(num) \
202 struct { \
203 KV_STRUCT_KV_STRING_VAR(num) server; \
204 } __packed
205/* clang-format on */
206
210 uint32_t port;
211} __packed;
212
217} __packed;
218
219/* clang-format off */
221#define _KV_KEY_LTE_MODEM_MODEL_VAR(num) \
222 struct { \
223 KV_STRUCT_KV_STRING_VAR(num) model; \
224 } __packed
225/* clang-format on */
226
232
233/* clang-format off */
235#define _KV_KEY_LTE_MODEM_FIRMWARE_REVISION_VAR(num) \
236 struct { \
237 KV_STRUCT_KV_STRING_VAR(num) revision; \
238 } __packed
239/* clang-format on */
240
245} __packed;
246
247/* clang-format off */
249#define _KV_KEY_LTE_MODEM_ESN_VAR(num) \
250 struct { \
251 KV_STRUCT_KV_STRING_VAR(num) esn; \
252 } __packed
253/* clang-format on */
254
258 uint64_t imei;
259} __packed;
260
265} __packed;
266
267/* clang-format off */
269#define _KV_KEY_LTE_SIM_UICC_VAR(num) \
270 struct { \
271 KV_STRUCT_KV_STRING_VAR(num) uicc; \
272 } __packed
273/* clang-format on */
274
278 uint8_t family;
281} __packed;
282
283/* clang-format off */
285#define _KV_KEY_LTE_PDP_CONFIG_VAR(num) \
286 struct { \
287 uint8_t family; \
288 KV_STRUCT_KV_STRING_VAR(num) apn; \
289 } __packed
290/* clang-format on */
291
295 uint8_t modes;
297 uint8_t prefer;
298} __packed;
299
303 uint64_t imsi;
304} __packed;
305
310} __packed;
311
315 uint32_t frequency;
317 uint8_t bandwidth;
321 uint8_t coding_rate;
323 uint16_t preamble_len;
325 int8_t tx_power;
327 uint8_t sync_word;
328} __packed;
329
333 uint16_t limit_kbps;
334} __packed;
335
339 int16_t x;
341 int16_t y;
343 int16_t z;
344} __packed;
345
349 uint8_t points_num;
351} __packed;
352
353/* clang-format off */
355#define _KV_KEY_GEOFENCE_VAR(num) \
356 struct { \
357 uint8_t points_num; \
358 struct gcs_location points[num]; \
359 } __packed
360/* clang-format on */
361
365 uint32_t set_id;
366} __packed;
367
371 uint8_t task_id;
373 uint8_t validity;
377 uint32_t timeout_s;
383 uint32_t periodicity;
385 uint8_t _remainder[];
386} __packed;
387
388/* clang-format off */
390#define _KV_KEY_TASK_SCHEDULES_VAR(num) \
391 struct { \
392 uint8_t task_id; \
393 uint8_t validity; \
394 uint8_t periodicity_type; \
395 uint32_t timeout_s; \
396 struct kv_range_u8 battery_start; \
397 struct kv_range_u8 battery_terminate; \
398 uint32_t periodicity; \
399 uint8_t _remainder[num]; \
400 } __packed
401/* clang-format on */
402
406 uint8_t data_num;
407 uint8_t data[];
408} __packed;
409
410/* clang-format off */
412#define _KV_KEY_SECURE_STORAGE_RESERVED_VAR(num) \
413 struct { \
414 uint8_t data_num; \
415 uint8_t data[num]; \
416 } __packed
417/* clang-format on */
418
419/* Infuse-IoT builtin KV definitions */
473#ifdef CONFIG_KV_STORE_KEY_GEOFENCE_RANGE
475 KV_KEY_GEOFENCE_END = 100 + CONFIG_KV_STORE_KEY_GEOFENCE_RANGE - 1,
476#endif
483#ifdef CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE
485 KV_KEY_TASK_SCHEDULES_END = 1001 + CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE - 1,
486#endif
491#ifdef CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED_RANGE
493 KV_KEY_SECURE_STORAGE_RESERVED_END =
494 30000 + CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED_RANGE - 1,
495#endif
500};
501
504 _KV_KEY_REBOOTS_SIZE = sizeof(struct kv_reboots),
505 _KV_KEY_BLUETOOTH_ADDR_SIZE = sizeof(struct kv_bluetooth_addr),
506 _KV_KEY_EXFAT_DISK_INFO_SIZE = sizeof(struct kv_exfat_disk_info),
507 _KV_KEY_BLUETOOTH_CTLR_VERSION_SIZE = sizeof(struct kv_bluetooth_ctlr_version),
508 _KV_KEY_INFUSE_APPLICATION_ID_SIZE = sizeof(struct kv_infuse_application_id),
509 _KV_KEY_FIXED_LOCATION_SIZE = sizeof(struct kv_fixed_location),
510 _KV_KEY_EPACKET_UDP_PORT_SIZE = sizeof(struct kv_epacket_udp_port),
511 _KV_KEY_LTE_MODEM_IMEI_SIZE = sizeof(struct kv_lte_modem_imei),
512 _KV_KEY_LTE_NETWORKING_MODES_SIZE = sizeof(struct kv_lte_networking_modes),
513 _KV_KEY_LTE_SIM_IMSI_SIZE = sizeof(struct kv_lte_sim_imsi),
514 _KV_KEY_BLUETOOTH_PEER_SIZE = sizeof(struct kv_bluetooth_peer),
515 _KV_KEY_LORA_CONFIG_SIZE = sizeof(struct kv_lora_config),
516 _KV_KEY_BLUETOOTH_THROUGHPUT_LIMIT_SIZE = sizeof(struct kv_bluetooth_throughput_limit),
517 _KV_KEY_GRAVITY_REFERENCE_SIZE = sizeof(struct kv_gravity_reference),
518 _KV_KEY_TASK_SCHEDULES_DEFAULT_ID_SIZE = sizeof(struct kv_task_schedules_default_id),
519};
520
521/* clang-format off */
522/* Types of builtin KV definitions */
523#define _KV_KEY_REBOOTS_TYPE struct kv_reboots
524#define _KV_KEY_BLUETOOTH_ADDR_TYPE struct kv_bluetooth_addr
525#define _KV_KEY_EXFAT_DISK_INFO_TYPE struct kv_exfat_disk_info
526#define _KV_KEY_BLUETOOTH_CTLR_VERSION_TYPE struct kv_bluetooth_ctlr_version
527#define _KV_KEY_DEVICE_NAME_TYPE struct kv_device_name
528#define _KV_KEY_INFUSE_APPLICATION_ID_TYPE struct kv_infuse_application_id
529#define _KV_KEY_FIXED_LOCATION_TYPE struct kv_fixed_location
530#define _KV_KEY_WIFI_SSID_TYPE struct kv_wifi_ssid
531#define _KV_KEY_WIFI_PSK_TYPE struct kv_wifi_psk
532#define _KV_KEY_WIFI_CHANNELS_TYPE struct kv_wifi_channels
533#define _KV_KEY_NTP_SERVER_URL_TYPE struct kv_ntp_server_url
534#define _KV_KEY_EPACKET_UDP_URL_TYPE struct kv_epacket_udp_url
535#define _KV_KEY_EPACKET_UDP_PORT_TYPE struct kv_epacket_udp_port
536#define _KV_KEY_LTE_MODEM_MODEL_TYPE struct kv_lte_modem_model
537#define _KV_KEY_LTE_MODEM_FIRMWARE_REVISION_TYPE struct kv_lte_modem_firmware_revision
538#define _KV_KEY_LTE_MODEM_ESN_TYPE struct kv_lte_modem_esn
539#define _KV_KEY_LTE_MODEM_IMEI_TYPE struct kv_lte_modem_imei
540#define _KV_KEY_LTE_SIM_UICC_TYPE struct kv_lte_sim_uicc
541#define _KV_KEY_LTE_PDP_CONFIG_TYPE struct kv_lte_pdp_config
542#define _KV_KEY_LTE_NETWORKING_MODES_TYPE struct kv_lte_networking_modes
543#define _KV_KEY_LTE_SIM_IMSI_TYPE struct kv_lte_sim_imsi
544#define _KV_KEY_BLUETOOTH_PEER_TYPE struct kv_bluetooth_peer
545#define _KV_KEY_LORA_CONFIG_TYPE struct kv_lora_config
546#define _KV_KEY_BLUETOOTH_THROUGHPUT_LIMIT_TYPE struct kv_bluetooth_throughput_limit
547#define _KV_KEY_GRAVITY_REFERENCE_TYPE struct kv_gravity_reference
548#define _KV_KEY_GEOFENCE_TYPE struct kv_geofence
549#define _KV_KEY_TASK_SCHEDULES_DEFAULT_ID_TYPE struct kv_task_schedules_default_id
550#define _KV_KEY_TASK_SCHEDULES_TYPE struct kv_task_schedules
551#define _KV_KEY_SECURE_STORAGE_RESERVED_TYPE struct kv_secure_storage_reserved
552/* clang-format on */
553
554/* clang-format off */
556#define KV_REFLECT_NUM ( \
557 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_ADDR, \
558 (1 +)) \
559 IF_ENABLED(CONFIG_KV_STORE_KEY_EXFAT_DISK_INFO, \
560 (1 +)) \
561 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_CTLR_VERSION, \
562 (1 +)) \
563 IF_ENABLED(CONFIG_KV_STORE_KEY_DEVICE_NAME, \
564 (1 +)) \
565 IF_ENABLED(CONFIG_KV_STORE_KEY_FIXED_LOCATION, \
566 (1 +)) \
567 IF_ENABLED(CONFIG_KV_STORE_KEY_WIFI_SSID, \
568 (1 +)) \
569 IF_ENABLED(CONFIG_KV_STORE_KEY_WIFI_PSK, \
570 (1 +)) \
571 IF_ENABLED(CONFIG_KV_STORE_KEY_WIFI_CHANNELS, \
572 (1 +)) \
573 IF_ENABLED(CONFIG_KV_STORE_KEY_NTP_SERVER_URL, \
574 (1 +)) \
575 IF_ENABLED(CONFIG_KV_STORE_KEY_EPACKET_UDP_URL, \
576 (1 +)) \
577 IF_ENABLED(CONFIG_KV_STORE_KEY_EPACKET_UDP_PORT, \
578 (1 +)) \
579 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_MODEL, \
580 (1 +)) \
581 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_FIRMWARE_REVISION, \
582 (1 +)) \
583 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_ESN, \
584 (1 +)) \
585 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_IMEI, \
586 (1 +)) \
587 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_SIM_UICC, \
588 (1 +)) \
589 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_PDP_CONFIG, \
590 (1 +)) \
591 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_NETWORKING_MODES, \
592 (1 +)) \
593 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_SIM_IMSI, \
594 (1 +)) \
595 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_PEER, \
596 (1 +)) \
597 IF_ENABLED(CONFIG_KV_STORE_KEY_LORA_CONFIG, \
598 (1 +)) \
599 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_THROUGHPUT_LIMIT, \
600 (1 +)) \
601 IF_ENABLED(CONFIG_KV_STORE_KEY_GRAVITY_REFERENCE, \
602 (1 +)) \
603 IF_ENABLED(CONFIG_KV_STORE_KEY_GEOFENCE, \
604 (CONFIG_KV_STORE_KEY_GEOFENCE_RANGE +)) \
605 IF_ENABLED(CONFIG_KV_STORE_KEY_TASK_SCHEDULES_DEFAULT_ID, \
606 (1 +)) \
607 IF_ENABLED(CONFIG_KV_STORE_KEY_TASK_SCHEDULES, \
608 (CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE +)) \
609 0)
610/* clang-format on */
611
613#define KV_KEY_TYPE(key) _##key##_TYPE
614
615#define _KV_KEY_TYPE_VAR_EXEC(macro, num) macro(num)
616
618#define KV_KEY_TYPE_VAR(key, num) _KV_KEY_TYPE_VAR_EXEC(_##key##_VAR, num)
619
621#define KV_STRING_CONST(name, val) KV_STRUCT_KV_STRING_VAR(sizeof(val)) name = {sizeof(val), val};
622
632
636 uint16_t key;
638 uint8_t range;
640 uint8_t flags;
641};
642
643#ifdef _KV_SLOTS_ARRAY_DEFINE
644static struct key_value_slot_definition _KV_SLOTS_ARRAY_DEFINE[] = {
645#ifdef CONFIG_KV_STORE_KEY_REBOOTS
646 {
647 .key = KV_KEY_REBOOTS,
648 .range = 1,
649 .flags = 0,
650 },
651#endif /* CONFIG_KV_STORE_KEY_REBOOTS */
652#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_ADDR
653 {
655 .range = 1,
657 },
658#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_ADDR */
659#ifdef CONFIG_KV_STORE_KEY_EXFAT_DISK_INFO
660 {
662 .range = 1,
664 },
665#endif /* CONFIG_KV_STORE_KEY_EXFAT_DISK_INFO */
666#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_CTLR_VERSION
667 {
669 .range = 1,
670 .flags = KV_FLAGS_REFLECT,
671 },
672#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_CTLR_VERSION */
673#ifdef CONFIG_KV_STORE_KEY_DEVICE_NAME
674 {
675 .key = KV_KEY_DEVICE_NAME,
676 .range = 1,
677 .flags = KV_FLAGS_REFLECT,
678 },
679#endif /* CONFIG_KV_STORE_KEY_DEVICE_NAME */
680#ifdef CONFIG_KV_STORE_KEY_INFUSE_APPLICATION_ID
681 {
683 .range = 1,
684 .flags = 0,
685 },
686#endif /* CONFIG_KV_STORE_KEY_INFUSE_APPLICATION_ID */
687#ifdef CONFIG_KV_STORE_KEY_FIXED_LOCATION
688 {
690 .range = 1,
691 .flags = KV_FLAGS_REFLECT,
692 },
693#endif /* CONFIG_KV_STORE_KEY_FIXED_LOCATION */
694#ifdef CONFIG_KV_STORE_KEY_WIFI_SSID
695 {
696 .key = KV_KEY_WIFI_SSID,
697 .range = 1,
698 .flags = KV_FLAGS_REFLECT,
699 },
700#endif /* CONFIG_KV_STORE_KEY_WIFI_SSID */
701#ifdef CONFIG_KV_STORE_KEY_WIFI_PSK
702 {
703 .key = KV_KEY_WIFI_PSK,
704 .range = 1,
706 },
707#endif /* CONFIG_KV_STORE_KEY_WIFI_PSK */
708#ifdef CONFIG_KV_STORE_KEY_WIFI_CHANNELS
709 {
711 .range = 1,
712 .flags = KV_FLAGS_REFLECT,
713 },
714#endif /* CONFIG_KV_STORE_KEY_WIFI_CHANNELS */
715#ifdef CONFIG_KV_STORE_KEY_NTP_SERVER_URL
716 {
718 .range = 1,
719 .flags = KV_FLAGS_REFLECT,
720 },
721#endif /* CONFIG_KV_STORE_KEY_NTP_SERVER_URL */
722#ifdef CONFIG_KV_STORE_KEY_EPACKET_UDP_URL
723 {
725 .range = 1,
726 .flags = KV_FLAGS_REFLECT,
727 },
728#endif /* CONFIG_KV_STORE_KEY_EPACKET_UDP_URL */
729#ifdef CONFIG_KV_STORE_KEY_EPACKET_UDP_PORT
730 {
732 .range = 1,
733 .flags = KV_FLAGS_REFLECT,
734 },
735#endif /* CONFIG_KV_STORE_KEY_EPACKET_UDP_PORT */
736#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_MODEL
737 {
739 .range = 1,
741 },
742#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_MODEL */
743#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_FIRMWARE_REVISION
744 {
746 .range = 1,
748 },
749#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_FIRMWARE_REVISION */
750#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_ESN
751 {
753 .range = 1,
755 },
756#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_ESN */
757#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_IMEI
758 {
760 .range = 1,
762 },
763#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_IMEI */
764#ifdef CONFIG_KV_STORE_KEY_LTE_SIM_UICC
765 {
766 .key = KV_KEY_LTE_SIM_UICC,
767 .range = 1,
769 },
770#endif /* CONFIG_KV_STORE_KEY_LTE_SIM_UICC */
771#ifdef CONFIG_KV_STORE_KEY_LTE_PDP_CONFIG
772 {
774 .range = 1,
775 .flags = KV_FLAGS_REFLECT,
776 },
777#endif /* CONFIG_KV_STORE_KEY_LTE_PDP_CONFIG */
778#ifdef CONFIG_KV_STORE_KEY_LTE_NETWORKING_MODES
779 {
781 .range = 1,
782 .flags = KV_FLAGS_REFLECT,
783 },
784#endif /* CONFIG_KV_STORE_KEY_LTE_NETWORKING_MODES */
785#ifdef CONFIG_KV_STORE_KEY_LTE_SIM_IMSI
786 {
787 .key = KV_KEY_LTE_SIM_IMSI,
788 .range = 1,
790 },
791#endif /* CONFIG_KV_STORE_KEY_LTE_SIM_IMSI */
792#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_PEER
793 {
795 .range = 1,
796 .flags = KV_FLAGS_REFLECT,
797 },
798#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_PEER */
799#ifdef CONFIG_KV_STORE_KEY_LORA_CONFIG
800 {
801 .key = KV_KEY_LORA_CONFIG,
802 .range = 1,
803 .flags = KV_FLAGS_REFLECT,
804 },
805#endif /* CONFIG_KV_STORE_KEY_LORA_CONFIG */
806#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_THROUGHPUT_LIMIT
807 {
809 .range = 1,
810 .flags = KV_FLAGS_REFLECT,
811 },
812#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_THROUGHPUT_LIMIT */
813#ifdef CONFIG_KV_STORE_KEY_GRAVITY_REFERENCE
814 {
816 .range = 1,
817 .flags = KV_FLAGS_REFLECT,
818 },
819#endif /* CONFIG_KV_STORE_KEY_GRAVITY_REFERENCE */
820#ifdef CONFIG_KV_STORE_KEY_GEOFENCE
821 {
822 .key = KV_KEY_GEOFENCE,
823 .range = CONFIG_KV_STORE_KEY_GEOFENCE_RANGE,
824 .flags = KV_FLAGS_REFLECT,
825 },
826#endif /* CONFIG_KV_STORE_KEY_GEOFENCE */
827#ifdef CONFIG_KV_STORE_KEY_TASK_SCHEDULES_DEFAULT_ID
828 {
830 .range = 1,
831 .flags = KV_FLAGS_REFLECT,
832 },
833#endif /* CONFIG_KV_STORE_KEY_TASK_SCHEDULES_DEFAULT_ID */
834#ifdef CONFIG_KV_STORE_KEY_TASK_SCHEDULES
835 {
837 .range = CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE,
838 .flags = KV_FLAGS_REFLECT,
839 },
840#endif /* CONFIG_KV_STORE_KEY_TASK_SCHEDULES */
841#ifdef CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED
842 {
844 .range = CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED_RANGE,
845 .flags = 0,
846 },
847#endif /* CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED */
848};
849#endif /* _KV_SLOTS_ARRAY_DEFINE */
850
855#ifdef __cplusplus
856}
857#endif
858
859#endif /* INFUSE_SDK_INCLUDE_GENERATED_KV_DEFINITIONS_H_ */
kv_slot_flags
Flags that can be applied to a slot.
Definition kv_types.h:624
kv_builtin_id
Definition kv_types.h:420
kv_builtin_size
Size of builtin KV definitions.
Definition kv_types.h:503
@ KV_FLAGS_REFLECT
KV reflection enabled for the slot.
Definition kv_types.h:626
@ KV_FLAGS_READ_ONLY
Value can not be written by external actors.
Definition kv_types.h:630
@ KV_FLAGS_WRITE_ONLY
Value can not be read by external actors.
Definition kv_types.h:628
@ KV_KEY_BLUETOOTH_THROUGHPUT_LIMIT
Request connected Bluetooth peers to limit throughtput.
Definition kv_types.h:468
@ KV_KEY_LTE_MODEM_MODEL
Modem model as returned by AT+CGMM.
Definition kv_types.h:448
@ KV_KEY_NTP_SERVER_URL
URL of the NTP server to use for time synchronisation.
Definition kv_types.h:442
@ KV_KEY_LTE_SIM_IMSI
'International Modem Subscriber Identity' as returned by AT+CIMI
Definition kv_types.h:462
@ KV_KEY_BLUETOOTH_PEER
Bluetooth peer device.
Definition kv_types.h:464
@ KV_KEY_BUILTIN_END
End of builtin KV range.
Definition kv_types.h:499
@ KV_KEY_WIFI_CHANNELS
WiFi band and channel configuration.
Definition kv_types.h:440
@ KV_KEY_INFUSE_APPLICATION_ID
CONFIG_INFUSE_APPLICATION_ID, store will be reset if the values don't match.
Definition kv_types.h:432
@ KV_KEY_GEOFENCE
Array of points defining a closed polygon.
Definition kv_types.h:472
@ KV_KEY_EXFAT_DISK_INFO
exFAT disk information
Definition kv_types.h:426
@ KV_KEY_LTE_MODEM_FIRMWARE_REVISION
Modem firmware revision as returned by AT+CGMR.
Definition kv_types.h:450
@ KV_KEY_TASK_SCHEDULES_MAX
Maximum number of KV_KEY_TASK_SCHEDULES slots that can be enabled.
Definition kv_types.h:488
@ KV_KEY_FIXED_LOCATION
Fixed global location of the device.
Definition kv_types.h:434
@ KV_KEY_REBOOTS
Number of times device has rebooted.
Definition kv_types.h:422
@ KV_KEY_DEVICE_NAME
Personalised name for the device.
Definition kv_types.h:430
@ KV_KEY_BLUETOOTH_CTLR_VERSION
External Bluetooth controller version.
Definition kv_types.h:428
@ KV_KEY_WIFI_SSID
WiFi network name.
Definition kv_types.h:436
@ KV_KEY_EPACKET_UDP_URL
ePacket UDP server hostname
Definition kv_types.h:444
@ KV_KEY_LTE_PDP_CONFIG
Packet Data Protocol (PDP) default context configuration.
Definition kv_types.h:458
@ KV_KEY_SECURE_STORAGE_RESERVED_MAX
Maximum number of KV_KEY_SECURE_STORAGE_RESERVED slots that can be enabled.
Definition kv_types.h:497
@ KV_KEY_GEOFENCE_MAX
Maximum number of KV_KEY_GEOFENCE slots that can be enabled.
Definition kv_types.h:478
@ KV_KEY_LORA_CONFIG
LoRa modem configuration.
Definition kv_types.h:466
@ KV_KEY_LTE_MODEM_ESN
'Electronic Serial Number' as returned by AT+CGSN=0
Definition kv_types.h:452
@ KV_KEY_BLUETOOTH_ADDR
Bluetooth advertising address.
Definition kv_types.h:424
@ KV_KEY_LTE_SIM_UICC
SIM Universal Identifier (https://www.itu.int/en/ITU-T/inr/forms/Pages/iin.aspx)
Definition kv_types.h:456
@ KV_KEY_GRAVITY_REFERENCE
Reference gravity vector for tilt calculations.
Definition kv_types.h:470
@ KV_KEY_LTE_NETWORKING_MODES
Enabled LTE networking modes and preferences.
Definition kv_types.h:460
@ KV_KEY_WIFI_PSK
WiFi network password.
Definition kv_types.h:438
@ KV_KEY_TASK_SCHEDULES
Task runner task schedule definition (task_schedule)
Definition kv_types.h:482
@ KV_KEY_SECURE_STORAGE_RESERVED
Keys reserved for secure storage (do not enable)
Definition kv_types.h:490
@ KV_KEY_EPACKET_UDP_PORT
ePacket UDP server port
Definition kv_types.h:446
@ KV_KEY_LTE_MODEM_IMEI
'International Modem Equiment Identifier' as returned by AT+CGSN=1
Definition kv_types.h:454
@ KV_KEY_TASK_SCHEDULES_DEFAULT_ID
Unique identifier for default schedule set.
Definition kv_types.h:480
Bluetooth address type (bt_addr_le_t)
Definition kv_types.h:38
uint8_t type
Definition kv_types.h:39
uint8_t val[6]
Definition kv_types.h:40
Geographic Co-ordinate System location.
Definition kv_types.h:31
int32_t latitude
Definition kv_types.h:32
int32_t height
Definition kv_types.h:34
int32_t longitude
Definition kv_types.h:33
Key value slot description.
Definition kv_types.h:634
uint16_t key
Base key ID for slot.
Definition kv_types.h:636
uint8_t range
Number of IDs used by the slot.
Definition kv_types.h:638
uint8_t flags
Bitmask of kv_slot_flags for slot.
Definition kv_types.h:640
Bluetooth advertising address.
Definition kv_types.h:88
struct bt_addr_le address
Broadcasting address.
Definition kv_types.h:90
External Bluetooth controller version.
Definition kv_types.h:102
uint32_t application
Application ID.
Definition kv_types.h:104
struct kv_mcuboot_img_sem_ver version
Application version number.
Definition kv_types.h:106
Bluetooth peer device.
Definition kv_types.h:307
struct bt_addr_le address
Peer device Bluetooth address.
Definition kv_types.h:309
Request connected Bluetooth peers to limit throughtput.
Definition kv_types.h:331
uint16_t limit_kbps
Requested throughput limit (kbps)
Definition kv_types.h:333
Personalised name for the device.
Definition kv_types.h:110
struct kv_string name
Personalised device name.
Definition kv_types.h:112
ePacket UDP server port
Definition kv_types.h:208
uint32_t port
UDP server port.
Definition kv_types.h:210
ePacket UDP server hostname
Definition kv_types.h:194
struct kv_string server
UDP server hostname.
Definition kv_types.h:196
exFAT disk information
Definition kv_types.h:94
uint32_t block_size
Disk block size.
Definition kv_types.h:98
uint32_t block_count
Disk block count.
Definition kv_types.h:96
Fixed global location of the device.
Definition kv_types.h:129
struct gcs_location location
Location.
Definition kv_types.h:131
Array of points defining a closed polygon.
Definition kv_types.h:347
uint8_t points_num
Points in geofence.
Definition kv_types.h:349
struct gcs_location points[]
Definition kv_types.h:350
Reference gravity vector for tilt calculations.
Definition kv_types.h:337
int16_t y
Y axis component of gravity vector.
Definition kv_types.h:341
int16_t z
Z axis component of gravity vector.
Definition kv_types.h:343
int16_t x
X axis component of gravity vector.
Definition kv_types.h:339
CONFIG_INFUSE_APPLICATION_ID, store will be reset if the values don't match.
Definition kv_types.h:124
uint32_t application_id
Definition kv_types.h:125
LoRa modem configuration.
Definition kv_types.h:313
uint8_t bandwidth
Signal bandwidth (see enum lora_signal_bandwidth)
Definition kv_types.h:317
uint16_t preamble_len
Preamble length.
Definition kv_types.h:323
uint32_t frequency
Frequency (Hz)
Definition kv_types.h:315
int8_t tx_power
Transmit power (dBm)
Definition kv_types.h:325
uint8_t sync_word
Custom sync word.
Definition kv_types.h:327
uint8_t spreading_factor
Spreading factor (see enum lora_datarate)
Definition kv_types.h:319
uint8_t coding_rate
Coding rate (see enum lora_coding_rate)
Definition kv_types.h:321
'Electronic Serial Number' as returned by AT+CGSN=0
Definition kv_types.h:242
struct kv_string esn
ESN or IMEI if not available.
Definition kv_types.h:244
Modem firmware revision as returned by AT+CGMR.
Definition kv_types.h:228
struct kv_string revision
Firmware revision.
Definition kv_types.h:230
'International Modem Equiment Identifier' as returned by AT+CGSN=1
Definition kv_types.h:256
uint64_t imei
15 digit IMEI
Definition kv_types.h:258
Modem model as returned by AT+CGMM.
Definition kv_types.h:214
struct kv_string model
Modem model.
Definition kv_types.h:216
Enabled LTE networking modes and preferences.
Definition kv_types.h:293
uint8_t modes
Enabled modes as per enum lte_lc_system_mode
Definition kv_types.h:295
uint8_t prefer
Preference as per enum lte_lc_system_mode_preference
Definition kv_types.h:297
Packet Data Protocol (PDP) default context configuration.
Definition kv_types.h:276
struct kv_string apn
Access Point Name.
Definition kv_types.h:280
uint8_t family
Protocol family (0 = IPv4, 1 = IPv6, 2 = IPv4v6, 3 = Non-IP)
Definition kv_types.h:278
'International Modem Subscriber Identity' as returned by AT+CIMI
Definition kv_types.h:301
uint64_t imsi
15 digit IMSI
Definition kv_types.h:303
SIM Universal Identifier (https://www.itu.int/en/ITU-T/inr/forms/Pages/iin.aspx)
Definition kv_types.h:262
struct kv_string uicc
Variable length UICC string.
Definition kv_types.h:264
MCUboot semantic versioning struct.
Definition kv_types.h:59
uint32_t build_num
Definition kv_types.h:63
uint8_t major
Definition kv_types.h:60
uint8_t minor
Definition kv_types.h:61
uint16_t revision
Definition kv_types.h:62
URL of the NTP server to use for time synchronisation.
Definition kv_types.h:180
struct kv_string url
NTP server URL.
Definition kv_types.h:182
Generic range structure.
Definition kv_types.h:67
uint8_t lower
Definition kv_types.h:68
uint8_t upper
Definition kv_types.h:69
Number of times device has rebooted.
Definition kv_types.h:83
uint32_t count
Definition kv_types.h:84
Keys reserved for secure storage (do not enable)
Definition kv_types.h:404
uint8_t data_num
Opaque data.
Definition kv_types.h:406
uint8_t data[]
Definition kv_types.h:407
String type.
Definition kv_types.h:44
char value[]
Definition kv_types.h:46
uint8_t value_num
Definition kv_types.h:45
Unique identifier for default schedule set.
Definition kv_types.h:363
uint32_t set_id
If this value changes, existing schedules are overwritten.
Definition kv_types.h:365
Task runner task schedule definition (task_schedule)
Definition kv_types.h:369
struct kv_range_u8 battery_terminate
Battery charge thresholds to terminate the task.
Definition kv_types.h:381
struct kv_range_u8 battery_start
Battery charge thresholds to start the task.
Definition kv_types.h:379
uint8_t validity
TASK_VALID_* value.
Definition kv_types.h:373
uint8_t task_id
Task ID referenced by schedule.
Definition kv_types.h:371
uint32_t periodicity
Periodicity values.
Definition kv_types.h:383
uint8_t periodicity_type
TASK_PERIODICITY_* value.
Definition kv_types.h:375
uint32_t timeout_s
Duration after which task is requested to terminate.
Definition kv_types.h:377
WiFi band and channel configuration.
Definition kv_types.h:163
uint8_t band
WiFi frequency band (0 = 2.4Ghz, 1 = 5GHz, 2 = 6Ghz, other = Unknown)
Definition kv_types.h:165
uint8_t channels[]
WiFi channels network uses.
Definition kv_types.h:167
WiFi network password.
Definition kv_types.h:149
struct kv_string psk
WiFi pre-shared-key.
Definition kv_types.h:151
WiFi network name.
Definition kv_types.h:135
struct kv_string ssid
WiFi network name.
Definition kv_types.h:137