parent
268e784cb5
commit
a5f3013280
@ -0,0 +1,45 @@ |
|||||||
|
package yabl |
||||||
|
|
||||||
|
import ( |
||||||
|
"cli-mon/can" |
||||||
|
"log" |
||||||
|
"testing" |
||||||
|
"time" |
||||||
|
) |
||||||
|
|
||||||
|
type parameters struct { |
||||||
|
fields []content |
||||||
|
interval uint |
||||||
|
} |
||||||
|
|
||||||
|
type content struct { |
||||||
|
length uint8 |
||||||
|
setter func(uint64 uint64) |
||||||
|
last time.Time |
||||||
|
} |
||||||
|
|
||||||
|
func TestStartProtocolParsing(t *testing.T) { |
||||||
|
|
||||||
|
var cis = ContactorInternalState{} |
||||||
|
|
||||||
|
var cisMsg = parameters{fields: []content{ |
||||||
|
{length: 3, setter: cis.setContactorReady}, |
||||||
|
{length: 2, setter: cis.setContactorOn}, |
||||||
|
{length: 2, setter: cis.setUnexpectedState}, |
||||||
|
{length: 2, setter: cis.setIsolated}, |
||||||
|
{length: 2, setter: cis.setDebugEnabled}, |
||||||
|
}} |
||||||
|
|
||||||
|
var messages = map[uint]parameters{ |
||||||
|
can.CAN_ID_071: cisMsg, |
||||||
|
} |
||||||
|
|
||||||
|
// try to use
|
||||||
|
var values = messages[can.CAN_ID_071] |
||||||
|
for num, item := range values.fields { |
||||||
|
item.setter(uint64(num)) |
||||||
|
|
||||||
|
log.Println(cis) |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,341 @@ |
|||||||
|
package yabl |
||||||
|
|
||||||
|
func (t *ContactorInternalState) setContactorReady(val uint64) { |
||||||
|
t.ContactorReady = BoardReadyType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalState) setContactorOn(val uint64) { |
||||||
|
t.ContactorOn = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalState) setUnexpectedState(val uint64) { |
||||||
|
t.UnexpectedState = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalState) setIsolated(val uint64) { |
||||||
|
t.Isolated = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalState) setDebugEnabled(val uint64) { |
||||||
|
t.DebugEnabled = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalErrors) setBoardReady(val uint64) { |
||||||
|
t.BoardReady = BoardReadyType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalErrors) setOtherError(val uint64) { |
||||||
|
t.OtherError = ContactorInternalOtherErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalErrors) setContactorGroupChanged(val uint64) { |
||||||
|
t.ContactorGroupChanged = ContactorGroupChangedType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalErrors) setUnexpectedFormation(val uint64) { |
||||||
|
t.UnexpectedFormation = ContactorInternalOtherErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalErrors) setCpuNotReady(val uint64) { |
||||||
|
t.CpuNotReady = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalErrors) setPuNotReady(val uint64) { |
||||||
|
t.PuNotReady = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *ContactorInternalErrors) setDebug(val uint64) { |
||||||
|
t.Debug = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPresentEnergy) setV2GMode(val uint64) { |
||||||
|
t.V2GMode = V2GModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPresentEnergy) setVoltageBefore(val uint64) { |
||||||
|
t.VoltageBefore = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPresentEnergy) setVoltageAfter(val uint64) { |
||||||
|
t.VoltageAfter = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPresentEnergy) setPresentCurrent(val uint64) { |
||||||
|
t.PresentCurrent = Current10BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setConnectorInsert(val uint64) { |
||||||
|
t.ConnectorInsert = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setContactorOn(val uint64) { |
||||||
|
t.ContactorOn = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setConnectorLocked(val uint64) { |
||||||
|
t.ConnectorLocked = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setCpLineLevel(val uint64) { |
||||||
|
t.CpLineLevel = CpLineLevelType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setIsolationState(val uint64) { |
||||||
|
t.IsolationState = IsolationStateType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setChargingAllowed(val uint64) { |
||||||
|
t.ChargingAllowed = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setPwmEnabled(val uint64) { |
||||||
|
t.PwmEnabled = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *PuPeriphery) setCpLineVoltage(val uint64) { |
||||||
|
t.CpLineVoltage = Voltage9BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *LogicAuth) setAuthMode(val uint64) { |
||||||
|
t.AuthMode = AuthModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (t *LogicAuth) setAuthState(val uint64) { |
||||||
|
t.AuthState = AuthStateType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (l *LogicWorkingMode) setTargetContactorMode(val uint64) { |
||||||
|
l.TargetContactorMode = ContactorModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (l *LogicWorkingMode) setAvailability(val uint64) { |
||||||
|
l.Availability = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuPresentEnergy) setPowerDirectionMode(val uint64) { |
||||||
|
c.PowerDirectionMode = V2GModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuPresentEnergy) setPresentCurrent(val uint64) { |
||||||
|
c.PresentCurrent = Current10BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuPresentEnergy) setPresentVoltage(val uint64) { |
||||||
|
c.PresentVoltage = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuPeriphery) setCircuitBreakerInput(val uint64) { |
||||||
|
c.CircuitBreakerInput = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuPeriphery) setCircuitBreakerPowerCBInput(val uint64) { |
||||||
|
c.CircuitBreakerPowerCBInput = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuPeriphery) setContactorInput(val uint64) { |
||||||
|
c.ContactorInput = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuEnergySettings) setCurrentMax(val uint64) { |
||||||
|
c.CurrentMax = Current10BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuEnergySettings) setVoltageMax(val uint64) { |
||||||
|
c.VoltageMax = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuEnergySettings) setPowerMax(val uint64) { |
||||||
|
c.PowerMax = Power14BitType(val * 100) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuEnergySettings) setTargetBatteryVoltage(val uint64) { |
||||||
|
c.TargetBatteryVoltage = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuEnergySettings) setTargetGoalVoltage(val uint64) { |
||||||
|
c.TargetGoalVoltage = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setBoardReady(val uint64) { |
||||||
|
c.BoardReady = BoardReadyType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setOtherError(val uint64) { |
||||||
|
c.OtherError = OtherError4BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setRedButtonHard(val uint64) { |
||||||
|
c.RedButtonHard = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setRedButtonSoft(val uint64) { |
||||||
|
c.RedButtonSoft = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setModulesGone(val uint64) { |
||||||
|
c.ModulesGone = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setGridVoltageHighErr(val uint64) { |
||||||
|
c.GridVoltageHighErr = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setGridVoltageHighWarn(val uint64) { |
||||||
|
c.GridVoltageHighWarn = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setGridVoltageLowWarn(val uint64) { |
||||||
|
c.GridVoltageLowWarn = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setGridVoltageLowErr(val uint64) { |
||||||
|
c.GridVoltageLowErr = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setGridVoltageLow(val uint64) { |
||||||
|
c.GridVoltageLow = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setGridVoltageHigh(val uint64) { |
||||||
|
c.GridVoltageHigh = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setGridVoltageEmpty(val uint64) { |
||||||
|
c.GridVoltageEmpty = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setNotReadySecc(val uint64) { |
||||||
|
c.NotReadySecc = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setNotReadyPu(val uint64) { |
||||||
|
c.NotReadyPu = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setNotReadyContactors(val uint64) { |
||||||
|
c.NotReadyContactors = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setDebugConvertersEnabled(val uint64) { |
||||||
|
c.DebugConvertersEnabled = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setContactorInputError(val uint64) { |
||||||
|
c.ContactorInputError = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (c *CpuErrors) setNotReadyPeriphery(val uint64) { |
||||||
|
c.NotReadyPeriphery = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (d *CpuDebug) setDebugModeOn(val uint64) { |
||||||
|
d.DebugModeOn = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (d *CpuDebug) setDebugContactorInputOn(val uint64) { |
||||||
|
d.DebugContactorInputOn = DebugSwitchModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (d *CpuDebug) setDebugCircuitBreakerOn(val uint64) { |
||||||
|
d.DebugCircuitBreakerOn = DebugSwitchModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (d *CpuDebug) setDebugRedButtonSoftware(val uint64) { |
||||||
|
d.DebugRedButtonSoftware = DebugSwitchModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setBoardReady(val uint64) { |
||||||
|
p.BoardReady = BoardReadyType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setOtherError(val uint64) { |
||||||
|
p.OtherError = OtherError4BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setIncorrectVoltage(val uint64) { |
||||||
|
p.IncorrectVoltage = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setIncorrectVoltageValue(val uint64) { |
||||||
|
p.IncorrectVoltageValue = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setIncorrectCurrent(val uint64) { |
||||||
|
p.IncorrectCurrent = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setIncorrectCurrentValue(val uint64) { |
||||||
|
p.IncorrectCurrentValue = Current10BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setIsolationBroken(val uint64) { |
||||||
|
p.IsolationBroken = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setCpLineBroken(val uint64) { |
||||||
|
p.CpLineBroken = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setCpLineGap69(val uint64) { |
||||||
|
p.CpLineGap69 = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setCableReady(val uint64) { |
||||||
|
p.CableReady = BoardReadyType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setNotReadyCpu(val uint64) { |
||||||
|
p.NotReadyCpu = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setNotReadySecc(val uint64) { |
||||||
|
p.NotReadySecc = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setContactorOutputError(val uint64) { |
||||||
|
p.ContactorOutputError = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setDebugContactorOutputEnabled(val uint64) { |
||||||
|
p.DebugContactorOutputEnabled = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setOutputCircuitBreakerEnabled(val uint64) { |
||||||
|
p.OutputCircuitBreakerEnabled = ErrorType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (p *PuErrors) setOutputCircuitBreakerEnabledValue(val uint64) { |
||||||
|
p.OutputCircuitBreakerEnabledValue = SignedVoltage12bitType(val - 1000) |
||||||
|
} |
||||||
|
|
||||||
|
func (d *PuDebug) setDebugModeOn(val uint64) { |
||||||
|
d.DebugModeOn = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (d *PuDebug) setDebugContactorOutputOn(val uint64) { |
||||||
|
d.DebugContactorOutputOn = DebugSwitchModeType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (s *SeccTargetEnergy) setTargetChargingAllow(val uint64) { |
||||||
|
s.TargetChargingAllow = BooleanType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (s *SeccTargetEnergy) setTargetBatteryVoltage(val uint64) { |
||||||
|
s.TargetBatteryVoltage = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (s *SeccTargetEnergy) setTargetGoalVoltage(val uint64) { |
||||||
|
s.TargetGoalVoltage = Voltage11BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (s *SeccTargetEnergy) setTargetCurrent(val uint64) { |
||||||
|
s.TargetCurrent = Current10BitType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (e *SeccErrors) setBoardReady(val uint64) { |
||||||
|
e.BoardReady = BoardReadyType(val) |
||||||
|
} |
||||||
|
|
||||||
|
func (e *SeccErrors) setNotReadyLogic(val uint64) { |
||||||
|
e.NotReadyLogic = ErrorType(val) |
||||||
|
} |
Loading…
Reference in new issue