SEDSnet 4.0.1

A memory safe, no_std-capable networking stack with routing, discovery, reliability, and Rust/C/Python bindings.
Documentation
{
  "endpoints": [
    {
      "rust": "SdCard",
      "name": "SD_CARD",
      "doc": "On-board storage (e.g. SD card / flash)."
    },
    {
      "rust": "Radio",
      "name": "RADIO",
      "doc": "Radio or external link (telemetry uplink/downlink)."
    }
  ],
  "types": [
    {
      "rust": "GpsData",
      "name": "GPS_DATA",
      "doc": "GPS data (typically 3\u00d7 f32: latitude, longitude, altitude).",
      "priority": 80,
      "reliable_mode": "Ordered",
      "class": "Data",
      "element": {
        "kind": "Static",
        "data_type": "Float32",
        "count": 3
      },
      "endpoints": [
        "Radio",
        "SdCard"
      ]
    },
    {
      "rust": "ImuData",
      "name": "IMU_DATA",
      "doc": "IMU data (typically 6\u00d7 f32: accel/gyro vector).",
      "priority": 40,
      "class": "Data",
      "element": {
        "kind": "Static",
        "data_type": "Float32",
        "count": 6
      },
      "endpoints": [
        "Radio",
        "SdCard"
      ]
    },
    {
      "rust": "BatteryStatus",
      "name": "BATTERY_STATUS",
      "doc": "Battery status (e.g. voltage, current, etc.).",
      "priority": 60,
      "class": "Data",
      "element": {
        "kind": "Static",
        "data_type": "Float32",
        "count": 2
      },
      "endpoints": [
        "Radio",
        "SdCard"
      ]
    },
    {
      "rust": "SystemStatus",
      "name": "SYSTEM_STATUS",
      "doc": "Compact system status code (single u8).",
      "class": "Data",
      "element": {
        "kind": "Static",
        "data_type": "Bool",
        "count": 1
      },
      "endpoints": [
        "SdCard"
      ]
    },
    {
      "rust": "BarometerData",
      "name": "BAROMETER_DATA",
      "doc": "Barometric pressure sensor data.",
      "class": "Data",
      "element": {
        "kind": "Static",
        "data_type": "Float32",
        "count": 3
      },
      "endpoints": [
        "Radio",
        "SdCard"
      ]
    },
    {
      "rust": "MessageData",
      "name": "MESSAGE_DATA",
      "doc": "Generic string message payload.",
      "class": "Data",
      "element": {
        "kind": "Dynamic",
        "data_type": "String"
      },
      "endpoints": [
        "SdCard",
        "Radio"
      ]
    },
    {
      "rust": "Heartbeat",
      "name": "HEARTBEAT",
      "doc": "Heartbeat message (no payload).",
      "priority": 100,
      "class": "Data",
      "element": {
        "kind": "Static",
        "data_type": "NoData",
        "count": 0
      },
      "endpoints": [
        "SdCard",
        "Radio"
      ]
    }
  ]
}