TinyCLR OS 2.1 Preview 3
We know MORE coding is part of your New Year’s resolution, so we’ve added more features in the latest release of Preview 3 of TinyCLR OS for you to play with before final production release.
In-Field Update Reworked
This very powerful, and secure, feature received even more tricks under its belt. First of all, the feature now takes streams for new firmware and new application. Those streams can be network streams, file streams, and memory streams. You can even mix and match as you desire! We then gave the user the option to either use external RAM or external FLASH to be used as the required temp buffers. This means, small devices with no external RAM (extended heap) can use external flash instead.
Of course, worry not, all temp buffers held in external memories are kept in its encrypted form. All decryption is happening in the internal secure memories.
The graphics update callback for updating displays has been updated to handle partial drawing. Meaning, if only few pixels have changed, there is no longer a need to graphic.Flush() the entire screen, partial flush instead Flush(x, y, width, height).
SPI also received a new spi.Write() overload that accepts x, y, width, height. It automatically does the needed matrix extract and sends the proper data.
We did not stop there! We added a “pixel multiplier” that allows you to use larger displays without needing more memory! Basically, you can now use a 320×240 display but then set the column and row multipliers to (2,2) and then the needed memory is only 160×120. You have just used the same display with 25% of the needed memory. This is needed as commercial needs called for larger display but no need for higher resolution. This gets better as you can use the multiplier on either width or height. For example, converting 320×240 to 320×120 display. This saves 50% of the memory but still gives you plenty of resolution.
The built-in support for PWM uses hardware to generate signals very accurately with zero processing. However, hardware-PWM only worked on specific pins. We now support PWM on any pin. While software PWM is not very accurate and requires constant processor time to generate the signal, it works well at lower frequencies. This is good for dimming lights or driving servos. Speaking of servos, we are now introducing a new servo NuGet as well.
To help our customers in completing their FCC/CE compliance of their final products, we have passed SITCore through the required testing. Provided are those test results.