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
11
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
29
33 int32_t latitude;
35 int32_t longitude;
37 int32_t height;
38} __packed;
39
41struct bt_addr_le {
43 uint8_t type;
45 uint8_t val[6];
46} __packed;
47
49struct kv_string {
51 uint8_t value_num;
53 char value[];
54} __packed;
55
56/* clang-format off */
58#define KV_STRUCT_KV_STRING_VAR(num) \
59 struct { \
60 uint8_t value_num; \
61 char value[num]; \
62 } __packed
63/* clang-format on */
64
67 uint8_t major;
68 uint8_t minor;
69 uint16_t revision;
70 uint32_t build_num;
71} __packed;
72
75 uint8_t lower;
76 uint8_t upper;
77} __packed;
78
80struct kv_utc_hms {
81 uint8_t hour;
82 uint8_t minute;
83 uint8_t second;
84} __packed;
85
89 uint8_t loggers;
91 uint8_t tdf_mask;
92} __packed;
93
101
108} __packed;
109
113 uint32_t moving_for;
115 uint32_t threshold_ug;
116} __packed;
117
127
131
137
140 uint32_t count;
141} __packed;
142
147} __packed;
148
152 uint32_t block_count;
154 uint32_t block_size;
155} __packed;
156
164
169} __packed;
170
171/* clang-format off */
173#define _KV_KEY_DEVICE_NAME_VAR(num) \
174 struct { \
175 KV_STRUCT_KV_STRING_VAR(num) name; \
176 } __packed
177/* clang-format on */
178
182} __packed;
183
187 uint8_t active;
188} __packed;
189
194} __packed;
195
196/* clang-format off */
198#define _KV_KEY_BOARD_TARGET_VAR(num) \
199 struct { \
200 KV_STRUCT_KV_STRING_VAR(num) board_target; \
201 } __packed
202/* clang-format on */
203
207 uint8_t public_key[32];
208} __packed;
209
214} __packed;
215
219 uint8_t indoors;
220} __packed;
221
225 uint32_t disk_version;
227 uint32_t block_size;
229 uint32_t block_count;
231 uint32_t blocks_used;
232} __packed;
233
237 uint8_t count;
239 uint32_t crc_xor;
240} __packed;
241
246} __packed;
247
248/* clang-format off */
250#define _KV_KEY_WIFI_SSID_VAR(num) \
251 struct { \
252 KV_STRUCT_KV_STRING_VAR(num) ssid; \
253 } __packed
254/* clang-format on */
255
260} __packed;
261
262/* clang-format off */
264#define _KV_KEY_WIFI_PSK_VAR(num) \
265 struct { \
266 KV_STRUCT_KV_STRING_VAR(num) psk; \
267 } __packed
268/* clang-format on */
269
273 uint8_t band;
275 uint8_t channels[];
276} __packed;
277
278/* clang-format off */
280#define _KV_KEY_WIFI_CHANNELS_VAR(num) \
281 struct { \
282 uint8_t band; \
283 uint8_t channels[num]; \
284 } __packed
285/* clang-format on */
286
291} __packed;
292
293/* clang-format off */
295#define _KV_KEY_NTP_SERVER_URL_VAR(num) \
296 struct { \
297 KV_STRUCT_KV_STRING_VAR(num) url; \
298 } __packed
299/* clang-format on */
300
305} __packed;
306
307/* clang-format off */
309#define _KV_KEY_EPACKET_UDP_URL_VAR(num) \
310 struct { \
311 KV_STRUCT_KV_STRING_VAR(num) server; \
312 } __packed
313/* clang-format on */
314
318 uint32_t port;
319} __packed;
320
325} __packed;
326
327/* clang-format off */
329#define _KV_KEY_LTE_MODEM_MODEL_VAR(num) \
330 struct { \
331 KV_STRUCT_KV_STRING_VAR(num) model; \
332 } __packed
333/* clang-format on */
334
340
341/* clang-format off */
343#define _KV_KEY_LTE_MODEM_FIRMWARE_REVISION_VAR(num) \
344 struct { \
345 KV_STRUCT_KV_STRING_VAR(num) revision; \
346 } __packed
347/* clang-format on */
348
353} __packed;
354
355/* clang-format off */
357#define _KV_KEY_LTE_MODEM_ESN_VAR(num) \
358 struct { \
359 KV_STRUCT_KV_STRING_VAR(num) esn; \
360 } __packed
361/* clang-format on */
362
366 uint64_t imei;
367} __packed;
368
373} __packed;
374
375/* clang-format off */
377#define _KV_KEY_LTE_SIM_UICC_VAR(num) \
378 struct { \
379 KV_STRUCT_KV_STRING_VAR(num) uicc; \
380 } __packed
381/* clang-format on */
382
386 uint8_t family;
389} __packed;
390
391/* clang-format off */
393#define _KV_KEY_LTE_PDP_CONFIG_VAR(num) \
394 struct { \
395 uint8_t family; \
396 KV_STRUCT_KV_STRING_VAR(num) apn; \
397 } __packed
398/* clang-format on */
399
403 uint8_t modes;
405 uint8_t prefer;
406} __packed;
407
411 uint64_t imsi;
412} __packed;
413
418} __packed;
419
423 uint32_t frequency;
425 uint8_t bandwidth;
429 uint8_t coding_rate;
431 uint16_t preamble_len;
433 int8_t tx_power;
435 uint8_t sync_word;
436} __packed;
437
441 uint16_t limit_kbps;
442} __packed;
443
451
455 uint8_t disable;
456} __packed;
457
461 uint8_t flags;
463 uint8_t percent;
464} __packed;
465
469 uint8_t major;
471 uint8_t minor;
473 uint16_t patch;
474} __packed;
475
479 int16_t x;
481 int16_t y;
483 int16_t z;
484} __packed;
485
489 uint8_t points_num;
492} __packed;
493
494/* clang-format off */
496#define _KV_KEY_GEOFENCE_VAR(num) \
497 struct { \
498 uint8_t points_num; \
499 struct gcs_location points[num]; \
500 } __packed
501/* clang-format on */
502
510
518
526
534
538 uint32_t set_id;
539} __packed;
540
544 uint8_t task_id;
546 uint8_t validity;
552 uint32_t timeout_s;
558 uint8_t _remainder[];
559} __packed;
560
561/* clang-format off */
563#define _KV_KEY_TASK_SCHEDULES_VAR(num) \
564 struct { \
565 uint8_t task_id; \
566 uint8_t validity; \
567 uint8_t periodicity_type; \
568 uint8_t boot_lockout_minutes; \
569 uint32_t timeout_s; \
570 struct kv_range_u8 battery_start; \
571 struct kv_range_u8 battery_terminate; \
572 uint8_t _remainder[num]; \
573 } __packed
574/* clang-format on */
575
579 uint8_t data_num;
581 uint8_t data[];
582} __packed;
583
584/* clang-format off */
586#define _KV_KEY_SECURE_STORAGE_RESERVED_VAR(num) \
587 struct { \
588 uint8_t data_num; \
589 uint8_t data[num]; \
590 } __packed
591/* clang-format on */
592
593/* Infuse-IoT builtin KV definitions */
667#ifdef CONFIG_KV_STORE_KEY_GEOFENCE_RANGE
669 KV_KEY_GEOFENCE_END = 100 + CONFIG_KV_STORE_KEY_GEOFENCE_RANGE - 1,
670#endif
685#ifdef CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE
687 KV_KEY_TASK_SCHEDULES_END = 1001 + CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE - 1,
688#endif
693#ifdef CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED_RANGE
695 KV_KEY_SECURE_STORAGE_RESERVED_END =
696 30000 + CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED_RANGE - 1,
697#endif
702};
703
706 _KV_KEY_REBOOTS_SIZE = sizeof(struct kv_reboots),
707 _KV_KEY_BLUETOOTH_ADDR_SIZE = sizeof(struct kv_bluetooth_addr),
708 _KV_KEY_EXFAT_DISK_INFO_SIZE = sizeof(struct kv_exfat_disk_info),
709 _KV_KEY_BLUETOOTH_CTLR_VERSION_SIZE = sizeof(struct kv_bluetooth_ctlr_version),
710 _KV_KEY_INFUSE_APPLICATION_ID_SIZE = sizeof(struct kv_infuse_application_id),
711 _KV_KEY_APPLICATION_ACTIVE_SIZE = sizeof(struct kv_application_active),
712 _KV_KEY_SECONDARY_REMOTE_PUBLIC_KEY_SIZE = sizeof(struct kv_secondary_remote_public_key),
713 _KV_KEY_FIXED_LOCATION_SIZE = sizeof(struct kv_fixed_location),
714 _KV_KEY_BROADCAST_FIXED_INDOORS_SIZE = sizeof(struct kv_broadcast_fixed_indoors),
715 _KV_KEY_LITTLEFS_FS_STATE_SIZE = sizeof(struct kv_littlefs_fs_state),
716 _KV_KEY_LITTLEFS_ALGORITHMS_STATE_SIZE = sizeof(struct kv_littlefs_algorithms_state),
717 _KV_KEY_EPACKET_UDP_PORT_SIZE = sizeof(struct kv_epacket_udp_port),
718 _KV_KEY_LTE_MODEM_IMEI_SIZE = sizeof(struct kv_lte_modem_imei),
719 _KV_KEY_LTE_NETWORKING_MODES_SIZE = sizeof(struct kv_lte_networking_modes),
720 _KV_KEY_LTE_SIM_IMSI_SIZE = sizeof(struct kv_lte_sim_imsi),
721 _KV_KEY_BLUETOOTH_PEER_SIZE = sizeof(struct kv_bluetooth_peer),
722 _KV_KEY_LORA_CONFIG_SIZE = sizeof(struct kv_lora_config),
723 _KV_KEY_BLUETOOTH_THROUGHPUT_LIMIT_SIZE = sizeof(struct kv_bluetooth_throughput_limit),
724 _KV_KEY_LED_DISABLE_DAILY_TIME_RANGE_SIZE = sizeof(struct kv_led_disable_daily_time_range),
725 _KV_KEY_MEMFAULT_DISABLE_SIZE = sizeof(struct kv_memfault_disable),
726 _KV_KEY_GATEWAY_BLUETOOTH_FORWARD_OPTIONS_SIZE =
728 _KV_KEY_NRF_EDGE_AI_RUNTIME_VERSION_SIZE = sizeof(struct kv_nrf_edge_ai_runtime_version),
729 _KV_KEY_GRAVITY_REFERENCE_SIZE = sizeof(struct kv_gravity_reference),
730 _KV_KEY_ALG_STATIONARY_WINDOWED_ARGS_SIZE = sizeof(struct kv_alg_stationary_windowed_args),
731 _KV_KEY_ALG_TILT_ARGS_SIZE = sizeof(struct kv_alg_tilt_args),
732 _KV_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_SIZE = sizeof(struct kv_alg_movement_threshold_args),
733 _KV_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_V2_SIZE =
735 _KV_KEY_TASK_SCHEDULES_DEFAULT_ID_SIZE = sizeof(struct kv_task_schedules_default_id),
736};
737
738/* clang-format off */
739/* Types of builtin KV definitions */
740#define _KV_KEY_REBOOTS_TYPE struct kv_reboots
741#define _KV_KEY_BLUETOOTH_ADDR_TYPE struct kv_bluetooth_addr
742#define _KV_KEY_EXFAT_DISK_INFO_TYPE struct kv_exfat_disk_info
743#define _KV_KEY_BLUETOOTH_CTLR_VERSION_TYPE struct kv_bluetooth_ctlr_version
744#define _KV_KEY_DEVICE_NAME_TYPE struct kv_device_name
745#define _KV_KEY_INFUSE_APPLICATION_ID_TYPE struct kv_infuse_application_id
746#define _KV_KEY_APPLICATION_ACTIVE_TYPE struct kv_application_active
747#define _KV_KEY_BOARD_TARGET_TYPE struct kv_board_target
748#define _KV_KEY_SECONDARY_REMOTE_PUBLIC_KEY_TYPE struct kv_secondary_remote_public_key
749#define _KV_KEY_FIXED_LOCATION_TYPE struct kv_fixed_location
750#define _KV_KEY_BROADCAST_FIXED_INDOORS_TYPE struct kv_broadcast_fixed_indoors
751#define _KV_KEY_LITTLEFS_FS_STATE_TYPE struct kv_littlefs_fs_state
752#define _KV_KEY_LITTLEFS_ALGORITHMS_STATE_TYPE struct kv_littlefs_algorithms_state
753#define _KV_KEY_WIFI_SSID_TYPE struct kv_wifi_ssid
754#define _KV_KEY_WIFI_PSK_TYPE struct kv_wifi_psk
755#define _KV_KEY_WIFI_CHANNELS_TYPE struct kv_wifi_channels
756#define _KV_KEY_NTP_SERVER_URL_TYPE struct kv_ntp_server_url
757#define _KV_KEY_EPACKET_UDP_URL_TYPE struct kv_epacket_udp_url
758#define _KV_KEY_EPACKET_UDP_PORT_TYPE struct kv_epacket_udp_port
759#define _KV_KEY_LTE_MODEM_MODEL_TYPE struct kv_lte_modem_model
760#define _KV_KEY_LTE_MODEM_FIRMWARE_REVISION_TYPE struct kv_lte_modem_firmware_revision
761#define _KV_KEY_LTE_MODEM_ESN_TYPE struct kv_lte_modem_esn
762#define _KV_KEY_LTE_MODEM_IMEI_TYPE struct kv_lte_modem_imei
763#define _KV_KEY_LTE_SIM_UICC_TYPE struct kv_lte_sim_uicc
764#define _KV_KEY_LTE_PDP_CONFIG_TYPE struct kv_lte_pdp_config
765#define _KV_KEY_LTE_NETWORKING_MODES_TYPE struct kv_lte_networking_modes
766#define _KV_KEY_LTE_SIM_IMSI_TYPE struct kv_lte_sim_imsi
767#define _KV_KEY_BLUETOOTH_PEER_TYPE struct kv_bluetooth_peer
768#define _KV_KEY_LORA_CONFIG_TYPE struct kv_lora_config
769#define _KV_KEY_BLUETOOTH_THROUGHPUT_LIMIT_TYPE struct kv_bluetooth_throughput_limit
770#define _KV_KEY_LED_DISABLE_DAILY_TIME_RANGE_TYPE struct kv_led_disable_daily_time_range
771#define _KV_KEY_MEMFAULT_DISABLE_TYPE struct kv_memfault_disable
772#define _KV_KEY_GATEWAY_BLUETOOTH_FORWARD_OPTIONS_TYPE struct kv_gateway_bluetooth_forward_options
773#define _KV_KEY_NRF_EDGE_AI_RUNTIME_VERSION_TYPE struct kv_nrf_edge_ai_runtime_version
774#define _KV_KEY_GRAVITY_REFERENCE_TYPE struct kv_gravity_reference
775#define _KV_KEY_GEOFENCE_TYPE struct kv_geofence
776#define _KV_KEY_ALG_STATIONARY_WINDOWED_ARGS_TYPE struct kv_alg_stationary_windowed_args
777#define _KV_KEY_ALG_TILT_ARGS_TYPE struct kv_alg_tilt_args
778#define _KV_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_TYPE struct kv_alg_movement_threshold_args
779#define _KV_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_V2_TYPE struct kv_alg_movement_threshold_args_v2
780#define _KV_KEY_TASK_SCHEDULES_DEFAULT_ID_TYPE struct kv_task_schedules_default_id
781#define _KV_KEY_TASK_SCHEDULES_TYPE struct kv_task_schedules
782#define _KV_KEY_SECURE_STORAGE_RESERVED_TYPE struct kv_secure_storage_reserved
783/* clang-format on */
784
785/* clang-format off */
787#define KV_REFLECT_NUM ( \
788 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_ADDR, \
789 (1 +)) \
790 IF_ENABLED(CONFIG_KV_STORE_KEY_EXFAT_DISK_INFO, \
791 (1 +)) \
792 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_CTLR_VERSION, \
793 (1 +)) \
794 IF_ENABLED(CONFIG_KV_STORE_KEY_DEVICE_NAME, \
795 (1 +)) \
796 IF_ENABLED(CONFIG_KV_STORE_KEY_BOARD_TARGET, \
797 (1 +)) \
798 IF_ENABLED(CONFIG_KV_STORE_KEY_SECONDARY_REMOTE_PUBLIC_KEY, \
799 (1 +)) \
800 IF_ENABLED(CONFIG_KV_STORE_KEY_FIXED_LOCATION, \
801 (1 +)) \
802 IF_ENABLED(CONFIG_KV_STORE_KEY_BROADCAST_FIXED_INDOORS, \
803 (1 +)) \
804 IF_ENABLED(CONFIG_KV_STORE_KEY_LITTLEFS_FS_STATE, \
805 (1 +)) \
806 IF_ENABLED(CONFIG_KV_STORE_KEY_LITTLEFS_ALGORITHMS_STATE, \
807 (1 +)) \
808 IF_ENABLED(CONFIG_KV_STORE_KEY_WIFI_SSID, \
809 (1 +)) \
810 IF_ENABLED(CONFIG_KV_STORE_KEY_WIFI_PSK, \
811 (1 +)) \
812 IF_ENABLED(CONFIG_KV_STORE_KEY_WIFI_CHANNELS, \
813 (1 +)) \
814 IF_ENABLED(CONFIG_KV_STORE_KEY_NTP_SERVER_URL, \
815 (1 +)) \
816 IF_ENABLED(CONFIG_KV_STORE_KEY_EPACKET_UDP_URL, \
817 (1 +)) \
818 IF_ENABLED(CONFIG_KV_STORE_KEY_EPACKET_UDP_PORT, \
819 (1 +)) \
820 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_MODEL, \
821 (1 +)) \
822 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_FIRMWARE_REVISION, \
823 (1 +)) \
824 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_ESN, \
825 (1 +)) \
826 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_MODEM_IMEI, \
827 (1 +)) \
828 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_SIM_UICC, \
829 (1 +)) \
830 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_PDP_CONFIG, \
831 (1 +)) \
832 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_NETWORKING_MODES, \
833 (1 +)) \
834 IF_ENABLED(CONFIG_KV_STORE_KEY_LTE_SIM_IMSI, \
835 (1 +)) \
836 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_PEER, \
837 (1 +)) \
838 IF_ENABLED(CONFIG_KV_STORE_KEY_LORA_CONFIG, \
839 (1 +)) \
840 IF_ENABLED(CONFIG_KV_STORE_KEY_BLUETOOTH_THROUGHPUT_LIMIT, \
841 (1 +)) \
842 IF_ENABLED(CONFIG_KV_STORE_KEY_LED_DISABLE_DAILY_TIME_RANGE, \
843 (1 +)) \
844 IF_ENABLED(CONFIG_KV_STORE_KEY_GATEWAY_BLUETOOTH_FORWARD_OPTIONS, \
845 (1 +)) \
846 IF_ENABLED(CONFIG_KV_STORE_KEY_NRF_EDGE_AI_RUNTIME_VERSION, \
847 (1 +)) \
848 IF_ENABLED(CONFIG_KV_STORE_KEY_GRAVITY_REFERENCE, \
849 (1 +)) \
850 IF_ENABLED(CONFIG_KV_STORE_KEY_GEOFENCE, \
851 (CONFIG_KV_STORE_KEY_GEOFENCE_RANGE +)) \
852 IF_ENABLED(CONFIG_KV_STORE_KEY_ALG_STATIONARY_WINDOWED_ARGS, \
853 (1 +)) \
854 IF_ENABLED(CONFIG_KV_STORE_KEY_ALG_TILT_ARGS, \
855 (1 +)) \
856 IF_ENABLED(CONFIG_KV_STORE_KEY_ALG_MOVEMENT_THRESHOLD_ARGS, \
857 (1 +)) \
858 IF_ENABLED(CONFIG_KV_STORE_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_V2, \
859 (1 +)) \
860 IF_ENABLED(CONFIG_KV_STORE_KEY_TASK_SCHEDULES_DEFAULT_ID, \
861 (1 +)) \
862 IF_ENABLED(CONFIG_KV_STORE_KEY_TASK_SCHEDULES, \
863 (CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE +)) \
864 0)
865/* clang-format on */
866
868#define KV_KEY_TYPE(key) _##key##_TYPE
869
870#define _KV_KEY_TYPE_VAR_EXEC(macro, num) macro(num)
871
873#define KV_KEY_TYPE_VAR(key, num) _KV_KEY_TYPE_VAR_EXEC(_##key##_VAR, num)
874
876#define KV_STRING_CONST(name, val) KV_STRUCT_KV_STRING_VAR(sizeof(val)) name = {sizeof(val), val};
877
887
891 uint16_t key;
893 uint8_t range;
895 uint8_t flags;
896};
897
898#ifdef _KV_SLOTS_ARRAY_DEFINE
899static struct key_value_slot_definition _KV_SLOTS_ARRAY_DEFINE[] = {
900#ifdef CONFIG_KV_STORE_KEY_REBOOTS
901 {
902 .key = KV_KEY_REBOOTS,
903 .range = 1,
904 .flags = 0,
905 },
906#endif /* CONFIG_KV_STORE_KEY_REBOOTS */
907#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_ADDR
908 {
910 .range = 1,
912 },
913#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_ADDR */
914#ifdef CONFIG_KV_STORE_KEY_EXFAT_DISK_INFO
915 {
917 .range = 1,
919 },
920#endif /* CONFIG_KV_STORE_KEY_EXFAT_DISK_INFO */
921#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_CTLR_VERSION
922 {
924 .range = 1,
925 .flags = KV_FLAGS_REFLECT,
926 },
927#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_CTLR_VERSION */
928#ifdef CONFIG_KV_STORE_KEY_DEVICE_NAME
929 {
930 .key = KV_KEY_DEVICE_NAME,
931 .range = 1,
932 .flags = KV_FLAGS_REFLECT,
933 },
934#endif /* CONFIG_KV_STORE_KEY_DEVICE_NAME */
935#ifdef CONFIG_KV_STORE_KEY_INFUSE_APPLICATION_ID
936 {
938 .range = 1,
939 .flags = 0,
940 },
941#endif /* CONFIG_KV_STORE_KEY_INFUSE_APPLICATION_ID */
942#ifdef CONFIG_KV_STORE_KEY_APPLICATION_ACTIVE
943 {
945 .range = 1,
946 .flags = 0,
947 },
948#endif /* CONFIG_KV_STORE_KEY_APPLICATION_ACTIVE */
949#ifdef CONFIG_KV_STORE_KEY_BOARD_TARGET
950 {
951 .key = KV_KEY_BOARD_TARGET,
952 .range = 1,
954 },
955#endif /* CONFIG_KV_STORE_KEY_BOARD_TARGET */
956#ifdef CONFIG_KV_STORE_KEY_SECONDARY_REMOTE_PUBLIC_KEY
957 {
959 .range = 1,
960 .flags = KV_FLAGS_REFLECT,
961 },
962#endif /* CONFIG_KV_STORE_KEY_SECONDARY_REMOTE_PUBLIC_KEY */
963#ifdef CONFIG_KV_STORE_KEY_FIXED_LOCATION
964 {
966 .range = 1,
967 .flags = KV_FLAGS_REFLECT,
968 },
969#endif /* CONFIG_KV_STORE_KEY_FIXED_LOCATION */
970#ifdef CONFIG_KV_STORE_KEY_BROADCAST_FIXED_INDOORS
971 {
973 .range = 1,
974 .flags = KV_FLAGS_REFLECT,
975 },
976#endif /* CONFIG_KV_STORE_KEY_BROADCAST_FIXED_INDOORS */
977#ifdef CONFIG_KV_STORE_KEY_LITTLEFS_FS_STATE
978 {
980 .range = 1,
982 },
983#endif /* CONFIG_KV_STORE_KEY_LITTLEFS_FS_STATE */
984#ifdef CONFIG_KV_STORE_KEY_LITTLEFS_ALGORITHMS_STATE
985 {
987 .range = 1,
989 },
990#endif /* CONFIG_KV_STORE_KEY_LITTLEFS_ALGORITHMS_STATE */
991#ifdef CONFIG_KV_STORE_KEY_WIFI_SSID
992 {
993 .key = KV_KEY_WIFI_SSID,
994 .range = 1,
995 .flags = KV_FLAGS_REFLECT,
996 },
997#endif /* CONFIG_KV_STORE_KEY_WIFI_SSID */
998#ifdef CONFIG_KV_STORE_KEY_WIFI_PSK
999 {
1000 .key = KV_KEY_WIFI_PSK,
1001 .range = 1,
1003 },
1004#endif /* CONFIG_KV_STORE_KEY_WIFI_PSK */
1005#ifdef CONFIG_KV_STORE_KEY_WIFI_CHANNELS
1006 {
1007 .key = KV_KEY_WIFI_CHANNELS,
1008 .range = 1,
1009 .flags = KV_FLAGS_REFLECT,
1010 },
1011#endif /* CONFIG_KV_STORE_KEY_WIFI_CHANNELS */
1012#ifdef CONFIG_KV_STORE_KEY_NTP_SERVER_URL
1013 {
1014 .key = KV_KEY_NTP_SERVER_URL,
1015 .range = 1,
1016 .flags = KV_FLAGS_REFLECT,
1017 },
1018#endif /* CONFIG_KV_STORE_KEY_NTP_SERVER_URL */
1019#ifdef CONFIG_KV_STORE_KEY_EPACKET_UDP_URL
1020 {
1022 .range = 1,
1023 .flags = KV_FLAGS_REFLECT,
1024 },
1025#endif /* CONFIG_KV_STORE_KEY_EPACKET_UDP_URL */
1026#ifdef CONFIG_KV_STORE_KEY_EPACKET_UDP_PORT
1027 {
1029 .range = 1,
1030 .flags = KV_FLAGS_REFLECT,
1031 },
1032#endif /* CONFIG_KV_STORE_KEY_EPACKET_UDP_PORT */
1033#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_MODEL
1034 {
1036 .range = 1,
1038 },
1039#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_MODEL */
1040#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_FIRMWARE_REVISION
1041 {
1043 .range = 1,
1045 },
1046#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_FIRMWARE_REVISION */
1047#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_ESN
1048 {
1049 .key = KV_KEY_LTE_MODEM_ESN,
1050 .range = 1,
1052 },
1053#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_ESN */
1054#ifdef CONFIG_KV_STORE_KEY_LTE_MODEM_IMEI
1055 {
1056 .key = KV_KEY_LTE_MODEM_IMEI,
1057 .range = 1,
1059 },
1060#endif /* CONFIG_KV_STORE_KEY_LTE_MODEM_IMEI */
1061#ifdef CONFIG_KV_STORE_KEY_LTE_SIM_UICC
1062 {
1063 .key = KV_KEY_LTE_SIM_UICC,
1064 .range = 1,
1066 },
1067#endif /* CONFIG_KV_STORE_KEY_LTE_SIM_UICC */
1068#ifdef CONFIG_KV_STORE_KEY_LTE_PDP_CONFIG
1069 {
1070 .key = KV_KEY_LTE_PDP_CONFIG,
1071 .range = 1,
1072 .flags = KV_FLAGS_REFLECT,
1073 },
1074#endif /* CONFIG_KV_STORE_KEY_LTE_PDP_CONFIG */
1075#ifdef CONFIG_KV_STORE_KEY_LTE_NETWORKING_MODES
1076 {
1078 .range = 1,
1079 .flags = KV_FLAGS_REFLECT,
1080 },
1081#endif /* CONFIG_KV_STORE_KEY_LTE_NETWORKING_MODES */
1082#ifdef CONFIG_KV_STORE_KEY_LTE_SIM_IMSI
1083 {
1084 .key = KV_KEY_LTE_SIM_IMSI,
1085 .range = 1,
1087 },
1088#endif /* CONFIG_KV_STORE_KEY_LTE_SIM_IMSI */
1089#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_PEER
1090 {
1091 .key = KV_KEY_BLUETOOTH_PEER,
1092 .range = 1,
1093 .flags = KV_FLAGS_REFLECT,
1094 },
1095#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_PEER */
1096#ifdef CONFIG_KV_STORE_KEY_LORA_CONFIG
1097 {
1098 .key = KV_KEY_LORA_CONFIG,
1099 .range = 1,
1100 .flags = KV_FLAGS_REFLECT,
1101 },
1102#endif /* CONFIG_KV_STORE_KEY_LORA_CONFIG */
1103#ifdef CONFIG_KV_STORE_KEY_BLUETOOTH_THROUGHPUT_LIMIT
1104 {
1106 .range = 1,
1107 .flags = KV_FLAGS_REFLECT,
1108 },
1109#endif /* CONFIG_KV_STORE_KEY_BLUETOOTH_THROUGHPUT_LIMIT */
1110#ifdef CONFIG_KV_STORE_KEY_LED_DISABLE_DAILY_TIME_RANGE
1111 {
1113 .range = 1,
1114 .flags = KV_FLAGS_REFLECT,
1115 },
1116#endif /* CONFIG_KV_STORE_KEY_LED_DISABLE_DAILY_TIME_RANGE */
1117#ifdef CONFIG_KV_STORE_KEY_MEMFAULT_DISABLE
1118 {
1120 .range = 1,
1121 .flags = 0,
1122 },
1123#endif /* CONFIG_KV_STORE_KEY_MEMFAULT_DISABLE */
1124#ifdef CONFIG_KV_STORE_KEY_GATEWAY_BLUETOOTH_FORWARD_OPTIONS
1125 {
1127 .range = 1,
1128 .flags = KV_FLAGS_REFLECT,
1129 },
1130#endif /* CONFIG_KV_STORE_KEY_GATEWAY_BLUETOOTH_FORWARD_OPTIONS */
1131#ifdef CONFIG_KV_STORE_KEY_NRF_EDGE_AI_RUNTIME_VERSION
1132 {
1134 .range = 1,
1135 .flags = KV_FLAGS_REFLECT,
1136 },
1137#endif /* CONFIG_KV_STORE_KEY_NRF_EDGE_AI_RUNTIME_VERSION */
1138#ifdef CONFIG_KV_STORE_KEY_GRAVITY_REFERENCE
1139 {
1141 .range = 1,
1142 .flags = KV_FLAGS_REFLECT,
1143 },
1144#endif /* CONFIG_KV_STORE_KEY_GRAVITY_REFERENCE */
1145#ifdef CONFIG_KV_STORE_KEY_GEOFENCE
1146 {
1147 .key = KV_KEY_GEOFENCE,
1148 .range = CONFIG_KV_STORE_KEY_GEOFENCE_RANGE,
1149 .flags = KV_FLAGS_REFLECT,
1150 },
1151#endif /* CONFIG_KV_STORE_KEY_GEOFENCE */
1152#ifdef CONFIG_KV_STORE_KEY_ALG_STATIONARY_WINDOWED_ARGS
1153 {
1155 .range = 1,
1156 .flags = KV_FLAGS_REFLECT,
1157 },
1158#endif /* CONFIG_KV_STORE_KEY_ALG_STATIONARY_WINDOWED_ARGS */
1159#ifdef CONFIG_KV_STORE_KEY_ALG_TILT_ARGS
1160 {
1161 .key = KV_KEY_ALG_TILT_ARGS,
1162 .range = 1,
1163 .flags = KV_FLAGS_REFLECT,
1164 },
1165#endif /* CONFIG_KV_STORE_KEY_ALG_TILT_ARGS */
1166#ifdef CONFIG_KV_STORE_KEY_ALG_MOVEMENT_THRESHOLD_ARGS
1167 {
1169 .range = 1,
1170 .flags = KV_FLAGS_REFLECT,
1171 },
1172#endif /* CONFIG_KV_STORE_KEY_ALG_MOVEMENT_THRESHOLD_ARGS */
1173#ifdef CONFIG_KV_STORE_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_V2
1174 {
1176 .range = 1,
1177 .flags = KV_FLAGS_REFLECT,
1178 },
1179#endif /* CONFIG_KV_STORE_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_V2 */
1180#ifdef CONFIG_KV_STORE_KEY_TASK_SCHEDULES_DEFAULT_ID
1181 {
1183 .range = 1,
1184 .flags = KV_FLAGS_REFLECT,
1185 },
1186#endif /* CONFIG_KV_STORE_KEY_TASK_SCHEDULES_DEFAULT_ID */
1187#ifdef CONFIG_KV_STORE_KEY_TASK_SCHEDULES
1188 {
1189 .key = KV_KEY_TASK_SCHEDULES,
1190 .range = CONFIG_KV_STORE_KEY_TASK_SCHEDULES_RANGE,
1191 .flags = KV_FLAGS_REFLECT,
1192 },
1193#endif /* CONFIG_KV_STORE_KEY_TASK_SCHEDULES */
1194#ifdef CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED
1195 {
1197 .range = CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED_RANGE,
1198 .flags = 0,
1199 },
1200#endif /* CONFIG_KV_STORE_KEY_SECURE_STORAGE_RESERVED */
1201};
1202#endif /* _KV_SLOTS_ARRAY_DEFINE */
1203
1207
1208#ifdef __cplusplus
1209}
1210#endif
1211
1212#endif /* INFUSE_SDK_INCLUDE_GENERATED_KV_DEFINITIONS_H_ */
kv_slot_flags
Flags that can be applied to a slot.
Definition kv_types.h:879
kv_builtin_id
Definition kv_types.h:594
kv_builtin_size
Size of builtin KV definitions.
Definition kv_types.h:705
@ KV_FLAGS_REFLECT
KV reflection enabled for the slot.
Definition kv_types.h:881
@ KV_FLAGS_READ_ONLY
Value can not be written by external actors.
Definition kv_types.h:885
@ KV_FLAGS_WRITE_ONLY
Value can not be read by external actors.
Definition kv_types.h:883
@ KV_KEY_GATEWAY_BLUETOOTH_FORWARD_OPTIONS
Forwarding configuration for Bluetooth advertising packets.
Definition kv_types.h:660
@ KV_KEY_BROADCAST_FIXED_INDOORS
Device is fixed indoors and should broadcast the fact.
Definition kv_types.h:616
@ KV_KEY_ALG_MOVEMENT_THRESHOLD_ARGS_V2
Configuration for the 'Movement Threshold' algorithm.
Definition kv_types.h:680
@ KV_KEY_BLUETOOTH_THROUGHPUT_LIMIT
Request connected Bluetooth peers to limit throughput.
Definition kv_types.h:654
@ KV_KEY_LTE_MODEM_MODEL
Modem model as returned by AT+CGMM.
Definition kv_types.h:634
@ KV_KEY_APPLICATION_ACTIVE
Control STATE_APPLICATION_ACTIVE.
Definition kv_types.h:608
@ KV_KEY_ALG_MOVEMENT_THRESHOLD_ARGS
Configuration for the 'Movement Threshold' algorithm.
Definition kv_types.h:678
@ KV_KEY_NTP_SERVER_URL
URL of the NTP server to use for time synchronisation.
Definition kv_types.h:628
@ KV_KEY_LTE_SIM_IMSI
'International Modem Subscriber Identity' as returned by AT+CIMI
Definition kv_types.h:648
@ KV_KEY_BLUETOOTH_PEER
Bluetooth peer device.
Definition kv_types.h:650
@ KV_KEY_SECONDARY_REMOTE_PUBLIC_KEY
Storage of secondary remote public key.
Definition kv_types.h:612
@ KV_KEY_NRF_EDGE_AI_RUNTIME_VERSION
Version of the nRF Edge AI runtime.
Definition kv_types.h:662
@ KV_KEY_BUILTIN_END
End of builtin KV range.
Definition kv_types.h:701
@ KV_KEY_WIFI_CHANNELS
WiFi band and channel configuration.
Definition kv_types.h:626
@ KV_KEY_INFUSE_APPLICATION_ID
CONFIG_INFUSE_APPLICATION_ID, store will be reset if the values don't match.
Definition kv_types.h:606
@ KV_KEY_GEOFENCE
Array of points defining a closed polygon.
Definition kv_types.h:666
@ KV_KEY_EXFAT_DISK_INFO
exFAT disk information
Definition kv_types.h:600
@ KV_KEY_LTE_MODEM_FIRMWARE_REVISION
Modem firmware revision as returned by AT+CGMR.
Definition kv_types.h:636
@ KV_KEY_TASK_SCHEDULES_MAX
Maximum number of KV_KEY_TASK_SCHEDULES slots that can be enabled.
Definition kv_types.h:690
@ KV_KEY_FIXED_LOCATION
Fixed global location of the device.
Definition kv_types.h:614
@ KV_KEY_REBOOTS
Number of times device has rebooted.
Definition kv_types.h:596
@ KV_KEY_DEVICE_NAME
Personalised name for the device.
Definition kv_types.h:604
@ KV_KEY_LITTLEFS_ALGORITHMS_STATE
State of algorithms on the LittleFS filesystem.
Definition kv_types.h:620
@ KV_KEY_BOARD_TARGET
Value of CONFIG_BOARD_TARGET.
Definition kv_types.h:610
@ KV_KEY_BLUETOOTH_CTLR_VERSION
External Bluetooth controller version.
Definition kv_types.h:602
@ KV_KEY_WIFI_SSID
WiFi network name.
Definition kv_types.h:622
@ KV_KEY_EPACKET_UDP_URL
ePacket UDP server hostname
Definition kv_types.h:630
@ KV_KEY_LTE_PDP_CONFIG
Packet Data Protocol (PDP) default context configuration.
Definition kv_types.h:644
@ KV_KEY_SECURE_STORAGE_RESERVED_MAX
Maximum number of KV_KEY_SECURE_STORAGE_RESERVED slots that can be enabled.
Definition kv_types.h:699
@ KV_KEY_GEOFENCE_MAX
Maximum number of KV_KEY_GEOFENCE slots that can be enabled.
Definition kv_types.h:672
@ KV_KEY_ALG_TILT_ARGS
Configuration for the 'Tilt' algorithm.
Definition kv_types.h:676
@ KV_KEY_LORA_CONFIG
LoRa modem configuration.
Definition kv_types.h:652
@ KV_KEY_LTE_MODEM_ESN
'Electronic Serial Number' as returned by AT+CGSN=0
Definition kv_types.h:638
@ KV_KEY_LED_DISABLE_DAILY_TIME_RANGE
Disable LEDs between two UTC times daily.
Definition kv_types.h:656
@ KV_KEY_BLUETOOTH_ADDR
Bluetooth advertising address.
Definition kv_types.h:598
@ KV_KEY_LTE_SIM_UICC
SIM Universal Identifier (https://www.itu.int/en/ITU-T/inr/forms/Pages/iin.aspx)
Definition kv_types.h:642
@ KV_KEY_GRAVITY_REFERENCE
Reference gravity vector for tilt calculations.
Definition kv_types.h:664
@ KV_KEY_LTE_NETWORKING_MODES
Enabled LTE networking modes and preferences.
Definition kv_types.h:646
@ KV_KEY_WIFI_PSK
WiFi network password.
Definition kv_types.h:624
@ KV_KEY_TASK_SCHEDULES
Task runner task schedule definition (task_schedule)
Definition kv_types.h:684
@ KV_KEY_SECURE_STORAGE_RESERVED
Keys reserved for secure storage (do not enable)
Definition kv_types.h:692
@ KV_KEY_EPACKET_UDP_PORT
ePacket UDP server port
Definition kv_types.h:632
@ KV_KEY_LTE_MODEM_IMEI
'International Modem Equipment Identifier' as returned by AT+CGSN=1
Definition kv_types.h:640
@ KV_KEY_MEMFAULT_DISABLE
Disable Memfault reporting at runtime.
Definition kv_types.h:658
@ KV_KEY_ALG_STATIONARY_WINDOWED_ARGS
Configuration for the 'Stationary Windowed' algorithm.
Definition kv_types.h:674
@ KV_KEY_TASK_SCHEDULES_DEFAULT_ID
Unique identifier for default schedule set.
Definition kv_types.h:682
@ KV_KEY_LITTLEFS_FS_STATE
State of LittleFS filesystem.
Definition kv_types.h:618
Bluetooth address type (bt_addr_le_t)
Definition kv_types.h:41
uint8_t type
Address type (0 == Public, 1 == Random)
Definition kv_types.h:43
uint8_t val[6]
Address bytes.
Definition kv_types.h:45
Geographic Co-ordinate System location.
Definition kv_types.h:31
int32_t latitude
Degrees north/south, scaled by 1e-7.
Definition kv_types.h:33
int32_t height
Height above WGS-84 ellipsoid, mm.
Definition kv_types.h:37
int32_t longitude
Degrees north/south, scaled by 1e-7.
Definition kv_types.h:35
Key value slot description.
Definition kv_types.h:889
uint16_t key
Base key ID for slot.
Definition kv_types.h:891
uint8_t range
Number of IDs used by the slot.
Definition kv_types.h:893
uint8_t flags
Bitmask of kv_slot_flags for slot.
Definition kv_types.h:895
Configuration for the 'Movement Threshold' algorithm.
Definition kv_types.h:528
struct kv_algorithm_movement_threshold_args_v2 args
Algorithm arguments.
Definition kv_types.h:532
struct kv_algorithm_logging logging
Algorithm logging.
Definition kv_types.h:530
Configuration for the 'Movement Threshold' algorithm.
Definition kv_types.h:520
struct kv_algorithm_logging logging
Algorithm logging.
Definition kv_types.h:522
struct kv_algorithm_movement_threshold_args args
Algorithm arguments.
Definition kv_types.h:524
Configuration for the 'Stationary Windowed' algorithm.
Definition kv_types.h:504
struct kv_algorithm_stationary_windowed_args args
Algorithm arguments.
Definition kv_types.h:508
struct kv_algorithm_logging logging
Algorithm logging.
Definition kv_types.h:506
Configuration for the 'Tilt' algorithm.
Definition kv_types.h:512
struct kv_algorithm_logging logging
Algorithm logging.
Definition kv_types.h:514
struct kv_algorithm_tilt_args args
Algorithm arguments.
Definition kv_types.h:516
Algorithm logging configuration.
Definition kv_types.h:87
uint8_t tdf_mask
TDFs to log (algorithm specific bitmask.
Definition kv_types.h:91
uint8_t loggers
TDF logger to log to.
Definition kv_types.h:89
Arguments for 'Shot Triggered' algorithm.
Definition kv_types.h:119
uint32_t moving_for
How long moving state is refreshed for when movement detected.
Definition kv_types.h:121
uint32_t initial_threshold_ug
Magnitude this far away from 1G triggers the moving state.
Definition kv_types.h:123
uint32_t continue_threshold_ug
Magnitude this far away from 1G continues the moving state.
Definition kv_types.h:125
Arguments for 'Shot Triggered' algorithm.
Definition kv_types.h:111
uint32_t moving_for
How long moving state is refreshed for when movement detected.
Definition kv_types.h:113
uint32_t threshold_ug
Magnitude this far away from 1G triggers the moving state.
Definition kv_types.h:115
Arguments for 'Stationary Windowed' algorithm.
Definition kv_types.h:95
uint32_t window_seconds
Duration of the window in seconds.
Definition kv_types.h:97
uint32_t std_dev_threshold_ug
Standard deviation threshold in micro-g, above this value the device is moving.
Definition kv_types.h:99
Arguments for 'Tilt' algorithm.
Definition kv_types.h:103
float iir_filter_alpha
IIR filter alpha (see iir_filter_single_pole_f32)
Definition kv_types.h:105
uint8_t one_g_percent
Percentage within one G magnitude must be to use for tilt calculation.
Definition kv_types.h:107
Control STATE_APPLICATION_ACTIVE.
Definition kv_types.h:185
uint8_t active
Active for any non-zero value.
Definition kv_types.h:187
Bluetooth advertising address.
Definition kv_types.h:144
struct bt_addr_le address
Broadcasting address.
Definition kv_types.h:146
External Bluetooth controller version.
Definition kv_types.h:158
uint32_t application
Application ID.
Definition kv_types.h:160
struct kv_mcuboot_img_sem_ver version
Application version number.
Definition kv_types.h:162
Bluetooth peer device.
Definition kv_types.h:415
struct bt_addr_le address
Peer device Bluetooth address.
Definition kv_types.h:417
Request connected Bluetooth peers to limit throughput.
Definition kv_types.h:439
uint16_t limit_kbps
Requested throughput limit (kbps)
Definition kv_types.h:441
Value of CONFIG_BOARD_TARGET.
Definition kv_types.h:191
struct kv_string board_target
Value of CONFIG_BOARD_TARGET.
Definition kv_types.h:193
Device is fixed indoors and should broadcast the fact.
Definition kv_types.h:217
uint8_t indoors
Non-zero: Device is indoors.
Definition kv_types.h:219
Personalised name for the device.
Definition kv_types.h:166
struct kv_string name
Personalised device name.
Definition kv_types.h:168
ePacket UDP server port
Definition kv_types.h:316
uint32_t port
UDP server port.
Definition kv_types.h:318
ePacket UDP server hostname
Definition kv_types.h:302
struct kv_string server
UDP server hostname.
Definition kv_types.h:304
exFAT disk information
Definition kv_types.h:150
uint32_t block_size
Disk block size.
Definition kv_types.h:154
uint32_t block_count
Disk block count.
Definition kv_types.h:152
Fixed global location of the device.
Definition kv_types.h:211
struct gcs_location location
Location.
Definition kv_types.h:213
Forwarding configuration for Bluetooth advertising packets.
Definition kv_types.h:459
uint8_t flags
Forwarding flags (see epacket_filter_flags)
Definition kv_types.h:461
uint8_t percent
Percent of packets to forward that pass flags (255 = all, 128 = half, 0 = none)
Definition kv_types.h:463
Array of points defining a closed polygon.
Definition kv_types.h:487
uint8_t points_num
Number of points in the geofence.
Definition kv_types.h:489
struct gcs_location points[]
Points in geofence.
Definition kv_types.h:491
Reference gravity vector for tilt calculations.
Definition kv_types.h:477
int16_t y
Y axis component of gravity vector.
Definition kv_types.h:481
int16_t z
Z axis component of gravity vector.
Definition kv_types.h:483
int16_t x
X axis component of gravity vector.
Definition kv_types.h:479
CONFIG_INFUSE_APPLICATION_ID, store will be reset if the values don't match.
Definition kv_types.h:180
uint32_t application_id
Definition kv_types.h:181
Disable LEDs between two UTC times daily.
Definition kv_types.h:445
struct kv_utc_hms disable_start
Disable LEDs at this time.
Definition kv_types.h:447
struct kv_utc_hms disable_end
Re-enable LEDs at this time.
Definition kv_types.h:449
State of algorithms on the LittleFS filesystem.
Definition kv_types.h:235
uint8_t count
Number of algorithms on filesystem.
Definition kv_types.h:237
uint32_t crc_xor
XOR of all file data CRCs.
Definition kv_types.h:239
State of LittleFS filesystem.
Definition kv_types.h:223
uint32_t block_size
Size of filesystem blocks in bytes.
Definition kv_types.h:227
uint32_t block_count
Total number of blocks in the filesystem.
Definition kv_types.h:229
uint32_t disk_version
On-disk filesystem version.
Definition kv_types.h:225
uint32_t blocks_used
Blocks currently in use by the filesystem.
Definition kv_types.h:231
LoRa modem configuration.
Definition kv_types.h:421
uint8_t bandwidth
Signal bandwidth (see enum lora_signal_bandwidth)
Definition kv_types.h:425
uint16_t preamble_len
Preamble length.
Definition kv_types.h:431
uint32_t frequency
Frequency (Hz)
Definition kv_types.h:423
int8_t tx_power
Transmit power (dBm)
Definition kv_types.h:433
uint8_t sync_word
Custom sync word.
Definition kv_types.h:435
uint8_t spreading_factor
Spreading factor (see enum lora_datarate)
Definition kv_types.h:427
uint8_t coding_rate
Coding rate (see enum lora_coding_rate)
Definition kv_types.h:429
'Electronic Serial Number' as returned by AT+CGSN=0
Definition kv_types.h:350
struct kv_string esn
ESN or IMEI if not available.
Definition kv_types.h:352
Modem firmware revision as returned by AT+CGMR.
Definition kv_types.h:336
struct kv_string revision
Firmware revision.
Definition kv_types.h:338
'International Modem Equipment Identifier' as returned by AT+CGSN=1
Definition kv_types.h:364
uint64_t imei
15 digit IMEI
Definition kv_types.h:366
Modem model as returned by AT+CGMM.
Definition kv_types.h:322
struct kv_string model
Modem model.
Definition kv_types.h:324
Enabled LTE networking modes and preferences.
Definition kv_types.h:401
uint8_t modes
Enabled modes as per enum lte_lc_system_mode
Definition kv_types.h:403
uint8_t prefer
Preference as per enum lte_lc_system_mode_preference
Definition kv_types.h:405
Packet Data Protocol (PDP) default context configuration.
Definition kv_types.h:384
struct kv_string apn
Access Point Name.
Definition kv_types.h:388
uint8_t family
Protocol family (0 = IPv4, 1 = IPv6, 2 = IPv4v6, 3 = Non-IP)
Definition kv_types.h:386
'International Modem Subscriber Identity' as returned by AT+CIMI
Definition kv_types.h:409
uint64_t imsi
15 digit IMSI
Definition kv_types.h:411
SIM Universal Identifier (https://www.itu.int/en/ITU-T/inr/forms/Pages/iin.aspx)
Definition kv_types.h:370
struct kv_string uicc
Variable length UICC string.
Definition kv_types.h:372
MCUboot semantic versioning struct.
Definition kv_types.h:66
uint32_t build_num
Definition kv_types.h:70
uint8_t major
Definition kv_types.h:67
uint8_t minor
Definition kv_types.h:68
uint16_t revision
Definition kv_types.h:69
Disable Memfault reporting at runtime.
Definition kv_types.h:453
uint8_t disable
Disable for any non-zero value.
Definition kv_types.h:455
Version of the nRF Edge AI runtime.
Definition kv_types.h:467
uint8_t minor
Minor version.
Definition kv_types.h:471
uint8_t major
Major version.
Definition kv_types.h:469
uint16_t patch
Patch version.
Definition kv_types.h:473
URL of the NTP server to use for time synchronisation.
Definition kv_types.h:288
struct kv_string url
NTP server URL.
Definition kv_types.h:290
Generic range structure.
Definition kv_types.h:74
uint8_t lower
Definition kv_types.h:75
uint8_t upper
Definition kv_types.h:76
Number of times device has rebooted.
Definition kv_types.h:139
uint32_t count
Definition kv_types.h:140
Storage of secondary remote public key.
Definition kv_types.h:205
uint8_t public_key[32]
Remote public key.
Definition kv_types.h:207
Keys reserved for secure storage (do not enable)
Definition kv_types.h:577
uint8_t data_num
Opaque data.
Definition kv_types.h:579
uint8_t data[]
Opaque data.
Definition kv_types.h:581
String type.
Definition kv_types.h:49
char value[]
NULL terminated C string.
Definition kv_types.h:53
uint8_t value_num
Length of value (including NULL)
Definition kv_types.h:51
Unique identifier for default schedule set.
Definition kv_types.h:536
uint32_t set_id
If this value changes, existing schedules are overwritten.
Definition kv_types.h:538
Task runner task schedule definition (task_schedule)
Definition kv_types.h:542
struct kv_range_u8 battery_terminate
Battery charge thresholds to terminate the task.
Definition kv_types.h:556
struct kv_range_u8 battery_start
Battery charge thresholds to start the task.
Definition kv_types.h:554
uint8_t validity
TASK_VALID_* value.
Definition kv_types.h:546
uint8_t task_id
Task ID referenced by schedule.
Definition kv_types.h:544
uint8_t boot_lockout_minutes
Task will not start for the first N minutes after boot.
Definition kv_types.h:550
uint8_t periodicity_type
TASK_PERIODICITY_* value.
Definition kv_types.h:548
uint32_t timeout_s
Duration after which task is requested to terminate.
Definition kv_types.h:552
UTC Hour-Minute-Second.
Definition kv_types.h:80
uint8_t minute
Definition kv_types.h:82
uint8_t hour
Definition kv_types.h:81
uint8_t second
Definition kv_types.h:83
WiFi band and channel configuration.
Definition kv_types.h:271
uint8_t band
WiFi frequency band (0 = 2.4Ghz, 1 = 5GHz, 2 = 6Ghz, other = Unknown)
Definition kv_types.h:273
uint8_t channels[]
WiFi channels network uses.
Definition kv_types.h:275
WiFi network password.
Definition kv_types.h:257
struct kv_string psk
WiFi pre-shared-key.
Definition kv_types.h:259
WiFi network name.
Definition kv_types.h:243
struct kv_string ssid
WiFi network name.
Definition kv_types.h:245