You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by be...@apache.org on 2020/04/01 15:06:43 UTC
[mynewt-core] branch master updated: sys/id: Add optional
id/serial_mfg field for storing manufacturer serial numbers
This is an automated email from the ASF dual-hosted git repository.
benmccrea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
The following commit(s) were added to refs/heads/master by this push:
new 7e4c027 sys/id: Add optional id/serial_mfg field for storing manufacturer serial numbers
new c418c0c Merge pull request #2257 from JuulLabs/id-serial_mfg
7e4c027 is described below
commit 7e4c02772b3d91f21a199f0cfd835f85d5e11120
Author: Ben McCrea <bm...@juul.com>
AuthorDate: Tue Mar 31 19:46:13 2020 -0700
sys/id: Add optional id/serial_mfg field for storing manufacturer serial numbers
---
sys/id/include/id/id.h | 8 ++++++++
sys/id/src/id.c | 15 +++++++++++++++
sys/id/syscfg.yml | 7 +++++++
3 files changed, 30 insertions(+)
diff --git a/sys/id/include/id/id.h b/sys/id/include/id/id.h
index d730e93..8e20124 100644
--- a/sys/id/include/id/id.h
+++ b/sys/id/include/id/id.h
@@ -32,6 +32,14 @@ extern "C" {
extern char id_serial[];
#endif
+#if MYNEWT_VAL(ID_SERIAL_MFG_PRESENT)
+/*
+ * Maximum expected serial_mfg number string length.
+ */
+#define ID_SERIAL_MFG_MAX_LEN MYNEWT_VAL(ID_SERIAL_MFG_MAX_LEN)
+extern char id_serial_mfg[];
+#endif
+
#if MYNEWT_VAL(ID_MANUFACTURER_LOCAL)
/*
* Maximum expected manufacturer string length.
diff --git a/sys/id/src/id.c b/sys/id/src/id.c
index 79a7c87..4a6a2e5 100644
--- a/sys/id/src/id.c
+++ b/sys/id/src/id.c
@@ -51,6 +51,9 @@ const char *id_app_str = "";
#if MYNEWT_VAL(ID_SERIAL_PRESENT)
char id_serial[ID_SERIAL_MAX_LEN];
#endif
+#if MYNEWT_VAL(ID_SERIAL_MFG_PRESENT)
+char id_serial_mfg[ID_SERIAL_MFG_MAX_LEN];
+#endif
#if MYNEWT_VAL(ID_MANUFACTURER_LOCAL)
char id_manufacturer[ID_MANUFACTURER_MAX_LEN];
#endif
@@ -88,6 +91,10 @@ id_conf_get(int argc, char **argv, char *val, int val_len_max)
} else if (!strcmp(argv[0], "serial")) {
return (char *)id_serial;
#endif
+#if MYNEWT_VAL(ID_SERIAL_MFG_PRESENT)
+ } else if (!strcmp(argv[0], "serial_mfg")) {
+ return (char *)id_serial_mfg;
+#endif
#if MYNEWT_VAL(ID_MANUFACTURER_PRESENT)
} else if (!strcmp(argv[0], "mfger")) {
return (char *)id_manufacturer;
@@ -116,6 +123,11 @@ id_conf_set(int argc, char **argv, char *val)
return CONF_VALUE_SET(val, CONF_STRING, id_serial);
}
#endif
+#if MYNEWT_VAL(ID_SERIAL_MFG_PRESENT)
+ if (!strcmp(argv[0], "serial_mfg")) {
+ return CONF_VALUE_SET(val, CONF_STRING, id_serial_mfg);
+ }
+#endif
#if MYNEWT_VAL(ID_MANUFACTURER_LOCAL)
if (!strcmp(argv[0], "mfger")) {
return CONF_VALUE_SET(val, CONF_STRING, id_manufacturer);
@@ -154,6 +166,9 @@ id_conf_export(void (*export_func)(char *name, char *val),
#if MYNEWT_VAL(ID_SERIAL_PRESENT)
export_func("id/serial", id_serial);
#endif /* ID_SERIAL_PRESENT */
+#if MYNEWT_VAL(ID_SERIAL_MFG_PRESENT)
+ export_func("id/serial_mfg", id_serial_mfg);
+#endif /* ID_SERIAL_MFG_PRESENT */
#if MYNEWT_VAL(ID_MANUFACTURER_PRESENT)
#if MYNEWT_VAL(ID_MANUFACTURER_LOCAL)
export_func("id/mfger", id_manufacturer);
diff --git a/sys/id/syscfg.yml b/sys/id/syscfg.yml
index 107b804..3248708 100644
--- a/sys/id/syscfg.yml
+++ b/sys/id/syscfg.yml
@@ -24,6 +24,13 @@ syscfg.defs:
description: Maximum length of id/serial value
value: 64
+ ID_SERIAL_MFG_PRESENT:
+ description: 'Device manufacturing serial number exported as sys/id/serial_mfg.'
+ value: 0
+ ID_SERIAL_MFG_MAX_LEN:
+ description: Maximum length of id/serial_mfg value
+ value: 32
+
ID_MANUFACTURER_PRESENT:
description: 'Device manufacturer string exported as sys/id/mfger.'
value: 0