Minor refactor
This commit is contained in:
+35
-8
@@ -1,14 +1,41 @@
|
||||
package yabl
|
||||
|
||||
const (
|
||||
CONVERTERS_MAX = 18 + 1
|
||||
CONTACTOR_MAX = 18 + 1
|
||||
CONNECTOR_COUNT = 6
|
||||
CONNECTOR_MAX = CONNECTOR_COUNT + 1
|
||||
ALL_BITS = 0xFFFFFFFFFFFFFFFF
|
||||
UNIT_ID_OFFSET = 12
|
||||
UNIT_ID_MASK = 0b111111111111 << UNIT_ID_OFFSET
|
||||
ACTION_ID_MASK = 0b111111111111
|
||||
CONVERTERS_MAX = 18 + 1
|
||||
CONTACTOR_MAX = 18 + 1
|
||||
CONNECTOR_COUNT = 6
|
||||
CONNECTOR_MAX = CONNECTOR_COUNT + 1
|
||||
ALL_BITS = 0xFFFFFFFFFFFFFFFF
|
||||
UNIT_ID_OFFSET = 12
|
||||
UNIT_ID_MASK = 0b111111111111 << UNIT_ID_OFFSET
|
||||
ACTION_ID_MASK = 0b111111111111
|
||||
|
||||
CanIdContIntState = 0x071
|
||||
CanIdContIntErr = 0x073
|
||||
CanIdContIntForce = 0x074
|
||||
CanIdContIntDebug = 0x075
|
||||
CanIdPuPresentEnergy = 0x021
|
||||
CanIdPuPeriphery = 0x022
|
||||
CanIdPuErrors = 0x023
|
||||
CanIdCpuPresentEnergy = 0x011
|
||||
CanIdCpuPeriphery = 0x014
|
||||
CanIdCpuEnergySettings = 0x015
|
||||
CanIdCpuErrors = 0x016
|
||||
CanIdCpuDebug = 0x01A
|
||||
CanIdPuDebug = 0x02A
|
||||
CanIdSeccTargetEnergy = 0x041
|
||||
CanIdSeccErrors = 0x042
|
||||
CanIdLogicAuth = 0x046
|
||||
CanIdLogicEnergyMode = 0x047
|
||||
CanIdLogicErrors = 0x048
|
||||
CanIdLogicWorkingMode = 0x049
|
||||
CanIdPeripheryState = 0x067
|
||||
CanIdPeripheryInfo = 0x068
|
||||
CanIdPeripheryDebug = 0x06C
|
||||
CanIdConverterPresentEnergy = 0x061
|
||||
CanIdConverterErrors = 0x062
|
||||
CanIdConverterDebug = 0x065
|
||||
|
||||
BOARD_READY_OK BoardReadyType = 0
|
||||
BOARD_READY_INFO BoardReadyType = 1
|
||||
BOARD_READY_WARNING BoardReadyType = 2
|
||||
|
||||
+25
-27
@@ -1,12 +1,10 @@
|
||||
package yabl
|
||||
|
||||
import "cli-mon/can"
|
||||
|
||||
func (c *converter) initialize() {
|
||||
c.protocolMap = make(map[key]action)
|
||||
|
||||
for i := uint(1); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_011, i}
|
||||
key := key{CanIdCpuPresentEnergy, i}
|
||||
cpe := &CpuPresentEnergy{unit: 1}
|
||||
c.cpuPresentEnergyArray[i] = cpe
|
||||
fields := []*field{
|
||||
@@ -23,7 +21,7 @@ func (c *converter) initialize() {
|
||||
{length: 2, setter: c.cpuPeripheryInstance.setCircuitBreakerInput, name: FCircuitBreakerInput},
|
||||
{length: 2, setter: c.cpuPeripheryInstance.setCircuitBreakerPowerCBInput, name: FCircuitBreakerPowerCBInput},
|
||||
}
|
||||
c.protocolMap[key{can.CAN_ID_014, 0}] = action{
|
||||
c.protocolMap[key{CanIdCpuPeriphery, 0}] = action{
|
||||
fields: fields,
|
||||
interval: 1000,
|
||||
name: PCpuPeriphery,
|
||||
@@ -31,7 +29,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_015, i}
|
||||
key := key{CanIdCpuEnergySettings, i}
|
||||
ces := &CpuEnergySettings{unit: unit(i)}
|
||||
c.cpuEnergySettingsArray[i] = ces
|
||||
fields := []*field{
|
||||
@@ -65,7 +63,7 @@ func (c *converter) initialize() {
|
||||
{length: 2, setter: c.cpuErrorsInstance.setContactorInputError, name: FContactorInputError},
|
||||
{length: 2, setter: c.cpuErrorsInstance.setNotReadyPeriphery, name: FNotReadyPeriphery},
|
||||
}
|
||||
c.protocolMap[key{can.CAN_ID_016, 0}] = action{
|
||||
c.protocolMap[key{CanIdCpuErrors, 0}] = action{
|
||||
fields: fields,
|
||||
interval: 1000,
|
||||
name: PCpuErrors,
|
||||
@@ -79,7 +77,7 @@ func (c *converter) initialize() {
|
||||
{length: 3, setter: c.cpuDebugInstance.setDebugCircuitBreakerOn, name: FDebugCircuitBreakerOn},
|
||||
{length: 3, setter: c.cpuDebugInstance.setDebugRedButtonSoftware, name: FDebugRedButtonSoftware},
|
||||
}
|
||||
c.protocolMap[key{can.CAN_ID_01A, 0}] = action{
|
||||
c.protocolMap[key{CanIdCpuDebug, 0}] = action{
|
||||
fields: fields,
|
||||
interval: 1000,
|
||||
name: PCpuDebug,
|
||||
@@ -87,7 +85,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(1); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_021, i}
|
||||
key := key{CanIdPuPresentEnergy, i}
|
||||
ppe := &PuPresentEnergy{unit: unit(i)}
|
||||
c.puPresentEnergyArray[i] = ppe
|
||||
fields := []*field{
|
||||
@@ -100,7 +98,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(1); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_022, i}
|
||||
key := key{CanIdPuPeriphery, i}
|
||||
pp := &PuPeriphery{unit: unit(i)}
|
||||
c.puPeripheryArray[i] = pp
|
||||
fields := []*field{
|
||||
@@ -117,7 +115,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(1); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_023, i}
|
||||
key := key{CanIdPuErrors, i}
|
||||
pe := &PuErrors{unit: 1}
|
||||
c.puErrorsArray[i] = pe
|
||||
fields := []*field{
|
||||
@@ -142,7 +140,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_02A, i}
|
||||
key := key{CanIdPuDebug, i}
|
||||
pd := &PuDebug{unit: unit(i)}
|
||||
c.puDebugArray[i] = pd
|
||||
fields = []*field{
|
||||
@@ -153,7 +151,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(1); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_041, i}
|
||||
key := key{CanIdSeccTargetEnergy, i}
|
||||
ste := &SeccTargetEnergy{unit: unit(i)}
|
||||
c.seccTargetEnergyArray[i] = ste
|
||||
fields = []*field{
|
||||
@@ -166,7 +164,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(1); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_042, i}
|
||||
key := key{CanIdSeccErrors, i}
|
||||
se := &SeccErrors{unit: unit(i)}
|
||||
c.seccErrorsArray[i] = se
|
||||
fields = []*field{
|
||||
@@ -177,7 +175,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_046, i}
|
||||
key := key{CanIdLogicAuth, i}
|
||||
la := &LogicAuth{unit: unit(i)}
|
||||
c.logicAuthArray[i] = la
|
||||
fields = []*field{
|
||||
@@ -188,7 +186,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_047, i}
|
||||
key := key{CanIdLogicEnergyMode, i}
|
||||
lem := &LogicEnergyMode{unit: unit(i)}
|
||||
c.logicEnergyMode[i] = lem
|
||||
fields = []*field{
|
||||
@@ -205,7 +203,7 @@ func (c *converter) initialize() {
|
||||
{length: 3, setter: c.logicErrorsInstance.setBoardReady, name: FBoardReady},
|
||||
{length: 2, setter: c.logicErrorsInstance.setNotReadySettings, name: FNotReadySettings},
|
||||
}
|
||||
c.protocolMap[key{can.CAN_ID_048, 0}] = action{
|
||||
c.protocolMap[key{CanIdLogicErrors, 0}] = action{
|
||||
fields: fields,
|
||||
interval: 1000,
|
||||
name: PLogicErrors,
|
||||
@@ -213,7 +211,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_049, i}
|
||||
key := key{CanIdLogicWorkingMode, i}
|
||||
lwm := &LogicWorkingMode{unit: unit(i)}
|
||||
c.logicWorkingMode[i] = lwm
|
||||
fields = []*field{
|
||||
@@ -229,7 +227,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i < CONTACTOR_MAX; i++ {
|
||||
key := key{can.CAN_ID_071, i}
|
||||
key := key{CanIdContIntState, i}
|
||||
cis := &ContactorInternalState{unit: unit(i)}
|
||||
c.contactorInternalStateArray[i] = cis
|
||||
fields = []*field{
|
||||
@@ -253,7 +251,7 @@ func (c *converter) initialize() {
|
||||
{length: 2, setter: c.contactorInternalErrorsInstance.setDebug, name: FDebug},
|
||||
{length: 5, setter: c.contactorInternalErrorsInstance.setPresentContactorMode, name: FPresentContactorMode},
|
||||
}
|
||||
c.protocolMap[key{can.CAN_ID_073, 0}] = action{
|
||||
c.protocolMap[key{CanIdContIntErr, 0}] = action{
|
||||
fields: fields,
|
||||
interval: 1000,
|
||||
name: PContactorInternalErrors,
|
||||
@@ -265,7 +263,7 @@ func (c *converter) initialize() {
|
||||
{length: 2, setter: c.contactorsInternalForce.setForceModeEnabled, name: FForceModeEnabled},
|
||||
{length: 4, setter: c.contactorsInternalForce.setForceModeValue, name: FForceModeValue},
|
||||
}
|
||||
c.protocolMap[key{can.CAN_ID_074, 0}] = action{
|
||||
c.protocolMap[key{CanIdContIntForce, 0}] = action{
|
||||
fields: fields,
|
||||
interval: 1000,
|
||||
name: PContactorsInternalForce,
|
||||
@@ -273,7 +271,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i < CONTACTOR_MAX; i++ {
|
||||
key := key{can.CAN_ID_075, i}
|
||||
key := key{CanIdContIntDebug, i}
|
||||
cid := &ContactorInternalDebug{unit: unit(i)}
|
||||
c.contactorInternalDebugArray[i] = cid
|
||||
fields = []*field{
|
||||
@@ -284,7 +282,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_067, i}
|
||||
key := key{CanIdPeripheryState, i}
|
||||
ps := &PeripheryState{unit: unit(i)}
|
||||
c.peripheryStateArray[i] = ps
|
||||
fields = []*field{
|
||||
@@ -315,7 +313,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_068, i}
|
||||
key := key{CanIdPeripheryInfo, i}
|
||||
pi := &PeripheryInfo{unit: unit(i)}
|
||||
c.peripheryInfoArray[i] = pi
|
||||
fields = []*field{
|
||||
@@ -329,7 +327,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i <= CONNECTOR_COUNT; i++ {
|
||||
key := key{can.CAN_ID_06C, i}
|
||||
key := key{CanIdPeripheryDebug, i}
|
||||
pd := &PeripheryDebug{unit: unit(i)}
|
||||
c.peripheryDebugArray[i] = pd
|
||||
fields = []*field{
|
||||
@@ -342,7 +340,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(1); i < CONVERTERS_MAX; i++ {
|
||||
key := key{can.CAN_ID_061, i}
|
||||
key := key{CanIdConverterPresentEnergy, i}
|
||||
cpe := &ConverterPresentEnergy{unit: unit(i)}
|
||||
c.converterPresentEnergyArray[i] = cpe
|
||||
fields = []*field{
|
||||
@@ -355,7 +353,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(1); i < CONVERTERS_MAX; i++ {
|
||||
key := key{can.CAN_ID_062, i}
|
||||
key := key{CanIdConverterErrors, i}
|
||||
ce := &ConverterErrors{unit: unit(i)}
|
||||
c.converterErrorsArray[i] = ce
|
||||
fields = []*field{
|
||||
@@ -381,7 +379,7 @@ func (c *converter) initialize() {
|
||||
}
|
||||
|
||||
for i := uint(0); i < CONVERTERS_MAX; i++ {
|
||||
key := key{can.CAN_ID_065, i}
|
||||
key := key{CanIdConverterDebug, i}
|
||||
cd := &ConverterDebug{unit: unit(i)}
|
||||
c.converterDebugArray[i] = cd
|
||||
fields = []*field{
|
||||
|
||||
+2
-2
@@ -104,8 +104,8 @@ func (c *converter) EventsFromFrame(frame *can.CanFrame) ([]*Event, bool) {
|
||||
return nil, false
|
||||
}
|
||||
|
||||
func get(from uint8, size uint8, buffer []byte) (uint64, bool) {
|
||||
value := binary.LittleEndian.Uint64(buffer)
|
||||
func get(from uint8, size uint8, buffer *[]byte) (uint64, bool) {
|
||||
value := binary.LittleEndian.Uint64(*buffer)
|
||||
|
||||
var mask uint64 = ^(ALL_BITS << size)
|
||||
mask = mask << from
|
||||
|
||||
Reference in New Issue
Block a user