I have written a windows app for my project which facilitates serial communication with a microcontroller using a virtual COM port. This has been pretty straightforward - the chip manufacturer (atmel) provides usb drivers (not even necessary for Windows 10, only lower versions) and accessing the port is some basic code.
However I wanted it to work on other systems, mainly osx, too. I just found out about mono, ran my app through the mono migration analyzer and to my delight, apart from a couple invokes the app is relatively good to go (only a couple issues I think I can resolve).
There are 2 big issues that remain:
- How can I access mac com ports using mono? According to this it is not easy.
- Even if I can get the right serial port, how do I communicate with it? Atmel only provides windows drivers, so I'm afraid that won't work at all.
I have asked a similar question regarding the second issue on avr forum and a helpful user replied with this:
Might be as simple as linking the macOS's USB device file system "somehow" into Mono's run-time.
which I must shamefully say I'm not sure what it means and if is at all achievable by me - with my limited programming knowledge and basically no experience with osx. So I'm afraid solutions like Class Compliance are far out of my reach.
Thanks in advance!