Skip to content

Commit e29f169

Browse files
mergify[bot]Acuadros95pablogs9
authored
Deprecate platformIO support (backport #957) (#958)
* Deprecate platformIO support (#957) * Deprecate platformIO support * Update README.md Co-authored-by: Pablo Garrido <[email protected]> Co-authored-by: Pablo Garrido <[email protected]> (cherry picked from commit a67de52) # Conflicts: # README.md * Update Signed-off-by: Pablo Garrido <[email protected]> Co-authored-by: Antonio Cuadros <[email protected]> Co-authored-by: Pablo Garrido <[email protected]>
1 parent 8191b5b commit e29f169

File tree

1 file changed

+1
-108
lines changed

1 file changed

+1
-108
lines changed

README.md

Lines changed: 1 addition & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ As the build process for ROS 2 and micro-ROS is based on custom meta-build syste
1919
- [How to use the precompiled library](#how-to-use-the-precompiled-library)
2020
- [Arduino IDE](#arduino-ide)
2121
- [PlatformIO](#platformio)
22-
- [Known issues](#known-issues)
2322
- [How to build the precompiled library](#how-to-build-the-precompiled-library)
2423
- [Patch Arduino board for support precompiled libraries](#patch-arduino-board-for-support-precompiled-libraries)
2524
- [Patch Teensyduino](#patch-teensyduino)
@@ -73,113 +72,7 @@ docker run -it --rm -v /dev:/dev --privileged --net=host microros/micro-ros-agen
7372
```
7473
### PlatformIO
7574

76-
For boards supported by micro-ROS, all you have to do to add the library to your project is including the following lines in the existing `platformio.ini` file:
77-
78-
```ini
79-
[env:<YOUR_BOARD>]
80-
81-
...
82-
lib_deps =
83-
https://github.com/micro-ROS/micro_ros_arduino
84-
85-
build_flags =
86-
-L ./.pio/libdeps/<YOUR_BOARD>/micro_ros_arduino/src/<BOARD_ARCHITECTURE>/
87-
-l microros
88-
-D <TARGET_DEFINITION>
89-
```
90-
91-
| Board | <YOUR_BOARD> | <BOARD_ARCHITECTURE> | <TARGET_DEFINITION> |
92-
| ----------------------------| ------------------- | ---------------------------- | ----------------------------------- |
93-
| Arduino Portenta H7 M7 Core | portenta_h7_m7 | cortex-m7/fpv5-d16-softfp | TARGET_PORTENTA_H7_M7 |
94-
| Arduino Nano RP2040 Connect | nanorp2040connect | cortex-m0plus | ARDUINO_NANO_RP2040_CONNECT |
95-
| Teensy 4.1/4.0 | teensy41 / teensy40 | imxrt1062/fpv5-d16-hard | ARDUINO_TEENSY41 |
96-
| Teensy 3.6 | teensy36 | mk66fx1m0/fpv4-sp-d16-hard | ARDUINO_TEENSY36 |
97-
| Teensy 3.5 | teensy35 | mk64fx512/fpv4-sp-d16-hard | ARDUINO_TEENSY35 |
98-
| Teensy 3.2 / 3.1 | teensy31 | mk20dx256 | ARDUINO_TEENSY32 / ARDUINO_TEENSY31 |
99-
| ESP32 Dev Module | esp32dev | esp32 | ESP32 |
100-
| STM32-E407 | olimex_e407 | cortex-m4 | TARGET_STM32F4 |
101-
| Arduino Due | due | cortex-m3 | - |
102-
| Arduino Zero | zero | cortex-m0plus | - |
103-
104-
Now to proceed with the PlatformIO workflow:
105-
106-
```bash
107-
pio lib install # Install dependencies
108-
pio run # Build the firmware
109-
pio run --target upload # Flash the firmware
110-
```
111-
112-
An example of a micro-ROS application using PlatformIO is available [here](https://github.com/husarion/micro_ros_stm32_template).
113-
114-
#### Known issues
115-
116-
- `multiple definition of` Link errors on galactic:
117-
118-
Create a python script fix_linker.py on your directory and modify the linker flags manually:
119-
```
120-
Import("env")
121-
env["_LIBFLAGS"] = ('-Wl,--start-group -Wl,--whole-archive '
122-
'${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, LIBPREFIXES, '
123-
'LIBSUFFIXES, __env__)} -Wl,--no-whole-archive -lstdc++ '
124-
'-lsupc++ -lm -lc -lgcc -lnosys -lmicroros -Wl,--end-group')
125-
```
126-
127-
Now add it to your `platformio.ini` like this: `extra_scripts = fix_linker.py` and delete the `-l libmicroros` line on `build_flags`.
128-
129-
Related: https://github.com/micro-ROS/micro_ros_arduino/pull/848#issuecomment-1072196933, https://github.com/micro-ROS/micro_ros_arduino/issues/774
130-
131-
- Arduino Portenta H7
132-
- Follow **`multiple definition of` Link errors on galactic** modifications
133-
134-
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/847
135-
136-
- Arduino Nano RP2040 Connect
137-
138-
- The following versioning shall be used:
139-
```
140-
lib_deps =
141-
arduino-libraries/WiFiNINA@^1.8.13
142-
...
143-
144-
platform_packages =
145-
toolchain-gccarmnoneeabi @ ~1.70201.0
146-
framework-arduino-mbed @ ~2.4.1
147-
```
148-
149-
- Library dependency finder shall be set to `chain+`: `lib_ldf_mode = chain+`
150-
- Follow **`multiple definition of` Link errors on galactic** modifications
151-
152-
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/780
153-
154-
- Arduino Due
155-
- The following versioning shall be used:
156-
```
157-
platform_packages =
158-
toolchain-gccarmnoneeabi@<1.50000.0
159-
```
160-
161-
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/698
162-
163-
- ESP32 Dev Module
164-
- Known issues with espressif32 arduino package, use `2.0.2` version:
165-
```
166-
[env:esp32dev]
167-
platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
168-
board = esp32dev
169-
framework = arduino
170-
lib_deps =
171-
https://github.com/micro-ROS/micro_ros_arduino.git
172-
build_flags =
173-
-L ./.pio/libdeps/esp32dev/micro_ros_arduino/src/esp32/
174-
-l microros
175-
-D ESP32
176-
177-
platform_packages =
178-
toolchain-xtensa32 @ ~2.80400.0
179-
framework-arduinoespressif32@https://github.com/espressif/arduino-esp32.git#2.0.2
180-
```
181-
182-
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/736, https://github.com/platformio/platform-espressif32/issues/616
75+
PlatformIO support for this repository has been deprecated in favor of its own build system: [micro_ros_platformio](https://github.com/micro-ROS/micro_ros_platformio)
18376

18477
## How to build the precompiled library
18578

0 commit comments

Comments
 (0)