Hi, using a NUCLEO_L432KC with GCC. The standard printf or snprintf calls do not produce any floating point output.
If I switch the implementation to the minimal printf they do, however I need width padding. I don’t see any errors about exceeded flash size. What gives?
Printing floating point numbers is disabled in Mbed OS 6 by default. If you need width padding then try to build with the std library. Read here for more info.
This does not provide me with a working floating point output. If I select the minimal printf but enable floating point output I do get the results I expect, but I am unable to do padding. I need padding.
The standard printf implementation is bugged. When enabled it will not do floating point output.
Then what is the point of offering the minimal printf and the std printf? The lack of float, padding, etc, should be the domain of the minimal printf.
I’m not budging on this being a bug due to the subversion of expectations. If the standard printf is still going to be highly nonstandard then they should make that very obvious.
Until I can get confirmation this is intentional it seems the easiest path forward is reimplementing the padding.
The std setting is using the printf that is provided by the c-library, nothing Mbed specific. So with bare_ metal, additional compiler switches are needed for float support. With RTOS, the full newlib is used and printf works with all options.