Northeastern-Electric-Racing / Shepherd-BMS

Our from-scratch Battery Management Application
3 stars 0 forks source link

[FAULTS] - Implement fault priority & non critical fault capability #81

Open dyldonahue opened 7 months ago

dyldonahue commented 7 months ago

Current Features

We currently have a set of faults that all (as required by rules) cause the car to turn off with equal authority.

Desired Additional Features

There are some things that can go wrong that aren’t critical, but would be nice to know. Right now, we just dont really track these. We want to add non critical fault capability and perhaps fault tiers, so that we have a framework for tracking other things that go wrong, that we dont want to actually turn the car off.

Ideally, these would exist within the current fault framework, and wed simple add a parameter that defined severity level, with only the highest producing the shutdown behavior we currently have. But, there are different approaches to this architecture, and there may be others that fit well too.

As a sort of “test case” there is currently one error that we catch and do nothing with that fits this bill - CAN errors. In the can handler, you will find a TODO that points to turning this into a non-critical fault. While implementing the faults is mostly out of scope of this ticket, try adding that one as proof of concept

Screenshots (as needed)

No response