123456789101112131415161718192021222324252627282930313233343536373839 |
- package bx
- import (
- "bytes"
- "encoding/binary"
- )
- type CmdLock struct {
- baseBxCmd
- StoreMode byte
- LockFlag byte
- ProgramFileName string
- }
- // NewCmdLock 锁定状态:0x00——解锁状态,0x01——锁定状态
- func NewCmdLock(flag byte, name string) CmdLock {
- return CmdLock{
- baseBxCmd: newBaseCmd(CMD_LOCK_UNLOCK.group, CMD_LOCK_UNLOCK.code),
- LockFlag: flag,
- ProgramFileName: name,
- }
- }
- // SetStoreMode 锁定状态保存方式:0x00——掉电不保存,0x01——掉电保存
- func (cmd *CmdLock) SetStoreMode(storeMode byte) {
- cmd.StoreMode = storeMode
- }
- func (cmd *CmdLock) Build() []byte {
- w := bytes.NewBuffer(make([]byte, 0, 32))
- binary.Write(w, binary.LittleEndian, cmd.Group())
- binary.Write(w, binary.LittleEndian, cmd.Cmd())
- binary.Write(w, binary.LittleEndian, byte(0x01))
- binary.Write(w, binary.LittleEndian, []byte{0x00, 0x00})
- binary.Write(w, binary.LittleEndian, cmd.StoreMode)
- binary.Write(w, binary.LittleEndian, cmd.LockFlag)
- binary.Write(w, binary.BigEndian, []byte(cmd.ProgramFileName))
- return w.Bytes()
- }
|