瀏覽代碼

Configuration for the realys correctly updated

namrota ghosh 6 月之前
父節點
當前提交
7cf20524c8
共有 2 個文件被更改,包括 19 次插入18 次删除
  1. 4 4
      main.syscfg
  2. 15 14
      src/cc_cv_charging.c

+ 4 - 4
main.syscfg

@@ -34,13 +34,13 @@ Board.peripheral.swdioPin.$assign = "PA19";
 
 GPIO1.$name                         = "GPIO_Battery_Charging";
 GPIO1.port                          = "PORTB";
-GPIO1.associatedPins[0].$name       = "PIN_PB6";
-GPIO1.associatedPins[0].pin.$assign = "PB6";
+GPIO1.associatedPins[0].$name       = "PIN_PB7";
+GPIO1.associatedPins[0].pin.$assign = "PB7";
 
 GPIO2.$name                         = "GPIO_Battery_Discharging";
 GPIO2.port                          = "PORTB";
-GPIO2.associatedPins[0].$name       = "PIN_PB7";
-GPIO2.associatedPins[0].pin.$assign = "PB7";
+GPIO2.associatedPins[0].$name       = "PIN_PB6";
+GPIO2.associatedPins[0].pin.$assign = "PB6";
 
 GPIO3.port                          = "PORTA";
 GPIO3.$name                         = "GPIO_ADDR_PINS";

+ 15 - 14
src/cc_cv_charging.c

@@ -23,8 +23,9 @@ static uint16_t batt_cutoff_current;
 static uint16_t batt_capacitance;
 static int16_t batt_charge_discharge;
 static uint8_t previous_cycle_number;
-// Functions for Charging and Discharging State
 
+
+// Functions for Charging and Discharging State
 void CC_CV_UpdateChargingState(uint8_t slot_id) {
     //static variable to keep a log on the transition during charging and discharging phases
     static BatteryChargingState previous_state= STATE_IDLE;
@@ -102,7 +103,7 @@ void CC_CV_UpdateChargingState(uint8_t slot_id) {
     
         else if (charging_state == STATE_DISCHARGING &&
                 batt_voltage <= batt_min_voltage + BATTERY_THRESHOLD) {
-            DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+            DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB6_PIN);
             charging_state = STATE_CC_CHARGING;
             cv_charging_started = false;
         }
@@ -156,8 +157,8 @@ void CC_CV_ControlCharging(uint8_t slot_id, int16_t charge_current) {
   
     // PRE CHARGE STATE: Battery Voltage is lesser than 3000 mVolts
     case STATE_PRE_CHARGE:
-      //DL_GPIO_setPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB6_PIN);
-      DL_GPIO_setPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+
+      DL_GPIO_setPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB7_PIN);
       controller_SetCurrent(TARGET_BASE_ADDRESS, slot_id, charge_current);
       if (true) {
         printf("PRE CHARGING: Slot %d at %d mA.\n", slot_id, charge_current);
@@ -167,7 +168,7 @@ void CC_CV_ControlCharging(uint8_t slot_id, int16_t charge_current) {
     // CC CHARGING STATE: Keeps on checking the condition until battery voltage
     // reaches to (MAXIMUM_VOLTAGE-BATTERY_THRESHOLD)= 4150 mVolts
     case STATE_CC_CHARGING:
-      DL_GPIO_setPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+      DL_GPIO_setPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB7_PIN);
       controller_SetCurrent(TARGET_BASE_ADDRESS, slot_id, charge_current);
       printf("CC CHARGING: Slot %d, Current: %d mA, Voltage: %d mV.\n", slot_id, batt_current, batt_voltage);
       break;
@@ -175,7 +176,7 @@ void CC_CV_ControlCharging(uint8_t slot_id, int16_t charge_current) {
     // CV CHARGING STATE: Keeps on checking the condition until battery current
     // decreases till it exceeds (CUTOFF_CURRENT_MA + BATTERY_THRESHOLD)= 290 mAs
     case STATE_CV_CHARGING:
-      DL_GPIO_setPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+      DL_GPIO_setPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB7_PIN);
       if (batt_current >= batt_cutoff_current + BATTERY_THRESHOLD) {
         // Detect steep voltage drop:
         if (last_voltage != 0 && (last_voltage - batt_voltage) > 100) {
@@ -192,8 +193,8 @@ void CC_CV_ControlCharging(uint8_t slot_id, int16_t charge_current) {
       break;
   
     case STATE_DISCHARGING:
-      DL_GPIO_setPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB6_PIN);
-      DL_GPIO_setPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+      DL_GPIO_setPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB7_PIN);
+      DL_GPIO_setPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB6_PIN);
       //controller_EvaluateBatterySlotState(slot_id, BatteryMeasurement *measurement);
       controller_SetCurrent(TARGET_BASE_ADDRESS, slot_id, charge_current);
       printf("DISCHARGING: Slot %d at %d mA.\n", slot_id, batt_current);
@@ -208,21 +209,21 @@ void CC_CV_ControlCharging(uint8_t slot_id, int16_t charge_current) {
     case STATE_FINAL_DISCHARGE:
       //Once the cycle gets done, the battery state transitions to "STATE_MEASUREMENT_DONE"
       battery_data[slot_id].battery_state= STATE_MEASUREMENT_DONE;
-      DL_GPIO_clearPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB6_PIN);
-      DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+      DL_GPIO_clearPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB7_PIN);
+      DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB6_PIN);
       controller_SetCurrent(TARGET_BASE_ADDRESS, slot_id, 0);
       charging_state = STATE_IDLE;
       break;
   
     case STATE_ERROR:
-      DL_GPIO_clearPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB6_PIN);
-      DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+      DL_GPIO_clearPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB7_PIN);
+      DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB6_PIN);
       printf("ERROR: Slot %d.\n", slot_id);
       break;
   
     case STATE_IDLE:
-      DL_GPIO_clearPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB6_PIN);
-      DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB7_PIN);
+      DL_GPIO_clearPins(GPIO_Battery_Charging_PORT, GPIO_Battery_Charging_PIN_PB7_PIN);
+      DL_GPIO_clearPins(GPIO_Battery_Discharging_PORT, GPIO_Battery_Discharging_PIN_PB6_PIN);
       //charging_state = STATE_PRE_CHARGE;
       break;