/Users/fmalpartida/Documents/development/mercurial repos/SW/NewLiquidCrystal_lib/LiquidCrystal_I2C_ByVac.h
// ---------------------------------------------------------------------------
// Created by GHPS on 5/06/2012.
// Copyright (C) - 2018
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License v3.0
// along with this program.
// If not, see <https://www.gnu.org/licenses/gpl-3.0.en.html>.
//
// ---------------------------------------------------------------------------
//
// Thread Safe: No
// Extendable: Yes
//
// @file LiquidCrystal_I2C_ByVac.c
// This file implements a basic liquid crystal library that comes as standard
// in the Arduino SDK but using the extension board BV4218/BV4208 from ByVac.
//
// @brief
// This is a basic implementation of the LiquidCrystal library of the
// Arduino SDK. The original library has been reworked in such a way that
// this class implements the all methods to command an LCD based
// on the Hitachi HD44780 and compatible chipsets using I2C extension
// backpack BV4218 from ByVac.
//
// The functionality provided by this class and its base class is identical
// to the original functionality of the Arduino LiquidCrystal library.
//
// @author GHPS - ghps-et-users-sourceforge-net
// ---------------------------------------------------------------------------
#ifndef LiquidCrystal_I2C_ByVac_h
#define LiquidCrystal_I2C_ByVac_h
#include <inttypes.h>
#include <Print.h>
#if defined(__AVR_ATtiny84__) || (__AVR_ATtiny2313__) || defined (__AVR_ATtiny85__)
#include "TinyWireM.h" // include this if ATtiny84 or ATtiny85 or ATtiny2313
#define Wire TinyWireM
#else
#if (ARDUINO < 10000)
#include <../Wire/Wire.h>
#else
#include <Wire.h>
#endif
#endif
#include "LCD.h"
class LiquidCrystal_I2C_ByVac : public LCD
{
public:
LiquidCrystal_I2C_ByVac (uint8_t lcd_Addr);
virtual void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS);
virtual void send(uint8_t value, uint8_t mode);
void setBacklight ( uint8_t value );
void setContrast ( uint8_t value );
private:
int init();
uint8_t _Addr; // I2C Address of the IO expander
};
#endif
LiquidCrystal_I2C_ByVac::send
virtual void send(uint8_t value, uint8_t mode)
Definition: LiquidCrystal_I2C_ByVac.cpp:111
LiquidCrystal_I2C_ByVac
Definition: LiquidCrystal_I2C_ByVac.h:64
LCD
Definition: LCD.h:199
LiquidCrystal_I2C_ByVac::begin
virtual void begin(uint8_t cols, uint8_t rows, uint8_t charsize=LCD_5x8DOTS)
Definition: LiquidCrystal_I2C_ByVac.cpp:61
LiquidCrystal_I2C_ByVac::setBacklight
void setBacklight(uint8_t value)
Definition: LiquidCrystal_I2C_ByVac.cpp:72
LiquidCrystal_I2C_ByVac::setContrast
void setContrast(uint8_t value)
Definition: LiquidCrystal_I2C_ByVac.cpp:83
LiquidCrystal_I2C_ByVac::LiquidCrystal_I2C_ByVac
LiquidCrystal_I2C_ByVac(uint8_t lcd_Addr)
Definition: LiquidCrystal_I2C_ByVac.cpp:50