From 6b9690cdb78666681804832594f163d9d7d67b3f Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Mon, 3 Jan 2022 17:43:18 +0100 Subject: [PATCH] tests/pkg_arduino_adafruit_sensor: add test app --- tests/pkg_arduino_adafruit_sensor/Makefile | 5 ++ tests/pkg_arduino_adafruit_sensor/Makefile.ci | 6 +++ .../app.config.test | 3 ++ tests/pkg_arduino_adafruit_sensor/main.cpp | 49 +++++++++++++++++++ .../tests/01-run.py | 26 ++++++++++ 5 files changed, 89 insertions(+) create mode 100644 tests/pkg_arduino_adafruit_sensor/Makefile create mode 100644 tests/pkg_arduino_adafruit_sensor/Makefile.ci create mode 100644 tests/pkg_arduino_adafruit_sensor/app.config.test create mode 100644 tests/pkg_arduino_adafruit_sensor/main.cpp create mode 100755 tests/pkg_arduino_adafruit_sensor/tests/01-run.py diff --git a/tests/pkg_arduino_adafruit_sensor/Makefile b/tests/pkg_arduino_adafruit_sensor/Makefile new file mode 100644 index 0000000000..45ca1e8ed0 --- /dev/null +++ b/tests/pkg_arduino_adafruit_sensor/Makefile @@ -0,0 +1,5 @@ +include ../Makefile.tests_common + +USEPKG += arduino_adafruit_sensor + +include $(RIOTBASE)/Makefile.include diff --git a/tests/pkg_arduino_adafruit_sensor/Makefile.ci b/tests/pkg_arduino_adafruit_sensor/Makefile.ci new file mode 100644 index 0000000000..13ab4aacc2 --- /dev/null +++ b/tests/pkg_arduino_adafruit_sensor/Makefile.ci @@ -0,0 +1,6 @@ +BOARD_INSUFFICIENT_MEMORY := \ + arduino-duemilanove \ + arduino-uno \ + arduino-nano \ + nucleo-l011k4 \ + # diff --git a/tests/pkg_arduino_adafruit_sensor/app.config.test b/tests/pkg_arduino_adafruit_sensor/app.config.test new file mode 100644 index 0000000000..8789d8831d --- /dev/null +++ b/tests/pkg_arduino_adafruit_sensor/app.config.test @@ -0,0 +1,3 @@ +# this file enables modules defined in Kconfig. Do not use this file for +# application configuration. This is only needed during migration. +CONFIG_PACKAGE_ARDUINO_ADAFRUIT_SENSOR=y diff --git a/tests/pkg_arduino_adafruit_sensor/main.cpp b/tests/pkg_arduino_adafruit_sensor/main.cpp new file mode 100644 index 0000000000..8227bcca84 --- /dev/null +++ b/tests/pkg_arduino_adafruit_sensor/main.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 Gunar Schorcht + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup tests + * @{ + * + * @file + * @brief Tests the Adafruit Unified Sensor Drive + * + * @author Gunar Schorcht + * + * @} + */ + +#include + +#include "Adafruit_Sensor.h" + +class ADXL345 : public Adafruit_Sensor +{ + public: + bool getEvent(sensors_event_t *) { return false; }; + void getSensor(sensor_t *sensor); +}; + +void ADXL345::getSensor(sensor_t *s) +{ + memset(s, 0, sizeof(sensor_t)); + strncpy(s->name, "ADXL345", ARRAY_SIZE(s->name) - 1); + s->version = 1; + s->sensor_id = 12345; + s->type = SENSOR_TYPE_ACCELEROMETER; + s->min_delay = 0; + s->min_value = -156.9064F; /* -16g = 156.9064 m/s^2 */ + s->max_value = 156.9064F; /* 16g = 156.9064 m/s^2 */ + s->resolution = 0.03923F; /* 4mg = 0.0392266 m/s^2 */ +} + +int main(void) +{ + ADXL345 adxl345; + adxl345.printSensorDetails(); +} diff --git a/tests/pkg_arduino_adafruit_sensor/tests/01-run.py b/tests/pkg_arduino_adafruit_sensor/tests/01-run.py new file mode 100755 index 0000000000..df0092a0bf --- /dev/null +++ b/tests/pkg_arduino_adafruit_sensor/tests/01-run.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 + +# Copyright (C) 2021 Gunar Schorchtr +# +# This file is subject to the terms and conditions of the GNU Lesser +# General Public License v2.1. See the file LICENSE in the top level +# directory for more details. + +import sys +from testrunner import run + + +def testfunc(child): + child.expect_exact('------------------------------------') + child.expect_exact('Sensor: ADXL345') + child.expect_exact('Type: Acceleration (m/s2)') + child.expect_exact('Driver Ver: 1') + child.expect_exact('Unique ID: 12345') + child.expect_exact('Min Value: -156.90') + child.expect_exact('Max Value: 156.90') + child.expect_exact('Resolution: 0.03') + child.expect_exact('------------------------------------') + + +if __name__ == "__main__": + sys.exit(run(testfunc))