示例#1
0
        public  async Task<bool> Init(int address, int cols, int rows, int charSize = LCDConstants.LCD_5x8DOTS,
            int en = 6, int rw = 5, 
            int rs = 4, int d4 = 0, 
            int d5 = 1, int d6 = 2, 
            int d7 = 3,
            int? backlightPin = null, BacklightPolarity? polarity = null)
        {
            _address = address;

            if (_lcdHitachiI2Cio == null)
            {
                _lcdHitachiI2Cio = new LCD_Hitachi_I2CIO(_i2CDevice);
                if (await _lcdHitachiI2Cio.Init(_address))
                {
                    _lcdHitachiI2Cio.PortMode(LCDConstants.OUTPUT);  // Set the entire IO extender to OUTPUT
                    _displayFunction = LCDConstants.LCD_4BITMODE | LCDConstants.LCD_1LINE | LCDConstants.LCD_5x8DOTS;
                    _lcdHitachiI2Cio.Write(0);  // Set the entire port to LOW
                }
            }

            await Begin(cols, rows, charSize);

            _backlightPinMask = 0;
            _backlightStsMask = LCD_NOBACKLIGHT;
            _polarity = BacklightPolarity.Positive;

            _en = (1 << en);
            _rw = (1 << rw);
            _rs = (1 << rs);

            // Initialise pin mapping
            _dataPins[0] = (1 << d4);
            _dataPins[1] = (1 << d5);
            _dataPins[2] = (1 << d6);
            _dataPins[3] = (1 << d7);

            if (backlightPin != null && polarity != null)
            {
                SetBacklightPin(backlightPin.Value, polarity.Value);
            }

            return true;
        }
示例#2
0
 public I2CLCD(int address, int en, int rw, int rs, int d4, int d5, int d6, int d7, int backlightPin, BacklightPolarity pol)
 {
     _config(address, en, rw, rs, d4, d5, d6, d7);
     SetBacklightPin(backlightPin, pol);
 }
示例#3
0
 public I2CLCD(int address, int en, int rw, int rs, int backlightPin, BacklightPolarity pol)
 {
     _config(address, en, rw, rs, D4, D5, D6, D7);
     SetBacklightPin(backlightPin, pol);
 }
示例#4
0
 public I2CLCD(int address, int backlightPin, BacklightPolarity pol)
 {
     _config(address, EN, RW, RS, D4, D5, D6, D7);
     SetBacklightPin(backlightPin, pol);
 }
示例#5
0
 public override void SetBacklightPin(int value, BacklightPolarity pol)
 {
     _backlightPinMask = (1 << value);
     _polarity         = pol;
     SetBacklight(Constants.BackLightOff);
 }
示例#6
0
 public I2CLCD(int address, int en, int rw, int rs, int d4, int d5, int d6, int d7, int backlightPin, BacklightPolarity pol)
 {
     _config(address, en, rw, rs, d4, d5, d6, d7);
     SetBacklightPin(backlightPin, pol);
 }
示例#7
0
 public I2CLCD(int address, int en, int rw, int rs, int backlightPin, BacklightPolarity pol)
 {
     _config(address, en, rw, rs, D4, D5, D6, D7);
     SetBacklightPin(backlightPin, pol);
 }
示例#8
0
 public I2CLCD(int address, int backlightPin, BacklightPolarity pol)
 {
     _config(address, EN, RW, RS, D4, D5, D6, D7);
     SetBacklightPin(backlightPin, pol);
 }
示例#9
0
 public override void SetBacklightPin(int value, BacklightPolarity pol)
 {
     _backlightPinMask = (1 << value);
     _polarity = pol;
     SetBacklight(Constants.BackLightOff);
 }
示例#10
0
 public virtual void SetBacklightPin(int value, BacklightPolarity pol)
 {
     
 }
示例#11
0
 public virtual void SetBacklightPin(int value, BacklightPolarity pol)
 {
 }