From 21beb6316e51dbf181100e9f47bd11561820c79e Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Thu, 14 May 2026 14:53:15 -0500 Subject: [PATCH] remove panics --- free_d.go | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/free_d.go b/free_d.go index f38a500..0708973 100644 --- a/free_d.go +++ b/free_d.go @@ -1,7 +1,6 @@ package freeD import ( - "bytes" "encoding/binary" "errors" "math" @@ -100,23 +99,17 @@ func checksum(bytes []byte) uint8 { func rotationToFreeDUnits(rotation float32) []byte { units := int32(rotation * 32768 * 256) - var buf bytes.Buffer - err := binary.Write(&buf, binary.BigEndian, units) - if err != nil { - panic(err) - } - return buf.Bytes()[0:3] + buf := make([]byte, 4) + binary.BigEndian.PutUint32(buf, uint32(units)) + return buf[0:3] } func positionToFreeDUnits(position float32) []byte { units := int32(position * 64 * 256) - var buf bytes.Buffer - err := binary.Write(&buf, binary.BigEndian, units) - if err != nil { - panic(err) - } - return buf.Bytes()[0:3] + buf := make([]byte, 4) + binary.BigEndian.PutUint32(buf, uint32(units)) + return buf[0:3] } func freeDUnitsToRotation(upper uint8, middle uint8, lower uint8) float32 {