generated from thinkode/modelRepository
peripheral optimizations
This commit is contained in:
@@ -34,31 +34,12 @@ type FTDIPeripheral struct {
|
||||
errorsChan chan error // Channel to get the errors
|
||||
}
|
||||
|
||||
//go:embed third-party/ftdi/dmxSender.exe
|
||||
var dmxSender []byte
|
||||
|
||||
// NewFTDIPeripheral creates a new FTDI peripheral
|
||||
func NewFTDIPeripheral(name string, serialNumber string, location int) (*FTDIPeripheral, error) {
|
||||
log.Info().Str("file", "FTDIPeripheral").Str("name", name).Str("s/n", serialNumber).Int("location", location).Msg("FTDI peripheral created")
|
||||
// Create a temporary file
|
||||
tempFile, err := os.Create(fmt.Sprintf("dmxSender-%s.exe", serialNumber))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
log.Trace().Str("file", "FTDIPeripheral").Str("s/n", serialNumber).Msg("FTDI sender temp created")
|
||||
|
||||
// Write the embedded executable to the temp file
|
||||
if _, err := tempFile.Write(dmxSender); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
log.Trace().Str("file", "FTDIPeripheral").Str("s/n", serialNumber).Msg("FTDI sender written")
|
||||
|
||||
tempFile.Close()
|
||||
|
||||
return &FTDIPeripheral{
|
||||
name: name,
|
||||
dmxSender: nil,
|
||||
programName: tempFile.Name(),
|
||||
serialNumber: serialNumber,
|
||||
location: location,
|
||||
universesNumber: 1,
|
||||
|
||||
Reference in New Issue
Block a user