mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-15 17:02:53 +08:00
add pika_hal_utils
This commit is contained in:
parent
3e77f423db
commit
9cdae672a7
234
package/PikaStdDevice/pika_hal_utils.c
Normal file
234
package/PikaStdDevice/pika_hal_utils.c
Normal file
@ -0,0 +1,234 @@
|
||||
#include "pika_hal_utils.h"
|
||||
|
||||
/* error handler */
|
||||
PIKA_WEAK void pika_hal_utils_error_handler(int err,
|
||||
const char* file,
|
||||
int line,
|
||||
const char* func) {
|
||||
pika_platform_printf("Error code %d: %s()\r\n", err, func);
|
||||
pika_platform_printf("AT: %s:%d\r\n", file, line);
|
||||
}
|
||||
|
||||
#define pika_hal_utils_raise_error(err) \
|
||||
pika_hal_utils_error_handler(err, __FILE__, __LINE__, __func__)
|
||||
|
||||
/* common utils */
|
||||
int pika_hal_utils_enable(pika_dev* dev) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_ENABLE);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_disable(pika_dev* dev) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_DISABLE);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* GPIO utils */
|
||||
|
||||
int pika_hal_utils_GPIO_config(pika_dev* dev, pika_hal_GPIO_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_set_mode(pika_dev* dev,
|
||||
PIKA_HAL_GPIO_DIR dir,
|
||||
PIKA_HAL_GPIO_PULL pull) {
|
||||
pika_hal_GPIO_config cfg = {0};
|
||||
cfg.dir = dir;
|
||||
cfg.pull = pull;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_set_dir(pika_dev* dev, PIKA_HAL_GPIO_DIR dir) {
|
||||
pika_hal_GPIO_config cfg = {0};
|
||||
cfg.dir = dir;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_set_pull(pika_dev* dev, PIKA_HAL_GPIO_PULL pull) {
|
||||
pika_hal_GPIO_config cfg = {0};
|
||||
cfg.pull = pull;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_write(pika_dev* dev, uint32_t val) {
|
||||
int ret = pika_hal_write(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint32_t pika_hal_utils_GPIO_read(pika_dev* dev) {
|
||||
uint32_t val = 0;
|
||||
int ret = pika_hal_read(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
return 0;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
/* UART utils */
|
||||
int pika_hal_utils_UART_config(pika_dev* dev, pika_hal_UART_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* IIC utils */
|
||||
int pika_hal_utils_IIC_config(pika_dev* dev, pika_hal_IIC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SPI utils */
|
||||
int pika_hal_utils_SPI_config(pika_dev* dev, pika_hal_SPI_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* ADC utils */
|
||||
int pika_hal_utils_ADC_config(pika_dev* dev, pika_hal_ADC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint32_t pika_hal_utils_ADC_read(pika_dev* dev) {
|
||||
uint32_t val = 0;
|
||||
int ret = pika_hal_read(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
return 0;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
/* DAC utils */
|
||||
int pika_hal_utils_DAC_config(pika_dev* dev, pika_hal_DAC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_DAC_write(pika_dev* dev, uint32_t val) {
|
||||
int ret = pika_hal_write(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* PWM utils */
|
||||
int pika_hal_utils_PWM_config(pika_dev* dev, pika_hal_PWM_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_PWM_set_period(pika_dev* dev,
|
||||
PIKA_HAL_PWM_PERIOD period_ns) {
|
||||
pika_hal_PWM_config cfg = {0};
|
||||
cfg.period = period_ns;
|
||||
/* keep duty unchanged because duty has no unused field */
|
||||
cfg.duty = ((pika_hal_PWM_config*)dev->ioctl_config)->duty;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_PWM_set_duty(pika_dev* dev, PIKA_HAL_PWM_DUTY duty_ns) {
|
||||
pika_hal_PWM_config cfg = {0};
|
||||
cfg.duty = duty_ns;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SOFT_SPI utils */
|
||||
int pika_hal_utils_SOFT_SPI_config(pika_dev* dev,
|
||||
pika_hal_SOFT_SPI_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SOFT_IIC utils */
|
||||
int pika_hal_utils_SOFT_IIC_config(pika_dev* dev,
|
||||
pika_hal_SOFT_IIC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* WIFI utils */
|
||||
int pika_hal_utils_WIFI_config(pika_dev* dev, pika_hal_WIFI_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SG utils */
|
||||
int pika_hal_utils_SG_config(pika_dev* dev, pika_hal_SG_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
pika_float pika_hal_utils_SG_read(pika_dev* dev) {
|
||||
pika_float val = 0;
|
||||
int ret = pika_hal_read(dev, &val, sizeof(pika_float));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
return -1;
|
||||
}
|
||||
return val;
|
||||
}
|
62
package/PikaStdDevice/pika_hal_utils.h
Normal file
62
package/PikaStdDevice/pika_hal_utils.h
Normal file
@ -0,0 +1,62 @@
|
||||
#ifndef _PIKA_HAL_UTILS_H
|
||||
#define _PIKA_HAL_UTILS_H
|
||||
#include <stdint.h>
|
||||
#include "pika_hal.h"
|
||||
|
||||
/* error handler */
|
||||
void pika_hal_utils_error_handler(int err,
|
||||
const char* file,
|
||||
int line,
|
||||
const char* func);
|
||||
|
||||
/* common utils */
|
||||
int pika_hal_utils_enable(pika_dev* dev);
|
||||
int pika_hal_utils_disable(pika_dev* dev);
|
||||
|
||||
/* GPIO utils */
|
||||
int pika_hal_utils_GPIO_config(pika_dev* dev, pika_hal_GPIO_config* cfg);
|
||||
int pika_hal_utils_GPIO_set_mode(pika_dev* dev,
|
||||
PIKA_HAL_GPIO_DIR dir,
|
||||
PIKA_HAL_GPIO_PULL pull);
|
||||
int pika_hal_utils_GPIO_set_dir(pika_dev* dev, PIKA_HAL_GPIO_DIR dir);
|
||||
int pika_hal_utils_GPIO_set_pull(pika_dev* dev, PIKA_HAL_GPIO_PULL pull);
|
||||
int pika_hal_utils_GPIO_write(pika_dev* dev, uint32_t val);
|
||||
uint32_t pika_hal_utils_GPIO_read(pika_dev* dev);
|
||||
|
||||
/* UART utils */
|
||||
int pika_hal_utils_UART_config(pika_dev* dev, pika_hal_UART_config* cfg);
|
||||
|
||||
/* IIC utils */
|
||||
int pika_hal_utils_IIC_config(pika_dev* dev, pika_hal_IIC_config* cfg);
|
||||
|
||||
/* SPI utils */
|
||||
int pika_hal_utils_SPI_config(pika_dev* dev, pika_hal_SPI_config* cfg);
|
||||
|
||||
/* ADC utils */
|
||||
int pika_hal_utils_ADC_config(pika_dev* dev, pika_hal_ADC_config* cfg);
|
||||
uint32_t pika_hal_utils_ADC_read(pika_dev* dev);
|
||||
|
||||
/* DAC utils */
|
||||
int pika_hal_utils_DAC_config(pika_dev* dev, pika_hal_DAC_config* cfg);
|
||||
int pika_hal_utils_DAC_write(pika_dev* dev, uint32_t val);
|
||||
|
||||
/* PWM utils */
|
||||
int pika_hal_utils_PWM_config(pika_dev* dev, pika_hal_PWM_config* cfg);
|
||||
int pika_hal_utils_PWM_set_period(pika_dev* dev, PIKA_HAL_PWM_PERIOD period);
|
||||
int pika_hal_utils_PWM_set_duty(pika_dev* dev, PIKA_HAL_PWM_DUTY duty);
|
||||
|
||||
/* SOFT_SPI utils */
|
||||
int pika_hal_utils_SOFT_SPI_config(pika_dev* dev,
|
||||
pika_hal_SOFT_SPI_config* cfg);
|
||||
|
||||
/* SOFT_IIC utils */
|
||||
int pika_hal_utils_SOFT_IIC_config(pika_dev* dev,
|
||||
pika_hal_SOFT_IIC_config* cfg);
|
||||
|
||||
/* WIFI utils */
|
||||
int pika_hal_utils_WIFI_config(pika_dev* dev, pika_hal_WIFI_config* cfg);
|
||||
|
||||
/* SG utils */
|
||||
int pika_hal_utils_SG_config(pika_dev* dev, pika_hal_SG_config* cfg);
|
||||
pika_float pika_hal_utils_SG_read(pika_dev* dev);
|
||||
#endif
|
@ -0,0 +1,234 @@
|
||||
#include "pika_hal_utils.h"
|
||||
|
||||
/* error handler */
|
||||
PIKA_WEAK void pika_hal_utils_error_handler(int err,
|
||||
const char* file,
|
||||
int line,
|
||||
const char* func) {
|
||||
pika_platform_printf("Error code %d: %s()\r\n", err, func);
|
||||
pika_platform_printf("AT: %s:%d\r\n", file, line);
|
||||
}
|
||||
|
||||
#define pika_hal_utils_raise_error(err) \
|
||||
pika_hal_utils_error_handler(err, __FILE__, __LINE__, __func__)
|
||||
|
||||
/* common utils */
|
||||
int pika_hal_utils_enable(pika_dev* dev) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_ENABLE);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_disable(pika_dev* dev) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_DISABLE);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* GPIO utils */
|
||||
|
||||
int pika_hal_utils_GPIO_config(pika_dev* dev, pika_hal_GPIO_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_set_mode(pika_dev* dev,
|
||||
PIKA_HAL_GPIO_DIR dir,
|
||||
PIKA_HAL_GPIO_PULL pull) {
|
||||
pika_hal_GPIO_config cfg = {0};
|
||||
cfg.dir = dir;
|
||||
cfg.pull = pull;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_set_dir(pika_dev* dev, PIKA_HAL_GPIO_DIR dir) {
|
||||
pika_hal_GPIO_config cfg = {0};
|
||||
cfg.dir = dir;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_set_pull(pika_dev* dev, PIKA_HAL_GPIO_PULL pull) {
|
||||
pika_hal_GPIO_config cfg = {0};
|
||||
cfg.pull = pull;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_GPIO_write(pika_dev* dev, uint32_t val) {
|
||||
int ret = pika_hal_write(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint32_t pika_hal_utils_GPIO_read(pika_dev* dev) {
|
||||
uint32_t val = 0;
|
||||
int ret = pika_hal_read(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
return 0;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
/* UART utils */
|
||||
int pika_hal_utils_UART_config(pika_dev* dev, pika_hal_UART_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* IIC utils */
|
||||
int pika_hal_utils_IIC_config(pika_dev* dev, pika_hal_IIC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SPI utils */
|
||||
int pika_hal_utils_SPI_config(pika_dev* dev, pika_hal_SPI_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* ADC utils */
|
||||
int pika_hal_utils_ADC_config(pika_dev* dev, pika_hal_ADC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint32_t pika_hal_utils_ADC_read(pika_dev* dev) {
|
||||
uint32_t val = 0;
|
||||
int ret = pika_hal_read(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
return 0;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
/* DAC utils */
|
||||
int pika_hal_utils_DAC_config(pika_dev* dev, pika_hal_DAC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_DAC_write(pika_dev* dev, uint32_t val) {
|
||||
int ret = pika_hal_write(dev, &val, sizeof(uint32_t));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* PWM utils */
|
||||
int pika_hal_utils_PWM_config(pika_dev* dev, pika_hal_PWM_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_PWM_set_period(pika_dev* dev,
|
||||
PIKA_HAL_PWM_PERIOD period_ns) {
|
||||
pika_hal_PWM_config cfg = {0};
|
||||
cfg.period = period_ns;
|
||||
/* keep duty unchanged because duty has no unused field */
|
||||
cfg.duty = ((pika_hal_PWM_config*)dev->ioctl_config)->duty;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pika_hal_utils_PWM_set_duty(pika_dev* dev, PIKA_HAL_PWM_DUTY duty_ns) {
|
||||
pika_hal_PWM_config cfg = {0};
|
||||
cfg.duty = duty_ns;
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, &cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SOFT_SPI utils */
|
||||
int pika_hal_utils_SOFT_SPI_config(pika_dev* dev,
|
||||
pika_hal_SOFT_SPI_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SOFT_IIC utils */
|
||||
int pika_hal_utils_SOFT_IIC_config(pika_dev* dev,
|
||||
pika_hal_SOFT_IIC_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* WIFI utils */
|
||||
int pika_hal_utils_WIFI_config(pika_dev* dev, pika_hal_WIFI_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SG utils */
|
||||
int pika_hal_utils_SG_config(pika_dev* dev, pika_hal_SG_config* cfg) {
|
||||
int ret = pika_hal_ioctl(dev, PIKA_HAL_IOCTL_CONFIG, cfg);
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
pika_float pika_hal_utils_SG_read(pika_dev* dev) {
|
||||
pika_float val = 0;
|
||||
int ret = pika_hal_read(dev, &val, sizeof(pika_float));
|
||||
if (ret < 0) {
|
||||
pika_hal_utils_raise_error(ret);
|
||||
return -1;
|
||||
}
|
||||
return val;
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
#ifndef _PIKA_HAL_UTILS_H
|
||||
#define _PIKA_HAL_UTILS_H
|
||||
#include <stdint.h>
|
||||
#include "pika_hal.h"
|
||||
|
||||
/* error handler */
|
||||
void pika_hal_utils_error_handler(int err,
|
||||
const char* file,
|
||||
int line,
|
||||
const char* func);
|
||||
|
||||
/* common utils */
|
||||
int pika_hal_utils_enable(pika_dev* dev);
|
||||
int pika_hal_utils_disable(pika_dev* dev);
|
||||
|
||||
/* GPIO utils */
|
||||
int pika_hal_utils_GPIO_config(pika_dev* dev, pika_hal_GPIO_config* cfg);
|
||||
int pika_hal_utils_GPIO_set_mode(pika_dev* dev,
|
||||
PIKA_HAL_GPIO_DIR dir,
|
||||
PIKA_HAL_GPIO_PULL pull);
|
||||
int pika_hal_utils_GPIO_set_dir(pika_dev* dev, PIKA_HAL_GPIO_DIR dir);
|
||||
int pika_hal_utils_GPIO_set_pull(pika_dev* dev, PIKA_HAL_GPIO_PULL pull);
|
||||
int pika_hal_utils_GPIO_write(pika_dev* dev, uint32_t val);
|
||||
uint32_t pika_hal_utils_GPIO_read(pika_dev* dev);
|
||||
|
||||
/* UART utils */
|
||||
int pika_hal_utils_UART_config(pika_dev* dev, pika_hal_UART_config* cfg);
|
||||
|
||||
/* IIC utils */
|
||||
int pika_hal_utils_IIC_config(pika_dev* dev, pika_hal_IIC_config* cfg);
|
||||
|
||||
/* SPI utils */
|
||||
int pika_hal_utils_SPI_config(pika_dev* dev, pika_hal_SPI_config* cfg);
|
||||
|
||||
/* ADC utils */
|
||||
int pika_hal_utils_ADC_config(pika_dev* dev, pika_hal_ADC_config* cfg);
|
||||
uint32_t pika_hal_utils_ADC_read(pika_dev* dev);
|
||||
|
||||
/* DAC utils */
|
||||
int pika_hal_utils_DAC_config(pika_dev* dev, pika_hal_DAC_config* cfg);
|
||||
int pika_hal_utils_DAC_write(pika_dev* dev, uint32_t val);
|
||||
|
||||
/* PWM utils */
|
||||
int pika_hal_utils_PWM_config(pika_dev* dev, pika_hal_PWM_config* cfg);
|
||||
int pika_hal_utils_PWM_set_period(pika_dev* dev, PIKA_HAL_PWM_PERIOD period);
|
||||
int pika_hal_utils_PWM_set_duty(pika_dev* dev, PIKA_HAL_PWM_DUTY duty);
|
||||
|
||||
/* SOFT_SPI utils */
|
||||
int pika_hal_utils_SOFT_SPI_config(pika_dev* dev,
|
||||
pika_hal_SOFT_SPI_config* cfg);
|
||||
|
||||
/* SOFT_IIC utils */
|
||||
int pika_hal_utils_SOFT_IIC_config(pika_dev* dev,
|
||||
pika_hal_SOFT_IIC_config* cfg);
|
||||
|
||||
/* WIFI utils */
|
||||
int pika_hal_utils_WIFI_config(pika_dev* dev, pika_hal_WIFI_config* cfg);
|
||||
|
||||
/* SG utils */
|
||||
int pika_hal_utils_SG_config(pika_dev* dev, pika_hal_SG_config* cfg);
|
||||
pika_float pika_hal_utils_SG_read(pika_dev* dev);
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user