public ulong write_read_as_ulong(string bus_id, int device_address, ulong write_buffer, int write_buffer_length, int read_buffer_length)
        {
            var writeBuffer2 = ConverterPythonProxy.ULongToArray(write_buffer, write_buffer_length);
            var readBuffer   = new byte[read_buffer_length];

            _i2CBusService.WriteRead(bus_id, device_address, writeBuffer2.AsArraySegment(), readBuffer.AsArraySegment());

            return(ConverterPythonProxy.ArrayToULong(readBuffer));
        }
        public void write_as_ulong(string bus_id, int device_address, ulong buffer, int buffer_length)
        {
            if (bus_id == null)
            {
                throw new ArgumentNullException(nameof(bus_id));
            }

            var buffer2 = ConverterPythonProxy.ULongToArray(buffer, buffer_length);

            _i2CBusService.Write(bus_id, device_address, buffer2.AsArraySegment());
        }