Botzo SDK - Client Library for MCU communication #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Client Library for Botzo Robot Communication
I've started building a client library for Botzo that handles communication between the microcontroller and the host computer (Raspberry Pi). This PR is still a draft as the work is ongoing.
What's Implemented
Serial Communication Interface
Simple Packet Protocol
All communication uses a simple packet structure:
Where:
How It Works
The protocol handles creating packets for different commands. For example, a basic ping to check the connection:
Main Component: BotzoClient
The BotzoClient class is the main entry point. It wraps all the complexity of the communication layer, so you don't have to deal with packets and protocols directly.
Design Benefits
Two-Way Communication
For example, we can start IMU streaming where the MCU automatically sends sensor data at regular intervals without needing to request each reading.
Next Steps
This requires matching firmware on the microcontroller that implements the same protocol, which is currently being developed in parallel.