Skip to content

Port existing Telemetry send_data.ino code to Rust. #1

@onkoe

Description

@onkoe

Our current Telemetry code works fine, but there are no guarantees that it works. We don't have unit tests, compiler assurances, or unsafe promises.

This port is focused on send_data.ino, the sender microcontroller.

The Solution

To fix this situation, we're working on moving everything on over to Rust, where it's easy to maintain and change things as necessary.

At first, we'll just need to port our setup() function exactly, but we should move everything into individual systems as needed. I'd like to eventually have a "Car" or "Telemetry" struct which serves its data to users, both wirelessly and saving directly to disk. (both of which are easier in Rust)

TODO

Let's make a quick list of to-do items:

  • Port send_data.ino from '22-23 Telemetry.
    • Break into systems, such as the Potentiometer, Transceiver, Thermocouple, and maybe Serial if we create our own wrapper for it. Work on this as necessary. No need to rush! :)
    • Use MessagePack to send data over serial.
      • Eventually, link this into a library of expected format structs, including temperature, acceleration, etc! This is so our other programs can easily encode and decode given data.
    • "System" format with Rust fundamentals like struct and trait.
    • Setup unit tests based on expected output values, output, and serial.

Resources

Please see the Resources wiki page.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions