Skip to content

Commit fe53958

Browse files
committed
Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md
Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Update _docs/tutorials/basic/getting_started_olimex_freertos/index.md Co-Authored-By: Julián Bermúdez Ortega <julianbermudez@eprosima.com> Minor fixes
1 parent 43bfa18 commit fe53958

1 file changed

Lines changed: 18 additions & 44 deletions

File tree

  • _docs/tutorials/basic/getting_started_olimex_freertos

_docs/tutorials/basic/getting_started_olimex_freertos/index.md

Lines changed: 18 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,16 @@ This tutorial uses the following hardware:
2222
| USB-Serial Cable Female | [Link](https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-F/) |
2323

2424

25-
Olimex STM32-E407 features a STM32F407 Cortex-M4 microcontroller. It has 1MB Flash and 196 kB RAM of which 64 kB are core coupled (CCM SRAM). Other features of the chip are:
26-
27-
- Three 12 bits @ 2.4MHz ADC
28-
- Two 12 bits DAC
29-
- USB OTG FS
30-
- USB OTG HS
31-
- Ethernet
32-
- 14 timers
33-
- 3 SPI
34-
- 3 I2C
35-
- 2 CAN
36-
- 114 GPIOs
37-
38-
Most of these peripherals are mapped into Olimex board headers.
39-
40-
The micro-ROS + FreeRTOS port of this evaluation board relies on a STM32CubeMX generated project, so HAL and low-level configuration can be tuned to specific requirements.
41-
42-
The out-of-the-box HAL configuration included in the port packages configures the minimal communication and debugging peripheral required for micro-ROS.
43-
4425
## Adding a new micro-ROS app
4526

46-
First of all make sure that you have a **ROS 2 Dashing** installation.
27+
First of all make sure that you have a **ROS 2** installation.
4728

