nimcodec
Version:
Encoder/decoder for satellite IoT using Non-IP Messages
115 lines (114 loc) • 4.4 kB
JSON
{
"application": "viasatNtnProofOfConcept",
"version": "1.1",
"description": "Viasat NB-NTN proof of concept for efficient binary data transport",
"messages": [
{
"description": "A basic health/config status message for NB-NTN devices. Minimum size 9 bytes. Maximum size 249 bytes.",
"direction": "UPLINK",
"name": "heartbeat",
"messageKey": 65279,
"fields": [
{
"name": "imsi",
"description": "IMSI of the NTN SIM, not required if using NIDD or devUid.",
"type": "uint",
"size": 50,
"optional": true
},
{
"name": "devUid",
"description": "Unique device ID, not required if using NIDD or imsi. Max 32 characters.",
"type": "string",
"size": 32,
"optional": true,
"fixed": false
},
{
"name": "psk",
"description": "Optional Pre-Shared Key when not using NIDD or DTLS. Must be accompanied by imsi or devUid.",
"type": "string",
"size": 63,
"optional": true,
"fixed": false
},
{
"name": "secOfDay",
"type": "uint",
"size": 17
},
{
"name": "location",
"type": "struct",
"optional": true,
"fields": [
{ "name": "latitude", "type": "int", "size": 18, "decalc": "v/1000" },
{ "name": "longitude", "type": "int", "size": 19, "decalc": "v/1000" }
]
},
{
"name": "cellId",
"description": "NB-NTN Cell Identifier",
"type": "uint",
"size": 32
},
{
"name": "signal",
"type": "struct",
"fields": [
{
"name": "rsrp",
"type": "int",
"description": "- 138 dBm floor; 99 means unknown",
"size": 9
},
{
"name": "rsrq",
"type": "int",
"description": "- 32 dB floor; 31 means unknown",
"size": 6
},
{
"name": "sinr",
"type": "int",
"description": "- 32 dB floor; 31 means unknown",
"size": 6
},
{
"name": "rssi",
"type": "int",
"description": "- 110 dBm floor; 99 means unknown",
"size": 9,
"optional": true
}
]
},
{
"name": "psmConfig",
"type": "struct",
"optional": true,
"fields": [
{ "name": "tauT3412", "type": "bitmask", "size": 8 },
{ "name": "actT3324", "type": "bitmask", "size": 8 }
]
},
{
"name": "edrxConfig",
"type": "struct",
"optional": true,
"fields": [
{ "name": "edrxCycle", "type": "bitmask", "size": 4 },
{ "name": "edrxPtw", "type": "bitmask", "size": 4 }
]
},
{
"name": "counter",
"description": "Message counter wraps after 65535",
"type": "uint",
"size": 16,
"optional": true
}
]
}
]
}