mipidsi 0.5.0

MIPI Display Serial Interface generic driver
Documentation
# Change Log

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [v0.5.0] - 2022-10-19

### Added

- 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

### Changed

- `Model` no longer has to own `ModelOptions`
- `Model::new` was removed
- the optional `RST` reset hw pin is now only used during the `Builder::init` call

### Removed

- removed direct `Display` constructors. Use `Builder` instead (see migration guide)
- removed `DisplayOptions` in favour of `Builder` settings

## [v0.4.0] - 2022-09-30

### Added

- support for model variants via `DisplayOptions`
- support for `raspberry pico1` variant of the `ST7789` display
- support for the `waveshare` variants of the `ST7789` display

### Changed

- 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

- removed "no reset pin" constructor helpers (uses `Option` now)

## [v0.3.0] - 2022-08-30

### Added

- added `ILI9342C` model support thanks to [Jesse Braham's]https://github.com/jessebraham [PR]https://github.com/almindor/mipidsi/pull/25

## [v0.2.2] - 2022-08-26

### Changed

- fix `Display::clear` out of bounds pixels
- remove `ST7789` model `Bgr` bit override

## [v0.2.1] - 2022-08-03

### Added

- clarified display model constructor usage in `README`

### Changed

- fix `i32` -> `u16` conversion overflow bug in `batch` module in case of negative coordinates

## [v0.2.0] - 2021-04-12

### Changed
- fix RGB/BGR color issue on some models
- expand `Orientation` to use mirror image settings properly
- change `Display::init` to include `DisplayOptions` and allow setting all `MADCTL` values on init, including `Orientation`
- fix issues [#6]https://github.com/almindor/mipidsi/issues/6, [#8]https://github.com/almindor/mipidsi/issues/8 and [#10]https://github.com/almindor/mipidsi/issues/10
    - big thanks to [@brianmay]https://github.com/brianmay and [@KerryRJ]https://github.com/KerryRJ

## [v0.1.0] - 2021-09-09

### Added
- Initial release