private void I2CStart() { // start signal = pull sda down while scl is high _sda.On(); I2CSleep(); _scl.On(); I2CSleep(); _sda.Off(); I2CSleep(); _scl.Off(); I2CSleep(); }
/// <summary> /// This is the bit that actually does the bit banging to the chip /// </summary> private void SendAllValues() { _registerClockPin.Off(); foreach (var b in _values.Reverse()) { _signalClockPin.Off(); if (b) { _signalPin.On(); } else { _signalPin.Off(); } _signalClockPin.On(); } _registerClockPin.On(); _registerClockPin.Off(); _outputEnabledPin.Off(); // low = enabled, ensure that the output is actually enabled }