feat: new shifter types and better gear ratio editor
This commit is contained in:
@ -112,6 +112,7 @@ enum TrainerConnectionState {
|
||||
idle,
|
||||
connecting,
|
||||
pairing,
|
||||
connected,
|
||||
discoveringFtms,
|
||||
ftmsReady,
|
||||
error,
|
||||
@ -131,6 +132,8 @@ class TrainerStatus {
|
||||
return 'Connecting';
|
||||
case TrainerConnectionState.pairing:
|
||||
return 'Pairing';
|
||||
case TrainerConnectionState.connected:
|
||||
return 'Connected';
|
||||
case TrainerConnectionState.discoveringFtms:
|
||||
return 'Discovering FTMS';
|
||||
case TrainerConnectionState.ftmsReady:
|
||||
@ -148,9 +151,11 @@ class TrainerStatus {
|
||||
case 2:
|
||||
return const TrainerStatus(state: TrainerConnectionState.pairing);
|
||||
case 3:
|
||||
return const TrainerStatus(state: TrainerConnectionState.connected);
|
||||
case 4:
|
||||
return const TrainerStatus(
|
||||
state: TrainerConnectionState.discoveringFtms);
|
||||
case 4:
|
||||
case 5:
|
||||
return const TrainerStatus(state: TrainerConnectionState.ftmsReady);
|
||||
default:
|
||||
return const TrainerStatus(state: TrainerConnectionState.idle);
|
||||
@ -160,7 +165,7 @@ class TrainerStatus {
|
||||
if (raw is List && raw.isNotEmpty) {
|
||||
final variant = raw.first;
|
||||
final value = raw.length > 1 ? raw[1] : null;
|
||||
if (variant is int && variant == 5) {
|
||||
if (variant is int && (variant == 5 || variant == 6)) {
|
||||
return TrainerStatus(
|
||||
state: TrainerConnectionState.error,
|
||||
errorCode: value is int ? value : null,
|
||||
@ -173,7 +178,7 @@ class TrainerStatus {
|
||||
if (entry != null) {
|
||||
final key = entry.key;
|
||||
final value = entry.value;
|
||||
if ((key is int && key == 5) ||
|
||||
if ((key is int && (key == 5 || key == 6)) ||
|
||||
(key is String && key.toLowerCase().contains('error'))) {
|
||||
return TrainerStatus(
|
||||
state: TrainerConnectionState.error,
|
||||
@ -191,6 +196,9 @@ class TrainerStatus {
|
||||
if (normalized.contains('pairing')) {
|
||||
return const TrainerStatus(state: TrainerConnectionState.pairing);
|
||||
}
|
||||
if (normalized.contains('connected')) {
|
||||
return const TrainerStatus(state: TrainerConnectionState.connected);
|
||||
}
|
||||
if (normalized.contains('discover')) {
|
||||
return const TrainerStatus(
|
||||
state: TrainerConnectionState.discoveringFtms);
|
||||
|
||||
Reference in New Issue
Block a user