From 31e7d30482ee2e6708c479183b57ce4c2e056d74 Mon Sep 17 00:00:00 2001 From: Andrii Pientsov Date: Sun, 24 Jan 2021 16:36:22 +0200 Subject: MTRE: Add oem strings --- src/eeprom_main.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/eeprom_main.c b/src/eeprom_main.c index d8a81e8..26cfe70 100644 --- a/src/eeprom_main.c +++ b/src/eeprom_main.c @@ -211,6 +211,10 @@ static int id_yaml_out(const char *name, struct mts_id_eeprom_layout *id_eeprom) fprintf(file, "lora-product-id: \"%.32s\"\n", id_eeprom->lora_product_id); fprintf(file, "lora-hw-version: \"%.32s\"\n", id_eeprom->lora_hw_version); +#ifdef MTRE + fprintf(file, "oem-string1: %.32s\n", id_eeprom->oem_string1); + fprintf(file, "oem-string2: %.32s\n", id_eeprom->oem_string2); +#endif fprintf(file, "...\n"); @@ -425,6 +429,10 @@ static void mts_id_eeprom_inspect(struct mts_id_eeprom_layout *id_eeprom) log_info("lora-product-id: %.32s", id_eeprom->lora_product_id); log_info("lora-hw-version: %.32s", id_eeprom->lora_hw_version); +#ifdef MTRE + log_info("oem-string1: %.32s", id_eeprom->oem_string1); + log_info("oem-string2: %.32s", id_eeprom->oem_string2); +#endif } static void mts_ap_eeprom_inspect(struct mts_ap_eeprom_layout *ap_eeprom) @@ -532,6 +540,10 @@ static void usage(FILE *out) { fprintf(out, " --lora-eui |\n"); fprintf(out, " --lora-hw-version |\n"); fprintf(out, " --lora-product-id |\n"); +#ifdef MTRE + fprintf(out, " --oem-string1 |\n"); + fprintf(out, " --oem-string2 |\n"); +#endif fprintf(out, " --imei |\n"); fprintf(out, " --capa-gps |\n"); fprintf(out, " --capa-din |\n"); @@ -588,6 +600,10 @@ enum { CMD_OPT_OUT_FORMAT, CMD_OPT_UPDATE, CMD_OPT_ACCESSORY_CARD, +#ifdef MTRE + CMD_OPT_OEM_STRING1, + CMD_OPT_OEM_STRING2, +#endif #ifdef MTCDT3B CMD_OPT_BASE_BOARD, CMD_OPT_SLOTS, @@ -611,6 +627,10 @@ static struct option long_options[] = { {"hw-version", 1, NULL, CMD_OPT_HW_VERSION}, {"lora-product-id", 1, NULL, CMD_OPT_LORA_PRODUCT_ID}, {"lora-hw-version", 1, NULL, CMD_OPT_LORA_HW_VERSION}, +#ifdef MTRE + {"oem-string1", 1, NULL, CMD_OPT_OEM_STRING1}, + {"oem-string2", 1, NULL, CMD_OPT_OEM_STRING2}, +#endif {"mac-addr", 1, NULL, CMD_OPT_MAC_ADDR}, {"mac-bluetooth", 1, NULL, CMD_OPT_MAC_BLUETOOTH}, {"mac-wifi", 1, NULL, CMD_OPT_MAC_WIFI}, @@ -679,6 +699,10 @@ int main(int argc, char *argv[]) { char *lora_eui = NULL; char *lora_product_id = NULL; char *lora_hw_version = NULL; +#ifdef MTRE + char *oem_string1 = NULL; + char *oem_string2 = NULL; +#endif struct mts_id_eeprom_layout id_eeprom; struct mts_ap_eeprom_layout ap_eeprom; @@ -837,6 +861,16 @@ int main(int argc, char *argv[]) { lora_product_id = optarg; break; +#ifdef MTRE + case CMD_OPT_OEM_STRING1: + oem_string1 = optarg; + break; + + case CMD_OPT_OEM_STRING2: + oem_string2 = optarg; + break; +#endif + case CMD_OPT_DEVICE_ID: device_id = optarg; break; @@ -1115,6 +1149,26 @@ int main(int argc, char *argv[]) { else EEPROM_SET(id_eeprom,lora_hw_version) } +#ifdef MTRE + if (oem_string1) { + if (! accessory_card) { + strncpy(id_eeprom.oem_string1, oem_string1, sizeof(id_eeprom.oem_string1) - 1); + } else { + log_error("--oem-string1 option is not supported on accessory card eeprom"); + usage(stderr); + exit(1); + } + } + if (oem_string2) { + if (! accessory_card) { + strncpy(id_eeprom.oem_string2, oem_string2, sizeof(id_eeprom.oem_string2) - 1); + } else { + log_error("--oem-string2 option is not supported on accessory card eeprom"); + usage(stderr); + exit(1); + } + } +#endif if (lora_eui) { if (accessory_card) tmp = hwaddr_aton(lora_eui, ap_eeprom.eui, sizeof(ap_eeprom.eui)); -- cgit v1.2.3