|
|
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)
|
|
|
|
|
|
}
|