Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial CANBus design #37

Open
1 task
mbardwell opened this issue Jan 16, 2022 · 2 comments
Open
1 task

Initial CANBus design #37

mbardwell opened this issue Jan 16, 2022 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@mbardwell
Copy link
Collaborator

mbardwell commented Jan 16, 2022

Summary

The current architecture contains two types of client:

  1. "Node": a Teensy microcontroller with a CANBus interface
  2. "Base Station": a laptop with a USB interface

Each client should be capable of interpreting the serialised data sent over the wire. This is best done in a "library" fashion, where the data structure is provided in a configuration file and that library is shared between executables.

One thought that is optional but might make our lives a lot easier: have one PlatformIO project generate all of the Node binaries. This way, it is easy to share the library code. Currently, we have many PlatformIO projects in this repository, which will need to be merged together.

Like many a communication stack, we should aim to structure our architecture after the OSI model. We do not need to have logic for each layer, especially for the minimum viable product (MVP). For example, we will ignore encryption and compression at the moment. I have included a diagram abloop communication v0.1.1.drawio

Description Image
Modified OSI model image
OSI model image
Serialisation implementation details image

Acceptance Criteria

  • all CANBus application code can access the CANBus data structure configuration file
@mbardwell mbardwell added the enhancement New feature or request label Jan 16, 2022
@mbardwell mbardwell self-assigned this Jan 16, 2022
@mbardwell
Copy link
Collaborator Author

@mbardwell mbardwell changed the title One PlatformIO project for all CANBus nodes Initial CANBus design Feb 19, 2022
@mbardwell
Copy link
Collaborator Author

image

From Drive

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant