mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-21 02:03:18 +00:00
917410a0a8
* fbt: reworking targets & assets handling WIP * fbt: dist fixes * fbt: moved SD card resources to owning apps * unit_tests: moved resources to app folder * github: updated unit_tests paths * github: packaging fixes * unit_tests: fixes * fbt: assets: internal cleanup * fbt: reworked assets handling * github: unit_tests: reintroducing fixes * minor cleanup * fbt: naming changes to reflect private nature of scons tools * fbt: resources: fixed dist archive paths * docs: updated paths * docs: updated more paths * docs: included "resources" parameter in app manifest docs; updated assets readme * updated gitignore for assets * github: updated action versions * unit_tests: restored timeout; scripts: assets: logging changes * gh: don't upload desktop animations for unit test run Co-authored-by: あく <alleteam@gmail.com>
81 lines
1.8 KiB
C
81 lines
1.8 KiB
C
#pragma once
|
||
|
||
#include <stdbool.h>
|
||
#include <stdint.h>
|
||
#include <stddef.h>
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
typedef struct {
|
||
uint32_t start;
|
||
uint32_t end;
|
||
int8_t power_limit;
|
||
uint8_t duty_cycle;
|
||
} FuriHalRegionBand;
|
||
|
||
typedef struct {
|
||
char country_code[4];
|
||
uint16_t bands_count;
|
||
FuriHalRegionBand bands[];
|
||
} FuriHalRegion;
|
||
|
||
/** Initialize region */
|
||
void furi_hal_region_init();
|
||
|
||
/** Get Region Data.
|
||
*
|
||
* Region data may be allocated in Flash or in RAM.
|
||
* Keep in mind that we don't do memory management on our side.
|
||
*
|
||
* @return pointer to FuriHalRegion instance (in RAM or Flash, check before freeing on region update)
|
||
*/
|
||
const FuriHalRegion* furi_hal_region_get();
|
||
|
||
/** Set device region data
|
||
*
|
||
* @param region pointer to the FuriHalRegion
|
||
*/
|
||
void furi_hal_region_set(FuriHalRegion* region);
|
||
|
||
/** Check if region data provisioned
|
||
*
|
||
* @return true if provisioned, false otherwise
|
||
*/
|
||
bool furi_hal_region_is_provisioned();
|
||
|
||
/** Get region name
|
||
*
|
||
* 2 letter Region code according to iso 3166 standard
|
||
* There are 2 extra values that we use in special cases:
|
||
* - "00" - developer edition, unlocked
|
||
* - "WW" - world wide, region provisioned by default
|
||
* - "--" - no provisioned region
|
||
*
|
||
* @return Pointer to string
|
||
*/
|
||
const char* furi_hal_region_get_name();
|
||
|
||
/** Сheck if transmission is allowed on this frequency for your flipper region
|
||
*
|
||
* @param[in] frequency The frequency
|
||
* @param value frequency in Hz
|
||
*
|
||
* @return true if allowed
|
||
*/
|
||
bool furi_hal_region_is_frequency_allowed(uint32_t frequency);
|
||
|
||
/** Get band data for frequency
|
||
*
|
||
*
|
||
*
|
||
* @param[in] frequency The frequency
|
||
*
|
||
* @return { description_of_the_return_value }
|
||
*/
|
||
const FuriHalRegionBand* furi_hal_region_get_band(uint32_t frequency);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|