Commit Graph

220 Commits (401858c4565343e9ec561cd9bfa61da3bc32c542)

Author SHA1 Message Date
Mitch Souders c7d32ca86e Added some busy checks and seem to be avoiding missing pictures 2020-11-15 05:32:17 -08:00
Mitch Souders 96d505647d Add support for ep5in65f 2020-11-15 03:25:10 -08:00
Robin Appelman 674b88e327 use correct 7in5_v2 reset delay, not the b/c variant 2020-10-19 16:53:17 +02:00
Robin Appelman 5cb7de5929 make reset timing device specific
reset timings seem to be device specific, trying to reset the 7in5_v2 with timings from other devices does not reset the display.

Timings taken from https://github.com/waveshare/e-Paper/blob/master/RaspberryPi%26JetsonNano/python/lib/waveshare_epd
2020-10-17 17:13:38 +02:00
Marc Poulhiès 27e367c89c Initial support for Waveshare 2in13 v2 e-ink screen
This initial support covers both the full (slow) update of the display and the
partial (fast) update.
2020-10-05 20:48:02 +02:00
Marc Poulhiès 82b8c98538 Better handling for screen size not divisible by 8
Screen with width not divisible by 8 require special care when allocating the
buffer and when handling rotation.

Define a function for getting the needed buffer size (round up to next byte).
Change how rotation is done by changing coordinates instead of direct pixel
access.
2020-09-27 19:13:35 +02:00
Michael Beaumont 9167c643f9
Add epd2in9bc to README, add example 2020-03-27 21:46:32 +01:00
Michael Beaumont b5e647b0d0 Rename red to chromatic, rename epd2in9b to epd2in9bc 2020-03-27 19:09:12 +01:00
Michael Beaumont 7a5472f73a
Update epd2in9b after embedded-graphics update 2020-03-27 18:50:33 +01:00
Michael Beaumont 71d539eeb7
Merge remote-tracking branch 'upstream/master' into epd2in9b 2020-03-27 18:47:13 +01:00
Caemor 409676423d Mainly improved Documenation 2020-03-26 19:55:17 +01:00
Caemor dcc264c2b0 Replace tabs with spaces 2020-03-26 17:19:55 +01:00
Michael Beaumont 20a01a25bf
Add epd2in9b support 2020-03-25 22:56:34 +01:00
Caemor ec72357b55 Update/Include new update_and_display trait 2020-03-22 00:42:20 +01:00
Caemor 8da294dd5e Update embedded-graphics,
remove useless Featuregates (Doesn't change size)

Update and integrate a few important examples and remove the others
2020-03-21 23:37:27 +01:00
Caemor dcaed6fb3e Update embedded-graphics and update epd4in2-blue-pill-exampleg 2020-03-18 14:30:40 +01:00
Christoph Grabo 4ecee29641
Apply cargo fmt 2020-01-11 13:17:47 +01:00
Christoph Grabo 35291fe639
Add V2 version of epd7in5 2020-01-11 13:17:46 +01:00
Christoph Grabo f17cae8e49
Add new optional extention trait 2020-01-11 10:21:51 +01:00
Christoph Grabo a9f27e51ae
Use embedded_hal::digital::v2 (v1 is deprecated) 2020-01-11 10:12:15 +01:00
Johan Kristell 8f89ade010 cargo fmt 2019-12-28 09:13:40 +01:00
Johan Kristell 435cfd9a1c Rename trait and method and doc update 2019-12-28 09:12:53 +01:00
Johan Kristell b170e34028 Add documentation 2019-12-26 12:44:42 +01:00
Johan Kristell d0b7f162fe Add support for the epd1in54b display 2019-12-13 10:08:19 +01:00
Jack Grigg c049b0a9f4
EPD7in5 support 2019-11-15 23:58:07 +00:00
dbr 3e56353cb6 embedded-graphics 0.5.0 removed the with_ prefix from some methods
with_stroke() to stroke()
with_fill() to fill()
with_style() to style()
2019-08-17 09:31:58 +09:30
dbr 99b4cff362 draw_helper takes IntoIterator
Update other display types
2019-08-16 23:59:58 +09:30
dbr f96caeb419 Update for embedded-graphics 0.5.2 2019-08-11 11:01:12 +09:30
Chris 7b4a7f0578
v0.3.2 - some timing fixes (#29)
* Fixed some missing wait_until_idle calls
* prepared release of 0.3.2
* cargo fmt

This is known to fail on travis because it uses the deprecated old digital v1 embedded hal pins
2019-06-17 10:33:20 +02:00
Chris 34c03c5486 Fixed forgotten fmt 2019-04-06 08:56:48 +02:00
Chris 63321f7e2c Fix: Timing Issues after display_frame
epd1in54 and epd2in9 were both missing a necessary wait_until_idle call at the end of their display_frame function which sometimes caused invalid/ignored commands/inputs afterwards.
2019-04-06 08:52:42 +02:00
Chris 47af2fc664
Make a few small updates to support TeXitoi rusty clock (#27)
- add a feature gated alternative full lut for type_a displays
- remove pub from set_lut_helper function
- fix behaviour of set_lut for epd2in9. it always sets the LUT now!
-  better comments
2019-04-04 23:23:48 +02:00
Chris 5c0744ff01
Various improvements (#25)
- Added is_busy to Waveshare_Interface
- Added IS_BUSY_LOW const for all supported epds
- Added is_busy to DisplayInterface
- moved width, height and default_background_color directly to epd4in2 module
- Added VarDisplay (a variable buffersize display/graphic driver)
- Removed all Buffers (Buffer1in54,...) and instead made specialised Displays (Display1in54,...) with included Buffers
- Updated and added more examples
- Cargo fmt/clippy
- Improved Docs/Readmes
2019-03-06 11:48:05 +01:00
Chris d7f3cdca97
Edition 2018 (#24)
* "cargo fix --edition" for the library

* Switch to 2018 edition

* Use cargo fix edition-idioms and remove the internal renaming from embedded_hal to hal

* Updated Readme

* run cargo fmt
2019-02-22 11:23:28 +01:00
Chris b9395b5eff Prepare release
- fix cargo fmt error
- rename forgotten stuff
2018-11-06 15:50:47 +01:00
Chris ebb33661c3 cleanup of a few tested/resolved todos 2018-11-06 13:16:57 +01:00
Chris 2796d875f5 Add rustfmt::skip to constants and graphics::rotation 2018-11-06 09:03:19 +01:00
Chris e518265273 Run cargo fmt (reverted for constants and some graphic calculations) 2018-11-05 15:31:52 +01:00
Chris 375adf4bff Use `data_x_times` instead of big u8-slice 2018-10-30 15:28:34 +01:00
Chris e76a2c45f8 Use data_x_times instead of big buffers 2018-10-30 15:04:47 +01:00
Chris 22e3ee22b2 Include `set_lut` in WaveshareDisplay Trait 2018-10-30 14:56:38 +01:00
Chris a7d0f13d13 Fix clippy lints 2018-10-30 10:42:56 +01:00
Chris 91d7a7862a improved docs for 2in9 2018-10-24 14:07:35 +02:00
Chris 0204e72cb5 Some last doc changes 2018-10-23 22:14:11 +02:00
Chris 3fc25d71e5 Improved Documentation 2018-10-23 16:41:59 +02:00
Chris f039b1f6a4 Improve documentation 2018-10-22 16:16:48 +02:00
Chris 598a6924ea Cleanup of color-module and removal of old drawing module 2018-10-22 15:55:52 +02:00
Chris 697a781ff2 Remove more or less duplicate test cases for 2in9 buffer 2018-10-22 15:43:50 +02:00
Chris efa5591788 Added some comments to the previous commit 2018-10-22 13:10:24 +02:00
Chris 824735fb64 Fix error where pixel outside display lead to early return instead of just skipping that pixel 2018-10-22 13:06:24 +02:00
Chris 520317f351 Fixed examples and more small improvements 2018-10-19 17:00:15 +02:00
Chris 3b0b5962ec Streamline a few things 2018-10-19 16:26:31 +02:00
Chris a1adeb77a4 more changes to the displaydimension trait 2018-10-19 16:16:43 +02:00
Chris a832ab9fed add more changes 2018-10-19 16:12:22 +02:00
Chris f6a894c5a3 use generalised graphics with new specialised buffers 2018-10-19 15:55:18 +02:00
Chris 1baf35c1a4 Forgotten files in previous commit 2018-10-19 14:37:41 +02:00
Chris 139096297b Generalise graphics once more
Change u16 positions to u32 to adapt to embedded graphics unsigned coordinates

Furthermore added epd4in2 defaults graphics buffer
2018-10-19 14:36:43 +02:00
Chris 9289d689b7 Fix epd1in54 example, test if old bugs are fixed 2018-10-19 11:27:16 +02:00
Chris 8922707bac Renamed drawing to graphics and extracted display-specific stuff into the display folders 2018-10-19 10:59:26 +02:00
Chris b7275198e1 remove another dublicate test case 2018-10-19 10:14:36 +02:00
Chris a522375695 Clean up and removal of a few fixed todos 2018-10-19 09:58:52 +02:00
Chris 0fc3b5da18 seperate drawing impl in multiple functions for better test coverage 2018-10-19 08:46:15 +02:00
Chris e21dbfb7e3 Removed duplicate test (from color) 2018-10-19 08:21:59 +02:00
Chris 591d25f74a reverse color change 2018-10-18 22:58:34 +02:00
Chris dadc302945 test inverse color matching once more 2018-10-18 22:52:54 +02:00
Chris b9a833ec5f Revert "inverse the colors"
This reverts commit 7dd826795a.
2018-10-18 22:30:49 +02:00
Chris 7dd826795a inverse the colors 2018-10-18 22:27:13 +02:00
Chris 2a3b10ba94 Don't make expensive calculations if pixel is outside the display and return early 2018-10-18 17:02:55 +02:00
Chris dbdb8912a8 cleanup 2018-10-18 16:22:44 +02:00
Chris 08457e503d Use the fixed embedded graphics lib once more 2018-10-18 16:20:39 +02:00
Chris 17abcc74b0 Merge branch 'add_embedded_graphics' of github.com:Caemor/eink-waveshare-rs into add_embedded_graphics 2018-10-18 16:10:10 +02:00
Chris e17697cfb1 Fix missing std-lib in a test 2018-10-18 16:09:23 +02:00
Chris 2fb19b2df9 added many tests to drawing 2018-10-16 23:28:39 +02:00
Chris d2a47eb05c Rename Buffer Trait to Display and add a Rotation Function to it 2018-10-16 22:11:25 +02:00
Chris 8904066de6 Moved constants of type_a to its own file 2018-10-16 21:43:27 +02:00
Chris ff21d6e611 add impl Drawing<Color> for DisplayEink42BlackWhite
fix error by using option for style
2018-10-16 18:33:06 +02:00
Chris d65cf0c578 Merge branch 'master' into add_embedded_graphics 2018-10-16 18:18:32 +02:00
Chris 98a9b1c0ed Fix examples 2018-10-15 15:54:59 +02:00
Chris 29b7986848 Add from_u8 to color, finish drawing for 4in2 2018-10-15 15:52:20 +02:00
Chris 8a7309cfc8 Renamed old drawing mod to drawing_old 2018-10-15 15:51:36 +02:00
caemor e30cb6f7e8 Make Enum DisplayRotation, impl Buffer and Drawing for 4in2 display 2018-10-14 23:18:47 +02:00
caemor 3196c4b387 fix embedded_graphics include 2018-10-14 12:38:56 +02:00
caemor c16e136d09 fix 2018-10-14 12:38:11 +02:00
caemor 8d08bef233 add embedded_graphics 2018-10-14 12:36:54 +02:00
Chris 4916ac674a Add an reference to the linux specific max spi bytes size 2018-10-12 11:35:13 +02:00
Chris 6b89ee1b8e Set spi chunk limit on linux with cfg!
Not tested yet
2018-10-12 11:30:04 +02:00
Chris 468425881c readd data_x_times 2018-10-11 00:33:44 +02:00
Chris aa7497fa60 Still trying to fix an error 2018-10-10 21:30:22 +02:00
Chris 2e4ee5308a remove error in previous commit 2018-10-10 21:11:05 +02:00
Chris 4155bd616b add error messages for debugging 2018-10-10 20:58:05 +02:00
Chris b7fe5674ee send full buffer instead of loop 2018-10-10 20:37:39 +02:00
Chris f131636b01 Addition to previous commit (examples and forgotten save) 2018-10-10 17:03:18 +02:00
Chris 89489da657 Renaming of WaveshareInterface and Connectioninterface
WaveshareInterface -> WaveshareDisplay
traits::interface::ConnectionInterface -> interface::DisplayInterface
2018-10-10 17:01:03 +02:00
Chris 87832f6043 Made SPI shareable
Disown spi for better shareabilty
2018-10-10 16:06:27 +02:00
Chris 6a24acf62b Removed data_x_times function 2018-10-10 14:43:18 +02:00
Chris 2f4ebfecab Fix previous Delay Commit
Some stuff was forgotten in the previous commit
2018-10-10 13:45:35 +02:00
Chris fabc5f262e Make delay a function parameter
This change makes delay a function parameter where necessary and stops the need of owning the delay
2018-10-10 13:45:35 +02:00
Chris 1791388a8b Renamed folder `interface` to `traits` 2018-10-10 13:45:34 +02:00
Chris 0ddaf9679a Deletion of single u8 data Transfers and renaming of various functions
command_with_data -> cmd_with_data
command -> cmd
multiple_data -> data
2018-10-10 13:45:34 +02:00
Christoph Groß 80090d8df2 Added testcases for default size and color of the various displays 2018-10-09 09:56:51 +02:00