Go to the documentation of this file.
51 #ifndef __GR55XX_SYS_H__
52 #define __GR55XX_SYS_H__
68 #define SYS_INVALID_TIMER_ID 0xFF
69 #define SYS_BD_ADDR_LEN GAP_ADDR_LEN
70 #define SYS_CHIP_UID_LEN 0x10
71 #define SYS_SET_BD_ADDR(BD_ADDR_ARRAY) nvds_put(0xC001, SYS_BD_ADDR_LEN, BD_ADDR_ARRAY)
79 typedef void (*callback_t)(int);
456 #if defined(GR5515_D)
469 uint16_t sys_get_efuse_io_ldo(uint16_t *io_ldo);
uint32_t sys_lpcycles_2_hus(uint32_t lpcycles, uint32_t *error_corr)
Convert a duration in lp cycles into a duration in half μs.
sram_size_t
Definition of Device SRAM Size Enumerations.
Definition: gr55xx_sys.h:111
void(* assert_warn_cb_t)(int param0, int param1, const char *file, int line)
Warning assert callback type.
Definition: gr55xx_sys.h:103
void(* callback_t)(int)
The function pointers to register event callback.
Definition: gr55xx_sys.h:79
uint16_t offset_int_1p2
Definition: gr55xx_sys.h:177
int(* vprintf_callback_t)(const char *fmt, va_list argp)
Printf callback type.
Definition: gr55xx_sys.h:85
uint8_t io_ldo_vout
Definition: gr55xx_sys.h:190
uint8_t major
Definition: gr55xx_sys.h:137
uint16_t offset_int_2p0
Definition: gr55xx_sys.h:181
uint16_t slope_int_1p6
Definition: gr55xx_sys.h:178
void(* assert_err_cb_t)(const char *expr, const char *file, int line)
Error assert callback type.
Definition: gr55xx_sys.h:97
void sys_lld_max_msg_usage_ratio_set(uint8_t usage_ratio)
Set system lld layer maximum usage ratio of message heap.
uint32_t sys_reverse_word(uint32_t value)
Reverse byte order (32 bit). For example, 0x12345678 becomes 0x78563412.
void sys_context_checksum_gen(void)
Generate checksum info for system context.
uint16_t sys_rf_trim_get(rf_trim_info_t *p_rf_trim)
Get the RF trim information.
uint32_t rx_other_err_cnt
Definition: gr55xx_sys.h:157
uint32_t sys_lpclk_get(void)
Get low power CLK frequency.
RF trim parameter information definition.
Definition: gr55xx_sys.h:165
uint8_t minor
Definition: gr55xx_sys.h:138
uint8_t sys_attdb_usage_ratio_get(void)
Get system attriute database heap usage ratio.
void sys_max_msg_usage_ratio_set(uint8_t usage_ratio)
Set system maximum usage ratio of message heap.
uint16_t offset_int_0p8
Definition: gr55xx_sys.h:175
@ PACKAGE_NONE
Definition: gr55xx_sys.h:120
uint16_t slope_ext_1p0
Definition: gr55xx_sys.h:182
uint16_t sys_device_addr_get(uint8_t *p_device_addr)
Get the device address information.
void sys_lpclk_update_func_with_return_register(int_func_t func_update_lpclk)
Register low power clock update function with int return.
void sys_firmware_jump(uint32_t fw_addr)
Jump to firmware and run.
void sys_signal_handler_register(callback_t isr_handler)
Register signal handler.
void(* timer_callback_t)(uint8_t timer_id)
Timer callback type.
Definition: gr55xx_sys.h:82
uint32_t rx_crc_err_cnt
Definition: gr55xx_sys.h:156
@ PACKAGE_GR5513BEND
Definition: gr55xx_sys.h:125
uint32_t rx_mic_err_cnt
Definition: gr55xx_sys.h:159
void(* sys_context_func_t)(void)
Function type for saving user context before deep sleep.
Definition: gr55xx_sys.h:94
@ PACKAGE_GR5515I0ND
Definition: gr55xx_sys.h:124
@ PACKAGE_GR5515BEND
Definition: gr55xx_sys.h:126
uint16_t slope_int_0p8
Definition: gr55xx_sys.h:174
assert_warn_cb_t assert_warn_cb
Definition: gr55xx_sys.h:148
PMU trim parameter information definition.
Definition: gr55xx_sys.h:188
@ SYS_DEV_SRAM_128K
Definition: gr55xx_sys.h:113
SDK version definition.
Definition: gr55xx_sys.h:136
@ PACKAGE_GR5515GGBD
Definition: gr55xx_sys.h:122
uint32_t rx_normal_cnt
Definition: gr55xx_sys.h:160
void sys_free(void *p_mem)
Free allocated memory.
void sys_app_printf(const char *format,...)
Output debug logs.
void(* assert_param_cb_t)(int param0, int param1, const char *file, int line)
Parameter assert callback type.
Definition: gr55xx_sys.h:100
Define the chip configuration.
void sys_link_quality_clear(uint8_t conn_idx)
Clear link quality info.
void restore_sys_context(void)
Load system context.
void(* void_func_t)(void)
Low power clock update function type.
Definition: gr55xx_sys.h:88
uint16_t sys_device_package_get(package_type_t *p_package_type)
Get the chip's package type.
uint16_t slope_int_2p0
Definition: gr55xx_sys.h:180
uint8_t sys_msg_usage_ratio_get(void)
Get system message heap usage ratio.
uint16_t sys_crystal_trim_get(uint16_t *p_crystal_trim)
Get the crystal trim information.
uint32_t rx_sn_err_cnt
Definition: gr55xx_sys.h:158
uint8_t sys_link_quality_get(uint8_t conn_idx, link_rx_info_t *rx_info)
Get link quality info.
void sys_context_save(void)
Save system context.
GR55XX Platform Power Manager Module API.
void sys_security_data_use_present(uint32_t addr, uint8_t *input, uint32_t size, uint8_t *output)
Encrypt and decrypt data using Present.
uint8_t sys_env_usage_ratio_get(void)
Get system environment heap usage ratio.
uint16_t adc_temp
Definition: gr55xx_sys.h:173
int(* int_func_t)(void)
Low power clock update function type with resturn.
Definition: gr55xx_sys.h:91
uint16_t sys_ble_heartbeat_period_set(uint32_t period_hus)
Set BLE Sleep HeartBeat Period.
void sys_delay_ms(uint32_t ms)
Delay the function execution.
void sys_delay_us(uint32_t us)
Delay the function execution.
package_type_t
package type.
Definition: gr55xx_sys.h:119
uint16_t sys_pmu_trim_get(pmu_trim_info_t *p_pmu_trim)
Get the PMU trim information.
uint8_t io_ldo_bypass
Definition: gr55xx_sys.h:189
uint16_t sys_device_uid_get(uint8_t *p_device_uid)
Get the device UID information.
void sys_lpclk_update_func_register(void_func_t func_update_lpclk)
Register low power clock update function.
int8_t rssi_cali
Definition: gr55xx_sys.h:166
void sys_swd_disable(void)
Diable swd function.
uint16_t sys_adc_trim_get(adc_trim_info_t *p_adc_trim)
Get the ADC trim information.
@ PACKAGE_GR5513BENDU
Definition: gr55xx_sys.h:127
uint32_t rx_total_cnt
Definition: gr55xx_sys.h:154
void sys_sdk_verison_get(sdk_version_t *p_version)
Get SDK version.
@ SYS_DEV_SRAM_64K
Definition: gr55xx_sys.h:112
uint16_t offset_ext_1p0
Definition: gr55xx_sys.h:183
void rng_calibration(void)
RNG calibration function.
uint16_t sys_device_lp_gain_offset_2m_get(uint8_t *p_offset)
Get the LP gain offset 2M information.
uint16_t sys_trim_sum_get(uint16_t *p_trim_sum)
Get the trim checksum.
uint16_t sys_device_sram_get(sram_size_t *p_sram_size)
Get the RAM size information.
void rtc_calibration(void)
RTC calibration function.
assert_param_cb_t assert_param_cb
Definition: gr55xx_sys.h:147
@ PACKAGE_GR5515IGND
Definition: gr55xx_sys.h:123
Link RX information definition.
Definition: gr55xx_sys.h:153
void sys_swd_enable(void)
Enable swd function.
uint8_t sys_nonret_usage_ratio_get(void)
Get system non retention heap usage ratio.
ADC trim parameter information definition.
Definition: gr55xx_sys.h:172
int8_t tx_power
Definition: gr55xx_sys.h:167
uint32_t commit_id
Definition: gr55xx_sys.h:140
uint16_t build
Definition: gr55xx_sys.h:139
uint16_t slope_int_1p2
Definition: gr55xx_sys.h:176
void sys_lpclk_set(uint32_t user_lpclk)
Set low power CLK frequency.
uint8_t dcdc_vout
Definition: gr55xx_sys.h:193
@ SYS_DEV_SRAM_256K
Definition: gr55xx_sys.h:114
Assert callbacks.
Definition: gr55xx_sys.h:145
uint8_t dig_ldo_64m
Definition: gr55xx_sys.h:191
void sys_assert_cb_register(sys_assert_cb_t *p_assert_cb)
Register assert callbacks.
uint16_t sys_reverse_hword(uint16_t value)
Reverse byte order (16 bit). For example, 0x1234 becomes 0x3412.
void sys_regs_save(volatile uint32_t *p_address, uint32_t value)
Save system registers.
uint16_t sys_ble_heartbeat_period_get(uint32_t *p_period_hus)
Get BLE Sleep HeartBeat Period.
void * sys_malloc(uint32_t size)
Memory allocation.
uint32_t sys_security_enable_status_check(void)
Check the chip's security level.
uint32_t rx_sync_err_cnt
Definition: gr55xx_sys.h:155
uint32_t sys_lpper_get(void)
Get low power CLK period.
uint32_t sys_us_2_lpcycles(uint32_t us)
Convert a duration in μs into a duration in lp cycles.
uint16_t offset_int_1p6
Definition: gr55xx_sys.h:179
uint8_t dig_ldo_16m
Definition: gr55xx_sys.h:192
assert_err_cb_t assert_err_cb
Definition: gr55xx_sys.h:146
include all ble sdk header files
@ PACKAGE_GR5515RGBD
Definition: gr55xx_sys.h:121
bool sys_ke_sleep_check(void)
Get status of ke_event list.