@@ -7,26 +7,26 @@ However, for many, using a middleware communication system such as ROS can be a
The point for this wrapper is to provide a *simple* solution to estabilish a reliable two-way communication channel between mulitple arduinos and a central python script.
The aim is to be able to simple messages back and forth without going through the often troublesome process of synchronising messages, opening serial communication channels, etc. There is limited functionality to keep everything straightforward and simple.
The aim is to be able to simple messages back and forth without going through the often troublesome process of synchronising messages, opening serial communication channels, etc. The general functionality is limited to keep everything straightforward and simple.
This project is very much in its early stages, so some bugs are expected.
The project is constantly developing so please report bugs or any problems.
---
## Core functionality
- Estabilish a stable communication channel between multiple Arduinos and a single Python script
- Send a single string form the Python side to the Arduino side (e.g.: can be used to tell the arduino "stop the motor", "start the motor", "reset the sensor", etc)
- Send multiple strings form the Python side to the Arduino side (e.g.: can be used to tell the arduino "stop the motor" while sending the motor demand position)
- Send mulitple messages with specified messages names from the Arduino side to the Python side (e.g.: can be used to transfer multiple sensor values, status messages, timestamps, etc)
- Simplified keyboard keypress reading functionality to test your mechatronic setup
### Points to bare in mind
- For now, you can only send a single string to the Arduino side.
- The Arduino stores the **most recent message** received from the Python side. For now, there is no buffer or queue of messages (in order to simplify and increase the robustness the communication channel from edge cases).
- On both sides, the messages reflect the **most recent message**. For now, there is no buffer or queue of messages (in order to simplify and increase the robustness the communication channel from edge cases).
---
## Known issues
- For some Windows users the communicaiton speed seems to be significnatly lower than using a Linux system.
- Aduino Nano / Teensy microcontrollers on a Windows system performs poorly (see table below)
- Teensy microcontrollers on a Linux system performs poorly (see table below)
---
...
...
@@ -63,6 +63,6 @@ To be written. Currently, all the documentation is in the form of comments in th
---
## Testing
## Testing and compatability
This has been tested with Arduino UNO and Arduino Nano Every with an Ubuntu 20.04 machine.
\ No newline at end of file
This has been tested with Arduino UNO and Arduino Nano Every with an Ubuntu 20.04 machine.