| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- /**
- * @file furi_hal_version.h
- * Version HAL API
- */
- #pragma once
- #include <stdbool.h>
- #include <stdint.h>
- #include <string.h>
- #include <lib/toolbox/version.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define FURI_HAL_VERSION_NAME_LENGTH 8
- #define FURI_HAL_VERSION_ARRAY_NAME_LENGTH (FURI_HAL_VERSION_NAME_LENGTH + 1)
- /** BLE symbol + "Flipper " + name */
- #define FURI_HAL_VERSION_DEVICE_NAME_LENGTH (1 + 8 + FURI_HAL_VERSION_ARRAY_NAME_LENGTH)
- /** OTP Versions enum */
- typedef enum {
- FuriHalVersionOtpVersion0 = 0x00,
- FuriHalVersionOtpVersion1 = 0x01,
- FuriHalVersionOtpVersion2 = 0x02,
- FuriHalVersionOtpVersionEmpty = 0xFFFFFFFE,
- FuriHalVersionOtpVersionUnknown = 0xFFFFFFFF,
- } FuriHalVersionOtpVersion;
- /** Device Colors */
- typedef enum {
- FuriHalVersionColorUnknown = 0x00,
- FuriHalVersionColorBlack = 0x01,
- FuriHalVersionColorWhite = 0x02,
- } FuriHalVersionColor;
- /** Device Regions */
- typedef enum {
- FuriHalVersionRegionUnknown = 0x00,
- FuriHalVersionRegionEuRu = 0x01,
- FuriHalVersionRegionUsCaAu = 0x02,
- FuriHalVersionRegionJp = 0x03,
- } FuriHalVersionRegion;
- /** Device Display */
- typedef enum {
- FuriHalVersionDisplayUnknown = 0x00,
- FuriHalVersionDisplayErc = 0x01,
- FuriHalVersionDisplayMgg = 0x02,
- } FuriHalVersionDisplay;
- /** Init flipper version
- */
- void furi_hal_version_init();
- /** Check target firmware version
- *
- * @return true if target and real matches
- */
- bool furi_hal_version_do_i_belong_here();
- /** Get model name
- *
- * @return model name C-string
- */
- const char* furi_hal_version_get_model_name();
- /** Get OTP version
- *
- * @return OTP Version
- */
- const FuriHalVersionOtpVersion furi_hal_version_get_otp_version();
- /** Get hardware version
- *
- * @return Hardware Version
- */
- const uint8_t furi_hal_version_get_hw_version();
- /** Get hardware target
- *
- * @return Hardware Target
- */
- const uint8_t furi_hal_version_get_hw_target();
- /** Get hardware body
- *
- * @return Hardware Body
- */
- const uint8_t furi_hal_version_get_hw_body();
- /** Get hardware body color
- *
- * @return Hardware Color
- */
- const FuriHalVersionColor furi_hal_version_get_hw_color();
- /** Get hardware connect
- *
- * @return Hardware Interconnect
- */
- const uint8_t furi_hal_version_get_hw_connect();
- /** Get hardware region
- *
- * @return Hardware Region
- */
- const FuriHalVersionRegion furi_hal_version_get_hw_region();
- /** Get hardware display id
- *
- * @return Display id
- */
- const FuriHalVersionDisplay furi_hal_version_get_hw_display();
- /** Get hardware timestamp
- *
- * @return Hardware Manufacture timestamp
- */
- const uint32_t furi_hal_version_get_hw_timestamp();
- /** Get pointer to target name
- *
- * @return Hardware Name C-string
- */
- const char* furi_hal_version_get_name_ptr();
- /** Get pointer to target device name
- *
- * @return Hardware Device Name C-string
- */
- const char* furi_hal_version_get_device_name_ptr();
- /** Get pointer to target ble local device name
- *
- * @return Ble Device Name C-string
- */
- const char* furi_hal_version_get_ble_local_device_name_ptr();
- /** Get BLE MAC address
- *
- * @return pointer to BLE MAC address
- */
- const uint8_t* furi_hal_version_get_ble_mac();
- /** Get address of version structure of bootloader, stored in chip flash.
- *
- * @return Address of boot version structure.
- */
- const struct Version* furi_hal_version_get_bootloader_version();
- /** Get address of version structure of firmware.
- *
- * @return Address of firmware version structure.
- */
- const struct Version* furi_hal_version_get_firmware_version();
- /** Get platform UID size in bytes
- *
- * @return UID size in bytes
- */
- size_t furi_hal_version_uid_size();
- /** Get const pointer to UID
- *
- * @return pointer to UID
- */
- const uint8_t* furi_hal_version_uid();
- #ifdef __cplusplus
- }
- #endif
|