public override string ToString() { StringBuilder builder = new StringBuilder(); switch (Error) { case Type.PAYLOAD_LENGTH_TOO_LONG: builder.Append("Build of a packet failed: the payload length is bigger than the authorized packet length."); break; case Type.PACKET_IS_ALREADY_AN_ACKNOWLEDGEMENT: builder.Append("Build of a packet failed: the packet is already an acknowledgement packet: not possible to create an acknowledgement packet from it."); break; case Type.PACKET_NOT_A_NOTIFICATION: builder.Append("Packet is not a COMMAND NOTIFICATION"); if (Command >= 0) { builder.Append(", received command: "); builder.Append(GaiaUtils.GetCommandToString(Command)); } break; case Type.PACKET_PAYLOAD_INVALID_PARAMETER: builder.Append("Payload is missing argument"); if (Command >= 0) { builder.Append(" for command: "); builder.Append(GaiaUtils.GetCommandToString(Command)); } break; case Type.PACKET_NOT_AN_ACKNOWLEDGMENT: builder.Append("The packet is not an acknowledgement, "); if (Command >= 0) { builder.Append(" received command: "); builder.Append(GaiaUtils.GetCommandToString(Command)); } break; default: builder.Append("Gaia Exception occurred."); break; } return(builder.ToString()); }
private void ReceiveGaiaPacket(byte[] data) { GaiaPacket packet = new GaiaPacketBLE(data); if (packet.IsAcknowledgement()) { CheckDeviceFeatures(); int command = packet.GetCommand(); switch (command) { case GAIA.COMMAND_GET_API_VERSION: ReceivePacketGetAPIVersionACK(packet); break; case GAIA.COMMAND_GET_LED_CONTROL: ReceivePacketGetLedControlACK(packet); break; case GAIA.COMMAND_AV_REMOTE_CONTROL: ReceivePacketGetRemoteControlACK(packet); break; case GAIA.COMMAND_GET_3D_ENHANCEMENT_CONTROL: case GAIA.COMMAND_SET_3D_ENHANCEMENT_CONTROL: ReceivePacketGetUserEqualizerControlACK(EqualizerControls.ENHANCEMENT_3D, packet); break; case GAIA.COMMAND_GET_BASS_BOOST_CONTROL: case GAIA.COMMAND_SET_BASS_BOOST_CONTROL: ReceivePacketGetUserEqualizerControlACK(EqualizerControls.BASS_BOOST, packet); break; case GAIA.COMMAND_GET_USER_EQ_CONTROL: case GAIA.COMMAND_SET_USER_EQ_CONTROL: ReceivePacketGetUserEqualizerControlACK(EqualizerControls.USER, packet); break; case GAIA.COMMAND_GET_EQ_CONTROL: case GAIA.COMMAND_SET_EQ_CONTROL: ReceivePacketGetEqualizerControlACK(packet); break; } } else { string value = "Packet has not been managed by application, manager sends NOT_SUPPORTED acknowledgement," + " bytes: \n\t\t" + GaiaUtils.GetCommandToString(packet.GetCommandId()); RefreshToast(value); } }