Skip to content

[driver] Ili9341 support Resumable Functions #664

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed

Conversation

TomSaw
Copy link
Contributor

@TomSaw TomSaw commented Jul 29, 2021

To sweep the yard for #665 , here's an as good as possible pealed out update on ILI9341.
Let's concentrate on the implementation of the Resumables for now.
Drawing functions and a lot more will be cured with the coming up graphics API rewrite.

Changes

  • Resumable Functions. I could not backport RF for all drawing functions cause was too painfull.
  • optimized drawing functions for Ili9341. The clipping-feature is your friend for squary shapes!
  • clear() now also takes a color to clear with: clear(Rgb565 color)
  • Dropped backgroundColor. Renamed foregroundColor -> color. To fullfill this change, clear(Rgb565 color) needs to become sooper fast and resource unhungry. A concept witch gets final grip with the coming up graphics API rewrite ;)
  • set(Toggle toggle, bool value) substitutes lots of xyzOn(), xyzOff() methods.
  • set(ReadWrite reg, uint8_t value) and get(ReadWrite reg, uint8_t value) substitute lots of setXyz(), getXyz() methods.
  • Simplified Ili93441<->Interface implementation. I think modm::Ili9341Spi<Ili9341InterfaceSpi<Spi, Cs, Dc> Reset> reads and explains itself so much better than "simplified" modm::Ili9341Spi<SpiMaster, Cs, Dc, Reset>.
  • Removed <..., typename Backlight, ...> from Driver
    • A simple Backlight::setOutput(modm::Gpio::High) subsitutes the Feature. However, sometimes a developer wants more control f.e. backlight PWM-Dimmed or hardwired to VCC so is better to keep the LED out of Ili9341 and not bloat the drivers template arguments.
  • Optimized color::Rgb565 for performance reasons.
  • Renamed color::BrightnessT -> GrayscaleT (Should be another PR 😬 or is ok ?)

ToDo

  • Update examples

@TomSaw TomSaw changed the title [driver] ili9341 support Resumable Functions [driver] Ili9341 support Resumable Functions Jul 29, 2021
@TomSaw TomSaw force-pushed the ili9341-resumable-and-optimized branch from 8236785 to cb1313d Compare August 3, 2021 09:11
@salkinium
Copy link
Member

Can this be closed in favor of #665?

@TomSaw
Copy link
Contributor Author

TomSaw commented Aug 5, 2021

Jupp.

@TomSaw TomSaw closed this Aug 5, 2021
@TomSaw TomSaw deleted the ili9341-resumable-and-optimized branch August 5, 2021 20:48
@salkinium salkinium added this to the 2021q3 milestone Sep 13, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants