Embedded System Design 2 - Project
util.h
Go to the documentation of this file.
1 /***************************************************************************//**
2  * @file util.h
3  * @brief Utility functionality.
4  * @version 3.1
5  * @author Brecht Van Eeckhoudt
6  *
7  * ******************************************************************************
8  *
9  * @section License
10  *
11  * **Copyright (C) 2019 - Brecht Van Eeckhoudt**
12  *
13  * This program is free software: you can redistribute it and/or modify
14  * it under the terms of the **GNU General Public License** as published by
15  * the Free Software Foundation, either **version 3** of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * *A copy of the GNU General Public License can be found in the `LICENSE`
24  * file along with this source code.*
25  *
26  * @n
27  *
28  * Some methods use code obtained from examples from [Silicon Labs' GitHub](https://github.com/SiliconLabs/peripheral_examples).
29  * These sections are licensed under the Silabs License Agreement. See the file
30  * "Silabs_License_Agreement.txt" for details. Before using this software for
31  * any purpose, you must agree to the terms of that agreement.
32  *
33  ******************************************************************************/
34 
35 
36 /* Include guards prevent multiple inclusions of the same header */
37 #ifndef _UTIL_H_
38 #define _UTIL_H_
39 
40 
41 /* Includes necessary for this header file */
42 #include <stdint.h> /* (u)intXX_t */
43 #include <stdbool.h> /* "bool", "true", "false" */
44 
45 
46 /** Public definition to enable/disable the logic to send certain error call values (everything except 30 - 50) to the cloud using LoRaWAN.
47  * @li `0` - Keep the MCU in a `while(true)` loop if the `error` method is called while flashing the LED and displaying a UART message.
48  * @li `1` - Display a UART message when the `error` method is called but also forward the number to the cloud using LoRaWAN. Don't go in a `while(true)` loop. */
49 #define ERROR_FORWARDING 1
50 
51 
52 /* Public prototypes */
53 void led (bool enabled);
54 void error (uint8_t number);
55 
56 
57 #endif /* _UTIL_H_ */
void error(uint8_t number)
Error method.
Definition: util.c:131
void led(bool enabled)
Enable or disable the LED.
Definition: util.c:103