CyphalCloud Development project

nestor.db (44 KB)

Attached is a SQLite database which holds the CAN frames which were recorded while a FluxGrip was connected to a CAN network and turned on/off 4 times.

From my understanding the frames should contain the following 4 Cyphal types:

Next steps:

  1. Decompose the frames based on their datatype. Rough outline of how this works: for each CAN frame determine which Topic ID it belongs to based on CAN ID (which contains Topic ID), then decode the payload for each CAN frame based on the type (given above). See Cyphal specification and/or pycyphal to detemine how to do this.
  2. Graph out the content of each topic. For X axis use hw_ts_us (hardware timestamp when frame was received). For Y axis, use interesting data from each type:
  • Heartbeat
    • uptime: should go up linearly
    • health: constant value “nominal”
  • Feedback
    • magnetized: goes from demagnetized to magnetized (repeats 4 times)
  • Integer8
    • value that controls magnetization state of magnet, should go: 1, 0, 1, 0,…
  • List: just filter out these frames, no interesting data

Feel free to ask questions.

I wrote this to help you get started: GitHub - maksimdrachov/cyphal_cloud_intern · GitHub

I notice there’s no CAN frames with Topic ID = 1000 corresponding to Integer8, so please ignore this type for now and focus just on Heartbeat and Feedback.