RP-01_Flutter/lib/CanLib/abstract_can_device.dart

56 lines
1.0 KiB
Dart
Raw Normal View History

2025-04-29 16:32:14 +08:00
//CAN设备状态抽象类
class CANDev {
//CAN设备名称
String devname;
//CAN设备序列号
String devsn='sn_none';
//CAN设备通道数量
int devchannel;
//CAN运行设备状态
bool runstatus=false;
//通道状态
List<bool> channelstatus=[];
//固件版本号
String firmwareversion='0.0.0';
//设备句柄
int devhandle=0;
CANDev({
required this.devname,
required this.devchannel,
this.devsn='sn_none',
this.runstatus=false,
this.devhandle=0,
this.firmwareversion='0.0.0',
})
{
for(int i=0;i<devchannel;i++) {
channelstatus.add(false);
}
}
}
abstract class AbstractCANDevice {
// 初始化CAN设备
bool initialize();
// 刷新CAN设备
int refresh();
//获取CAN设备列表
List<CANDev> getDeviceList();
// 启动CAN设备
bool start();
// 停止CAN设备
bool stop();
// 发送CAN消息
Future<bool> sendMessage(List<int> data);
// 接收CAN消息
Stream<List<int>> receiveMessage();
}