HPM APP
HPMicro Application solution
mp_api.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef MP_API_H
9 #define MP_API_H
10 
11 #include "mp_common.h"
12 
20 /***********************************************************************************************************************
21  *
22  * Definitions
23  *
24  **********************************************************************************************************************/
25 #define MP_VERSION "V0.1.0"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
41 
54 int hpm_mp_pwm_pair_get_default(uint8_t pwm_pair_index, uint32_t freq, hpm_pwm_pair_t* pwm_pair_t);
55 
66 int hpm_mp_pwm_get_default(uint8_t pwm_index, uint32_t freq, hpm_pwm_t* pwm_t);
67 
77 int hpm_mp_adc_get_default(uint8_t adc_index, hpm_adc_t* adc_t);
78 
87 int hpm_mp_api_init(hpm_mp_t* mp_t);
88 
97 uint32_t hpm_mp_api_pwmpair_get_reload_of_freq(hpm_pwm_pair_t* pwm_pair_t, uint32_t freq);
98 
110 int hpm_mp_api_pwmpair_set_reload_and_duty(hpm_pwm_pair_t* pwm_pair_t, uint32_t reload_count, uint32_t duty_count);
111 
122 int hpm_mp_api_pwmpair_freq(hpm_pwm_pair_t* pwm_pair_t, uint32_t freq);
123 
134 int hpm_mp_api_pwmpair_freq_of_half_duty(hpm_pwm_pair_t* pwm_pair_t, uint32_t freq);
135 
146 int hpm_mp_api_pwmpair_duty(hpm_pwm_pair_t* pwm_pair_t, uint32_t duty);
147 
167 int hpm_mp_api_pwmpair_force_config(hpm_pwm_pair_t* pwm_pair_t, uint8_t index, uint8_t level);
168 
178 void hpm_mp_api_pwmpair_force_enable_output(hpm_pwm_pair_t* pwm_pair_t, uint8_t index);
179 
188 void hpm_mp_api_pwmpair_force_disable_output(hpm_pwm_pair_t* pwm_pair_t, uint8_t index);
189 
199 
210 int hpm_mp_api_pwm_freq(hpm_pwm_t* pwm_t, uint32_t freq);
211 
222 int hpm_mp_api_pwm_freq_of_half_duty(hpm_pwm_t* pwm_t, uint32_t freq);
223 
234 int hpm_mp_api_pwm_duty(hpm_pwm_t* pwm_t, uint32_t duty);
235 
252 int hpm_mp_api_pwm_force_config(hpm_pwm_t* pwm_t, uint8_t level);
253 
261 
269 
279 
290 int hpm_mp_api_pwm_pair_trig_set_duty(hpm_pwm_pair_t* pwm_pair_t, uint32_t duty);
291 
302 int hpm_mp_api_pwm_trig_set_duty(hpm_pwm_t* pwm_t, uint32_t duty);
303 
315 int hpm_mp_api_pwm_pair_set_deadzone(hpm_pwm_pair_t* pwm_pair_t, uint32_t start_halfcycle, uint32_t end_halfcycle);
316 
328 int hpm_mp_api_dma_request_enable(bool enable, uint8_t type, void* handle);
329 
338 int hpm_mp_timer_create(uint32_t us, mp_timer_cb cb);
339 
348 int hpm_mp_api_pwm_pair_set_map(const mp_pwm_pair_map_t* map_t, int count);
349 
358 int hpm_mp_api_pwm_set_map(const mp_pwm_map_t* map_t, int count);
359 
368 int hpm_mp_api_adc_set_map(const mp_adc_map_t* map_t, int count);
369 
376 void hpm_mp_api_pair_pwm_io_init(uint8_t pair_index);
377 
384 void hpm_mp_api_pwm_io_init(uint8_t index);
385 
392 void hpm_mp_api_adc_io_init(uint8_t adc_index);
393 
394 #ifdef __cplusplus
395 }
396 #endif
397 
400 #endif //MP_API_H
int hpm_mp_api_init(hpm_mp_t *mp_t)
Power API initialization ;电源API初始化
Definition: mp_api.c:90
int hpm_mp_api_pwmpair_force_config(hpm_pwm_pair_t *pwm_pair_t, uint8_t index, uint8_t level)
Setting forced output for a pair of PWM (setting a pair of PWM signals to high or low level) Note: Th...
Definition: mp_pwm.c:749
int hpm_mp_api_pwm_set_map(const mp_pwm_map_t *map_t, int count)
Settings for the PWM MAP ;PWM MAP设置
Definition: mp_pwm.c:1537
void hpm_mp_api_pwm_io_init(uint8_t index)
PWM IO init ;PWM IO初始化
Definition: mp_pwm.c:1516
void hpm_mp_api_pair_pwm_io_init(uint8_t pair_index)
A pair of PWM IO init ;PWM 对 IO初始化
Definition: mp_pwm.c:1504
void hpm_mp_api_adc_io_init(uint8_t adc_index)
ADC IO init ;ADC IO初始化
Definition: mp_adc.c:1473
int hpm_mp_api_pwmpair_duty(hpm_pwm_pair_t *pwm_pair_t, uint32_t duty)
A pair of PWM duty cycle Settings Note: The duty cycle ranges from 0 to reload_count(reload_count is ...
Definition: mp_pwm.c:1354
int hpm_mp_api_adc_set_map(const mp_adc_map_t *map_t, int count)
Settings for the ADC MAP ;ADC MAP设置
Definition: mp_adc.c:1479
int hpm_mp_api_pwm_pair_set_deadzone(hpm_pwm_pair_t *pwm_pair_t, uint32_t start_halfcycle, uint32_t end_halfcycle)
A pair of PWM dead zone Settings ;PWM对前后死区设置
Definition: mp_pwm.c:1425
void hpm_mp_api_pwmpair_force_enable_output(hpm_pwm_pair_t *pwm_pair_t, uint8_t index)
Enable a pair of PWM signals forced outputs (force output to be high or low level) ;PWM对强制输出使能生效(强制输出...
Definition: mp_pwm.c:778
uint32_t hpm_mp_api_pwmpair_get_reload_of_freq(hpm_pwm_pair_t *pwm_pair_t, uint32_t freq)
A pair of PWM gets the overloaded value 'reload_count' based on frequency ;PWM对根据频率获取重载值reload_count.
Definition: mp_pwm.c:1197
void hpm_mp_api_pwmpair_fault_software_clear(hpm_pwm_pair_t *pwm_pair_t)
A pair of PWM fault states are cleared by software Note: When the fault recovery is set to software r...
Definition: mp_pwm.c:847
int hpm_mp_api_pwm_pair_set_map(const mp_pwm_pair_map_t *map_t, int count)
Settings for a pair of PWM MAP ;PWM对 MAP设置
Definition: mp_pwm.c:1522
int hpm_mp_api_pwm_trig_set_duty(hpm_pwm_t *pwm_t, uint32_t duty)
Setting the duty cycle for the PWM signal that trigger ADC sampling moments Note: Duty cycle ranges f...
Definition: mp_pwm.c:1412
int hpm_mp_pwm_pair_get_default(uint8_t pwm_pair_index, uint32_t freq, hpm_pwm_pair_t *pwm_pair_t)
Get the default value of a pair of PWM (two PWM channels as a pair) data structure ;获取PWM对(两路PWM成一对...
Definition: mp_api.c:22
void hpm_mp_api_pwm_force_enable_output(hpm_pwm_t *pwm_t)
Enable the PWM signal forced outputs (force output to be high or low level) ;PWM强制输出使能生效(强制输出为高或低)
Definition: mp_pwm.c:783
int hpm_mp_api_get_default(hpm_mp_t *mp_t)
Get the default value of the power data structure ;电源数据结构默认值获取
Definition: mp_api.c:12
void hpm_mp_api_pwmpair_force_disable_output(hpm_pwm_pair_t *pwm_pair_t, uint8_t index)
Disable a pair of PWM signals forced outputs(Restore PWM waveform) ;PWM对强制输出禁止生效(恢复PWM波形)
Definition: mp_pwm.c:788
void(* mp_timer_cb)(void)
High precision timer callback ;高精定时回调
Definition: mp_common.h:598
int hpm_mp_api_pwmpair_set_reload_and_duty(hpm_pwm_pair_t *pwm_pair_t, uint32_t reload_count, uint32_t duty_count)
A pair of PWM, configured frequency and duty cycle Note: Get reload_count by frequency first,...
Definition: mp_pwm.c:1206
int hpm_mp_api_pwm_freq(hpm_pwm_t *pwm_t, uint32_t freq)
PWM frequency Settings; Note: After setting the frequency, the duty cycle automatically converts to t...
Definition: mp_pwm.c:1314
int hpm_mp_pwm_get_default(uint8_t pwm_index, uint32_t freq, hpm_pwm_t *pwm_t)
Get the default value of the single PWM data structure ;获取PWM(单路)数据结构默认值
Definition: mp_api.c:54
int hpm_mp_api_pwm_force_config(hpm_pwm_t *pwm_t, uint8_t level)
Setting forced output for the PWM (setting the PWM signal to high or low level) Note: This interface ...
Definition: mp_pwm.c:764
int hpm_mp_api_pwmpair_freq(hpm_pwm_pair_t *pwm_pair_t, uint32_t freq)
A pair of PWM frequency Settings; Note: After setting the frequency, the duty cycle automatically con...
Definition: mp_pwm.c:1243
int hpm_mp_api_pwm_pair_trig_set_duty(hpm_pwm_pair_t *pwm_pair_t, uint32_t duty)
Setting the duty cycle for a pair of PWM signals that trigger ADC sampling moments Note: Duty cycle r...
Definition: mp_pwm.c:1400
int hpm_mp_api_pwm_duty(hpm_pwm_t *pwm_t, uint32_t duty)
The PWM duty cycle Settings Note: The duty cycle ranges from 0 to reload_count(reload_count is a memb...
Definition: mp_pwm.c:1386
void hpm_mp_api_pwm_fault_software_clear(hpm_pwm_t *pwm_t)
The PWM fault states are cleared by software Note: When the fault recovery is set to software recover...
Definition: mp_pwm.c:852
int hpm_mp_timer_create(uint32_t us, mp_timer_cb cb)
High precision timer creation ;高精定时器创建
Definition: mp_timer.c:23
int hpm_mp_adc_get_default(uint8_t adc_index, hpm_adc_t *adc_t)
Get the default value of the ADC data structure ;获取ADC数据结构默认值
Definition: mp_api.c:82
int hpm_mp_api_pwm_freq_of_half_duty(hpm_pwm_t *pwm_t, uint32_t freq)
Setting the frequency for the PWM and configuring a 50% duty cycle Note: After setting the frequency,...
Definition: mp_pwm.c:1334
int hpm_mp_api_dma_request_enable(bool enable, uint8_t type, void *handle)
PWM DMA enable ;PWM DMA请求使能
Definition: mp_pwm.c:1445
void hpm_mp_api_pwm_force_disable_output(hpm_pwm_t *pwm_t)
Disable the PWM signal forced outputs(Restore PWM waveform) ;PWM强制输出禁止生效(恢复PWM波形)
Definition: mp_pwm.c:793
int hpm_mp_api_pwmpair_freq_of_half_duty(hpm_pwm_pair_t *pwm_pair_t, uint32_t freq)
Setting the frequency for a pair of PWM and configuring a 50% duty cycle Note: After setting the freq...
Definition: mp_pwm.c:1256
ADC data structure ;ADC 数据结构
Definition: mp_common.h:386
Power MP data structure ;电源MP数据结构
Definition: mp_common.h:582
A pair of PWM data structure ;PWM 对数据结构
Definition: mp_common.h:452
PWM data structure ;PWM 数据结构
Definition: mp_common.h:523
ADC MAP data structure ;ADC MAP数据结构
Definition: mp_common.h:211
Address of the PWM MAP data structure ;PWM MAP数据结构
Definition: mp_common.h:345
Address of a pair of PWM MAP data structure ;PWM 对MAP数据结构
Definition: mp_common.h:309