Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/components/navbar/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@
import useLocale from '@/hooks/locale';
import useUser from '@/hooks/user';
import Menu from '@/components/menu/index.vue';
import { connect, disconnect, eeprom_init } from '@/utils/serial.js';
import { connect, disconnect, eeprom_init, rtc_sync_beijing } from '@/utils/serial.js';
import { useI18n } from 'vue-i18n';
const { t } = useI18n();
const drivers = import.meta.glob('@/drivers/*.json', { eager: true });
Expand Down Expand Up @@ -232,6 +232,7 @@
"LOSEHU.*P.*K" : "ltsk.json",
"LOSEHU.*P.*" : "lts.json",
"LOSEHU.*D" : "losehud.json",
"UVE.*" : "losehu124h.json",
"LOSEHU13[0-9].*HS" : "losehu124h.json",
"LOSEHU13[0-9].*H" : "losehu124h.json",
"LOSEHU13[0-9].*KS" : "losehu120k.json",
Expand Down Expand Up @@ -307,6 +308,12 @@
}
})

// Auto sync device RTC to current Beijing time on connect (best effort).
// Only do this for UVE builds to avoid slowing down other firmwares.
if (/^UVE/i.test(version)) {
try { await rtc_sync_beijing(_connect); } catch {}
}

appStore.updateSettings({ connectState: true, firmwareVersion: version, configuration: _configuration });
}else{
await disconnect(appStore.connectPort);
Expand Down
3 changes: 3 additions & 0 deletions src/store/modules/app/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ const useAppStore = defineStore('app', {
appDevice(state: AppState) {
return state.device;
},
isUve5(state: AppState): boolean {
return typeof state.firmwareVersion === 'string' && state.firmwareVersion.startsWith('UVE');
},
appAsyncMenus(state: AppState): RouteRecordNormalized[] {
return state.serverMenu as unknown as RouteRecordNormalized[];
},
Expand Down
7 changes: 7 additions & 0 deletions src/store/modules/app/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,12 @@ export interface AppState {
tabBar: boolean;
menuFromServer: boolean;
serverMenu: RouteRecordNormalized[];

// Device connection/runtime info (set on successful handshake in navbar connect)
connectState?: boolean;
connectPort?: unknown;
firmwareVersion?: string;
configuration?: unknown;

[key: string]: unknown;
}
Loading
Loading