diff --git a/ardupilotmega/ardupilotmega.h b/ardupilotmega/ardupilotmega.h index 7f43650..5958bf7 100644 --- a/ardupilotmega/ardupilotmega.h +++ b/ardupilotmega/ardupilotmega.h @@ -24,7 +24,7 @@ extern "C" { #endif #ifndef MAVLINK_MESSAGE_CRCS -#define MAVLINK_MESSAGE_CRCS {{0, 50, 9, 9, 0, 0, 0}, {1, 124, 31, 31, 0, 0, 0}, {2, 16, 8, 8, 0, 0, 0}, {4, 177, 11, 11, 3, 8, 10}, {5, 162, 29, 29, 1, 0, 0}, {6, 104, 3, 3, 0, 0, 0}, {7, 119, 32, 32, 0, 0, 0}, {8, 79, 32, 32, 0, 0, 0}, {11, 139, 7, 7, 1, 4, 0}, {19, 164, 25, 25, 3, 4, 6}, {20, 196, 21, 21, 3, 0, 4}, {21, 60, 3, 3, 3, 0, 2}, {22, 220, 25, 25, 0, 0, 0}, {23, 32, 24, 24, 3, 4, 6}, {24, 135, 26, 48, 0, 0, 0}, {25, 23, 101, 101, 0, 0, 0}, {26, 170, 22, 24, 0, 0, 0}, {27, 202, 22, 25, 0, 0, 0}, {28, 162, 12, 12, 0, 0, 0}, {29, 115, 14, 16, 0, 0, 0}, {30, 39, 28, 28, 0, 0, 0}, {31, 246, 32, 48, 0, 0, 0}, {32, 185, 28, 28, 0, 0, 0}, {33, 104, 28, 28, 0, 0, 0}, {34, 237, 22, 22, 0, 0, 0}, {35, 244, 22, 38, 0, 0, 0}, {36, 222, 21, 37, 0, 0, 0}, {37, 83, 7, 8, 3, 0, 6}, {38, 249, 7, 8, 3, 0, 6}, {39, 100, 38, 39, 3, 28, 34}, {40, 127, 5, 6, 3, 0, 4}, {41, 55, 5, 5, 3, 0, 4}, {42, 28, 2, 2, 0, 0, 0}, {43, 250, 3, 4, 3, 0, 2}, {44, 18, 5, 6, 3, 0, 4}, {45, 226, 3, 4, 3, 0, 2}, {46, 11, 2, 2, 0, 0, 0}, {47, 108, 4, 5, 3, 0, 2}, {48, 41, 14, 18, 1, 12, 0}, {49, 39, 12, 16, 0, 0, 0}, {50, 219, 38, 38, 3, 16, 20}, {51, 38, 5, 6, 3, 0, 4}, {52, 132, 7, 7, 0, 0, 0}, {54, 249, 28, 28, 3, 24, 26}, {55, 3, 25, 25, 0, 0, 0}, {61, 254, 68, 68, 0, 0, 0}, {62, 183, 26, 26, 0, 0, 0}, {63, 238, 177, 177, 0, 0, 0}, {64, 79, 221, 221, 0, 0, 0}, {65, 118, 42, 42, 0, 0, 0}, {66, 122, 7, 7, 3, 0, 4}, {67, 21, 4, 4, 0, 0, 0}, {69, 243, 11, 11, 1, 10, 0}, {70, 199, 19, 39, 3, 0, 18}, {73, 218, 38, 39, 3, 28, 34}, {74, 20, 20, 20, 0, 0, 0}, {75, 19, 36, 36, 3, 28, 32}, {76, 206, 34, 34, 3, 28, 32}, {77, 143, 3, 11, 3, 8, 10}, {80, 21, 5, 5, 3, 0, 4}, {81, 106, 22, 22, 0, 0, 0}, {82, 143, 40, 40, 3, 36, 38}, {83, 22, 37, 37, 0, 0, 0}, {84, 145, 54, 54, 3, 48, 52}, {85, 140, 51, 51, 0, 0, 0}, {86, 175, 54, 54, 3, 48, 52}, {87, 150, 51, 51, 0, 0, 0}, {89, 231, 28, 28, 0, 0, 0}, {90, 99, 52, 52, 0, 0, 0}, {91, 187, 38, 38, 0, 0, 0}, {92, 160, 29, 29, 0, 0, 0}, {93, 161, 73, 73, 0, 0, 0}, {100, 123, 22, 30, 0, 0, 0}, {101, 246, 28, 113, 0, 0, 0}, {102, 14, 28, 113, 0, 0, 0}, {103, 164, 16, 53, 0, 0, 0}, {104, 168, 28, 112, 0, 0, 0}, {105, 88, 58, 59, 0, 0, 0}, {106, 76, 40, 40, 0, 0, 0}, {107, 105, 60, 61, 0, 0, 0}, {108, 32, 84, 84, 0, 0, 0}, {109, 185, 9, 9, 0, 0, 0}, {110, 134, 255, 255, 3, 0, 3}, {111, 215, 8, 8, 0, 0, 0}, {112, 81, 8, 8, 0, 0, 0}, {113, 84, 32, 35, 0, 0, 0}, {114, 43, 40, 40, 0, 0, 0}, {115, 188, 60, 60, 0, 0, 0}, {116, 76, 22, 24, 0, 0, 0}, {117, 37, 7, 7, 3, 0, 6}, {118, 56, 14, 14, 0, 0, 0}, {119, 92, 13, 13, 3, 8, 12}, {120, 134, 97, 97, 0, 0, 0}, {121, 51, 3, 3, 3, 0, 2}, {122, 1, 3, 3, 3, 0, 2}, {123, 232, 114, 114, 3, 0, 2}, {124, 7, 31, 33, 0, 0, 0}, {125, 203, 6, 6, 0, 0, 0}, {126, 220, 79, 79, 0, 0, 0}, {127, 25, 35, 35, 0, 0, 0}, {128, 226, 35, 35, 0, 0, 0}, {129, 46, 22, 24, 0, 0, 0}, {130, 29, 13, 13, 0, 0, 0}, {131, 223, 255, 255, 0, 0, 0}, {132, 85, 14, 39, 0, 0, 0}, {133, 66, 14, 14, 0, 0, 0}, {134, 229, 43, 43, 0, 0, 0}, {135, 203, 8, 8, 0, 0, 0}, {136, 1, 22, 22, 0, 0, 0}, {137, 195, 14, 16, 0, 0, 0}, {138, 11, 32, 116, 0, 0, 0}, {139, 176, 40, 40, 3, 36, 39}, {140, 74, 37, 37, 0, 0, 0}, {141, 115, 28, 28, 0, 0, 0}, {142, 72, 243, 243, 0, 0, 0}, {143, 131, 14, 16, 0, 0, 0}, {144, 26, 85, 85, 0, 0, 0}, {146, 168, 96, 96, 0, 0, 0}, {147, 154, 36, 49, 0, 0, 0}, {148, 77, 52, 70, 0, 0, 0}, {149, 145, 26, 56, 0, 0, 0}, {150, 134, 42, 42, 0, 0, 0}, {151, 120, 9, 9, 3, 0, 8}, {152, 208, 4, 8, 0, 0, 0}, {153, 188, 12, 12, 0, 0, 0}, {154, 122, 16, 16, 3, 4, 8}, {155, 206, 14, 14, 3, 4, 6}, {156, 167, 7, 7, 3, 0, 2}, {157, 137, 16, 16, 3, 12, 14}, {158, 203, 15, 15, 3, 12, 14}, {160, 192, 13, 13, 3, 8, 10}, {161, 232, 4, 4, 3, 0, 2}, {162, 189, 8, 9, 0, 0, 0}, {163, 127, 28, 28, 0, 0, 0}, {164, 154, 44, 44, 0, 0, 0}, {165, 21, 3, 3, 0, 0, 0}, {166, 21, 9, 9, 0, 0, 0}, {167, 144, 22, 22, 0, 0, 0}, {168, 1, 12, 12, 0, 0, 0}, {169, 234, 18, 18, 0, 0, 0}, {170, 73, 34, 34, 0, 0, 0}, {171, 181, 66, 66, 0, 0, 0}, {172, 22, 98, 98, 0, 0, 0}, {173, 83, 8, 8, 0, 0, 0}, {174, 167, 48, 48, 0, 0, 0}, {175, 248, 20, 20, 3, 8, 16}, {176, 47, 4, 4, 3, 0, 2}, {177, 240, 20, 20, 0, 0, 0}, {178, 47, 24, 24, 0, 0, 0}, {179, 129, 26, 26, 1, 20, 0}, {180, 76, 42, 44, 1, 36, 0}, {181, 174, 4, 4, 0, 0, 0}, {182, 229, 40, 40, 0, 0, 0}, {183, 202, 3, 3, 3, 0, 2}, {184, 60, 207, 207, 3, 4, 6}, {185, 140, 8, 8, 3, 4, 6}, {186, 238, 30, 30, 3, 0, 2}, {191, 92, 27, 27, 0, 0, 0}, {192, 36, 44, 54, 0, 0, 0}, {193, 71, 22, 26, 0, 0, 0}, {194, 98, 25, 25, 0, 0, 0}, {195, 120, 37, 37, 0, 0, 0}, {200, 13, 43, 43, 3, 40, 42}, {201, 8, 15, 15, 3, 12, 14}, {214, 117, 9, 9, 3, 0, 8}, {215, 101, 3, 3, 0, 0, 0}, {216, 124, 4, 4, 3, 0, 2}, {217, 202, 6, 6, 0, 0, 0}, {218, 106, 8, 8, 3, 0, 2}, {219, 162, 2, 2, 0, 0, 0}, {225, 142, 53, 53, 0, 0, 0}, {226, 207, 8, 20, 0, 0, 0}, {230, 237, 38, 38, 0, 0, 0}, {231, 189, 36, 36, 0, 0, 0}, {232, 69, 59, 61, 0, 0, 0}, {233, 35, 182, 182, 0, 0, 0}, {234, 150, 40, 40, 0, 0, 0}, {235, 179, 42, 42, 0, 0, 0}, {241, 201, 28, 28, 0, 0, 0}, {242, 104, 52, 56, 0, 0, 0}, {243, 5, 54, 58, 1, 52, 0}, {244, 95, 6, 6, 0, 0, 0}, {245, 130, 2, 2, 0, 0, 0}, {246, 184, 38, 38, 0, 0, 0}, {247, 81, 19, 19, 0, 0, 0}, {248, 102, 254, 254, 3, 0, 5}, {249, 204, 36, 36, 0, 0, 0}, {250, 94, 26, 26, 0, 0, 0}, {251, 170, 18, 18, 0, 0, 0}, {252, 44, 18, 18, 0, 0, 0}, {253, 83, 51, 54, 0, 0, 0}, {254, 46, 9, 9, 0, 0, 0}, {256, 163, 39, 39, 3, 4, 6}, {257, 131, 9, 9, 0, 0, 0}, {258, 53, 33, 233, 3, 0, 2}, {259, 92, 235, 235, 0, 0, 0}, {260, 146, 5, 13, 0, 0, 0}, {261, 179, 27, 27, 0, 0, 0}, {262, 12, 18, 22, 0, 0, 0}, {263, 2, 251, 251, 0, 0, 0}, {264, 103, 16, 16, 0, 0, 0}, {265, 26, 16, 20, 0, 0, 0}, {266, 72, 255, 255, 3, 0, 4}, {267, 113, 255, 255, 3, 0, 4}, {268, 176, 5, 5, 3, 0, 4}, {269, 109, 213, 213, 0, 0, 0}, {270, 59, 19, 19, 0, 0, 0}, {271, 22, 52, 52, 0, 0, 0}, {275, 126, 31, 31, 0, 0, 0}, {276, 18, 49, 49, 0, 0, 0}, {280, 166, 33, 33, 0, 0, 0}, {281, 0, 9, 9, 0, 0, 0}, {282, 36, 36, 36, 3, 32, 34}, {283, 247, 98, 98, 0, 0, 0}, {284, 101, 33, 33, 3, 28, 32}, {285, 28, 41, 41, 3, 36, 40}, {286, 192, 50, 50, 3, 44, 48}, {287, 138, 24, 24, 3, 20, 22}, {290, 172, 38, 38, 0, 0, 0}, {291, 86, 53, 53, 0, 0, 0}, {299, 19, 96, 98, 0, 0, 0}, {300, 217, 22, 22, 0, 0, 0}, {301, 243, 58, 58, 0, 0, 0}, {310, 69, 13, 13, 0, 0, 0}, {311, 12, 112, 112, 0, 0, 0}, {320, 209, 21, 22, 3, 0, 4}, {321, 211, 3, 4, 3, 0, 2}, {322, 243, 149, 149, 0, 0, 0}, {323, 106, 148, 148, 3, 0, 2}, {324, 132, 146, 146, 0, 0, 0}, {325, 132, 149, 149, 0, 0, 0}, {326, 249, 148, 148, 3, 0, 2}, {327, 129, 146, 146, 0, 0, 0}, {330, 78, 154, 163, 0, 0, 0}, {331, 50, 226, 228, 0, 0, 0}, {332, 199, 235, 235, 0, 0, 0}, {333, 15, 105, 105, 0, 0, 0}, {334, 72, 10, 10, 0, 0, 0}, {335, 246, 16, 16, 0, 0, 0}, {336, 245, 84, 84, 0, 0, 0}, {339, 199, 5, 5, 0, 0, 0}, {340, 201, 66, 66, 0, 0, 0}, {350, 225, 16, 248, 0, 0, 0}, {360, 42, 21, 21, 0, 0, 0}, {370, 98, 73, 73, 0, 0, 0}, {371, 161, 50, 50, 0, 0, 0}, {373, 179, 38, 38, 0, 0, 0}, {375, 248, 136, 136, 0, 0, 0}, {380, 232, 20, 20, 0, 0, 0}, {385, 24, 134, 134, 3, 0, 4}, {390, 159, 234, 234, 0, 0, 0}, {395, 163, 156, 156, 0, 0, 0}, {400, 182, 255, 255, 3, 4, 6}, {401, 108, 7, 7, 3, 4, 6}, {9000, 96, 133, 133, 0, 0, 0}, {9005, 52, 30, 30, 0, 0, 0}, {10001, 209, 20, 20, 0, 0, 0}, {10002, 186, 41, 41, 0, 0, 0}, {10003, 4, 1, 1, 0, 0, 0}, {11000, 193, 52, 52, 3, 4, 6}, {11001, 15, 135, 135, 0, 0, 0}, {11002, 16, 180, 180, 3, 4, 6}, {11003, 64, 5, 5, 0, 0, 0}, {11010, 46, 49, 49, 0, 0, 0}, {11011, 187, 36, 36, 0, 0, 0}, {11020, 26, 12, 12, 0, 0, 0}, {11030, 144, 44, 44, 0, 0, 0}, {11031, 133, 44, 44, 0, 0, 0}, {11032, 85, 44, 44, 0, 0, 0}, {12900, 142, 45, 45, 3, 0, 2}, {12901, 67, 60, 60, 3, 24, 32}, {12902, 227, 54, 54, 3, 4, 6}, {12903, 184, 47, 47, 3, 0, 2}, {12904, 148, 47, 47, 3, 16, 22}, {12905, 164, 44, 44, 3, 0, 2}, {12915, 13, 255, 255, 3, 0, 2}, {20006, 215, 20, 20, 0, 0, 0}, {20007, 204, 6, 6, 0, 0, 0}, {20008, 241, 201, 201, 0, 0, 0}, {20101, 87, 25, 25, 0, 0, 0}, {20102, 128, 10, 10, 0, 0, 0}, {20103, 187, 85, 85, 0, 0, 0}, {20104, 212, 85, 85, 0, 0, 0}, {20105, 92, 13, 13, 0, 0, 0}, {20106, 92, 39, 39, 0, 0, 0}, {20107, 172, 112, 112, 0, 0, 0}, {20108, 18, 24, 24, 0, 0, 0}, {20109, 112, 64, 64, 0, 0, 0}, {20200, 172, 60, 60, 0, 0, 0}, {20201, 234, 24, 24, 0, 0, 0}, {20300, 124, 39, 39, 0, 0, 0}, {42000, 227, 1, 1, 0, 0, 0}, {42001, 239, 46, 46, 0, 0, 0}} +#define MAVLINK_MESSAGE_CRCS {{0, 50, 9, 9, 0, 0, 0}, {1, 124, 31, 31, 0, 0, 0}, {2, 16, 8, 8, 0, 0, 0}, {4, 177, 11, 11, 3, 8, 10}, {5, 162, 29, 29, 1, 0, 0}, {6, 104, 3, 3, 0, 0, 0}, {7, 119, 32, 32, 0, 0, 0}, {8, 79, 32, 32, 0, 0, 0}, {11, 139, 7, 7, 1, 4, 0}, {19, 164, 25, 25, 3, 4, 6}, {20, 196, 21, 21, 3, 0, 4}, {21, 60, 3, 3, 3, 0, 2}, {22, 220, 25, 25, 0, 0, 0}, {23, 32, 24, 24, 3, 4, 6}, {24, 135, 26, 48, 0, 0, 0}, {25, 23, 101, 101, 0, 0, 0}, {26, 170, 22, 24, 0, 0, 0}, {27, 202, 22, 25, 0, 0, 0}, {28, 162, 12, 12, 0, 0, 0}, {29, 115, 14, 16, 0, 0, 0}, {30, 39, 28, 28, 0, 0, 0}, {31, 246, 32, 48, 0, 0, 0}, {32, 185, 28, 28, 0, 0, 0}, {33, 104, 28, 28, 0, 0, 0}, {34, 237, 22, 22, 0, 0, 0}, {35, 244, 22, 38, 0, 0, 0}, {36, 222, 21, 37, 0, 0, 0}, {37, 83, 7, 8, 3, 0, 6}, {38, 249, 7, 8, 3, 0, 6}, {39, 100, 38, 39, 3, 28, 34}, {40, 127, 5, 6, 3, 0, 4}, {41, 55, 5, 5, 3, 0, 4}, {42, 28, 2, 2, 0, 0, 0}, {43, 250, 3, 4, 3, 0, 2}, {44, 18, 5, 6, 3, 0, 4}, {45, 226, 3, 4, 3, 0, 2}, {46, 11, 2, 2, 0, 0, 0}, {47, 108, 4, 5, 3, 0, 2}, {48, 41, 14, 18, 1, 12, 0}, {49, 39, 12, 16, 0, 0, 0}, {50, 219, 38, 38, 3, 16, 20}, {51, 38, 5, 6, 3, 0, 4}, {52, 132, 7, 7, 0, 0, 0}, {54, 249, 28, 28, 3, 24, 26}, {55, 3, 25, 25, 0, 0, 0}, {61, 254, 68, 68, 0, 0, 0}, {62, 183, 26, 26, 0, 0, 0}, {63, 238, 177, 177, 0, 0, 0}, {64, 79, 221, 221, 0, 0, 0}, {65, 118, 42, 42, 0, 0, 0}, {66, 122, 7, 7, 3, 0, 4}, {67, 21, 4, 4, 0, 0, 0}, {69, 243, 11, 11, 1, 10, 0}, {70, 199, 19, 39, 3, 0, 18}, {73, 218, 38, 39, 3, 28, 34}, {74, 20, 20, 20, 0, 0, 0}, {75, 19, 36, 36, 3, 28, 32}, {76, 206, 34, 34, 3, 28, 32}, {77, 143, 3, 11, 3, 8, 10}, {80, 21, 5, 5, 3, 0, 4}, {81, 106, 22, 22, 0, 0, 0}, {82, 143, 40, 40, 3, 36, 38}, {83, 22, 37, 37, 0, 0, 0}, {84, 145, 54, 54, 3, 48, 52}, {85, 140, 51, 51, 0, 0, 0}, {86, 175, 54, 54, 3, 48, 52}, {87, 150, 51, 51, 0, 0, 0}, {89, 231, 28, 28, 0, 0, 0}, {90, 99, 52, 52, 0, 0, 0}, {91, 187, 38, 38, 0, 0, 0}, {92, 160, 29, 29, 0, 0, 0}, {93, 161, 73, 73, 0, 0, 0}, {100, 123, 22, 30, 0, 0, 0}, {101, 246, 28, 113, 0, 0, 0}, {102, 14, 28, 113, 0, 0, 0}, {103, 164, 16, 53, 0, 0, 0}, {104, 168, 28, 112, 0, 0, 0}, {105, 88, 58, 59, 0, 0, 0}, {106, 76, 40, 40, 0, 0, 0}, {107, 105, 60, 61, 0, 0, 0}, {108, 32, 84, 84, 0, 0, 0}, {109, 185, 9, 9, 0, 0, 0}, {110, 134, 255, 255, 3, 0, 3}, {111, 215, 8, 8, 0, 0, 0}, {112, 81, 8, 8, 0, 0, 0}, {113, 84, 32, 35, 0, 0, 0}, {114, 43, 40, 40, 0, 0, 0}, {115, 188, 60, 60, 0, 0, 0}, {116, 76, 22, 24, 0, 0, 0}, {117, 37, 7, 7, 3, 0, 6}, {118, 56, 14, 14, 0, 0, 0}, {119, 92, 13, 13, 3, 8, 12}, {120, 134, 97, 97, 0, 0, 0}, {121, 51, 3, 3, 3, 0, 2}, {122, 1, 3, 3, 3, 0, 2}, {123, 232, 114, 114, 3, 0, 2}, {124, 7, 31, 33, 0, 0, 0}, {125, 203, 6, 6, 0, 0, 0}, {126, 220, 79, 79, 0, 0, 0}, {127, 25, 35, 35, 0, 0, 0}, {128, 226, 35, 35, 0, 0, 0}, {129, 46, 22, 24, 0, 0, 0}, {130, 29, 13, 13, 0, 0, 0}, {131, 223, 255, 255, 0, 0, 0}, {132, 85, 14, 39, 0, 0, 0}, {133, 66, 14, 14, 0, 0, 0}, {134, 229, 43, 43, 0, 0, 0}, {135, 203, 8, 8, 0, 0, 0}, {136, 1, 22, 22, 0, 0, 0}, {137, 195, 14, 16, 0, 0, 0}, {138, 11, 32, 116, 0, 0, 0}, {139, 176, 40, 40, 3, 36, 39}, {140, 74, 37, 37, 0, 0, 0}, {141, 115, 28, 28, 0, 0, 0}, {142, 72, 243, 243, 0, 0, 0}, {143, 131, 14, 16, 0, 0, 0}, {144, 26, 85, 85, 0, 0, 0}, {146, 168, 96, 96, 0, 0, 0}, {147, 154, 36, 49, 0, 0, 0}, {148, 77, 52, 70, 0, 0, 0}, {149, 145, 26, 56, 0, 0, 0}, {150, 134, 42, 42, 0, 0, 0}, {151, 120, 9, 9, 3, 0, 8}, {152, 208, 4, 8, 0, 0, 0}, {153, 188, 12, 12, 0, 0, 0}, {154, 122, 16, 16, 3, 4, 8}, {155, 206, 14, 14, 3, 4, 6}, {156, 167, 7, 7, 3, 0, 2}, {157, 137, 16, 16, 3, 12, 14}, {158, 203, 15, 15, 3, 12, 14}, {160, 192, 13, 13, 3, 8, 10}, {161, 232, 4, 4, 3, 0, 2}, {162, 189, 8, 9, 0, 0, 0}, {163, 127, 28, 28, 0, 0, 0}, {164, 154, 44, 44, 0, 0, 0}, {165, 21, 3, 3, 0, 0, 0}, {166, 21, 9, 9, 0, 0, 0}, {167, 144, 22, 22, 0, 0, 0}, {168, 1, 12, 12, 0, 0, 0}, {169, 234, 18, 18, 0, 0, 0}, {170, 73, 34, 34, 0, 0, 0}, {171, 181, 66, 66, 0, 0, 0}, {172, 22, 98, 98, 0, 0, 0}, {173, 83, 8, 8, 0, 0, 0}, {174, 167, 48, 48, 0, 0, 0}, {175, 248, 20, 20, 3, 8, 16}, {176, 47, 4, 4, 3, 0, 2}, {177, 240, 20, 20, 0, 0, 0}, {178, 47, 24, 24, 0, 0, 0}, {179, 129, 26, 26, 1, 20, 0}, {180, 76, 42, 44, 1, 36, 0}, {181, 174, 4, 4, 0, 0, 0}, {182, 229, 40, 40, 0, 0, 0}, {183, 202, 3, 3, 3, 0, 2}, {184, 60, 207, 207, 3, 4, 6}, {185, 140, 8, 8, 3, 4, 6}, {186, 238, 30, 30, 3, 0, 2}, {191, 92, 27, 27, 0, 0, 0}, {192, 36, 44, 54, 0, 0, 0}, {193, 71, 22, 26, 0, 0, 0}, {194, 98, 25, 25, 0, 0, 0}, {195, 120, 37, 37, 0, 0, 0}, {200, 13, 43, 43, 3, 40, 42}, {201, 8, 15, 15, 3, 12, 14}, {214, 117, 9, 9, 3, 0, 8}, {215, 101, 3, 3, 0, 0, 0}, {216, 124, 4, 4, 3, 0, 2}, {217, 202, 6, 6, 0, 0, 0}, {218, 106, 8, 8, 3, 0, 2}, {219, 162, 2, 2, 0, 0, 0}, {225, 142, 53, 53, 0, 0, 0}, {226, 207, 8, 20, 0, 0, 0}, {230, 237, 38, 38, 0, 0, 0}, {231, 189, 36, 36, 0, 0, 0}, {232, 69, 59, 61, 0, 0, 0}, {233, 35, 182, 182, 0, 0, 0}, {234, 150, 40, 40, 0, 0, 0}, {235, 179, 42, 42, 0, 0, 0}, {241, 201, 28, 28, 0, 0, 0}, {242, 104, 52, 56, 0, 0, 0}, {243, 5, 54, 58, 1, 52, 0}, {244, 95, 6, 6, 0, 0, 0}, {245, 130, 2, 2, 0, 0, 0}, {246, 184, 38, 38, 0, 0, 0}, {247, 81, 19, 19, 0, 0, 0}, {248, 102, 254, 254, 3, 0, 5}, {249, 204, 36, 36, 0, 0, 0}, {250, 94, 26, 26, 0, 0, 0}, {251, 170, 18, 18, 0, 0, 0}, {252, 44, 18, 18, 0, 0, 0}, {253, 83, 51, 54, 0, 0, 0}, {254, 46, 9, 9, 0, 0, 0}, {256, 163, 39, 39, 3, 4, 6}, {257, 131, 9, 9, 0, 0, 0}, {258, 53, 33, 233, 3, 0, 2}, {259, 92, 235, 235, 0, 0, 0}, {260, 146, 5, 13, 0, 0, 0}, {261, 179, 27, 27, 0, 0, 0}, {262, 12, 18, 22, 0, 0, 0}, {263, 2, 251, 251, 0, 0, 0}, {264, 103, 16, 16, 0, 0, 0}, {265, 26, 16, 20, 0, 0, 0}, {266, 72, 255, 255, 3, 0, 4}, {267, 113, 255, 255, 3, 0, 4}, {268, 176, 5, 5, 3, 0, 4}, {269, 109, 213, 213, 0, 0, 0}, {270, 59, 19, 19, 0, 0, 0}, {271, 22, 52, 52, 0, 0, 0}, {275, 126, 31, 31, 0, 0, 0}, {276, 18, 49, 49, 0, 0, 0}, {280, 166, 33, 33, 0, 0, 0}, {281, 0, 9, 9, 0, 0, 0}, {282, 36, 36, 36, 3, 32, 34}, {283, 247, 98, 98, 0, 0, 0}, {284, 101, 33, 33, 3, 28, 32}, {285, 28, 41, 41, 3, 36, 40}, {286, 192, 50, 50, 3, 44, 48}, {287, 138, 24, 24, 3, 20, 22}, {290, 172, 38, 38, 0, 0, 0}, {291, 86, 53, 53, 0, 0, 0}, {299, 19, 96, 98, 0, 0, 0}, {300, 217, 22, 22, 0, 0, 0}, {301, 243, 58, 58, 0, 0, 0}, {310, 69, 13, 13, 0, 0, 0}, {311, 12, 112, 112, 0, 0, 0}, {320, 209, 21, 22, 3, 0, 4}, {321, 211, 3, 4, 3, 0, 2}, {322, 243, 149, 149, 0, 0, 0}, {323, 106, 148, 148, 3, 0, 2}, {324, 132, 146, 146, 0, 0, 0}, {325, 132, 149, 149, 0, 0, 0}, {326, 249, 148, 148, 3, 0, 2}, {327, 129, 146, 146, 0, 0, 0}, {330, 78, 154, 163, 0, 0, 0}, {331, 50, 226, 228, 0, 0, 0}, {332, 199, 235, 235, 0, 0, 0}, {333, 15, 105, 105, 0, 0, 0}, {334, 72, 10, 10, 0, 0, 0}, {335, 246, 16, 16, 0, 0, 0}, {336, 245, 84, 84, 0, 0, 0}, {339, 199, 5, 5, 0, 0, 0}, {340, 201, 66, 66, 0, 0, 0}, {350, 225, 16, 248, 0, 0, 0}, {360, 42, 21, 21, 0, 0, 0}, {370, 98, 73, 73, 0, 0, 0}, {371, 161, 50, 50, 0, 0, 0}, {373, 179, 38, 38, 0, 0, 0}, {375, 248, 136, 136, 0, 0, 0}, {380, 232, 20, 20, 0, 0, 0}, {385, 24, 134, 134, 3, 0, 4}, {390, 159, 234, 234, 0, 0, 0}, {395, 163, 156, 156, 0, 0, 0}, {400, 182, 255, 255, 3, 4, 6}, {401, 108, 7, 7, 3, 4, 6}, {9000, 96, 133, 133, 0, 0, 0}, {9005, 52, 30, 30, 0, 0, 0}, {10001, 209, 20, 20, 0, 0, 0}, {10002, 186, 41, 41, 0, 0, 0}, {10003, 4, 1, 1, 0, 0, 0}, {11000, 193, 52, 52, 3, 4, 6}, {11001, 15, 135, 135, 0, 0, 0}, {11002, 16, 180, 180, 3, 4, 6}, {11003, 64, 5, 5, 0, 0, 0}, {11010, 46, 49, 49, 0, 0, 0}, {11011, 187, 36, 36, 0, 0, 0}, {11020, 26, 12, 12, 0, 0, 0}, {11030, 144, 44, 44, 0, 0, 0}, {11031, 133, 44, 44, 0, 0, 0}, {11032, 85, 44, 44, 0, 0, 0}, {12900, 142, 45, 45, 3, 0, 2}, {12901, 67, 60, 60, 3, 24, 32}, {12902, 227, 54, 54, 3, 4, 6}, {12903, 184, 47, 47, 3, 0, 2}, {12904, 148, 47, 47, 3, 16, 22}, {12905, 164, 44, 44, 3, 0, 2}, {12915, 13, 255, 255, 3, 0, 2}, {20006, 215, 20, 20, 0, 0, 0}, {20007, 204, 6, 6, 0, 0, 0}, {20008, 241, 201, 201, 0, 0, 0}, {20101, 87, 25, 25, 0, 0, 0}, {20102, 128, 10, 10, 0, 0, 0}, {20103, 187, 85, 85, 0, 0, 0}, {20104, 212, 85, 85, 0, 0, 0}, {20105, 92, 13, 13, 0, 0, 0}, {20106, 92, 39, 39, 0, 0, 0}, {20107, 172, 112, 112, 0, 0, 0}, {20108, 18, 24, 24, 0, 0, 0}, {20109, 112, 64, 64, 0, 0, 0}, {20200, 172, 60, 60, 0, 0, 0}, {20201, 234, 24, 24, 0, 0, 0}, {20300, 124, 39, 39, 0, 0, 0}, {20301, 233, 79, 79, 0, 0, 0}, {20302, 5, 25, 25, 0, 0, 0}, {42000, 227, 1, 1, 0, 0, 0}, {42001, 239, 46, 46, 0, 0, 0}} #endif #include "../protocol.h" @@ -951,6 +951,8 @@ typedef enum TRACKER_MODE #include "./mavlink_msg_enginestatus.h" #include "./mavlink_msg_enginestate.h" #include "./mavlink_msg_turbinestate.h" +#include "./mavlink_msg_bmustate.h" +#include "./mavlink_msg_ccmstate.h" // base include #include "../common/common.h" @@ -961,8 +963,8 @@ typedef enum TRACKER_MODE #define MAVLINK_THIS_XML_IDX 0 #if MAVLINK_THIS_XML_IDX == MAVLINK_PRIMARY_XML_IDX -# define MAVLINK_MESSAGE_INFO {MAVLINK_MESSAGE_INFO_HEARTBEAT, MAVLINK_MESSAGE_INFO_SYS_STATUS, MAVLINK_MESSAGE_INFO_SYSTEM_TIME, MAVLINK_MESSAGE_INFO_PING, MAVLINK_MESSAGE_INFO_CHANGE_OPERATOR_CONTROL, MAVLINK_MESSAGE_INFO_CHANGE_OPERATOR_CONTROL_ACK, MAVLINK_MESSAGE_INFO_AUTH_KEY, MAVLINK_MESSAGE_INFO_LINK_NODE_STATUS, MAVLINK_MESSAGE_INFO_SET_MODE, MAVLINK_MESSAGE_INFO_PARAM_ACK_TRANSACTION, MAVLINK_MESSAGE_INFO_PARAM_REQUEST_READ, MAVLINK_MESSAGE_INFO_PARAM_REQUEST_LIST, MAVLINK_MESSAGE_INFO_PARAM_VALUE, MAVLINK_MESSAGE_INFO_PARAM_SET, MAVLINK_MESSAGE_INFO_GPS_RAW_INT, MAVLINK_MESSAGE_INFO_GPS_STATUS, MAVLINK_MESSAGE_INFO_SCALED_IMU, MAVLINK_MESSAGE_INFO_RAW_IMU, MAVLINK_MESSAGE_INFO_RAW_PRESSURE, MAVLINK_MESSAGE_INFO_SCALED_PRESSURE, MAVLINK_MESSAGE_INFO_ATTITUDE, MAVLINK_MESSAGE_INFO_ATTITUDE_QUATERNION, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED, MAVLINK_MESSAGE_INFO_GLOBAL_POSITION_INT, MAVLINK_MESSAGE_INFO_RC_CHANNELS_SCALED, MAVLINK_MESSAGE_INFO_RC_CHANNELS_RAW, MAVLINK_MESSAGE_INFO_SERVO_OUTPUT_RAW, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_PARTIAL_LIST, MAVLINK_MESSAGE_INFO_MISSION_WRITE_PARTIAL_LIST, MAVLINK_MESSAGE_INFO_MISSION_ITEM, MAVLINK_MESSAGE_INFO_MISSION_REQUEST, MAVLINK_MESSAGE_INFO_MISSION_SET_CURRENT, MAVLINK_MESSAGE_INFO_MISSION_CURRENT, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_LIST, MAVLINK_MESSAGE_INFO_MISSION_COUNT, MAVLINK_MESSAGE_INFO_MISSION_CLEAR_ALL, MAVLINK_MESSAGE_INFO_MISSION_ITEM_REACHED, MAVLINK_MESSAGE_INFO_MISSION_ACK, MAVLINK_MESSAGE_INFO_SET_GPS_GLOBAL_ORIGIN, MAVLINK_MESSAGE_INFO_GPS_GLOBAL_ORIGIN, MAVLINK_MESSAGE_INFO_PARAM_MAP_RC, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_INT, MAVLINK_MESSAGE_INFO_MISSION_CHANGED, MAVLINK_MESSAGE_INFO_SAFETY_SET_ALLOWED_AREA, MAVLINK_MESSAGE_INFO_SAFETY_ALLOWED_AREA, MAVLINK_MESSAGE_INFO_ATTITUDE_QUATERNION_COV, MAVLINK_MESSAGE_INFO_NAV_CONTROLLER_OUTPUT, MAVLINK_MESSAGE_INFO_GLOBAL_POSITION_INT_COV, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED_COV, MAVLINK_MESSAGE_INFO_RC_CHANNELS, MAVLINK_MESSAGE_INFO_REQUEST_DATA_STREAM, MAVLINK_MESSAGE_INFO_DATA_STREAM, MAVLINK_MESSAGE_INFO_MANUAL_CONTROL, MAVLINK_MESSAGE_INFO_RC_CHANNELS_OVERRIDE, MAVLINK_MESSAGE_INFO_MISSION_ITEM_INT, MAVLINK_MESSAGE_INFO_VFR_HUD, MAVLINK_MESSAGE_INFO_COMMAND_INT, MAVLINK_MESSAGE_INFO_COMMAND_LONG, MAVLINK_MESSAGE_INFO_COMMAND_ACK, MAVLINK_MESSAGE_INFO_COMMAND_CANCEL, MAVLINK_MESSAGE_INFO_MANUAL_SETPOINT, MAVLINK_MESSAGE_INFO_SET_ATTITUDE_TARGET, MAVLINK_MESSAGE_INFO_ATTITUDE_TARGET, MAVLINK_MESSAGE_INFO_SET_POSITION_TARGET_LOCAL_NED, MAVLINK_MESSAGE_INFO_POSITION_TARGET_LOCAL_NED, MAVLINK_MESSAGE_INFO_SET_POSITION_TARGET_GLOBAL_INT, MAVLINK_MESSAGE_INFO_POSITION_TARGET_GLOBAL_INT, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET, MAVLINK_MESSAGE_INFO_HIL_STATE, MAVLINK_MESSAGE_INFO_HIL_CONTROLS, MAVLINK_MESSAGE_INFO_HIL_RC_INPUTS_RAW, MAVLINK_MESSAGE_INFO_HIL_ACTUATOR_CONTROLS, MAVLINK_MESSAGE_INFO_OPTICAL_FLOW, MAVLINK_MESSAGE_INFO_GLOBAL_VISION_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_VISION_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_VISION_SPEED_ESTIMATE, MAVLINK_MESSAGE_INFO_VICON_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_HIGHRES_IMU, MAVLINK_MESSAGE_INFO_OPTICAL_FLOW_RAD, MAVLINK_MESSAGE_INFO_HIL_SENSOR, MAVLINK_MESSAGE_INFO_SIM_STATE, MAVLINK_MESSAGE_INFO_RADIO_STATUS, MAVLINK_MESSAGE_INFO_FILE_TRANSFER_PROTOCOL, MAVLINK_MESSAGE_INFO_TIMESYNC, MAVLINK_MESSAGE_INFO_CAMERA_TRIGGER, MAVLINK_MESSAGE_INFO_HIL_GPS, MAVLINK_MESSAGE_INFO_HIL_OPTICAL_FLOW, MAVLINK_MESSAGE_INFO_HIL_STATE_QUATERNION, MAVLINK_MESSAGE_INFO_SCALED_IMU2, MAVLINK_MESSAGE_INFO_LOG_REQUEST_LIST, MAVLINK_MESSAGE_INFO_LOG_ENTRY, MAVLINK_MESSAGE_INFO_LOG_REQUEST_DATA, MAVLINK_MESSAGE_INFO_LOG_DATA, MAVLINK_MESSAGE_INFO_LOG_ERASE, MAVLINK_MESSAGE_INFO_LOG_REQUEST_END, MAVLINK_MESSAGE_INFO_GPS_INJECT_DATA, MAVLINK_MESSAGE_INFO_GPS2_RAW, MAVLINK_MESSAGE_INFO_POWER_STATUS, MAVLINK_MESSAGE_INFO_SERIAL_CONTROL, MAVLINK_MESSAGE_INFO_GPS_RTK, MAVLINK_MESSAGE_INFO_GPS2_RTK, MAVLINK_MESSAGE_INFO_SCALED_IMU3, MAVLINK_MESSAGE_INFO_DATA_TRANSMISSION_HANDSHAKE, MAVLINK_MESSAGE_INFO_ENCAPSULATED_DATA, MAVLINK_MESSAGE_INFO_DISTANCE_SENSOR, MAVLINK_MESSAGE_INFO_TERRAIN_REQUEST, MAVLINK_MESSAGE_INFO_TERRAIN_DATA, MAVLINK_MESSAGE_INFO_TERRAIN_CHECK, MAVLINK_MESSAGE_INFO_TERRAIN_REPORT, MAVLINK_MESSAGE_INFO_SCALED_PRESSURE2, MAVLINK_MESSAGE_INFO_ATT_POS_MOCAP, MAVLINK_MESSAGE_INFO_SET_ACTUATOR_CONTROL_TARGET, MAVLINK_MESSAGE_INFO_ACTUATOR_CONTROL_TARGET, MAVLINK_MESSAGE_INFO_ALTITUDE, MAVLINK_MESSAGE_INFO_RESOURCE_REQUEST, MAVLINK_MESSAGE_INFO_SCALED_PRESSURE3, MAVLINK_MESSAGE_INFO_FOLLOW_TARGET, MAVLINK_MESSAGE_INFO_CONTROL_SYSTEM_STATE, MAVLINK_MESSAGE_INFO_BATTERY_STATUS, MAVLINK_MESSAGE_INFO_AUTOPILOT_VERSION, MAVLINK_MESSAGE_INFO_LANDING_TARGET, MAVLINK_MESSAGE_INFO_SENSOR_OFFSETS, MAVLINK_MESSAGE_INFO_SET_MAG_OFFSETS, MAVLINK_MESSAGE_INFO_MEMINFO, MAVLINK_MESSAGE_INFO_AP_ADC, MAVLINK_MESSAGE_INFO_DIGICAM_CONFIGURE, MAVLINK_MESSAGE_INFO_DIGICAM_CONTROL, MAVLINK_MESSAGE_INFO_MOUNT_CONFIGURE, MAVLINK_MESSAGE_INFO_MOUNT_CONTROL, MAVLINK_MESSAGE_INFO_MOUNT_STATUS, MAVLINK_MESSAGE_INFO_FENCE_POINT, MAVLINK_MESSAGE_INFO_FENCE_FETCH_POINT, MAVLINK_MESSAGE_INFO_FENCE_STATUS, MAVLINK_MESSAGE_INFO_AHRS, MAVLINK_MESSAGE_INFO_SIMSTATE, MAVLINK_MESSAGE_INFO_HWSTATUS, MAVLINK_MESSAGE_INFO_RADIO, MAVLINK_MESSAGE_INFO_LIMITS_STATUS, MAVLINK_MESSAGE_INFO_WIND, MAVLINK_MESSAGE_INFO_DATA16, MAVLINK_MESSAGE_INFO_DATA32, MAVLINK_MESSAGE_INFO_DATA64, MAVLINK_MESSAGE_INFO_DATA96, MAVLINK_MESSAGE_INFO_RANGEFINDER, MAVLINK_MESSAGE_INFO_AIRSPEED_AUTOCAL, MAVLINK_MESSAGE_INFO_RALLY_POINT, MAVLINK_MESSAGE_INFO_RALLY_FETCH_POINT, MAVLINK_MESSAGE_INFO_COMPASSMOT_STATUS, MAVLINK_MESSAGE_INFO_AHRS2, MAVLINK_MESSAGE_INFO_CAMERA_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_FEEDBACK, MAVLINK_MESSAGE_INFO_BATTERY2, MAVLINK_MESSAGE_INFO_AHRS3, MAVLINK_MESSAGE_INFO_AUTOPILOT_VERSION_REQUEST, MAVLINK_MESSAGE_INFO_REMOTE_LOG_DATA_BLOCK, MAVLINK_MESSAGE_INFO_REMOTE_LOG_BLOCK_STATUS, MAVLINK_MESSAGE_INFO_LED_CONTROL, MAVLINK_MESSAGE_INFO_MAG_CAL_PROGRESS, MAVLINK_MESSAGE_INFO_MAG_CAL_REPORT, MAVLINK_MESSAGE_INFO_EKF_STATUS_REPORT, MAVLINK_MESSAGE_INFO_PID_TUNING, MAVLINK_MESSAGE_INFO_DEEPSTALL, MAVLINK_MESSAGE_INFO_GIMBAL_REPORT, MAVLINK_MESSAGE_INFO_GIMBAL_CONTROL, MAVLINK_MESSAGE_INFO_GIMBAL_TORQUE_CMD_REPORT, MAVLINK_MESSAGE_INFO_GOPRO_HEARTBEAT, MAVLINK_MESSAGE_INFO_GOPRO_GET_REQUEST, MAVLINK_MESSAGE_INFO_GOPRO_GET_RESPONSE, MAVLINK_MESSAGE_INFO_GOPRO_SET_REQUEST, MAVLINK_MESSAGE_INFO_GOPRO_SET_RESPONSE, MAVLINK_MESSAGE_INFO_EFI_STATUS, MAVLINK_MESSAGE_INFO_RPM, MAVLINK_MESSAGE_INFO_ESTIMATOR_STATUS, MAVLINK_MESSAGE_INFO_WIND_COV, MAVLINK_MESSAGE_INFO_GPS_INPUT, MAVLINK_MESSAGE_INFO_GPS_RTCM_DATA, MAVLINK_MESSAGE_INFO_HIGH_LATENCY, MAVLINK_MESSAGE_INFO_HIGH_LATENCY2, MAVLINK_MESSAGE_INFO_VIBRATION, MAVLINK_MESSAGE_INFO_HOME_POSITION, MAVLINK_MESSAGE_INFO_SET_HOME_POSITION, MAVLINK_MESSAGE_INFO_MESSAGE_INTERVAL, MAVLINK_MESSAGE_INFO_EXTENDED_SYS_STATE, MAVLINK_MESSAGE_INFO_ADSB_VEHICLE, MAVLINK_MESSAGE_INFO_COLLISION, MAVLINK_MESSAGE_INFO_V2_EXTENSION, MAVLINK_MESSAGE_INFO_MEMORY_VECT, MAVLINK_MESSAGE_INFO_DEBUG_VECT, MAVLINK_MESSAGE_INFO_NAMED_VALUE_FLOAT, MAVLINK_MESSAGE_INFO_NAMED_VALUE_INT, MAVLINK_MESSAGE_INFO_STATUSTEXT, MAVLINK_MESSAGE_INFO_DEBUG, MAVLINK_MESSAGE_INFO_SETUP_SIGNING, MAVLINK_MESSAGE_INFO_BUTTON_CHANGE, MAVLINK_MESSAGE_INFO_PLAY_TUNE, MAVLINK_MESSAGE_INFO_CAMERA_INFORMATION, MAVLINK_MESSAGE_INFO_CAMERA_SETTINGS, MAVLINK_MESSAGE_INFO_STORAGE_INFORMATION, MAVLINK_MESSAGE_INFO_CAMERA_CAPTURE_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_IMAGE_CAPTURED, MAVLINK_MESSAGE_INFO_FLIGHT_INFORMATION, MAVLINK_MESSAGE_INFO_MOUNT_ORIENTATION, MAVLINK_MESSAGE_INFO_LOGGING_DATA, MAVLINK_MESSAGE_INFO_LOGGING_DATA_ACKED, MAVLINK_MESSAGE_INFO_LOGGING_ACK, MAVLINK_MESSAGE_INFO_VIDEO_STREAM_INFORMATION, MAVLINK_MESSAGE_INFO_VIDEO_STREAM_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_FOV_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_TRACKING_IMAGE_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_TRACKING_GEO_STATUS, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_INFORMATION, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_STATUS, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_SET_ATTITUDE, MAVLINK_MESSAGE_INFO_GIMBAL_DEVICE_INFORMATION, MAVLINK_MESSAGE_INFO_GIMBAL_DEVICE_SET_ATTITUDE, MAVLINK_MESSAGE_INFO_GIMBAL_DEVICE_ATTITUDE_STATUS, MAVLINK_MESSAGE_INFO_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_SET_TILTPAN, MAVLINK_MESSAGE_INFO_ESC_INFO, MAVLINK_MESSAGE_INFO_ESC_STATUS, MAVLINK_MESSAGE_INFO_WIFI_CONFIG_AP, MAVLINK_MESSAGE_INFO_PROTOCOL_VERSION, MAVLINK_MESSAGE_INFO_AIS_VESSEL, MAVLINK_MESSAGE_INFO_UAVCAN_NODE_STATUS, MAVLINK_MESSAGE_INFO_UAVCAN_NODE_INFO, MAVLINK_MESSAGE_INFO_PARAM_EXT_REQUEST_READ, MAVLINK_MESSAGE_INFO_PARAM_EXT_REQUEST_LIST, MAVLINK_MESSAGE_INFO_PARAM_EXT_VALUE, MAVLINK_MESSAGE_INFO_PARAM_EXT_SET, MAVLINK_MESSAGE_INFO_PARAM_EXT_ACK, MAVLINK_MESSAGE_INFO_PARAM_EXT_VALUE_TRIMMED, MAVLINK_MESSAGE_INFO_PARAM_EXT_SET_TRIMMED, MAVLINK_MESSAGE_INFO_PARAM_EXT_ACK_TRIMMED, MAVLINK_MESSAGE_INFO_OBSTACLE_DISTANCE, MAVLINK_MESSAGE_INFO_ODOMETRY, MAVLINK_MESSAGE_INFO_TRAJECTORY_REPRESENTATION_WAYPOINTS, MAVLINK_MESSAGE_INFO_TRAJECTORY_REPRESENTATION_BEZIER, MAVLINK_MESSAGE_INFO_CELLULAR_STATUS, MAVLINK_MESSAGE_INFO_ISBD_LINK_STATUS, MAVLINK_MESSAGE_INFO_CELLULAR_CONFIG, MAVLINK_MESSAGE_INFO_RAW_RPM, MAVLINK_MESSAGE_INFO_UTM_GLOBAL_POSITION, MAVLINK_MESSAGE_INFO_DEBUG_FLOAT_ARRAY, MAVLINK_MESSAGE_INFO_ORBIT_EXECUTION_STATUS, MAVLINK_MESSAGE_INFO_SMART_BATTERY_INFO, MAVLINK_MESSAGE_INFO_SMART_BATTERY_STATUS, MAVLINK_MESSAGE_INFO_GENERATOR_STATUS, MAVLINK_MESSAGE_INFO_ACTUATOR_OUTPUT_STATUS, MAVLINK_MESSAGE_INFO_TIME_ESTIMATE_TO_TARGET, MAVLINK_MESSAGE_INFO_TUNNEL, MAVLINK_MESSAGE_INFO_ONBOARD_COMPUTER_STATUS, MAVLINK_MESSAGE_INFO_COMPONENT_INFORMATION, MAVLINK_MESSAGE_INFO_PLAY_TUNE_V2, MAVLINK_MESSAGE_INFO_SUPPORTED_TUNES, MAVLINK_MESSAGE_INFO_WHEEL_DISTANCE, MAVLINK_MESSAGE_INFO_WINCH_STATUS, MAVLINK_MESSAGE_INFO_UAVIONIX_ADSB_OUT_CFG, MAVLINK_MESSAGE_INFO_UAVIONIX_ADSB_OUT_DYNAMIC, MAVLINK_MESSAGE_INFO_UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT, MAVLINK_MESSAGE_INFO_DEVICE_OP_READ, MAVLINK_MESSAGE_INFO_DEVICE_OP_READ_REPLY, MAVLINK_MESSAGE_INFO_DEVICE_OP_WRITE, MAVLINK_MESSAGE_INFO_DEVICE_OP_WRITE_REPLY, MAVLINK_MESSAGE_INFO_ADAP_TUNING, MAVLINK_MESSAGE_INFO_VISION_POSITION_DELTA, MAVLINK_MESSAGE_INFO_AOA_SSA, MAVLINK_MESSAGE_INFO_ESC_TELEMETRY_1_TO_4, MAVLINK_MESSAGE_INFO_ESC_TELEMETRY_5_TO_8, MAVLINK_MESSAGE_INFO_ESC_TELEMETRY_9_TO_12, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_BASIC_ID, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_LOCATION, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_AUTHENTICATION, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_SELF_ID, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_SYSTEM, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_OPERATOR_ID, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_MESSAGE_PACK, MAVLINK_MESSAGE_INFO_ATMO_COMP_EXT, MAVLINK_MESSAGE_INFO_WOW_SENSOR, MAVLINK_MESSAGE_INFO_GPS_RNX_DATA, MAVLINK_MESSAGE_INFO_EMB_ATMO_COM, MAVLINK_MESSAGE_INFO_RADAR_ALTM, MAVLINK_MESSAGE_INFO_INS1, MAVLINK_MESSAGE_INFO_INS2, MAVLINK_MESSAGE_INFO_TUB_LND, MAVLINK_MESSAGE_INFO_SERVOS, MAVLINK_MESSAGE_INFO_PUBIT_RESULT, MAVLINK_MESSAGE_INFO_PBIT_RESULT, MAVLINK_MESSAGE_INFO_IFBIT_RESULT, MAVLINK_MESSAGE_INFO_EngineStatus, MAVLINK_MESSAGE_INFO_EngineState, MAVLINK_MESSAGE_INFO_TurbineState, MAVLINK_MESSAGE_INFO_ICAROUS_HEARTBEAT, MAVLINK_MESSAGE_INFO_ICAROUS_KINEMATIC_BANDS} -# define MAVLINK_MESSAGE_NAMES {{ "ACTUATOR_CONTROL_TARGET", 140 }, { "ACTUATOR_OUTPUT_STATUS", 375 }, { "ADAP_TUNING", 11010 }, { "ADSB_VEHICLE", 246 }, { "AHRS", 163 }, { "AHRS2", 178 }, { "AHRS3", 182 }, { "AIRSPEED_AUTOCAL", 174 }, { "AIS_VESSEL", 301 }, { "ALTITUDE", 141 }, { "AOA_SSA", 11020 }, { "AP_ADC", 153 }, { "ATMO_COMP_EXT", 20006 }, { "ATTITUDE", 30 }, { "ATTITUDE_QUATERNION", 31 }, { "ATTITUDE_QUATERNION_COV", 61 }, { "ATTITUDE_TARGET", 83 }, { "ATT_POS_MOCAP", 138 }, { "AUTH_KEY", 7 }, { "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE", 286 }, { "AUTOPILOT_VERSION", 148 }, { "AUTOPILOT_VERSION_REQUEST", 183 }, { "BATTERY2", 181 }, { "BATTERY_STATUS", 147 }, { "BUTTON_CHANGE", 257 }, { "CAMERA_CAPTURE_STATUS", 262 }, { "CAMERA_FEEDBACK", 180 }, { "CAMERA_FOV_STATUS", 271 }, { "CAMERA_IMAGE_CAPTURED", 263 }, { "CAMERA_INFORMATION", 259 }, { "CAMERA_SETTINGS", 260 }, { "CAMERA_STATUS", 179 }, { "CAMERA_TRACKING_GEO_STATUS", 276 }, { "CAMERA_TRACKING_IMAGE_STATUS", 275 }, { "CAMERA_TRIGGER", 112 }, { "CELLULAR_CONFIG", 336 }, { "CELLULAR_STATUS", 334 }, { "CHANGE_OPERATOR_CONTROL", 5 }, { "CHANGE_OPERATOR_CONTROL_ACK", 6 }, { "COLLISION", 247 }, { "COMMAND_ACK", 77 }, { "COMMAND_CANCEL", 80 }, { "COMMAND_INT", 75 }, { "COMMAND_LONG", 76 }, { "COMPASSMOT_STATUS", 177 }, { "COMPONENT_INFORMATION", 395 }, { "CONTROL_SYSTEM_STATE", 146 }, { "DATA16", 169 }, { "DATA32", 170 }, { "DATA64", 171 }, { "DATA96", 172 }, { "DATA_STREAM", 67 }, { "DATA_TRANSMISSION_HANDSHAKE", 130 }, { "DEBUG", 254 }, { "DEBUG_FLOAT_ARRAY", 350 }, { "DEBUG_VECT", 250 }, { "DEEPSTALL", 195 }, { "DEVICE_OP_READ", 11000 }, { "DEVICE_OP_READ_REPLY", 11001 }, { "DEVICE_OP_WRITE", 11002 }, { "DEVICE_OP_WRITE_REPLY", 11003 }, { "DIGICAM_CONFIGURE", 154 }, { "DIGICAM_CONTROL", 155 }, { "DISTANCE_SENSOR", 132 }, { "EFI_STATUS", 225 }, { "EKF_STATUS_REPORT", 193 }, { "EMB_ATMO_COM", 20101 }, { "ENCAPSULATED_DATA", 131 }, { "ESC_INFO", 290 }, { "ESC_STATUS", 291 }, { "ESC_TELEMETRY_1_TO_4", 11030 }, { "ESC_TELEMETRY_5_TO_8", 11031 }, { "ESC_TELEMETRY_9_TO_12", 11032 }, { "ESTIMATOR_STATUS", 230 }, { "EXTENDED_SYS_STATE", 245 }, { "EngineState", 20201 }, { "EngineStatus", 20200 }, { "FENCE_FETCH_POINT", 161 }, { "FENCE_POINT", 160 }, { "FENCE_STATUS", 162 }, { "FILE_TRANSFER_PROTOCOL", 110 }, { "FLIGHT_INFORMATION", 264 }, { "FOLLOW_TARGET", 144 }, { "GENERATOR_STATUS", 373 }, { "GIMBAL_CONTROL", 201 }, { "GIMBAL_DEVICE_ATTITUDE_STATUS", 285 }, { "GIMBAL_DEVICE_INFORMATION", 283 }, { "GIMBAL_DEVICE_SET_ATTITUDE", 284 }, { "GIMBAL_MANAGER_INFORMATION", 280 }, { "GIMBAL_MANAGER_SET_ATTITUDE", 282 }, { "GIMBAL_MANAGER_SET_TILTPAN", 287 }, { "GIMBAL_MANAGER_STATUS", 281 }, { "GIMBAL_REPORT", 200 }, { "GIMBAL_TORQUE_CMD_REPORT", 214 }, { "GLOBAL_POSITION_INT", 33 }, { "GLOBAL_POSITION_INT_COV", 63 }, { "GLOBAL_VISION_POSITION_ESTIMATE", 101 }, { "GOPRO_GET_REQUEST", 216 }, { "GOPRO_GET_RESPONSE", 217 }, { "GOPRO_HEARTBEAT", 215 }, { "GOPRO_SET_REQUEST", 218 }, { "GOPRO_SET_RESPONSE", 219 }, { "GPS2_RAW", 124 }, { "GPS2_RTK", 128 }, { "GPS_GLOBAL_ORIGIN", 49 }, { "GPS_INJECT_DATA", 123 }, { "GPS_INPUT", 232 }, { "GPS_RAW_INT", 24 }, { "GPS_RNX_DATA", 20008 }, { "GPS_RTCM_DATA", 233 }, { "GPS_RTK", 127 }, { "GPS_STATUS", 25 }, { "HEARTBEAT", 0 }, { "HIGHRES_IMU", 105 }, { "HIGH_LATENCY", 234 }, { "HIGH_LATENCY2", 235 }, { "HIL_ACTUATOR_CONTROLS", 93 }, { "HIL_CONTROLS", 91 }, { "HIL_GPS", 113 }, { "HIL_OPTICAL_FLOW", 114 }, { "HIL_RC_INPUTS_RAW", 92 }, { "HIL_SENSOR", 107 }, { "HIL_STATE", 90 }, { "HIL_STATE_QUATERNION", 115 }, { "HOME_POSITION", 242 }, { "HWSTATUS", 165 }, { "ICAROUS_HEARTBEAT", 42000 }, { "ICAROUS_KINEMATIC_BANDS", 42001 }, { "IFBIT_RESULT", 20109 }, { "INS1", 20103 }, { "INS2", 20104 }, { "ISBD_LINK_STATUS", 335 }, { "LANDING_TARGET", 149 }, { "LED_CONTROL", 186 }, { "LIMITS_STATUS", 167 }, { "LINK_NODE_STATUS", 8 }, { "LOCAL_POSITION_NED", 32 }, { "LOCAL_POSITION_NED_COV", 64 }, { "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET", 89 }, { "LOGGING_ACK", 268 }, { "LOGGING_DATA", 266 }, { "LOGGING_DATA_ACKED", 267 }, { "LOG_DATA", 120 }, { "LOG_ENTRY", 118 }, { "LOG_ERASE", 121 }, { "LOG_REQUEST_DATA", 119 }, { "LOG_REQUEST_END", 122 }, { "LOG_REQUEST_LIST", 117 }, { "MAG_CAL_PROGRESS", 191 }, { "MAG_CAL_REPORT", 192 }, { "MANUAL_CONTROL", 69 }, { "MANUAL_SETPOINT", 81 }, { "MEMINFO", 152 }, { "MEMORY_VECT", 249 }, { "MESSAGE_INTERVAL", 244 }, { "MISSION_ACK", 47 }, { "MISSION_CHANGED", 52 }, { "MISSION_CLEAR_ALL", 45 }, { "MISSION_COUNT", 44 }, { "MISSION_CURRENT", 42 }, { "MISSION_ITEM", 39 }, { "MISSION_ITEM_INT", 73 }, { "MISSION_ITEM_REACHED", 46 }, { "MISSION_REQUEST", 40 }, { "MISSION_REQUEST_INT", 51 }, { "MISSION_REQUEST_LIST", 43 }, { "MISSION_REQUEST_PARTIAL_LIST", 37 }, { "MISSION_SET_CURRENT", 41 }, { "MISSION_WRITE_PARTIAL_LIST", 38 }, { "MOUNT_CONFIGURE", 156 }, { "MOUNT_CONTROL", 157 }, { "MOUNT_ORIENTATION", 265 }, { "MOUNT_STATUS", 158 }, { "NAMED_VALUE_FLOAT", 251 }, { "NAMED_VALUE_INT", 252 }, { "NAV_CONTROLLER_OUTPUT", 62 }, { "OBSTACLE_DISTANCE", 330 }, { "ODOMETRY", 331 }, { "ONBOARD_COMPUTER_STATUS", 390 }, { "OPEN_DRONE_ID_AUTHENTICATION", 12902 }, { "OPEN_DRONE_ID_BASIC_ID", 12900 }, { "OPEN_DRONE_ID_LOCATION", 12901 }, { "OPEN_DRONE_ID_MESSAGE_PACK", 12915 }, { "OPEN_DRONE_ID_OPERATOR_ID", 12905 }, { "OPEN_DRONE_ID_SELF_ID", 12903 }, { "OPEN_DRONE_ID_SYSTEM", 12904 }, { "OPTICAL_FLOW", 100 }, { "OPTICAL_FLOW_RAD", 106 }, { "ORBIT_EXECUTION_STATUS", 360 }, { "PARAM_ACK_TRANSACTION", 19 }, { "PARAM_EXT_ACK", 324 }, { "PARAM_EXT_ACK_TRIMMED", 327 }, { "PARAM_EXT_REQUEST_LIST", 321 }, { "PARAM_EXT_REQUEST_READ", 320 }, { "PARAM_EXT_SET", 323 }, { "PARAM_EXT_SET_TRIMMED", 326 }, { "PARAM_EXT_VALUE", 322 }, { "PARAM_EXT_VALUE_TRIMMED", 325 }, { "PARAM_MAP_RC", 50 }, { "PARAM_REQUEST_LIST", 21 }, { "PARAM_REQUEST_READ", 20 }, { "PARAM_SET", 23 }, { "PARAM_VALUE", 22 }, { "PBIT_RESULT", 20108 }, { "PID_TUNING", 194 }, { "PING", 4 }, { "PLAY_TUNE", 258 }, { "PLAY_TUNE_V2", 400 }, { "POSITION_TARGET_GLOBAL_INT", 87 }, { "POSITION_TARGET_LOCAL_NED", 85 }, { "POWER_STATUS", 125 }, { "PROTOCOL_VERSION", 300 }, { "PUBIT_RESULT", 20107 }, { "RADAR_ALTM", 20102 }, { "RADIO", 166 }, { "RADIO_STATUS", 109 }, { "RALLY_FETCH_POINT", 176 }, { "RALLY_POINT", 175 }, { "RANGEFINDER", 173 }, { "RAW_IMU", 27 }, { "RAW_PRESSURE", 28 }, { "RAW_RPM", 339 }, { "RC_CHANNELS", 65 }, { "RC_CHANNELS_OVERRIDE", 70 }, { "RC_CHANNELS_RAW", 35 }, { "RC_CHANNELS_SCALED", 34 }, { "REMOTE_LOG_BLOCK_STATUS", 185 }, { "REMOTE_LOG_DATA_BLOCK", 184 }, { "REQUEST_DATA_STREAM", 66 }, { "RESOURCE_REQUEST", 142 }, { "RPM", 226 }, { "SAFETY_ALLOWED_AREA", 55 }, { "SAFETY_SET_ALLOWED_AREA", 54 }, { "SCALED_IMU", 26 }, { "SCALED_IMU2", 116 }, { "SCALED_IMU3", 129 }, { "SCALED_PRESSURE", 29 }, { "SCALED_PRESSURE2", 137 }, { "SCALED_PRESSURE3", 143 }, { "SENSOR_OFFSETS", 150 }, { "SERIAL_CONTROL", 126 }, { "SERVOS", 20106 }, { "SERVO_OUTPUT_RAW", 36 }, { "SETUP_SIGNING", 256 }, { "SET_ACTUATOR_CONTROL_TARGET", 139 }, { "SET_ATTITUDE_TARGET", 82 }, { "SET_GPS_GLOBAL_ORIGIN", 48 }, { "SET_HOME_POSITION", 243 }, { "SET_MAG_OFFSETS", 151 }, { "SET_MODE", 11 }, { "SET_POSITION_TARGET_GLOBAL_INT", 86 }, { "SET_POSITION_TARGET_LOCAL_NED", 84 }, { "SIMSTATE", 164 }, { "SIM_STATE", 108 }, { "SMART_BATTERY_INFO", 370 }, { "SMART_BATTERY_STATUS", 371 }, { "STATUSTEXT", 253 }, { "STORAGE_INFORMATION", 261 }, { "SUPPORTED_TUNES", 401 }, { "SYSTEM_TIME", 2 }, { "SYS_STATUS", 1 }, { "TERRAIN_CHECK", 135 }, { "TERRAIN_DATA", 134 }, { "TERRAIN_REPORT", 136 }, { "TERRAIN_REQUEST", 133 }, { "TIMESYNC", 111 }, { "TIME_ESTIMATE_TO_TARGET", 380 }, { "TRAJECTORY_REPRESENTATION_BEZIER", 333 }, { "TRAJECTORY_REPRESENTATION_WAYPOINTS", 332 }, { "TUB_LND", 20105 }, { "TUNNEL", 385 }, { "TurbineState", 20300 }, { "UAVCAN_NODE_INFO", 311 }, { "UAVCAN_NODE_STATUS", 310 }, { "UAVIONIX_ADSB_OUT_CFG", 10001 }, { "UAVIONIX_ADSB_OUT_DYNAMIC", 10002 }, { "UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT", 10003 }, { "UTM_GLOBAL_POSITION", 340 }, { "V2_EXTENSION", 248 }, { "VFR_HUD", 74 }, { "VIBRATION", 241 }, { "VICON_POSITION_ESTIMATE", 104 }, { "VIDEO_STREAM_INFORMATION", 269 }, { "VIDEO_STREAM_STATUS", 270 }, { "VISION_POSITION_DELTA", 11011 }, { "VISION_POSITION_ESTIMATE", 102 }, { "VISION_SPEED_ESTIMATE", 103 }, { "WHEEL_DISTANCE", 9000 }, { "WIFI_CONFIG_AP", 299 }, { "WINCH_STATUS", 9005 }, { "WIND", 168 }, { "WIND_COV", 231 }, { "WOW_SENSOR", 20007 }} +# define MAVLINK_MESSAGE_INFO {MAVLINK_MESSAGE_INFO_HEARTBEAT, MAVLINK_MESSAGE_INFO_SYS_STATUS, MAVLINK_MESSAGE_INFO_SYSTEM_TIME, MAVLINK_MESSAGE_INFO_PING, MAVLINK_MESSAGE_INFO_CHANGE_OPERATOR_CONTROL, MAVLINK_MESSAGE_INFO_CHANGE_OPERATOR_CONTROL_ACK, MAVLINK_MESSAGE_INFO_AUTH_KEY, MAVLINK_MESSAGE_INFO_LINK_NODE_STATUS, MAVLINK_MESSAGE_INFO_SET_MODE, MAVLINK_MESSAGE_INFO_PARAM_ACK_TRANSACTION, MAVLINK_MESSAGE_INFO_PARAM_REQUEST_READ, MAVLINK_MESSAGE_INFO_PARAM_REQUEST_LIST, MAVLINK_MESSAGE_INFO_PARAM_VALUE, MAVLINK_MESSAGE_INFO_PARAM_SET, MAVLINK_MESSAGE_INFO_GPS_RAW_INT, MAVLINK_MESSAGE_INFO_GPS_STATUS, MAVLINK_MESSAGE_INFO_SCALED_IMU, MAVLINK_MESSAGE_INFO_RAW_IMU, MAVLINK_MESSAGE_INFO_RAW_PRESSURE, MAVLINK_MESSAGE_INFO_SCALED_PRESSURE, MAVLINK_MESSAGE_INFO_ATTITUDE, MAVLINK_MESSAGE_INFO_ATTITUDE_QUATERNION, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED, MAVLINK_MESSAGE_INFO_GLOBAL_POSITION_INT, MAVLINK_MESSAGE_INFO_RC_CHANNELS_SCALED, MAVLINK_MESSAGE_INFO_RC_CHANNELS_RAW, MAVLINK_MESSAGE_INFO_SERVO_OUTPUT_RAW, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_PARTIAL_LIST, MAVLINK_MESSAGE_INFO_MISSION_WRITE_PARTIAL_LIST, MAVLINK_MESSAGE_INFO_MISSION_ITEM, MAVLINK_MESSAGE_INFO_MISSION_REQUEST, MAVLINK_MESSAGE_INFO_MISSION_SET_CURRENT, MAVLINK_MESSAGE_INFO_MISSION_CURRENT, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_LIST, MAVLINK_MESSAGE_INFO_MISSION_COUNT, MAVLINK_MESSAGE_INFO_MISSION_CLEAR_ALL, MAVLINK_MESSAGE_INFO_MISSION_ITEM_REACHED, MAVLINK_MESSAGE_INFO_MISSION_ACK, MAVLINK_MESSAGE_INFO_SET_GPS_GLOBAL_ORIGIN, MAVLINK_MESSAGE_INFO_GPS_GLOBAL_ORIGIN, MAVLINK_MESSAGE_INFO_PARAM_MAP_RC, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_INT, MAVLINK_MESSAGE_INFO_MISSION_CHANGED, MAVLINK_MESSAGE_INFO_SAFETY_SET_ALLOWED_AREA, MAVLINK_MESSAGE_INFO_SAFETY_ALLOWED_AREA, MAVLINK_MESSAGE_INFO_ATTITUDE_QUATERNION_COV, MAVLINK_MESSAGE_INFO_NAV_CONTROLLER_OUTPUT, MAVLINK_MESSAGE_INFO_GLOBAL_POSITION_INT_COV, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED_COV, MAVLINK_MESSAGE_INFO_RC_CHANNELS, MAVLINK_MESSAGE_INFO_REQUEST_DATA_STREAM, MAVLINK_MESSAGE_INFO_DATA_STREAM, MAVLINK_MESSAGE_INFO_MANUAL_CONTROL, MAVLINK_MESSAGE_INFO_RC_CHANNELS_OVERRIDE, MAVLINK_MESSAGE_INFO_MISSION_ITEM_INT, MAVLINK_MESSAGE_INFO_VFR_HUD, MAVLINK_MESSAGE_INFO_COMMAND_INT, MAVLINK_MESSAGE_INFO_COMMAND_LONG, MAVLINK_MESSAGE_INFO_COMMAND_ACK, MAVLINK_MESSAGE_INFO_COMMAND_CANCEL, MAVLINK_MESSAGE_INFO_MANUAL_SETPOINT, MAVLINK_MESSAGE_INFO_SET_ATTITUDE_TARGET, MAVLINK_MESSAGE_INFO_ATTITUDE_TARGET, MAVLINK_MESSAGE_INFO_SET_POSITION_TARGET_LOCAL_NED, MAVLINK_MESSAGE_INFO_POSITION_TARGET_LOCAL_NED, MAVLINK_MESSAGE_INFO_SET_POSITION_TARGET_GLOBAL_INT, MAVLINK_MESSAGE_INFO_POSITION_TARGET_GLOBAL_INT, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET, MAVLINK_MESSAGE_INFO_HIL_STATE, MAVLINK_MESSAGE_INFO_HIL_CONTROLS, MAVLINK_MESSAGE_INFO_HIL_RC_INPUTS_RAW, MAVLINK_MESSAGE_INFO_HIL_ACTUATOR_CONTROLS, MAVLINK_MESSAGE_INFO_OPTICAL_FLOW, MAVLINK_MESSAGE_INFO_GLOBAL_VISION_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_VISION_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_VISION_SPEED_ESTIMATE, MAVLINK_MESSAGE_INFO_VICON_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_HIGHRES_IMU, MAVLINK_MESSAGE_INFO_OPTICAL_FLOW_RAD, MAVLINK_MESSAGE_INFO_HIL_SENSOR, MAVLINK_MESSAGE_INFO_SIM_STATE, MAVLINK_MESSAGE_INFO_RADIO_STATUS, MAVLINK_MESSAGE_INFO_FILE_TRANSFER_PROTOCOL, MAVLINK_MESSAGE_INFO_TIMESYNC, MAVLINK_MESSAGE_INFO_CAMERA_TRIGGER, MAVLINK_MESSAGE_INFO_HIL_GPS, MAVLINK_MESSAGE_INFO_HIL_OPTICAL_FLOW, MAVLINK_MESSAGE_INFO_HIL_STATE_QUATERNION, MAVLINK_MESSAGE_INFO_SCALED_IMU2, MAVLINK_MESSAGE_INFO_LOG_REQUEST_LIST, MAVLINK_MESSAGE_INFO_LOG_ENTRY, MAVLINK_MESSAGE_INFO_LOG_REQUEST_DATA, MAVLINK_MESSAGE_INFO_LOG_DATA, MAVLINK_MESSAGE_INFO_LOG_ERASE, MAVLINK_MESSAGE_INFO_LOG_REQUEST_END, MAVLINK_MESSAGE_INFO_GPS_INJECT_DATA, MAVLINK_MESSAGE_INFO_GPS2_RAW, MAVLINK_MESSAGE_INFO_POWER_STATUS, MAVLINK_MESSAGE_INFO_SERIAL_CONTROL, MAVLINK_MESSAGE_INFO_GPS_RTK, MAVLINK_MESSAGE_INFO_GPS2_RTK, MAVLINK_MESSAGE_INFO_SCALED_IMU3, MAVLINK_MESSAGE_INFO_DATA_TRANSMISSION_HANDSHAKE, MAVLINK_MESSAGE_INFO_ENCAPSULATED_DATA, MAVLINK_MESSAGE_INFO_DISTANCE_SENSOR, MAVLINK_MESSAGE_INFO_TERRAIN_REQUEST, MAVLINK_MESSAGE_INFO_TERRAIN_DATA, MAVLINK_MESSAGE_INFO_TERRAIN_CHECK, MAVLINK_MESSAGE_INFO_TERRAIN_REPORT, MAVLINK_MESSAGE_INFO_SCALED_PRESSURE2, MAVLINK_MESSAGE_INFO_ATT_POS_MOCAP, MAVLINK_MESSAGE_INFO_SET_ACTUATOR_CONTROL_TARGET, MAVLINK_MESSAGE_INFO_ACTUATOR_CONTROL_TARGET, MAVLINK_MESSAGE_INFO_ALTITUDE, MAVLINK_MESSAGE_INFO_RESOURCE_REQUEST, MAVLINK_MESSAGE_INFO_SCALED_PRESSURE3, MAVLINK_MESSAGE_INFO_FOLLOW_TARGET, MAVLINK_MESSAGE_INFO_CONTROL_SYSTEM_STATE, MAVLINK_MESSAGE_INFO_BATTERY_STATUS, MAVLINK_MESSAGE_INFO_AUTOPILOT_VERSION, MAVLINK_MESSAGE_INFO_LANDING_TARGET, MAVLINK_MESSAGE_INFO_SENSOR_OFFSETS, MAVLINK_MESSAGE_INFO_SET_MAG_OFFSETS, MAVLINK_MESSAGE_INFO_MEMINFO, MAVLINK_MESSAGE_INFO_AP_ADC, MAVLINK_MESSAGE_INFO_DIGICAM_CONFIGURE, MAVLINK_MESSAGE_INFO_DIGICAM_CONTROL, MAVLINK_MESSAGE_INFO_MOUNT_CONFIGURE, MAVLINK_MESSAGE_INFO_MOUNT_CONTROL, MAVLINK_MESSAGE_INFO_MOUNT_STATUS, MAVLINK_MESSAGE_INFO_FENCE_POINT, MAVLINK_MESSAGE_INFO_FENCE_FETCH_POINT, MAVLINK_MESSAGE_INFO_FENCE_STATUS, MAVLINK_MESSAGE_INFO_AHRS, MAVLINK_MESSAGE_INFO_SIMSTATE, MAVLINK_MESSAGE_INFO_HWSTATUS, MAVLINK_MESSAGE_INFO_RADIO, MAVLINK_MESSAGE_INFO_LIMITS_STATUS, MAVLINK_MESSAGE_INFO_WIND, MAVLINK_MESSAGE_INFO_DATA16, MAVLINK_MESSAGE_INFO_DATA32, MAVLINK_MESSAGE_INFO_DATA64, MAVLINK_MESSAGE_INFO_DATA96, MAVLINK_MESSAGE_INFO_RANGEFINDER, MAVLINK_MESSAGE_INFO_AIRSPEED_AUTOCAL, MAVLINK_MESSAGE_INFO_RALLY_POINT, MAVLINK_MESSAGE_INFO_RALLY_FETCH_POINT, MAVLINK_MESSAGE_INFO_COMPASSMOT_STATUS, MAVLINK_MESSAGE_INFO_AHRS2, MAVLINK_MESSAGE_INFO_CAMERA_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_FEEDBACK, MAVLINK_MESSAGE_INFO_BATTERY2, MAVLINK_MESSAGE_INFO_AHRS3, MAVLINK_MESSAGE_INFO_AUTOPILOT_VERSION_REQUEST, MAVLINK_MESSAGE_INFO_REMOTE_LOG_DATA_BLOCK, MAVLINK_MESSAGE_INFO_REMOTE_LOG_BLOCK_STATUS, MAVLINK_MESSAGE_INFO_LED_CONTROL, MAVLINK_MESSAGE_INFO_MAG_CAL_PROGRESS, MAVLINK_MESSAGE_INFO_MAG_CAL_REPORT, MAVLINK_MESSAGE_INFO_EKF_STATUS_REPORT, MAVLINK_MESSAGE_INFO_PID_TUNING, MAVLINK_MESSAGE_INFO_DEEPSTALL, MAVLINK_MESSAGE_INFO_GIMBAL_REPORT, MAVLINK_MESSAGE_INFO_GIMBAL_CONTROL, MAVLINK_MESSAGE_INFO_GIMBAL_TORQUE_CMD_REPORT, MAVLINK_MESSAGE_INFO_GOPRO_HEARTBEAT, MAVLINK_MESSAGE_INFO_GOPRO_GET_REQUEST, MAVLINK_MESSAGE_INFO_GOPRO_GET_RESPONSE, MAVLINK_MESSAGE_INFO_GOPRO_SET_REQUEST, MAVLINK_MESSAGE_INFO_GOPRO_SET_RESPONSE, MAVLINK_MESSAGE_INFO_EFI_STATUS, MAVLINK_MESSAGE_INFO_RPM, MAVLINK_MESSAGE_INFO_ESTIMATOR_STATUS, MAVLINK_MESSAGE_INFO_WIND_COV, MAVLINK_MESSAGE_INFO_GPS_INPUT, MAVLINK_MESSAGE_INFO_GPS_RTCM_DATA, MAVLINK_MESSAGE_INFO_HIGH_LATENCY, MAVLINK_MESSAGE_INFO_HIGH_LATENCY2, MAVLINK_MESSAGE_INFO_VIBRATION, MAVLINK_MESSAGE_INFO_HOME_POSITION, MAVLINK_MESSAGE_INFO_SET_HOME_POSITION, MAVLINK_MESSAGE_INFO_MESSAGE_INTERVAL, MAVLINK_MESSAGE_INFO_EXTENDED_SYS_STATE, MAVLINK_MESSAGE_INFO_ADSB_VEHICLE, MAVLINK_MESSAGE_INFO_COLLISION, MAVLINK_MESSAGE_INFO_V2_EXTENSION, MAVLINK_MESSAGE_INFO_MEMORY_VECT, MAVLINK_MESSAGE_INFO_DEBUG_VECT, MAVLINK_MESSAGE_INFO_NAMED_VALUE_FLOAT, MAVLINK_MESSAGE_INFO_NAMED_VALUE_INT, MAVLINK_MESSAGE_INFO_STATUSTEXT, MAVLINK_MESSAGE_INFO_DEBUG, MAVLINK_MESSAGE_INFO_SETUP_SIGNING, MAVLINK_MESSAGE_INFO_BUTTON_CHANGE, MAVLINK_MESSAGE_INFO_PLAY_TUNE, MAVLINK_MESSAGE_INFO_CAMERA_INFORMATION, MAVLINK_MESSAGE_INFO_CAMERA_SETTINGS, MAVLINK_MESSAGE_INFO_STORAGE_INFORMATION, MAVLINK_MESSAGE_INFO_CAMERA_CAPTURE_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_IMAGE_CAPTURED, MAVLINK_MESSAGE_INFO_FLIGHT_INFORMATION, MAVLINK_MESSAGE_INFO_MOUNT_ORIENTATION, MAVLINK_MESSAGE_INFO_LOGGING_DATA, MAVLINK_MESSAGE_INFO_LOGGING_DATA_ACKED, MAVLINK_MESSAGE_INFO_LOGGING_ACK, MAVLINK_MESSAGE_INFO_VIDEO_STREAM_INFORMATION, MAVLINK_MESSAGE_INFO_VIDEO_STREAM_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_FOV_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_TRACKING_IMAGE_STATUS, MAVLINK_MESSAGE_INFO_CAMERA_TRACKING_GEO_STATUS, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_INFORMATION, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_STATUS, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_SET_ATTITUDE, MAVLINK_MESSAGE_INFO_GIMBAL_DEVICE_INFORMATION, MAVLINK_MESSAGE_INFO_GIMBAL_DEVICE_SET_ATTITUDE, MAVLINK_MESSAGE_INFO_GIMBAL_DEVICE_ATTITUDE_STATUS, MAVLINK_MESSAGE_INFO_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE, MAVLINK_MESSAGE_INFO_GIMBAL_MANAGER_SET_TILTPAN, MAVLINK_MESSAGE_INFO_ESC_INFO, MAVLINK_MESSAGE_INFO_ESC_STATUS, MAVLINK_MESSAGE_INFO_WIFI_CONFIG_AP, MAVLINK_MESSAGE_INFO_PROTOCOL_VERSION, MAVLINK_MESSAGE_INFO_AIS_VESSEL, MAVLINK_MESSAGE_INFO_UAVCAN_NODE_STATUS, MAVLINK_MESSAGE_INFO_UAVCAN_NODE_INFO, MAVLINK_MESSAGE_INFO_PARAM_EXT_REQUEST_READ, MAVLINK_MESSAGE_INFO_PARAM_EXT_REQUEST_LIST, MAVLINK_MESSAGE_INFO_PARAM_EXT_VALUE, MAVLINK_MESSAGE_INFO_PARAM_EXT_SET, MAVLINK_MESSAGE_INFO_PARAM_EXT_ACK, MAVLINK_MESSAGE_INFO_PARAM_EXT_VALUE_TRIMMED, MAVLINK_MESSAGE_INFO_PARAM_EXT_SET_TRIMMED, MAVLINK_MESSAGE_INFO_PARAM_EXT_ACK_TRIMMED, MAVLINK_MESSAGE_INFO_OBSTACLE_DISTANCE, MAVLINK_MESSAGE_INFO_ODOMETRY, MAVLINK_MESSAGE_INFO_TRAJECTORY_REPRESENTATION_WAYPOINTS, MAVLINK_MESSAGE_INFO_TRAJECTORY_REPRESENTATION_BEZIER, MAVLINK_MESSAGE_INFO_CELLULAR_STATUS, MAVLINK_MESSAGE_INFO_ISBD_LINK_STATUS, MAVLINK_MESSAGE_INFO_CELLULAR_CONFIG, MAVLINK_MESSAGE_INFO_RAW_RPM, MAVLINK_MESSAGE_INFO_UTM_GLOBAL_POSITION, MAVLINK_MESSAGE_INFO_DEBUG_FLOAT_ARRAY, MAVLINK_MESSAGE_INFO_ORBIT_EXECUTION_STATUS, MAVLINK_MESSAGE_INFO_SMART_BATTERY_INFO, MAVLINK_MESSAGE_INFO_SMART_BATTERY_STATUS, MAVLINK_MESSAGE_INFO_GENERATOR_STATUS, MAVLINK_MESSAGE_INFO_ACTUATOR_OUTPUT_STATUS, MAVLINK_MESSAGE_INFO_TIME_ESTIMATE_TO_TARGET, MAVLINK_MESSAGE_INFO_TUNNEL, MAVLINK_MESSAGE_INFO_ONBOARD_COMPUTER_STATUS, MAVLINK_MESSAGE_INFO_COMPONENT_INFORMATION, MAVLINK_MESSAGE_INFO_PLAY_TUNE_V2, MAVLINK_MESSAGE_INFO_SUPPORTED_TUNES, MAVLINK_MESSAGE_INFO_WHEEL_DISTANCE, MAVLINK_MESSAGE_INFO_WINCH_STATUS, MAVLINK_MESSAGE_INFO_UAVIONIX_ADSB_OUT_CFG, MAVLINK_MESSAGE_INFO_UAVIONIX_ADSB_OUT_DYNAMIC, MAVLINK_MESSAGE_INFO_UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT, MAVLINK_MESSAGE_INFO_DEVICE_OP_READ, MAVLINK_MESSAGE_INFO_DEVICE_OP_READ_REPLY, MAVLINK_MESSAGE_INFO_DEVICE_OP_WRITE, MAVLINK_MESSAGE_INFO_DEVICE_OP_WRITE_REPLY, MAVLINK_MESSAGE_INFO_ADAP_TUNING, MAVLINK_MESSAGE_INFO_VISION_POSITION_DELTA, MAVLINK_MESSAGE_INFO_AOA_SSA, MAVLINK_MESSAGE_INFO_ESC_TELEMETRY_1_TO_4, MAVLINK_MESSAGE_INFO_ESC_TELEMETRY_5_TO_8, MAVLINK_MESSAGE_INFO_ESC_TELEMETRY_9_TO_12, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_BASIC_ID, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_LOCATION, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_AUTHENTICATION, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_SELF_ID, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_SYSTEM, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_OPERATOR_ID, MAVLINK_MESSAGE_INFO_OPEN_DRONE_ID_MESSAGE_PACK, MAVLINK_MESSAGE_INFO_ATMO_COMP_EXT, MAVLINK_MESSAGE_INFO_WOW_SENSOR, MAVLINK_MESSAGE_INFO_GPS_RNX_DATA, MAVLINK_MESSAGE_INFO_EMB_ATMO_COM, MAVLINK_MESSAGE_INFO_RADAR_ALTM, MAVLINK_MESSAGE_INFO_INS1, MAVLINK_MESSAGE_INFO_INS2, MAVLINK_MESSAGE_INFO_TUB_LND, MAVLINK_MESSAGE_INFO_SERVOS, MAVLINK_MESSAGE_INFO_PUBIT_RESULT, MAVLINK_MESSAGE_INFO_PBIT_RESULT, MAVLINK_MESSAGE_INFO_IFBIT_RESULT, MAVLINK_MESSAGE_INFO_EngineStatus, MAVLINK_MESSAGE_INFO_EngineState, MAVLINK_MESSAGE_INFO_TurbineState, MAVLINK_MESSAGE_INFO_BMUState, MAVLINK_MESSAGE_INFO_CCMState, MAVLINK_MESSAGE_INFO_ICAROUS_HEARTBEAT, MAVLINK_MESSAGE_INFO_ICAROUS_KINEMATIC_BANDS} +# define MAVLINK_MESSAGE_NAMES {{ "ACTUATOR_CONTROL_TARGET", 140 }, { "ACTUATOR_OUTPUT_STATUS", 375 }, { "ADAP_TUNING", 11010 }, { "ADSB_VEHICLE", 246 }, { "AHRS", 163 }, { "AHRS2", 178 }, { "AHRS3", 182 }, { "AIRSPEED_AUTOCAL", 174 }, { "AIS_VESSEL", 301 }, { "ALTITUDE", 141 }, { "AOA_SSA", 11020 }, { "AP_ADC", 153 }, { "ATMO_COMP_EXT", 20006 }, { "ATTITUDE", 30 }, { "ATTITUDE_QUATERNION", 31 }, { "ATTITUDE_QUATERNION_COV", 61 }, { "ATTITUDE_TARGET", 83 }, { "ATT_POS_MOCAP", 138 }, { "AUTH_KEY", 7 }, { "AUTOPILOT_STATE_FOR_GIMBAL_DEVICE", 286 }, { "AUTOPILOT_VERSION", 148 }, { "AUTOPILOT_VERSION_REQUEST", 183 }, { "BATTERY2", 181 }, { "BATTERY_STATUS", 147 }, { "BMUState", 20301 }, { "BUTTON_CHANGE", 257 }, { "CAMERA_CAPTURE_STATUS", 262 }, { "CAMERA_FEEDBACK", 180 }, { "CAMERA_FOV_STATUS", 271 }, { "CAMERA_IMAGE_CAPTURED", 263 }, { "CAMERA_INFORMATION", 259 }, { "CAMERA_SETTINGS", 260 }, { "CAMERA_STATUS", 179 }, { "CAMERA_TRACKING_GEO_STATUS", 276 }, { "CAMERA_TRACKING_IMAGE_STATUS", 275 }, { "CAMERA_TRIGGER", 112 }, { "CCMState", 20302 }, { "CELLULAR_CONFIG", 336 }, { "CELLULAR_STATUS", 334 }, { "CHANGE_OPERATOR_CONTROL", 5 }, { "CHANGE_OPERATOR_CONTROL_ACK", 6 }, { "COLLISION", 247 }, { "COMMAND_ACK", 77 }, { "COMMAND_CANCEL", 80 }, { "COMMAND_INT", 75 }, { "COMMAND_LONG", 76 }, { "COMPASSMOT_STATUS", 177 }, { "COMPONENT_INFORMATION", 395 }, { "CONTROL_SYSTEM_STATE", 146 }, { "DATA16", 169 }, { "DATA32", 170 }, { "DATA64", 171 }, { "DATA96", 172 }, { "DATA_STREAM", 67 }, { "DATA_TRANSMISSION_HANDSHAKE", 130 }, { "DEBUG", 254 }, { "DEBUG_FLOAT_ARRAY", 350 }, { "DEBUG_VECT", 250 }, { "DEEPSTALL", 195 }, { "DEVICE_OP_READ", 11000 }, { "DEVICE_OP_READ_REPLY", 11001 }, { "DEVICE_OP_WRITE", 11002 }, { "DEVICE_OP_WRITE_REPLY", 11003 }, { "DIGICAM_CONFIGURE", 154 }, { "DIGICAM_CONTROL", 155 }, { "DISTANCE_SENSOR", 132 }, { "EFI_STATUS", 225 }, { "EKF_STATUS_REPORT", 193 }, { "EMB_ATMO_COM", 20101 }, { "ENCAPSULATED_DATA", 131 }, { "ESC_INFO", 290 }, { "ESC_STATUS", 291 }, { "ESC_TELEMETRY_1_TO_4", 11030 }, { "ESC_TELEMETRY_5_TO_8", 11031 }, { "ESC_TELEMETRY_9_TO_12", 11032 }, { "ESTIMATOR_STATUS", 230 }, { "EXTENDED_SYS_STATE", 245 }, { "EngineState", 20201 }, { "EngineStatus", 20200 }, { "FENCE_FETCH_POINT", 161 }, { "FENCE_POINT", 160 }, { "FENCE_STATUS", 162 }, { "FILE_TRANSFER_PROTOCOL", 110 }, { "FLIGHT_INFORMATION", 264 }, { "FOLLOW_TARGET", 144 }, { "GENERATOR_STATUS", 373 }, { "GIMBAL_CONTROL", 201 }, { "GIMBAL_DEVICE_ATTITUDE_STATUS", 285 }, { "GIMBAL_DEVICE_INFORMATION", 283 }, { "GIMBAL_DEVICE_SET_ATTITUDE", 284 }, { "GIMBAL_MANAGER_INFORMATION", 280 }, { "GIMBAL_MANAGER_SET_ATTITUDE", 282 }, { "GIMBAL_MANAGER_SET_TILTPAN", 287 }, { "GIMBAL_MANAGER_STATUS", 281 }, { "GIMBAL_REPORT", 200 }, { "GIMBAL_TORQUE_CMD_REPORT", 214 }, { "GLOBAL_POSITION_INT", 33 }, { "GLOBAL_POSITION_INT_COV", 63 }, { "GLOBAL_VISION_POSITION_ESTIMATE", 101 }, { "GOPRO_GET_REQUEST", 216 }, { "GOPRO_GET_RESPONSE", 217 }, { "GOPRO_HEARTBEAT", 215 }, { "GOPRO_SET_REQUEST", 218 }, { "GOPRO_SET_RESPONSE", 219 }, { "GPS2_RAW", 124 }, { "GPS2_RTK", 128 }, { "GPS_GLOBAL_ORIGIN", 49 }, { "GPS_INJECT_DATA", 123 }, { "GPS_INPUT", 232 }, { "GPS_RAW_INT", 24 }, { "GPS_RNX_DATA", 20008 }, { "GPS_RTCM_DATA", 233 }, { "GPS_RTK", 127 }, { "GPS_STATUS", 25 }, { "HEARTBEAT", 0 }, { "HIGHRES_IMU", 105 }, { "HIGH_LATENCY", 234 }, { "HIGH_LATENCY2", 235 }, { "HIL_ACTUATOR_CONTROLS", 93 }, { "HIL_CONTROLS", 91 }, { "HIL_GPS", 113 }, { "HIL_OPTICAL_FLOW", 114 }, { "HIL_RC_INPUTS_RAW", 92 }, { "HIL_SENSOR", 107 }, { "HIL_STATE", 90 }, { "HIL_STATE_QUATERNION", 115 }, { "HOME_POSITION", 242 }, { "HWSTATUS", 165 }, { "ICAROUS_HEARTBEAT", 42000 }, { "ICAROUS_KINEMATIC_BANDS", 42001 }, { "IFBIT_RESULT", 20109 }, { "INS1", 20103 }, { "INS2", 20104 }, { "ISBD_LINK_STATUS", 335 }, { "LANDING_TARGET", 149 }, { "LED_CONTROL", 186 }, { "LIMITS_STATUS", 167 }, { "LINK_NODE_STATUS", 8 }, { "LOCAL_POSITION_NED", 32 }, { "LOCAL_POSITION_NED_COV", 64 }, { "LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET", 89 }, { "LOGGING_ACK", 268 }, { "LOGGING_DATA", 266 }, { "LOGGING_DATA_ACKED", 267 }, { "LOG_DATA", 120 }, { "LOG_ENTRY", 118 }, { "LOG_ERASE", 121 }, { "LOG_REQUEST_DATA", 119 }, { "LOG_REQUEST_END", 122 }, { "LOG_REQUEST_LIST", 117 }, { "MAG_CAL_PROGRESS", 191 }, { "MAG_CAL_REPORT", 192 }, { "MANUAL_CONTROL", 69 }, { "MANUAL_SETPOINT", 81 }, { "MEMINFO", 152 }, { "MEMORY_VECT", 249 }, { "MESSAGE_INTERVAL", 244 }, { "MISSION_ACK", 47 }, { "MISSION_CHANGED", 52 }, { "MISSION_CLEAR_ALL", 45 }, { "MISSION_COUNT", 44 }, { "MISSION_CURRENT", 42 }, { "MISSION_ITEM", 39 }, { "MISSION_ITEM_INT", 73 }, { "MISSION_ITEM_REACHED", 46 }, { "MISSION_REQUEST", 40 }, { "MISSION_REQUEST_INT", 51 }, { "MISSION_REQUEST_LIST", 43 }, { "MISSION_REQUEST_PARTIAL_LIST", 37 }, { "MISSION_SET_CURRENT", 41 }, { "MISSION_WRITE_PARTIAL_LIST", 38 }, { "MOUNT_CONFIGURE", 156 }, { "MOUNT_CONTROL", 157 }, { "MOUNT_ORIENTATION", 265 }, { "MOUNT_STATUS", 158 }, { "NAMED_VALUE_FLOAT", 251 }, { "NAMED_VALUE_INT", 252 }, { "NAV_CONTROLLER_OUTPUT", 62 }, { "OBSTACLE_DISTANCE", 330 }, { "ODOMETRY", 331 }, { "ONBOARD_COMPUTER_STATUS", 390 }, { "OPEN_DRONE_ID_AUTHENTICATION", 12902 }, { "OPEN_DRONE_ID_BASIC_ID", 12900 }, { "OPEN_DRONE_ID_LOCATION", 12901 }, { "OPEN_DRONE_ID_MESSAGE_PACK", 12915 }, { "OPEN_DRONE_ID_OPERATOR_ID", 12905 }, { "OPEN_DRONE_ID_SELF_ID", 12903 }, { "OPEN_DRONE_ID_SYSTEM", 12904 }, { "OPTICAL_FLOW", 100 }, { "OPTICAL_FLOW_RAD", 106 }, { "ORBIT_EXECUTION_STATUS", 360 }, { "PARAM_ACK_TRANSACTION", 19 }, { "PARAM_EXT_ACK", 324 }, { "PARAM_EXT_ACK_TRIMMED", 327 }, { "PARAM_EXT_REQUEST_LIST", 321 }, { "PARAM_EXT_REQUEST_READ", 320 }, { "PARAM_EXT_SET", 323 }, { "PARAM_EXT_SET_TRIMMED", 326 }, { "PARAM_EXT_VALUE", 322 }, { "PARAM_EXT_VALUE_TRIMMED", 325 }, { "PARAM_MAP_RC", 50 }, { "PARAM_REQUEST_LIST", 21 }, { "PARAM_REQUEST_READ", 20 }, { "PARAM_SET", 23 }, { "PARAM_VALUE", 22 }, { "PBIT_RESULT", 20108 }, { "PID_TUNING", 194 }, { "PING", 4 }, { "PLAY_TUNE", 258 }, { "PLAY_TUNE_V2", 400 }, { "POSITION_TARGET_GLOBAL_INT", 87 }, { "POSITION_TARGET_LOCAL_NED", 85 }, { "POWER_STATUS", 125 }, { "PROTOCOL_VERSION", 300 }, { "PUBIT_RESULT", 20107 }, { "RADAR_ALTM", 20102 }, { "RADIO", 166 }, { "RADIO_STATUS", 109 }, { "RALLY_FETCH_POINT", 176 }, { "RALLY_POINT", 175 }, { "RANGEFINDER", 173 }, { "RAW_IMU", 27 }, { "RAW_PRESSURE", 28 }, { "RAW_RPM", 339 }, { "RC_CHANNELS", 65 }, { "RC_CHANNELS_OVERRIDE", 70 }, { "RC_CHANNELS_RAW", 35 }, { "RC_CHANNELS_SCALED", 34 }, { "REMOTE_LOG_BLOCK_STATUS", 185 }, { "REMOTE_LOG_DATA_BLOCK", 184 }, { "REQUEST_DATA_STREAM", 66 }, { "RESOURCE_REQUEST", 142 }, { "RPM", 226 }, { "SAFETY_ALLOWED_AREA", 55 }, { "SAFETY_SET_ALLOWED_AREA", 54 }, { "SCALED_IMU", 26 }, { "SCALED_IMU2", 116 }, { "SCALED_IMU3", 129 }, { "SCALED_PRESSURE", 29 }, { "SCALED_PRESSURE2", 137 }, { "SCALED_PRESSURE3", 143 }, { "SENSOR_OFFSETS", 150 }, { "SERIAL_CONTROL", 126 }, { "SERVOS", 20106 }, { "SERVO_OUTPUT_RAW", 36 }, { "SETUP_SIGNING", 256 }, { "SET_ACTUATOR_CONTROL_TARGET", 139 }, { "SET_ATTITUDE_TARGET", 82 }, { "SET_GPS_GLOBAL_ORIGIN", 48 }, { "SET_HOME_POSITION", 243 }, { "SET_MAG_OFFSETS", 151 }, { "SET_MODE", 11 }, { "SET_POSITION_TARGET_GLOBAL_INT", 86 }, { "SET_POSITION_TARGET_LOCAL_NED", 84 }, { "SIMSTATE", 164 }, { "SIM_STATE", 108 }, { "SMART_BATTERY_INFO", 370 }, { "SMART_BATTERY_STATUS", 371 }, { "STATUSTEXT", 253 }, { "STORAGE_INFORMATION", 261 }, { "SUPPORTED_TUNES", 401 }, { "SYSTEM_TIME", 2 }, { "SYS_STATUS", 1 }, { "TERRAIN_CHECK", 135 }, { "TERRAIN_DATA", 134 }, { "TERRAIN_REPORT", 136 }, { "TERRAIN_REQUEST", 133 }, { "TIMESYNC", 111 }, { "TIME_ESTIMATE_TO_TARGET", 380 }, { "TRAJECTORY_REPRESENTATION_BEZIER", 333 }, { "TRAJECTORY_REPRESENTATION_WAYPOINTS", 332 }, { "TUB_LND", 20105 }, { "TUNNEL", 385 }, { "TurbineState", 20300 }, { "UAVCAN_NODE_INFO", 311 }, { "UAVCAN_NODE_STATUS", 310 }, { "UAVIONIX_ADSB_OUT_CFG", 10001 }, { "UAVIONIX_ADSB_OUT_DYNAMIC", 10002 }, { "UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT", 10003 }, { "UTM_GLOBAL_POSITION", 340 }, { "V2_EXTENSION", 248 }, { "VFR_HUD", 74 }, { "VIBRATION", 241 }, { "VICON_POSITION_ESTIMATE", 104 }, { "VIDEO_STREAM_INFORMATION", 269 }, { "VIDEO_STREAM_STATUS", 270 }, { "VISION_POSITION_DELTA", 11011 }, { "VISION_POSITION_ESTIMATE", 102 }, { "VISION_SPEED_ESTIMATE", 103 }, { "WHEEL_DISTANCE", 9000 }, { "WIFI_CONFIG_AP", 299 }, { "WINCH_STATUS", 9005 }, { "WIND", 168 }, { "WIND_COV", 231 }, { "WOW_SENSOR", 20007 }} # if MAVLINK_COMMAND_24BIT # include "../mavlink_get_info.h" # endif diff --git a/ardupilotmega/mavlink_msg_bmustate.h b/ardupilotmega/mavlink_msg_bmustate.h new file mode 100644 index 0000000..e2fd859 --- /dev/null +++ b/ardupilotmega/mavlink_msg_bmustate.h @@ -0,0 +1,731 @@ +#pragma once +// MESSAGE BMUState PACKING + +#define MAVLINK_MSG_ID_BMUState 20301 + + +typedef struct __mavlink_bmustate_t { + uint32_t time_boot_ms; /*< [ms] Timestamp (milliseconds since system boot)*/ + uint16_t BAT1_group_voltage_mv; /*< group_voltage_mv*/ + uint16_t BAT1_group_current_dA; /*< group_current_dA*/ + uint16_t BAT1_remain_perc; /*< remain_perc*/ + uint16_t BAT1_low_temp_degC; /*< low_temp_degC*/ + uint16_t BAT1_hi_temp_degC; /*< hi_temp_degC*/ + uint16_t BAT1_voltages_mv[7]; /*< voltages_mv*/ + uint16_t BAT1_hi_voltage_mv; /*< hi_voltage_mv*/ + uint16_t BAT1_low_voltage_mv; /*< low_voltage_mv*/ + uint16_t BAT2_group_voltage_mv; /*< group_voltage_mv*/ + uint16_t BAT2_group_current_dA; /*< group_current_dA*/ + uint16_t BAT2_remain_perc; /*< remain_perc*/ + uint16_t BAT2_low_temp_degC; /*< low_temp_degC*/ + uint16_t BAT2_hi_temp_degC; /*< hi_temp_degC*/ + uint16_t BAT2_voltages_mv[14]; /*< voltages_mv*/ + uint16_t BAT2_hi_voltage_mv; /*< hi_voltage_mv*/ + uint16_t BAT2_low_voltage_mv; /*< low_voltage_mv*/ + uint8_t BAT1_STA1; /*< BAT1_STA1*/ + uint8_t BAT1_STA2; /*< BAT1_STA2*/ + uint8_t BAT2_STA1; /*< BAT2_STA1*/ + uint8_t BAT2_STA2; /*< BAT2_STA2*/ + uint8_t p500w_enabled; /*< p500w_enabled*/ +} mavlink_bmustate_t; + +#define MAVLINK_MSG_ID_BMUState_LEN 79 +#define MAVLINK_MSG_ID_BMUState_MIN_LEN 79 +#define MAVLINK_MSG_ID_20301_LEN 79 +#define MAVLINK_MSG_ID_20301_MIN_LEN 79 + +#define MAVLINK_MSG_ID_BMUState_CRC 233 +#define MAVLINK_MSG_ID_20301_CRC 233 + +#define MAVLINK_MSG_BMUState_FIELD_BAT1_VOLTAGES_MV_LEN 7 +#define MAVLINK_MSG_BMUState_FIELD_BAT2_VOLTAGES_MV_LEN 14 + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_BMUState { \ + 20301, \ + "BMUState", \ + 22, \ + { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_bmustate_t, time_boot_ms) }, \ + { "BAT1_group_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_bmustate_t, BAT1_group_voltage_mv) }, \ + { "BAT1_group_current_dA", NULL, MAVLINK_TYPE_UINT16_T, 0, 6, offsetof(mavlink_bmustate_t, BAT1_group_current_dA) }, \ + { "BAT1_remain_perc", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_bmustate_t, BAT1_remain_perc) }, \ + { "BAT1_low_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_bmustate_t, BAT1_low_temp_degC) }, \ + { "BAT1_hi_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_bmustate_t, BAT1_hi_temp_degC) }, \ + { "BAT1_voltages_mv", NULL, MAVLINK_TYPE_UINT16_T, 7, 14, offsetof(mavlink_bmustate_t, BAT1_voltages_mv) }, \ + { "BAT1_hi_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 28, offsetof(mavlink_bmustate_t, BAT1_hi_voltage_mv) }, \ + { "BAT1_low_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 30, offsetof(mavlink_bmustate_t, BAT1_low_voltage_mv) }, \ + { "BAT2_group_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 32, offsetof(mavlink_bmustate_t, BAT2_group_voltage_mv) }, \ + { "BAT2_group_current_dA", NULL, MAVLINK_TYPE_UINT16_T, 0, 34, offsetof(mavlink_bmustate_t, BAT2_group_current_dA) }, \ + { "BAT2_remain_perc", NULL, MAVLINK_TYPE_UINT16_T, 0, 36, offsetof(mavlink_bmustate_t, BAT2_remain_perc) }, \ + { "BAT2_low_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 38, offsetof(mavlink_bmustate_t, BAT2_low_temp_degC) }, \ + { "BAT2_hi_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 40, offsetof(mavlink_bmustate_t, BAT2_hi_temp_degC) }, \ + { "BAT2_voltages_mv", NULL, MAVLINK_TYPE_UINT16_T, 14, 42, offsetof(mavlink_bmustate_t, BAT2_voltages_mv) }, \ + { "BAT2_hi_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 70, offsetof(mavlink_bmustate_t, BAT2_hi_voltage_mv) }, \ + { "BAT2_low_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 72, offsetof(mavlink_bmustate_t, BAT2_low_voltage_mv) }, \ + { "BAT1_STA1", NULL, MAVLINK_TYPE_UINT8_T, 0, 74, offsetof(mavlink_bmustate_t, BAT1_STA1) }, \ + { "BAT1_STA2", NULL, MAVLINK_TYPE_UINT8_T, 0, 75, offsetof(mavlink_bmustate_t, BAT1_STA2) }, \ + { "BAT2_STA1", NULL, MAVLINK_TYPE_UINT8_T, 0, 76, offsetof(mavlink_bmustate_t, BAT2_STA1) }, \ + { "BAT2_STA2", NULL, MAVLINK_TYPE_UINT8_T, 0, 77, offsetof(mavlink_bmustate_t, BAT2_STA2) }, \ + { "p500w_enabled", NULL, MAVLINK_TYPE_UINT8_T, 0, 78, offsetof(mavlink_bmustate_t, p500w_enabled) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_BMUState { \ + "BMUState", \ + 22, \ + { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_bmustate_t, time_boot_ms) }, \ + { "BAT1_group_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_bmustate_t, BAT1_group_voltage_mv) }, \ + { "BAT1_group_current_dA", NULL, MAVLINK_TYPE_UINT16_T, 0, 6, offsetof(mavlink_bmustate_t, BAT1_group_current_dA) }, \ + { "BAT1_remain_perc", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_bmustate_t, BAT1_remain_perc) }, \ + { "BAT1_low_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_bmustate_t, BAT1_low_temp_degC) }, \ + { "BAT1_hi_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_bmustate_t, BAT1_hi_temp_degC) }, \ + { "BAT1_voltages_mv", NULL, MAVLINK_TYPE_UINT16_T, 7, 14, offsetof(mavlink_bmustate_t, BAT1_voltages_mv) }, \ + { "BAT1_hi_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 28, offsetof(mavlink_bmustate_t, BAT1_hi_voltage_mv) }, \ + { "BAT1_low_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 30, offsetof(mavlink_bmustate_t, BAT1_low_voltage_mv) }, \ + { "BAT2_group_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 32, offsetof(mavlink_bmustate_t, BAT2_group_voltage_mv) }, \ + { "BAT2_group_current_dA", NULL, MAVLINK_TYPE_UINT16_T, 0, 34, offsetof(mavlink_bmustate_t, BAT2_group_current_dA) }, \ + { "BAT2_remain_perc", NULL, MAVLINK_TYPE_UINT16_T, 0, 36, offsetof(mavlink_bmustate_t, BAT2_remain_perc) }, \ + { "BAT2_low_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 38, offsetof(mavlink_bmustate_t, BAT2_low_temp_degC) }, \ + { "BAT2_hi_temp_degC", NULL, MAVLINK_TYPE_UINT16_T, 0, 40, offsetof(mavlink_bmustate_t, BAT2_hi_temp_degC) }, \ + { "BAT2_voltages_mv", NULL, MAVLINK_TYPE_UINT16_T, 14, 42, offsetof(mavlink_bmustate_t, BAT2_voltages_mv) }, \ + { "BAT2_hi_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 70, offsetof(mavlink_bmustate_t, BAT2_hi_voltage_mv) }, \ + { "BAT2_low_voltage_mv", NULL, MAVLINK_TYPE_UINT16_T, 0, 72, offsetof(mavlink_bmustate_t, BAT2_low_voltage_mv) }, \ + { "BAT1_STA1", NULL, MAVLINK_TYPE_UINT8_T, 0, 74, offsetof(mavlink_bmustate_t, BAT1_STA1) }, \ + { "BAT1_STA2", NULL, MAVLINK_TYPE_UINT8_T, 0, 75, offsetof(mavlink_bmustate_t, BAT1_STA2) }, \ + { "BAT2_STA1", NULL, MAVLINK_TYPE_UINT8_T, 0, 76, offsetof(mavlink_bmustate_t, BAT2_STA1) }, \ + { "BAT2_STA2", NULL, MAVLINK_TYPE_UINT8_T, 0, 77, offsetof(mavlink_bmustate_t, BAT2_STA2) }, \ + { "p500w_enabled", NULL, MAVLINK_TYPE_UINT8_T, 0, 78, offsetof(mavlink_bmustate_t, p500w_enabled) }, \ + } \ +} +#endif + +/** + * @brief Pack a bmustate message + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param msg The MAVLink message to compress the data into + * + * @param time_boot_ms [ms] Timestamp (milliseconds since system boot) + * @param BAT1_group_voltage_mv group_voltage_mv + * @param BAT1_group_current_dA group_current_dA + * @param BAT1_remain_perc remain_perc + * @param BAT1_low_temp_degC low_temp_degC + * @param BAT1_hi_temp_degC hi_temp_degC + * @param BAT1_voltages_mv voltages_mv + * @param BAT1_hi_voltage_mv hi_voltage_mv + * @param BAT1_low_voltage_mv low_voltage_mv + * @param BAT2_group_voltage_mv group_voltage_mv + * @param BAT2_group_current_dA group_current_dA + * @param BAT2_remain_perc remain_perc + * @param BAT2_low_temp_degC low_temp_degC + * @param BAT2_hi_temp_degC hi_temp_degC + * @param BAT2_voltages_mv voltages_mv + * @param BAT2_hi_voltage_mv hi_voltage_mv + * @param BAT2_low_voltage_mv low_voltage_mv + * @param BAT1_STA1 BAT1_STA1 + * @param BAT1_STA2 BAT1_STA2 + * @param BAT2_STA1 BAT2_STA1 + * @param BAT2_STA2 BAT2_STA2 + * @param p500w_enabled p500w_enabled + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_bmustate_pack(uint16_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint32_t time_boot_ms, uint16_t BAT1_group_voltage_mv, uint16_t BAT1_group_current_dA, uint16_t BAT1_remain_perc, uint16_t BAT1_low_temp_degC, uint16_t BAT1_hi_temp_degC, const uint16_t *BAT1_voltages_mv, uint16_t BAT1_hi_voltage_mv, uint16_t BAT1_low_voltage_mv, uint16_t BAT2_group_voltage_mv, uint16_t BAT2_group_current_dA, uint16_t BAT2_remain_perc, uint16_t BAT2_low_temp_degC, uint16_t BAT2_hi_temp_degC, const uint16_t *BAT2_voltages_mv, uint16_t BAT2_hi_voltage_mv, uint16_t BAT2_low_voltage_mv, uint8_t BAT1_STA1, uint8_t BAT1_STA2, uint8_t BAT2_STA1, uint8_t BAT2_STA2, uint8_t p500w_enabled) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_BMUState_LEN]; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint16_t(buf, 4, BAT1_group_voltage_mv); + _mav_put_uint16_t(buf, 6, BAT1_group_current_dA); + _mav_put_uint16_t(buf, 8, BAT1_remain_perc); + _mav_put_uint16_t(buf, 10, BAT1_low_temp_degC); + _mav_put_uint16_t(buf, 12, BAT1_hi_temp_degC); + _mav_put_uint16_t(buf, 28, BAT1_hi_voltage_mv); + _mav_put_uint16_t(buf, 30, BAT1_low_voltage_mv); + _mav_put_uint16_t(buf, 32, BAT2_group_voltage_mv); + _mav_put_uint16_t(buf, 34, BAT2_group_current_dA); + _mav_put_uint16_t(buf, 36, BAT2_remain_perc); + _mav_put_uint16_t(buf, 38, BAT2_low_temp_degC); + _mav_put_uint16_t(buf, 40, BAT2_hi_temp_degC); + _mav_put_uint16_t(buf, 70, BAT2_hi_voltage_mv); + _mav_put_uint16_t(buf, 72, BAT2_low_voltage_mv); + _mav_put_uint8_t(buf, 74, BAT1_STA1); + _mav_put_uint8_t(buf, 75, BAT1_STA2); + _mav_put_uint8_t(buf, 76, BAT2_STA1); + _mav_put_uint8_t(buf, 77, BAT2_STA2); + _mav_put_uint8_t(buf, 78, p500w_enabled); + _mav_put_uint16_t_array(buf, 14, BAT1_voltages_mv, 7); + _mav_put_uint16_t_array(buf, 42, BAT2_voltages_mv, 14); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_BMUState_LEN); +#else + mavlink_bmustate_t packet; + packet.time_boot_ms = time_boot_ms; + packet.BAT1_group_voltage_mv = BAT1_group_voltage_mv; + packet.BAT1_group_current_dA = BAT1_group_current_dA; + packet.BAT1_remain_perc = BAT1_remain_perc; + packet.BAT1_low_temp_degC = BAT1_low_temp_degC; + packet.BAT1_hi_temp_degC = BAT1_hi_temp_degC; + packet.BAT1_hi_voltage_mv = BAT1_hi_voltage_mv; + packet.BAT1_low_voltage_mv = BAT1_low_voltage_mv; + packet.BAT2_group_voltage_mv = BAT2_group_voltage_mv; + packet.BAT2_group_current_dA = BAT2_group_current_dA; + packet.BAT2_remain_perc = BAT2_remain_perc; + packet.BAT2_low_temp_degC = BAT2_low_temp_degC; + packet.BAT2_hi_temp_degC = BAT2_hi_temp_degC; + packet.BAT2_hi_voltage_mv = BAT2_hi_voltage_mv; + packet.BAT2_low_voltage_mv = BAT2_low_voltage_mv; + packet.BAT1_STA1 = BAT1_STA1; + packet.BAT1_STA2 = BAT1_STA2; + packet.BAT2_STA1 = BAT2_STA1; + packet.BAT2_STA2 = BAT2_STA2; + packet.p500w_enabled = p500w_enabled; + mav_array_memcpy(packet.BAT1_voltages_mv, BAT1_voltages_mv, sizeof(uint16_t)*7); + mav_array_memcpy(packet.BAT2_voltages_mv, BAT2_voltages_mv, sizeof(uint16_t)*14); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BMUState_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_BMUState; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_BMUState_MIN_LEN, MAVLINK_MSG_ID_BMUState_LEN, MAVLINK_MSG_ID_BMUState_CRC); +} + +/** + * @brief Pack a bmustate message on a channel + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param chan The MAVLink channel this message will be sent over + * @param msg The MAVLink message to compress the data into + * @param time_boot_ms [ms] Timestamp (milliseconds since system boot) + * @param BAT1_group_voltage_mv group_voltage_mv + * @param BAT1_group_current_dA group_current_dA + * @param BAT1_remain_perc remain_perc + * @param BAT1_low_temp_degC low_temp_degC + * @param BAT1_hi_temp_degC hi_temp_degC + * @param BAT1_voltages_mv voltages_mv + * @param BAT1_hi_voltage_mv hi_voltage_mv + * @param BAT1_low_voltage_mv low_voltage_mv + * @param BAT2_group_voltage_mv group_voltage_mv + * @param BAT2_group_current_dA group_current_dA + * @param BAT2_remain_perc remain_perc + * @param BAT2_low_temp_degC low_temp_degC + * @param BAT2_hi_temp_degC hi_temp_degC + * @param BAT2_voltages_mv voltages_mv + * @param BAT2_hi_voltage_mv hi_voltage_mv + * @param BAT2_low_voltage_mv low_voltage_mv + * @param BAT1_STA1 BAT1_STA1 + * @param BAT1_STA2 BAT1_STA2 + * @param BAT2_STA1 BAT2_STA1 + * @param BAT2_STA2 BAT2_STA2 + * @param p500w_enabled p500w_enabled + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_bmustate_pack_chan(uint16_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint32_t time_boot_ms,uint16_t BAT1_group_voltage_mv,uint16_t BAT1_group_current_dA,uint16_t BAT1_remain_perc,uint16_t BAT1_low_temp_degC,uint16_t BAT1_hi_temp_degC,const uint16_t *BAT1_voltages_mv,uint16_t BAT1_hi_voltage_mv,uint16_t BAT1_low_voltage_mv,uint16_t BAT2_group_voltage_mv,uint16_t BAT2_group_current_dA,uint16_t BAT2_remain_perc,uint16_t BAT2_low_temp_degC,uint16_t BAT2_hi_temp_degC,const uint16_t *BAT2_voltages_mv,uint16_t BAT2_hi_voltage_mv,uint16_t BAT2_low_voltage_mv,uint8_t BAT1_STA1,uint8_t BAT1_STA2,uint8_t BAT2_STA1,uint8_t BAT2_STA2,uint8_t p500w_enabled) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_BMUState_LEN]; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint16_t(buf, 4, BAT1_group_voltage_mv); + _mav_put_uint16_t(buf, 6, BAT1_group_current_dA); + _mav_put_uint16_t(buf, 8, BAT1_remain_perc); + _mav_put_uint16_t(buf, 10, BAT1_low_temp_degC); + _mav_put_uint16_t(buf, 12, BAT1_hi_temp_degC); + _mav_put_uint16_t(buf, 28, BAT1_hi_voltage_mv); + _mav_put_uint16_t(buf, 30, BAT1_low_voltage_mv); + _mav_put_uint16_t(buf, 32, BAT2_group_voltage_mv); + _mav_put_uint16_t(buf, 34, BAT2_group_current_dA); + _mav_put_uint16_t(buf, 36, BAT2_remain_perc); + _mav_put_uint16_t(buf, 38, BAT2_low_temp_degC); + _mav_put_uint16_t(buf, 40, BAT2_hi_temp_degC); + _mav_put_uint16_t(buf, 70, BAT2_hi_voltage_mv); + _mav_put_uint16_t(buf, 72, BAT2_low_voltage_mv); + _mav_put_uint8_t(buf, 74, BAT1_STA1); + _mav_put_uint8_t(buf, 75, BAT1_STA2); + _mav_put_uint8_t(buf, 76, BAT2_STA1); + _mav_put_uint8_t(buf, 77, BAT2_STA2); + _mav_put_uint8_t(buf, 78, p500w_enabled); + _mav_put_uint16_t_array(buf, 14, BAT1_voltages_mv, 7); + _mav_put_uint16_t_array(buf, 42, BAT2_voltages_mv, 14); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_BMUState_LEN); +#else + mavlink_bmustate_t packet; + packet.time_boot_ms = time_boot_ms; + packet.BAT1_group_voltage_mv = BAT1_group_voltage_mv; + packet.BAT1_group_current_dA = BAT1_group_current_dA; + packet.BAT1_remain_perc = BAT1_remain_perc; + packet.BAT1_low_temp_degC = BAT1_low_temp_degC; + packet.BAT1_hi_temp_degC = BAT1_hi_temp_degC; + packet.BAT1_hi_voltage_mv = BAT1_hi_voltage_mv; + packet.BAT1_low_voltage_mv = BAT1_low_voltage_mv; + packet.BAT2_group_voltage_mv = BAT2_group_voltage_mv; + packet.BAT2_group_current_dA = BAT2_group_current_dA; + packet.BAT2_remain_perc = BAT2_remain_perc; + packet.BAT2_low_temp_degC = BAT2_low_temp_degC; + packet.BAT2_hi_temp_degC = BAT2_hi_temp_degC; + packet.BAT2_hi_voltage_mv = BAT2_hi_voltage_mv; + packet.BAT2_low_voltage_mv = BAT2_low_voltage_mv; + packet.BAT1_STA1 = BAT1_STA1; + packet.BAT1_STA2 = BAT1_STA2; + packet.BAT2_STA1 = BAT2_STA1; + packet.BAT2_STA2 = BAT2_STA2; + packet.p500w_enabled = p500w_enabled; + mav_array_memcpy(packet.BAT1_voltages_mv, BAT1_voltages_mv, sizeof(uint16_t)*7); + mav_array_memcpy(packet.BAT2_voltages_mv, BAT2_voltages_mv, sizeof(uint16_t)*14); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BMUState_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_BMUState; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_BMUState_MIN_LEN, MAVLINK_MSG_ID_BMUState_LEN, MAVLINK_MSG_ID_BMUState_CRC); +} + +/** + * @brief Encode a bmustate struct + * + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param msg The MAVLink message to compress the data into + * @param bmustate C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_bmustate_encode(uint16_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_bmustate_t* bmustate) +{ + return mavlink_msg_bmustate_pack(system_id, component_id, msg, bmustate->time_boot_ms, bmustate->BAT1_group_voltage_mv, bmustate->BAT1_group_current_dA, bmustate->BAT1_remain_perc, bmustate->BAT1_low_temp_degC, bmustate->BAT1_hi_temp_degC, bmustate->BAT1_voltages_mv, bmustate->BAT1_hi_voltage_mv, bmustate->BAT1_low_voltage_mv, bmustate->BAT2_group_voltage_mv, bmustate->BAT2_group_current_dA, bmustate->BAT2_remain_perc, bmustate->BAT2_low_temp_degC, bmustate->BAT2_hi_temp_degC, bmustate->BAT2_voltages_mv, bmustate->BAT2_hi_voltage_mv, bmustate->BAT2_low_voltage_mv, bmustate->BAT1_STA1, bmustate->BAT1_STA2, bmustate->BAT2_STA1, bmustate->BAT2_STA2, bmustate->p500w_enabled); +} + +/** + * @brief Encode a bmustate struct on a channel + * + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param chan The MAVLink channel this message will be sent over + * @param msg The MAVLink message to compress the data into + * @param bmustate C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_bmustate_encode_chan(uint16_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_bmustate_t* bmustate) +{ + return mavlink_msg_bmustate_pack_chan(system_id, component_id, chan, msg, bmustate->time_boot_ms, bmustate->BAT1_group_voltage_mv, bmustate->BAT1_group_current_dA, bmustate->BAT1_remain_perc, bmustate->BAT1_low_temp_degC, bmustate->BAT1_hi_temp_degC, bmustate->BAT1_voltages_mv, bmustate->BAT1_hi_voltage_mv, bmustate->BAT1_low_voltage_mv, bmustate->BAT2_group_voltage_mv, bmustate->BAT2_group_current_dA, bmustate->BAT2_remain_perc, bmustate->BAT2_low_temp_degC, bmustate->BAT2_hi_temp_degC, bmustate->BAT2_voltages_mv, bmustate->BAT2_hi_voltage_mv, bmustate->BAT2_low_voltage_mv, bmustate->BAT1_STA1, bmustate->BAT1_STA2, bmustate->BAT2_STA1, bmustate->BAT2_STA2, bmustate->p500w_enabled); +} + +/** + * @brief Send a bmustate message + * @param chan MAVLink channel to send the message + * + * @param time_boot_ms [ms] Timestamp (milliseconds since system boot) + * @param BAT1_group_voltage_mv group_voltage_mv + * @param BAT1_group_current_dA group_current_dA + * @param BAT1_remain_perc remain_perc + * @param BAT1_low_temp_degC low_temp_degC + * @param BAT1_hi_temp_degC hi_temp_degC + * @param BAT1_voltages_mv voltages_mv + * @param BAT1_hi_voltage_mv hi_voltage_mv + * @param BAT1_low_voltage_mv low_voltage_mv + * @param BAT2_group_voltage_mv group_voltage_mv + * @param BAT2_group_current_dA group_current_dA + * @param BAT2_remain_perc remain_perc + * @param BAT2_low_temp_degC low_temp_degC + * @param BAT2_hi_temp_degC hi_temp_degC + * @param BAT2_voltages_mv voltages_mv + * @param BAT2_hi_voltage_mv hi_voltage_mv + * @param BAT2_low_voltage_mv low_voltage_mv + * @param BAT1_STA1 BAT1_STA1 + * @param BAT1_STA2 BAT1_STA2 + * @param BAT2_STA1 BAT2_STA1 + * @param BAT2_STA2 BAT2_STA2 + * @param p500w_enabled p500w_enabled + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_bmustate_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint16_t BAT1_group_voltage_mv, uint16_t BAT1_group_current_dA, uint16_t BAT1_remain_perc, uint16_t BAT1_low_temp_degC, uint16_t BAT1_hi_temp_degC, const uint16_t *BAT1_voltages_mv, uint16_t BAT1_hi_voltage_mv, uint16_t BAT1_low_voltage_mv, uint16_t BAT2_group_voltage_mv, uint16_t BAT2_group_current_dA, uint16_t BAT2_remain_perc, uint16_t BAT2_low_temp_degC, uint16_t BAT2_hi_temp_degC, const uint16_t *BAT2_voltages_mv, uint16_t BAT2_hi_voltage_mv, uint16_t BAT2_low_voltage_mv, uint8_t BAT1_STA1, uint8_t BAT1_STA2, uint8_t BAT2_STA1, uint8_t BAT2_STA2, uint8_t p500w_enabled) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_BMUState_LEN]; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint16_t(buf, 4, BAT1_group_voltage_mv); + _mav_put_uint16_t(buf, 6, BAT1_group_current_dA); + _mav_put_uint16_t(buf, 8, BAT1_remain_perc); + _mav_put_uint16_t(buf, 10, BAT1_low_temp_degC); + _mav_put_uint16_t(buf, 12, BAT1_hi_temp_degC); + _mav_put_uint16_t(buf, 28, BAT1_hi_voltage_mv); + _mav_put_uint16_t(buf, 30, BAT1_low_voltage_mv); + _mav_put_uint16_t(buf, 32, BAT2_group_voltage_mv); + _mav_put_uint16_t(buf, 34, BAT2_group_current_dA); + _mav_put_uint16_t(buf, 36, BAT2_remain_perc); + _mav_put_uint16_t(buf, 38, BAT2_low_temp_degC); + _mav_put_uint16_t(buf, 40, BAT2_hi_temp_degC); + _mav_put_uint16_t(buf, 70, BAT2_hi_voltage_mv); + _mav_put_uint16_t(buf, 72, BAT2_low_voltage_mv); + _mav_put_uint8_t(buf, 74, BAT1_STA1); + _mav_put_uint8_t(buf, 75, BAT1_STA2); + _mav_put_uint8_t(buf, 76, BAT2_STA1); + _mav_put_uint8_t(buf, 77, BAT2_STA2); + _mav_put_uint8_t(buf, 78, p500w_enabled); + _mav_put_uint16_t_array(buf, 14, BAT1_voltages_mv, 7); + _mav_put_uint16_t_array(buf, 42, BAT2_voltages_mv, 14); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BMUState, buf, MAVLINK_MSG_ID_BMUState_MIN_LEN, MAVLINK_MSG_ID_BMUState_LEN, MAVLINK_MSG_ID_BMUState_CRC); +#else + mavlink_bmustate_t packet; + packet.time_boot_ms = time_boot_ms; + packet.BAT1_group_voltage_mv = BAT1_group_voltage_mv; + packet.BAT1_group_current_dA = BAT1_group_current_dA; + packet.BAT1_remain_perc = BAT1_remain_perc; + packet.BAT1_low_temp_degC = BAT1_low_temp_degC; + packet.BAT1_hi_temp_degC = BAT1_hi_temp_degC; + packet.BAT1_hi_voltage_mv = BAT1_hi_voltage_mv; + packet.BAT1_low_voltage_mv = BAT1_low_voltage_mv; + packet.BAT2_group_voltage_mv = BAT2_group_voltage_mv; + packet.BAT2_group_current_dA = BAT2_group_current_dA; + packet.BAT2_remain_perc = BAT2_remain_perc; + packet.BAT2_low_temp_degC = BAT2_low_temp_degC; + packet.BAT2_hi_temp_degC = BAT2_hi_temp_degC; + packet.BAT2_hi_voltage_mv = BAT2_hi_voltage_mv; + packet.BAT2_low_voltage_mv = BAT2_low_voltage_mv; + packet.BAT1_STA1 = BAT1_STA1; + packet.BAT1_STA2 = BAT1_STA2; + packet.BAT2_STA1 = BAT2_STA1; + packet.BAT2_STA2 = BAT2_STA2; + packet.p500w_enabled = p500w_enabled; + mav_array_memcpy(packet.BAT1_voltages_mv, BAT1_voltages_mv, sizeof(uint16_t)*7); + mav_array_memcpy(packet.BAT2_voltages_mv, BAT2_voltages_mv, sizeof(uint16_t)*14); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BMUState, (const char *)&packet, MAVLINK_MSG_ID_BMUState_MIN_LEN, MAVLINK_MSG_ID_BMUState_LEN, MAVLINK_MSG_ID_BMUState_CRC); +#endif +} + +/** + * @brief Send a bmustate message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_bmustate_send_struct(mavlink_channel_t chan, const mavlink_bmustate_t* bmustate) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_bmustate_send(chan, bmustate->time_boot_ms, bmustate->BAT1_group_voltage_mv, bmustate->BAT1_group_current_dA, bmustate->BAT1_remain_perc, bmustate->BAT1_low_temp_degC, bmustate->BAT1_hi_temp_degC, bmustate->BAT1_voltages_mv, bmustate->BAT1_hi_voltage_mv, bmustate->BAT1_low_voltage_mv, bmustate->BAT2_group_voltage_mv, bmustate->BAT2_group_current_dA, bmustate->BAT2_remain_perc, bmustate->BAT2_low_temp_degC, bmustate->BAT2_hi_temp_degC, bmustate->BAT2_voltages_mv, bmustate->BAT2_hi_voltage_mv, bmustate->BAT2_low_voltage_mv, bmustate->BAT1_STA1, bmustate->BAT1_STA2, bmustate->BAT2_STA1, bmustate->BAT2_STA2, bmustate->p500w_enabled); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BMUState, (const char *)bmustate, MAVLINK_MSG_ID_BMUState_MIN_LEN, MAVLINK_MSG_ID_BMUState_LEN, MAVLINK_MSG_ID_BMUState_CRC); +#endif +} + +#if MAVLINK_MSG_ID_BMUState_LEN <= MAVLINK_MAX_PAYLOAD_LEN +/* + This varient of _send() can be used to save stack space by re-using + memory from the receive buffer. The caller provides a + mavlink_message_t which is the size of a full mavlink message. This + is usually the receive buffer for the channel, and allows a reply to an + incoming message with minimum stack space usage. + */ +static inline void mavlink_msg_bmustate_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint32_t time_boot_ms, uint16_t BAT1_group_voltage_mv, uint16_t BAT1_group_current_dA, uint16_t BAT1_remain_perc, uint16_t BAT1_low_temp_degC, uint16_t BAT1_hi_temp_degC, const uint16_t *BAT1_voltages_mv, uint16_t BAT1_hi_voltage_mv, uint16_t BAT1_low_voltage_mv, uint16_t BAT2_group_voltage_mv, uint16_t BAT2_group_current_dA, uint16_t BAT2_remain_perc, uint16_t BAT2_low_temp_degC, uint16_t BAT2_hi_temp_degC, const uint16_t *BAT2_voltages_mv, uint16_t BAT2_hi_voltage_mv, uint16_t BAT2_low_voltage_mv, uint8_t BAT1_STA1, uint8_t BAT1_STA2, uint8_t BAT2_STA1, uint8_t BAT2_STA2, uint8_t p500w_enabled) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint16_t(buf, 4, BAT1_group_voltage_mv); + _mav_put_uint16_t(buf, 6, BAT1_group_current_dA); + _mav_put_uint16_t(buf, 8, BAT1_remain_perc); + _mav_put_uint16_t(buf, 10, BAT1_low_temp_degC); + _mav_put_uint16_t(buf, 12, BAT1_hi_temp_degC); + _mav_put_uint16_t(buf, 28, BAT1_hi_voltage_mv); + _mav_put_uint16_t(buf, 30, BAT1_low_voltage_mv); + _mav_put_uint16_t(buf, 32, BAT2_group_voltage_mv); + _mav_put_uint16_t(buf, 34, BAT2_group_current_dA); + _mav_put_uint16_t(buf, 36, BAT2_remain_perc); + _mav_put_uint16_t(buf, 38, BAT2_low_temp_degC); + _mav_put_uint16_t(buf, 40, BAT2_hi_temp_degC); + _mav_put_uint16_t(buf, 70, BAT2_hi_voltage_mv); + _mav_put_uint16_t(buf, 72, BAT2_low_voltage_mv); + _mav_put_uint8_t(buf, 74, BAT1_STA1); + _mav_put_uint8_t(buf, 75, BAT1_STA2); + _mav_put_uint8_t(buf, 76, BAT2_STA1); + _mav_put_uint8_t(buf, 77, BAT2_STA2); + _mav_put_uint8_t(buf, 78, p500w_enabled); + _mav_put_uint16_t_array(buf, 14, BAT1_voltages_mv, 7); + _mav_put_uint16_t_array(buf, 42, BAT2_voltages_mv, 14); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BMUState, buf, MAVLINK_MSG_ID_BMUState_MIN_LEN, MAVLINK_MSG_ID_BMUState_LEN, MAVLINK_MSG_ID_BMUState_CRC); +#else + mavlink_bmustate_t *packet = (mavlink_bmustate_t *)msgbuf; + packet->time_boot_ms = time_boot_ms; + packet->BAT1_group_voltage_mv = BAT1_group_voltage_mv; + packet->BAT1_group_current_dA = BAT1_group_current_dA; + packet->BAT1_remain_perc = BAT1_remain_perc; + packet->BAT1_low_temp_degC = BAT1_low_temp_degC; + packet->BAT1_hi_temp_degC = BAT1_hi_temp_degC; + packet->BAT1_hi_voltage_mv = BAT1_hi_voltage_mv; + packet->BAT1_low_voltage_mv = BAT1_low_voltage_mv; + packet->BAT2_group_voltage_mv = BAT2_group_voltage_mv; + packet->BAT2_group_current_dA = BAT2_group_current_dA; + packet->BAT2_remain_perc = BAT2_remain_perc; + packet->BAT2_low_temp_degC = BAT2_low_temp_degC; + packet->BAT2_hi_temp_degC = BAT2_hi_temp_degC; + packet->BAT2_hi_voltage_mv = BAT2_hi_voltage_mv; + packet->BAT2_low_voltage_mv = BAT2_low_voltage_mv; + packet->BAT1_STA1 = BAT1_STA1; + packet->BAT1_STA2 = BAT1_STA2; + packet->BAT2_STA1 = BAT2_STA1; + packet->BAT2_STA2 = BAT2_STA2; + packet->p500w_enabled = p500w_enabled; + mav_array_memcpy(packet->BAT1_voltages_mv, BAT1_voltages_mv, sizeof(uint16_t)*7); + mav_array_memcpy(packet->BAT2_voltages_mv, BAT2_voltages_mv, sizeof(uint16_t)*14); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BMUState, (const char *)packet, MAVLINK_MSG_ID_BMUState_MIN_LEN, MAVLINK_MSG_ID_BMUState_LEN, MAVLINK_MSG_ID_BMUState_CRC); +#endif +} +#endif + +#endif + +// MESSAGE BMUState UNPACKING + + +/** + * @brief Get field time_boot_ms from bmustate message + * + * @return [ms] Timestamp (milliseconds since system boot) + */ +static inline uint32_t mavlink_msg_bmustate_get_time_boot_ms(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint32_t(msg, 0); +} + +/** + * @brief Get field BAT1_group_voltage_mv from bmustate message + * + * @return group_voltage_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_group_voltage_mv(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 4); +} + +/** + * @brief Get field BAT1_group_current_dA from bmustate message + * + * @return group_current_dA + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_group_current_dA(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 6); +} + +/** + * @brief Get field BAT1_remain_perc from bmustate message + * + * @return remain_perc + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_remain_perc(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 8); +} + +/** + * @brief Get field BAT1_low_temp_degC from bmustate message + * + * @return low_temp_degC + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_low_temp_degC(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 10); +} + +/** + * @brief Get field BAT1_hi_temp_degC from bmustate message + * + * @return hi_temp_degC + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_hi_temp_degC(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 12); +} + +/** + * @brief Get field BAT1_voltages_mv from bmustate message + * + * @return voltages_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_voltages_mv(const mavlink_message_t* msg, uint16_t *BAT1_voltages_mv) +{ + return _MAV_RETURN_uint16_t_array(msg, BAT1_voltages_mv, 7, 14); +} + +/** + * @brief Get field BAT1_hi_voltage_mv from bmustate message + * + * @return hi_voltage_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_hi_voltage_mv(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 28); +} + +/** + * @brief Get field BAT1_low_voltage_mv from bmustate message + * + * @return low_voltage_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT1_low_voltage_mv(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 30); +} + +/** + * @brief Get field BAT2_group_voltage_mv from bmustate message + * + * @return group_voltage_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_group_voltage_mv(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 32); +} + +/** + * @brief Get field BAT2_group_current_dA from bmustate message + * + * @return group_current_dA + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_group_current_dA(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 34); +} + +/** + * @brief Get field BAT2_remain_perc from bmustate message + * + * @return remain_perc + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_remain_perc(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 36); +} + +/** + * @brief Get field BAT2_low_temp_degC from bmustate message + * + * @return low_temp_degC + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_low_temp_degC(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 38); +} + +/** + * @brief Get field BAT2_hi_temp_degC from bmustate message + * + * @return hi_temp_degC + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_hi_temp_degC(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 40); +} + +/** + * @brief Get field BAT2_voltages_mv from bmustate message + * + * @return voltages_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_voltages_mv(const mavlink_message_t* msg, uint16_t *BAT2_voltages_mv) +{ + return _MAV_RETURN_uint16_t_array(msg, BAT2_voltages_mv, 14, 42); +} + +/** + * @brief Get field BAT2_hi_voltage_mv from bmustate message + * + * @return hi_voltage_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_hi_voltage_mv(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 70); +} + +/** + * @brief Get field BAT2_low_voltage_mv from bmustate message + * + * @return low_voltage_mv + */ +static inline uint16_t mavlink_msg_bmustate_get_BAT2_low_voltage_mv(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 72); +} + +/** + * @brief Get field BAT1_STA1 from bmustate message + * + * @return BAT1_STA1 + */ +static inline uint8_t mavlink_msg_bmustate_get_BAT1_STA1(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 74); +} + +/** + * @brief Get field BAT1_STA2 from bmustate message + * + * @return BAT1_STA2 + */ +static inline uint8_t mavlink_msg_bmustate_get_BAT1_STA2(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 75); +} + +/** + * @brief Get field BAT2_STA1 from bmustate message + * + * @return BAT2_STA1 + */ +static inline uint8_t mavlink_msg_bmustate_get_BAT2_STA1(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 76); +} + +/** + * @brief Get field BAT2_STA2 from bmustate message + * + * @return BAT2_STA2 + */ +static inline uint8_t mavlink_msg_bmustate_get_BAT2_STA2(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 77); +} + +/** + * @brief Get field p500w_enabled from bmustate message + * + * @return p500w_enabled + */ +static inline uint8_t mavlink_msg_bmustate_get_p500w_enabled(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 78); +} + +/** + * @brief Decode a bmustate message into a struct + * + * @param msg The message to decode + * @param bmustate C-struct to decode the message contents into + */ +static inline void mavlink_msg_bmustate_decode(const mavlink_message_t* msg, mavlink_bmustate_t* bmustate) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + bmustate->time_boot_ms = mavlink_msg_bmustate_get_time_boot_ms(msg); + bmustate->BAT1_group_voltage_mv = mavlink_msg_bmustate_get_BAT1_group_voltage_mv(msg); + bmustate->BAT1_group_current_dA = mavlink_msg_bmustate_get_BAT1_group_current_dA(msg); + bmustate->BAT1_remain_perc = mavlink_msg_bmustate_get_BAT1_remain_perc(msg); + bmustate->BAT1_low_temp_degC = mavlink_msg_bmustate_get_BAT1_low_temp_degC(msg); + bmustate->BAT1_hi_temp_degC = mavlink_msg_bmustate_get_BAT1_hi_temp_degC(msg); + mavlink_msg_bmustate_get_BAT1_voltages_mv(msg, bmustate->BAT1_voltages_mv); + bmustate->BAT1_hi_voltage_mv = mavlink_msg_bmustate_get_BAT1_hi_voltage_mv(msg); + bmustate->BAT1_low_voltage_mv = mavlink_msg_bmustate_get_BAT1_low_voltage_mv(msg); + bmustate->BAT2_group_voltage_mv = mavlink_msg_bmustate_get_BAT2_group_voltage_mv(msg); + bmustate->BAT2_group_current_dA = mavlink_msg_bmustate_get_BAT2_group_current_dA(msg); + bmustate->BAT2_remain_perc = mavlink_msg_bmustate_get_BAT2_remain_perc(msg); + bmustate->BAT2_low_temp_degC = mavlink_msg_bmustate_get_BAT2_low_temp_degC(msg); + bmustate->BAT2_hi_temp_degC = mavlink_msg_bmustate_get_BAT2_hi_temp_degC(msg); + mavlink_msg_bmustate_get_BAT2_voltages_mv(msg, bmustate->BAT2_voltages_mv); + bmustate->BAT2_hi_voltage_mv = mavlink_msg_bmustate_get_BAT2_hi_voltage_mv(msg); + bmustate->BAT2_low_voltage_mv = mavlink_msg_bmustate_get_BAT2_low_voltage_mv(msg); + bmustate->BAT1_STA1 = mavlink_msg_bmustate_get_BAT1_STA1(msg); + bmustate->BAT1_STA2 = mavlink_msg_bmustate_get_BAT1_STA2(msg); + bmustate->BAT2_STA1 = mavlink_msg_bmustate_get_BAT2_STA1(msg); + bmustate->BAT2_STA2 = mavlink_msg_bmustate_get_BAT2_STA2(msg); + bmustate->p500w_enabled = mavlink_msg_bmustate_get_p500w_enabled(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_BMUState_LEN? msg->len : MAVLINK_MSG_ID_BMUState_LEN; + memset(bmustate, 0, MAVLINK_MSG_ID_BMUState_LEN); + memcpy(bmustate, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/ardupilotmega/mavlink_msg_ccmstate.h b/ardupilotmega/mavlink_msg_ccmstate.h new file mode 100644 index 0000000..9f09470 --- /dev/null +++ b/ardupilotmega/mavlink_msg_ccmstate.h @@ -0,0 +1,306 @@ +#pragma once +// MESSAGE CCMState PACKING + +#define MAVLINK_MSG_ID_CCMState 20302 + + +typedef struct __mavlink_ccmstate_t { + uint32_t time_boot_ms; /*< [ms] Timestamp (milliseconds since system boot)*/ + uint32_t fuel_level; /*< fuel level*/ + int16_t temp[4]; /*< temp*/ + uint16_t volts[4]; /*< volts*/ + uint8_t echo_seq; /*< echo seq*/ +} mavlink_ccmstate_t; + +#define MAVLINK_MSG_ID_CCMState_LEN 25 +#define MAVLINK_MSG_ID_CCMState_MIN_LEN 25 +#define MAVLINK_MSG_ID_20302_LEN 25 +#define MAVLINK_MSG_ID_20302_MIN_LEN 25 + +#define MAVLINK_MSG_ID_CCMState_CRC 5 +#define MAVLINK_MSG_ID_20302_CRC 5 + +#define MAVLINK_MSG_CCMState_FIELD_TEMP_LEN 4 +#define MAVLINK_MSG_CCMState_FIELD_VOLTS_LEN 4 + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_CCMState { \ + 20302, \ + "CCMState", \ + 5, \ + { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_ccmstate_t, time_boot_ms) }, \ + { "fuel_level", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_ccmstate_t, fuel_level) }, \ + { "temp", NULL, MAVLINK_TYPE_INT16_T, 4, 8, offsetof(mavlink_ccmstate_t, temp) }, \ + { "volts", NULL, MAVLINK_TYPE_UINT16_T, 4, 16, offsetof(mavlink_ccmstate_t, volts) }, \ + { "echo_seq", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_ccmstate_t, echo_seq) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_CCMState { \ + "CCMState", \ + 5, \ + { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_ccmstate_t, time_boot_ms) }, \ + { "fuel_level", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_ccmstate_t, fuel_level) }, \ + { "temp", NULL, MAVLINK_TYPE_INT16_T, 4, 8, offsetof(mavlink_ccmstate_t, temp) }, \ + { "volts", NULL, MAVLINK_TYPE_UINT16_T, 4, 16, offsetof(mavlink_ccmstate_t, volts) }, \ + { "echo_seq", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_ccmstate_t, echo_seq) }, \ + } \ +} +#endif + +/** + * @brief Pack a ccmstate message + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param msg The MAVLink message to compress the data into + * + * @param time_boot_ms [ms] Timestamp (milliseconds since system boot) + * @param fuel_level fuel level + * @param temp temp + * @param volts volts + * @param echo_seq echo seq + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_ccmstate_pack(uint16_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint32_t time_boot_ms, uint32_t fuel_level, const int16_t *temp, const uint16_t *volts, uint8_t echo_seq) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_CCMState_LEN]; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint32_t(buf, 4, fuel_level); + _mav_put_uint8_t(buf, 24, echo_seq); + _mav_put_int16_t_array(buf, 8, temp, 4); + _mav_put_uint16_t_array(buf, 16, volts, 4); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_CCMState_LEN); +#else + mavlink_ccmstate_t packet; + packet.time_boot_ms = time_boot_ms; + packet.fuel_level = fuel_level; + packet.echo_seq = echo_seq; + mav_array_memcpy(packet.temp, temp, sizeof(int16_t)*4); + mav_array_memcpy(packet.volts, volts, sizeof(uint16_t)*4); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CCMState_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_CCMState; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_CCMState_MIN_LEN, MAVLINK_MSG_ID_CCMState_LEN, MAVLINK_MSG_ID_CCMState_CRC); +} + +/** + * @brief Pack a ccmstate message on a channel + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param chan The MAVLink channel this message will be sent over + * @param msg The MAVLink message to compress the data into + * @param time_boot_ms [ms] Timestamp (milliseconds since system boot) + * @param fuel_level fuel level + * @param temp temp + * @param volts volts + * @param echo_seq echo seq + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_ccmstate_pack_chan(uint16_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint32_t time_boot_ms,uint32_t fuel_level,const int16_t *temp,const uint16_t *volts,uint8_t echo_seq) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_CCMState_LEN]; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint32_t(buf, 4, fuel_level); + _mav_put_uint8_t(buf, 24, echo_seq); + _mav_put_int16_t_array(buf, 8, temp, 4); + _mav_put_uint16_t_array(buf, 16, volts, 4); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_CCMState_LEN); +#else + mavlink_ccmstate_t packet; + packet.time_boot_ms = time_boot_ms; + packet.fuel_level = fuel_level; + packet.echo_seq = echo_seq; + mav_array_memcpy(packet.temp, temp, sizeof(int16_t)*4); + mav_array_memcpy(packet.volts, volts, sizeof(uint16_t)*4); + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CCMState_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_CCMState; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_CCMState_MIN_LEN, MAVLINK_MSG_ID_CCMState_LEN, MAVLINK_MSG_ID_CCMState_CRC); +} + +/** + * @brief Encode a ccmstate struct + * + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param msg The MAVLink message to compress the data into + * @param ccmstate C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_ccmstate_encode(uint16_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_ccmstate_t* ccmstate) +{ + return mavlink_msg_ccmstate_pack(system_id, component_id, msg, ccmstate->time_boot_ms, ccmstate->fuel_level, ccmstate->temp, ccmstate->volts, ccmstate->echo_seq); +} + +/** + * @brief Encode a ccmstate struct on a channel + * + * @param system_id ID of this system + * @param component_id ID of this component (e.g. 200 for IMU) + * @param chan The MAVLink channel this message will be sent over + * @param msg The MAVLink message to compress the data into + * @param ccmstate C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_ccmstate_encode_chan(uint16_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_ccmstate_t* ccmstate) +{ + return mavlink_msg_ccmstate_pack_chan(system_id, component_id, chan, msg, ccmstate->time_boot_ms, ccmstate->fuel_level, ccmstate->temp, ccmstate->volts, ccmstate->echo_seq); +} + +/** + * @brief Send a ccmstate message + * @param chan MAVLink channel to send the message + * + * @param time_boot_ms [ms] Timestamp (milliseconds since system boot) + * @param fuel_level fuel level + * @param temp temp + * @param volts volts + * @param echo_seq echo seq + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_ccmstate_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint32_t fuel_level, const int16_t *temp, const uint16_t *volts, uint8_t echo_seq) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_CCMState_LEN]; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint32_t(buf, 4, fuel_level); + _mav_put_uint8_t(buf, 24, echo_seq); + _mav_put_int16_t_array(buf, 8, temp, 4); + _mav_put_uint16_t_array(buf, 16, volts, 4); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CCMState, buf, MAVLINK_MSG_ID_CCMState_MIN_LEN, MAVLINK_MSG_ID_CCMState_LEN, MAVLINK_MSG_ID_CCMState_CRC); +#else + mavlink_ccmstate_t packet; + packet.time_boot_ms = time_boot_ms; + packet.fuel_level = fuel_level; + packet.echo_seq = echo_seq; + mav_array_memcpy(packet.temp, temp, sizeof(int16_t)*4); + mav_array_memcpy(packet.volts, volts, sizeof(uint16_t)*4); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CCMState, (const char *)&packet, MAVLINK_MSG_ID_CCMState_MIN_LEN, MAVLINK_MSG_ID_CCMState_LEN, MAVLINK_MSG_ID_CCMState_CRC); +#endif +} + +/** + * @brief Send a ccmstate message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_ccmstate_send_struct(mavlink_channel_t chan, const mavlink_ccmstate_t* ccmstate) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_ccmstate_send(chan, ccmstate->time_boot_ms, ccmstate->fuel_level, ccmstate->temp, ccmstate->volts, ccmstate->echo_seq); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CCMState, (const char *)ccmstate, MAVLINK_MSG_ID_CCMState_MIN_LEN, MAVLINK_MSG_ID_CCMState_LEN, MAVLINK_MSG_ID_CCMState_CRC); +#endif +} + +#if MAVLINK_MSG_ID_CCMState_LEN <= MAVLINK_MAX_PAYLOAD_LEN +/* + This varient of _send() can be used to save stack space by re-using + memory from the receive buffer. The caller provides a + mavlink_message_t which is the size of a full mavlink message. This + is usually the receive buffer for the channel, and allows a reply to an + incoming message with minimum stack space usage. + */ +static inline void mavlink_msg_ccmstate_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint32_t time_boot_ms, uint32_t fuel_level, const int16_t *temp, const uint16_t *volts, uint8_t echo_seq) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint32_t(buf, 0, time_boot_ms); + _mav_put_uint32_t(buf, 4, fuel_level); + _mav_put_uint8_t(buf, 24, echo_seq); + _mav_put_int16_t_array(buf, 8, temp, 4); + _mav_put_uint16_t_array(buf, 16, volts, 4); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CCMState, buf, MAVLINK_MSG_ID_CCMState_MIN_LEN, MAVLINK_MSG_ID_CCMState_LEN, MAVLINK_MSG_ID_CCMState_CRC); +#else + mavlink_ccmstate_t *packet = (mavlink_ccmstate_t *)msgbuf; + packet->time_boot_ms = time_boot_ms; + packet->fuel_level = fuel_level; + packet->echo_seq = echo_seq; + mav_array_memcpy(packet->temp, temp, sizeof(int16_t)*4); + mav_array_memcpy(packet->volts, volts, sizeof(uint16_t)*4); + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CCMState, (const char *)packet, MAVLINK_MSG_ID_CCMState_MIN_LEN, MAVLINK_MSG_ID_CCMState_LEN, MAVLINK_MSG_ID_CCMState_CRC); +#endif +} +#endif + +#endif + +// MESSAGE CCMState UNPACKING + + +/** + * @brief Get field time_boot_ms from ccmstate message + * + * @return [ms] Timestamp (milliseconds since system boot) + */ +static inline uint32_t mavlink_msg_ccmstate_get_time_boot_ms(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint32_t(msg, 0); +} + +/** + * @brief Get field fuel_level from ccmstate message + * + * @return fuel level + */ +static inline uint32_t mavlink_msg_ccmstate_get_fuel_level(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint32_t(msg, 4); +} + +/** + * @brief Get field temp from ccmstate message + * + * @return temp + */ +static inline uint16_t mavlink_msg_ccmstate_get_temp(const mavlink_message_t* msg, int16_t *temp) +{ + return _MAV_RETURN_int16_t_array(msg, temp, 4, 8); +} + +/** + * @brief Get field volts from ccmstate message + * + * @return volts + */ +static inline uint16_t mavlink_msg_ccmstate_get_volts(const mavlink_message_t* msg, uint16_t *volts) +{ + return _MAV_RETURN_uint16_t_array(msg, volts, 4, 16); +} + +/** + * @brief Get field echo_seq from ccmstate message + * + * @return echo seq + */ +static inline uint8_t mavlink_msg_ccmstate_get_echo_seq(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 24); +} + +/** + * @brief Decode a ccmstate message into a struct + * + * @param msg The message to decode + * @param ccmstate C-struct to decode the message contents into + */ +static inline void mavlink_msg_ccmstate_decode(const mavlink_message_t* msg, mavlink_ccmstate_t* ccmstate) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + ccmstate->time_boot_ms = mavlink_msg_ccmstate_get_time_boot_ms(msg); + ccmstate->fuel_level = mavlink_msg_ccmstate_get_fuel_level(msg); + mavlink_msg_ccmstate_get_temp(msg, ccmstate->temp); + mavlink_msg_ccmstate_get_volts(msg, ccmstate->volts); + ccmstate->echo_seq = mavlink_msg_ccmstate_get_echo_seq(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_CCMState_LEN? msg->len : MAVLINK_MSG_ID_CCMState_LEN; + memset(ccmstate, 0, MAVLINK_MSG_ID_CCMState_LEN); + memcpy(ccmstate, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/ardupilotmega/testsuite.h b/ardupilotmega/testsuite.h index ead3bad..a0ae1dd 100644 --- a/ardupilotmega/testsuite.h +++ b/ardupilotmega/testsuite.h @@ -4447,6 +4447,139 @@ static void mavlink_test_turbinestate(uint16_t system_id, uint8_t component_id, MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); } +static void mavlink_test_bmustate(uint16_t system_id, uint8_t component_id, mavlink_message_t *last_msg) +{ +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0); + if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_BMUState >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_bmustate_t packet_in = { + 963497464,17443,17547,17651,17755,17859,{ 17963, 17964, 17965, 17966, 17967, 17968, 17969 },18691,18795,18899,19003,19107,19211,19315,{ 19419, 19420, 19421, 19422, 19423, 19424, 19425, 19426, 19427, 19428, 19429, 19430, 19431, 19432 },20875,20979,99,166,233,44,111 + }; + mavlink_bmustate_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.time_boot_ms = packet_in.time_boot_ms; + packet1.BAT1_group_voltage_mv = packet_in.BAT1_group_voltage_mv; + packet1.BAT1_group_current_dA = packet_in.BAT1_group_current_dA; + packet1.BAT1_remain_perc = packet_in.BAT1_remain_perc; + packet1.BAT1_low_temp_degC = packet_in.BAT1_low_temp_degC; + packet1.BAT1_hi_temp_degC = packet_in.BAT1_hi_temp_degC; + packet1.BAT1_hi_voltage_mv = packet_in.BAT1_hi_voltage_mv; + packet1.BAT1_low_voltage_mv = packet_in.BAT1_low_voltage_mv; + packet1.BAT2_group_voltage_mv = packet_in.BAT2_group_voltage_mv; + packet1.BAT2_group_current_dA = packet_in.BAT2_group_current_dA; + packet1.BAT2_remain_perc = packet_in.BAT2_remain_perc; + packet1.BAT2_low_temp_degC = packet_in.BAT2_low_temp_degC; + packet1.BAT2_hi_temp_degC = packet_in.BAT2_hi_temp_degC; + packet1.BAT2_hi_voltage_mv = packet_in.BAT2_hi_voltage_mv; + packet1.BAT2_low_voltage_mv = packet_in.BAT2_low_voltage_mv; + packet1.BAT1_STA1 = packet_in.BAT1_STA1; + packet1.BAT1_STA2 = packet_in.BAT1_STA2; + packet1.BAT2_STA1 = packet_in.BAT2_STA1; + packet1.BAT2_STA2 = packet_in.BAT2_STA2; + packet1.p500w_enabled = packet_in.p500w_enabled; + + mav_array_memcpy(packet1.BAT1_voltages_mv, packet_in.BAT1_voltages_mv, sizeof(uint16_t)*7); + mav_array_memcpy(packet1.BAT2_voltages_mv, packet_in.BAT2_voltages_mv, sizeof(uint16_t)*14); + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_BMUState_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_BMUState_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_bmustate_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_bmustate_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_bmustate_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.BAT1_group_voltage_mv , packet1.BAT1_group_current_dA , packet1.BAT1_remain_perc , packet1.BAT1_low_temp_degC , packet1.BAT1_hi_temp_degC , packet1.BAT1_voltages_mv , packet1.BAT1_hi_voltage_mv , packet1.BAT1_low_voltage_mv , packet1.BAT2_group_voltage_mv , packet1.BAT2_group_current_dA , packet1.BAT2_remain_perc , packet1.BAT2_low_temp_degC , packet1.BAT2_hi_temp_degC , packet1.BAT2_voltages_mv , packet1.BAT2_hi_voltage_mv , packet1.BAT2_low_voltage_mv , packet1.BAT1_STA1 , packet1.BAT1_STA2 , packet1.BAT2_STA1 , packet1.BAT2_STA2 , packet1.p500w_enabled ); + mavlink_msg_bmustate_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_bmustate_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.BAT1_group_voltage_mv , packet1.BAT1_group_current_dA , packet1.BAT1_remain_perc , packet1.BAT1_low_temp_degC , packet1.BAT1_hi_temp_degC , packet1.BAT1_voltages_mv , packet1.BAT1_hi_voltage_mv , packet1.BAT1_low_voltage_mv , packet1.BAT2_group_voltage_mv , packet1.BAT2_group_current_dA , packet1.BAT2_remain_perc , packet1.BAT2_low_temp_degC , packet1.BAT2_hi_temp_degC , packet1.BAT2_voltages_mv , packet1.BAT2_hi_voltage_mv , packet1.BAT2_low_voltage_mv , packet1.BAT1_STA1 , packet1.BAT1_STA2 , packet1.BAT2_STA1 , packet1.BAT2_STA2 , packet1.p500w_enabled ); + mavlink_msg_bmustate_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_to_send_buffer(buffer, &msg); + for (i=0; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_CCMState >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_ccmstate_t packet_in = { + 963497464,963497672,{ 17651, 17652, 17653, 17654 },{ 18067, 18068, 18069, 18070 },77 + }; + mavlink_ccmstate_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.time_boot_ms = packet_in.time_boot_ms; + packet1.fuel_level = packet_in.fuel_level; + packet1.echo_seq = packet_in.echo_seq; + + mav_array_memcpy(packet1.temp, packet_in.temp, sizeof(int16_t)*4); + mav_array_memcpy(packet1.volts, packet_in.volts, sizeof(uint16_t)*4); + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_CCMState_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_CCMState_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_ccmstate_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_ccmstate_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_ccmstate_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.fuel_level , packet1.temp , packet1.volts , packet1.echo_seq ); + mavlink_msg_ccmstate_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_ccmstate_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.fuel_level , packet1.temp , packet1.volts , packet1.echo_seq ); + mavlink_msg_ccmstate_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_to_send_buffer(buffer, &msg); + for (i=0; iCFuelMode Cmd + + BMU Status + Timestamp (milliseconds since system boot) + group_voltage_mv + group_current_dA + remain_perc + low_temp_degC + hi_temp_degC + voltages_mv + hi_voltage_mv + low_voltage_mv + group_voltage_mv + group_current_dA + remain_perc + low_temp_degC + hi_temp_degC + voltages_mv + hi_voltage_mv + low_voltage_mv + BAT1_STA1 + BAT1_STA2 + BAT2_STA1 + BAT2_STA2 + p500w_enabled + + + CCM Status + Timestamp (milliseconds since system boot) + fuel level + temp + volts + echo seq +