private void SetConfigRequest(ConfigType type, object value)
        {
            var builder = new UsbPacket.Builder();

            builder.Cmd(Cmd.SETCONFIG)
            .PacketNumber(++packetNumber)
            .Type(PacketType.Request)
            .Put((byte)0x01)
            .Put((byte)type);

            switch (type)
            {
            case ConfigType.DateTime:
                builder.PutLong((long)value);
                break;

            case ConfigType.AutoPowerOffTime:
                builder.PutShort((short)value);
                break;

            case ConfigType.AutoPowerOn:
            case ConfigType.PenCapOff:
            case ConfigType.Beep:
            case ConfigType.SaveOfflineData:
            case ConfigType.DownSampling:
                builder.Put((byte)((bool)value ? 0x01 : 0x00));
                break;
            }

            byte[] result = builder.Build().ToArray();

            _serialPort?.Write(result, 0, result.Length);
        }