|
|
@@ -25,6 +25,7 @@ void I2C_1_INST_IRQHandler(void)
|
|
|
switch (DL_I2C_getPendingInterrupt(I2C_1_INST))
|
|
|
{
|
|
|
case DL_I2C_IIDX_CONTROLLER_START:
|
|
|
+
|
|
|
break;
|
|
|
|
|
|
case DL_I2C_IIDX_CONTROLLER_RXFIFO_TRIGGER:
|
|
|
@@ -42,7 +43,6 @@ void I2C_1_INST_IRQHandler(void)
|
|
|
}
|
|
|
|
|
|
if(rxPacket.rxCount >= rxPacket.rxLen){
|
|
|
- //rxPacket.rxComplete= true;
|
|
|
DL_I2C_enableInterrupt(I2C_1_INST, DL_I2C_INTERRUPT_CONTROLLER_STOP);
|
|
|
rxPacket.rxComplete= true;
|
|
|
}
|
|
|
@@ -51,8 +51,8 @@ void I2C_1_INST_IRQHandler(void)
|
|
|
case DL_I2C_IIDX_CONTROLLER_TXFIFO_TRIGGER:
|
|
|
/* Fill TX FIFO with bytes to send */
|
|
|
mcuSendCommand = true;
|
|
|
- DL_I2C_fillControllerTXFIFO(I2C_1_INST, (uint8_t *)&txPacket.txBuffer[0], 1);
|
|
|
- txPacket.txComplete= true;
|
|
|
+ DL_I2C_fillControllerTXFIFO(I2C_1_INST, (uint8_t *)&txPacket.txBuffer[0], 1);
|
|
|
+ txPacket.txComplete= true;
|
|
|
break;
|
|
|
|
|
|
case DL_I2C_IIDX_CONTROLLER_STOP:
|
|
|
@@ -136,13 +136,15 @@ int main(void)
|
|
|
//Reading battery state:
|
|
|
Battery_StateCondition(slot_id);
|
|
|
printf("Battery State: %d\n", battery_data[slot_id].battery_state);
|
|
|
+
|
|
|
//If target received battery limits from Pi then start charging:
|
|
|
if(battery_data[slot_id].batteryLimitReceived){
|
|
|
printf("Battery Limits: Slot: %d, Max Voltage:%u, Min Voltage:%u, "
|
|
|
"Cutoff Current: %u, Capacitance:%u, Charge Fraction:%u, Cycle Number: %u\n", slot_id, battery_data[slot_id].max_voltage,
|
|
|
battery_data[slot_id].min_voltage, battery_data[slot_id].cut_off_current,
|
|
|
battery_data[slot_id].capacitance, battery_data[slot_id].charge_fraction, battery_data[slot_id].cycle_number);
|
|
|
- CC_CV_ControlCharging(slot_id, 50);
|
|
|
+ //CC_CV_ControlCharging(slot_id, 100);
|
|
|
+ controller_SetCurrent(0x48, slot_id, 50);
|
|
|
|
|
|
}
|
|
|
|