-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Faults base class #119
Faults base class #119
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this PR is very good, just a comment and a request.
A comment: If we're overriding or suppressing the fault, we can still accumulate num_consecutive_faults which may have unintended consequences when we turn off the suppression or override. Just wanted to make this behavior clear.
Also, I feel like there needs to be a way to command an unsiginal() from the ground. If we're not doing any kind of autonomous fault response, I think this is a necessary reset functionality. Perhaps through a writeable state field that is automatically set back to false?
Good point. I'll make the following change: when overriding or suppressing,
Right now, |
I'm thinking of the following case:
Or slightly differently:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll go back and talk about nuanced fault response later. Details to come in an issue, and hopefully resolved in a future PR.
@@ -60,6 +60,7 @@ lib_archive = false | |||
lib_compat_mode = off | |||
test_build_project_src = true | |||
test_filter = test_fsw_* | |||
test_ignore = test_fsw_EEPROM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fatimayousuf I thought it would be a good idea to exclude EEPROM from the desktop unit testing, since it requires a Teensy to actually test the EEPROM.
I'm curious, how does the test still happen to work on the desktop?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test asserts in the test file are protected with #ifndef Desktop macros, so the test should work on a desktop
@@ -60,6 +60,7 @@ lib_archive = false | |||
lib_compat_mode = off | |||
test_build_project_src = true | |||
test_filter = test_fsw_* | |||
test_ignore = test_fsw_EEPROM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test asserts in the test file are protected with #ifndef Desktop macros, so the test should work on a desktop
Adds a fault class to the flight software. This fault class has persistence, so an error needs to be signaled multiple times before the fault is set.
I'm still looking for good, non-confusing names for these fault functions. Let me know if you have any good ideas.
It'd be great if everyone can review this before the merge, since this is so core to the infrastructure