56 lines
1.0 KiB
Dart
56 lines
1.0 KiB
Dart
|
//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();
|
||
|
}
|