KurtE / ILI9341_t3n

Extended ILI9341_T3 library (Teensy) including all SPI buses, Frame buffer, plus
MIT License
50 stars 23 forks source link

Fix not compiling examples and create CI #44

Closed designer2k2 closed 1 year ago

designer2k2 commented 1 year ago

Hello, thanks for this library! Some examples did not compile for me and this is a fix for it.

It was the include of fonts from the ILI9341_t3 library, and they then included the ILI9341_t3 library resulting in strange errors. Now its using the fonts from here, and i just deleted the parts with fonts not provided.

Further i added a github action that compiles all examples and lint checks the library. This will run on every push or pull request, automatically checking if everything is ok by compiling all examples for a Teensy 4.0.

greetings from Austria, Stephan

KurtE commented 1 year ago

One issue I am having with this PR, is you are removing some of the main functionality from some of the example sketches.

Specifically, you are removing the usage of fonts, that can be loaded from the font library that @mjs513 has setup https://github.com/mjs513/ILI9341_fonts

This version of the ILI9341 is setup to allow fonts that are installed in it to work with several of our libraries.

Also I would need to double check, but you may have also removed the usage of any of the Adafruit GFX fonts from the tests?

designer2k2 commented 1 year ago

Hello, yes i removed most fonts that are not within this library itself. Some like the font_OpenSans.h could not be found, and others like the font_Arial.h would load from the ILI9341_t3 library, resulting in the complete ILI9341_t3 library to be loaded on top.

The Adafruit GFX fonts are still inside, FontTest4 loads 2 of them.

The problematic file: https://github.com/PaulStoffregen/ILI9341_t3/blob/master/font_Arial.h#L4 here it then imports the other library.

For example compiling the DemoSauce: In file included from /home/runner/.arduino15/packages/teensy/hardware/avr/1.57.0/libraries/ILI9341_t3/font_Arial.h:4:0, from /home/runner/work/ILI9341_t3n/ILI9341_t3n/examples/DemoSauce/DemoSauce.ino:20: /home/runner/.arduino15/packages/teensy/hardware/avr/1.57.0/libraries/ILI9341_t3/ILI9341_t3.h:144:0: warning: "CL" redefined

full failing run: https://github.com/designer2k2/ILI9341_t3n/actions/runs/3742668640/jobs/6353897769

This is the run with the changes from this PR, all examples compile: https://github.com/designer2k2/ILI9341_t3n/actions/runs/3812963508/jobs/6486444433

The ILI9341_fonts library could help, but i would need to copy the files into the example folder?

Or how to ensure that not the files from the ILI9341_t3 folder get used?

designer2k2 commented 1 year ago

Oh shame on me! I did not read the readme exactly, in the section about the font support and ignored that its a different ILI9341_fonts lib.

I had https://github.com/PaulStoffregen/ILI9341_fonts instead of https://github.com/mjs513/ILI9341_fonts

With the correct font lib there is no need to modify anything related to the fonts, i restored all the examples in this PR!

Only left is a small fix for ILI9341_BUDDHABROT.ino where the variable time needed to change its name.

designer2k2 commented 1 year ago

@KurtE i would have expected the actions to run now. You might need to activate GitHub Actions: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository