21 Commits

Author SHA1 Message Date
Jonas Diemer
c39f253a7d
Only do serial output if Serial is valid (#13) 2026-01-21 21:28:00 +11:00
Yaroslav Nychkalo
fe766f15cb
add SdManager rename method (#11)
This is going to be used in Rename/Move files and folders functionality
(on web)
2026-01-02 17:50:38 +11:00
Justinian
0589632f17
fix: add missing #include <string> to SDCardManager.h (#12)
The SDCardManager.h header uses std::string in function signatures but
doesn't include the <string> header, causing build failures.

Co-authored-by: ratedcounsel <hello@ratedcounsel.com>
2026-01-02 17:50:17 +11:00
Dave Allie
bd4e670750
[SDCardManager] Use SdFat for exFAT support (#10)
- Migrate over to SdFat for exFAT support
- Add new utilities:
  - `openFileForWrite`
  - `openFileForRead`
  - `removeDir`
- Sets up a singleton and macro to access it (`SdMan`)
2025-12-30 16:02:18 +11:00
Dave Allie
98a5aa1f89
[EInkDisplay] Add basic implementation for displayWindow (#9)
Adds a basic implementation of `displayWindow` which displays a subset
of the current frame buffer to the screen. It is significantly less
performant than a full screen reload, so it shouldn't be used unless the
underlying content is hard to get/rerender.

I've also spotted a little bit of ghosting, but it's not fully clear as
to why that is. My only thought it the LUT and grayscale mode isn't
fully disengaged or the RED RAM buffer isn't correctly setup (but afaict
it should be populated correctly).

Going to merge this to continue testing this feature out in the wild,
but consider it experimental.
2025-12-17 00:01:47 +11:00
Dave Allie
fba62200e2
[EInkDisplay] Ensure buffer is swapped in dual buffer mode (#8)
Bug introduced in https://github.com/open-x4-epaper/community-sdk/pull/7
2025-12-16 23:00:59 +11:00
Dave Allie
af965a074b
[EInkDisplay] Single buffer mode (#7)
* Cleanup EInkDisplay

* Add EINK_DISPLAY_SINGLE_BUFFER_MODE build flag and allow for single buffer rendering

* Add SSD1677 E-Ink Display Driver Guide

Copied verbatium from https://github.com/CidVonHighwind/microreader/blob/main/doc/SSD1677_GUIDE.md

* Add a few details in the readme and update the SSD1677_GUIDE
2025-12-16 22:43:29 +11:00
Dave Allie
4d0dcd5ff8
[EInkDisplay] Fix incorrect power off sequence when calling deepSleep() (#6) 2025-12-15 22:24:58 +11:00
Dave Allie
7e0dce9167
[EInkDisplay] Noop grayscaleRevert if not in grayscale mode 2025-12-13 16:01:17 +11:00
Dave Allie
a126d4b0bf
Add initial implementation of EInkDisplay from CidVonHighwind (#4) 2025-12-08 19:41:27 +11:00
Dave Allie
8224d278c5
Merge pull request #3 from open-x4-epaper/feature/input-manager-hold-time
Update InputManager to record any button hold time
2025-12-06 12:27:17 +11:00
Dave Allie
06b4cf0c71
Update InputManager to record any button hold time 2025-12-06 11:32:45 +11:00
Dave Allie
9b7d94f06e
Merge pull request #2 from open-x4-epaper/feature/input-manager
Input Manager from microreader
2025-12-06 04:16:26 +11:00
Dave Allie
90a19bb8a7
Merge pull request #1 from open-x4-epaper/feature/sd-card-manager
SD card manager from microreader
2025-12-05 09:33:23 +11:00
CaptainFrito
ed787691d9 Input Manager 2025-12-04 19:34:29 +07:00
CaptainFrito
11b112da6f SD card manager from microreader 2025-12-04 19:20:21 +07:00
Dave Allie
be0cb2bb34
Update README with non-deprecated library include method 2025-12-03 08:16:39 +11:00
Dave Allie
182ff5f4ea
Update README.md with updated usage instructions 2025-12-02 22:41:16 +11:00
Dave Allie
d52cab5735
Fix imports in BatteryMonitor 2025-12-02 22:36:53 +11:00
Dave Allie
4e89230e5a
Add BatteryMonitor lib
Authored by @CrazyCoder in https://github.com/CidVonHighwind/xteink-x4-sample/pull/4
Pulled into community-sdk
2025-12-02 22:26:44 +11:00
Dave Allie
fd8b341335
Initial community-sdk structure 2025-12-02 19:16:50 +11:00