Hi, CiccioCB is the author and I expect he will reply when he gets a chance.
Firstly, C++ is a compiler, whereas Annex is a BASIC interpreter.
The compiler effectively runs in unlimited computer memory, and C++ scripts effectively have unlimited storage space, while the uploaded compiled executable code effectively has the entire device resources to itself, and only consists of just the code that is required for that particular use.
All of the capabilities of Annex (whether used or not) are squeezed onto the device resources, including the Annex BASIC interpreter along with all the required drivers for all of its capabilities, which shares space for file storage for all of the uploaded scripts, plus Over The Air bootloader.
The capabilities of Annex are amazing, and it is CiccioCB who is the wizard who has achieved that minor miracle, so any future justifiable development needs to be expertly squeezed into the few remaining invaluable resources without causing any Buckaroo disasters... which is most certainly not something to be hacked at by anyone else, any more than the C++ compiler is open to be hacked by community development.
What the limited resources of Annex can do is amazing, but it's never going to run linux.
So once the limits of Annex are accepted, a bit of ingenuity can usually find ways to work around what it cannot do.
For instance, why waste valuable resources adding INC(n) function when n=n+1 will suffice.
And there are many ways to easily connect multiple cheap devices together to add greater distributed functionality, and not necessarily all Annex devices.
If I wanted Annex to execute some compiled C++ code I would probably use Annex to boot up and control another arduino device using serial.
And just to be clear, Annex is not a C++ compiler so obviously it cannot actually run any C++ code or libraries.
But Annex can run javascript code, which offers huge potential.
It can also 'launch' other Annex scripts, so can be used as a menu for launching different apps:
https://sites.google.com/site/annexwifi ... -oled-menu
I have many Annex devices running 24/7 on my own bespoke automation and control systems.
If it works, I don't touch it... cos all that can come from upgrading an already reliable working system is to introduce problems.
The flasher looks for a specific filename in the Annex Toolkit 'build' folder.
So firmware updates need to be copied into the Annex Toolkits 'build' folder, over-writing the previous .bin file of the same name.
You might want to rename the old version first though, so that you can revert back to that previous version if ever necessary.
You can use the COMMAND instruction to execute any valid text instructions.
If you look at the last subdir of this Calculator script you can see how the = button evaluates code input by pressing other buttons.
https://sites.google.com/site/annexwifi ... calculator
Many of your questions have already been asked and answered, so you have a lot of reading to do.
There is much that can be learned from the many examples... and perhaps you and your students may even contribute something yourselves.