Commit Graph

218 Commits (9dedf76c57348238af16572ade128af7f7512dfd)

Author SHA1 Message Date
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
Christoph Groß 9fc4c0c1c7 Fixed missing renaming of .width() and height() methods 2018-09-19 16:23:41 +02:00
Christoph Groß fa6bce5ee7 Cleanup of WaveshareInterface
-Removed update_and_display_frame
-removed update_and_display_partial_frame

-Renamed get_width and get_height to just width and height
2018-09-19 16:19:57 +02:00
Christoph Groß 493a7bd0c0 Clarified Documentation for clear_frame and sleep 2018-09-19 11:55:19 +02:00
Christoph Groß 2cc4bceac3 Featuregate the graphics modules
This commit makes it possible to compile without the included graphics features
2018-09-19 11:46:51 +02:00
Christoph Groß e0cf10bf4e Moved Colors into its own module 2018-09-19 11:44:17 +02:00
Christoph Groß 4c704a3af5 Started a new example for 1.54 in 2018-09-17 16:34:49 +02:00
Christoph Groß cd593c51cb Make the code more readable with a few already introduced adapter functions (e.g. command_with_data) 2018-08-08 15:35:08 +02:00
Christoph Groß 7fa1a27f40 Shortened TypeDefinitions,
made init a private function,
added a crate internal extended waveshareinterface,
added a combined  Connection_interface::data_and_command function,
added a wake_up function,
added a updated_and_display_partial_frame_function
2018-08-08 15:10:51 +02:00
Christoph Groß 99d1d66a3c add copy and clone traits to color 2018-08-08 15:05:15 +02:00
Christoph Groß 956a04d0f1 Make Connectioninterface private 2018-08-08 15:04:53 +02:00
Christoph Groß e253b33704 renamed terminate command to NOP 2018-08-08 15:03:51 +02:00
Christoph Groß cd98033204 first steps to rustfmt althought it sometimes doesn#t exactly looks good 2018-08-07 16:00:13 +02:00
Christoph Groß 7758e37e1a - Made Connectioninterface public in root module,
- fixed the example (which needed updated dependencies)
2018-08-07 09:19:50 +02:00
Christoph Groß 49bad9c547 fixed the wrong reference to the epd2in9 display instead of the 1in54 2018-08-07 09:17:45 +02:00
Christoph Groß 835e25d133 Used cargo clippy to fix a few bad coding styles 2018-08-06 15:23:21 +02:00
Christoph Groß 4870b72336 reduced visibility of commands as they normally should only be needed interally 2018-08-06 15:10:51 +02:00
Christoph Groß 864626f8fd removed all now uneccessary stuff from type_a as it's back to the direct display module (epd1in54 and epd2in9) 2018-08-06 14:55:02 +02:00
Christoph Groß 5c8972ec46 small epd removel update 2018-08-06 14:54:20 +02:00
Christoph Groß 121a61b72d removed the unused epd stuff 2018-08-06 14:52:42 +02:00
Christoph Groß a08b285cf7 removed display trait 2018-08-06 14:52:23 +02:00
Christoph Groß e439153862 Epds isn't really needed 2018-08-06 14:51:50 +02:00
Christoph Groß 6ca5d58919 still a feature gate update 2018-08-06 14:51:31 +02:00
Christoph Groß 5dbf873631 Moved type_a LUTs to type_a mod.rs ,
updated dependencies accordingly
2018-08-06 13:54:23 +02:00
Christoph Groß 6422142133 Not all Type A screens are completly the same to the change to bring it all together was reverted. 2018-08-06 13:34:33 +02:00
Christoph Groß 230fb947cb Added a general display description struct (epds::epd) 2018-08-06 10:03:35 +02:00
Christoph Groß 38f446304b removed duplicate spi_mode and improved naming of spi_error type 2018-08-06 09:45:43 +02:00
Christoph Groß c4ba7ffb21 Added a new Display Trait, but that is still in work and renamed a few other traitnames to make them more clear 2018-08-03 14:23:09 +02:00
Christoph Groß 36aa5118fc added a new file to contain the information about the various displays 2018-08-03 14:22:18 +02:00
Christoph Groß bbb79560f6 moved duplicate type a constants, commands and configs to a new, more generalised type_a module, not completly finished yet 2018-08-03 14:21:32 +02:00
Christoph Groß 9791e1b727 Renaming of a few Traits and changing the ConnectionInterface::new() variables 2018-08-03 14:19:08 +02:00
Christoph Groß 634598c111 improved documenation 2018-07-26 15:57:07 +02:00
Christoph Groß 94ac5938b2 fixed bad documentation of the 2in9 epd 2018-07-26 15:16:28 +02:00
Christoph Groß 51ef655819 rebase 2018-07-23 14:44:28 +02:00
Christoph Groß 9f5d748e07 Forgot to remove a samll test comment line within the last commit 2018-07-23 10:42:23 +02:00
Christoph Groß 2c7807265c -fixed a doc test error in the interface file even though it's unknown why that was even recognized as a doc test
- fixed a few documentation links and warnings
2018-07-23 10:41:28 +02:00
Christoph Groß 1f2c68d16d Finished 2in9 support, now it needs to be tested 2018-07-20 13:25:30 +02:00
Christoph Groß 5e03c3c39a Stablised traits and interfaces, converted epd4in2 to it, and started real work on epd2in9 2018-07-19 16:46:15 +02:00
Christoph Groß 80e5c0ffb1 improved traits, now it should be ready to convert 4.2" 2018-07-19 11:08:26 +02:00
Christoph Groß ceee294cda Started some shared traits between the different epds, saving now 2018-07-18 17:03:11 +02:00
Christoph Groß 4cd9b26a24 Started work on 2in9 waveshare device, but nothing much besides copying has yet happened 2018-07-17 16:02:14 +02:00
Christoph Groß 66f70b3244 Hide the Fast Update which possible might lead to Ghosting/Burn-in effects behind a feature gate 2018-07-16 12:37:39 +02:00
Christoph Groß 5cfa3e8b1f Added mutable reference to buffer directly in graphics.
Updated example and tests with the new version.
2018-05-30 14:20:19 +02:00
Christoph Groß 450049ef0f Removed function never used warning 2018-05-29 14:12:14 +02:00
Christoph Groß 98fe6e2f3e Updated Example to the version of the lib 2018-05-29 14:09:50 +02:00
Christoph Groß 4090fb4ead Made draw_char and draw_string ready for tests
Extracted color to a seperate file
2018-05-29 14:06:36 +02:00
Christoph Groß 7312b92e87 Improved and updated Readme
Added draw_char_helper for font support. Is not used and tested yet.

