GDI4 integration progress

This commit is contained in:
rusefi 2023-05-15 14:18:40 -04:00
parent 44abec82de
commit 3007a5309d
1 changed files with 16 additions and 9 deletions

View File

@ -50,9 +50,17 @@ function onCanConfiguration(bus, id, dlc, data)
print ("HoldCurrent " ..getTwoBytesLSB(data, 6, 0.01) ) print ("HoldCurrent " ..getTwoBytesLSB(data, 6, 0.01) )
end end
function onCanVersion(bus, id, dlc, data)
year = data[1] * 100 + data[2]
month = data[3]
day = data[4]
print ("GDI4 FW " .. year .. '/' .. month .. '/' .. day)
end
canRxAdd(GDI4_BASE_ADDRESS, printPacket) canRxAdd(GDI4_BASE_ADDRESS, printPacket)
canRxAdd(GDI4_BASE_ADDRESS + 1, onCanConfiguration) canRxAdd(GDI4_BASE_ADDRESS + 1, onCanConfiguration)
canRxAdd(GDI4_BASE_ADDRESS + 2, printPacket) canRxAdd(GDI4_BASE_ADDRESS + 2, printPacket)
canRxAdd(GDI4_BASE_ADDRESS + 3, onCanVersion)
local data_set_voltage = { 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } local data_set_voltage = { 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
@ -63,22 +71,21 @@ function onTick()
boostVoltage = getCalibration("mc33_hvolt") boostVoltage = getCalibration("mc33_hvolt")
boostCurrent = getCalibration("mc33_i_boost") / 1000.0 boostCurrent = getCalibration("mc33_i_boost") / 1000.0
peakCurrent = getCalibration("mc33_i_peak") / 1000.0 peakCurrent = getCalibration("mc33_i_peak") / 1000.0
print("boostVoltage " .. boostVoltage .." boostCurrent " ..boostCurrent .." peakCurrent " ..peakCurrent) print("To send: boostVoltage " .. boostVoltage .." boostCurrent " ..boostCurrent .." peakCurrent " ..peakCurrent)
holdCurrent = getCalibration("mc33_i_hold")
peakDuration = getCalibration("mc33_t_peak_tot") / 1000.0
holdDuration = getCalibration("mc33_t_hold_tot") / 1000.0
print("holdCurrent " .. holdCurrent .. " peakDuration " .. peakDuration .." hold duration " ..holdDuration)
setTwoBytesLsb(data_set_voltage, 1, boostVoltage * FIXED_POINT) setTwoBytesLsb(data_set_voltage, 1, boostVoltage * FIXED_POINT)
setTwoBytesLsb(data_set_voltage, 3, boostCurrent * FIXED_POINT) setTwoBytesLsb(data_set_voltage, 3, boostCurrent * FIXED_POINT)
setTwoBytesLsb(data_set_voltage, 5, peakCurrent * FIXED_POINT) setTwoBytesLsb(data_set_voltage, 5, peakCurrent * FIXED_POINT)
print('Sending ' ..arrayToString(data_set_voltage)) print('Will be sending ' ..arrayToString(data_set_voltage))
txCan(1, 0x201, 1, data_set_voltage) txCan(1, 0x201, 1, data_set_voltage)
holdCurrent = getCalibration("mc33_i_hold")
peakDuration = getCalibration("mc33_t_peak_tot") / 1000.0
holdDuration = getCalibration("mc33_t_hold_tot") / 1000.0
print("To send: holdCurrent " .. holdCurrent .. " peakDuration " .. peakDuration .." hold duration " ..holdDuration)
end end