insert routes to main and driver

This commit is contained in:
Adrian Zuercher
2025-04-21 09:56:30 +02:00
parent b777716aa7
commit 7b201f6e63
10 changed files with 405 additions and 121 deletions

103
main.go
View File

@@ -3,71 +3,52 @@ package main
import (
"artNet/driver"
"artNet/server"
"fmt"
"math"
"time"
"flag"
"os"
"github.com/gin-gonic/gin"
)
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")
debug := flag.Bool("debug", false, "debug logging")
flag.Parse()
bus := driver.NewDriver().NewInterface("2.0.0.1", 0)
d, _ := bus.AddDevice(47, 9)
var i uint8
s := server.NewServer()
s.ServeHttp(8120)
for {
if i == math.MaxUint8 {
i = 0
}
err := d.SetChannelValue(0, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(1, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(2, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(3, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(4, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(5, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(6, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(7, i)
if err != nil {
fmt.Println(err)
}
err = d.SetChannelValue(8, i)
if err != nil {
fmt.Println(err)
}
if err := bus.SendData(); err != nil {
fmt.Println(12, err)
panic(err)
}
time.Sleep(100 * time.Microsecond)
i += 1
i = 0
//change working directory only if value is given
if *workingDir != "." && *workingDir != "" {
os.Chdir(*workingDir)
}
//initialize new ArtNet driver
artNetDriver, err := driver.NewDriver(*cfgDir, DriverName, *debug)
if err != nil {
artNetDriver.Log.Error("main", "error initialize new artnet driver "+err.Error())
panic(err)
}
//initialize new server
artNetDriver.Log.Error("main", "initialize new server instance")
s := server.NewServer()
//set routes
artNetDriver.Log.Error("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.GET("/", func(c *gin.Context) {
c.String(200, "ArtNet Driver WebSocket Server is running!")
})
// start http server
if err := s.ServeHttp(*port); err != nil {
artNetDriver.Log.Error("main", "error http server "+err.Error())
panic(err)
}
}