driver

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RxChannelBufferSize = 1024                  // 接收通道缓冲区大小
	MsgBufferSize       = 1024                  // 消息缓冲区大小
	PollingInterval     = time.Millisecond      // 轮询间隔
	InitDelay           = 20 * time.Millisecond // 初始化延迟
)

缓冲区和轮询配置常量

Variables

This section is empty.

Functions

This section is empty.

Types

type CANDriver

type CANDriver interface {
	Init() error
	Start()
	Stop()
	Write(id int32, data []byte) error
	RxChan() <-chan UnifiedCANMessage
	Context() context.Context
}

CANDriver 定义了CAN/CAN-FD驱动的统一接口

type CanType added in v1.0.4

type CanType byte

CanType 定义 CAN 类型 (与 Windows 版本保持一致)

const (
	CAN   CanType = 0
	CANFD CanType = 1
)

type ToomossAdapter

type ToomossAdapter struct {
	// contains filtered or unexported fields
}

ToomossAdapter 是连接 go-uds 和 Toomoss 硬件的适配器

func NewToomossAdapter

func NewToomossAdapter(dev CANDriver) (*ToomossAdapter, error)

NewToomossAdapter 是适配器的构造函数

func (*ToomossAdapter) Close

func (t *ToomossAdapter) Close()

Close 用于停止驱动并释放资源

func (*ToomossAdapter) RxFunc

func (t *ToomossAdapter) RxFunc() (tp_layer.CanMessage, bool)

RxFunc 是接收函数,它完全符合 go-uds 库的 `rxfn` 签名要求

func (*ToomossAdapter) TxFunc

func (t *ToomossAdapter) TxFunc(msg tp_layer.CanMessage)

TxFunc 是发送函数,它完全符合 go-uds 库的 `txfn` 签名要求

type UnifiedCANMessage

type UnifiedCANMessage struct {
	ID   uint32
	DLC  byte
	Data [64]byte // 使用64字节以兼容CAN-FD
	IsFD bool     // 标志位,用于区分是CAN还是CAN-FD消息
}

UnifiedCANMessage 是一个通用的CAN/CAN-FD消息结构体,用于在channel中传递。 它屏蔽了底层 CAN_MSG 和 CANFD_MSG 的差异。

Jump to

Keyboard shortcuts

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