Changed name of color::get_full_byte to color::get_byte_value
2018-05-29 12:01:35 +02:00
Chris 3fa576732c Merge branch 'master' of github.com:Caemor/eink-waveshare-rs 2018-05-28 16:57:44 +02:00
Christoph Groß fc877efb60 forgot to save before the last commit 2018-05-28 16:02:42 +02:00
Christoph Groß e59926e0c7 Improved work on Font Handling, still not finished and also added a few testcases 2018-05-28 16:02:06 +02:00
Christoph Groß 156eb43eda Added simple test case for command addresses, so no regression should happen. 2018-05-28 14:48:45 +02:00
Christoph Groß f180815f87 Added seperate 8x8 Char and String Drawing, Improved Color Struct,
Further work was done on other Font and String drawing.
Added even more test cases for Drawings
2018-05-28 14:48:22 +02:00
Christoph Groß b022ec1dbb Use Drawing::Color instead of hardcoded values 2018-05-28 14:46:19 +02:00
Chris f8f6b05e72 Documented broken char and string drawing 2018-05-28 00:38:35 +02:00
Chris 81966846ba reversed the wrong change of state 2018-05-28 00:32:31 +02:00
Chris e56753c677 make draw_string accept string slices instead of char slices 2018-05-28 00:20:10 +02:00
Chris 869866d997 for further testing purposes, draw_byte is still not stable 2018-05-28 00:18:38 +02:00
Chris 38a400a83f added fonts and chars, but more improvement is needed there 2018-05-27 22:03:26 +02:00
Chris d4abd54b56 added fast partial update to embedded_linux example 2018-05-26 20:11:19 +02:00
Chris c9578109cf Improved Drawing Documentation, improved example 2018-05-26 19:50:12 +02:00
Chris 03f2cbc942 decreased the change of a overflow happening in draw_pixel, some more calculations and improvements are needed 2018-05-26 17:38:51 +02:00
Chris 2272ef80ee improved embedded_linux example 2018-05-26 17:28:58 +02:00
Chris 89259d3c78 maybe the full buffer was to much for rpi spi transmission, testing now 2018-05-26 17:20:40 +02:00
Christoph Groß d68703d648 improvements to the drawing part, only needs a few more small additions (filled circle, chars, strings,...) and few small changes to the readme 2018-05-25 16:26:52 +02:00
Christoph Groß 9d8a326c82 started work on the drawing part 2018-05-24 16:38:49 +02:00
Christoph Groß 2feff5b9fa added drawing mod to the library, improved readme, fixed travis.yml, made rpi example working with a better pin config, 2018-05-24 14:43:46 +02:00
Chris ba5d44a1d7 fixed documentation tests by ignoring them as they are just examples not build for running 2018-05-11 15:28:31 +02:00
Christoph Groß ba674d595d removed deploy from travis and whiteline 2018-05-11 14:13:46 +02:00
Christoph Groß fcbcc82b97 Added examples, small updates to the readme and other small documentation changes 2018-05-11 11:43:03 +02:00
Christoph Groß d82a3d82f9 making delay public 2018-05-11 11:36:56 +02:00
Christoph Groß d75a3f3e96 some changes 2018-05-09 16:50:54 +02:00