This commit is contained in:
Adrian Zürcher
2025-04-29 09:16:27 +02:00
parent 2839b615c3
commit 83cbcdaa42
8 changed files with 207 additions and 164 deletions

24
main.go
View File

@@ -6,6 +6,7 @@ import (
"flag"
"fmt"
"os"
"time"
"github.com/gin-gonic/gin"
)
@@ -14,9 +15,11 @@ const DriverName string = "ArtNetDriver"
func main() {
// cli flags
port := flag.Uint("port-http", 8110, "http server listening port")
cfgDir := flag.String("cfg", "./cfg", "config directory")
workingDir := flag.String("workingDirectory", ".", "current working directory")
serverIp := flag.String("serverIp", "127.0.0.1", "ip address of server")
serverPort := flag.Uint("serverPort", 8100, "port of server")
wsPort := flag.Uint("port", 8200, "websocket port")
debug := flag.Bool("debug", false, "debug logging")
flag.Parse()
@@ -38,21 +41,28 @@ func main() {
//set routes
artNetDriver.Log.Debug("main", "setting routes")
s.Routes.GET("/ws", artNetDriver.Websocket)
s.Routes.GET("/buses/all", artNetDriver.GetAllBuses)
s.Routes.POST("/buses/create", artNetDriver.CreateBus)
s.Routes.POST("/buses/remove", artNetDriver.RemoveBus)
s.Routes.POST("/buses/start", artNetDriver.Start)
s.Routes.POST("/buses/status", artNetDriver.Status)
s.Routes.POST("/buses/stop", artNetDriver.Stop)
s.Routes.GET("/", func(c *gin.Context) {
c.String(200, "ArtNet Driver WebSocket Server is running!")
})
artNetDriver.Log.Info("main", fmt.Sprintf("listen on %d", *port))
// start http server
if err := s.ServeHttp(*port); err != nil {
artNetDriver.Log.Error("main", "error http server "+err.Error())
panic(err)
go func() {
if err := s.ServeHttp(*wsPort); err != nil {
artNetDriver.Log.Error("main", err.Error())
}
}()
artNetDriver.Log.Info("main", fmt.Sprintf("connect to server ws://%s:%d with id %s", *serverIp, serverPort, DriverName))
// connect to server
for {
artNetDriver.Log.Error("main", artNetDriver.Connect(*serverIp, DriverName, *serverPort))
time.Sleep(10 * time.Second)
}
}