4829
***TIP:** if you are familiar with Docker containers, this image may be useful: [ros:dashing](https://hub.docker.com/layers/ros/library/ros/dashing/images/sha256-b796c14ea663537129897769aa6c715a851ca08dffd4875ef2ecaa31a4dbd431?context=explore)*
4930

50-
On the **ROS 2 Dashing** installation open a command line and follow these steps:
31+
On the **ROS 2** installation open a command line and follow these steps:
5132

5233
```bash
53-
# Source the ROS 2 Dashing installation
34+
# Source the ROS 2 installation
5435
source /opt/ros/$ROS_DISTRO/setup.bash
5536

5637
# Create a workspace and download the micro-ROS tools
@@ -68,7 +49,7 @@ source install/local_setup.bash
6849
```
6950

7051

71-
Now, lets create a firmware workspace that targets all the required code and tools for Olimex development board and FreeRTOS:
52+
Now, let's create a firmware workspace that targets all the required code and tools for Olimex development board and FreeRTOS:
7253

7354
```bash
7455
# Create step
@@ -77,12 +58,13 @@ ros2 run micro_ros_setup create_firmware_ws.sh freertos olimex-stm32-e407
7758

7859
Now you have all the required tools to crosscompile micro-ROS and FreeRTOS for Olimex STM32-E407 development board. At this point, you must know that the micro-ROS build system is a four-step workflow:
7960

61+
<!-- TODO (pablogs9): Remove and link to build-system tutorial when done -->
8062
1. **Create**: retrieves all the required packages for a specific RTOS and hardware platform.
8163
2. **Configure**: configures the downloaded packages with options such as the micro-ROS application, the selected transport layer or the micro-ROS agent IP address (in network transports).
8264
3. **Build**: generates a binary file ready for being loaded in the hardware.
8365
4. **Flash**: load the micro-ROS software in the hardware.
8466

85-
Micro-ROS apps for Olimex + FreeRTOS are located at `firmware/freertos_apps/apps`. In order to create a new application, create a new folder containing two files: the app code and the RMW configuration.
67+
micro-ROS apps for Olimex + FreeRTOS are located at `firmware/freertos_apps/apps`. In order to create a new application, create a new folder containing two files: the app code and the RMW configuration.
8668

8769
```bash
8870
# Creating a new app
@@ -92,11 +74,11 @@ cd my_brand_new_app
9274
touch app.c app-colcon.meta
9375
```
9476

95-
For this example we are going to create a ping pong app where a node sends a ping package with a unique identifier using a publisher and the same package is received by a pong subscriber. The node will also answer to
77+
For this example we are going to create a ping pong app where a node sends a ping package with a unique identifier using a publisher and the same package is received by a pong subscriber. The node will also answer to:
9678

9779
![pingpong](http://www.plantuml.com/plantuml/png/ZOwnIWGn48RxFCNFzSkoUG2vqce5jHEHi1dtWZkPa6GByNntavZY10yknMJu-ORlFwPiOjvvK-d3-M2YOR1uMKvHc93ZJafvoMML07d7h1NAE-DPWblg_na8vnwEx9OeZmzFOt1-BK7AzetJciPxCfRYVw1S0SbRLBEg1IpXPIvpUWLCmZpXIm6BS3addt7uQpu0ZQlxT1MK2r0g-7sfqbsbRrVfMrMwgbev3CDTlsqJGtJhATUmSMrMg5TKwaZUxfcttuMt7m00)
9880

99-
First of all lets configure the RMW with the required static memory. The `app-colcon.meta` should look like:
81+
To start creating this app, lets configure the RMW with the required static memory. You can read more about RMW and Micro XRCE-DDS Configuration [here](/docs/tutorials/basic/microxrcedds_rmw_configuration/) The `app-colcon.meta` should look like:
10082

10183
```
10284
{
@@ -115,7 +97,7 @@ First of all lets configure the RMW with the required static memory. The `app-co
11597
}
11698
```
11799

118-
On the other hand, `app.c` should look like the following code:
100+
Meanwhile `app.c` should look like the following code:
119101

120102
```c
121103
#include <allocators.h>
@@ -275,7 +257,7 @@ void appMain(void *argument)
275257
}
276258
```
277259
278-
Once the new folder is created, lets configure our new app with a serial transport on UART 3:
260+
Once the new folder is created, let's configure our new app with a serial transport on UART 3:
279261
280262
```bash
281263
# Configure step
@@ -289,7 +271,7 @@ When the configuring step ends, just build the firmware:
289271
ros2 run micro_ros_setup build_firmware.sh
290272
```
291273

292-
Once the build has successfully ended, lets power and connect the board. First, connect Olimex ARM-USB-TINY-H JTAG programmer to the board's JTAG port:
274+
Once the build has successfully ended, let's power and connect the board. First, connect Olimex ARM-USB-TINY-H JTAG programmer to the board's JTAG port:
293275

294276
<img width="400" style="padding-right: 25px;" src="https://raw.githubusercontent.com/micro-ROS/micro-ROS.github.io/34c7da536776145693f46e178a2c0f09dcde973e/_docs/tutorials/basic/getting_started_olimex_freertos/2.jpg">
295277

@@ -305,23 +287,23 @@ ros2 run micro_ros_setup flash_firmware.sh
305287
```
306288
## Running the micro-ROS app
307289

308-
The micro-ROS app is ready to connect to a micro-ROS Agent and start talking with the rest of the ROS 2 world.
290+
The micro-ROS app is ready to connect to a micro-ROS-Agent and start talking with the rest of the ROS 2 world.
309291

310292
First of all, create and build a micro-ROS agent:
311293

312294
```bash
313-
# Download micro-ROS Agent packages
295+
# Download micro-ROS-Agent packages
314296
ros2 run micro_ros_setup create_agent_ws.sh
315297

316-
# Build micro-ROS Agent packages, this may take a while.
298+
# Build micro-ROS-Agent packages, this may take a while.
317299
colcon build
318300
```
319301

320302
Then connect the Olimex development board to the computer using the usb to serial cable:
321303

322304
<img width="400" style="padding-right: 25px;" src="https://raw.githubusercontent.com/micro-ROS/micro-ROS.github.io/feature/olimex_freertos_tutorial/_docs/tutorials/basic/getting_started_olimex_freertos/5.jpg">
323305

324-
***TIP:** Color codes are applicable to [this cable](https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-F/). Make sure to match Olimex Rx with Cable Tx and viceversa. Rememeber GND!*
306+
***TIP:** Color codes are applicable to [this cable](https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-F/). Make sure to match Olimex Rx with Cable Tx and vice-versa. Remember GND!*
325307

326308
Then run the agent:
327309

@@ -332,7 +314,7 @@ ros2 run micro_ros_agent micro_ros_agent serial --dev [device]
332314

333315
***TIP:** you can use this command to find your serial device name: `ls /dev/serial/by-id/*`*
334316

335-
And finally, lets check that everything is working. We are going to listen to ping topic to check whether the Ping Pong node is publishing its own pings
317+
And finally, let's check that everything is working. We are going to listen to ping topic to check whether the Ping Pong node is publishing its own pings
336318

337319
```bash
338320
# Subscribe to micro-ROS ping topic
@@ -355,14 +337,14 @@ frame_id: '730417256_1085377743'
355337
---
356338
```
357339

358-
On another command line, lets subscribe to the pong topic
340+
On another command line, let's subscribe to the pong topic
359341

360342
```bash
361343
# Subscribe to micro-ROS pong topic
362344
ros2 topic echo /microROS/pong
363345
```
364346

365-
At this point, we know that our app is publishing pings. Lets check if it also answer to someone else pings:
347+
At this point, we know that our app is publishing pings. Let's check if it also answers to someone else pings:
366348

367349
```bash
368350
# Send a fake ping
@@ -402,14 +384,6 @@ frame_id: fake_ping
402384
```
403385

404386

405-
406-
407-
408-
409-
410-
411-
412-
413387
<!-- http://www.plantuml.com/plantuml/uml/bOwnIWGn48RxFCNFzSkoUG2vqce5jHEHi1dtWZkPa6GByNntavZY40yqnMJu-ORlFwPiOjvvK-dD-M2YOR1uMKvHc93ZJafvoMML07d5h1NAE-DHWblg_nu8vnwEx9Oem_tTmnYSNqkIidtXjARnbeob-2ifLqZo5jMjQWLBU9hBd9u1ap1F-5308bpEoMSSVhWFG0FhFbqdvOAKIdvUodINwN_8z9zbkifQFmp3JJzk4qDqwodNi75jLgYNLEf8tkwPj--5joy0 -->
414388

415389

0 commit comments

Comments
 (0)