Update App version to 0.1.1

Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
This commit is contained in:
luckfox-eng29
2026-02-05 11:28:14 +08:00
parent 5e17c52afc
commit 9a4e604c61
289 changed files with 23077 additions and 12474 deletions

54
main.go
View File

@@ -8,6 +8,7 @@ import (
"syscall"
"time"
"github.com/Masterminds/semver/v3"
"github.com/gwatts/rootcerts"
)
@@ -26,14 +27,19 @@ func Main() {
logger.Warn().Err(err).Msg("failed to get local version")
}
minRequiredSystemVersion := semver.MustParse("0.1.4")
isNewEnoughSystem := systemVersionLocal != nil && !systemVersionLocal.LessThan(minRequiredSystemVersion)
logger.Info().
Interface("system_version", systemVersionLocal).
Interface("app_version", appVersionLocal).
Msg("starting KVM")
//go runWatchdog()
go runWatchdog()
go confirmCurrentSystem() //A/B system
go setForceHpd()
if isNewEnoughSystem {
go setForceHpd()
}
http.DefaultClient.Timeout = 1 * time.Minute
@@ -74,6 +80,22 @@ func Main() {
// Initialize native video socket server
StartVideoDataSocketServer()
// Set up callbacks for HTTP video stream subscribers
// When first HTTP subscriber connects and there's no WebRTC session, start video
videoBroadcaster.onFirstSubscribe = func() {
if actionSessions == 0 {
logger.Info().Msg("First HTTP video subscriber connected, starting video stream")
_ = writeCtrlAction("start_video")
}
}
// When last HTTP subscriber disconnects and there's no WebRTC session, stop video
videoBroadcaster.onLastUnsubscribe = func() {
if actionSessions == 0 {
logger.Info().Msg("Last HTTP video subscriber disconnected, stopping video stream")
_ = writeCtrlAction("stop_video")
}
}
// Initialize native audio socket server
StartAudioCtrlSocketServer()
@@ -109,29 +131,31 @@ func Main() {
}
}()
// initialize usb gadget
initUsbGadget()
if isNewEnoughSystem {
// initialize usb gadget
initUsbGadget()
if err := setInitialVirtualMediaState(); err != nil {
logger.Warn().Err(err).Msg("failed to set initial virtual media state")
}
if err := initImagesFolder(); err != nil {
logger.Warn().Err(err).Msg("failed to init images folder")
}
initJiggler()
initSystemInfo()
}
// initialize GPIO
initGPIO()
if err := setInitialVirtualMediaState(); err != nil {
logger.Warn().Err(err).Msg("failed to set initial virtual media state")
}
if err := initImagesFolder(); err != nil {
logger.Warn().Err(err).Msg("failed to init images folder")
}
initJiggler()
// initialize display
initDisplay()
// Initialize VPN
initVPN()
initSystemInfo()
//Auto update
//go func() {
// time.Sleep(15 * time.Minute)