Skip to content

Commit 3ecec31

Browse files
authored
Merge pull request #7 from motionlayer/update_protocol_3_0_x
Update protocol to 3.0.0 (firmware 3.0.x)
2 parents 4ab4695 + b82c246 commit 3ecec31

4 files changed

Lines changed: 59 additions & 4 deletions

File tree

AGENTS.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Repository agent notes
2+
3+
## Protocol regeneration (Avlos)
4+
5+
The files `include/tinymovr/tinymovr.hpp`, `include/tinymovr/helpers.hpp` and
6+
`src/tinymovr/tinymovr.cpp` are generated by
7+
[Avlos](https://github.com/tinymovr/avlos) from a Tinymovr protocol spec. Do
8+
not hand-edit them; regenerate instead.
9+
10+
To regenerate, install Avlos in any Python environment and run it against the
11+
desired spec:
12+
13+
pip install avlos
14+
avlos from file <path-to>/tinymovr_<version>.yaml --config=./avlos_config.yaml
15+
16+
Specs live in the [Tinymovr](https://github.com/tinymovr/Tinymovr) repository
17+
under `studio/Python/tinymovr/specs/` (e.g. `tinymovr_3_0_x.yaml`). The
18+
generator config in this repo is [avlos_config.yaml](avlos_config.yaml); it
19+
controls which files Avlos writes.
20+
21+
## Release flow
22+
23+
1. Branch off `main` (e.g. `update_protocol_<ver>`).
24+
2. Regenerate the protocol sources with Avlos using the appropriate spec.
25+
3. Bump `<version>` in [package.xml](package.xml).
26+
4. Update [RELEASE_NOTES.md](RELEASE_NOTES.md).
27+
5. Open a PR into `main`. After merge, tag the release on `main` as
28+
`vX.Y.Z-ros2-jazzy` and create a matching GitHub Release.

RELEASE_NOTES.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,27 @@
1-
# Tinymovr ROS for firmware 3.0.x\n\nThis release is compatible with firmware version 3.0.x.\n\n## Features\n- Full support for Tinymovr motors\n- Updated ROS packages for better compatibility\n\n## Changes\n- Performance improvements\n- Bug fixes\n\n## Installation\nFollow instructions on the [GitHub repository](https://github.com/tinymovr/Tinymovr-ROS) to install the latest version.
1+
# Tinymovr ROS 3.0.0 (firmware 3.0.x)
2+
3+
This release targets Tinymovr firmware **3.0.x**. The protocol bindings under
4+
`include/tinymovr/` and `src/tinymovr/` were regenerated from
5+
`tinymovr_3_0_x.yaml` via [Avlos](https://github.com/tinymovr/avlos).
6+
7+
## Changes
8+
9+
- Added `MA600` to the External SPI sensor type enum
10+
(`SENSORS_SETUP_EXTERNAL_SPI_TYPE_MA600 = 3`).
11+
- Updated `avlos_proto_hash` to match the new spec
12+
(`3999954334` -> `3786962419`).
13+
- Bumped package version to `3.0.0` in `package.xml`.
14+
- Added `AGENTS.md` documenting Avlos-based protocol regeneration and the
15+
release flow.
16+
17+
## Compatibility
18+
19+
- The protocol change is additive (a new enum value); existing user code does
20+
not need to change.
21+
- The Tinymovr device firmware must be the matching 3.0.x release, since the
22+
protocol hash has changed.
23+
24+
## Installation
25+
26+
Follow instructions on the [GitHub repository](https://github.com/tinymovr/Tinymovr-ROS)
27+
to install the latest version.

include/tinymovr/tinymovr.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include <homing.hpp>
2020
#include <watchdog.hpp>
2121

22-
static uint32_t avlos_proto_hash = 3999954334;
22+
static uint32_t avlos_proto_hash = 3786962419;
2323

2424
enum errors_flags
2525
{
@@ -129,7 +129,8 @@ enum sensors_setup_external_spi_type_options
129129
{
130130
SENSORS_SETUP_EXTERNAL_SPI_TYPE_MA7XX = 0,
131131
SENSORS_SETUP_EXTERNAL_SPI_TYPE_AS5047 = 1,
132-
SENSORS_SETUP_EXTERNAL_SPI_TYPE_AMT22 = 2
132+
SENSORS_SETUP_EXTERNAL_SPI_TYPE_AMT22 = 2,
133+
SENSORS_SETUP_EXTERNAL_SPI_TYPE_MA600 = 3
133134
};
134135

135136
enum sensors_setup_external_spi_rate_options

package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22
<package format="3">
33
<name>tinymovr_ros</name>
4-
<version>1.0.0</version>
4+
<version>3.0.0</version>
55
<description>ROS 2 hardware interface for Tinymovr motor controllers using SocketCAN</description>
66

77
<maintainer email="ihatz@todo.todo">ihatz</maintainer>

0 commit comments

Comments
 (0)