Error: Log "info" and "warning" messages to flash
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- c
- Domain
- embedded-iot
Research direction
Start with error_log_warning_msg and error_contract.c, then trace how flash functions are exposed in the flight computer firmware. Resolve the proposed frame format, including severity, FC_STATE, message storage, and spillover behavior, before implementing persistent info and warning logs. Done means the design is implemented and the resulting records can be recovered from flash.
Written by the indexing model from the issue text.
Description
Requester: @ETSells
(Non-developer requests only): Is your feature request related to a problem? Please describe.
It is impossible to determine the causes of certain errors on the flight computer without a debugger attached.
Describe the solution you'd like
In theory, we could store frames in flash with the following format:
save_bit=1 byte = 1
fc_state=1 byte -> [7:6,5:0]
most significant = 2 bits for message severity, 0 = sensor frame, 1 = log msg, 2 = warn msg, 3 = error msg
least_significant = 6 bits for FC_STATE
message = remainder of sensor frame. maybe make it possible to spill over to multiple frames if 1 doesnt fit the message?
Describe alternatives you've considered
We've considered logging via LoRa, but that's not implemented yet.
Additional context
Recommend implementing callbacks in error_log_warning_msg that point to error_contract.c, which can in turn call flash functions in the project.
Points of Contact
POC flight computer firmware, error handling: @ETSells. POC SDEC: @journeyhancock.
- Dominant language
- C
- Stars
- 8
- Forks
- 6
- Avg merge
- 6d 15h
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SunDevilRocketry/Flight-Computer-Firmware
-
enhancement good first issue
Difficulty 3/5 1-2 days Newbie friendliness 65/100
-
enhancement good first issue
Difficulty 3/5 1-2 days Newbie friendliness 72/100
-
enhancement
SunDevilRocketry/Flight-Computer-Firmware#327 · 1 assignee ·
-
verification
Difficulty 4/5 3-5 days Newbie friendliness 45/100
SunDevilRocketry/Flight-Computer-Firmware#324 · 2 comments ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
All issues in SunDevilRocketry/Flight-Computer-Firmware
Similar issues
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
HarbourMasters/Shipwright#7229 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
riscv-software-src/riscv-isa-sim#2435 · 1 comment ·
-
bug Self Built Image SNAPSHOT Supported Device target/ramips
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100