Thanks @RoSchmi - I’m just playing around at this stage but a bit frustrated that numerous boards I purchased are not readily usable with the new TinyCLR environment. I think though that getting this RS21 to work on my G400 would be a very good learning experience for me.
What’s bothering me though is that I can’t find any detailed documentation stating exactly what the architecture is of TinyCLR, what the design strategy is for integrating devices and developing “drivers”.
I do not rally know what the GHI defintion of “driver” is here, is a driver something that implements some standard .Net interface or is it just an informal term for code that abstracts a device in any way that the developer wants?
I can see that the RS21 simply houses this chip and exposes it through a standard 10 pin connector. It’s also clear that interaction with the device relies on SPI.
But that’s pretty much what I know, I don’t know for example if TinyCLR includes an abstraction for SPI communication nor do I see any documentation for the numerous nuget packages that GHI have published.
I can (if I use the VS object browser) look inside the various assemblies, for example I can see this which looks neat:
But there’s no documentation for these classes (so far as I can tell) nor are there any articles that explain what these classes are intended for and not intended for. Sure anyone who’s worked in this area for some time will probably have a good understanding but frankly these classes should be documented.
Why do GHI not add XML documentation to these things and then convert that XML to a nice formatted set of HTML Pages with a tool like Doxygen or something?
In fact even that is not necessary because so long as the generated XML doc file is included within the nuget package we’d get intellisense for a lot of the assemblies.
For example if I hover over the class name ReadOnlyCollection in this project, then click goto defintion, we get this: (Visual Studio reflects on the assembly extracts all this info).
then I can expand the nodes and see the XML documentation which is a great help, especially for specialized libraries:
But I can’t do this for any of the TinyCLR assemblies but this alone would be a huge help for developers that are new to this area and new to TinyCLR.