cangoru

package
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attribute

type Attribute struct {
	Type   AttributeType
	Kind   AttributeKind
	Name   string
	Int    *AttributeNumber[int]
	Hex    *AttributeNumber[int]
	Float  *AttributeNumber[float64]
	String *AttributeDefault[string]
	Enum   *AttributeEnum
}

func NewEnumAttribute

func NewEnumAttribute(kind AttributeKind, name string, values []string) *Attribute

func NewFloatAttribute

func NewFloatAttribute(kind AttributeKind, name string, from float64, to float64) *Attribute

func NewHexAttribute

func NewHexAttribute(kind AttributeKind, name string, from int, to int) *Attribute

func NewIntAttribute

func NewIntAttribute(kind AttributeKind, name string, from int, to int) *Attribute

func NewStringAttribute

func NewStringAttribute(kind AttributeKind, name string) *Attribute

func (*Attribute) SetEnumDefault

func (a *Attribute) SetEnumDefault(def string) error

func (*Attribute) SetFloatDefault

func (a *Attribute) SetFloatDefault(def float64) error

func (*Attribute) SetHexDefault

func (a *Attribute) SetHexDefault(def int) error

func (*Attribute) SetIntDefault

func (a *Attribute) SetIntDefault(def int) error

func (*Attribute) SetStringDefault

func (a *Attribute) SetStringDefault(def string) error

func (*Attribute) ToDBC

func (a *Attribute) ToDBC() (*dbc.Attribute, *dbc.AttributeDefault)

type AttributeDefault

type AttributeDefault[T int | float64 | string] struct {
	Default T
}

type AttributeEnum

type AttributeEnum struct {
	AttributeDefault[string]

	Values []string
}

type AttributeKind

type AttributeKind uint
const (
	AttributeKindGeneral AttributeKind = iota
	AttributeKindNode
	AttributeKindMessage
	AttributeKindSignal
)

func (AttributeKind) ToDBC

func (ak AttributeKind) ToDBC() dbc.AttributeKind

type AttributeMap

type AttributeMap struct {
	Attributes map[string]*AttributeValue
}

func (*AttributeMap) AssignAttribute

func (am *AttributeMap) AssignAttribute(att *AttributeValue)

func (*AttributeMap) GetAttributeValues

func (am *AttributeMap) GetAttributeValues() map[string]*AttributeValue

type AttributeNumber

type AttributeNumber[T int | float64] struct {
	AttributeDefault[T]

	From T
	To   T
}

type AttributeType

type AttributeType uint
const (
	AttributeTypeInt AttributeType = iota
	AttributeTypeHex
	AttributeTypeFloat
	AttributeTypeString
	AttributeTypeEnum
)

type AttributeValue

type AttributeValue struct {
	Definition  *Attribute
	IntValue    int
	HexValue    int
	FloatValue  float64
	StringValue string
	EnumValue   int
}

func NewEnumAttributeValue

func NewEnumAttributeValue(att *Attribute, value int) (*AttributeValue, error)

func NewFloatAttributeValue

func NewFloatAttributeValue(att *Attribute, value float64) (*AttributeValue, error)

func NewHexAttributeValue

func NewHexAttributeValue(att *Attribute, value int) (*AttributeValue, error)

func NewIntAttributeValue

func NewIntAttributeValue(att *Attribute, value int) (*AttributeValue, error)

func NewStringAttributeValue

func NewStringAttributeValue(att *Attribute, value string) (*AttributeValue, error)

func (*AttributeValue) ToDBC

func (av *AttributeValue) ToDBC() *dbc.AttributeValue

type CAN

type CAN struct {
	Description
	AttributeMap

	VersionString string
	Baudrate      uint
	Nodes         map[string]*Node
	Messages      map[MessageID]*Message
	Attributes    map[string]*Attribute
}

func NewCAN

func NewCAN() *CAN

func NewCANFromDBC

func NewCANFromDBC(dbcFilename string) (*CAN, error)

func (*CAN) AddAttribute

