All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- added
RM67162
model support - made
InitError
visible - added
ILI9488
model support
- remove unused
nb
dependency
- added
GC9107
model support
- replaced
display_interface
with our own trait and implementations for significantly better performance, see the migration guide for details
- added
GC9A01
model support - added
Display::wake
method - added
Display::sleep
method - added
Display::is_sleeping
method - added
Display::dcs
method to allow sending custom DCS commands to the device - added
TestImage::default
- added
ST7796
model support (#125)
- rename all
Builder::with_*
methods to versions without thewith_
prefix to conform to the Rust API guidelines. See this issue for more info options
anderror
submodule types are no longer re-exported from the main library- DCS commands param fields are now all consistently private with added constructors for all such commands
- DCS command constructors (such as
SetAddressMode::new
) are now marked asconst
, so DCS commands can be constructed in const contexts - replaced
window_offset_handler
function pointer withoffset
field - default to disabled color inversion for all generic models
- renamed
Display::set_scroll_region
andDisplay::set_scroll_offset
intoset_vertical_scroll_region
andset_vertical_scroll_offset
- updated to
embedded-hal v1.0.0
- updated to
display-interface v0.5.0
- removed
Model::default_options
- bumped MSRV to
v1.75
- fixed
DrawTarget::fill_contiguous
for images that overlap the edge of the framebuffer - replaced model specific
Builder
constructors (likeBuilder::gc9a01
) with one genericBuilder::new
constructor - replaced rest pin parameter in
Builder::init
byBuilder::with_reset_pin
setter - removed setters and getters from
ModelOptions
and instead made the fields public - added
non_exhaustive
attribute toModelOptions
- added checks to
Builder::init
to ensure that the display size and display offset are valid
- removed
Builder::with_framebuffer_size
- fixed MSRV in
Cargo.toml
to match the rest atv1.61
- switched
embedded-graphics-core v0.4.0
- updated initialization delays
ILI934x
model
- added
Builder::with_window_offset_handler
method - added
ModelOptions::invert_colors
flag - added
Builder::with_invert_colors(bool)
method - added
ILI9341
model support
Model::init
changed to expectoptions: &ModelOptions
- reworked how
DCS
instructions are handled using the newdcs
module andDcsCommand
trait and implementations - reworked model init functions to use new
dcs
module
- removed duplicated
INVON
call inST7735s
model init
- added the
Builder
as construction method for displays to simplify configuration and protect against use-before-init bugs - added
Model::default_options()
so that each model can provide a sane default regardless of helper constructors
Model
no longer has to ownModelOptions
Model::new
was removed- the optional
RST
reset hw pin is now only used during theBuilder::init
call
- removed direct
Display
constructors. UseBuilder
instead (see migration guide) - removed
DisplayOptions
in favour ofBuilder
settings
- support for model variants via
DisplayOptions
- support for
raspberry pico1
variant of theST7789
display - support for the
waveshare
variants of theST7789
display
- split [DisplayOptions] into [DisplayOptions] and [ModelOptions] with sizing initialization safety constructors
- refactored
Display::init
and constructors to match new variant code - fixed off by one error in fill operations
- removed "no reset pin" constructor helpers (uses
Option
now)
- added
ILI9342C
model support thanks to Jesse Braham's PR
- fix
Display::clear
out of bounds pixels - remove
ST7789
modelBgr
bit override
- clarified display model constructor usage in
README
- fix
i32
->u16
conversion overflow bug inbatch
module in case of negative coordinates
- fix RGB/BGR color issue on some models
- expand
Orientation
to use mirror image settings properly - change
Display::init
to includeDisplayOptions
and allow setting allMADCTL
values on init, includingOrientation
- fix issues #6, #8 and #10
- Initial release