You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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