func (c *CAN) AddAttribute(att *Attribute) error

func (*CAN) AddMessage

func (c *CAN) AddMessage(msg *Message) error

func (*CAN) AddNode

func (c *CAN) AddNode(node *Node) error

func (*CAN) GetAttribute

func (c *CAN) GetAttribute(attName string) (*Attribute, error)

func (*CAN) GetMessage

func (c *CAN) GetMessage(msgID MessageID) (*Message, error)

func (*CAN) GetNode

func (c *CAN) GetNode(nodeName string) (*Node, error)

func (*CAN) SetBaudrate

func (c *CAN) SetBaudrate(baudrate uint)

func (*CAN) SetVersionString

func (c *CAN) SetVersionString(versionString string)

func (*CAN) ToDBC

func (c *CAN) ToDBC(dbcFilename string) error

type Description

type Description struct {
	Description string
}

func (*Description) GetDescription

func (d *Description) GetDescription() string

func (*Description) HasDescription

func (d *Description) HasDescription() bool

func (*Description) SetDescription

func (d *Description) SetDescription(desc string)

type Message

type Message struct {
	Description
	AttributeMap

	ID          MessageID
	Name        string
	Size        uint
	Period      uint
	Signals     map[string]*Signal
	Transmitter *Node
	// contains filtered or unexported fields
}

func NewMessage

func NewMessage(id MessageID, name string, size uint) *Message

func (*Message) AddSignal

func (m *Message) AddSignal(signal *Signal) error

func (*Message) GetSignal

func (m *Message) GetSignal(name string) (*Signal, error)

func (*Message) HasExtendedMuxSignals

func (m *Message) HasExtendedMuxSignals() bool

func (*Message) HasMuxSignals

func (m *Message) HasMuxSignals() bool

func (*Message) SetPeriod

func (m *Message) SetPeriod(period uint)

func (*Message) ToDBC

func (m *Message) ToDBC() *dbc.Message

type MessageID

type MessageID uint32

func NewMessageID

func NewMessageID(id uint32) MessageID

func (MessageID) ToDBC

func (id MessageID) ToDBC() uint32

type Node

type Node struct {
	Description
	AttributeMap

	Name string

	TxMessages []*Message
	RxSignals  []*Signal
}

func NewNode

func NewNode(name string) *Node

func (*Node) AddRxSignal

func (n *Node) AddRxSignal(rxSig *Signal)

func (*Node) AddTxMessage

func (n *Node) AddTxMessage(txMsg *Message)

type Signal

type Signal struct {
	Description
	AttributeMap

	Name      string
	Size      uint
	StartBit  uint
	ByteOrder SignalByteOrder
	ValueType SignalValueType
	Factor    float64
	Offset    float64
	Min       float64
	Max       float64
	Unit      string
	Receivers []*Node
	MapValues map[uint]string

	IsMultiplexor bool
	IsMultiplexed bool
	MuxSignals    []*Signal
	Multiplexor   *Signal
	MuxIndexes    []uint
}

func NewSignal

func NewSignal(name string, size uint, startBit uint, byteOrder SignalByteOrder,
	valueType SignalValueType, factor float64, offset float64, min float64, max float64, unit string) (*Signal, error)

func (*Signal) AddMapValue

func (s *Signal) AddMapValue(index uint, value string) error

func (*Signal) AddMuxSignal

func (s *Signal) AddMuxSignal(muxSig *Signal, muxIndexes ...uint) error

func (*Signal) SetIsMultiplexed

func (s *Signal) SetIsMultiplexed()

func (*Signal) SetIsMultiplexor

func (s *Signal) SetIsMultiplexor()

func (*Signal) ToDBC

func (s *Signal) ToDBC() *dbc.Signal

type SignalByteOrder

type SignalByteOrder uint
const (
	LittleEndian SignalByteOrder = iota
	BigEndian
)

type SignalValueType

type SignalValueType uint
const (
	Unsigned SignalValueType = iota
	Signed
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL