public IESP32 esp32_init(PinName en, PinName io0, PinName tx, PinName rx, bool debug, PinName rts, PinName cts, int baudrate) { if (esp != null) { return(esp); } Gpio gpio_en = null; if (en != PinName.NC) { var en_obj = new gpio_t(); gpio_en = (Gpio)CreateGpio(ref en_obj, en); gpio_en.SetDirection(PinDirection.PIN_OUTPUT); } Gpio gpio_io0 = null; if (io0 != PinName.NC) { var io0_obj = new gpio_t(); gpio_io0 = (Gpio)CreateGpio(ref io0_obj, io0); gpio_io0.SetDirection(PinDirection.PIN_OUTPUT); } var serial_obj = new serial_t(); var serial = (Serial)CreateSerial(ref serial_obj, tx, rx, rts, cts); serial.SetBaudRate(baudrate); esp = new ESP32Driver(this, gpio_en, gpio_io0, serial, debug); return(esp); }
private IUnitInterface CreateGpio(ref gpio_t obj, PinName pin) { if (pin == PinName.NC) { return(null); } if (!interfaces.TryGetValue(obj.id, out var uif)) { if (pin_if.ContainsKey(pin)) { throw new ArgumentException(); } uif = new Gpio(pin); obj.id = uif.GetHashCode(); interfaces.Add(obj.id, uif); if (pin == PinName.P4_5) { obj.fthandle = fthandle; obj.ftpin = 3; } } return(uif); }
public int gpio_read(ref gpio_t obj) { if (!interfaces.TryGetValue(obj.id, out var uif)) { throw new ArgumentException(); } return(((Gpio)uif).Read()); }
public void gpio_write(ref gpio_t obj, int value) { if (!interfaces.TryGetValue(obj.id, out var uif)) { throw new ArgumentException(); } ((Gpio)uif).Write(value); }
public void gpio_dir(ref gpio_t obj, PinDirection direction) { if (!interfaces.TryGetValue(obj.id, out var uif)) { throw new ArgumentException(); } ((Gpio)uif).SetDirection(direction); }
public void gpio_mode(ref gpio_t obj, PinMode mode) { if (!interfaces.TryGetValue(obj.id, out var uif)) { throw new ArgumentException(); } ((Gpio)uif).SetMode(mode); }
public void gpio_init_out(ref gpio_t obj, PinName pin) { var uif = CreateGpio(ref obj, pin); ((Gpio)uif).SetDirection(PinDirection.PIN_OUTPUT); }
public void gpio_init(ref gpio_t obj, PinName pin) { CreateGpio(ref obj, pin); }