Of course not.alextrezvy wrote:As a consequence, we have to restrict ourself from using "non-common" features, such as USB, isn't it?mrburnette wrote:There is a reason that all commercial Pilots and Air Traffic Control all use English as the common denominator for communications... optimum word is common. The compilation in the ArduinoIDE of error free code is a common way to communicate with other makers and owners of compatible hardware. One does not have to "like" the environment, but the IDE does force some rules that help we forum members to assist and share.
"compatible hardware" should probably have been written as "similar hardware" or maybe even "near-identical". The point is along the line of Nano to Nano clone, UNO to 328 Mini, Arduino Leonardo to Sparkfun's Micro, Maple/Maple-mini to clone STM32F103xx boards.
When I publish code that runs on a Maple Mini and I do that in Arduino, the IDE and tools environment is IMO simpler to install correctly for a novice; therefore the chances of a novice being able to successfully duplicate a project is enhanced.
Dropping down to the command line, while I'm comfortable with it, may not be appropriate as the best method of transferring a project from an author to a novice. Surely, there is no problem in communicating with those that are more knowledgeable and have experience with the lower-level approach to compilation and linking and uploading.
What you do with a consenting compiler and linker at the command line is between you and your adult computer. But as an author and adult trainer, I can assure you that a novice will perform better and will have greater success if the tools utilized hide as much complexity as possible. Nothing I have stated now or previously should even be read and internalized by the professional programmer as they are not included in my statement regarding the ArduinoIDE.
Even in this forum, I have seen often that seasoned programmers have issues replicating results obtained by others. Usually, it comes down to some environmental issue: version of tools, library flavors, installation paths, etc. Arduino IDE installation hides much of these issues on an OS to same OS nature. Here we have iOS, Windows, and several versions of Linux. If one has a correctly installed Arduino 1.6.5 environment, then we can discuss programming at a more abstract level without having to deal with the OS-centric and tool-centric issues.
IMO and respectfully: STM32duino.com should concentrate on using the ArduinoIDE environment. This opens the door to code use in 3 OS's as well as provide common denominator for sharing and testing. I do not think anyone here could care less about your personal PC or OS. Have a great, fancy script - then publish it here and describe the installation and OS and why your brainchild is brilliant. But, the topic of this thread is "by-passing the arduino-e-ness" and I find this not in alignment with STM32duino.
From a HAL software perspective, if the code can be utilized to drive the evolution/replacement of the existing core libraries and if this enhances the core - that is good. But all of these enhancements are under the hood of the ArduinoIDE and useful to everyone regardless of their expertise or their OS environment.