SegLCDLib
Loading...
Searching...
No Matches
SegLCD_PCF85176_OneDigit.h
Go to the documentation of this file.
1#ifndef SEGLCD_PCF85176_ONEDIGIT_H
2#define SEGLCD_PCF85176_ONEDIGIT_H
3
4
5#if !defined(SEGLCD_DISABLE_ALL_LCDS) || defined(SEGLCD_ENABLE_PCF85176_ONEDIGIT)
7
21 public:
22 SegLCD_PCF85176_OneDigit(SegTransportI2C& transport, uint8_t address = DEFAULT_PCX85_I2C_ADDRESS, uint8_t subaddress = DEFAULT_SUBADDRESS);
23 void init() override;
24 void init(bool reverse);
25 void init(bool reverse, bool v1fix);
26 using SegLCDLib::write;
27 size_t write(uint8_t ch) override;
28
29 private:
30 void _setDecimal(uint8_t row, uint8_t col, bool state) override;
31 static constexpr uint8_t RAM_SIZE = 5;
32
33 static constexpr uint8_t FLAG_REVERSE = 0x01;
34 static constexpr uint8_t FLAG_V1FIX = 0x02;
35
36 static constexpr uint8_t DIGITS = 5; // TODO: Do it somehow dynamic as this can be dynamic and this is just maximum
37
38 // Decimal configuration: RAM offset -1 (dot belongs to previous position)
39 static constexpr uint8_t DECIMAL_POINT_BIT = 0x01;
40 static constexpr uint8_t DECIMAL_MIN_COL = 0;
41 static constexpr uint8_t DECIMAL_MAX_COL = DIGITS-1; // All digits supports decimal
42 static constexpr int8_t DECIMAL_COL_OFFSET = -1; // -1: dot belongs to previous position
43};
44#endif
45
46#endif
Implementation of the PCF85176 controllers.
Definition SegDriver_PCF85176.h:9
static constexpr uint8_t DEFAULT_PCX85_I2C_ADDRESS
Definition SegDriver_PCx85.h:18
static constexpr uint8_t DEFAULT_SUBADDRESS
Definition SegDriver_PCx85.h:19
virtual size_t write(uint8_t)
Definition SegLCDLib.h:113
Single-digit LCD with flexible segment layout (PCF85176).
Definition SegLCD_PCF85176_OneDigit.h:20
size_t write(uint8_t ch) override
Definition SegLCD_PCF85176_OneDigit.cpp:50
static constexpr uint8_t DECIMAL_POINT_BIT
Definition SegLCD_PCF85176_OneDigit.h:39
static constexpr uint8_t DECIMAL_MIN_COL
Definition SegLCD_PCF85176_OneDigit.h:40
static constexpr uint8_t RAM_SIZE
Definition SegLCD_PCF85176_OneDigit.h:31
static constexpr int8_t DECIMAL_COL_OFFSET
Definition SegLCD_PCF85176_OneDigit.h:42
static constexpr uint8_t DIGITS
Definition SegLCD_PCF85176_OneDigit.h:36
static constexpr uint8_t DECIMAL_MAX_COL
Definition SegLCD_PCF85176_OneDigit.h:41
void _setDecimal(uint8_t row, uint8_t col, bool state) override
Virtual method for setting decimal point.
Definition SegLCD_PCF85176_OneDigit.cpp:23
static constexpr uint8_t FLAG_REVERSE
Definition SegLCD_PCF85176_OneDigit.h:33
void init() override
Logical display sections that can be targeted by higher-level rendering logic.
Definition SegLCD_PCF85176_OneDigit.cpp:8
static constexpr uint8_t FLAG_V1FIX
Definition SegLCD_PCF85176_OneDigit.h:34
Abstract I2C transport.
Definition SegTransport.h:54