Java Код MAVLink parser.mavlink_parse_char () DatagramSocket - PullRequest
0 голосов
/ 23 марта 2020

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:

                        }

enter image description here полученныйПакет: ноль

...