Skip to content

Repository files navigation

BookPoint

Прошивка для Xteink X4 и X3 на базе CrossPoint Reader 1.6.0 beta RC03. Версии BookPoint идут следом за CrossPoint: v1.6.0, v1.6.1 и далее. Добавляет статистику чтения, сноски внизу страницы и ряд изменений для экономии батареи. Все остальные возможности CrossPoint работают как раньше.

Статистика чтения

Время считается по страницам, с отсечкой простоя больше 5 минут. Считается общее время, сессии, перевернутые страницы, темп (секунд на страницу) и примерное время до конца книги.

Экран статистики открывается из меню книги и из настроек. Три страницы: данные по текущей книге, общие по устройству, и активность: график за 14 дней по реальным секундам, распределение по дням недели и по времени суток, серия дней подряд.

Где лежат данные и почему не теряются:

  • /crosspoint/stats/ на SD-карте, вне кэша книг. Обновление прошивки, смена шрифта и очистка кэша статистику не трогают.
  • Запись атомарная, перед перезаписью старый файл уезжает в .bak.
  • После каждой сессии перезаписывается reading_stats.csv, так что данные всегда можно прочитать с компьютера, даже если прошивка слетела.
  • Если раньше стоял inkMOD, его статистика подхватывается автоматически при первом запуске.

Сноски

По умолчанию включен режим «Внизу страницы»: там, где в тексте есть ссылка на сноску, внизу страницы печатается ее текст мелким шрифтом, как в бумажной книге. Работает и когда примечания вынесены в отдельный файл в конце EPUB. Пагинация от этого не скачет: место под полосу выделено заранее.

Второй режим, «Переход с возвратом», работает как в обычном CrossPoint: короткий Back или Power возвращает на страницу, где вы читали.

Извлечение текста универсальное: понимается разметка с номером внутри спана (royallib), примечания в отдельном файле, div-блоки с обратными ссылками. Служебные слова вроде «Вернуться» из текста сноски убираются. На страницах без примечаний полоса не остается висеть: она очищается при каждом обновлении экрана.

Пока вы читаете саму сноску, закладка прогресса остается на исходной странице. Сон, сбой или синхронизация KOReader не перенесут вас в конец книги и не запишут на сервер позицию внутри примечаний.

Строка состояния

В «Настройке строки состояния» добавлены два пункта:

  • «Положение строки»: Низ или Верх. Строка рисуется у выбранного края, текст занимает остальное место.
  • «Скрыть строку состояния»: полностью убирает ее и отдает место тексту.

Пункт «Строка состояния XTC» по-прежнему относится только к XTC-файлам.

Словари

«Настройки, Система, Словари (скачать)»: русско-английский и англо-русский словари WikDict скачиваются по Wi-Fi и распаковываются в /dictionaries/ на SD-карту. После этого они появляются в Настройки, Чтение, Словарь. Свои словари StarDict по-прежнему можно класть в /dictionaries/ вручную.

Шрифты и размеры текста

У Noto Sans доступен размер 8 (этот шрифт уже зашит в прошивку как мелкий шрифт интерфейса), у Noto Serif размеры 12-18. Размеры 10-24 и любые другие дают свои шрифты: конвертируйте TTF/OTF в браузере (вкладка Шрифты), укажите нужные размеры, и они появятся в списке.

Батарея

Wi-Fi самый прожорливый потребитель, поэтому сетевые экраны (передача файлов, OPDS) сами выключают радио после 3 минут бездействия. Настраивается в Системе, 0 отключает.

Часы работают на обоих устройствах: на X3 через аппаратный RTC, на X4 время берется из системных часов ESP32, которые синхронизируются по NTP при подключении Wi-Fi и восстанавливаются после сна. На расход батареи это не влияет.

Часы включаются в «Настройке строки состояния»: Слева, Справа или По центру. До первой синхронизации времени часы пустые. Там же в Системе: формат часов (24/12), смещение UTC и синхронизация даты и времени.

Для поиска причин ночного расхода есть «Лог батареи» в Системе. Пишет в /.crosspoint/battery_log.csv строку при загрузке и перед сном с процентами. Выключен по умолчанию.

Прочее

OPDS-каталоги Flibusta (основной и зеркало) и Project Gutenberg добавляются при запуске, если их еще нет в списке. Свои серверы это не трогает.

Установка

Прошивается как обычный CrossPoint: через web-флешер по USB (https://crosspointreader.com/#flash-tools) или с SD-карты. Настройки, книги, прогресс и статистика совместимы с CrossPoint 1.6.0.

Не обновляйтесь через встроенный пункт «Проверить обновления»: он поставит оригинальный CrossPoint без этих функций.

Сборка

Нужен PlatformIO и Python. Путь к проекту без пробелов, ESP-IDF этого требует.

git clone --recurse-submodules https://github.com/klanva/BookPoint.git
cd BookPoint
build.bat            # Windows, собирает env default (X4 + X3)

Результат в .pio/build/default/firmware.bin.

Лицензия

MIT, как и исходный CrossPoint. Спасибо авторам CrossPoint, FreeInk SDK и сообществу 4pda за идеи и тестирование.

About

Прошивка для Xteink X4/X3 на базе CrossPoint Reader: статистика чтения, сноски внизу страницы как в бумажной книге, экономия батареи, программные часы

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors

Languages