diff --git a/cli-mon.go b/cli-mon.go index 55d79b7..46a6635 100644 --- a/cli-mon.go +++ b/cli-mon.go @@ -46,8 +46,8 @@ func main() { ui.InitCliApp(messages) } else { for msg := range messages { - val := getField(msg.Object, msg.Field) - fmt.Printf("%v %v.%v [%d] %v\n", msg.Updated.Format("Jan _2 15:04:05.000"), msg.ActionName, msg.Field, msg.UnitId, val) + // val := getField(msg.Object, msg.Field) + fmt.Printf("%v %v.%v [%d] %v\n", msg.Updated.Format("Jan _2 15:04:05.000"), msg.ActionName, msg.Field, msg.UnitId, msg.Value) } } } diff --git a/ui/view.go b/ui/view.go index 36db113..3606193 100644 --- a/ui/view.go +++ b/ui/view.go @@ -142,13 +142,13 @@ func updateContactorsView(msg *yabl.ContactorInternalState) { s.Isolated, s.DebugEnabled) - if s.ContactorReady == yabl.BOARD_READY_OK { + if s.ContactorReady != nil && *s.ContactorReady == yabl.BOARD_READY_OK { p.TextStyle.Bg = ui.ColorClear } else { p.TextStyle.Bg = ui.ColorRed } - if s.ContactorOn == yabl.ON { + if s.ContactorOn != nil && *s.ContactorOn == yabl.ON { p.TitleStyle.Bg = ui.ColorBlue } else { p.TitleStyle.Bg = ui.ColorClear @@ -227,7 +227,7 @@ func updateContactorsStateView(e *yabl.ContactorInternalErrors) { e.Debug, ) - if e.BoardReady == yabl.BOARD_READY_OK { + if e.BoardReady != nil && *e.BoardReady == yabl.BOARD_READY_OK { p.TextStyle.Bg = ui.ColorClear } else { p.TextStyle.Bg = ui.ColorRed diff --git a/yabl/init.go b/yabl/init.go index f35479f..2578857 100644 --- a/yabl/init.go +++ b/yabl/init.go @@ -379,10 +379,10 @@ func initialize() { cd := &ConverterDebug{UnitId: i} converterDebugArray[i] = cd fields = []*field{ - {length: 3, setter: cd.setDebugModeOn, name: FDebugModeOn}, - {length: 4, setter: cd.setDebugEnergyOn, name: FDebugEnergyOn}, - {length: 2, setter: cd.setDebugTargetVoltage, name: FDebugTargetVoltage}, - {length: 2, setter: cd.setDebugTargetCurrent, name: FDebugTargetCurrent}, + {length: 2, setter: cd.setDebugModeOn, name: FDebugModeOn}, + {length: 3, setter: cd.setDebugEnergyOn, name: FDebugEnergyOn}, + {length: 11, setter: cd.setDebugTargetVoltage, name: FDebugTargetVoltage}, + {length: 10, setter: cd.setDebugTargetCurrent, name: FDebugTargetCurrent}, } protocolMap[key] = action{fields: fields, interval: 1000, name: PConverterDebug, object: cd} } diff --git a/yabl/protocol.go b/yabl/protocol.go index f920796..c646450 100644 --- a/yabl/protocol.go +++ b/yabl/protocol.go @@ -41,6 +41,7 @@ type Event struct { Field FName Object Action Updated time.Time + Value any } type action struct { @@ -52,16 +53,12 @@ type action struct { type field struct { length uint8 - setter func(uint64 uint64) + setter func(uint64 uint64) any value uint64 last time.Time name FName } -func newField(length uint8, setter func(uint64 uint64), name FName) *field { - return &field{length: length, setter: setter, name: name, value: ^uint64(0)} -} - type key struct { canId uint32 unitId uint @@ -119,13 +116,14 @@ func StartProtocolParsing(frames <-chan *can.CanFrame) <-chan *Event { f.last = now if f.value != val { f.value = val - f.setter(val) + obj := f.setter(val) result <- &Event{ Field: f.name, ActionName: param.name, Object: param.object, UnitId: unitId, Updated: now, + Value: obj, } } } diff --git a/yabl/setters.go b/yabl/setters.go index 7948eae..14348dd 100644 --- a/yabl/setters.go +++ b/yabl/setters.go @@ -1,609 +1,913 @@ package yabl -func (t *ContactorInternalState) setContactorReady(val uint64) { - t.ContactorReady = BoardReadyType(val) +func (t *ContactorInternalState) setContactorReady(val uint64) any { + value := BoardReadyType(val) + t.ContactorReady = &value + return &value } -func (t *ContactorInternalState) setContactorOn(val uint64) { - t.ContactorOn = BooleanType(val) +func (t *ContactorInternalState) setContactorOn(val uint64) any { + value := BooleanType(val) + t.ContactorOn = &value + return &value } -func (t *ContactorInternalState) setUnexpectedState(val uint64) { - t.UnexpectedState = ErrorType(val) +func (t *ContactorInternalState) setUnexpectedState(val uint64) any { + value := ErrorType(val) + t.UnexpectedState = &value + return &value } -func (t *ContactorInternalState) setIsolated(val uint64) { - t.Isolated = ErrorType(val) +func (t *ContactorInternalState) setIsolated(val uint64) any { + value := ErrorType(val) + t.Isolated = &value + return &value } -func (t *ContactorInternalState) setDebugEnabled(val uint64) { - t.DebugEnabled = BooleanType(val) +func (t *ContactorInternalState) setDebugEnabled(val uint64) any { + value := BooleanType(val) + t.DebugEnabled = &value + return &value } -func (t *ContactorInternalErrors) setBoardReady(val uint64) { - t.BoardReady = BoardReadyType(val) +func (t *ContactorInternalErrors) setBoardReady(val uint64) any { + value := BoardReadyType(val) + t.BoardReady = &value + return &value } -func (t *ContactorInternalErrors) setOtherError(val uint64) { - t.OtherError = ContactorInternalOtherErrorType(val) +func (t *ContactorInternalErrors) setOtherError(val uint64) any { + value := ContactorInternalOtherErrorType(val) + t.OtherError = &value + return &value } -func (t *ContactorInternalErrors) setContactorGroupChanged(val uint64) { - t.ContactorGroupChanged = ContactorGroupChangedType(val) +func (t *ContactorInternalErrors) setContactorGroupChanged(val uint64) any { + value := ContactorGroupChangedType(val) + t.ContactorGroupChanged = &value + return &value } -func (t *ContactorInternalErrors) setUnexpectedFormation(val uint64) { - t.UnexpectedFormation = ContactorInternalOtherErrorType(val) +func (t *ContactorInternalErrors) setUnexpectedFormation(val uint64) any { + value := ContactorInternalOtherErrorType(val) + t.UnexpectedFormation = &value + return &value } -func (t *ContactorInternalErrors) setCpuNotReady(val uint64) { - t.CpuNotReady = ErrorType(val) +func (t *ContactorInternalErrors) setCpuNotReady(val uint64) any { + value := ErrorType(val) + t.CpuNotReady = &value + return &value } -func (t *ContactorInternalErrors) setPuNotReady(val uint64) { - t.PuNotReady = ErrorType(val) +func (t *ContactorInternalErrors) setPuNotReady(val uint64) any { + value := ErrorType(val) + t.PuNotReady = &value + return &value } -func (t *ContactorInternalErrors) setDebug(val uint64) { - t.Debug = BooleanType(val) +func (t *ContactorInternalErrors) setDebug(val uint64) any { + value := BooleanType(val) + t.Debug = &value + return &value } -func (t *ContactorInternalErrors) setPresentContactorMode(val uint64) { - t.PresentContactorMode = ContactorModeType(val) +func (t *ContactorInternalErrors) setPresentContactorMode(val uint64) any { + value := ContactorModeType(val) + t.PresentContactorMode = &value + return &value } -func (t *PuPresentEnergy) setV2GMode(val uint64) { - t.V2GMode = V2GModeType(val) +func (t *PuPresentEnergy) setV2GMode(val uint64) any { + value := V2GModeType(val) + t.V2GMode = &value + return &value } -func (t *PuPresentEnergy) setVoltageBefore(val uint64) { - t.VoltageBefore = Voltage11BitType(val) +func (t *PuPresentEnergy) setVoltageBefore(val uint64) any { + value := Voltage11BitType(val) + t.VoltageBefore = &value + return &value } -func (t *PuPresentEnergy) setVoltageAfter(val uint64) { - t.VoltageAfter = Voltage11BitType(val) +func (t *PuPresentEnergy) setVoltageAfter(val uint64) any { + value := Voltage11BitType(val) + t.VoltageAfter = &value + return &value } -func (t *PuPresentEnergy) setPresentCurrent(val uint64) { - t.PresentCurrent = Current10BitType(val) +func (t *PuPresentEnergy) setPresentCurrent(val uint64) any { + value := Current10BitType(val) + t.PresentCurrent = &value + return &value } -func (t *PuPeriphery) setConnectorInsert(val uint64) { - t.ConnectorInsert = BooleanType(val) +func (t *PuPeriphery) setConnectorInsert(val uint64) any { + value := BooleanType(val) + t.ConnectorInsert = &value + return &value } -func (t *PuPeriphery) setContactorOn(val uint64) { - t.ContactorOn = BooleanType(val) +func (t *PuPeriphery) setContactorOn(val uint64) any { + value := BooleanType(val) + t.ContactorOn = &value + return &value } -func (t *PuPeriphery) setConnectorLocked(val uint64) { - t.ConnectorLocked = BooleanType(val) +func (t *PuPeriphery) setConnectorLocked(val uint64) any { + value := BooleanType(val) + t.ConnectorLocked = &value + return &value } -func (t *PuPeriphery) setCpLineLevel(val uint64) { - t.CpLineLevel = CpLineLevelType(val) +func (t *PuPeriphery) setCpLineLevel(val uint64) any { + value := CpLineLevelType(val) + t.CpLineLevel = &value + return &value } -func (t *PuPeriphery) setIsolationState(val uint64) { - t.IsolationState = IsolationStateType(val) +func (t *PuPeriphery) setIsolationState(val uint64) any { + value := IsolationStateType(val) + t.IsolationState = &value + return &value } -func (t *PuPeriphery) setChargingAllowed(val uint64) { - t.ChargingAllowed = BooleanType(val) +func (t *PuPeriphery) setChargingAllowed(val uint64) any { + value := BooleanType(val) + t.ChargingAllowed = &value + return &value } -func (t *PuPeriphery) setPwmEnabled(val uint64) { - t.PwmEnabled = BooleanType(val) +func (t *PuPeriphery) setPwmEnabled(val uint64) any { + value := BooleanType(val) + t.PwmEnabled = &value + return &value } -func (t *PuPeriphery) setCpLineVoltage(val uint64) { - t.CpLineVoltage = Voltage9BitType(val)*0.1 - 15 +func (t *PuPeriphery) setCpLineVoltage(val uint64) any { + value := Voltage9BitType(val)*0.1 - 15 + t.CpLineVoltage = &value + return &value } -func (t *LogicAuth) setAuthMode(val uint64) { - t.AuthMode = AuthModeType(val) +func (t *LogicAuth) setAuthMode(val uint64) any { + value := AuthModeType(val) + t.AuthMode = &value + return &value } -func (t *LogicAuth) setAuthState(val uint64) { - t.AuthState = AuthStateType(val) +func (t *LogicAuth) setAuthState(val uint64) any { + value := AuthStateType(val) + t.AuthState = &value + return &value } -func (l *LogicWorkingMode) setTargetContactorMode(val uint64) { - l.TargetContactorMode = ContactorModeType(val) +func (l *LogicWorkingMode) setTargetContactorMode(val uint64) any { + value := ContactorModeType(val) + l.TargetContactorMode = &value + return &value } -func (l *LogicWorkingMode) setAvailability(val uint64) { - l.Availability = BooleanType(val) +func (l *LogicWorkingMode) setAvailability(val uint64) any { + value := BooleanType(val) + l.Availability = &value + return &value } -func (c *CpuPresentEnergy) setPowerDirectionMode(val uint64) { - c.PowerDirectionMode = V2GModeType(val) +func (c *CpuPresentEnergy) setPowerDirectionMode(val uint64) any { + value := V2GModeType(val) + c.PowerDirectionMode = &value + return &value } -func (c *CpuPresentEnergy) setPresentCurrent(val uint64) { - c.PresentCurrent = Current10BitType(val) +func (c *CpuPresentEnergy) setPresentCurrent(val uint64) any { + value := Current10BitType(val) + c.PresentCurrent = &value + return &value } -func (c *CpuPresentEnergy) setPresentVoltage(val uint64) { - c.PresentVoltage = Voltage11BitType(val) +func (c *CpuPresentEnergy) setPresentVoltage(val uint64) any { + value := Voltage11BitType(val) + c.PresentVoltage = &value + return &value } -func (c *CpuPeriphery) setCircuitBreakerInput(val uint64) { - c.CircuitBreakerInput = BooleanType(val) +func (c *CpuPeriphery) setCircuitBreakerInput(val uint64) any { + value := BooleanType(val) + c.CircuitBreakerInput = &value + return &value } -func (c *CpuPeriphery) setCircuitBreakerPowerCBInput(val uint64) { - c.CircuitBreakerPowerCBInput = BooleanType(val) +func (c *CpuPeriphery) setCircuitBreakerPowerCBInput(val uint64) any { + value := BooleanType(val) + c.CircuitBreakerPowerCBInput = &value + return &value } -func (c *CpuPeriphery) setContactorInput(val uint64) { - c.ContactorInput = BooleanType(val) +func (c *CpuPeriphery) setContactorInput(val uint64) any { + value := BooleanType(val) + c.ContactorInput = &value + return &value } -func (c *CpuEnergySettings) setCurrentMax(val uint64) { - c.CurrentMax = Current10BitType(val) +func (c *CpuEnergySettings) setCurrentMax(val uint64) any { + value := Current10BitType(val) + c.CurrentMax = &value + return &value } -func (c *CpuEnergySettings) setVoltageMax(val uint64) { - c.VoltageMax = Voltage11BitType(val) +func (c *CpuEnergySettings) setVoltageMax(val uint64) any { + value := Voltage11BitType(val) + c.VoltageMax = &value + return &value } -func (c *CpuEnergySettings) setPowerMax(val uint64) { - c.PowerMax = Power14BitType(val * 100) +func (c *CpuEnergySettings) setPowerMax(val uint64) any { + value := Power14BitType(val * 100) + c.PowerMax = &value + return &value } -func (c *CpuEnergySettings) setTargetBatteryVoltage(val uint64) { - c.TargetBatteryVoltage = Voltage11BitType(val) +func (c *CpuEnergySettings) setTargetBatteryVoltage(val uint64) any { + value := Voltage11BitType(val) + c.TargetBatteryVoltage = &value + return &value } -func (c *CpuEnergySettings) setTargetGoalVoltage(val uint64) { - c.TargetGoalVoltage = Voltage11BitType(val) +func (c *CpuEnergySettings) setTargetGoalVoltage(val uint64) any { + value := Voltage11BitType(val) + c.TargetGoalVoltage = &value + return &value } -func (c *CpuErrors) setBoardReady(val uint64) { - c.BoardReady = BoardReadyType(val) +func (c *CpuErrors) setBoardReady(val uint64) any { + value := BoardReadyType(val) + c.BoardReady = &value + return &value } -func (c *CpuErrors) setOtherError(val uint64) { - c.OtherError = OtherError4BitType(val) +func (c *CpuErrors) setOtherError(val uint64) any { + value := OtherError4BitType(val) + c.OtherError = &value + return &value } -func (c *CpuErrors) setRedButtonHard(val uint64) { - c.RedButtonHard = ErrorType(val) +func (c *CpuErrors) setRedButtonHard(val uint64) any { + value := ErrorType(val) + c.RedButtonHard = &value + return &value } -func (c *CpuErrors) setRedButtonSoft(val uint64) { - c.RedButtonSoft = ErrorType(val) +func (c *CpuErrors) setRedButtonSoft(val uint64) any { + value := ErrorType(val) + c.RedButtonSoft = &value + return &value } -func (c *CpuErrors) setModulesGone(val uint64) { - c.ModulesGone = ErrorType(val) +func (c *CpuErrors) setModulesGone(val uint64) any { + value := ErrorType(val) + c.ModulesGone = &value + return &value } -func (c *CpuErrors) setGridVoltageHighErr(val uint64) { - c.GridVoltageHighErr = ErrorType(val) +func (c *CpuErrors) setGridVoltageHighErr(val uint64) any { + value := ErrorType(val) + c.GridVoltageHighErr = &value + return &value } -func (c *CpuErrors) setGridVoltageHighWarn(val uint64) { - c.GridVoltageHighWarn = ErrorType(val) +func (c *CpuErrors) setGridVoltageHighWarn(val uint64) any { + value := ErrorType(val) + c.GridVoltageHighWarn = &value + return &value } -func (c *CpuErrors) setGridVoltageLowWarn(val uint64) { - c.GridVoltageLowWarn = ErrorType(val) +func (c *CpuErrors) setGridVoltageLowWarn(val uint64) any { + value := ErrorType(val) + c.GridVoltageLowWarn = &value + return &value } -func (c *CpuErrors) setGridVoltageLowErr(val uint64) { - c.GridVoltageLowErr = ErrorType(val) +func (c *CpuErrors) setGridVoltageLowErr(val uint64) any { + value := ErrorType(val) + c.GridVoltageLowErr = &value + return &value } -func (c *CpuErrors) setGridVoltageLow(val uint64) { - c.GridVoltageLow = Voltage11BitType(val) +func (c *CpuErrors) setGridVoltageLow(val uint64) any { + value := Voltage11BitType(val) + c.GridVoltageLow = &value + return &value } -func (c *CpuErrors) setGridVoltageHigh(val uint64) { - c.GridVoltageHigh = Voltage11BitType(val) +func (c *CpuErrors) setGridVoltageHigh(val uint64) any { + value := Voltage11BitType(val) + c.GridVoltageHigh = &value + return &value } -func (c *CpuErrors) setGridVoltageEmpty(val uint64) { - c.GridVoltageEmpty = ErrorType(val) +func (c *CpuErrors) setGridVoltageEmpty(val uint64) any { + value := ErrorType(val) + c.GridVoltageEmpty = &value + return &value } -func (c *CpuErrors) setNotReadySecc(val uint64) { - c.NotReadySecc = ErrorType(val) +func (c *CpuErrors) setNotReadySecc(val uint64) any { + value := ErrorType(val) + c.NotReadySecc = &value + return &value } -func (c *CpuErrors) setNotReadyPu(val uint64) { - c.NotReadyPu = ErrorType(val) +func (c *CpuErrors) setNotReadyPu(val uint64) any { + value := ErrorType(val) + c.NotReadyPu = &value + return &value } -func (c *CpuErrors) setNotReadyContactors(val uint64) { - c.NotReadyContactors = ErrorType(val) +func (c *CpuErrors) setNotReadyContactors(val uint64) any { + value := ErrorType(val) + c.NotReadyContactors = &value + return &value } -func (c *CpuErrors) setDebugConvertersEnabled(val uint64) { - c.DebugConvertersEnabled = ErrorType(val) +func (c *CpuErrors) setDebugConvertersEnabled(val uint64) any { + value := ErrorType(val) + c.DebugConvertersEnabled = &value + return &value } -func (c *CpuErrors) setContactorInputError(val uint64) { - c.ContactorInputError = ErrorType(val) +func (c *CpuErrors) setContactorInputError(val uint64) any { + value := ErrorType(val) + c.ContactorInputError = &value + return &value } -func (c *CpuErrors) setNotReadyPeriphery(val uint64) { - c.NotReadyPeriphery = ErrorType(val) +func (c *CpuErrors) setNotReadyPeriphery(val uint64) any { + value := ErrorType(val) + c.NotReadyPeriphery = &value + return &value } -func (d *CpuDebug) setDebugModeOn(val uint64) { - d.DebugModeOn = BooleanType(val) +func (d *CpuDebug) setDebugModeOn(val uint64) any { + value := BooleanType(val) + d.DebugModeOn = &value + return &value } -func (d *CpuDebug) setDebugContactorInputOn(val uint64) { - d.DebugContactorInputOn = DebugSwitchModeType(val) +func (d *CpuDebug) setDebugContactorInputOn(val uint64) any { + value := DebugSwitchModeType(val) + d.DebugContactorInputOn = &value + return &value } -func (d *CpuDebug) setDebugCircuitBreakerOn(val uint64) { - d.DebugCircuitBreakerOn = DebugSwitchModeType(val) +func (d *CpuDebug) setDebugCircuitBreakerOn(val uint64) any { + value := DebugSwitchModeType(val) + d.DebugCircuitBreakerOn = &value + return &value } -func (d *CpuDebug) setDebugRedButtonSoftware(val uint64) { - d.DebugRedButtonSoftware = DebugSwitchModeType(val) +func (d *CpuDebug) setDebugRedButtonSoftware(val uint64) any { + value := DebugSwitchModeType(val) + d.DebugRedButtonSoftware = &value + return &value } -func (p *PuErrors) setBoardReady(val uint64) { - p.BoardReady = BoardReadyType(val) +func (p *PuErrors) setBoardReady(val uint64) any { + value := BoardReadyType(val) + p.BoardReady = &value + return &value } -func (p *PuErrors) setOtherError(val uint64) { - p.OtherError = OtherError4BitType(val) +func (p *PuErrors) setOtherError(val uint64) any { + value := OtherError4BitType(val) + p.OtherError = &value + return &value } -func (p *PuErrors) setIncorrectVoltage(val uint64) { - p.IncorrectVoltage = ErrorType(val) +func (p *PuErrors) setIncorrectVoltage(val uint64) any { + value := ErrorType(val) + p.IncorrectVoltage = &value + return &value } -func (p *PuErrors) setIncorrectVoltageValue(val uint64) { - p.IncorrectVoltageValue = Voltage11BitType(val) +func (p *PuErrors) setIncorrectVoltageValue(val uint64) any { + value := Voltage11BitType(val) + p.IncorrectVoltageValue = &value + return &value } -func (p *PuErrors) setIncorrectCurrent(val uint64) { - p.IncorrectCurrent = ErrorType(val) +func (p *PuErrors) setIncorrectCurrent(val uint64) any { + value := ErrorType(val) + p.IncorrectCurrent = &value + return &value } -func (p *PuErrors) setIncorrectCurrentValue(val uint64) { - p.IncorrectCurrentValue = Current10BitType(val) +func (p *PuErrors) setIncorrectCurrentValue(val uint64) any { + value := Current10BitType(val) + p.IncorrectCurrentValue = &value + return &value } -func (p *PuErrors) setIsolationBroken(val uint64) { - p.IsolationBroken = ErrorType(val) +func (p *PuErrors) setIsolationBroken(val uint64) any { + value := ErrorType(val) + p.IsolationBroken = &value + return &value } -func (p *PuErrors) setCpLineBroken(val uint64) { - p.CpLineBroken = ErrorType(val) +func (p *PuErrors) setCpLineBroken(val uint64) any { + value := ErrorType(val) + p.CpLineBroken = &value + return &value } -func (p *PuErrors) setCpLineGap69(val uint64) { - p.CpLineGap69 = ErrorType(val) +func (p *PuErrors) setCpLineGap69(val uint64) any { + value := ErrorType(val) + p.CpLineGap69 = &value + return &value } -func (p *PuErrors) setCableReady(val uint64) { - p.CableReady = BoardReadyType(val) +func (p *PuErrors) setCableReady(val uint64) any { + value := BoardReadyType(val) + p.CableReady = &value + return &value } -func (p *PuErrors) setNotReadyCpu(val uint64) { - p.NotReadyCpu = ErrorType(val) +func (p *PuErrors) setNotReadyCpu(val uint64) any { + value := ErrorType(val) + p.NotReadyCpu = &value + return &value } -func (p *PuErrors) setNotReadySecc(val uint64) { - p.NotReadySecc = ErrorType(val) +func (p *PuErrors) setNotReadySecc(val uint64) any { + value := ErrorType(val) + p.NotReadySecc = &value + return &value } -func (p *PuErrors) setContactorOutputError(val uint64) { - p.ContactorOutputError = ErrorType(val) +func (p *PuErrors) setContactorOutputError(val uint64) any { + value := ErrorType(val) + p.ContactorOutputError = &value + return &value } -func (p *PuErrors) setDebugContactorOutputEnabled(val uint64) { - p.DebugContactorOutputEnabled = BooleanType(val) +func (p *PuErrors) setDebugContactorOutputEnabled(val uint64) any { + value := BooleanType(val) + p.DebugContactorOutputEnabled = &value + return &value } -func (p *PuErrors) setOutputCircuitBreakerEnabled(val uint64) { - p.OutputCircuitBreakerEnabled = ErrorType(val) +func (p *PuErrors) setOutputCircuitBreakerEnabled(val uint64) any { + value := ErrorType(val) + p.OutputCircuitBreakerEnabled = &value + return &value } -func (p *PuErrors) setOutputCircuitBreakerEnabledValue(val uint64) { - p.OutputCircuitBreakerEnabledValue = SignedVoltage12bitType(val - 1000) +func (p *PuErrors) setOutputCircuitBreakerEnabledValue(val uint64) any { + value := SignedVoltage12bitType(val - 1000) + p.OutputCircuitBreakerEnabledValue = &value + return &value } -func (d *PuDebug) setDebugModeOn(val uint64) { - d.DebugModeOn = BooleanType(val) +func (d *PuDebug) setDebugModeOn(val uint64) any { + value := BooleanType(val) + d.DebugModeOn = &value + return &value } -func (d *PuDebug) setDebugContactorOutputOn(val uint64) { - d.DebugContactorOutputOn = DebugSwitchModeType(val) +func (d *PuDebug) setDebugContactorOutputOn(val uint64) any { + value := DebugSwitchModeType(val) + d.DebugContactorOutputOn = &value + return &value } -func (s *SeccTargetEnergy) setTargetChargingAllow(val uint64) { - s.TargetChargingAllow = BooleanType(val) +func (s *SeccTargetEnergy) setTargetChargingAllow(val uint64) any { + value := BooleanType(val) + s.TargetChargingAllow = &value + return &value } -func (s *SeccTargetEnergy) setTargetBatteryVoltage(val uint64) { - s.TargetBatteryVoltage = Voltage11BitType(val) +func (s *SeccTargetEnergy) setTargetBatteryVoltage(val uint64) any { + value := Voltage11BitType(val) + s.TargetBatteryVoltage = &value + return &value } -func (s *SeccTargetEnergy) setTargetGoalVoltage(val uint64) { - s.TargetGoalVoltage = Voltage11BitType(val) +func (s *SeccTargetEnergy) setTargetGoalVoltage(val uint64) any { + value := Voltage11BitType(val) + s.TargetGoalVoltage = &value + return &value } -func (s *SeccTargetEnergy) setTargetCurrent(val uint64) { - s.TargetCurrent = Current10BitType(val) +func (s *SeccTargetEnergy) setTargetCurrent(val uint64) any { + value := Current10BitType(val) + s.TargetCurrent = &value + return &value } -func (e *SeccErrors) setBoardReady(val uint64) { - e.BoardReady = BoardReadyType(val) +func (e *SeccErrors) setBoardReady(val uint64) any { + value := BoardReadyType(val) + e.BoardReady = &value + return &value } -func (e *SeccErrors) setNotReadyLogic(val uint64) { - e.NotReadyLogic = ErrorType(val) +func (e *SeccErrors) setNotReadyLogic(val uint64) any { + value := ErrorType(val) + e.NotReadyLogic = &value + return &value } -func (l *LogicEnergyMode) setV2gMode(val uint64) { - l.V2gMode = V2GModeType(val) +func (l *LogicEnergyMode) setV2gMode(val uint64) any { + value := V2GModeType(val) + l.V2gMode = &value + return &value } -func (l *LogicEnergyMode) setCurrentMax(val uint64) { - l.CurrentMax = Current10BitType(val) +func (l *LogicEnergyMode) setCurrentMax(val uint64) any { + value := Current10BitType(val) + l.CurrentMax = &value + return &value } -func (l *LogicEnergyMode) setVoltageMax(val uint64) { - l.VoltageMax = Voltage11BitType(val) +func (l *LogicEnergyMode) setVoltageMax(val uint64) any { + value := Voltage11BitType(val) + l.VoltageMax = &value + return &value } -func (l *LogicEnergyMode) setPowerMax(val uint64) { - l.PowerMax = Power14BitType(val * 100) +func (l *LogicEnergyMode) setPowerMax(val uint64) any { + value := Power14BitType(val * 100) + l.PowerMax = &value + return &value } -func (l *LogicErrors) setBoardReady(val uint64) { - l.BoardReady = BoardReadyType(val) +func (l *LogicErrors) setBoardReady(val uint64) any { + value := BoardReadyType(val) + l.BoardReady = &value + return &value } -func (l *LogicErrors) setNotReadySettings(val uint64) { - l.NotReadySettings = ErrorType(val) +func (l *LogicErrors) setNotReadySettings(val uint64) any { + value := ErrorType(val) + l.NotReadySettings = &value + return &value } -func (c *ContactorsInternalForce) setForceModeEnabled(val uint64) { - c.ForceModeEnabled = BooleanType(val) +func (c *ContactorsInternalForce) setForceModeEnabled(val uint64) any { + value := BooleanType(val) + c.ForceModeEnabled = &value + return &value } -func (c *ContactorsInternalForce) setForceModeValue(val uint64) { - c.ForceModeValue = ForceModeType(val) +func (c *ContactorsInternalForce) setForceModeValue(val uint64) any { + value := ForceModeType(val) + c.ForceModeValue = &value + return &value } -func (c *ContactorInternalDebug) setDebugModeOn(val uint64) { - c.DebugModeOn = BooleanType(val) +func (c *ContactorInternalDebug) setDebugModeOn(val uint64) any { + value := BooleanType(val) + c.DebugModeOn = &value + return &value } -func (c *ContactorInternalDebug) setDebugContactorOn(val uint64) { - c.DebugContactorOn = DebugSwitchModeType(val) +func (c *ContactorInternalDebug) setDebugContactorOn(val uint64) any { + value := DebugSwitchModeType(val) + c.DebugContactorOn = &value + return &value } -func (p *PeripheryState) setOtherErrorSeverity(val uint64) { - p.OtherErrorSeverity = BoardReadyType(val) +func (p *PeripheryState) setOtherErrorSeverity(val uint64) any { + value := BoardReadyType(val) + p.OtherErrorSeverity = &value + return &value } -func (p *PeripheryState) setOtherError(val uint64) { - p.OtherError = OtherError4BitType(val) +func (p *PeripheryState) setOtherError(val uint64) any { + value := OtherError4BitType(val) + p.OtherError = &value + return &value } -func (p *PeripheryState) setErrorShakeSensor(val uint64) { - p.ErrorShakeSensor = ErrorType(val) +func (p *PeripheryState) setErrorShakeSensor(val uint64) any { + value := ErrorType(val) + p.ErrorShakeSensor = &value + return &value } -func (p *PeripheryState) setErrorCoolingGroup(val uint64) { - p.ErrorCoolingGroup = ErrorType(val) +func (p *PeripheryState) setErrorCoolingGroup(val uint64) any { + value := ErrorType(val) + p.ErrorCoolingGroup = &value + return &value } -func (p *PeripheryState) setPeripheryErrorCoolingGroup(val uint64) { - p.PeripheryErrorCoolingGroup = ErrorType(val) +func (p *PeripheryState) setPeripheryErrorCoolingGroup(val uint64) any { + value := ErrorType(val) + p.PeripheryErrorCoolingGroup = &value + return &value } -func (p *PeripheryState) setErrorFireEmergency(val uint64) { - p.ErrorFireEmergency = ErrorType(val) +func (p *PeripheryState) setErrorFireEmergency(val uint64) any { + value := ErrorType(val) + p.ErrorFireEmergency = &value + return &value } -func (p *PeripheryState) setErrorFireEmergencyRun(val uint64) { - p.ErrorFireEmergencyRun = ErrorType(val) +func (p *PeripheryState) setErrorFireEmergencyRun(val uint64) any { + value := ErrorType(val) + p.ErrorFireEmergencyRun = &value + return &value } -func (p *PeripheryState) setErrorFireEmergencyControl(val uint64) { - p.ErrorFireEmergencyControl = ErrorType(val) +func (p *PeripheryState) setErrorFireEmergencyControl(val uint64) any { + value := ErrorType(val) + p.ErrorFireEmergencyControl = &value + return &value } -func (p *PeripheryState) setErrorOvervoltageIn(val uint64) { - p.ErrorOvervoltageIn = ErrorType(val) +func (p *PeripheryState) setErrorOvervoltageIn(val uint64) any { + value := ErrorType(val) + p.ErrorOvervoltageIn = &value + return &value } -func (p *PeripheryState) setPeripheryErrorPowerSupply(val uint64) { - p.PeripheryErrorPowerSupply = ErrorType(val) +func (p *PeripheryState) setPeripheryErrorPowerSupply(val uint64) any { + value := ErrorType(val) + p.PeripheryErrorPowerSupply = &value + return &value } -func (p *PeripheryState) setErrorFan(val uint64) { - p.ErrorFan = ErrorType(val) +func (p *PeripheryState) setErrorFan(val uint64) any { + value := ErrorType(val) + p.ErrorFan = &value + return &value } -func (p *PeripheryState) setErrorOvervoltageOut(val uint64) { - p.ErrorOvervoltageOut = ErrorType(val) +func (p *PeripheryState) setErrorOvervoltageOut(val uint64) any { + value := ErrorType(val) + p.ErrorOvervoltageOut = &value + return &value } -func (p *PeripheryState) setErrorStateRemoteMode(val uint64) { - p.ErrorStateRemoteMode = ErrorType(val) +func (p *PeripheryState) setErrorStateRemoteMode(val uint64) any { + value := ErrorType(val) + p.ErrorStateRemoteMode = &value + return &value } -func (p *PeripheryState) setDebugShsnFanEnabled(val uint64) { - p.DebugShsnFanEnabled = BooleanType(val) +func (p *PeripheryState) setDebugShsnFanEnabled(val uint64) any { + value := BooleanType(val) + p.DebugShsnFanEnabled = &value + return &value } -func (p *PeripheryState) setDebugShptFanEnabled(val uint64) { - p.DebugShptFanEnabled = BooleanType(val) +func (p *PeripheryState) setDebugShptFanEnabled(val uint64) any { + value := BooleanType(val) + p.DebugShptFanEnabled = &value + return &value } -func (p *PeripheryState) setDebugIoBoardTestLampEnabled(val uint64) { - p.DebugIoBoardTestLampEnabled = BooleanType(val) +func (p *PeripheryState) setDebugIoBoardTestLampEnabled(val uint64) any { + value := BooleanType(val) + p.DebugIoBoardTestLampEnabled = &value + return &value } -func (p *PeripheryState) setErrorFireEmergencyCircuitBreaker(val uint64) { - p.ErrorFireEmergencyCircuitBreaker = ErrorType(val) +func (p *PeripheryState) setErrorFireEmergencyCircuitBreaker(val uint64) any { + value := ErrorType(val) + p.ErrorFireEmergencyCircuitBreaker = &value + return &value } -func (p *PeripheryState) setErrorExtLightCircuitBreaker(val uint64) { - p.ErrorExtLightCircuitBreaker = ErrorType(val) +func (p *PeripheryState) setErrorExtLightCircuitBreaker(val uint64) any { + value := ErrorType(val) + p.ErrorExtLightCircuitBreaker = &value + return &value } -func (p *PeripheryState) setErrorIndicationCircuitBreaker(val uint64) { - p.ErrorIndicationCircuitBreaker = ErrorType(val) +func (p *PeripheryState) setErrorIndicationCircuitBreaker(val uint64) any { + value := ErrorType(val) + p.ErrorIndicationCircuitBreaker = &value + return &value } -func (p *PeripheryState) setErrorLowVoltagePowerCircuitBreaker(val uint64) { - p.ErrorLowVoltagePowerCircuitBreaker = ErrorType(val) +func (p *PeripheryState) setErrorLowVoltagePowerCircuitBreaker(val uint64) any { + value := ErrorType(val) + p.ErrorLowVoltagePowerCircuitBreaker = &value + return &value } -func (p *PeripheryState) setErrorContactorsInternalCircuitBreaker(val uint64) { - p.ErrorContactorsInternalCircuitBreaker = ErrorType(val) +func (p *PeripheryState) setErrorContactorsInternalCircuitBreaker(val uint64) any { + value := ErrorType(val) + p.ErrorContactorsInternalCircuitBreaker = &value + return &value } -func (p *PeripheryState) setErrorPlcCircuitBreaker(val uint64) { - p.ErrorPlcCircuitBreaker = ErrorType(val) +func (p *PeripheryState) setErrorPlcCircuitBreaker(val uint64) any { + value := ErrorType(val) + p.ErrorPlcCircuitBreaker = &value + return &value } -func (p *PeripheryInfo) setInfoDoorOpen(val uint64) { - p.InfoDoorOpen = BooleanType(val) +func (p *PeripheryInfo) setInfoDoorOpen(val uint64) any { + value := BooleanType(val) + p.InfoDoorOpen = &value + return &value } -func (p *PeripheryInfo) setTempAirIn(val uint64) { - p.TempAirIn = SignedAirTemp8BitType(val - 67) +func (p *PeripheryInfo) setTempAirIn(val uint64) any { + value := SignedAirTemp8BitType(val - 67) + p.TempAirIn = &value + return &value } -func (p *PeripheryInfo) setTempAirOut(val uint64) { - p.TempAirOut = SignedAirTemp8BitType(val - 67) +func (p *PeripheryInfo) setTempAirOut(val uint64) any { + value := SignedAirTemp8BitType(val - 67) + p.TempAirOut = &value + return &value } -func (p *PeripheryInfo) setStateShsnFan(val uint64) { - p.StateShsnFan = BooleanType(val) +func (p *PeripheryInfo) setStateShsnFan(val uint64) any { + value := BooleanType(val) + p.StateShsnFan = &value + return &value } -func (p *PeripheryInfo) setStateShptFan(val uint64) { - p.StateShptFan = BooleanType(val) +func (p *PeripheryInfo) setStateShptFan(val uint64) any { + value := BooleanType(val) + p.StateShptFan = &value + return &value } -func (p *PeripheryDebug) setDebugModeOn(val uint64) { - p.DebugModeOn = BooleanType(val) +func (p *PeripheryDebug) setDebugModeOn(val uint64) any { + value := BooleanType(val) + p.DebugModeOn = &value + return &value } -func (p *PeripheryDebug) setDebugShsnFan(val uint64) { - p.DebugShsnFan = DebugSwitchModeType(val) +func (p *PeripheryDebug) setDebugShsnFan(val uint64) any { + value := DebugSwitchModeType(val) + p.DebugShsnFan = &value + return &value } -func (p *PeripheryDebug) setDebugShptFan(val uint64) { - p.DebugShptFan = DebugSwitchModeType(val) +func (p *PeripheryDebug) setDebugShptFan(val uint64) any { + value := DebugSwitchModeType(val) + p.DebugShptFan = &value + return &value } -func (p *PeripheryDebug) setDebugIoBoardTestLamp(val uint64) { - p.DebugIoBoardTestLamp = DebugSwitchModeType(val) +func (p *PeripheryDebug) setDebugIoBoardTestLamp(val uint64) any { + value := DebugSwitchModeType(val) + p.DebugIoBoardTestLamp = &value + return &value } -func (c *ConverterPresentEnergy) setV2gMode(val uint64) { - c.V2gMode = V2GModeType(val) +func (c *ConverterPresentEnergy) setV2gMode(val uint64) any { + value := V2GModeType(val) + c.V2gMode = &value + return &value } -func (c *ConverterPresentEnergy) setPresentVoltage(val uint64) { - c.PresentVoltage = Voltage11BitType(val) +func (c *ConverterPresentEnergy) setPresentVoltage(val uint64) any { + value := Voltage11BitType(val) + c.PresentVoltage = &value + return &value } -func (c *ConverterPresentEnergy) setPresentCurrent(val uint64) { - c.PresentCurrent = Current10BitType(val) +func (c *ConverterPresentEnergy) setPresentCurrent(val uint64) any { + value := Current10BitType(val) + c.PresentCurrent = &value + return &value } -func (c *ConverterPresentEnergy) setConnectedOut(val uint64) { - c.ConnectedOut = ConnectedOut8bitType(val) +func (c *ConverterPresentEnergy) setConnectedOut(val uint64) any { + value := ConnectedOut8bitType(val) + c.ConnectedOut = &value + return &value } -func (c *ConverterErrors) setBoardReady(val uint64) { - c.BoardReady = BoardReadyType(val) +func (c *ConverterErrors) setBoardReady(val uint64) any { + value := BoardReadyType(val) + c.BoardReady = &value + return &value } -func (c *ConverterErrors) setOtherError(val uint64) { - c.OtherError = OtherError4BitType(val) +func (c *ConverterErrors) setOtherError(val uint64) any { + value := OtherError4BitType(val) + c.OtherError = &value + return &value } -func (c *ConverterErrors) setNotConnectedOut(val uint64) { - c.NotConnectedOut = ErrorType(val) +func (c *ConverterErrors) setNotConnectedOut(val uint64) any { + value := ErrorType(val) + c.NotConnectedOut = &value + return &value } -func (c *ConverterErrors) setNoCommunicationConverter(val uint64) { - c.NoCommunicationConverter = ErrorType(val) +func (c *ConverterErrors) setNoCommunicationConverter(val uint64) any { + value := ErrorType(val) + c.NoCommunicationConverter = &value + return &value } -func (c *ConverterErrors) setNoCommunicationPuConverter(val uint64) { - c.NoCommunicationPuConverter = ErrorType(val) +func (c *ConverterErrors) setNoCommunicationPuConverter(val uint64) any { + value := ErrorType(val) + c.NoCommunicationPuConverter = &value + return &value } -func (c *ConverterErrors) setInputGridVoltageHigh(val uint64) { - c.InputGridVoltageHigh = ErrorType(val) +func (c *ConverterErrors) setInputGridVoltageHigh(val uint64) any { + value := ErrorType(val) + c.InputGridVoltageHigh = &value + return &value } -func (c *ConverterErrors) setInputGridVoltageLow(val uint64) { - c.InputGridVoltageLow = ErrorType(val) +func (c *ConverterErrors) setInputGridVoltageLow(val uint64) any { + value := ErrorType(val) + c.InputGridVoltageLow = &value + return &value } -func (c *ConverterErrors) setOutputGridVoltageHigh(val uint64) { - c.OutputGridVoltageHigh = ErrorType(val) +func (c *ConverterErrors) setOutputGridVoltageHigh(val uint64) any { + value := ErrorType(val) + c.OutputGridVoltageHigh = &value + return &value } -func (c *ConverterErrors) setOutputGridVoltageLow(val uint64) { - c.OutputGridVoltageLow = ErrorType(val) +func (c *ConverterErrors) setOutputGridVoltageLow(val uint64) any { + value := ErrorType(val) + c.OutputGridVoltageLow = &value + return &value } -func (c *ConverterErrors) setInputGridVoltage(val uint64) { - c.InputGridVoltage = Voltage11BitType(val) +func (c *ConverterErrors) setInputGridVoltage(val uint64) any { + value := Voltage11BitType(val) + c.InputGridVoltage = &value + return &value } -func (c *ConverterErrors) setOutputGridVoltage(val uint64) { - c.OutputGridVoltage = Voltage11BitType(val) +func (c *ConverterErrors) setOutputGridVoltage(val uint64) any { + value := Voltage11BitType(val) + c.OutputGridVoltage = &value + return &value } -func (c *ConverterErrors) setShortCircuit(val uint64) { - c.ShortCircuit = ErrorType(val) +func (c *ConverterErrors) setShortCircuit(val uint64) any { + value := ErrorType(val) + c.ShortCircuit = &value + return &value } -func (c *ConverterErrors) setOverHeat(val uint64) { - c.OverHeat = ErrorType(val) +func (c *ConverterErrors) setOverHeat(val uint64) any { + value := ErrorType(val) + c.OverHeat = &value + return &value } -func (c *ConverterErrors) setFanBroken(val uint64) { - c.FanBroken = ErrorType(val) +func (c *ConverterErrors) setFanBroken(val uint64) any { + value := ErrorType(val) + c.FanBroken = &value + return &value } -func (c *ConverterErrors) setOtherHardwareError(val uint64) { - c.OtherHardwareError = ErrorType(val) +func (c *ConverterErrors) setOtherHardwareError(val uint64) any { + value := ErrorType(val) + c.OtherHardwareError = &value + return &value } -func (c *ConverterErrors) setDebugConvEnabled(val uint64) { - c.DebugConvEnabled = BooleanType(val) +func (c *ConverterErrors) setDebugConvEnabled(val uint64) any { + value := BooleanType(val) + c.DebugConvEnabled = &value + return &value } -func (c *ConverterErrors) setDebugConvDisabled(val uint64) { - c.DebugConvDisabled = BooleanType(val) +func (c *ConverterErrors) setDebugConvDisabled(val uint64) any { + value := BooleanType(val) + c.DebugConvDisabled = &value + return &value } -func (d *ConverterDebug) setDebugModeOn(val uint64) { - d.DebugModeOn = BooleanType(val) +func (d *ConverterDebug) setDebugModeOn(val uint64) any { + value := BooleanType(val) + d.DebugModeOn = &value + return &value } -func (d *ConverterDebug) setDebugEnergyOn(val uint64) { - d.DebugEnergyOn = DebugSwitchModeType(val) +func (d *ConverterDebug) setDebugEnergyOn(val uint64) any { + value := DebugSwitchModeType(val) + d.DebugEnergyOn = &value + return &value } -func (d *ConverterDebug) setDebugTargetVoltage(val uint64) { - d.DebugTargetVoltage = Voltage11BitType(val) +func (d *ConverterDebug) setDebugTargetVoltage(val uint64) any { + value := Voltage11BitType(val) + d.DebugTargetVoltage = &value + return &value } -func (d *ConverterDebug) setDebugTargetCurrent(val uint64) { - d.DebugTargetCurrent = Current10BitType(val) +func (d *ConverterDebug) setDebugTargetCurrent(val uint64) any { + value := Current10BitType(val) + d.DebugTargetCurrent = &value + return &value } diff --git a/yabl/strings.go b/yabl/strings.go index 8acb656..6a295d9 100644 --- a/yabl/strings.go +++ b/yabl/strings.go @@ -192,7 +192,7 @@ func (d DebugSwitchModeType) String() string { case DEBUG_SWITCH_MODE_PERMANENT_ON: return "PERMANENT_ON" default: - panic("DebugSwitchModeType not defended") + return fmt.Sprintf("DebugSwitchModeType_%d", d) } } diff --git a/yabl/types.go b/yabl/types.go index 8f1b0a6..9e7e07f 100644 --- a/yabl/types.go +++ b/yabl/types.go @@ -2,252 +2,252 @@ package yabl type ContactorInternalState struct { UnitId uint - ContactorReady BoardReadyType - ContactorOn BooleanType - UnexpectedState ErrorType - Isolated ErrorType - DebugEnabled BooleanType + ContactorReady *BoardReadyType + ContactorOn *BooleanType + UnexpectedState *ErrorType + Isolated *ErrorType + DebugEnabled *BooleanType } type ContactorInternalErrors struct { UnitId uint - BoardReady BoardReadyType - OtherError ContactorInternalOtherErrorType - ContactorGroupChanged ContactorGroupChangedType - UnexpectedFormation ContactorInternalOtherErrorType - CpuNotReady ErrorType - PuNotReady ErrorType - Debug BooleanType - PresentContactorMode ContactorModeType + BoardReady *BoardReadyType + OtherError *ContactorInternalOtherErrorType + ContactorGroupChanged *ContactorGroupChangedType + UnexpectedFormation *ContactorInternalOtherErrorType + CpuNotReady *ErrorType + PuNotReady *ErrorType + Debug *BooleanType + PresentContactorMode *ContactorModeType } type ContactorsInternalForce struct { UnitId uint - ForceModeEnabled BooleanType - ForceModeValue ForceModeType + ForceModeEnabled *BooleanType + ForceModeValue *ForceModeType } type ContactorInternalDebug struct { UnitId uint - DebugModeOn BooleanType - DebugContactorOn DebugSwitchModeType + DebugModeOn *BooleanType + DebugContactorOn *DebugSwitchModeType } type PuPresentEnergy struct { UnitId uint - V2GMode V2GModeType - VoltageBefore Voltage11BitType - VoltageAfter Voltage11BitType - PresentCurrent Current10BitType + V2GMode *V2GModeType + VoltageBefore *Voltage11BitType + VoltageAfter *Voltage11BitType + PresentCurrent *Current10BitType } type PuPeriphery struct { UnitId uint - ConnectorInsert BooleanType - ContactorOn BooleanType - ConnectorLocked BooleanType - CpLineLevel CpLineLevelType - IsolationState IsolationStateType - ChargingAllowed BooleanType - PwmEnabled BooleanType - CpLineVoltage Voltage9BitType + ConnectorInsert *BooleanType + ContactorOn *BooleanType + ConnectorLocked *BooleanType + CpLineLevel *CpLineLevelType + IsolationState *IsolationStateType + ChargingAllowed *BooleanType + PwmEnabled *BooleanType + CpLineVoltage *Voltage9BitType } type LogicAuth struct { UnitId uint - AuthMode AuthModeType - AuthState AuthStateType + AuthMode *AuthModeType + AuthState *AuthStateType } type LogicEnergyMode struct { UnitId uint - V2gMode V2GModeType - CurrentMax Current10BitType - VoltageMax Voltage11BitType - PowerMax Power14BitType + V2gMode *V2GModeType + CurrentMax *Current10BitType + VoltageMax *Voltage11BitType + PowerMax *Power14BitType } type LogicErrors struct { UnitId uint - BoardReady BoardReadyType - NotReadySettings ErrorType + BoardReady *BoardReadyType + NotReadySettings *ErrorType } type LogicWorkingMode struct { UnitId uint - TargetContactorMode ContactorModeType - Availability BooleanType + TargetContactorMode *ContactorModeType + Availability *BooleanType } type CpuPresentEnergy struct { UnitId uint - PowerDirectionMode V2GModeType - PresentCurrent Current10BitType - PresentVoltage Voltage11BitType + PowerDirectionMode *V2GModeType + PresentCurrent *Current10BitType + PresentVoltage *Voltage11BitType } type CpuPeriphery struct { UnitId uint - ContactorInput BooleanType - CircuitBreakerInput BooleanType - CircuitBreakerPowerCBInput BooleanType + ContactorInput *BooleanType + CircuitBreakerInput *BooleanType + CircuitBreakerPowerCBInput *BooleanType } type CpuEnergySettings struct { UnitId uint - CurrentMax Current10BitType - VoltageMax Voltage11BitType - PowerMax Power14BitType - TargetBatteryVoltage Voltage11BitType - TargetGoalVoltage Voltage11BitType + CurrentMax *Current10BitType + VoltageMax *Voltage11BitType + PowerMax *Power14BitType + TargetBatteryVoltage *Voltage11BitType + TargetGoalVoltage *Voltage11BitType } type CpuErrors struct { UnitId uint - BoardReady BoardReadyType - OtherError OtherError4BitType - RedButtonHard ErrorType - RedButtonSoft ErrorType - ModulesGone ErrorType - GridVoltageHighErr ErrorType - GridVoltageHighWarn ErrorType - GridVoltageLowWarn ErrorType - GridVoltageLowErr ErrorType - GridVoltageLow Voltage11BitType - GridVoltageHigh Voltage11BitType - GridVoltageEmpty ErrorType - NotReadySecc ErrorType - NotReadyPu ErrorType - NotReadyContactors ErrorType - DebugConvertersEnabled ErrorType - ContactorInputError ErrorType - NotReadyPeriphery ErrorType + BoardReady *BoardReadyType + OtherError *OtherError4BitType + RedButtonHard *ErrorType + RedButtonSoft *ErrorType + ModulesGone *ErrorType + GridVoltageHighErr *ErrorType + GridVoltageHighWarn *ErrorType + GridVoltageLowWarn *ErrorType + GridVoltageLowErr *ErrorType + GridVoltageLow *Voltage11BitType + GridVoltageHigh *Voltage11BitType + GridVoltageEmpty *ErrorType + NotReadySecc *ErrorType + NotReadyPu *ErrorType + NotReadyContactors *ErrorType + DebugConvertersEnabled *ErrorType + ContactorInputError *ErrorType + NotReadyPeriphery *ErrorType } type CpuDebug struct { UnitId uint - DebugModeOn BooleanType - DebugContactorInputOn DebugSwitchModeType - DebugCircuitBreakerOn DebugSwitchModeType - DebugRedButtonSoftware DebugSwitchModeType + DebugModeOn *BooleanType + DebugContactorInputOn *DebugSwitchModeType + DebugCircuitBreakerOn *DebugSwitchModeType + DebugRedButtonSoftware *DebugSwitchModeType } type PuErrors struct { UnitId uint - BoardReady BoardReadyType - OtherError OtherError4BitType - IncorrectVoltage ErrorType - IncorrectVoltageValue Voltage11BitType - IncorrectCurrent ErrorType - IncorrectCurrentValue Current10BitType - IsolationBroken ErrorType - CpLineBroken ErrorType - CpLineGap69 ErrorType - CableReady BoardReadyType - NotReadyCpu ErrorType - NotReadySecc ErrorType - ContactorOutputError ErrorType - DebugContactorOutputEnabled BooleanType - OutputCircuitBreakerEnabled ErrorType - OutputCircuitBreakerEnabledValue SignedVoltage12bitType + BoardReady *BoardReadyType + OtherError *OtherError4BitType + IncorrectVoltage *ErrorType + IncorrectVoltageValue *Voltage11BitType + IncorrectCurrent *ErrorType + IncorrectCurrentValue *Current10BitType + IsolationBroken *ErrorType + CpLineBroken *ErrorType + CpLineGap69 *ErrorType + CableReady *BoardReadyType + NotReadyCpu *ErrorType + NotReadySecc *ErrorType + ContactorOutputError *ErrorType + DebugContactorOutputEnabled *BooleanType + OutputCircuitBreakerEnabled *ErrorType + OutputCircuitBreakerEnabledValue *SignedVoltage12bitType } type PuDebug struct { UnitId uint - DebugModeOn BooleanType - DebugContactorOutputOn DebugSwitchModeType + DebugModeOn *BooleanType + DebugContactorOutputOn *DebugSwitchModeType } type SeccTargetEnergy struct { UnitId uint - TargetChargingAllow BooleanType - TargetBatteryVoltage Voltage11BitType - TargetGoalVoltage Voltage11BitType - TargetCurrent Current10BitType + TargetChargingAllow *BooleanType + TargetBatteryVoltage *Voltage11BitType + TargetGoalVoltage *Voltage11BitType + TargetCurrent *Current10BitType } type SeccErrors struct { UnitId uint - BoardReady BoardReadyType - NotReadyLogic ErrorType + BoardReady *BoardReadyType + NotReadyLogic *ErrorType } type PeripheryState struct { UnitId uint - OtherErrorSeverity BoardReadyType - OtherError OtherError4BitType - ErrorShakeSensor ErrorType - ErrorCoolingGroup ErrorType - PeripheryErrorCoolingGroup ErrorType - ErrorFireEmergency ErrorType - ErrorFireEmergencyRun ErrorType - ErrorFireEmergencyControl ErrorType - ErrorOvervoltageIn ErrorType - PeripheryErrorPowerSupply ErrorType - ErrorFan ErrorType - ErrorOvervoltageOut ErrorType - ErrorStateRemoteMode ErrorType - DebugShsnFanEnabled BooleanType - DebugShptFanEnabled BooleanType - DebugIoBoardTestLampEnabled BooleanType - ErrorFireEmergencyCircuitBreaker ErrorType - ErrorExtLightCircuitBreaker ErrorType - ErrorIndicationCircuitBreaker ErrorType - ErrorLowVoltagePowerCircuitBreaker ErrorType - ErrorContactorsInternalCircuitBreaker ErrorType - ErrorPlcCircuitBreaker ErrorType + OtherErrorSeverity *BoardReadyType + OtherError *OtherError4BitType + ErrorShakeSensor *ErrorType + ErrorCoolingGroup *ErrorType + PeripheryErrorCoolingGroup *ErrorType + ErrorFireEmergency *ErrorType + ErrorFireEmergencyRun *ErrorType + ErrorFireEmergencyControl *ErrorType + ErrorOvervoltageIn *ErrorType + PeripheryErrorPowerSupply *ErrorType + ErrorFan *ErrorType + ErrorOvervoltageOut *ErrorType + ErrorStateRemoteMode *ErrorType + DebugShsnFanEnabled *BooleanType + DebugShptFanEnabled *BooleanType + DebugIoBoardTestLampEnabled *BooleanType + ErrorFireEmergencyCircuitBreaker *ErrorType + ErrorExtLightCircuitBreaker *ErrorType + ErrorIndicationCircuitBreaker *ErrorType + ErrorLowVoltagePowerCircuitBreaker *ErrorType + ErrorContactorsInternalCircuitBreaker *ErrorType + ErrorPlcCircuitBreaker *ErrorType } type PeripheryInfo struct { UnitId uint - InfoDoorOpen BooleanType - TempAirIn SignedAirTemp8BitType - TempAirOut SignedAirTemp8BitType - StateShsnFan BooleanType - StateShptFan BooleanType + InfoDoorOpen *BooleanType + TempAirIn *SignedAirTemp8BitType + TempAirOut *SignedAirTemp8BitType + StateShsnFan *BooleanType + StateShptFan *BooleanType } type PeripheryDebug struct { UnitId uint - DebugModeOn BooleanType - DebugShsnFan DebugSwitchModeType - DebugShptFan DebugSwitchModeType - DebugIoBoardTestLamp DebugSwitchModeType + DebugModeOn *BooleanType + DebugShsnFan *DebugSwitchModeType + DebugShptFan *DebugSwitchModeType + DebugIoBoardTestLamp *DebugSwitchModeType } type ConverterPresentEnergy struct { UnitId uint - V2gMode V2GModeType - PresentVoltage Voltage11BitType - PresentCurrent Current10BitType - ConnectedOut ConnectedOut8bitType + V2gMode *V2GModeType + PresentVoltage *Voltage11BitType + PresentCurrent *Current10BitType + ConnectedOut *ConnectedOut8bitType } type ConverterErrors struct { UnitId uint - BoardReady BoardReadyType - OtherError OtherError4BitType - NotConnectedOut ErrorType - NoCommunicationConverter ErrorType - NoCommunicationPuConverter ErrorType - InputGridVoltageHigh ErrorType - InputGridVoltageLow ErrorType - OutputGridVoltageHigh ErrorType - OutputGridVoltageLow ErrorType - InputGridVoltage Voltage11BitType - OutputGridVoltage Voltage11BitType - ShortCircuit ErrorType - OverHeat ErrorType - FanBroken ErrorType - OtherHardwareError ErrorType - DebugConvEnabled BooleanType - DebugConvDisabled BooleanType + BoardReady *BoardReadyType + OtherError *OtherError4BitType + NotConnectedOut *ErrorType + NoCommunicationConverter *ErrorType + NoCommunicationPuConverter *ErrorType + InputGridVoltageHigh *ErrorType + InputGridVoltageLow *ErrorType + OutputGridVoltageHigh *ErrorType + OutputGridVoltageLow *ErrorType + InputGridVoltage *Voltage11BitType + OutputGridVoltage *Voltage11BitType + ShortCircuit *ErrorType + OverHeat *ErrorType + FanBroken *ErrorType + OtherHardwareError *ErrorType + DebugConvEnabled *BooleanType + DebugConvDisabled *BooleanType } type ConverterDebug struct { UnitId uint - DebugModeOn BooleanType - DebugEnergyOn DebugSwitchModeType - DebugTargetVoltage Voltage11BitType - DebugTargetCurrent Current10BitType + DebugModeOn *BooleanType + DebugEnergyOn *DebugSwitchModeType + DebugTargetVoltage *Voltage11BitType + DebugTargetCurrent *Current10BitType }