Path: blob/master/libraries/AP_Common/AP_FWVersion.h
9572 views
#pragma once12#include <stdint.h>3#include <AP_Common/AP_Common.h>4#include <AP_HAL/AP_HAL_Boards.h>56class PACKED AP_FWVersion {78public:9/**10* @brief Struct to hold infomation about the software version struct11*12*/13// First 7 MSBs are a start sequence, LSB is a checksum14const uint64_t header;15// MSB (major version breaks compatibility), LSB (minor version no compatibility break)16const uint16_t header_version;17// Pointer size to extract pointer values18const uint8_t pointer_size;1920const uint8_t reserved; // padding21const uint8_t vehicle_type;22const uint8_t board_type;23const uint16_t board_subtype;24const uint8_t major;25const uint8_t minor;26const uint8_t patch;27const uint8_t fw_type; /*FIRMWARE_VERSION_TYPE*/28const uint32_t os_sw_version;29const char *fw_string;30const char *fw_hash_str;31const uint32_t fw_hash;32const char *fw_string_original;33const char *fw_short_string;34const char *middleware_name;35const char *middleware_hash_str;36const char *os_name;37const char *os_hash_str;3839static const AP_FWVersion &get_fwverz() { return fwver; }4041private:4243static const AP_FWVersion fwver;44};4546namespace AP {47const AP_FWVersion &fwversion();48};495051