| 98 | } |
| 99 | |
| 100 | bool from_float(std::string_view sv, float& value) { |
| 101 | // std::from_chars() does not work for float arguments on ESP32 |
| 102 | std::string s(sv); |
| 103 | char* floatEnd; |
| 104 | const char* str = s.c_str(); |
| 105 | value = strtof(str, &floatEnd); |
| 106 | if (floatEnd != (str + sv.length())) { |
| 107 | return false; |
| 108 | } |
| 109 | |
| 110 | return true; |
| 111 | } |
| 112 | |
| 113 | bool split(std::string_view& input, std::string_view& next, char delim) { |
| 114 | auto pos = input.find_first_of(delim); |