/* send AUTOPILOT_VERSION packet */ void GCS_MAVLINK::send_autopilot_version(uint8_t major_version, uint8_t minor_version, uint8_t patch_version, uint8_t version_type) const { uint32_t flight_sw_version = 0; uint32_t middleware_sw_version = 0; uint32_t os_sw_version = 0; uint32_t board_version = 0; uint8_t flight_custom_version[8]; uint8_t middleware_custom_version[8]; uint8_t os_custom_version[8]; uint16_t vendor_id = 0; uint16_t product_id = 0; uint64_t uid = 0; flight_sw_version = major_version << (8*3) | \ minor_version << (8*2) | \ patch_version << (8*1) | \ version_type << (8*0); #if defined(GIT_VERSION) strncpy((char *)flight_custom_version, GIT_VERSION, 8); #else memset(middleware_custom_version,0,8); #endif #if defined(PX4_GIT_VERSION) strncpy((char *)middleware_custom_version, PX4_GIT_VERSION, 8); #elif defined(VRBRAIN_GIT_VERSION) strncpy((char *)middleware_custom_version, VRBRAIN_GIT_VERSION, 8); #else memset(middleware_custom_version,0,8); #endif #if defined(NUTTX_GIT_VERSION) strncpy((char *)os_custom_version, NUTTX_GIT_VERSION, 8); #else memset(os_custom_version,0,8); #endif mavlink_msg_autopilot_version_send( chan, hal.util->get_capabilities(), flight_sw_version, middleware_sw_version, os_sw_version, board_version, flight_custom_version, middleware_custom_version, os_custom_version, vendor_id, product_id, uid ); }
/* send AUTOPILOT_VERSION packet */ void GCS_MAVLINK::send_autopilot_version(void) const { uint16_t capabilities = 0; uint32_t flight_sw_version = 0; uint32_t middleware_sw_version = 0; uint32_t os_sw_version = 0; uint32_t board_version = 0; uint8_t flight_custom_version[8]; uint8_t middleware_custom_version[8]; uint8_t os_custom_version[8]; uint16_t vendor_id = 0; uint16_t product_id = 0; uint64_t uid = 0; #if defined(GIT_VERSION) strncpy((char *)flight_custom_version, GIT_VERSION, 8); #else memset(middleware_custom_version,0,8); #endif #if defined(PX4_GIT_VERSION) strncpy((char *)middleware_custom_version, PX4_GIT_VERSION, 8); #else memset(middleware_custom_version,0,8); #endif #if defined(NUTTX_GIT_VERSION) strncpy((char *)os_custom_version, NUTTX_GIT_VERSION, 8); #else memset(os_custom_version,0,8); #endif mavlink_msg_autopilot_version_send( chan, capabilities, flight_sw_version, middleware_sw_version, os_sw_version, board_version, flight_custom_version, middleware_custom_version, os_custom_version, vendor_id, product_id, uid ); }
static void mavlink_send_autopilot_version(struct transport_tx *trans, struct link_device *dev) { /// TODO: fill in versions correctly, how should they be encoded? static uint32_t ver = PPRZ_VERSION_INT; static uint64_t sha; get_pprz_git_version((uint8_t *)&sha); mavlink_msg_autopilot_version_send(MAVLINK_COMM_0, 0, //uint64_t capabilities, ver, //uint32_t flight_sw_version, 0, //uint32_t middleware_sw_version, 0, //uint32_t os_sw_version, 0, //uint32_t board_version, 0, //const uint8_t *flight_custom_version, 0, //const uint8_t *middleware_custom_version, 0, //const uint8_t *os_custom_version, 0, //uint16_t vendor_id, 0, //uint16_t product_id, sha //uint64_t uid ); MAVLinkSendMessage(); }