262 #ifndef _LIQUIDCRYSTAL_SR1W_
263 #define _LIQUIDCRYSTAL_SR1W_
265 #include <inttypes.h>
278 #define SR1W_DELAY_US 5
279 #define SR1W_DELAY() { delayMicroseconds(SR1W_DELAY_US); numDelays++; }
284 #define SR1W_UNUSED_MASK 0x01 // Set unused bit(s) to '1' as they are slightly faster to clock in.
285 #define SR1W_D7_MASK 0x02
286 #define SR1W_D6_MASK 0x04
287 #define SR1W_D5_MASK 0x08
288 #define SR1W_D4_MASK 0x10
289 #define SR1W_BL_MASK 0x20
290 #define SR1W_RS_MASK 0x40
291 #define SR1W_EN_MASK 0x80 // This cannot be changed. It has to be the first thing shifted in.
293 #define SR1W_ATOMIC_WRITE_LOW(reg, mask) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { *reg &= ~mask; }
294 #define SR1W_ATOMIC_WRITE_HIGH(reg, mask) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { *reg |= mask; }
297 typedef enum { SW_CLEAR, HW_CLEAR } t_sr1w_circuitType;
314 t_backlighPol blpol = POSITIVE);
328 virtual void send(uint8_t value, uint8_t mode);
349 void init ( uint8_t srdata, t_sr1w_circuitType circuitType, t_backlighPol blpol,
350 uint8_t lines, uint8_t font );
363 uint8_t loadSR (uint8_t val);
365 fio_register _srRegister;
368 t_sr1w_circuitType _circuitType;
Definition: LiquidCrystal_SR1W.h:299
virtual void send(uint8_t value, uint8_t mode)
Definition: LiquidCrystal_SR1W.cpp:194
void setBacklight(uint8_t mode)
Definition: LiquidCrystal_SR1W.cpp:235
LiquidCrystal_SR1W(uint8_t srdata, t_sr1w_circuitType circuitType, t_backlighPol blpol=POSITIVE)
Definition: LiquidCrystal_SR1W.cpp:40