Guest User

Untitled

a guest
Nov 14th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #define DISCHARGE_SOFT_LIMIT_LOWEST_A 10
  2. #define DISCHARGE_SOFT_LIMIT_UPPER_CELL_VOLTAGE 3.6
  3. #define DISCHARGE_SOFT_LIMIT_LOWEST_CELL_VOLTAGE 2.9
  4.  
  5.  
  6. if(min_cell_v < DISCHARGE_SOFT_LIMIT_UPPER_CELL_VOLTAGE){
  7. float factor = (min_cell_v - DISCHARGE_SOFT_LIMIT_LOWEST_CELL_VOLTAGE) / (DISCHARGE_SOFT_LIMIT_UPPER_CELL_VOLTAGE - DISCHARGE_SOFT_LIMIT_LOWEST_CELL_VOLTAGE);
  8. if(factor < 0.0)
  9. factor = 0.0;
  10. if(factor > 1.0)
  11. factor = 1.0;
  12. float max_current = factor * (MAX_DISCHARGE_CURRENT_A - DISCHARGE_SOFT_LIMIT_LOWEST_A) + DISCHARGE_SOFT_LIMIT_LOWEST_A;
  13.  
  14. limit_uint16(max_discharge_current_Ax10, max_current * 10);
  15. }
Add Comment
Please, Sign In to add comment