diff options
| author | Maximilien Cuony <maximilien@theglu.org> | 2016-06-04 15:28:11 +0200 |
|---|---|---|
| committer | Maximilien Cuony <maximilien@theglu.org> | 2016-06-04 15:28:11 +0200 |
| commit | b47c16bb91991d3cbf004de5b1d5f610a5b2c807 (patch) | |
| tree | fb32a704a1dbec46c4ae06a36aaaa574fff9d85c /src/common | |
| parent | 8a937bc9bcec87816636db9f7fbf11b52ec7e864 (diff) | |
| download | glutte-o-matic-b47c16bb91991d3cbf004de5b1d5f610a5b2c807.tar.gz glutte-o-matic-b47c16bb91991d3cbf004de5b1d5f610a5b2c807.tar.bz2 glutte-o-matic-b47c16bb91991d3cbf004de5b1d5f610a5b2c807.zip | |
Temperature
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/includes/GPIO/temperature.h | 41 | ||||
| -rw-r--r-- | src/common/src/Core/main.c | 11 | ||||
| -rw-r--r-- | src/common/src/GPIO/temperature.c | 62 |
3 files changed, 108 insertions, 6 deletions
diff --git a/src/common/includes/GPIO/temperature.h b/src/common/includes/GPIO/temperature.h new file mode 100644 index 0000000..a054fab --- /dev/null +++ b/src/common/includes/GPIO/temperature.h @@ -0,0 +1,41 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2016 Matthias P. Braendli, Maximilien Cuony + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. +*/ + +#include <stdint.h> + +#ifndef __TEMPERATURE_H +#define __TEMPERATURE_H + + +// Setup communication and temperature +void temperature_init(); + +// Return 1 if the temperature is valid +int temperature_valid(); + +// Get current temperature +float temperature_get(); + +#endif // __TEMPERATURE_H + diff --git a/src/common/src/Core/main.c b/src/common/src/Core/main.c index 7760d6c..f1d8e61 100644 --- a/src/common/src/Core/main.c +++ b/src/common/src/Core/main.c @@ -43,7 +43,7 @@ #include "Core/common.h" #include "GPIO/usart.h" /* #include "delay.h" */ -/* #include "temperature.h" */ +#include "GPIO/temperature.h" #include "GPIO/leds.h" #include "vc.h" @@ -102,8 +102,6 @@ int main(void) { } vTaskStartScheduler(); - /* pthread_t pth; */ - /* pthread_create(&pth, NULL, threadscheduler, "processing..."); */ /* HALT */ while(1); @@ -149,9 +147,9 @@ static void launcher_task(void *pvParameters) usart_debug_puts("GPS init\r\n"); gps_init(); - /* usart_debug_puts("DS18B20 init\r\n"); */ - /* temperature_init(); */ - /* */ + usart_debug_puts("DS18B20 init\r\n"); + temperature_init(); + /* usart_debug_puts("TaskButton init\r\n"); */ TaskHandle_t task_handle; @@ -345,6 +343,7 @@ static void gps_monit_task(void *pvParameters) { time.tm_mon, time.tm_mday, time.tm_hour, time.tm_min, time.tm_sec); + t_gps_print_latch = 1; } if (gps_time.tm_sec % 30 > 0) { diff --git a/src/common/src/GPIO/temperature.c b/src/common/src/GPIO/temperature.c new file mode 100644 index 0000000..21cb9f8 --- /dev/null +++ b/src/common/src/GPIO/temperature.c @@ -0,0 +1,62 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2016 Matthias P. Braendli, Maximilien Cuony + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. +*/ + +#include "FreeRTOS.h" +#include "FreeRTOSConfig.h" +#include "task.h" +#include "Core/common.h" +#include "GPIO/temperature.h" + + +float _temperature_last_value; +int _temperature_valid; + + +static void temperature_task(void *pvParameters); + + +void temperature_init() { + + xTaskCreate( + temperature_task, + "TaskTemperature", + 4*configMINIMAL_STACK_SIZE, + (void*) NULL, + tskIDLE_PRIORITY + 2UL, + NULL); +} + +// Return the current temperature +float temperature_get() { + if (_temperature_valid) { + return _temperature_last_value; + } else { + return 0.0f; + } +} + +// Return 1 if the temperature is valid +int temperature_valid() { + return _temperature_valid; +} |
