2024-07-31 23:37:51 +08:00
|
|
|
import 'package:flutter/widgets.dart';
|
2024-07-31 19:04:11 +08:00
|
|
|
import 'package:get/get.dart';
|
|
|
|
import 'package:gnss/gnss.dart';
|
|
|
|
|
|
|
|
class GnssController extends GetxController {
|
2024-07-31 23:37:51 +08:00
|
|
|
late final Gnss gnss;
|
2024-07-31 19:04:11 +08:00
|
|
|
LocationData? locationData;
|
|
|
|
SignalData? signalData;
|
|
|
|
var locationUpdate = 0.obs;
|
|
|
|
|
|
|
|
var singnalUpdate = 0.obs;
|
2024-08-01 18:17:57 +08:00
|
|
|
final startIndex = 0.obs;
|
|
|
|
updateSlider(double value) {
|
|
|
|
startIndex.value = value.ceil();
|
|
|
|
|
|
|
|
update();
|
|
|
|
}
|
2024-07-31 23:37:51 +08:00
|
|
|
|
2024-08-01 15:13:18 +08:00
|
|
|
Map<String, bool> selectedSignal = {
|
|
|
|
"GPS": true,
|
|
|
|
"GLONASS": true,
|
|
|
|
"GALILEO": true,
|
|
|
|
"BEIDOU": true,
|
|
|
|
"QZSS": true,
|
|
|
|
"SBAS": true,
|
|
|
|
}.obs;
|
|
|
|
// final selectedSignal = Map<String,bool>{false, false, false, false, false};
|
2024-08-01 14:08:34 +08:00
|
|
|
final QselectedSignal = <bool>[false, false, false, false, false].obs; //信号质量
|
2024-07-31 19:04:11 +08:00
|
|
|
|
|
|
|
@override
|
|
|
|
void onInit() async {
|
|
|
|
super.onInit();
|
2024-08-01 14:08:34 +08:00
|
|
|
gnss = Gnss(port: "/dev/ttysWK2", baudrate: 115200);
|
|
|
|
// gnss = Gnss(port: "COM1", baudrate: 115200);
|
2024-07-31 19:04:11 +08:00
|
|
|
gnss.start();
|
|
|
|
gnss.locationStream.listen((location) {
|
|
|
|
locationData = location;
|
|
|
|
locationUpdate++;
|
|
|
|
});
|
|
|
|
gnss.signalStream.listen((singnal) {
|
|
|
|
signalData = singnal;
|
|
|
|
singnalUpdate++;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
gnss.dispose();
|
|
|
|
super.dispose();
|
|
|
|
}
|
|
|
|
}
|