common.h
1 /*
2  * uuid-common - Microcontroller common utilities
3  * Copyright 2019 Simon Arlott
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef UUID_COMMON_H_
20 #define UUID_COMMON_H_
21 
22 #include <Arduino.h>
23 
24 #include <string>
25 #include <vector>
26 
33 namespace uuid {
34 
45 std::string read_flash_string(const __FlashStringHelper *flash_str);
46 
55 size_t print_to_string(const Printable &printable, std::string &output);
56 
64 std::string printable_to_string(const Printable &printable);
65 
71 using flash_string_vector = std::vector<const __FlashStringHelper*>;
72 
79 void loop();
80 
87 uint64_t get_uptime_ms();
88 
89 } // namespace uuid
90 
91 #endif
uint64_t get_uptime_ms()
Get the current uptime as a 64-bit milliseconds value.
void loop()
Loop function that must be called regularly to detect a 32-bit uptime overflow.
Definition: loop.cpp:23
Common utilities.
std::vector< const __FlashStringHelper * > flash_string_vector
Type definition for a std::vector of flash strings.
Definition: common.h:71
std::string read_flash_string(const __FlashStringHelper *flash_str)
Read a string from flash and convert it to a std::string.
size_t print_to_string(const Printable &printable, std::string &output)
Append to a std::string by printing a Printable object.
std::string printable_to_string(const Printable &printable)
Create a std::string from a Printable object.