Commit Graph
26 Commits
Author SHA1 Message Date
Jonas Diemer 27cc8b4a6d Caching of spine item sizes for faster book loading (saves 1-4 seconds). (#54)
As discussed in
https://github.com/daveallie/crosspoint-reader/pull/38#issuecomment-3665142427,
#38
2025-12-18 22:49:14 +11:00
Dave Allie ee63cf4f18 Rename Screens to Activities and restructure files (#44)
## Summary

* This PR drastically reshapes the structure of the codebase, moving
from the concept of "Screens" to "Activities", restructing the files and
setting up the concept of subactivities.
* This should help with keep the main file clean and containing all
functional logic in the relevant activity.
* CrossPointState is now also a global singleton which should help with
accessing it from within activities.

## Additional Context

* This is probably going to be a bit disruptive for people with open
PRs, sorry 😞
2025-12-17 23:32:18 +11:00
Dave Allie e0fc43cf13 Add home screen (#42)
## Summary

* Add home screen
* Sits as new root screen, allows for navigation to settings or file
list
2025-12-17 20:47:43 +11:00
Jonas Diemer fc2d526e40 Feature/auto poweroff (#32)
* Automatically deep sleep after 10 minutes of inactivity.

* formatting.
2025-12-16 22:49:31 +11:00
Jonas Diemer a10d903a9f Settings Screen and first 2 settings (#18)
* white sleep screen

* quicker pwr button

* no extra spacing between paragraphs

* Added settings class with de/serialization and whiteSleepScreen setting to control inverting the sleep screen

* Added Settings screen for real, made settings a global singleton

* Added setting for extra paragraph spacing.

* fixed typo

* Rework after feedback

* Fixed type from bool to uint8
2025-12-15 23:16:46 +11:00
Dave Allie 11857183cc Bump page file version 2025-12-13 00:42:17 +11:00
Dave Allie 779f3b07e2 Swap out babyblue font for pixelarial14 2025-12-13 00:16:10 +11:00
Dave Allie f74c0d23a9 Move to smart pointers and split out ParsedText class (#6)
* Move to smart pointers and split out ParsedText class

* Cleanup ParsedText

* Fix clearCache functions and clear section cache if page load fails

* Bump Page and Section file versions

* Combine removeDir implementations in Epub

* Adjust screen margins
2025-12-12 22:13:34 +11:00
Dave Allie 61c50be7db Add version string to boot screen 2025-12-08 23:13:33 +11:00
Dave Allie 797ddaab86 Cleanup serial output 2025-12-08 22:39:23 +11:00
Dave Allie 0800e8a845 Remove EpdRenderer and create new GfxRenderer 2025-12-08 22:06:09 +11:00
Dave Allie c239cbbd89 Move to SDK EInkDisplay and enable anti-aliased 2-bit text (#5)
* First pass at moving to SDK EInkDisplay library

* Add 2-bit grayscale text and anti-aliased rendering of text

* Render status bar for empty chapters

* Refresh screen every 15 pages to avoid ghosting

* Simplify boot and sleep screens

* Give FileSelectionScreen task more stack memory

* Move text around slightly on Boot and Sleep screens

* Re-use existing buffer and write to whole screen for 'partial update'
2025-12-08 19:48:49 +11:00
Dave Allie 6fe291f96c Small cleanup 2025-12-06 20:24:24 +11:00
Dave Allie 1cbee2cb92 More pass by reference changes 2025-12-06 15:56:00 +11:00
Dave Allie b89609691b Fix bug with selectin epubs inside of folders 2025-12-06 12:57:17 +11:00
Dave Allie 00fd1a033a Use reference passing for EpdRenderer 2025-12-06 12:56:39 +11:00
Dave Allie 283051d77f Use InputManager from community-sdk 2025-12-06 12:35:41 +11:00
Dave Allie 9d3eaf4388 Update sleep screen 2025-12-06 04:20:41 +11:00
Dave Allie 24d01a2970 Fix memory leak with Epub object getting orphaned 2025-12-06 02:49:10 +11:00
Dave Allie 58cd36d51e Add UI font 2025-12-06 01:44:14 +11:00
Dave Allie aed915713b Add new boot logo screen 2025-12-06 01:44:14 +11:00
Dave Allie d2bba3bac7 Wrap up multiple font styles into EpdFontFamily 2025-12-06 01:44:14 +11:00
Dave Allie 82aad6d94a Speedup boot by not waiting for Serial 2025-12-05 17:47:23 +11:00
Dave Allie e9b3a9c59a Fix hold to wake logic
esp_sleep_get_wakeup_cause does not seem to be set when not connected to USB power
2025-12-04 00:57:32 +11:00
Dave Allie 35284ac4b6 Add file selection screen 2025-12-04 00:11:51 +11:00
Dave Allie 9f5253313f Public release 2025-12-03 22:06:45 +11:00