Java Код MAVLink parser.mavlink_parse_char () DatagramSocket. Где может быть ошибка или насколько она совершенно правильная? MAVpacket.msgid не входит. Как сделать декодирование?
while(running){
byte[] buf = new byte[256];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
String modifiedSentence = new String(packet.getData());
InetAddress address2 = packet.getAddress();
int port = packet.getPort();
String str = new String(packet.getData(), packet.getOffset(), packet.getLength());
Parser parser = new Parser();
MAVLinkPacket MAVpacket = null;
MAVLinkMessage msg;
for (int i = 0; i < buf.length - 1; i++) {
MAVpacket = parser.mavlink_parse_char(buf[i] & 0x00ff);
Log.d(LOG_TAG, "***packet2: " + "***" );
if (MAVpacket != null) {
Log.d(LOG_TAG, "***packet3: " + "***" );
msg = MAVpacket.unpack();
switch (msg.msgid) {
case msg_gamepad_button_press_event.MAVLINK_MSG_ID_GAMEPAD_BUTTON_PRESS_EVENT:
Log.d(LOG_TAG, "***Принимаем данные: " + msg.msgid + "***" );
break;
default:
}
полученныйПакет: ноль