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 <Wire.h>
5#include <SegDriver_PCx85.h>
6
20 public:
21 SegLCD_PCF85176_OneDigit(TwoWire& i2c, uint8_t address = DEFAULT_PCF85176_I2C_ADDRESS, uint8_t subaddress = DEFAULT_SUBADDRESS);
22 void init() override;
23 void init(bool reverse);
24 void init(bool reverse, bool v1fix);
25 size_t write(uint8_t ch) override;
26
27 private:
28 void _setDecimal(uint8_t row, uint8_t col, bool state) override;
29 static constexpr uint8_t RAM_SIZE = 5;
30
31 static constexpr uint8_t FLAG_REVERSE = 0x01;
32 static constexpr uint8_t FLAG_V1FIX = 0x02;
33
34 static constexpr uint8_t DIGITS = 5; // TODO: Do it somehow dynamic as this can be dynamic and this is just maximum
35
36 // Decimal configuration: RAM offset -1 (dot belongs to previous position)
37 static constexpr uint8_t DECIMAL_POINT_BIT = 0x01;
38 static constexpr uint8_t DECIMAL_MIN_COL = 0;
39 static constexpr uint8_t DECIMAL_MAX_COL = DIGITS-1; // All digits supports decimal
40 static constexpr int8_t DECIMAL_COL_OFFSET = -1; // -1: dot belongs to previous position
41};
42#endif
Implementation of the PCF85176 controllers.
Definition SegDriver_PCx85.h:144
static constexpr uint8_t DEFAULT_PCF85176_I2C_ADDRESS
Definition SegDriver_PCx85.h:26
static constexpr uint8_t DEFAULT_SUBADDRESS
Definition SegDriver_PCx85.h:27
Single-digit LCD with flexible segment layout (PCF85176).
Definition SegLCD_PCF85176_OneDigit.h:19
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:37
static constexpr uint8_t DECIMAL_MIN_COL
Definition SegLCD_PCF85176_OneDigit.h:38
static constexpr uint8_t RAM_SIZE
Definition SegLCD_PCF85176_OneDigit.h:29
static constexpr int8_t DECIMAL_COL_OFFSET
Definition SegLCD_PCF85176_OneDigit.h:40
static constexpr uint8_t DIGITS
Definition SegLCD_PCF85176_OneDigit.h:34
static constexpr uint8_t DECIMAL_MAX_COL
Definition SegLCD_PCF85176_OneDigit.h:39
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:31
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:32