현재 버전 v1.5.0-ko.3

릴리즈 노트

CrossPoint Reader 한국어 펌웨어 버전별 변경사항

v1.2.0-ko.18

1.2.0-ko.182026년 5월 4일
GitHub

요약

USB가 잠긴 X3 기기에서 발생하던 심한 랙(reader → 홈 전환 멈춤, 책 열기 15초+, 메뉴 진입 지연)과 heap 단편화 누적 크래시를 수정했습니다. 주 원인은 CPU 클럭 미설정 — 잠긴 X3의 부트로더가 앱을 저클럭 상태로 넘겨줘서 모든 동작이 4-16배 느렸고, 그 느린 루프가 alloc 재시도를 누적시켜 heap을 망가뜨렸습니다.

upstream 변경 사항

없음 (한국어 포크 단독 릴리즈).

한국어 버전 변경 사항

수정

  • CPU 클럭을 부팅 시 160MHz로 강제 설정: setCpuFrequencyMhz(160)gpio.begin() 직후, powerManager.begin() 직전에 호출. 이전에는 HalPowerManager가 부트로더가 남긴 클럭을 그대로 normalFreq로 받아서 영원히 그 클럭으로 동작했습니다. 잠긴 X3 기기에서 가장 큰 성능 회복.
    • 영향 예상치: 메뉴 exit ~1초 → ~250ms, 책 첫 열기 15초 → ~4초, 페이지 넘김 즉시화
    • unlocked X3는 이미 160MHz였을 가능성이 커서 변화 없거나 미미한 개선
    • 함수 실패 시 false 반환하고 기존 클럭 유지하므로 부팅 안전성 영향 없음
  • EPUB 렌더 경로 heap 가드:
    • PNG 디코더 사전 체크를 getFreeHeap()getMaxAllocHeap()로 변경. 디코더는 단일 ~44KB alloc이라 연속 블록 크기가 핵심.
    • EpubReaderActivity::renderContents 진입 시점에 maxAlloc 검사. 50KiB 미만이면 grayscale 안티앨리어싱 + image-AA 이중 렌더 스킵 → BW-only로 폴백.
    • image-AA 분기 안에서 mid-cycle 재검사 추가. 첫 render 후 단편화가 추가로 진행됐으면 두 번째 render도 스킵.
CPU 클럭 수정이 주 원인 해결이고, heap 가드는 이미지가 많거나 무거운 EPUB을 처음 열 때 절벽 직전을 더 부드럽게 만드는 보조 안전판입니다.

알려진 한계

  • 잠긴 X3의 단편화 cliff edge 자체는 SRAM 380KB 한계라 완전 제거 불가
  • 표지/이미지가 매우 많은 EPUB은 첫 열기에서 십수 초 걸릴 수 있음 (캐시 생성 비용)
  • 두 번째 열기부터는 캐시로 가속

v1.2.0-ko.17

1.2.0-ko.172026년 5월 3일
GitHub

요약

설정의 화면 카테고리에 절전 화면 선택 기능을 추가했습니다. SD 카드의 /.sleep / /sleep 디렉터리에 있는 BMP 이미지를 풀스크린으로 미리 보면서 원하는 것만 선택할 수 있고, 선택된 이미지들 중에서 랜덤으로 절전 화면이 표시됩니다.

한국어 버전 변경 사항

신규

  • 절전 화면 선택: 설정 → 화면 → "절전 화면 선택" 클릭하면 SD의 /.sleep / /sleep 디렉터리 BMP들을 풀스크린으로 한 장씩 미리보기. 위/아래로 이동, 확인으로 선택 토글, 뒤로 가면 저장.
    • 화면 상단 좁은 영역: 좌측에 선택 상태 아이콘 (채워진 사각형 = 선택됨, 빈 테두리 사각형 = 미선택), 우측에 현재 / 전체 위치 표시
    • 미리보기는 실제 절전 화면과 동일한 fit 렌더링이라 보이는 그대로 적용됩니다
  • 선택 메타데이터 SD 저장: /.crosspoint/sleep_selection.txt에 저장. SD 카드를 옮기면 선택도 함께 따라가고, 펌웨어 OTA / SPIFFS 초기화 영향 없음.
  • 자동 정리: 선택된 BMP를 SD에서 삭제했다면 다음 번 선택 화면 진입 시 자동으로 메타데이터에서 제거.

동작 (절전 화면 모드 = Custom 또는 표지 + 사용자 지정일 때)

상태동작
메타데이터 파일 없음모든 BMP 랜덤 (기존 동작 유지)
메타데이터에 항목 있음선택된 항목 중 랜덤
메타데이터 항목 0개 또는 모두 누락전체 BMP로 폴백 (의도치 않게 모두 비활성화 방지)

v1.2.0-ko.16

1.2.0-ko.162026년 5월 2일
GitHub

요약

리더에서 바로 접근할 수 있는 리더 옵션 메뉴를 추가하고, 텍스트 리더에서 추가 단락 간격이 켜져 있을 때 페이지 경계에서 같은 단락이 중복 표시되던 버그를 수정했습니다.

한국어 버전 변경 사항

신규

  • 리더 옵션 메뉴 추가: 책을 읽다가 확인 버튼을 눌러 나오는 리더 메뉴 안에 새로 "리더 옵션" 항목이 생겼습니다. 클릭하면 다음 설정을 한 화면에서 바로 바꿀 수 있습니다.
    • 글꼴 (현재 선택된 글꼴 이름이 옆에 표시됨)
    • 리더 카테고리 (줄 간격, 화면 여백, 정렬, 추가 단락 간격, 문단 들여쓰기, 글자 단위 줄바꿈, 안티앨리어싱)
    • EPUB 전용: 임베디드 스타일, 이미지 표시 (TXT 리더에서는 의미가 없어 숨김)
    • 조작 카테고리 전체 (사이드 버튼 레이아웃, 길게 눌러 챕터 이동, 전원 버튼 짧게)
    • 햇빛 번짐 보정 (맨 끝)
    • 화면 회전은 리더 메뉴의 인라인 사이클로 이미 노출되어 옵션 화면에서는 제외했습니다.
  • 옵션은 리더 메뉴의 하위 화면으로 동작합니다. 옵션에서 뒤로 가면 메뉴로 돌아오고, 메뉴에서 다시 뒤로 갈 때 변경된 설정이 일괄 반영됩니다. 변경한 게 없으면 색인 화면 없이 즉시 페이지로 복귀합니다.
  • 홈 화면 설정과 리더 옵션은 같은 설정 정의를 공유합니다. 한쪽에서 바꾸면 다른 쪽에도 즉시 반영됩니다.

수정

  • 텍스트 리더 단락 중복 버그 수정: 추가 단락 간격이 켜져 있을 때 한 단락이 페이지 경계를 넘어가면 다음 페이지에 이전 페이지의 일부 줄이 다시 나타나던 문제를 고쳤습니다. 이제 추가 단락 간격을 켠 채 원본의 단락 간격을 유지하면서 정상적으로 읽을 수 있습니다.
  • 알려진 잔여 엣지: % 점프 직후 곧바로 역방향(이전 페이지)로 갈 때 한 wrap 줄이 중복될 수 있습니다. 한 번 정방향 페이지 넘기면 자동으로 정상화됩니다.

UI

  • 설정 화면 하단의 "전환" 버튼 힌트가 "선택"으로 바뀌어 더 자연스럽게 읽힙니다 (홈 설정 / 상태 바 / 리더 옵션 모두 동일).
30개의 릴리즈 중 10-12