Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define DISCHARGE_SOFT_LIMIT_LOWEST_A 10
- #define DISCHARGE_SOFT_LIMIT_UPPER_CELL_VOLTAGE 3.6
- #define DISCHARGE_SOFT_LIMIT_LOWEST_CELL_VOLTAGE 2.9
- if(min_cell_v < DISCHARGE_SOFT_LIMIT_UPPER_CELL_VOLTAGE){
- float factor = (min_cell_v - DISCHARGE_SOFT_LIMIT_LOWEST_CELL_VOLTAGE) / (DISCHARGE_SOFT_LIMIT_UPPER_CELL_VOLTAGE - DISCHARGE_SOFT_LIMIT_LOWEST_CELL_VOLTAGE);
- if(factor < 0.0)
- factor = 0.0;
- if(factor > 1.0)
- factor = 1.0;
- float max_current = factor * (MAX_DISCHARGE_CURRENT_A - DISCHARGE_SOFT_LIMIT_LOWEST_A) + DISCHARGE_SOFT_LIMIT_LOWEST_A;
- limit_uint16(max_discharge_current_Ax10, max_current * 10);
- }
Add Comment
Please, Sign In to add comment