MAVLink食用说明——arduino下位机
void loop() { // Check reception buffer decode_messages(); } void decode_messages() { static mavlink_message_t message; static mavlink_status_t status; static mavlink_payload_t msgpayload; // Read all data available in serial port and parse the mavlink message while(Serial.available() > 0) { for(int i=0; i<16; i++){ strip.setPixelColor(i, strip.Color(28, 28, 28)); } strip.show(); uint8_t serial_byte = Serial.read(); if(mavlink_parse_char(MAVLINK_COMM_0, serial_byte, &message, &status)) { //Handle message switch(message.msgid) { //Blink when a HEARTBEAT is received case MAVLINK_MSG_ID_HEARTBEAT: while(Serial.available() > 0) { for(int i=0; i<16; i++){ strip.setPixelColor(i, strip.Color(28, 128, 28)); } strip.show(); } break; // Add new messages here case MAVLINK_MSG_ID_PayLoad: mavlink_msg_payload_decode(&message, &msgpayload); // if(Payloadmessage == "aaaa"){ if(strcmp(msgpayload.s, "aaa") == 0){ for(int i=0; i<16; i++){ strip.setPixelColor(i, strip.Color(200, 0, 0)); } strip.show(); } break; default: break; } } } }
如何decode msg
浙公网安备 33010602011771号