Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
33
pkg/dbc/models/can_signal.go
Normal file
33
pkg/dbc/models/can_signal.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"fiskerinc.com/modules/common"
|
||||
)
|
||||
|
||||
func NewCANSignal(position int, name string, convert func(value float64) interface{}) CANSignal {
|
||||
return CANSignal{
|
||||
Position: position,
|
||||
Name: name,
|
||||
RedisKey: name,
|
||||
ConvertValue: convert,
|
||||
}
|
||||
}
|
||||
|
||||
type CANSignal struct {
|
||||
Position int
|
||||
Name string
|
||||
RedisKey string
|
||||
ConvertValue func(value float64) interface{}
|
||||
}
|
||||
|
||||
func (c *CANSignal) ParseState(signal common.CANSignal) interface{} {
|
||||
return c.getValue(signal.Value)
|
||||
}
|
||||
|
||||
func (c *CANSignal) getValue(value float64) interface{} {
|
||||
if c.ConvertValue == nil {
|
||||
return value
|
||||
}
|
||||
|
||||
return c.ConvertValue(value)
|
||||
}
|
||||
Reference in New Issue
Block a user