app-starlock/lib/blue/io_tool/io_manager.dart
2024-05-18 09:37:50 +08:00

41 lines
1.1 KiB
Dart
Executable File

enum DataTransmissionMode {
ble,
}
class IoManager {
static IoManager? _ioManager;
IoManager._init();
static IoManager share(){
_ioManager ??= IoManager._init();
return _ioManager!;
}
factory IoManager() => share();
IoManager get manager => share();
//数据传输方式
DataTransmissionMode _dataTransmissionMode = DataTransmissionMode.ble;
bool get isBleChannel =>_dataTransmissionMode == DataTransmissionMode.ble;
///蓝牙传输协议
void bleTransmission() => _dataTransmissionMode = DataTransmissionMode.ble;
///协议帧序号
int _commandIndex = 1;
configCommandIdx(int idx) => _commandIndex = idx;
Future<void> increaseCommandIndex() async {
_commandIndex < 255 ? _commandIndex++ : _commandIndex = 0;
}
void resetCommandIndex() => _commandIndex = 0;
int get commandIndex => _commandIndex;
/// 当前设备连接的lockId
String _currentDeviceLockId = "";
configCurrentDeviceLockId(String lockId) => _currentDeviceLockId = lockId;
String get getCurrentDeviceLockId => _currentDeviceLockId;
void resetAllFlags() {
resetCommandIndex();
}
}