Commit Graph

114 Commits

Author SHA1 Message Date
Brendan O'Leary
446f04f9ce Generalize the loop delay 2025-12-19 08:35:08 -05:00
Brendan O'Leary
2dfecbc8c4 wrap in namespace 2025-12-18 22:21:18 -05:00
Brendan O'Leary
34dbbc5503 Move to server activity 2025-12-18 22:12:27 -05:00
Brendan O'Leary
5d706685c5 Clang format 2025-12-18 22:00:47 -05:00
Brendan O'Leary
804db098d1 Refactor layout of activities 2025-12-18 21:59:38 -05:00
Brendan O'Leary
e2dab0d811 Add semaphore to safely delete mutex 2025-12-18 21:40:12 -05:00
Brendan O'Leary
18086ef5ee Refactor where Keyboard is 2025-12-18 21:38:23 -05:00
Brendan O'Leary
18527c6bc0 Add some more protection 2025-12-18 21:12:09 -05:00
Brendan O'Leary
71fc35845b Clang 2025-12-17 20:42:42 -05:00
Brendan O'Leary
abb3dc3d43 Fix issue with upload loop 2025-12-17 20:41:00 -05:00
Brendan O'Leary
b87a8c5dd5 Memory cleanup 2025-12-17 20:27:38 -05:00
Brendan O'Leary
b46f872e37 Mobile responsive 2025-12-17 20:14:11 -05:00
Brendan O'Leary
f3810f3c69 fix javascript issued 2025-12-17 20:03:20 -05:00
Brendan O'Leary
ba96a26b71 Clang format fix 2025-12-17 19:11:56 -05:00
Brendan O'Leary
21cb8a6731 Refactor HTML to be mostly pre-generated 2025-12-17 19:11:30 -05:00
Brendan O'Leary
421c5cd30b If server is running, call handleClient 2025-12-17 18:57:31 -05:00
Brendan O'Leary
5d935e6719 Restore the wifi screen 2025-12-17 18:47:27 -05:00
Brendan O'Leary
08227a07fa Merge master 2025-12-17 18:44:05 -05:00
Jonas Diemer
063a1df851
Bugfix for #46: don't look at previous chapters if in chapter 0. (#48)
Some checks are pending
CI / build (push) Waiting to run
Fixes #46
2025-12-18 06:28:06 +11:00
Dave Allie
d429966dd4
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
Jonas Diemer
c78f2a9840
Calculate the progress in the book by file sizes of each chapter. (#38)
## Summary

Addresses #35.

Maybe it could be wise to do some caching of the spine sizes (but
performance isn't too bad).
2025-12-17 23:05:24 +11:00
Dave Allie
11f01d3a41
Add home screen (#42)
Some checks are pending
CI / build (push) Waiting to run
## 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
Arthur Tazhitdinov
973d372521
TOC location fix (#25)
## Summary

* Rely on media-type="application/x-dtbncx+xml" to find TOC instead of
hardcoded values

## Additional Context

* Most of my epubs don't have id==ncx for toc file location. I think
this media-type is EPUB standard

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-17 18:49:45 +11:00
Brendan O'Leary
05da79f6ad clang format 2025-12-16 21:42:36 -05:00
Brendan O'Leary
e9e6982eea RCU for fix with merge 2025-12-16 21:37:17 -05:00
Brendan O'Leary
fcee7d519c Merge main 2025-12-16 21:32:39 -05:00
Brendan O'Leary
9c68d80781 Fix issue with uploading to subfolders 2025-12-16 21:20:45 -05:00
Brendan O'Leary
2aa1584582 Add docs page 2025-12-16 21:18:55 -05:00
Brendan O'Leary
2c79ea8705 Add delete key 2025-12-16 20:56:33 -05:00
Brendan O'Leary
78604d3bda Page design update 2025-12-16 20:49:24 -05:00
Brendan O'Leary
225268c09c Put some basic XSS protection in place 2025-12-16 20:32:52 -05:00
Brendan O'Leary
e384bdbfc2 Hide hidden folders 2025-12-16 20:18:08 -05:00
Brendan O'Leary
1bc30fbf2a Fix issue with failed connections 2025-12-16 20:18:08 -05:00
Brendan O'Leary
596e6fad0b
Update platformio.ini 2025-12-16 14:01:03 -05:00
Dave Allie
67da8139b3
Use 6x8kB chunks instead of 1x48kB chunk for secondary display buffer (#36)
Some checks are pending
CI / build (push) Waiting to run
## Summary

- When allocating the `bwBuffer` required to restore the RED RAM in the
EPD, we were previously allocating the whole frame buffer in one
contiguous memory chunk (48kB)
- Depending on the state of memory fragmentation at the time of this
call, it may not be possible to allocate all that memory
- Instead, we now allocate 6 blocks of 8kB instead of the full 48kB,
this should mean the display updates are more resilient to different
memory conditions

## Additional Context
2025-12-17 01:39:22 +11:00
Dave Allie
c287aa03a4
Use single buffer mode for EInkDisplay (#34)
## Summary

* Frees up 48kB of statically allocated RAM in exchange for 48kB just
when grayscale rendering is needed

## Additional Context

* Upstream changes:
https://github.com/open-x4-epaper/community-sdk/pull/7
2025-12-17 00:17:49 +11:00
Dave Allie
5d68c8b305
Cut release 0.6.0 2025-12-16 23:15:47 +11:00
Jonas Diemer
def7abbd60
Improve indent (#28)
* add horizontal indent in first line of paragraph in case Extra Paragraph Spacing is OFF

* Treat tabs as whitespace (so they are properly stripped)

* Changed size of indent to 1 em.

* Fixed calculation of space when indenting (avoiding squeezed text).

* Source code formatting
2025-12-16 23:02:32 +11:00
Jonas Diemer
9ad8111ce7
Wrap-around navigation in Settings. (#31) 2025-12-16 22:54:16 +11:00
Arthur Tazhitdinov
57d1939be7
Add Cyrillic range to fonts (#27)
* Enhance TOC parsing and chapter selection logic

- Update .gitignore to include additional paths
- Refactor Epub::parseContentOpf to improve NCX item retrieval
- Modify ContentOpfParser to store media type in ManifestItem
- Implement rebuildVisibleSpineIndices in EpubReaderChapterSelectionScreen for better chapter navigation
- Adjust rendering logic to handle empty chapter lists gracefully

* Refactor TOC parsing logic to streamline cover image and NCX item retrieval

* add cyrillic ranges

* revert

* clang format fix
2025-12-16 22:52:49 +11:00
Jonas Diemer
012992f904
Feature/auto poweroff (#32)
* Automatically deep sleep after 10 minutes of inactivity.

* formatting.
2025-12-16 22:49:31 +11:00
Brendan O'Leary
698ca629b8 Add option to store wifi credentials 2025-12-15 22:02:03 -05:00
Brendan O'Leary
d4299efaed KIll webserver when exiting 2025-12-15 21:43:01 -05:00
Brendan O'Leary
e4f7327719 Add basic webserver 2025-12-15 21:23:21 -05:00
Brendan O'Leary
f365ba6ff0 Connection to WiFi established 2025-12-15 20:56:09 -05:00
Dave Allie
c262f222de
Parse cover image path from content.opf file (#24)
Some checks are pending
CI / build (push) Waiting to run
2025-12-16 03:15:54 +11:00
Dave Allie
449b3ca161
Fixed light gray text rendering 2025-12-16 02:16:38 +11:00
Dave Allie
6989035ef8
Run CI action on PR as well as push 2025-12-15 23:17:35 +11:00
Dave Allie
108cf57202
Fix formatting 2025-12-15 23:17:23 +11:00
Jonas Diemer
a640fbecf8
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