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#include <SegDriver_PCx85.h>
5
19 public:
20 SegLCD_PCF85176_OneDigit(SegTransportI2C& transport, uint8_t address = DEFAULT_PCF85176_I2C_ADDRESS, uint8_t subaddress = DEFAULT_SUBADDRESS);
21 void init() override;
22 void init(bool reverse);
23 void init(bool reverse, bool v1fix);
24 size_t write(uint8_t ch) override;
25
26 private:
27 void _setDecimal(uint8_t row, uint8_t col, bool state) override;
28 static constexpr uint8_t RAM_SIZE = 5;
29
30 static constexpr uint8_t FLAG_REVERSE = 0x01;
31 static constexpr uint8_t FLAG_V1FIX = 0x02;
32
33 static constexpr uint8_t DIGITS = 5; // TODO: Do it somehow dynamic as this can be dynamic and this is just maximum
34
35 // Decimal configuration: RAM offset -1 (dot belongs to previous position)
36 static constexpr uint8_t DECIMAL_POINT_BIT = 0x01;
37 static constexpr uint8_t DECIMAL_MIN_COL = 0;
38 static constexpr uint8_t DECIMAL_MAX_COL = DIGITS-1; // All digits supports decimal
39 static constexpr int8_t DECIMAL_COL_OFFSET = -1; // -1: dot belongs to previous position
40};
41#endif
Implementation of the PCF85176 controllers.
Definition SegDriver_PCx85.h:141
static constexpr uint8_t DEFAULT_PCF85176_I2C_ADDRESS
Definition SegDriver_PCx85.h:23
static constexpr uint8_t DEFAULT_SUBADDRESS
Definition SegDriver_PCx85.h:24
Single-digit LCD with flexible segment layout (PCF85176).
Definition SegLCD_PCF85176_OneDigit.h:18
size_t write(uint8_t ch) override
Definition SegLCD_PCF85176_OneDigit.cpp:49
static constexpr uint8_t DECIMAL_POINT_BIT
Definition SegLCD_PCF85176_OneDigit.h:36
static constexpr uint8_t DECIMAL_MIN_COL
Definition SegLCD_PCF85176_OneDigit.h:37
static constexpr uint8_t RAM_SIZE
Definition SegLCD_PCF85176_OneDigit.h:28
static constexpr int8_t DECIMAL_COL_OFFSET
Definition SegLCD_PCF85176_OneDigit.h:39
static constexpr uint8_t DIGITS
Definition SegLCD_PCF85176_OneDigit.h:33
static constexpr uint8_t DECIMAL_MAX_COL
Definition SegLCD_PCF85176_OneDigit.h:38
void _setDecimal(uint8_t row, uint8_t col, bool state) override
Virtual method for setting decimal point.
Definition SegLCD_PCF85176_OneDigit.cpp:22
static constexpr uint8_t FLAG_REVERSE
Definition SegLCD_PCF85176_OneDigit.h:30
void init() override
Logical display sections that can be targeted by higher-level rendering logic.
Definition SegLCD_PCF85176_OneDigit.cpp:7
static constexpr uint8_t FLAG_V1FIX
Definition SegLCD_PCF85176_OneDigit.h:31
Abstract I2C transport.
Definition SegTransport.h:65