V1.0 - merged mvbms-test to main - made the changes needed for the project to compile V1.1 - changed PWM settings in mxcube for ESC_L/R_PWM - add pwm_calibrate_powerground - precharge and discharge are now timer dependent instead of voltage dependent - remove the transitions (precharge -> discharge) to stop weird interactions V1.2 - change auxvoltages and cellvoltages to float to achieve higher precision - added void sm_calibrate_powerground(); void sm_precharge_discharge_manager(); - fixed the clock in mxcube - cleaned up PWM_powerground_control() - cleaned up the state machine V1.3 - added eeprom.h and eeprom.c, is still WIP - void sm_check_charging(); was removed, you need to call 0xF1XX to enter charging mode, precharge is then 3 seconds then the relay closes. call 0x0000 to exit charging - removed some variables and some functions V1.4 - replaced ADBMS code with the newest version from the Slaves - added the Author to things i made - error_source is now set in the state_machine.c V1.5 - int16_t auxVoltages[MAXIMUM_AUX_VOLTAGES] to float - errors out when no messages are recieved for CAN_TIMEOUT messages - void set_error_source(int source); -> void set_error_source(SlaveErrorKind source); V1.6 - set temperature limit to 59 - precharge and discharge durations are now 5 seconds - RELAY_BAT/ESC_SIDE and CURRENT_MEASUREMENT to int32_t - CAN messages are now correctly formated - minimum cell voltage is now set to 3200 mV - powerground calibration is now done in STATE_PRECHARGE (well yes but actually no) V1.7 - added eeprom functions - fixed(tm) voltage and CURRENT_MEASUREMENT - changed the CAN message a bit - added soc_estimation.c soc_estimation.h - added MIN/MAX_CELL_VOLTAGE for AMS_HighLevel - cleaned up state_machine code - changed the format of the CAN message. V1.8 - removed macros from can.h - added documentation to PWM_control.h - the MVBMS only reacts to messages if they are different from the previous message - powerground calibration now starts at STATE_PRECHARGE - moved header files from state_machine.c to h - added status_LED.c, changed the ioc file accordingly V1.9 - switched ~CSB and ~WC to high speed GPIO - cleaned up the includes in most files - wrote some code for the eeprom V1.10 - PWM_control now has some macros and the method PWM_powerground_softcontrol() - added void sm_powerground_manager() to state_machine.c