Skip to content
New issue

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

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[driver] Ili9341 support Resumable Functions #664

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants