1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/tests/driver_pir
2020-10-15 18:52:51 +02:00
..
main.c driver/pir: add pir-based occupancy sensing 2018-06-26 13:46:37 -07:00
Makefile tests: BOARD_INSUFFICIENT_MEMORY -> Makefile.ci 2019-10-17 15:11:59 +02:00
Makefile.ci tests: skip nucleo-l011k4 where it doesn't fit 2020-10-15 18:52:51 +02:00
README.md tests/driver_pir: remove redundant/double configuration from Makefile 2018-07-03 23:46:29 -07: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:

CFLAGS="-DPIR_PARAM_GPIO=name_of_your_pin -DPIR_PARAM_ACTIVE_HIGH=if_gpio_pin_is_high_or_low_when_pir_is_active" make BOARD=your_board clean all-interrupt flash

Ideally, the above configuration passed via CFLAGS should be in "board.h"

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:

CFLAGS="-DPIR_PARAM_GPIO=name_of_your_pin -DPIR_PARAM_ACTIVE_HIGH=if_gpio_pin_is_high_or_low_when_pir_is_active" make BOARD=your_board make clean all-polling flash

Ideally, the above configuration passed via CFLAGS should be in "board.h"

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
...