- Notifications
You must be signed in to change notification settings - Fork4
Examples of applications based on RIOT-OS
License
NotificationsYou must be signed in to change notification settings
aabadie/riot-apps
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Seehttps://github.com/RIOT-OS/RIOT for more information.
All samples applications here have been tested with the following setup:
- Developpement computer running Ubuntu 15.10, Wily Werewolf, 64bits.The login used for flashing the boards must be part of
dialout
andplugdev
groups:
$ sudo adduser<login> plugdev dialout
- Tested boards:
- AVR MCU Family:
- ARM MCU Family:
There are a few package that needs to be installed on the Ubuntu developpement system.
- Common packages
$ sudo apt install build-essential g++-multilib openocd gtkterm
- AVR MCU
$ sudo apt install gcc-avr gdb-avr avr-libc binutils-avr
- ARM MCU Family
$ sudo apt install gcc-arm-none-eabi gdb-arm-none-abi binutils-arm-linux-gnueabi
- MSP430 MCU Family (but not tested yet)
$ sudo apt install gcc-msp430 mspdebug msp430-libc binutils-msp430
More information is available on the RIOT documentation :https://github.com/RIOT-OS/RIOT/wiki/Introduction#compiling-riot
We suppose all the code is located in~/work
.
- Clone RIOT code (or your fork)
$ cd ~/work$ git clone git@github.com:RIOT-OS/RIOT.git
- Clone this repository (or your fork)
$ cd ~/work$ git clone git@github.com:aabadie/riot-apps.git
This repository contains 5 self-documented sample applications:
- The usual"Hello World" shows howto use the build system and display terminal
- "Serial to serial" is alittle more complex example showing how messages can be forwared from one UART interface toanother UART interface. This example uses IPC and IRQ concepts of RIOT.
- "Bluetooth module configuration tool" is atool showing how to play with threads and the shell os RIOT-OS in order toconfigure a bluetooth module connected to one of the UART of a board.
- "GPIO to serial" shows howto use the GPIO API. This application has only been tested on a SAMR21-xproboard and will require some adjustement to make it work on other boards (usedifferent ports and pins).
- "I2C temperature" shows howto use the I2C API to read the temperature on a sensor. The application isdesigned to work with a SAMR21-xpro and its Xplained extension, which providesthe temperature sensor.
- "I2C temperature 2" whichis a variant of the previous one allowing to control on demand the read of the temperaturesensor from the uart interface.
- "Point to point network"which is an advanced sample application showing how to transfert data via udpother a wireless connection. It reuses parts of theserial to serialandI2C temperatureexamples.
- Build errors of type:
undefined reference to 'i2c_init_master'
(or anyfunction from a module added in your Makefile with theFEATURES_REQUIRED
variable):Verify that you don't have a read message displayed at the beginning of thebuild:
$ make RIOTBASE=~/work/RIOT BOARD=arduino-dueThere are unsatisfied feature requirements: periph_i2cEXPECT ERRORS![...]main.c:62: undefined reference to `i2c_init_master'...i2c_temperature/bin/arduino-due/i2c_temperature.a(main.o): In function `read_temperature':...i2c_temperature/main.c:37: undefined reference to `i2c_read_bytes'collect2: error: ld returned 1 exit status
I2C is not yet implemented on arduino-due, so you cannot useperiph_i2c
withthis board.
- Spurious Build errors with module not related to the ones added in your Makefile:It's possible that you previously built your application with some modules and removedsome of them after. Then the build system is still trying to buildagainst them but they couldn't be found.The solution is to first clean the build in your application directory:
$ make clean
About
Examples of applications based on RIOT-OS
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published