constant updates, imu/temp logic changes #215
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Final Flight Code Updates
This PR contains final changes to the flight code before final upload. It mainly consists of adjustments to constant values, bypassing of the EKF for ACS, and a few logic changes based on concerns/issues in potential behavior identified in a code review over the last week.
Summary of changes
From most to least trivial:
HIGH
toLOW
in both sfr and Pins (significant waste of power)max_time
- reasoning being that autonomously entering an extended period of continuous ACS control with no prior knowledge of our algorithm's success has been deemed unnecessarily risky (in addition to power budget hit). If we see that ACS seems to be working, we will uplink an SFR override to lengthen DetumbleSpin for post-deployment operations. Burnwire timing has been updated to reflect results of EDU and flight unit testing.temperature::in_sun_val
moved from constants to SFR, and its default value is changed from 30C to 23C. The same NR dilemma occurs as with the camera delay, except that this value is unfortunately much more critical to mission success, as well as much more likely to cause issues if left in constants. Josh recently reviewed data that suggests that we likely will never reach 30C, so the value was lowered to 23C (ideally, minimum temp to ensure proper nitinol behavior). However due to the central location of the temperature sensor, it is significantly insulated from the vacuum and the light sail is a source of delayed heat conduction, meaning that in the worst-case scenario, we only barely reach our in_sun threshold and only do so in darkness. Since we have a very poor understanding of what our actual thermal dynamics will be on orbit, it is a strong desire of Josh's to have this value part of SFR so that it can be changed via uplink. Unfortunately this change did not come up until the last couple of days and did not permit the normal report to be modified and properly tested to include it. In this context, we have the same risk/reward analysis as in the previous PR, but I think with slightly higher risk due to the value's importance and much greater reward. Since we would still be able to verify any changes via the command log and this change offers significant operational benefit, I believe it is justified as written, but we particularly want your feedback on this one. If necessary, this can be reverted back to a constant if necessary (but perhaps a quick conversation between Lauren/Duncan and Josh would be helpful if this is the case).Testing
Individual feature changes of note tested as follows:
in_sun_val
verified via nominal testexit_in_sun
logic verified by satisfying temperature but not current requirement, then observing successful transition to Boot Sensors after current threshold reached.SFR Changes
temperature::in_sun_val
moved fromconstants.cpp
tosfr.cpp.
sfr eeprom constant value updated.