Documentation
¶
Index ¶
- Variables
- func DecodeRawValue(startBit, bitSize uint32, canData can.Data) (uint64, error)
- func RawValueToSigned(bitSize uint32, rawValue uint64) int64
- type Bitset
- type CanIdConfig
- type DecoderConfig
- type Enum
- type Scalar
- type Signal
- type SignalConfig
- type SignalDecoder
- type SignalId
- type SignalList
- type SignalType
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrSignalNameColision = errors.New("name of signals have to be unique")
)
View Source
var (
ErrUnsuportedType = errors.New("given type is unsuported")
)
View Source
var SignalTypeMap = map[SignalType]struct{}{ STInteger: {}, STEnum: {}, STBitset: {}, }
Functions ¶
func DecodeRawValue ¶
func RawValueToSigned ¶
Types ¶
type Bitset ¶
type Bitset struct {
SID SignalId `json:"sid"`
Value uint64 `json:"value"`
BitStates map[int64]bool `json:"bit_states"`
}
func ProcessBitset ¶
func ProcessBitset(cfg *SignalConfig, canData can.Data) (Bitset, error)
func (*Bitset) GetSignalId ¶
type CanIdConfig ¶
type DecoderConfig ¶
type DecoderConfig struct {
Signals []SignalConfig `json:"signals" toml:"signals"`
}
func MergeDecoderConfig ¶
func MergeDecoderConfig(a *DecoderConfig, b *DecoderConfig) *DecoderConfig
func (*DecoderConfig) Preprocess ¶
func (dc *DecoderConfig) Preprocess() error
type Enum ¶
type Enum struct {
SID SignalId `json:"sid"`
Value int64 `json:"value"`
ValueName string `json:"value_name"`
}
func ProcessEnum ¶
func ProcessEnum(cfg *SignalConfig, canData can.Data) (Enum, error)
func (*Enum) GetSignalId ¶
type Scalar ¶
func ProcessIntegerScalar ¶
func ProcessIntegerScalar(cfg *SignalConfig, canData can.Data) (Scalar, error)
func (*Scalar) GetSignalId ¶
type SignalConfig ¶
type SignalConfig struct {
// Common
Type SignalType `json:"type" toml:"type"`
CanId CanIdConfig `json:"canid" toml:"canid"`
Name string `json:"name" toml:"name"`
Category string `json:"category" toml:"category"`
StartBit uint32 `json:"startbit" toml:"startbit"`
BitSize uint32 `json:"bitsize" toml:"bitsize"`
// Scalar
Unit string `json:"unit" toml:"unit"`
Multiplier *float64 `json:"multiplier" toml:"multiplier"`
Offset *float64 `json:"offset" toml:"offset"`
Signed bool `json:"signed" toml:"signed"`
// Enum
Enum map[int64]string `json:"enum" toml:"enum"`
// Bitset
BitNames map[int64]string `json:"bitnames" toml:"bitnames"`
// contains filtered or unexported fields
}
func (*SignalConfig) GetCanId ¶
func (cif *SignalConfig) GetCanId() can.Id
func (*SignalConfig) GetCategory ¶
func (cif *SignalConfig) GetCategory() string
func (*SignalConfig) GetName ¶
func (cif *SignalConfig) GetName() string
func (*SignalConfig) GetSignalId ¶
func (cif *SignalConfig) GetSignalId() SignalId
func (*SignalConfig) GetType ¶
func (cif *SignalConfig) GetType() SignalType
type SignalDecoder ¶
type SignalDecoder struct {
// contains filtered or unexported fields
}
func NewSignalDecoder ¶
func NewSignalDecoder(dcfg *DecoderConfig) (*SignalDecoder, error)
func (*SignalDecoder) DecodeCanFrame ¶
func (sp *SignalDecoder) DecodeCanFrame(frame can.Frame) ([]Signal, error)
func (*SignalDecoder) ListOfNames ¶
func (sp *SignalDecoder) ListOfNames() []SignalId
func (*SignalDecoder) SignalConfiguration ¶
func (sp *SignalDecoder) SignalConfiguration() map[SignalId]SignalConfig
type SignalList ¶
type SignalList struct {
NameList []SignalId `json:"names"`
NameConfigMap map[SignalId]SignalConfig `json:"signals"`
}
func NewSignalList ¶
func NewSignalList(dcfg *DecoderConfig) (*SignalList, error)
type SignalType ¶
type SignalType string
const ( STInteger SignalType = "integer" STEnum SignalType = "enum" STBitset SignalType = "bitset" )
Click to show internal directories.
Click to hide internal directories.