|
|
@@ -1,14 +1,67 @@
|
|
|
#include "battery.h"
|
|
|
#include "src/config.h"
|
|
|
#include <stdio.h>
|
|
|
-
|
|
|
+#include "ti_msp_dl_config.h"
|
|
|
BatteryInfo battery_data[NUM_SLOTS];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Initialize battery struct
|
|
|
+
|
|
|
void Battery_Init(){
|
|
|
+ //Charging pins:
|
|
|
+ //slot 0
|
|
|
+ battery_data[0].charging_port= GPIO_Battery_Charging_PIN_0_PORT;
|
|
|
+ battery_data[0].charging_pin= GPIO_Battery_Charging_PIN_0_PIN;
|
|
|
+ //slot 1
|
|
|
+ battery_data[1].charging_port= GPIO_Battery_Charging_PIN_1_PORT;
|
|
|
+ battery_data[1].charging_pin= GPIO_Battery_Charging_PIN_1_PIN;
|
|
|
+ //slot 2
|
|
|
+ battery_data[2].charging_port= GPIO_Battery_Charging_PIN_2_PORT;
|
|
|
+ battery_data[2].charging_pin= GPIO_Battery_Charging_PIN_2_PIN;
|
|
|
+ //slot 3
|
|
|
+ battery_data[3].charging_port= GPIO_Battery_Charging_PIN_3_PORT;
|
|
|
+ battery_data[3].charging_pin= GPIO_Battery_Charging_PIN_3_PIN;
|
|
|
+ //slot 4
|
|
|
+ /*battery_data[4].charging_port= GPIO_Battery_Charging_PIN_4_PORT;
|
|
|
+ battery_data[4].charging_pin= GPIO_Battery_Charging_PIN_4_PIN;
|
|
|
+ //slot 5
|
|
|
+ battery_data[5].charging_port= GPIO_Battery_Charging_PIN_5_PORT;
|
|
|
+ battery_data[5].charging_pin= GPIO_Battery_Charging_PIN_5_PIN;
|
|
|
+ //slot 6
|
|
|
+ battery_data[6].charging_port= GPIO_Battery_Charging_PIN_6_PORT;
|
|
|
+ battery_data[6].charging_pin= GPIO_Battery_Charging_PIN_6_PIN;
|
|
|
+ //slot 7
|
|
|
+ battery_data[7].charging_port= GPIO_Battery_Charging_PIN_7_PORT;
|
|
|
+ battery_data[7].charging_pin= GPIO_Battery_Charging_PIN_7_PIN;
|
|
|
+*/
|
|
|
+ //Discharging pins:
|
|
|
+ //slot 0
|
|
|
+ battery_data[0].discharging_port= GPIO_Battery_Discharging_PIN_L0_PORT;
|
|
|
+ battery_data[0].discharging_pin= GPIO_Battery_Discharging_PIN_L0_PIN;
|
|
|
+ //slot 1
|
|
|
+ battery_data[1].discharging_port= GPIO_Battery_Discharging_PIN_L1_PORT;
|
|
|
+ battery_data[1].discharging_pin= GPIO_Battery_Discharging_PIN_L1_PIN;
|
|
|
+ //slot 2
|
|
|
+ battery_data[2].discharging_port= GPIO_Battery_Discharging_PIN_L2_PORT;
|
|
|
+ battery_data[2].discharging_pin= GPIO_Battery_Discharging_PIN_L2_PIN;
|
|
|
+ //slot 3
|
|
|
+ battery_data[3].discharging_port= GPIO_Battery_Discharging_PIN_L3_PORT;
|
|
|
+ battery_data[3].discharging_pin= GPIO_Battery_Discharging_PIN_L3_PIN;
|
|
|
+ //slot 4
|
|
|
+ /*battery_data[4].discharging_port= GPIO_Battery_Discharging_PIN_L4_PORT;
|
|
|
+ battery_data[4].discharging_pin= GPIO_Battery_Discharging_PIN_L4_PIN;
|
|
|
+ //slot 5
|
|
|
+ battery_data[5].discharging_port= GPIO_Battery_Discharging_PIN_L5_PORT;
|
|
|
+ battery_data[5].discharging_pin= GPIO_Battery_Discharging_PIN_L5_PIN;
|
|
|
+ //slot 6
|
|
|
+ battery_data[6].discharging_port= GPIO_Battery_Discharging_PIN_L6_PORT;
|
|
|
+ battery_data[6].discharging_pin= GPIO_Battery_Discharging_PIN_L6_PIN;
|
|
|
+ //slot 7
|
|
|
+ battery_data[7].discharging_port= GPIO_Battery_Discharging_PIN_L7_PORT;
|
|
|
+ battery_data[7].discharging_pin= GPIO_Battery_Discharging_PIN_L7_PIN;
|
|
|
+*/
|
|
|
for(uint8_t i=0; i<NUM_SLOTS; i++){
|
|
|
battery_data[i].slot_id = i;
|
|
|
battery_data[i].pwm_value= 0;
|
|
|
@@ -41,4 +94,20 @@ void Battery_StateCondition(uint8_t slot_id){
|
|
|
battery_data[slot_id].battery_state = STATE_MEASUREMENT_IN_PROGRESS;
|
|
|
}
|
|
|
}
|
|
|
+//Enable & Disable Charging:
|
|
|
+void Battery_enableCharging(uint8_t slot_id){
|
|
|
+ DL_GPIO_setPins(battery_data[slot_id].charging_port, battery_data[slot_id].charging_pin);
|
|
|
+}
|
|
|
+
|
|
|
+void Battery_disableCharging(uint8_t slot_id){
|
|
|
+ DL_GPIO_clearPins(battery_data[slot_id].charging_port, battery_data[slot_id].charging_pin);
|
|
|
+}
|
|
|
+
|
|
|
+//Enable & Disable Diacharging:
|
|
|
+void Battery_enableDischarging(uint8_t slot_id){
|
|
|
+ DL_GPIO_setPins(battery_data[slot_id].discharging_port, battery_data[slot_id].discharging_pin);
|
|
|
+}
|
|
|
|
|
|
+void Battery_disableDischarging(uint8_t slot_id){
|
|
|
+ DL_GPIO_clearPins(battery_data[slot_id].discharging_port, battery_data[slot_id].discharging_pin);
|
|
|
+}
|