Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jkaflik/omros2-firmware
A firmware for OpenMower mainboard that acts as a node using Micro-ROS
https://github.com/jkaflik/omros2-firmware
Last synced: about 1 month ago
JSON representation
A firmware for OpenMower mainboard that acts as a node using Micro-ROS
- Host: GitHub
- URL: https://github.com/jkaflik/omros2-firmware
- Owner: jkaflik
- Created: 2023-08-30T15:15:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-18T14:59:36.000Z (over 1 year ago)
- Last Synced: 2024-10-27T23:47:31.034Z (3 months ago)
- Language: C++
- Size: 60.5 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# omros2-firmware
## Overview
This is a OpenMower mainboard firmware replacement to work with [OpenMowerROS2](https://jkaflik.github.io/OpenMowerROS2/) alternative ROS software.
More details about this firmware can be found in [documentation](https://jkaflik.github.io/OpenMowerROS2/omros2-firmware.html).## Build
### Prepare environment
By default, Raspberry Pi SWD on a remote Raspberry Pi is configured as the upload & debug protocol.To use it, you need to install on a target Raspberry Pi an openocd with support for the Raspberry Pi SWD interface.
Please refer to the [RaspberryPi documentation](https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html#linux-and-raspberry-pi) for more information.On the hardware side, you need to connect the Raspberry Pi SWD interface to the target SWD interface.
Luckily, on the OpenMower mainboard there is are circuits to do so. All you have to do is to use 4 jumpers on J22.![J22](docs/openmower_j22_swd.png)
When executing build/debug target, along with firmware, [the bash script](utils/remote-openocd.sh) will be deployed to target Raspberry Pi and executed.
### Build (& run)
```bash
platformio run -t upload
```
(**note**: you can use `pio run` as well, so it doesn't upload to target)## Debugging
Since I haven't managed PlatformIO to run my command beforehand, you need to run it manually:
```bash
scp ./utils/remote-openocd.sh openmower.local:/tmp/remote-openocd.sh && ssh openmower.local /tmp/remote-openocd.sh debug
```Then you can run debugging session in your IDE. (VSCode or CLion)