I am using function "modem_info_json_object_encode" to encode modem info into JSON to send upstream.
I get the very strange format where you encode dictionary as string (which in my mind is not JSON standard):
"DeviceInfo": {
"networkInfo": "{\"currentBand\":20,\"supportedBands\":\"\",\"areaCode\":0,\"mccmnc\":\"24001\",\"ipAddress\":\"10.160.105.125\",\"ueMode\":2,\"cellID\":27756832,\"networkMode\":\"LTE-M GPS\"}",
"simInfo": "{\"uiccMode\":1,\"iccid\":\"8931089318104304850F\",\"imsi\":\"\"}",
"deviceInfo": "{\"modemFirmware\":\"mfw_nrf9160_1.0.1\",\"batteryVoltage\":4375,\"imei\":\"\",\"board\":\"nrf9160_pca20035\",\"appVersion\":\"v1.0.0-rc1-552-gc9c833b15e6f\",\"appName\":\"ardesco_tracker\"}"
}
I expect:
"DeviceInfo": {
"networkInfo": {
"currentBand": 20,
"supportedBands": "",
"areaCode": 0,
"mccmnc": "24001",
"ipAddress": "10.160.96.248",
"ueMode": 2,
"cellID": 25824012,
"networkMode": "LTE-M GPS"
},
"simInfo": {
"uiccMode": 1,
"iccid": "8931089318104305014F",
"imsi": "204080813516091"
},
"deviceInfo": {
"modemFirmware": "mfw_nrf9160_1.0.1",
"batteryVoltage": 4375,
"imei": "352656100826471",
"board": "nrf9160_pca20035",
"appVersion": "v1.0.0-rc1-552-gc9c833b15e6f",
"appName": "ardesco_tracker"
}
}
Request: please fix or add another function in future release that perform "standard" endcoding. Alternatively open up the helper functions for external use so I can implement the function myself.
Hardware: Thingy91
Software: nRF Connect SDK, version is master branch as of October 8th 2019.