rework byte array calculation in marshal functions

This commit is contained in:
Joel Wetzell
2026-05-30 10:53:50 -05:00
parent 37ca97c5ab
commit 6630584ae7
15 changed files with 25 additions and 25 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ func (aa *ArtAddress) UnmarshalBinary(data []byte) error {
}
func (aa *ArtAddress) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+99)
data := make([]byte, 12+95)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpAddress)
data[10] = 0
+2 -2
View File
@@ -51,7 +51,7 @@ func (ac *ArtCommand) UnmarshalBinary(data []byte) error {
}
func (ac *ArtCommand) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+8)
data := make([]byte, 12+4+len(ac.Data))
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpCommand)
data[10] = 0
@@ -62,6 +62,6 @@ func (ac *ArtCommand) MarshalBinary() ([]byte, error) {
return nil, errors.New("data length must be less than or equal to 512 bytes")
}
binary.BigEndian.PutUint16(data[14:16], dataLength)
data = append(data, ac.Data...)
copy(data[16:], ac.Data)
return data, nil
}
+1 -1
View File
@@ -52,7 +52,7 @@ func (adr *ArtDataRequest) UnmarshalBinary(data []byte) error {
}
func (adr *ArtDataRequest) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+32)
data := make([]byte, 12+28)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpDataRequest)
data[10] = 0
+2 -2
View File
@@ -59,7 +59,7 @@ func (add *ArtDiagData) UnmarshalBinary(data []byte) error {
}
func (add *ArtDiagData) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+10)
data := make([]byte, 12+6+len(add.Data))
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpDiagData)
data[10] = 0
@@ -73,6 +73,6 @@ func (add *ArtDiagData) MarshalBinary() ([]byte, error) {
return nil, errors.New("data length must be less than or equal to 512 bytes")
}
binary.BigEndian.PutUint16(data[16:18], dataLength)
data = append(data, add.Data...)
copy(data[18:], add.Data)
return data, nil
}
+1 -1
View File
@@ -54,7 +54,7 @@ func (ad *ArtDmx) UnmarshalBinary(data []byte) error {
func (ad *ArtDmx) MarshalBinary() ([]byte, error) {
// TODO(jwetzell): check max data length
data := make([]byte, 8+10+len(ad.Data))
data := make([]byte, 12+6+len(ad.Data))
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpDmx)
data[10] = 0
+1 -1
View File
@@ -83,7 +83,7 @@ func (aip *ArtIpProg) UnmarshalBinary(data []byte) error {
}
func (aip *ArtIpProg) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+26)
data := make([]byte, 12+22)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpIpProg)
data[10] = 0
+1 -1
View File
@@ -84,7 +84,7 @@ func (aipr *ArtIpProgReply) UnmarshalBinary(data []byte) error {
}
func (aipr *ArtIpProgReply) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+26)
data := make([]byte, 12+22)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpIpProgReply)
data[10] = 0
+1 -1
View File
@@ -50,7 +50,7 @@ func (an *ArtNzs) UnmarshalBinary(data []byte) error {
}
func (an *ArtNzs) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+8)
data := make([]byte, 12+6+len(an.Data))
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpNzs)
data[10] = 0
+1 -1
View File
@@ -55,7 +55,7 @@ func (ap *ArtPoll) UnmarshalBinary(data []byte) error {
}
func (ap *ArtPoll) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+14)
data := make([]byte, 12+10)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpPoll)
data[10] = 0
+9 -9
View File
@@ -28,9 +28,9 @@ type ArtPollReply struct {
AcnPriority uint8
SwMacro uint8
SwRemote uint8
Spare1 uint8
Spare2 uint8
Spare3 uint8
spare1 uint8
spare2 uint8
spare3 uint8
Style uint8
MAC [6]uint8
// TODO(jwetzell): support extended poll fields
@@ -89,9 +89,9 @@ func (ap *ArtPollReply) UnmarshalBinary(data []byte) error {
ap.AcnPriority = data[194]
ap.SwMacro = data[195]
ap.SwRemote = data[196]
ap.Spare1 = data[197]
ap.Spare2 = data[198]
ap.Spare3 = data[199]
ap.spare1 = data[197]
ap.spare2 = data[198]
ap.spare3 = data[199]
ap.Style = data[200]
copy(ap.MAC[:], data[201:207])
return nil
@@ -128,9 +128,9 @@ func (ap *ArtPollReply) MarshalBinary() ([]byte, error) {
data[194] = ap.AcnPriority
data[195] = ap.SwMacro
data[196] = ap.SwRemote
data[197] = ap.Spare1
data[198] = ap.Spare2
data[199] = ap.Spare3
data[197] = ap.spare1
data[198] = ap.spare2
data[199] = ap.spare3
data[200] = ap.Style
copy(data[201:207], ap.MAC[:])
copy(data[207:211], ap.BindIp[:])
+1 -1
View File
@@ -37,7 +37,7 @@ func (as *ArtSync) UnmarshalBinary(data []byte) error {
}
func (as *ArtSync) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+6)
data := make([]byte, 12+2)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpSync)
data[10] = 0
+1 -1
View File
@@ -46,7 +46,7 @@ func (atc *ArtTimeCode) UnmarshalBinary(data []byte) error {
}
func (atc *ArtTimeCode) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+11)
data := make([]byte, 12+7)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpTimeCode)
data[10] = 0
+1 -1
View File
@@ -67,7 +67,7 @@ func (adr *ArtTodControl) UnmarshalBinary(data []byte) error {
}
func (adr *ArtTodControl) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+16)
data := make([]byte, 12+12)
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpTodControl)
data[10] = 0
+1 -1
View File
@@ -71,7 +71,7 @@ func (adr *ArtTodRequest) MarshalBinary() ([]byte, error) {
if len(adr.Address) > 32 {
return nil, errors.New("address count must not be greater than 32")
}
data := make([]byte, 8+16+len(adr.Address))
data := make([]byte, 12+12+len(adr.Address))
copy(data[0:8], ArtNetID[:])
binary.LittleEndian.PutUint16(data[8:10], OpTodRequest)
data[10] = 0
+1 -1
View File
@@ -63,7 +63,7 @@ func (at *ArtTrigger) UnmarshalBinary(data []byte) error {
}
func (at *ArtTrigger) MarshalBinary() ([]byte, error) {
data := make([]byte, 8+10)
data := make([]byte, 12+6)
copy(data[0:8], at.id[:])
binary.LittleEndian.PutUint16(data[8:10], at.opCode)
data[10] = at.ProtVerHi