Releases: ironsheep/P2-Click-eInk
Releases · ironsheep/P2-Click-eInk
v1.1.0
Add working and experimental display support
🎯 Major New Features
Touch Display Support ⚠️ EXPERIMENTAL/UNTESTED
- NEW: Added support for 3.70" eInk displays with touch capability (Good Display GDEY037T03)
- NEW: Touch interface driver (isp_eink_touch.spin2) for handling I2C-based touch input
- NEW: Touch demonstration code (demo_eink_touch.spin2) showcasing touch functionality
- NEW: Comprehensive touch wiring documentation with hardware images
working. The touch systems remain completely untested and unverified. This code is included for future development but should
be considered experimental. Use at your own discretion for development and testing purposes only.
7-Color eInk Display Support
- NEW: Added support for 5.65" 7-color eInk displays (WaveShare DSWS_5in65F)
- NEW: Full 7-color support: black, white, blue, orange, yellow, green, and red
- NEW: Enhanced color handling with new color constants: EINK_COLOR_BLUE, EINK_COLOR_ORANGE, EINK_COLOR_GREEN
- NEW: 4-bit per pixel color depth support (2 pixels per byte)
🔧 Display Driver Enhancements
Expanded Display Support
- ADDED: DSWS_5in65F display type for 7-color displays (600×448 pixels)
- ADDED: DSGD_370Tch display type for 3.70" touch displays (240×416 pixels)
- CHANGED: Renamed display constants for clarity (DSPD → DSGD for Good Display)
- REMOVED: Pervasive Displays support (hardware incompatible with Click adapter)
Driver Architecture Improvements
- ENHANCED: Device-specific initialization routines for each display type
- IMPROVED: Buffer management supporting multiple pixel formats (1bpp, 2bpp, 4bpp)
- ADDED: Display-specific sleep, reset, and idle wait functions
- ENHANCED: Pin configuration management for different hardware setups
- IMPROVED: Color validation and conversion for multi-color displays
📝 Documentation and Usability
Enhanced Documentation
- NEW: Touch display wiring guide (Docs/eInk-touch.md) with detailed hardware setup
- NEW: Hardware connection images showing proper pin configurations
- UPDATED: README with comprehensive display type coverage and color capabilities
- FIXED: Broken documentation links (GitHub issues, API reference)
- IMPROVED: API documentation formatting and descriptions
Hardware Documentation
- NEW: 5 new hardware images showing touch panel and Click adapter connections
- NEW: Pin configuration diagrams for proper hardware setup
- ENHANCED: Wiring documentation for all supported display types
🔨 Code Quality and Stability
Demo and Testing Improvements
- MAINTAINED: Main demo continues to use proven 2.90" display (DS_eink290) as default
- ADDED: Line width demonstration functions for testing
Driver Robustness
- ENHANCED: Memory string handling (isp_mem_strings.spin2) with better validation
- IMPROVED: Font rendering system with better orientation support
- FIXED: Display-specific initialization and timing issues
- ENHANCED: SPI communication reliability
🔄 Breaking Changes
- Display Constant Rename: DSPD_370Tch → DSGD_370Tch (reflects actual manufacturer)
- Removed Support: Pervasive Displays types no longer supported (hardware incompatibility)
- Pin Configuration: Some internal pin assignments updated for better hardware compatibility
📊 Technical Details
Comprehensive File Changes
- 21 files modified across the entire codebase
- 4 new Spin2 files: Touch driver, demo, and utility singletons
- 5 new documentation files, including hardware images
- ~3,500+ lines of new/modified code
- Major driver expansion: 2,068 lines added/modified in main driver alone
Display Support Matrix
| Display Type | Size | Colors | Status | Notes |
|---|---|---|---|---|
| DS_eink154 | 1.54" | B/W | ✅ Tested | 200×200 pixels |
| DS_eink200gs | 2.00" | B/W + 2 gray | ✅ Tested | Grayscale support |
| DS_eink213 | 2.13" | B/W | ✅ Tested | 122×250 pixels |
| DS_eink290 | 2.90" | B/W | ✅ Tested | 296×128 pixels (default) |
| DSWS_2in13BV3 | 2.13" | B/W/R | ✅ Tested | WaveShare 3-color |
| DSWS_5in65F | 5.65" | 7-color | ✅ Added | 600×448 pixels, experimental |
| DSGD_370Tch | 3.70" | B/W + Touch | 240×416 pixels, touch unverified |
⚠️ Known Limitations
- Touch functionality completely untested - implementation exists but unverified
- 7-color display support may require additional refinement based on user feedback
- Touch hardware compatibility unconfirmed - I2C communication and wiring untested
v1.0.0
Completes the code for WaveShare 2.13" rectangular display and adds Device Orientation Support
- Adds support for WaveShare 2.13" rectangular display, which supports Red/Black/White colors
- Adds Device Orientation Support
- All 5 displays are now working well
Known Issues w/v1.0.0
- nothing has been found... so far...
- I'm sure there are more issues...
Full Changelog: v0.9.2...v1.0.0
v0.9.2
Completes code for 2.00" rectangular display (EA-EPA20-A from Mouser)
- Adds support for EA-EPA20-A, 2.00" display which supports 4-levels of grayscale
- All 4 displays now working well
Known Issues w/v0.9.2
- nothing found... so far...
- I'm sure there are more issues...
v0.9.1
Completes code for 1.54" Square and 2.13", and 2.90" rectangular displays
- Three displays now working well
- Demo and repo now feature display-specific P2 Logo screen
Known Issues w/v0.9.1
- The 2.00" display is not yet working!
- The hardware for 2.00" display just arrived... now I have to test it and adapt the code to it
- I'm sure there are more issues...