| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package zigbee
- import (
- "github.com/valyala/bytebufferpool"
- )
- var (
- CmdReadDldy uint8 = 0x01
- CmdReadBrightness uint8 = 0x02
- CmdSetAuto uint8 = 0x08
- CmdSetBrightness uint8 = 0x12
- CmdReadGroup uint8 = 0x05
- CmdSetGroup uint8 = 0x15
- CmdSetEnabled uint8 = 0x16
- CmdSetCorrectiontime uint8 = 0x23
- CmdSetOnofftime uint8 = 0x26
- CmdReadOnofftime uint8 = 0x27
- CmdSetOnofftime2 uint8 = 0x28
- CmdReadOnofftime2 uint8 = 0x29
- CmdReadTime uint8 = 0x30
- CmdSetBroadcastCorrectiontime uint8 = 0x70
- CmdReadOnofftime12 uint8 = 0x2F
- CmdSetBroadcastOn uint8 = 0x84
- CmdSetBroadcastOff uint8 = 0x85
- CmdSetBroadcastAuto uint8 = 0x86
- )
- // PackGeneralFuncCommand /////////////////////////////////////////////////////////////////////////////////////////////
- //公共方法
- ///////////////////////////////////////////////////////////////////////////////////////////////
- type PackGeneralFuncCommand struct {
- Cmd uint8
- Seq uint8
- PoleID uint32
- Data []byte
- }
- func (o *PackGeneralFuncCommand) SetData(PoleID uint32, Cmd, Seq uint8, Data []byte) {
- o.Cmd = Cmd
- o.PoleID = PoleID
- o.Data = Data
- o.Seq = Seq
- }
- func (o *PackGeneralFuncCommand) EnCode() (*bytebufferpool.ByteBuffer, error) {
- var psd PackSendData
- var gf GeneralFunc
- psd.Body1.Data.SetDody(&gf)
- psd.Body1.Data.SetData(o.PoleID, o.Seq)
- psd.Body1.Data.Body2.SetData(0, 0, uint16(o.Cmd), o.Data)
- return psd.EnCode()
- }
- func (o *PackGeneralFuncCommand) DeCode(data []byte) error {
- var psd PackSendData
- var gf GeneralFunc
- psd.Body1.Data.SetDody(&gf)
- err := psd.DeCode(data)
- if err == nil {
- o.Cmd = gf.Cmd
- o.Seq = psd.Body1.Data.Seq
- o.PoleID = psd.Body1.Data.PoleID
- o.Data = make([]byte, len(gf.Data))
- copy(o.Data, gf.Data)
- }
- return err
- }
- type PackUpgradeFuncCommand struct {
- Cmd uint8
- Seq uint8
- PoleID uint32
- Data []byte
- }
- func (o *PackUpgradeFuncCommand) SetData(PoleID uint32, Cmd, Seq uint8, Data []byte) {
- o.Cmd = Cmd
- o.PoleID = PoleID
- o.Data = Data
- o.Seq = Seq
- }
- func (o *PackUpgradeFuncCommand) EnCode() (*bytebufferpool.ByteBuffer, error) {
- var psd PackSendData
- var up UpgradeFunc
- psd.Body1.Data.SetDody(&up)
- psd.Body1.Data.SetData(o.PoleID, o.Seq)
- psd.Body1.Data.Body2.SetData(0, 0, uint16(o.Cmd), o.Data)
- return psd.EnCode()
- }
- func (o *PackUpgradeFuncCommand) DeCode(data []byte) error {
- var psd PackSendData
- var uf UpgradeFunc
- psd.Body1.Data.SetDody(&uf)
- err := psd.DeCode(data)
- if err == nil {
- o.Cmd = uf.Cmd
- o.Seq = psd.Body1.Data.Seq
- o.PoleID = psd.Body1.Data.PoleID
- o.Data = make([]byte, len(uf.Data))
- copy(o.Data, uf.Data)
- }
- return err
- }
|