PowerState not initialized from actual power source — spurious backhaul on backup battery at first boot
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- cpp
- Lĩnh vực
- embedded-iot
Hướng nghiên cứu
Bắt đầu trong begin(), khoảng dòng 74, và lần theo kết quả bị loại bỏ của PowerAuto() cùng member PowerState. Sau đó kiểm tra Run() và turnOnSDcard() để xác minh rằng cổng backhaul của chu kỳ đầu tiên sử dụng nguồn điện được phát hiện. Được xem là hoàn tất khi PowerState phản ánh nguồn thực tế trước sự kiện log đầu tiên, bao gồm cả khi khởi động bằng pin dự phòng hoặc pin phụ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Bug
PowerState (a float member, initialized to 0) is only updated inside turnOnSDcard(), which is called from sleepNow(). Before the device sleeps for the first time, PowerState remains 0 regardless of actual power source.
The backhaul gate in Run() is:
if(LogCount >= LogCountPush && PowerState == 0) {
IO.DigitalWrite(FeatherEN, HIGH, MCP23018::Ports::B); // turn on Feather
PowerAuto() is called in begin() (line ~74) but its return value is discarded — PowerState is not updated there.
Failure scenario
Device starts on backup/aux battery (PowerAuto() would return 1 or 2). For the entire first duty cycle (before the first sleep), PowerState is still 0, so the backhaul guard evaluates true. The Feather fires on backup power, potentially browning out the radio and draining the backup supply prematurely.
Fix
Store PowerAuto() return value into PowerState at the end of begin(), so power state is known from the first log event onward.
Severity
Medium — affects first-boot behavior only; corrects itself after the first sleep/wake cycle.
🤖 Generated with Claude Code
- Ngôn ngữ chính
- C++
- Star
- 1
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NorthernWidget/Okapi_Library
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Tất cả issue của NorthernWidget/Okapi_Library
Issue tương tự
-
agent:Windows bug code-review LOW testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Cleanup] Include the public header in work_split.cppCó thể đã có người làm @blozano-tt đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
tenstorrent/tt-metal#60850 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Build: the CUDA backend fails without cuDNN instead of skipping the cuDNN shim (as the cuDF shim does)Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
beehive-lab/TornadoVM#1248 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
SimVascular/svZeroDSolver#253 ·
-
bug Filter
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
BlueQuartzSoftware/simplnx#1825 ·
Maintainer thường phản hồi trong vòng 3 ngày