mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
tests/drivers: add max31855 test application
This commit is contained in:
parent
ebf64133d7
commit
b092f954bb
6
tests/drivers/max31855/Makefile
Normal file
6
tests/drivers/max31855/Makefile
Normal file
@ -0,0 +1,6 @@
|
||||
include ../Makefile.drivers_common
|
||||
|
||||
USEMODULE += max31855
|
||||
USEMODULE += ztimer_sec
|
||||
|
||||
include $(RIOTBASE)/Makefile.include
|
3
tests/drivers/max31855/Makefile.ci
Normal file
3
tests/drivers/max31855/Makefile.ci
Normal file
@ -0,0 +1,3 @@
|
||||
BOARD_INSUFFICIENT_MEMORY := \
|
||||
atmega8 \
|
||||
#
|
79
tests/drivers/max31855/main.c
Normal file
79
tests/drivers/max31855/main.c
Normal file
@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Copyright (C) 2024 HAW Hamburg
|
||||
*
|
||||
* 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 Test application for the max31855 thermocouple-to-digital converter driver
|
||||
*
|
||||
* @author Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
|
||||
*
|
||||
* @}
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "max31855.h"
|
||||
#include "max31855_params.h"
|
||||
#include "ztimer.h"
|
||||
|
||||
#define DELAY (2)
|
||||
|
||||
int main(void)
|
||||
{
|
||||
max31855_t dev;
|
||||
max31855_data_t data;
|
||||
|
||||
puts("MAX31855 Thermocouple-to-Digital converter test application\n");
|
||||
|
||||
/* initialize first configured sensor */
|
||||
printf("Initializing MAX31855 converter...\t");
|
||||
if (max31855_init(&dev, &max31855_params[0]) == 0) {
|
||||
puts("[OK]\n");
|
||||
}
|
||||
else {
|
||||
puts("[Failed]");
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* periodically convert temperature values */
|
||||
while (1) {
|
||||
ztimer_sleep(ZTIMER_SEC, DELAY);
|
||||
max31855_read(&dev, &data);
|
||||
|
||||
if (data.fault != MAX31855_FAULT_NO_FAULT) {
|
||||
switch (data.fault) {
|
||||
case MAX31855_FAULT_GND_SHORT:
|
||||
puts("Fault: Short to GND");
|
||||
break;
|
||||
case MAX31855_FAULT_VCC_SHORT:
|
||||
puts("Fault: Short to VCC");
|
||||
break;
|
||||
case MAX31855_FAULT_OPEN_CIRCUIT:
|
||||
puts("Fault: Open circuit");
|
||||
break;
|
||||
default:
|
||||
puts("Fault: Unknown");
|
||||
break;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
printf("Thermocouple temperature: %" PRIi32 ".%"PRId32 "°C\n",
|
||||
data.thermocouple_temperature/100, data.thermocouple_temperature%100);
|
||||
|
||||
printf("Internal temperature: %" PRIi32 ".%" PRId32 "°C\n",
|
||||
data.internal_temperature/100, data.internal_temperature%100);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user