public static void Write(uint baud, byte data, FPGA.Signal <bool> TXD) { // default TXD is high bool internalTXD = true; // hardlink from register to output signal, it has to hold its value FPGA.Config.Link(internalTXD, TXD); UART.RegisteredWrite(baud, data, out internalTXD); }
public static void RegisteredWriteUnsigned64(uint baud, ulong data, out bool TXD) { // cannot use data direclty as it is used by "ref" in hardware ulong buff = data; Func <byte> lsb = () => (byte)buff; FPGA.Config.Default(out TXD, true); for (byte i = 0; i < 8; i++) { FPGA.Config.SetInclusiveRange(0, 8, i); UART.RegisteredWrite(baud, lsb(), out TXD); buff = buff >> 8; } }