SetHardWareParam.cs 1.2 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Mushiny.Model
{
    /// <summary>
    /// 硬件数据配置包:仅供AGV硬件参数配置使用,单次发送
    /// </summary>
    internal class SetHardWareParam:PkgData
    {
        public SetHardWareParam() : base() 
        {
            FrameHead = 0xbb;
            CmdWord = 0xf1;
        }
        /// <summary>
        /// 读写类型
        /// 读为1,写为0
        /// </summary>
        public byte RWType { get; set; }
        /// <summary>
        /// 参数
        /// </summary>
        public float Param { get; set; }
        /// <summary>
        /// 参数索引
        /// </summary>
        public ushort ParamIndex {  get; set; }
        public override byte[] ToBytes()
        {
            List<byte> bytes = new List<byte>(base.ToBytes())
            {
                RWType
            };
            bytes.AddRange(Common.ConvertToBytes(Param));
            bytes.AddRange(Common.ConvertToBytes(ParamIndex));
            calCrc(bytes);
            bytes.Add(CRC16Low);
            bytes.Add(CRC16Upper);
            return bytes.ToArray();
        }

    }
}