25 #ifndef ACE_SEGMENT_WRITER_TEMPERATURE_WRITER_H
26 #define ACE_SEGMENT_WRITER_TEMPERATURE_WRITER_H
29 #include "PatternWriter.h"
30 #include "NumberWriter.h"
32 namespace ace_segment {
41 template <
typename T_LED_MODULE>
54 T_LED_MODULE&
ledModule() {
return mNumberWriter.ledModule(); }
58 return mNumberWriter.patternWriter();
65 void home() { mNumberWriter.home(); }
70 uint8_t
writeTemp(int16_t temp, int8_t boxSize = 0) {
71 return mNumberWriter.writeSignedDecimal(temp, boxSize);
85 uint8_t written = mNumberWriter.writeSignedDecimal(
86 temp, boxSize >= 1 ? boxSize - 1 : 0);
95 uint8_t written = mNumberWriter.writeSignedDecimal(
96 temp, boxSize >= 2 ? boxSize - 2 : 0);
106 uint8_t written = mNumberWriter.writeSignedDecimal(
107 temp, boxSize >= 2 ? boxSize - 2 : 0);
114 void clear() { mNumberWriter.clear(); }
The NumberWriter supports converting decimal and hexadecimal numbers to segment patterns expected by ...
Write LED segment patterns to the underlying LedModule.
The TemperatureWriter supports writing integer temperature values in Celcius or Farenheit.
PatternWriter< T_LED_MODULE > & patternWriter()
Get the underlying PatternWriter.
TemperatureWriter(NumberWriter< T_LED_MODULE > &numberWriter)
Constructor.
void clear()
Clear the entire display.
T_LED_MODULE & ledModule()
Get the underlying LedModule.
uint8_t writeTempDegF(int16_t temp, int8_t boxSize=0)
Write integer temperature with degree symbol and 'F' symbol.
uint8_t writeTempDegC(int16_t temp, int8_t boxSize=0)
Write integer temperature with degree symbol and 'C' symbol.
uint8_t writeTempDeg(int16_t temp, int8_t boxSize=0)
Write integer temperature with degree symbol.
void home()
Reset cursor to home.
NumberWriter< T_LED_MODULE > & numberWriter()
Get the underlying NumberWriter.
void clearToEnd()
Clear the display from pos to the end.
uint8_t writeTemp(int16_t temp, int8_t boxSize=0)
Write signed integer temperature without deg or unit within the boxSize.