1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/tests/driver_pir
2017-02-22 18:43:02 +01:00
..
main.c driver_pir: fix unused parameter 2016-03-30 19:10:25 +09:00
Makefile tests: add nucleo32-f031 to unsufficient memory boards 2017-02-22 18:43:02 +01:00
README.md drivers: import PIR motion sensor driver 2014-09-26 18:07:46 +02:00

About

This is a manual test application for the PIR motion sensor driver.

In order to build this application, you need to add the board to the Makefile's WHITELIST first and define a pin mapping (see below).

Usage

There are two ways to test this. You can either actively poll the sensor state, or you can register a thread which receives messages for state changes.

Interrupt driven

Connect the sensor's "out" pin to a GPIO of your board that can be configured to create interrupts. Compile and flash this test application like:

export BOARD=your_board
export PIR_GPIO=name_of_your_pin
make clean
make all-interrupt
make flash

The output should look like:

kernel_init(): jumping into first task...

PIR motion sensor test application

Initializing PIR sensor at GPIO_8... [OK]

Registering PIR handler thread...     [OK]
PIR handler got a message: the movement has ceased.
PIR handler got a message: something started moving.
PIR handler got a message: the movement has ceased.

Polling Mode

Connect the sensor's "out" pin to any GPIO pin of you board. Compile and flash this test application like:

export BOARD=your_board
export PIR_GPIO=name_of_your_pin
make clean
make all-polling
make flash

The output should look like this:

kernel_init(): jumping into first task...
PIR motion sensor test application

Initializing PIR sensor at GPIO_10... [OK]

Printing sensor state every second.
Status: lo
...
Status: lo
Status: hi
...