3ROO_FLAG(
char, roo_quantity_default_temperature_unit,
'C');
8void TemperatureToString(
const Temperature& t,
char* out,
int maxlen) {
9 switch (GET_ROO_FLAG(roo_quantity_default_temperature_unit)) {
12 snprintf(out, maxlen,
"?°F");
14 snprintf(out, maxlen,
"%g°F", t.degFahrenheit());
20 snprintf(out, maxlen,
"?°K");
22 snprintf(out, maxlen,
"%g°K", t.degKelvin());
28 snprintf(out, maxlen,
"?°C");
30 snprintf(out, maxlen,
"%g°C", t.degCelcius());
36void TemperatureDeltaToString(
const TemperatureDelta& dt,
char* out,
int maxlen) {
37 switch (GET_ROO_FLAG(roo_quantity_default_temperature_unit)) {
40 snprintf(out, maxlen,
"?°F");
42 snprintf(out, maxlen,
"%g°F", dt.degFahrenheit());
48 snprintf(out, maxlen,
"?°K");
50 snprintf(out, maxlen,
"%g°K", dt.degKelvin());
56 snprintf(out, maxlen,
"?°C");
58 snprintf(out, maxlen,
"%g°C", dt.degCelcius());
65#if defined(ESP32) || defined(ESP8266) || defined(__linux__)
67std::string Temperature::asString()
const {
69 TemperatureToString(*
this, out, 16);
73std::string TemperatureDelta::asString()
const {
75 TemperatureDeltaToString(*
this, out, 16);
83String Temperature::asArduinoString()
const {
85 TemperatureToString(*
this, out, 16);
89String TemperatureDelta::asArduinoString()
const {
91 TemperatureDeltaToString(*
this, out, 16);
99 TemperatureToString(t, out, 16);
106 TemperatureDeltaToString(dt, out, 16);
Representation of a temperature, internally stored as floating-point Celsius degrees.
For convenience conversion from roo_time::Duration.
roo_logging::Stream & operator<<(roo_logging::Stream &os, const Area &val)
ROO_FLAG(char, roo_quantity_default_temperature_unit, 'C')