public static LiquidCrystal_I2C_PCF8574 Detect(Nusbio nusbio, int maxColumn, int maxRow, NusbioGpio sda = NusbioGpio.Gpio7, NusbioGpio scl = NusbioGpio.Gpio6, List <int> i2cIDs = null, bool displayMessage = true) { if (i2cIDs == null) { i2cIDs = I2C_IDS; } foreach (var lcdI2cId in i2cIDs) { var lcdI2C = new LiquidCrystal_I2C_PCF8574(nusbio, sda, scl, maxColumn, maxRow, deviceId: lcdI2cId); if (lcdI2C.Begin(maxColumn, maxRow)) { if (displayMessage) { Console.WriteLine("I2C LCD ID:0x{0:X} found", lcdI2cId); } System.Threading.Thread.Sleep(1000); return(lcdI2C); } else { if (displayMessage) { Console.WriteLine("I2C LCD ID:0x{0:X} not found", lcdI2cId); } } } return(null); }
public BiColorLed(Nusbio nusbio, NusbioGpio led0GpioPin, NusbioGpio led1GpioPin) { this.Led0 = new Led(nusbio, led0GpioPin); this.Led1 = new Led(nusbio, led1GpioPin); this.State = BiColorLedState.Off; this.AllOff(); }
public ShiftRegister74HC595(Nusbio nusbio, NusbioGpio dataPin, NusbioGpio latchPin, NusbioGpio clockPin) { this._dataPin = dataPin; this._latchPin = latchPin; this._clockPin = clockPin; this._nusbio = nusbio; }
public ShiftRegister74HC595(Nusbio nusbio, NusbioGpio dataPin,NusbioGpio latchPin,NusbioGpio clockPin) { this._dataPin = dataPin; this._latchPin = latchPin; this._clockPin = clockPin; this._nusbio = nusbio; }
public MCP41X1_Base(Nusbio nusbio, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio misoGpio, NusbioGpio clockGpio, NusbioGpio resetGpio = NusbioGpio.None, bool debug = false) { this._spiEngine = new SPIEngine(nusbio, selectGpio, mosiGpio, misoGpio, clockGpio, resetGpio, debug); this.Voltage = Nusbio.Voltage; // Nusbio is a 5 volt device this.MaxDigitalValue = 128; this.MinDigitalValue = 0; }
public MCP4132(Nusbio nusbio, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio misoGpio, NusbioGpio clockGpio, bool debug = false) : base(nusbio, selectGpio, mosiGpio, misoGpio, clockGpio, NusbioGpio.None, debug) { base.MaxResistance = 100000; // 100k Ohm }
public Button(Nusbio nusbio, NusbioGpio gpioPin, bool inverse = false) { this._gpioPin = gpioPin; this._nusbio = nusbio; this.Inverse = inverse; this._nusbio.SetPinMode(gpioPin, PinMode.Input); }
private static void ReverseGpio(NusbioGpio gpio, Nusbio nusbio) { if (nusbio.GPIOS[gpio].Mode == PinMode.Output) { nusbio.GPIOS[gpio].State = !nusbio.GPIOS[gpio].State; nusbio.GPIOS[gpio].DigitalWrite(nusbio.GPIOS[gpio].State ? PinState.High : PinState.Low); } }
/// <summary> /// SPI Constructor /// </summary> /// <param name="nusbio"></param> /// <param name="clockPin"></param> /// <param name="mosiPin"></param> /// <param name="misoPin"></param> /// <param name="selectPin"></param> /// <param name="kBit"></param> /// <param name="debug"></param> public EEPROM_25AA256(Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, bool debug = false) : base(nusbio, clockPin, mosiPin, misoPin, selectPin, 256, debug) { }
public Button(Nusbio nusbio, NusbioGpio gpioPin, string name = null, bool inverse = false) { this.Name = name; this._gpioPin = gpioPin; this._nusbio = nusbio; this.Inverse = inverse; this._nusbio.SetPinMode(gpioPin, PinMode.Input); }
public OLED(Nusbio nusbio, int width, int height, NusbioGpio clock, NusbioGpio mosi, NusbioGpio select, NusbioGpio dc, NusbioGpio reset, OledDriver driver = OledDriver.SH1106, bool debug = false) : base((Int16)width, (Int16)height) { this.Driver = driver; this.Width = width; this.Height = height; this._spiEngine = new spi.SPIEngine(nusbio, select, mosi, NusbioGpio.None, clock, reset, debug: debug); this._spiEngine.DCGpio = dc; this.PIN_DC = (nusbio[dc] as Gpio).Bit; }
private void Experiment(Nusbio nusbio, NusbioGpio inPin, NusbioGpio outPin) { nusbio.SetPinMode(inPin, PinMode.Input); // Raise Voltage to 1v at the + of the capacitor nusbio[0].High(); // Raise Voltage to 5v at the + of the capacitor Thread.Sleep(1000); nusbio[0].Low(); nusbio.SetPinMode(inPin, PinMode.Output); // Raise Voltage to 1v at the + of the capacitor Thread.Sleep(500); }
public TC77(Nusbio nusbio, NusbioGpio clockGpio, NusbioGpio mosiGpio, NusbioGpio misoGpio, NusbioGpio selectGpio, bool debug = false) : base(nusbio) { this._spi = new SPIEngine(nusbio, selectGpio, mosiGpio, misoGpio, clockGpio, NusbioGpio.None, false); }
private static void ClockGpio(Nusbio nusbio, NusbioGpio g, int wait = 0) { nusbio[g].DigitalWrite(PinState.High); nusbio[g].DigitalWrite(PinState.Low); if (wait > 0) { System.Threading.Thread.Sleep(wait); } }
public LiquidCrystal_I2C_PCF8574(Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin, int cols, int rows, int deviceId = 0x27, bool debug = false, int backlight = LCD_NOBACKLIGHT) : base(nusbio) { base.NumCols = (uint8_t)cols; base.NumLines = (uint8_t)rows; this._i2c = new I2CEngine(nusbio, sdaOutPin, sclPin, (byte)deviceId, debug); this._backlightval = backlight; this._i2c.DeviceId = (byte)deviceId; this.DeviceID = deviceId; this._nusbio = nusbio; }
public LEDBackpack Add(int16_t width, int16_t height, Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin, byte addr) { var b = new LEDBackpack(width, height, nusbio, sdaOutPin, sclPin); if (b.Detect(addr)) { b.Begin(addr); this._backpacks.Add(b); return b; } else return null; }
public MCP23008(Nusbio nusbio, NusbioGpio sdaPin, NusbioGpio sclPin, int gpioStartIndex = 8) : base(nusbio, sdaPin, sclPin) { this._gpioStartIndex = (byte)gpioStartIndex; for (var i = 0; i < this.GetMaxGPIO(); i++) { base.AddGPIO(MCP230XX_Base.BuildGpioName(this.GpioStartIndex + i), PinMode.Output, true); } }
public EEPROM_25AA1024(Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, bool debug = false) : base(nusbio, clockPin, mosiPin, misoPin, selectPin, 1024, debug) { var b = this.MaxByte; var p = this.MaxPage; }
public NusbioSevenSegmentDisplay( Nusbio nusbio, int sevenSegmentCount, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio clockGpio, int deviceCount = 1) : base(nusbio, selectGpio, mosiGpio, clockGpio, deviceCount) { this.SevenSegmentCount = sevenSegmentCount; }
public EEPROM_25AAXXX_BASE(Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, int kBit, bool debug = false) { this._kBit = kBit; this._spi = new SPIEngine(nusbio, selectPin, mosiPin, misoPin, clockPin, debug: debug); }
private static void ReverseLed3State(NusbioGpio led, Nusbio nusbio) { if (nusbio.GPIOS[led].AsLed.ExecutionMode == ExecutionModeEnum.Blinking) { nusbio.GPIOS[led].AsLed.SetBlinkModeOff(); } else { nusbio.GPIOS[led].AsLed.ReverseSet(); } }
public EEPROM_25AA1024_FILESYSTEM(Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, bool debug = false) : base(nusbio, clockPin, mosiPin, misoPin, selectPin, debug) { var b = this.MaxByte; var p = this.MaxPage; DATA_START_ADDR = this.PAGE_SIZE * 2; }
public MCP4231(Nusbio nusbio, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio misoGpio, NusbioGpio clockGpio, bool debug = false) : base(nusbio, selectGpio, mosiGpio, // Per datasheet // On the MCP41X1 devices, pin-out limitations do not allow for individual SDI and SDO pins. // On these devices, the SDI and SDO pins are multiplexed. // Therefore MISO = MOSI misoGpio, clockGpio, NusbioGpio.None, debug) { base.MaxResistance = 10000; // 10k Ohm }
public static NusbioSevenSegmentDisplay Initialize( Nusbio nusbio, int sevenSegmentCount, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio clockGpio, int deviceCount = 0) { var sevenSegmentDisplay = new NusbioSevenSegmentDisplay(nusbio, sevenSegmentCount, selectGpio, mosiGpio, clockGpio, deviceCount: deviceCount); sevenSegmentDisplay.Begin(DEFAULT_BRIGTHNESS_DEMO); return(sevenSegmentDisplay); }
public EEPROM_AT28C16(Nusbio nusbio, List <NusbioGpio> addressLines, NusbioGpio writeEnable, NusbioGpio outputEnable) { this._addressLines = addressLines; this._writeEnable = writeEnable; this._outputEnable = outputEnable; this._nusbio = nusbio; _nusbio[this._outputEnable].Low(); // Enable _nusbio[this._writeEnable].High(); // Disable }
public NOR_FLASH_S25FLXXXX( Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, bool debug = false) : base(nusbio, clockPin, mosiPin, misoPin, selectPin, NOR_FLASH_S25FL164K_kBit, debug) { var b = this.MaxByte; var p = this.MaxPage; this._spi.Unselect(); }
public EEPROM_25AAXXX_BASE(Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, int kBit, bool debug = false, bool chipSelectActiveLow = true ) { this._kBit = kBit; this._spi = new SPIEngine(nusbio, selectPin, mosiPin, misoPin, clockPin, debug: debug, chipSelectActiveLow: chipSelectActiveLow); }
public LEDBackpack Add(int16_t width, int16_t height, Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin, byte addr) { var b = new LEDBackpack(width, height, nusbio, sdaOutPin, sclPin); if (b.Detect(addr)) { b.Begin(addr); this._backpacks.Add(b); return(b); } else { return(null); } }
// Implementation for USB device Nusbio v1 public sFsManager( string volumeName, SecureString pw, Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, bool debug = false) { this._fatWriterReader = new FATWriterReaderEEPROMImpl(nusbio, clockPin, mosiPin, misoPin, selectPin, debug); this._pw = pw; this.VolumeName = volumeName; this.FileInfos = new List <sFsFileInfo>(); }
public EEPROM_M93C86(Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, bool debug = false) : base(nusbio, clockPin, mosiPin, misoPin, selectPin, 16, debug, chipSelectActiveLow: false // << important ) { var b = this.MaxByte; var p = this.MaxPage; this.SetWriteRegisterEnable(); //this.SetWriteRegisterDisable(); }
public NusbioMatrix( Nusbio nusbio, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio clockGpio, NusbioGpio gndGpio, MAX7219_WIRING_TO_8x8_LED_MATRIX max7219Wiring, int deviceCount = 1) : base(nusbio, selectGpio, mosiGpio, clockGpio, deviceCount) { this.MAX7219Wiring = max7219Wiring; if (gndGpio != NusbioGpio.None) { nusbio.GPIOS[gndGpio].Low(); // Act as GND } }
public ShiftRegister74HC595(Nusbio nusbio, int maxGpio, NusbioGpio dataPin, NusbioGpio latchPin, NusbioGpio clockPin) { this._dataPin = dataPin; this._latchPin = latchPin; this._clockPin = clockPin; this._nusbio = nusbio; this.SetPinDefaultState(); // To handle 8bit shift registers remove the last gpio // from 15 to 23 while (ExGpios.Count > maxGpio) { ExGpios.RemoveAt(ExGpios.Count - 1); } }
// Implementation for USB device Nusbio v1 public sFsManager( string volumeName, string pw, Nusbio nusbio, NusbioGpio clockPin, NusbioGpio mosiPin, NusbioGpio misoPin, NusbioGpio selectPin, bool debug = false) : base(nusbio, clockPin, mosiPin, misoPin, selectPin, debug) { this._pw = pw; this.VolumeName = volumeName; var b = this.MaxByte; var p = this.MaxPage; this.FileInfos = new List <sFsFileInfo>(); }
private static void ShiftOut(Nusbio nusbio, NusbioGpio dataPin , NusbioGpio clockPin , int bitOrder , int val) { int i; for (i = 0; i < 8; i++) { if (bitOrder == LSBFIRST) { var a = (val & (1 << i)); nusbio.GPIOS[dataPin].DigitalWrite(Nusbio.ConvertToPinState(a)); } else { var b = (val & (1 << (7 - i))); nusbio.GPIOS[dataPin].DigitalWrite(Nusbio.ConvertToPinState(b)); } nusbio.GPIOS[clockPin].DigitalWrite(PinState.High); nusbio.GPIOS[clockPin].DigitalWrite(PinState.Low); } }
public MCP9808_TemperatureSensor(Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin, byte deviceId = MCP9808_I2CADDR_DEFAULT, int waitTimeAfterWriteOperation = 5, bool debug = false) { this._i2c = new I2CEngine(nusbio, sdaOutPin, sclPin, deviceId, debug); this._nusbio = nusbio; }
public EEPROM_24LCXXX_BASE(Nusbio nusbio, NusbioGpio sdaPin, NusbioGpio sclPin, int kBit, bool debug = false) { this._kBit = kBit; this._i2c = new I2CEngine(nusbio, sdaPin, sclPin, 0, debug); }
public MCP4132(Nusbio nusbio, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio misoGpio, NusbioGpio clockGpio, bool debug = false) : base(nusbio, selectGpio, mosiGpio, misoGpio, clockGpio, NusbioGpio.None, debug ) { base.MaxResistance = 100000; // 100k Ohm }
public LEDBackpack(int16_t width, int16_t height, Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin) : base(width, height) { this._nusbio = nusbio; this._i2c = new I2CEngine(nusbio, sdaOutPin, sclPin, 0); }
private int _waitTimeAfterWriteOperation = 5; // milli second public EEPROM_24LCXXX(Nusbio nusbio, NusbioGpio sdaPin, NusbioGpio sclPin, int kBit, int waitTimeAfterWriteOperation = 5, bool debug = false) : base(nusbio, sdaPin, sclPin, kBit) { this._waitTimeAfterWriteOperation = waitTimeAfterWriteOperation; }
public BiColorLedMCP4231Manager(Nusbio nusbio, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio misoGpio, NusbioGpio clockGpio, bool debug = false) : base(nusbio, selectGpio, mosiGpio, misoGpio, clockGpio, debug) { base.MaxResistance = 10000; // 10k Ohm }
public static int ShiftIn(Nusbio nusbio, NusbioGpio dataPin, NusbioGpio clockPin, int bitOrder) { int value = 0; int i; for (i = 0; i < 8; ++i) { nusbio.GPIOS[clockPin].DigitalWrite(PinState.High); if (bitOrder == LSBFIRST) value |= Nusbio.ConvertTo1Or0(nusbio.GPIOS[dataPin].DigitalRead()) << i; else value |= Nusbio.ConvertTo1Or0(nusbio.GPIOS[dataPin].DigitalRead()) << (7 - i); nusbio.GPIOS[clockPin].DigitalWrite(PinState.Low); } return value; }
public EEPROM_24LC512(Nusbio nusbio, NusbioGpio sdaPin, NusbioGpio sclPin, int waitTimeAfterWriteOperation = 5, bool debug = false) : base(nusbio, sdaPin, sclPin, 512, waitTimeAfterWriteOperation, debug) { }
public LiquidCrystal_I2C(Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin, int cols, int rows, byte deviceId = 0x27, bool debug = false) { this._cols = (uint8_t)cols; this._rows = (uint8_t)rows; this._nusbio = nusbio; this._i2c = new I2CEngine(nusbio, sdaOutPin, sdaOutPin, sclPin, 0, debug); this._backlightval = LCD_NOBACKLIGHT; this._i2c.DeviceId = deviceId; }
public MCP23008(Nusbio nusbio, NusbioGpio sdaPin, NusbioGpio sclPin, int gpioStartIndex = 0) : base(nusbio, sdaPin, sclPin) { this._gpioStartIndex = (byte)gpioStartIndex; for (var i = 0; i < this.GetMaxGPIO(); i++) { base.AddGPIO(MCP230XX_Base.BuildGpioName(this.GpioStartIndex + i), PinMode.Output, true); } }
public _4Digits7Segments(Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin) : base(0, 0, nusbio, sdaOutPin, sclPin) { this._position = 0; }
private static void ReverseLed3State(NusbioGpio led, Nusbio nusbio) { if (nusbio.GPIOS[led].AsLed.ExecutionMode == ExecutionModeEnum.Blinking) nusbio.GPIOS[led].AsLed.SetBlinkModeOff(); else nusbio.GPIOS[led].AsLed.ReverseSet(); }
public ArduinoClient(Nusbio nusbio, NusbioGpio gpio) { this._gpio = gpio; this._nusbio = nusbio; }
public Led(Nusbio nusbio, NusbioGpio gpioPin) { this._gpioPin = gpioPin; this._nusbio = nusbio; }
public MCP4231(Nusbio nusbio, NusbioGpio selectGpio, NusbioGpio mosiGpio, NusbioGpio misoGpio, NusbioGpio clockGpio, bool debug = false) : base(nusbio, selectGpio, mosiGpio, // Per datasheet // On the MCP41X1 devices, pin-out limitations do not allow for individual SDI and SDO pins. // On these devices, the SDI and SDO pins are multiplexed. // Therefore MISO = MOSI misoGpio, clockGpio, NusbioGpio.None, debug ) { base.MaxResistance = 10000; // 10k Ohm }
public MCP4725_12BitDac(Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin, byte deviceId, int waitTimeAfterWriteOperation = 5, bool debug = false) { this._i2c = new I2CEngine(nusbio, sdaOutPin, sclPin, deviceId, debug); }
public LightSensorWithCapacitor(Nusbio nusbio, NusbioGpio gpio, int sampleFrequencySeconds = 2000) { _timeOut = new TimeOut(sampleFrequencySeconds); this._gpio = gpio; this._nusbio = nusbio; }
public MCP230XX_Base(Nusbio nusbio, NusbioGpio sdaOutPin, NusbioGpio sclPin) { this._nusbio = nusbio; this._i2c = new I2CEngine(nusbio, sdaOutPin, sclPin, 0); this.GPIOS = new Dictionary<string, GpioPublicApiBase>(); }