Sorry guys. This post will be brief and contain some little technical detail. Some things will be confusing because I’m still working on straightening things out.
https://github.com/dharbott/ASCOM-Telescope-Driver
https://github.com/dharbott/Arduino-Telescope-Driver
Arduino char -> 8-bit signed, ASCII C# char -> 16-bit unsigned UNICODE
Arduino float -> 32-bit single precision floating point C# single -> 32-bit single precision floating point
Arduino double -> doesn't exist C# double -> 64-bit double precision floating point
Arduino int -> 16-bit integer C# int -> 32-bit integer
Arduino microcontroller - LittleEndian byte encoding My Computer i3 processor (?) - LittleEndian byte encoding
Arduino Serial.write(...) -> sends byte data, serially C# Serial.TransmitBinary(...) -> sends byte data, serially
Arduino Serial.read() -> reads in one byte of data C# Serial.ReceiveByte() -> reads in one byte of data
Arduino processing -> weak 'typed' language C#, .NET -> strong 'typed' language
strong 'typed' language : less freedom, more security - also means we must use proper, logical, and hopefully efficient data type agreement throughout the entire driver