Leaving this here as a proposal. I might come around to start doing it but I think starting this conversation is good to have a good final result.
I've been working with mOS for at least 3 years now! And I'm now guiding other people using it. But coming from other platforms, like arduino, will be difficult for new users.
My proposal is to have two new doc pages regarding mongoose basics.
The mongoose-os startup sequence:
Explain what goes on on startup
Describe how the system starts up, then starts calling lib init methods one by one
Also include the app init method
Tie into how libs are written and what is the required signature for their init function.
Show the app init method signature and the return value needed to finish the init process
This would help arduino people to understand how libraries can add functionality to their apps without explicitly calling them afterwards. And to avoid calling the lib init methods manually.
The mongoose-os programming model
Describe how mongoose-os runs. Mention the single thread and the event loop that handles timers and network functions.
Describe how different it is from arduino. Explain why using delays is not recommended on mongoose-os
Describe how it affects operations compared to arduino. Specifically UART as it is the most difficult one. Perhaps a bonus UART page is needed.
Mention how SPI and I2C are handled (synchronously)
Making a clear statement on how mongoose-os differs from arduino is crucial. I've seen programmers just adding in delays to an uart operation (I did the same when I started).
I hope this all makes sense, let me know if you have anything else to add, cheers!
Leaving this here as a proposal. I might come around to start doing it but I think starting this conversation is good to have a good final result.
I've been working with mOS for at least 3 years now! And I'm now guiding other people using it. But coming from other platforms, like arduino, will be difficult for new users.
My proposal is to have two new doc pages regarding mongoose basics.
The mongoose-os startup sequence:
This would help arduino people to understand how libraries can add functionality to their apps without explicitly calling them afterwards. And to avoid calling the lib init methods manually.
The mongoose-os programming model
Making a clear statement on how mongoose-os differs from arduino is crucial. I've seen programmers just adding in delays to an uart operation (I did the same when I started).
I hope this all makes sense, let me know if you have anything else to add, cheers!