package m9z type M9zCtrl byte const ( // 手动控制 manual M9zCtrl = 0x01 // 日期时间 deviceTime M9zCtrl = 0x02 // 获取设备输出状态参数 deviceOutStatus M9zCtrl = 0x04 //经纬度参数 lgnLat M9zCtrl = 0x05 // 日出日落时间偏差调节 sunRiseSet M9zCtrl = 0x06 // 模式选择 mode M9zCtrl = 0x0B // 获取设备的状态 deviceStatus M9zCtrl = 0x10 // 获取或设置设备的配置 CMD = 0x11 ,IDX = 0x00 deviceConfig M9zCtrl = 0x11 // (9)获取日出日落时间 CMD = 0x12 ,IDX = 0x00 sunRiseTime M9zCtrl = 0x12 // (10)获取回路分控器的参数CMD = 0x17 ,IDX = 0x00~0x09 subLoopParameters M9zCtrl = 0x17 //(12)保存配置参数 CMD = 0x7F ,IDX = 0x00 save M9zCtrl = 0x7F // 重启设备 CMD = 0x7E ,IDX = 0x00 restart M9zCtrl = 0x7E // (16)优化任务开始数据 CMD = 0x13 ,IDX = 0x00~0x02 startTask M9zCtrl = 0x13 // (17)优化中间任务数据 CMD = 0x14 ,IDX = 0x00~0x02 middleTask M9zCtrl = 0x14 // (18)优化任务结束数据 CMD = 0x15 ,IDX = 0x00~0x02 stopTask M9zCtrl = 0x15 // 蓝牙配置协议 bluetooth M9zCtrl = 0x16 eraseSector M9zCtrl = 0x0D // 擦除扇区 firmwareData M9zCtrl = 0x0E // 下发固件数据 lockFirmware M9zCtrl = 0x0F // 固件加锁 versionCmd M9zCtrl = 0x0E // (20) 实际通断情况查询 CMD = 0x19 relayStatus M9zCtrl = 0x19 ) type IReadError interface { Error() string } type ReadError struct { msg string } func (e *ReadError) Error() string { return e.msg } func NewReadError(msg string) *ReadError { return &ReadError{ msg: msg, } } func GetRestartCmd() []byte { wIdx := byte(0x00) writeCmd := WriteCommand{ Instruction: byte(restart), Index: wIdx, Data: nil, } return BuildWriteCommand(writeCmd) }