From 83847b8634cbf0ff21ae2b42c414c86ac16ed068 Mon Sep 17 00:00:00 2001 From: Olav de Haas Date: Fri, 13 Dec 2019 09:55:06 +0100 Subject: [PATCH] Ready for v1.0.0 release --- README.md | 62 +++++++++++++++++++------------------------------- platformio.ini | 3 +++ 2 files changed, 27 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 9096d75..fa4d922 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,24 @@ -# Input Device +# 🕹ī¸ Input Device The input device is embedded in the crutch, it allows the pilot to control the exoskeleton. -## Install ros_lib -Follow this tutorial to install ros on arduino (make sure to clone the jade-devel branch, which supports kinetic): -http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup +| Branch | Build Status | +| ------ |:------------:| +| master | [![Build Status](https://api.travis-ci.com/project-march/input-device.svg?branch=master)](https://travis-ci.com/project-march/input-device) | +| develop | [![Build Status](https://api.travis-ci.com/project-march/input-device.svg?branch=develop)](https://travis-ci.com/project-march/input-device) | -However running this on a ESP32 is automatically using the ArduinoTcpHardware instead of the default. See this issue: -https://github.com/ros-drivers/rosserial/issues/354 -For now this can be fixed by adjusting the ros.h file and deleting the define(ESP32) in the if statement +## 🛠ī¸ Building +This project uses the cross platform builder [platformio](https://docs.platformio.org/en/latest/what-is-platformio.html). +So you will need to install that first. +Then to install the libraries run: -## Add Custom Messages -Add your custom messages to the rosserial_msgs package in rosserial. And build again ros_lib in the lib folder of this project. http://wiki.ros.org/rosserial/Tutorials/Adding%20Other%20Messages. However, the master (the terminal that run the roscore) should also have access to the custom messages. This means that the rosserial project with the custom messages should be sourced. + pio lib install -## Add Messages from package -http://wiki.ros.org/rosserial_arduino/Tutorials/Adding%20Custom%20Messages - -## Building -The project can be built with `pio run`. +The project can then be built with `pio run`. There exist three environments for building: 1. `demo`: builds in debug mode and does not wait for a response from the master. -2. `debug`: builds in debug mode. +2. `debug`: builds in debug mode. _This is the default._ 2. `release`: builds in release mode. To choose an environment use the `--environment (-e)` option. For example to @@ -32,26 +29,15 @@ build the release environment run: This only builds the project. To actually upload the project, connect the input device and use the `--target (-t)` option. - pio run -e -t upload - -## Configure CLion -1. Install platformio and integrate it within the Clion ide, using the - following - [tutorial](https://docs.platformio.org/en/latest/ide/clion.html) -2. Git clone the balance repository -3. Initialise platformio through the terminal using ```platformio init - --ide clion ``` in the balance_ipd_firmware directory. -4. Before the device can be connected a wifi access point needs to be - made. The SSID and password of which needs to be specified at the top - of ros_wifi.h in the ipd_firmware directory. In addition the ip - address of the computer running ROS needs to be known and added to - the same header file. -5. You can build the project with ```pio run``` and upload with ```pio run --target upload``` - -## Launch process -Once a connection is made through wifi, there are two ways that the -input from the ipd can be seen through ROS: - -1. run ```roscore``` and ``` rosrun rosserial_python serial_node.py - tcp``` in terminal -2. launch ```roslaunch balance_ipd balance_ipd.launch``` + pio run -t upload + +## 🚀 Launch process +The input device can be launched with a ROS serial connection. +For this a workspace with the [march repository](https://github.com/project-march/march) +is required. + + roslaunch march_launch serial_connection.launch + +## 🤖 Install ros_lib +This project uses ROS messages from the [`march_shared_resources`](https://github.com/project-march/march/tree/develop/march_shared_resources) package. +So when these messages are changed the `ros_lib` in the `lib/` directory will need to be updated. How to do this is described here: . diff --git a/platformio.ini b/platformio.ini index 6ba27b5..5ae559e 100644 --- a/platformio.ini +++ b/platformio.ini @@ -7,6 +7,9 @@ ; ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html +[platformio] +description = Embedded software for the input device embedded in the crutch +default_envs = debug [env] platform = espressif32