LCDDriver_NXP_Arduino 0.3.2
Temperature sensor device operation sample code for Arduino
Loading...
Searching...
No Matches
LCDDriver.h
Go to the documentation of this file.
1
8#ifndef ARDUINO_LCD_DRIVER_H
9#define ARDUINO_LCD_DRIVER_H
10
11#include <Arduino.h>
12#include <stdint.h>
13
14#include "I2C_device.h"
15
24class PCA8561 : public I2C_device
25{
26public:
28 static const int N_COM = 4;
29
31 static const int N_SEG = 18;
32 enum reg_num {
38 };
39
44 PCA8561( uint8_t i2c_address = (0x70 >> 1) );
45
51 PCA8561( TwoWire& wire, uint8_t i2c_address = (0x70 >> 1) );
52 virtual ~PCA8561();
53
58 void begin( void );
59
66 void com_seg( int com, int seg, bool v );
67
73 void puts( const char* s, int dly = 0 );
74
81#ifdef putchar
82#undef putchar
83#endif
84 void putchar( char c );
85
90 void clear( bool no_flush = false );
91
92#if DOXYGEN_ONLY
97 bool ping( void );
98
106 int reg_w( uint8_t reg_adr, uint8_t *data, uint16_t size );
107
115 int reg_w( uint8_t reg_adr, uint8_t data );
116
124 int reg_r( uint8_t reg_adr, uint8_t *data, uint16_t size );
125
131 uint8_t reg_r( uint8_t reg_adr );
132
138 void write_r8( uint8_t reg, uint8_t val );
139
145 uint8_t read_r8( uint8_t reg );
146
155 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
156 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
157#endif // DOXYGEN_ONLY
158
159private:
160 void init( void );
161 void flush( void );
162 void char2seg( int pos, int c );
163 uint8_t bf[ 12 ];
164 char str_buffer[ 4 ];
165 int str_pos = 0;
166 static uint16_t char_pattern[61];
167};
168
169#endif // ARDUINO_LCD_DRIVER_H
int reg_w(uint8_t reg_adr, uint8_t data)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
@ Display_ctrl_1
Definition LCDDriver.h:34
@ COM3_15_08
Definition LCDDriver.h:37
@ COM2_17_16
Definition LCDDriver.h:37
@ Device_ctrl
Definition LCDDriver.h:33
@ COM0_07_00
Definition LCDDriver.h:35
@ COM3_17_16
Definition LCDDriver.h:37
@ COM3_07_00
Definition LCDDriver.h:37
@ COM2_07_00
Definition LCDDriver.h:36
@ COM0_15_08
Definition LCDDriver.h:35
@ COM1_15_08
Definition LCDDriver.h:36
@ Display_ctrl_2
Definition LCDDriver.h:34
@ COM1_07_00
Definition LCDDriver.h:35
@ COM1_17_16
Definition LCDDriver.h:36
@ COM0_17_16
Definition LCDDriver.h:35
@ Software_reset
Definition LCDDriver.h:33
@ COM2_15_08
Definition LCDDriver.h:36
void putchar(char c)
Definition LCDDriver.cpp:54
bool ping(void)
void clear(bool no_flush=false)
Definition LCDDriver.cpp:82
void puts(const char *s, int dly=0)
Definition LCDDriver.cpp:46
uint8_t reg_r(uint8_t reg_adr)
void com_seg(int com, int seg, bool v)
Definition LCDDriver.cpp:34
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
void flush(void)
Definition LCDDriver.cpp:77
static uint16_t char_pattern[61]
Definition LCDDriver.h:166
static const int N_COM
Definition LCDDriver.h:28
void init(void)
Definition LCDDriver.cpp:15
void write_r8(uint8_t reg, uint8_t val)
static const int N_SEG
Definition LCDDriver.h:31
void char2seg(int pos, int c)
Definition LCDDriver.cpp:93
int reg_r(uint8_t reg_adr, uint8_t *data, uint16_t size)
uint8_t bf[12]
Definition LCDDriver.h:163
uint8_t read_r8(uint8_t reg)
void begin(void)
Definition LCDDriver.cpp:29
char str_buffer[4]
Definition LCDDriver.h:164
virtual ~PCA8561()
Definition LCDDriver.cpp:25
int str_pos
Definition LCDDriver.h:165
int reg_w(uint8_t reg_adr, uint8_t *data, uint16_t size)