Add -debug flag to log ArtNet packets
Logs recv/send for DMX, Poll, and PollReply packets. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
20
main.go
20
main.go
@@ -20,12 +20,14 @@ type App struct {
|
|||||||
sender *artnet.Sender
|
sender *artnet.Sender
|
||||||
discovery *artnet.Discovery
|
discovery *artnet.Discovery
|
||||||
engine *remap.Engine
|
engine *remap.Engine
|
||||||
|
debug bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
configPath := flag.String("config", "config.toml", "path to config file")
|
configPath := flag.String("config", "config.toml", "path to config file")
|
||||||
listenPort := flag.Int("port", artnet.Port, "ArtNet listen port")
|
listenPort := flag.Int("port", artnet.Port, "ArtNet listen port")
|
||||||
broadcastAddr := flag.String("broadcast", "2.255.255.255", "ArtNet broadcast address")
|
broadcastAddr := flag.String("broadcast", "2.255.255.255", "ArtNet broadcast address")
|
||||||
|
debug := flag.Bool("debug", false, "log ArtNet packets")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
// Load config
|
// Load config
|
||||||
@@ -64,6 +66,7 @@ func main() {
|
|||||||
sender: sender,
|
sender: sender,
|
||||||
discovery: discovery,
|
discovery: discovery,
|
||||||
engine: engine,
|
engine: engine,
|
||||||
|
debug: *debug,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create receiver
|
// Create receiver
|
||||||
@@ -92,6 +95,11 @@ func main() {
|
|||||||
|
|
||||||
// HandleDMX implements artnet.PacketHandler
|
// HandleDMX implements artnet.PacketHandler
|
||||||
func (a *App) HandleDMX(src *net.UDPAddr, pkt *artnet.DMXPacket) {
|
func (a *App) HandleDMX(src *net.UDPAddr, pkt *artnet.DMXPacket) {
|
||||||
|
if a.debug {
|
||||||
|
log.Printf("recv DMX from %s: universe=%s seq=%d len=%d",
|
||||||
|
src.IP, pkt.Universe, pkt.Sequence, pkt.Length)
|
||||||
|
}
|
||||||
|
|
||||||
// Apply remapping
|
// Apply remapping
|
||||||
outputs := a.engine.Remap(pkt.Universe, pkt.Data)
|
outputs := a.engine.Remap(pkt.Universe, pkt.Data)
|
||||||
|
|
||||||
@@ -107,12 +115,18 @@ func (a *App) HandleDMX(src *net.UDPAddr, pkt *artnet.DMXPacket) {
|
|||||||
IP: node.IP,
|
IP: node.IP,
|
||||||
Port: int(node.Port),
|
Port: int(node.Port),
|
||||||
}
|
}
|
||||||
|
if a.debug {
|
||||||
|
log.Printf("send DMX to %s: universe=%s", node.IP, out.Universe)
|
||||||
|
}
|
||||||
if err := a.sender.SendDMX(addr, out.Universe, out.Data[:]); err != nil {
|
if err := a.sender.SendDMX(addr, out.Universe, out.Data[:]); err != nil {
|
||||||
log.Printf("failed to send to %s: %v", node.IP, err)
|
log.Printf("failed to send to %s: %v", node.IP, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Broadcast if no nodes discovered
|
// Broadcast if no nodes discovered
|
||||||
|
if a.debug {
|
||||||
|
log.Printf("send DMX broadcast: universe=%s", out.Universe)
|
||||||
|
}
|
||||||
if err := a.sender.SendDMXBroadcast(out.Universe, out.Data[:]); err != nil {
|
if err := a.sender.SendDMXBroadcast(out.Universe, out.Data[:]); err != nil {
|
||||||
log.Printf("failed to broadcast: %v", err)
|
log.Printf("failed to broadcast: %v", err)
|
||||||
}
|
}
|
||||||
@@ -122,11 +136,17 @@ func (a *App) HandleDMX(src *net.UDPAddr, pkt *artnet.DMXPacket) {
|
|||||||
|
|
||||||
// HandlePoll implements artnet.PacketHandler
|
// HandlePoll implements artnet.PacketHandler
|
||||||
func (a *App) HandlePoll(src *net.UDPAddr, pkt *artnet.PollPacket) {
|
func (a *App) HandlePoll(src *net.UDPAddr, pkt *artnet.PollPacket) {
|
||||||
|
if a.debug {
|
||||||
|
log.Printf("recv Poll from %s", src.IP)
|
||||||
|
}
|
||||||
a.discovery.HandlePoll(src)
|
a.discovery.HandlePoll(src)
|
||||||
}
|
}
|
||||||
|
|
||||||
// HandlePollReply implements artnet.PacketHandler
|
// HandlePollReply implements artnet.PacketHandler
|
||||||
func (a *App) HandlePollReply(src *net.UDPAddr, pkt *artnet.PollReplyPacket) {
|
func (a *App) HandlePollReply(src *net.UDPAddr, pkt *artnet.PollReplyPacket) {
|
||||||
|
if a.debug {
|
||||||
|
log.Printf("recv PollReply from %s", src.IP)
|
||||||
|
}
|
||||||
a.discovery.HandlePollReply(src, pkt)
|
a.discovery.HandlePollReply(src, pkt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user