Open TridentTD opened 2 years ago
hi, thanks for you feedback :+1:
there's a blocking problem with AVR:
Print
object is missing the printf()
method (e.g. should be inherited by Stream
) which is critical for this libraryI've pushed some changes on an experimental branch so you can test, but this will require to manually add printf to your existing arduino package.
Files to edit:
~/.arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Print.h
~/.arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Print.cpp
hi, thanks for you feedback 👍
there's a blocking problem with AVR:
- incomplete sdt lib (prevents some c++ templates from evaluating arg types)
printf()
method (e.g. should be inherited byStream
) which is critical for this libraryI've pushed some changes on an experimental branch so you can test, but this will require to manually add printf to your existing arduino package.
Files to edit:
~/.arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Print.h ~/.arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino/Print.cpp
Thank you for the fast reply. I have already tested, it can be compiled. However for Arduino UNO, the mcu's space is too small to use.
If the project wish to use YAML on Arduino UNO, is there any way to parse the YAML data?
Thank you.
I don't have a Uno, but 2048 bytes of ram sounds a bit too tight to hold both ArduinoJson and YAML library.
ArduinoJson support does compile with some serializeYml()
tests though, but deserializeYml()
jumps to 300% program space and 250% dynamic memory use, and the former doesn't make sense without the latter.
even mega2560's 8Kb of RAM doesn't sound much given how unoptimized the library is.
I'm trying to apply so basic optimization rules, and will probably get rid of some templates, but I'm very doubtful for deserializeYml()
support.
this printf() implementation is 148 bytes better https://github.com/arduino/ArduinoCore-API/pull/28/files
It's a great library. By the ways, if the library support for Arduino Uno/MEGA, it's convenient for communication between MCUs by YAML.
Thank now.