Luat_soc_sdk: CSDK for ABCDEGF

Luat_soc_sdk V1.0
  • 首页
  • 模块
  • 结构体
CSDK for ABCDEGF

文档中心

CSDK软件开发资料

介绍

CSDK for ABCDEGF, 适用于所有基于ABCDEGF的合宙模组, 例如Air780E系列, Air600E系列

目录说明

  • PLAT 打包好的sdk, 含协议栈, 部分源码, 头文件, 打包工具
  • project 项目文件, 每个不同的项目代表不同的demo或者turnkey方案
  • xmake.lua 主编译脚本, 一般不需要修改

编译说明

  1. 安装xmake, 选取加入PATH, 建议安装到C:\Program Files下，其他目录可能会出问题； xmake下载地址：https://xmake.io/#/guide/installation windows下可以直接访问：https://github.com/xmake-io/xmake/releases ,下载系统对应的xmake-2.7.3-win32.exe或者xmake-2.7.3-win64.exe即可. 比2.7.3更高的版本也是可以的.
  2. 如果编译example的话在本代码库的根目录执行build.bat example进行编译
  3. 生成的binpkg位于out目录, 日志数据库文件位于PLAT目录

加入入口函数

  • 加入头文件common_api.h
  • 类似于void main(void)，但是可以任意名字，不能有入口参数和返回参数，同时允许多个入口
  • 通过INIT_HW_EXPORT INIT_DRV_EXPORT INIT_TASK_EXPORT这3个宏修饰后，系统初始化的时候会调用function，不同的宏涉及到调用顺序不同
  • 大优先级上INIT_HW_EXPORT > INIT_DRV_EXPORT > INIT_TASK_EXPORT
  • 这3个宏有统一用法INIT_HW_EXPORT(function, level)，其中function就是入口函数，level是小优先级，填"0","1","2"...(引号要写的)，引号里数字越小，优先级越高。
  • INIT_HW_EXPORT一般用于硬件初始化，GPIO之类的，可以没有
  • INIT_DRV_EXPORT一般用于外设驱动初始化，初始化外部器件之类的，打开电源，提供时钟之类的，可以没有
  • INIT_TASK_EXPORT一般用于初始化任务，用户代码基本上都是跑在任务里，原则上必须有

加入自己的项目

  1. project新建目录，目录名称和项目名称一致，目录下新建xmake.lua，内容仿照着example写，核心是TARGET_NAME必须和项目名称一致
  2. 代码路径当然不是限制的，在SDK的任何目录，甚至电脑上的其他地方，前提是你会改project里xmake.lua内的源码路径
  3. 根目录执行build.bat 你的项目名称

在SDK外存放项目文件的编译方法

假设项目路径是 D:\github\ABCDEGF-webabc , 目录结构如下

D:\github
- ABCDEGF-webabc
- code
- xmake.lua
- src
app_main.c
task_mqtt.c
- inc
app_main.h
RTE_Device.h
- doc
- README.md

编译方式:

set PROJECT_DIR=D:\github\ABCDEGF-webabc\code
build webabc

注意: code\xmake.lua里面的TARGET_NAME,对应命令行的项目名, webabc

恢复到默认项目查找逻辑, 之后就能恢复到 project/xxx 查找xmake.lua

set PROJECT_DIR=
build luatos

在不联网环境下初次编译的补充说明

在有网的环境下, xmake会自行下载gcc工具链. 但如果无法联网, 或者网络受限的情况, 通常会有这种提示:

error: fatal: not a git repository

或者git/http连接失败的提示. 故这里提供离线gcc工具链下载和编译的方法

  1. 下载gcc for arm工具链
  2. 解压, 不要选太深的目录, 不要包含中文字符和特殊符号, 建议解压到D盘根目录, 压缩包内自带一层目录gcc-arm-none-eabi-10.3-2021.10
  3. 假设解压后的路径是 D:\gcc-arm-none-eabi-10.3-2021.10, 检查 D:\gcc-arm-none-eabi-10.3-2021.10\bin\arm-none-eabi-g++.exe 是否存在, 如果不存在, 那肯定是多一层目录.
  4. 用文本编辑器(例如vscode)打开 本代码库 的 build.bat, 修改内容如下
原本的内容:
rem set GCC_PATH=E:\gcc_mcu
修改成set开头的语句,注意是去掉rem并修改值.
set GCC_PATH=D:\gcc-arm-none-eabi-10.3-2021.10

重新打开一个命令行cmd, 进入本代码库,执行 build.bat 即可正常编译.

  1. 测试ok后, 可以考虑将上述环境变量GCC_PATH放入系统的环境变量设置中, 然后还原build.bat

授权协议

[MIT License](LICENSE)

制作者 doxygen 1.9.5


Luat_soc_sdk: 模块

  • 结构体
模块
这里列出了所有模块:
[详情级别 12]
crypto数据加密
调式接口
片上Flash操作
文件系统接口
▼ 外设接口
ADC接口
GPIO接口
I2C接口
PWM接口
SPI接口
UART接口
字符编码转换接口
持久化数据存储接口
MCU特殊操作
内存管理
移动网络相关接口
OTP操作
电源管理接口
时钟接口(RTC)
▼ 操作系统接口
线程任务接口函数
消息事件函数
信号量接口函数
互斥锁接口函数
队列接口函数
软件定时器接口函数
临界保护接口函数
短信功能
wifiscan扫描接口
音频接口
远程升级接口


Luat_soc_sdk: crypto数据加密

函数
crypto数据加密

函数

void | luat_crypto_md5 (unsigned char *input, int ilen, unsigned char output[16])
进行MD5检验 更多...
int | luat_crypto_base64_encode (unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen)
BASE64加密 更多...
int | luat_crypto_base64_decode (unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen)
BASE64解密 更多...
void | luat_crypto_sha1 (const unsigned char *input, size_t ilen, unsigned char output[20])
进行SHA1校验 更多...
void | luat_crypto_sha256 (const unsigned char *input, size_t ilen, unsigned char output[20], int is_224)
进行SHA256校验 更多...
int | luat_crypto_trng (char *buff, size_t len)
产生随机数 更多...

详细描述

函数说明

◆ luat_crypto_base64_decode()

int luat_crypto_base64_decode | ( | unsigned char * | dst,
 |  | size_t | dlen,
 |  | size_t * | olen,
 |  | const unsigned char * | src,
 |  | size_t | slen
 | ) |  |

BASE64解密

参数
dst | buffer
dlen | buffer长度
olen | 写入的字节数
src | 密钥
slen | 密钥长度
返回
0成功

◆ luat_crypto_base64_encode()

int luat_crypto_base64_encode | ( | unsigned char * | dst,
 |  | size_t | dlen,
 |  | size_t * | olen,
 |  | const unsigned char * | src,
 |  | size_t | slen
 | ) |  |

BASE64加密

参数
dst | buffer
dlen | buffer长度
olen | 写入的字节数
src | 加密密钥
slen | 加密密钥长度
返回
0成功

◆ luat_crypto_md5()

void luat_crypto_md5 | ( | unsigned char * | input,
 |  | int | ilen,
 |  | unsigned char | output[16]
 | ) |  |

进行MD5检验

参数
input | 输入的数据
ilen | 输入的数据长度
output | 输出的MD5检验值

◆ luat_crypto_sha1()

void luat_crypto_sha1 | ( | const unsigned char * | input,
 |  | size_t | ilen,
 |  | unsigned char | output[20]
 | ) |  |

进行SHA1校验

参数
input | 输入的数据
ilen | 输入的数据长度
output | 输出的SHA1检验值

◆ luat_crypto_sha256()

void luat_crypto_sha256 | ( | const unsigned char * | input,
 |  | size_t | ilen,
 |  | unsigned char | output[20],
 |  | int | is_224
 | ) |  |

进行SHA256校验

参数
input | 输入的数据
ilen | 输入的数据长度
output | 输出的SHA1检验值
is_224 | 是否是224校验

◆ luat_crypto_trng()

int luat_crypto_trng | ( | char * | buff,
 |  | size_t | len
 | ) |  |

产生随机数

参数
buff | 随机数存放地址
ilen | 随机数长度


Luat_soc_sdk: 调式接口

宏定义 | 类型定义 | 枚举 | 函数
调式接口

宏定义

#define | LUAT_DEBUG_PRINT(fmt, argv...) luat_debug_print("%s %d:"fmt, __FUNCTION__,__LINE__, ##argv)
luat_debug_print宏定义为LUAT_DEBUG_PRINT 更多...
#define | LUAT_DEBUG_ASSERT(condition, fmt, argv...)
luat_debug_assert宏定义为LUAT_DEBUG_ASSERT 更多...

类型定义

typedef enum LUAT_DEBUG_FAULT_MODE LUAT_DEBUG_FAULT_MODE_E
出现异常后系统处理 更多...

枚举

enum LUAT_DEBUG_FAULT_MODE { LUAT_DEBUG_FAULT_RESET , LUAT_DEBUG_FAULT_HANG }
出现异常后系统处理 更多...

函数

void | luat_debug_print (const char *fmt,...)
格式打印并输出到LOG口 更多...
void | luat_debug_assert (const char *fun_name, unsigned int line_no, const char *fmt,...)
断言处理，并格式打印输出到LOG口 更多...
void | luat_debug_set_fault_mode (LUAT_DEBUG_FAULT_MODE_E mode)
设置出现异常后系统处理模式 更多...

详细描述

宏定义说明

◆ LUAT_DEBUG_ASSERT

#define LUAT_DEBUG_ASSERT | ( | condition,
 |  | fmt,
 |  | argv...
 | ) |
值:
do { \
{ \
if((condition) == 0) \
{ \
luat_debug_assert(__FUNCTION__, __LINE__, fmt, ##argv); \
}\
} \
} while(0)

luat_debug_assert宏定义为LUAT_DEBUG_ASSERT

在文件 luat_debug.h 第 79 行定义.

◆ LUAT_DEBUG_PRINT

#define LUAT_DEBUG_PRINT | ( | fmt,
 |  | argv...
 | ) | luat_debug_print("%s %d:"fmt, __FUNCTION__,__LINE__, ##argv)

luat_debug_print宏定义为LUAT_DEBUG_PRINT

参数
fmt 格式
... 后续变量

在文件 luat_debug.h 第 52 行定义.

类型定义说明

◆ LUAT_DEBUG_FAULT_MODE_E

typedef enum LUAT_DEBUG_FAULT_MODE LUAT_DEBUG_FAULT_MODE_E

出现异常后系统处理

枚举类型说明

◆ LUAT_DEBUG_FAULT_MODE

enum LUAT_DEBUG_FAULT_MODE

出现异常后系统处理

枚举值
LUAT_DEBUG_FAULT_RESET | 出现异常后重启
LUAT_DEBUG_FAULT_HANG | 出现异常后死机

在文件 luat_debug.h 第 34 行定义.

函数说明

◆ luat_debug_assert()

void luat_debug_assert | ( | const char * | fun_name,
 |  | unsigned int | line_no,
 |  | const char * | fmt,
 |  |  | ...
 | ) |  |

断言处理，并格式打印输出到LOG口

参数
fun_name | 断言的函数
line_no | 行号
fmt | 格式
... 后续变量

◆ luat_debug_print()

void luat_debug_print | ( | const char * | fmt,
 |  |  | ...
 | ) |  |

格式打印并输出到LOG口

参数
fmt 格式
... 后续变量

◆ luat_debug_set_fault_mode()

void luat_debug_set_fault_mode ( LUAT_DEBUG_FAULT_MODE_E mode )

设置出现异常后系统处理模式

参数
mode 处理模式 LUAT_DEBUG_FAULT_RESET 重启模式 LUAT_DEBUG_FAULT_HANG 死机模式


Luat_soc_sdk: 片上Flash操作

函数
片上Flash操作

函数

int | luat_flash_read (char *buff, size_t addr, size_t len)
读取指定区域的Flash数据 更多...
int | luat_flash_write (char *buff, size_t addr, size_t len)
写入指定区域的flash数据 更多...
int | luat_flash_erase (size_t addr, size_t len)
抹除指定区域的flash数据 更多...

详细描述

函数说明

◆ luat_flash_erase()

int luat_flash_erase | ( | size_t | addr,
 |  | size_t | len
 | ) |  |

抹除指定区域的flash数据

参数
addr | 偏移量, 与具体设备相关
len | 抹除长度,通常为区域大小, 例如4096
返回
int != 0错误 =0 正常

◆ luat_flash_read()

int luat_flash_read | ( | char * | buff,
 |  | size_t | addr,
 |  | size_t | len
 | ) |  |

读取指定区域的Flash数据

参数
buff[OUT] | 读出的数据
addr | 偏移量, 与具体设备相关
len | 读取长度
返回
int <= 0错误 >0实际读取的大小

◆ luat_flash_write()

int luat_flash_write | ( | char * | buff,
 |  | size_t | addr,
 |  | size_t | len
 | ) |  |

写入指定区域的flash数据

参数
buff[IN] | 写入的数据
addr | 偏移量, 与具体设备相关
len | 写入长度
返回
int <= 0错误 >0实际写入的大小


Luat_soc_sdk: 文件系统接口

结构体 | 宏定义 | 类型定义 | 函数
文件系统接口

结构体

struct | luat_fs_conf
struct | luat_fs_info
struct | luat_fs_dirent

宏定义

#define LUAT_WEAK __attribute__((weak))

类型定义

typedef struct luat_fs_conf | luat_fs_conf_t
typedef struct luat_fs_info | luat_fs_info_t
typedef struct luat_fs_dirent | luat_fs_dirent_t

函数

int | luat_fs_init (void)
文件系统初始化 更多...
int | luat_fs_info (const char *path, luat_fs_info_t *info)
获取文件系统状态 更多...
FILE * | luat_fs_fopen (const char *filename, const char *mode)
打开文件,类似于fopen 更多...
int | luat_fs_getc (FILE *stream)
读到单个字节,类似于getc 更多...
int | luat_fs_fseek (FILE *stream, long int offset, int origin)
设置句柄位置,类似于fseek 更多...
int | luat_fs_ftell (FILE *stream)
获取句柄位置,类似于ftell 更多...
int | luat_fs_fclose (FILE *stream)
关闭句柄位置,类似于fclose 更多...
int | luat_fs_feof (FILE *stream)
是否已经到文件结尾,类似于feof 更多...
int | luat_fs_ferror (FILE *stream)
是否有文件系统错误,类似于ferror 更多...
size_t | luat_fs_fread (void *ptr, size_t size, size_t nmemb, FILE *stream)
读取文件,类似于fread 更多...
size_t | luat_fs_fwrite (const void *ptr, size_t size, size_t nmemb, FILE *stream)
写入文件,类似于fwrite 更多...
int | luat_fs_remove (const char *filename)
删除文件,类似于remove 更多...
int | luat_fs_rename (const char *old_filename, const char *new_filename)
文件改名,类似于rename 更多...
size_t | luat_fs_fsize (const char *filename)
文件大小,类似于fsize 更多...
int | luat_fs_fexist (const char *filename)
文件是否存在,类似于fexist 更多...
int | luat_fs_truncate (const char *filename, size_t len)
截断文件,类似于ftruncate 更多...
int | luat_fs_mkdir (char const *dir)
创建文件夹,当前EC618不支持 更多...
int | luat_fs_rmdir (char const *dir)
删除文件夹,必须为空文件夹 更多...
int | luat_fs_lsdir (char const *dir, luat_fs_dirent_t *ents, size_t offset, size_t len)
遍历文件夹 更多...
int | luat_fs_ready (void)
文件系统是否已经就绪 更多...

详细描述

宏定义说明

◆ LUAT_WEAK

#define LUAT_WEAK __attribute__((weak))

在文件 luat_fs.h 第 34 行定义.

类型定义说明

◆ luat_fs_conf_t

typedef struct luat_fs_conf luat_fs_conf_t

◆ luat_fs_dirent_t

typedef struct luat_fs_dirent luat_fs_dirent_t

◆ luat_fs_info_t

typedef struct luat_fs_info luat_fs_info_t

函数说明

◆ luat_fs_fclose()

int luat_fs_fclose ( FILE * stream )

关闭句柄位置,类似于fclose

参数
stream[IN] 文件句柄
返回
int =0成功,否则失败

◆ luat_fs_feof()

int luat_fs_feof ( FILE * stream )

是否已经到文件结尾,类似于feof

参数
stream[IN] 文件句柄
返回
int =0未到文件尾部,其余为到达文件尾部

◆ luat_fs_ferror()

int luat_fs_ferror ( FILE * stream )

是否有文件系统错误,类似于ferror

参数
stream[IN] 文件句柄
返回
int =0无错误, 其余为错误值

◆ luat_fs_fexist()

int luat_fs_fexist ( const char * filename )

文件是否存在,类似于fexist

参数
filename[IN] 文件路径
返回
int =0不存在,否则存在

◆ luat_fs_fopen()

FILE * luat_fs_fopen | ( | const char * | filename,
 |  | const char * | mode
 | ) |  |

打开文件,类似于fopen

参数
path[IN] | 文件路径
mode[IN] | 打开模式,与posix类型, 例如 "r" "rw" "w" "w+" "a"
返回
FILE* 文件句柄,失败返回NULL

◆ luat_fs_fread()

size_t luat_fs_fread | ( | void * | ptr,
 |  | size_t | size,
 |  | size_t | nmemb,
 |  | FILE * | stream
 | ) |  |

读取文件,类似于fread

参数
ptr[OUT] | 存放读取数据的缓冲区
size[IN] | 单次读取大小
nmemb[IN] | 读取次数
stream[IN] | 文件句柄
返回
int >=0实际读取的数量,<0出错

◆ luat_fs_fseek()

int luat_fs_fseek | ( | FILE * | stream,
 |  | long int | offset,
 |  | int | origin
 | ) |  |

设置句柄位置,类似于fseek

参数
stream[IN] | 文件句柄
offset[IN] | 偏移量
origin[IN] | 参考点, 例如 SEEK_SET 绝对坐标, SEEK_END 结尾, SEEK_CUR 当前
返回
int =0成功,否则失败

◆ luat_fs_fsize()

size_t luat_fs_fsize ( const char * filename )

文件大小,类似于fsize

参数
filename[IN] 文件路径
返回
int >=0文件大小, <0文件存在或者不可访问

◆ luat_fs_ftell()

int luat_fs_ftell ( FILE * stream )

获取句柄位置,类似于ftell

参数
stream[IN] 文件句柄
返回
int >=0当前位置, 否则失败

◆ luat_fs_fwrite()

size_t luat_fs_fwrite | ( | const void * | ptr,
 |  | size_t | size,
 |  | size_t | nmemb,
 |  | FILE * | stream
 | ) |  |

写入文件,类似于fwrite

参数
ptr[OUT] | 存放写入数据的缓冲区
size[IN] | 单次读取大小
nmemb[IN] | 读取次数
stream[IN] | 文件句柄
返回
int >=0实际写入的数量,<0出错

◆ luat_fs_getc()

int luat_fs_getc ( FILE * stream )

读到单个字节,类似于getc

参数
stream[IN] 文件句柄
返回
int >=0读取成功返回, -1失败, 例如读取到文件尾部

◆ luat_fs_info()

int luat_fs_info | ( | const char * | path,
 |  | luat_fs_info_t * | info
 | ) |  |

获取文件系统状态

参数
path[IN] | 挂载路径, 通常为 /
info[OUT] | 文件系统信息
返回
int =0成功，其他失败

◆ luat_fs_init()

int luat_fs_init ( void )

文件系统初始化

返回
int =0成功，其他失败

◆ luat_fs_lsdir()

int luat_fs_lsdir | ( | char const * | dir,
 |  | luat_fs_dirent_t * | ents,
 |  | size_t | offset,
 |  | size_t | len
 | ) |  |

遍历文件夹

参数
dir[IN] | 文件夹路径
ents[OUT] | 文件列表,必须已分配内存,且不小于len个元素
offset[IN] | 跳过多少个文件
len[IN] | 最多读取多少个文件
返回
int =>0读取到文件个数,否则失败

◆ luat_fs_mkdir()

int luat_fs_mkdir ( char const * dir )

创建文件夹,当前EC618不支持

参数
dir[IN] 文件夹路径
返回
int =0成功,否则失败

◆ luat_fs_ready()

int luat_fs_ready ( void )

文件系统是否已经就绪

返回
int 0未就绪, >0已就绪

◆ luat_fs_remove()

int luat_fs_remove ( const char * filename )

删除文件,类似于remove

参数
filename[IN] 文件路径
返回
int =0成功,否则失败

◆ luat_fs_rename()

int luat_fs_rename | ( | const char * | old_filename,
 |  | const char * | new_filename
 | ) |  |

文件改名,类似于rename

参数
old_filename[IN] | 原文件路径
new_filename[IN] | 新文件路径
返回
int =0成功,否则失败

◆ luat_fs_rmdir()

int luat_fs_rmdir ( char const * dir )

删除文件夹,必须为空文件夹

参数
dir[IN] 文件夹路径
返回
int =0成功,否则失败

◆ luat_fs_truncate()

int luat_fs_truncate | ( | const char * | filename,
 |  | size_t | len
 | ) |  |

截断文件,类似于ftruncate

参数
fp[IN] 文件句柄
返回
int >=0截断后的文件大小,否则失败

截断文件,类似于truncate

参数
filename[IN] 文件路径
返回
int >=0截断后的文件大小,否则失败


Luat_soc_sdk: luat_fs_conf结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_fs_conf结构体 参考
文件系统接口

#include <luat_fs.h>

成员变量

char * | busname
char * | type
char * | filesystem
const char * | mount_point

详细描述

在文件 luat_fs.h 第 37 行定义.

结构体成员变量说明

◆ busname

char* busname

在文件 luat_fs.h 第 38 行定义.

◆ filesystem

char* filesystem

在文件 luat_fs.h 第 40 行定义.

◆ mount_point

const char* mount_point

在文件 luat_fs.h 第 41 行定义.

◆ type

char* type

在文件 luat_fs.h 第 39 行定义.


Luat_soc_sdk: luat_fs_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_fs_info结构体 参考
文件系统接口

#include <luat_fs.h>

成员变量

char | filesystem [8]
unsigned char | type
size_t | total_block
size_t | block_used
size_t | block_size

详细描述

在文件 luat_fs.h 第 44 行定义.

结构体成员变量说明

◆ block_size

size_t block_size

在文件 luat_fs.h 第 50 行定义.

◆ block_used

size_t block_used

在文件 luat_fs.h 第 49 行定义.

◆ filesystem

char filesystem[8]

在文件 luat_fs.h 第 46 行定义.

◆ total_block

size_t total_block

在文件 luat_fs.h 第 48 行定义.

◆ type

unsigned char type

在文件 luat_fs.h 第 47 行定义.


Luat_soc_sdk: luat_fs_dirent结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_fs_dirent结构体 参考
文件系统接口

#include <luat_fs.h>

成员变量

unsigned char | d_type
char | d_name [255]

详细描述

在文件 luat_fs.h 第 185 行定义.

结构体成员变量说明

◆ d_name

char d_name[255]

在文件 luat_fs.h 第 188 行定义.

◆ d_type

unsigned char d_type

在文件 luat_fs.h 第 187 行定义.


Luat_soc_sdk: 外设接口

模块
外设接口

模块

ADC接口
GPIO接口
I2C接口
PWM接口
SPI接口
UART接口

详细描述

制作者 doxygen 1.9.5


Luat_soc_sdk: ADC接口

结构体
ADC接口
外设接口

结构体

union | luat_adc_ctrl_param
ADC控制参数 更多...
enum | LUAT_ADC_CTRL_CMD { LUAT_ADC_SET_GLOBAL_RANGE }
ADC控制命令 更多...
enum LUAT_ADC_RANGE {
LUAT_ADC_AIO_RANGE_1_2 , LUAT_ADC_AIO_RANGE_1_4 , LUAT_ADC_AIO_RANGE_1_6 , LUAT_ADC_AIO_RANGE_1_9 ,
LUAT_ADC_AIO_RANGE_2_4 , LUAT_ADC_AIO_RANGE_2_7 , LUAT_ADC_AIO_RANGE_3_2 , LUAT_ADC_AIO_RANGE_3_8 ,
LUAT_ADC_VBAT_RANGE_2_0_RATIO , LUAT_ADC_VBAT_RANGE_2_2_RATIO , LUAT_ADC_VBAT_RANGE_2_6_RATIO , LUAT_ADC_VBAT_RANGE_3_2_RATIO ,
LUAT_ADC_VBAT_RANGE_4_0_RATIO , LUAT_ADC_VBAT_RANGE_5_3_RATIO , LUAT_ADC_VBAT_RANGE_8_0_RATIO , LUAT_ADC_VBAT_RANGE_16_0_RATIO
}
ADC测量范围（量程）,和具体的芯片有关：移芯618芯片，LUAT_ADC_RANGE_1_2表示1.2V，内部无分压，其余量程内部都有分压 更多...
typedef enum LUAT_ADC_CTRL_CMD | LUAT_ADC_CTRL_CMD_E
ADC控制命令 更多...
typedef enum LUAT_ADC_RANGE | LUAT_ADC_RANGE_E
ADC测量范围（量程）,和具体的芯片有关：移芯618芯片，LUAT_ADC_RANGE_1_2表示1.2V，内部无分压，其余量程内部都有分压 更多...
typedef union luat_adc_ctrl_param | luat_adc_ctrl_param_t
ADC控制参数 更多...
int | luat_adc_open (int pin, void *args)
打开一个adc通道 更多...
int | luat_adc_read (int pin, int *val, int *val2)
读取adc通道的值 更多...
int | luat_adc_close (int pin)
关闭adc通道 更多...
int | luat_adc_ctrl (int pin, LUAT_ADC_CTRL_CMD_E cmd, luat_adc_ctrl_param_t param)
adc控制 更多...

详细描述

类型定义说明

◆ LUAT_ADC_CTRL_CMD_E

typedef enum LUAT_ADC_CTRL_CMD LUAT_ADC_CTRL_CMD_E

ADC控制命令

◆ luat_adc_ctrl_param_t

typedef union luat_adc_ctrl_param luat_adc_ctrl_param_t

ADC控制参数

◆ LUAT_ADC_RANGE_E

typedef enum LUAT_ADC_RANGE LUAT_ADC_RANGE_E

ADC测量范围（量程）,和具体的芯片有关：移芯618芯片，LUAT_ADC_RANGE_1_2表示1.2V，内部无分压，其余量程内部都有分压

枚举类型说明

◆ LUAT_ADC_CTRL_CMD

enum LUAT_ADC_CTRL_CMD

ADC控制命令

枚举值
LUAT_ADC_SET_GLOBAL_RANGE

量程

在文件 luat_adc.h 第 72 行定义.

◆ LUAT_ADC_RANGE

enum LUAT_ADC_RANGE

ADC测量范围（量程）,和具体的芯片有关：移芯618芯片，LUAT_ADC_RANGE_1_2表示1.2V，内部无分压，其余量程内部都有分压

枚举值
LUAT_ADC_AIO_RANGE_1_2
LUAT_ADC_AIO_RANGE_1_4
LUAT_ADC_AIO_RANGE_1_6
LUAT_ADC_AIO_RANGE_1_9
LUAT_ADC_AIO_RANGE_2_4
LUAT_ADC_AIO_RANGE_2_7
LUAT_ADC_AIO_RANGE_3_2
LUAT_ADC_AIO_RANGE_3_8
LUAT_ADC_VBAT_RANGE_2_0_RATIO
LUAT_ADC_VBAT_RANGE_2_2_RATIO
LUAT_ADC_VBAT_RANGE_2_6_RATIO
LUAT_ADC_VBAT_RANGE_3_2_RATIO
LUAT_ADC_VBAT_RANGE_4_0_RATIO
LUAT_ADC_VBAT_RANGE_5_3_RATIO
LUAT_ADC_VBAT_RANGE_8_0_RATIO
LUAT_ADC_VBAT_RANGE_16_0_RATIO

在文件 luat_adc.h 第 80 行定义.

函数说明

◆ luat_adc_close()

int luat_adc_close ( int pin )

关闭adc通道

luat_adc_close

参数
pin[in] adc通道的序号
返回
0 成功, 其他值为失败

◆ luat_adc_ctrl()

int luat_adc_ctrl | ( | int | pin,
 |  | LUAT_ADC_CTRL_CMD_E | cmd,
 |  | luat_adc_ctrl_param_t | param
 | ) |  |

adc控制

luat_adc_ctrl

参数
pin[in] | adc通道的序号
cmd | adc控制命令
param | adc控制参数
返回
0 成功, 其他值为失败

◆ luat_adc_open()

int luat_adc_open | ( | int | pin,
 |  | void * | args
 | ) |  |

打开一个adc通道

luat_adc_open

参数
pin[in] | adc通道的序号
args[in] | 保留用,传NULL
返回
0 成功, 其他值为失败

◆ luat_adc_read()

int luat_adc_read | ( | int | pin,
 |  | int * | val,
 |  | int * | val2
 | ) |  |

读取adc通道的值

luat_adc_read

参数
pin[in] | adc通道的序号
val[out] | adc通道的原始值
val2[out] | adc通道的计算值,与具体通道有关
返回
0 成功, 其他值为失败


Luat_soc_sdk: luat_adc_ctrl_param联合体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_adc_ctrl_param联合体 参考
外设接口 » ADC接口

ADC控制参数 更多...

#include <luat_adc.h>

成员变量

LUAT_ADC_RANGE_E range
void * userdata

详细描述

ADC控制参数

在文件 luat_adc.h 第 109 行定义.

结构体成员变量说明

◆ range

LUAT_ADC_RANGE_E range

adc量程

在文件 luat_adc.h 第 111 行定义.

◆ userdata

void* userdata

预留

在文件 luat_adc.h 第 112 行定义.


Luat_soc_sdk: GPIO接口

结构体 | 宏定义 | 类型定义 | 枚举 | 函数
GPIO接口
外设接口

结构体

struct luat_gpio_cfg
GPIO控制参数 更多...

宏定义

#define | LUAT_GPIO_LOW (Luat_GPIO_LOW)
GPIO配置为低电平 更多...
#define | LUAT_GPIO_HIGH (Luat_GPIO_HIGH)
GPIO配置为高电平 更多...
#define | LUAT_GPIO_OUTPUT (Luat_GPIO_OUTPUT)
GPIO配置为输出模式 更多...
#define | LUAT_GPIO_INPUT (Luat_GPIO_INPUT)
GPIO配置为输入模式 更多...
#define | LUAT_GPIO_IRQ (Luat_GPIO_IRQ)
GPIO配置为中断模式 更多...
#define | LUAT_GPIO_DEFAULT (Luat_GPIO_DEFAULT)
GPIO配置为默认模式,EC618平台，普通的GPIO配置为LUAT_GPIO_DEFAULT，表示完全关闭上下拉；AGPIO软件上不支持配置上下拉，即使配置了也无效，一直是硬件开机或者复位时的默认状态 更多...
#define | LUAT_GPIO_PULLUP (Luat_GPIO_PULLUP)
GPIO配置为上拉模式 更多...
#define | LUAT_GPIO_PULLDOWN (Luat_GPIO_PULLDOWN)
GPIO配置为下拉模式 更多...
#define | LUAT_GPIO_RISING_IRQ (Luat_GPIO_RISING)
上升沿中断 更多...
#define | LUAT_GPIO_FALLING_IRQ (Luat_GPIO_FALLING)
下降沿中断 更多...
#define | LUAT_GPIO_BOTH_IRQ (Luat_GPIO_BOTH)
上升沿 下降沿都中断 更多...
#define | LUAT_GPIO_HIGH_IRQ (Luat_GPIO_HIGH_IRQ)
GPIO配置为高电平中断模式 更多...
#define | LUAT_GPIO_LOW_IRQ (Luat_GPIO_LOW_IRQ)
GPIO配置为低电平模式 更多...
#define | LUAT_GPIO_NO_IRQ (0xff)
GPIO没有中断模式 更多...
#define | LUAT_GPIO_MAX_ID (Luat_GPIO_MAX_ID)
最大GPIO序号 更多...

类型定义

typedef struct luat_gpio_cfg luat_gpio_cfg_t
GPIO控制参数 更多...

枚举

enum LUAT_GPIO_CTRL_CMD_E { LUAT_GPIO_CMD_SET_PULL_MODE , LUAT_GPIO_CMD_SET_IRQ_MODE }
GPIO上下拉\中断设置参数 更多...

函数

void | luat_gpio_set_default_cfg (luat_gpio_cfg_t *gpio)
GPIO设置默认参数 更多...
int | luat_gpio_open (luat_gpio_cfg_t *gpio)
打开GPIO 更多...
int | luat_gpio_set (int pin, int level)
GPIO输出电平 更多...
int | luat_gpio_get (int pin)
读取GPIO输入电平 更多...
void | luat_gpio_close (int pin)
关闭GPIO 更多...
int | luat_gpio_set_irq_cb (int pin, luat_gpio_irq_cb cb, void *args)
设置GPIO中断回调函数 更多...
void | luat_gpio_pulse (int pin, uint8_t *level, uint16_t len, uint16_t delay_ns)
GPIO模拟单线输出模式 更多...
int | luat_gpio_ctrl (int pin, LUAT_GPIO_CTRL_CMD_E cmd, int param)
GPIO上下拉\中断单独设置函数 更多...

详细描述

宏定义说明

◆ LUAT_GPIO_BOTH_IRQ

#define LUAT_GPIO_BOTH_IRQ (Luat_GPIO_BOTH)

上升沿 下降沿都中断

在文件 luat_gpio.h 第 53 行定义.

◆ LUAT_GPIO_DEFAULT

#define LUAT_GPIO_DEFAULT (Luat_GPIO_DEFAULT)

GPIO配置为默认模式,EC618平台，普通的GPIO配置为LUAT_GPIO_DEFAULT，表示完全关闭上下拉；AGPIO软件上不支持配置上下拉，即使配置了也无效，一直是硬件开机或者复位时的默认状态

在文件 luat_gpio.h 第 47 行定义.

◆ LUAT_GPIO_FALLING_IRQ

#define LUAT_GPIO_FALLING_IRQ (Luat_GPIO_FALLING)

下降沿中断

在文件 luat_gpio.h 第 52 行定义.

◆ LUAT_GPIO_HIGH

#define LUAT_GPIO_HIGH (Luat_GPIO_HIGH)

GPIO配置为高电平

在文件 luat_gpio.h 第 41 行定义.

◆ LUAT_GPIO_HIGH_IRQ

#define LUAT_GPIO_HIGH_IRQ (Luat_GPIO_HIGH_IRQ)

GPIO配置为高电平中断模式

在文件 luat_gpio.h 第 54 行定义.

◆ LUAT_GPIO_INPUT

#define LUAT_GPIO_INPUT (Luat_GPIO_INPUT)

GPIO配置为输入模式

在文件 luat_gpio.h 第 44 行定义.

◆ LUAT_GPIO_IRQ

#define LUAT_GPIO_IRQ (Luat_GPIO_IRQ)

GPIO配置为中断模式

在文件 luat_gpio.h 第 45 行定义.

◆ LUAT_GPIO_LOW

#define LUAT_GPIO_LOW (Luat_GPIO_LOW)

GPIO配置为低电平

在文件 luat_gpio.h 第 40 行定义.

◆ LUAT_GPIO_LOW_IRQ

#define LUAT_GPIO_LOW_IRQ (Luat_GPIO_LOW_IRQ)

GPIO配置为低电平模式

在文件 luat_gpio.h 第 55 行定义.

◆ LUAT_GPIO_MAX_ID

#define LUAT_GPIO_MAX_ID (Luat_GPIO_MAX_ID)

最大GPIO序号

在文件 luat_gpio.h 第 58 行定义.

◆ LUAT_GPIO_NO_IRQ

#define LUAT_GPIO_NO_IRQ (0xff)

GPIO没有中断模式

在文件 luat_gpio.h 第 56 行定义.

◆ LUAT_GPIO_OUTPUT

#define LUAT_GPIO_OUTPUT (Luat_GPIO_OUTPUT)

GPIO配置为输出模式

在文件 luat_gpio.h 第 43 行定义.

◆ LUAT_GPIO_PULLDOWN

#define LUAT_GPIO_PULLDOWN (Luat_GPIO_PULLDOWN)

GPIO配置为下拉模式

在文件 luat_gpio.h 第 49 行定义.

◆ LUAT_GPIO_PULLUP

#define LUAT_GPIO_PULLUP (Luat_GPIO_PULLUP)

GPIO配置为上拉模式

在文件 luat_gpio.h 第 48 行定义.

◆ LUAT_GPIO_RISING_IRQ

#define LUAT_GPIO_RISING_IRQ (Luat_GPIO_RISING)

上升沿中断

在文件 luat_gpio.h 第 51 行定义.

类型定义说明

◆ luat_gpio_cfg_t

typedef struct luat_gpio_cfg luat_gpio_cfg_t

GPIO控制参数

枚举类型说明

◆ LUAT_GPIO_CTRL_CMD_E

enum LUAT_GPIO_CTRL_CMD_E

GPIO上下拉\中断设置参数

枚举值
LUAT_GPIO_CMD_SET_PULL_MODE | 上下拉模式
LUAT_GPIO_CMD_SET_IRQ_MODE | 中断模式

在文件 luat_gpio.h 第 80 行定义.

函数说明

◆ luat_gpio_close()

void luat_gpio_close ( int pin )

关闭GPIO

参数
Pin Pin序号

◆ luat_gpio_ctrl()

int luat_gpio_ctrl | ( | int | pin,
 |  | LUAT_GPIO_CTRL_CMD_E | cmd,
 |  | int | param
 | ) |  |

GPIO上下拉\中断单独设置函数

参数
pin | Pin序号
LUAT_GPIO_CTRL_CMD_E | 设置命令 LUAT_GPIO_CMD_SET_PULL_MODE 设置上下拉命令 LUAT_GPIO_CMD_SET_IRQ_MODE
param | 设置参数 参数取自上下拉、以及中断的宏定义
返回
-1 失败 0 成功

◆ luat_gpio_get()

int luat_gpio_get ( int pin )

读取GPIO输入电平

参数
Pin Pin序号
返回
1高电平， 0低电平，其他无效

◆ luat_gpio_open()

int luat_gpio_open ( luat_gpio_cfg_t * gpio )

打开GPIO

参数
luat_gpio_cfg_t

◆ luat_gpio_pulse()

void luat_gpio_pulse | ( | int | pin,
 |  | uint8_t * | level,
 |  | uint16_t | len,
 |  | uint16_t | delay_ns
 | ) |  |

GPIO模拟单线输出模式

参数
Pin | Pin序号
Data | 输出电平序列
BitLen | 输出电平序列中一共有几个bit
Delay | 每个bit之间的delay
返回
无
注意
在同一个GPIO输出一组脉冲, 注意, len的单位是bit, 高位在前.

◆ luat_gpio_set()

int luat_gpio_set | ( | int | pin,
 |  | int | level
 | ) |  |

GPIO输出电平

参数
Pin | Pin序号
Level | 1高电平，0低电平

◆ luat_gpio_set_default_cfg()

void luat_gpio_set_default_cfg ( luat_gpio_cfg_t * gpio )

GPIO设置默认参数

参数
luat_gpio_cfg_t

◆ luat_gpio_set_irq_cb()

int luat_gpio_set_irq_cb | ( | int | pin,
 |  | luat_gpio_irq_cb | cb,
 |  | void * | args
 | ) |  |

设置GPIO中断回调函数

参数
Pin | Pin序号
cb | 中断处理函数
args | 中断函数参数
返回
-1 失败 0 成功


Luat_soc_sdk: luat_gpio_cfg结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_gpio_cfg结构体 参考
外设接口 » GPIO接口

GPIO控制参数 更多...

#include <luat_gpio.h>

成员变量

int | pin
uint8_t | mode
uint8_t | pull
uint8_t | irq_type
uint8_t | output_level
luat_gpio_irq_cb | irq_cb
void * | irq_args
uint8_t | alt_fun

详细描述

GPIO控制参数

在文件 luat_gpio.h 第 65 行定义.

结构体成员变量说明

◆ alt_fun

uint8_t alt_fun

有些SOC的GPIO会在不同引脚上被复用，通过alt_fun来确定具体用哪个

在文件 luat_gpio.h 第 74 行定义.

◆ irq_args

void* irq_args

GPIO中断回调时用户参数

在文件 luat_gpio.h 第 73 行定义.

◆ irq_cb

luat_gpio_irq_cb irq_cb

GPIO中断回调函数

在文件 luat_gpio.h 第 72 行定义.

◆ irq_type

uint8_t irq_type

GPIO中断模式

在文件 luat_gpio.h 第 70 行定义.

◆ mode

uint8_t mode

GPIO模式

在文件 luat_gpio.h 第 68 行定义.

◆ output_level

uint8_t output_level

GPIO输出高低电平选择

在文件 luat_gpio.h 第 71 行定义.

◆ pin

int pin

引脚

在文件 luat_gpio.h 第 67 行定义.

◆ pull

uint8_t pull

GPIO上下拉模式

在文件 luat_gpio.h 第 69 行定义.


Luat_soc_sdk: I2C接口

I2C接口
外设接口
int | luat_i2c_exist (int id)
 | 检查i2c是否存在 更多...
int | luat_i2c_setup (int id, int speed)
 | 初始化i2c 更多...
int | luat_i2c_close (int id)
 | 关闭 i2c 更多...
int | luat_i2c_send (int id, int addr, void *buff, size_t len, uint8_t stop)
 | I2C 发送数据 更多...
int | luat_i2c_recv (int id, int addr, void *buff, size_t len)
 | I2C 接受数据 更多...
int | luat_i2c_transfer (int id, int addr, uint8_t *reg, size_t reg_len, uint8_t *buff, size_t len)
 | I2C 收发数据 更多...

详细描述

函数说明

◆ luat_i2c_close()

int luat_i2c_close ( int id )

关闭 i2c

参数
id i2c_id
返回
int

◆ luat_i2c_exist()

int luat_i2c_exist ( int id )

检查i2c是否存在

参数
id i2c_id
返回
int

◆ luat_i2c_recv()

int luat_i2c_recv | ( | int | id,
 |  | int | addr,
 |  | void * | buff,
 |  | size_t | len
 | ) |  |

I2C 接受数据

参数
id | i2c_id
addr | 7位设备地址
buff | 数据buff
len | 数据长度
返回
int

◆ luat_i2c_send()

int luat_i2c_send | ( | int | id,
 |  | int | addr,
 |  | void * | buff,
 |  | size_t | len,
 |  | uint8_t | stop
 | ) |  |

I2C 发送数据

参数
id | i2c_id
addr | 7位设备地址
buff | 数据buff
len | 数据长度
stop | 是否发送停止位
返回
int

◆ luat_i2c_setup()

int luat_i2c_setup | ( | int | id,
 |  | int | speed
 | ) |  |

初始化i2c

参数
id | i2c_id
speed | i2c 速度
slaveaddr | i2c 从地址
返回
int

◆ luat_i2c_transfer()

int luat_i2c_transfer | ( | int | id,
 |  | int | addr,
 |  | uint8_t * | reg,
 |  | size_t | reg_len,
 |  | uint8_t * | buff,
 |  | size_t | len
 | ) |  |

I2C 收发数据

参数
id | i2c_id
addr | 7位设备地址
reg | 发送数据
reg_len | 发送数据长度
buff | 数据buff
len | 数据长度
返回
int


Luat_soc_sdk: PWM接口

结构体
PWM接口
外设接口

结构体

struct | luat_pwm_conf
PWM控制参数 更多...
typedef struct luat_pwm_conf | luat_pwm_conf_t
PWM控制参数 更多...
int | luat_pwm_setup (luat_pwm_conf_t *conf)
配置pwm 参数 更多...
int | luat_pwm_open (int channel, size_t period, size_t pulse, int pnum)
打开pwm 通道 更多...
int | luat_pwm_capture (int channel, int freq)
获取pwm 频率 本功能暂未实现 更多...
int | luat_pwm_close (int channel)
关闭pwm 接口 更多...
int | luat_pwm_update_dutycycle (int channel, size_t pulse)
修改占空比 更多...

详细描述

版本
V1.0
注意
1.在使用int luat_pwm_open(int channel, size_t period, size_t freq, int pnum); 函数时依次依次设置PWM通道，设置PWM频率，设置占空比，PWM个数 若需要使用设置PWM个数时，PWM频率不宜高于50K,若高于50K可能会多出几个个数的现象

2.int luat_pwm_capture(int channel,int freq); 获取pwm 频率 此函数获取PWM频率功能尚未实现

类型定义说明

◆ luat_pwm_conf_t

typedef struct luat_pwm_conf luat_pwm_conf_t

PWM控制参数

函数说明

◆ luat_pwm_capture()

int luat_pwm_capture | ( | int | channel,
 |  | int | freq
 | ) |  |

获取pwm 频率 本功能暂未实现

参数
id i2c_id
返回
int

◆ luat_pwm_close()

int luat_pwm_close ( int channel )

关闭pwm 接口

参数
channel 选择PWM通道 可选通道为 0 / 1 / 2 / 4 总计4个通道
返回
int

◆ luat_pwm_open()

int luat_pwm_open | ( | int | channel,
 |  | size_t | period,
 |  | size_t | pulse,
 |  | int | pnum
 | ) |  |

打开pwm 通道

参数
channel 选择PWM通道 可选通道为 0 / 1 / 2 / 4 总计4个通道 period : 设置产生的PWM频率 pulse : 设置产生的PWM占空比 pnum ：设置产生的PWM个数，若pnum设为0将一直输出PWM
返回
int 返回值为 0 : 配置PWM成功 返回值为 -1: PWM通道选择错误 返回值为 -2: PWM频率设置错误 返回值为 -3：PWM占空比设置错误 返回值为 -4: 该PWM通道已被使用

◆ luat_pwm_setup()

int luat_pwm_setup ( luat_pwm_conf_t * conf )

配置pwm 参数

参数
conf->channel 选择PWM通道 可选通道为 0 / 1 / 2 / 4 总计4个通道 conf->period : 设置产生的PWM频率 conf->pulse : 设置产生的PWM占空比 conf->pnum : 设置产生的PWM个数，若pnum设为0将一直输出PWM
返回
int 返回值为 0 : 配置PWM成功 返回值为 -1: PWM通道选择错误 返回值为 -2: PWM频率设置错误 返回值为 -3：PWM占空比设置错误 返回值为 -4: 该PWM通道已被使用

◆ luat_pwm_update_dutycycle()

int luat_pwm_update_dutycycle | ( | int | channel,
 |  | size_t | pulse
 | ) |  |

修改占空比

参数
channel 选择pwm通道 可选通道为 0 / 1 / 2 / 4 总计4个通道 pulse ：修改pwm占空比值
返回
int


Luat_soc_sdk: luat_pwm_conf结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_pwm_conf结构体 参考
外设接口 » PWM接口

PWM控制参数 更多...

#include <luat_pwm.h>

成员变量

int | channel
size_t | period
size_t | pulse
size_t | pnum
size_t | precision

详细描述

PWM控制参数

在文件 luat_pwm.h 第 46 行定义.

结构体成员变量说明

◆ channel

int channel

PWM通道 可选通道为 0 / 1 / 2 / 4 总计4个通道

在文件 luat_pwm.h 第 47 行定义.

◆ period

size_t period

频率, 1Hz - 13MHz

在文件 luat_pwm.h 第 48 行定义.

◆ pnum

size_t pnum

输出周期 0为持续输出, 1为单次输出, 其他为指定脉冲数输出

在文件 luat_pwm.h 第 50 行定义.

◆ precision

size_t precision

分频精度, 100/256/1000, 默认为100, 若设备不支持会有日志提示

在文件 luat_pwm.h 第 51 行定义.

◆ pulse

size_t pulse

占空比，0-100 如将pulse设为50时输出高电平时间占周期50时间

在文件 luat_pwm.h 第 49 行定义.


Luat_soc_sdk: SPI接口

结构体
SPI接口
外设接口

结构体

struct | luat_spi
SPI功能配置 更多...
typedef struct luat_spi | luat_spi_t
SPI功能配置 更多...
int | luat_spi_setup (luat_spi_t *spi)
初始化配置SPI各项参数，并打开SPI 更多...
int | luat_spi_close (int spi_id)
关闭SPI 更多...
int | luat_spi_transfer (int spi_id, const char *send_buf, size_t send_length, char *recv_buf, size_t recv_length)
收发SPI数据 更多...
int | luat_spi_recv (int spi_id, char *recv_buf, size_t length)
收SPI数据 更多...
int | luat_spi_send (int spi_id, const char *send_buf, size_t length)
发SPI数据 更多...

详细描述

类型定义说明

◆ luat_spi_t

typedef struct luat_spi luat_spi_t

SPI功能配置

函数说明

◆ luat_spi_close()

int luat_spi_close ( int spi_id )

关闭SPI

参数
spi_id spi id
返回
int 成功返回0

◆ luat_spi_recv()

int luat_spi_recv | ( | int | spi_id,
 |  | char * | recv_buf,
 |  | size_t | length
 | ) |  |

收SPI数据

参数
spi_id | spi id
recv_buf | 接收数据
length | 数据长度
返回
int 返回接收字节数

◆ luat_spi_send()

int luat_spi_send | ( | int | spi_id,
 |  | const char * | send_buf,
 |  | size_t | length
 | ) |  |

发SPI数据

参数
spi_id | spi id
send_buf | 发送数据
length | 数据长度
返回
int 返回发送字节数

◆ luat_spi_setup()

int luat_spi_setup ( luat_spi_t * spi )

初始化配置SPI各项参数，并打开SPI

参数
spi spi结构体
返回
int 成功返回0

◆ luat_spi_transfer()

int luat_spi_transfer | ( | int | spi_id,
 |  | const char * | send_buf,
 |  | size_t | send_length,
 |  | char * | recv_buf,
 |  | size_t | recv_length
 | ) |  |

收发SPI数据

参数
spi_id | spi id
send_buf | 发送数据
send_length | 发送数据长度
recv_buf | 接收数据
recv_length | 接收数据长度
返回
int 返回接收字节数


Luat_soc_sdk: luat_spi结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_spi结构体 参考
外设接口 » SPI接口

SPI功能配置 更多...

#include <luat_spi.h>

成员变量

int | id
int | CPHA
int | CPOL
int | dataw
int | bit_dict
int | master
int | mode
int | bandrate
int | cs

详细描述

SPI功能配置

在文件 luat_spi.h 第 41 行定义.

结构体成员变量说明

◆ bandrate

int bandrate

频率 最小100000， 最大25600000

在文件 luat_spi.h 第 50 行定义.

◆ bit_dict

int bit_dict

高低位顺序 可选 1：MSB， 0：LSB

在文件 luat_spi.h 第 47 行定义.

◆ CPHA

int CPHA

CPHA 可选 1，0

在文件 luat_spi.h 第 44 行定义.

◆ CPOL

int CPOL

CPOL 可选 1，0

在文件 luat_spi.h 第 45 行定义.

◆ cs

int cs

cs控制引脚 SPI0的片选为GPIO8, 当配置为8时，表示启用SPI0自带片选；其他配置时，需要自行编码控制片选

在文件 luat_spi.h 第 51 行定义.

◆ dataw

int dataw

数据宽度 8：8bit

在文件 luat_spi.h 第 46 行定义.

◆ id

int id

spi id 可选 1，0

在文件 luat_spi.h 第 43 行定义.

◆ master

int master

设置主从模式 可选 1：主机， 0：从机

在文件 luat_spi.h 第 48 行定义.

◆ mode

int mode

设置全\半双工 可选 1：全双工，0：半双工

在文件 luat_spi.h 第 49 行定义.


Luat_soc_sdk: UART接口

结构体
UART接口
外设接口

结构体

struct | luat_uart
luat_uart 更多...
struct | luat_uart_ctrl_param
串口控制参数 更多...
enum | LUAT_UART_CTRL_CMD { LUAT_UART_SET_RECV_CALLBACK , LUAT_UART_SET_SENT_CALLBACK }
串口控制参数 更多...
typedef struct luat_uart | luat_uart_t
luat_uart 更多...
typedef enum LUAT_UART_CTRL_CMD | LUAT_UART_CTRL_CMD_E
串口控制参数 更多...
typedef void(* | luat_uart_recv_callback_t) (int uart_id, uint32_t data_len)
接收回调函数 更多...
typedef void(* | luat_uart_sent_callback_t) (int uart_id, void *param)
发送回调函数 更多...
typedef struct luat_uart_ctrl_param | luat_uart_ctrl_param_t
串口控制参数 更多...
int | luat_uart_setup (luat_uart_t *uart)
uart初始化 更多...
int | luat_uart_write (int uart_id, void *data, size_t length)
串口写数据 更多...
int | luat_uart_read (int uart_id, void *buffer, size_t length)
串口读数据 更多...
int | luat_uart_close (int uart_id)
关闭串口 更多...
int | luat_uart_exist (int uart_id)
检测串口是否存在 更多...
int | luat_uart_ctrl (int uart_id, LUAT_UART_CTRL_CMD_E cmd, void *param)
串口控制 更多...
#define | LUAT_PARITY_NONE 0
校验位 更多...
#define | LUAT_PARITY_ODD 1
#define | LUAT_PARITY_EVEN 2
#define | LUAT_BIT_ORDER_LSB 0
高低位顺序 更多...
#define | LUAT_BIT_ORDER_MSB 1
#define | LUAT_0_5_STOP_BITS 0xf0
停止位 更多...
#define | LUAT_1_5_STOP_BITS 0xf1
#define | LUAT_VUART_ID_0 0x20

详细描述

版本
V1.0
注意
上报接收数据中断的逻辑： 1.串口初始化时，新建一个缓冲区 2.可以考虑多为用户申请几百字节的缓冲长度，用户处理时防止丢包 3.每次串口收到数据时，先存入缓冲区，记录长度 4.遇到以下情况时，再调用串口中断 a)缓冲区满（帮用户多申请的的情况）/缓冲区只剩几百字节（按实际长度申请缓冲区的情况） b)收到fifo接收超时中断（此时串口数据应该是没有继续收了） 5.触发收到数据中断时，返回的数据应是缓冲区的数据 6.关闭串口时，释放缓冲区资源

宏定义说明

◆ LUAT_0_5_STOP_BITS

#define LUAT_0_5_STOP_BITS 0xf0

停止位

0.5

在文件 luat_uart.h 第 65 行定义.

◆ LUAT_1_5_STOP_BITS

#define LUAT_1_5_STOP_BITS 0xf1

1.5

在文件 luat_uart.h 第 66 行定义.

◆ LUAT_BIT_ORDER_LSB

#define LUAT_BIT_ORDER_LSB 0

高低位顺序

低位有效

在文件 luat_uart.h 第 59 行定义.

◆ LUAT_BIT_ORDER_MSB

#define LUAT_BIT_ORDER_MSB 1

高位有效

在文件 luat_uart.h 第 60 行定义.

◆ LUAT_PARITY_EVEN

#define LUAT_PARITY_EVEN 2

偶校验

在文件 luat_uart.h 第 54 行定义.

◆ LUAT_PARITY_NONE

#define LUAT_PARITY_NONE 0

校验位

无校验

在文件 luat_uart.h 第 52 行定义.

◆ LUAT_PARITY_ODD

#define LUAT_PARITY_ODD 1

奇校验

在文件 luat_uart.h 第 53 行定义.

◆ LUAT_VUART_ID_0

#define LUAT_VUART_ID_0 0x20

在文件 luat_uart.h 第 68 行定义.

类型定义说明

◆ LUAT_UART_CTRL_CMD_E

typedef enum LUAT_UART_CTRL_CMD LUAT_UART_CTRL_CMD_E

串口控制参数

◆ luat_uart_ctrl_param_t

typedef struct luat_uart_ctrl_param luat_uart_ctrl_param_t

串口控制参数

◆ luat_uart_recv_callback_t

typedef void(* luat_uart_recv_callback_t) (int uart_id, uint32_t data_len)

接收回调函数

在文件 luat_uart.h 第 146 行定义.

◆ luat_uart_sent_callback_t

typedef void(* luat_uart_sent_callback_t) (int uart_id, void *param)

发送回调函数

在文件 luat_uart.h 第 152 行定义.

◆ luat_uart_t

typedef struct luat_uart luat_uart_t

luat_uart

注意
uart0 为底层日志口接口，如果确需使用并明白所带来的后果， 请调用soc_uart0_set_log_off(1)关闭底层日志口，具体实例参见project/example_uart demo;

枚举类型说明

◆ LUAT_UART_CTRL_CMD

enum LUAT_UART_CTRL_CMD

串口控制参数

枚举值
LUAT_UART_SET_RECV_CALLBACK | 接收回调
LUAT_UART_SET_SENT_CALLBACK | 发送回调

在文件 luat_uart.h 第 136 行定义.

函数说明

◆ luat_uart_close()

int luat_uart_close ( int uart_id )

关闭串口

参数
uart_id 串口id
返回
int

◆ luat_uart_ctrl()

int luat_uart_ctrl | ( | int | uart_id,
 |  | LUAT_UART_CTRL_CMD_E | cmd,
 |  | void * | param
 | ) |  |

串口控制

参数
uart_id | 串口id
cmd | 串口控制命令
param | 串口控制参数
返回
int

◆ luat_uart_exist()

int luat_uart_exist ( int uart_id )

检测串口是否存在

参数
uart_id 串口id
返回
int

◆ luat_uart_read()

int luat_uart_read | ( | int | uart_id,
 |  | void * | buffer,
 |  | size_t | length
 | ) |  |

串口读数据

参数
uart_id | 串口id
buffer | 数据
length | 数据长度
返回
int

◆ luat_uart_setup()

int luat_uart_setup ( luat_uart_t * uart )

uart初始化

参数
uart luat_uart结构体
返回
int

◆ luat_uart_write()

int luat_uart_write | ( | int | uart_id,
 |  | void * | data,
 |  | size_t | length
 | ) |  |

串口写数据

参数
uart_id | 串口id
data | 数据
length | 数据长度
返回
int


Luat_soc_sdk: luat_uart结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_uart结构体 参考
外设接口 » UART接口

luat_uart 更多...

#include <luat_uart.h>

成员变量

int | id
int | baud_rate
uint8_t | data_bits
uint8_t | stop_bits
uint8_t | bit_order
uint8_t | parity
size_t | bufsz
uint32_t | pin485
uint32_t | delay
uint8_t | rx_level

详细描述

luat_uart

注意
uart0 为底层日志口接口，如果确需使用并明白所带来的后果， 请调用soc_uart0_set_log_off(1)关闭底层日志口，具体实例参见project/example_uart demo;

在文件 luat_uart.h 第 74 行定义.

结构体成员变量说明

◆ baud_rate

int baud_rate

波特率

在文件 luat_uart.h 第 76 行定义.

◆ bit_order

uint8_t bit_order

高低位

在文件 luat_uart.h 第 80 行定义.

◆ bufsz

size_t bufsz

接收数据缓冲区大小

在文件 luat_uart.h 第 83 行定义.

◆ data_bits

uint8_t data_bits

数据位

在文件 luat_uart.h 第 78 行定义.

◆ delay

uint32_t delay

485翻转延迟时间，单位us

在文件 luat_uart.h 第 85 行定义.

◆ id

int id

串口id

在文件 luat_uart.h 第 75 行定义.

◆ parity

uint8_t parity

奇偶校验位

在文件 luat_uart.h 第 81 行定义.

◆ pin485

uint32_t pin485

转换485的pin, 如果没有则是0xffffffff

在文件 luat_uart.h 第 84 行定义.

◆ rx_level

uint8_t rx_level

接收方向的电平

在文件 luat_uart.h 第 86 行定义.

◆ stop_bits

uint8_t stop_bits

停止位

在文件 luat_uart.h 第 79 行定义.


Luat_soc_sdk: luat_uart_ctrl_param结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_uart_ctrl_param结构体 参考
外设接口 » UART接口

串口控制参数 更多...

#include <luat_uart.h>

成员变量

luat_uart_recv_callback_t recv_callback_fun
luat_uart_sent_callback_t sent_callback_fun

详细描述

串口控制参数

在文件 luat_uart.h 第 158 行定义.

结构体成员变量说明

◆ recv_callback_fun

luat_uart_recv_callback_t recv_callback_fun

接收回调函数

在文件 luat_uart.h 第 160 行定义.

◆ sent_callback_fun

luat_uart_sent_callback_t sent_callback_fun

发送回调函数

在文件 luat_uart.h 第 161 行定义.


Luat_soc_sdk: 字符编码转换接口

类型定义 | 函数
字符编码转换接口

类型定义

typedef void * luat_iconv_t

函数

luat_iconv_t | luat_iconv_open (const char *to_code, const char *from_code)
开启iconv转换流，分配内存 更多...
size_t | luat_iconv_convert (luat_iconv_t cd, char **inbuf, size_t *in_bytes_left, char **outbuf, size_t *out_bytes_left)
转换编码格式 更多...
int | luat_iconv_close (luat_iconv_t cd)
关闭iconv转换流，释放内存 更多...

详细描述

类型定义说明

◆ luat_iconv_t

typedef void* luat_iconv_t

在文件 luat_iconv.h 第 31 行定义.

函数说明

◆ luat_iconv_close()

int luat_iconv_close ( luat_iconv_t cd )

关闭iconv转换流，释放内存

参数
cd cionv转换流
返回
1成功，0失败

◆ luat_iconv_convert()

size_t luat_iconv_convert | ( | luat_iconv_t | cd,
 |  | char ** | inbuf,
 |  | size_t * | in_bytes_left,
 |  | char ** | outbuf,
 |  | size_t * | out_bytes_left
 | ) |  |

转换编码格式

参数
cd | cionv转换流
inbuf | 输入缓冲区
in_bytes_left | 输入缓冲区长度
outbuf | 输出缓冲区
out_bytes_left | 输出缓冲区长度
返回
0为成功，-1为失败

◆ luat_iconv_open()

luat_iconv_t luat_iconv_open | ( | const char * | to_code,
 |  | const char * | from_code
 | ) |  |

开启iconv转换流，分配内存

参数
to_code | 待转换编码
from_code | 目标编码
返回
cionv转换流


Luat_soc_sdk: 持久化数据存储接口

函数
持久化数据存储接口

函数

int | luat_kv_init (void)
初始化kv数据存储 更多...
int | luat_kv_del (const char *key)
删除指定的key 更多...
int | luat_kv_set (const char *key, void *data, size_t len)
写入指定key的数据 更多...
int | luat_kv_get (const char *key, void *data, size_t len)
读取指定key的数据 更多...
int | luat_kv_clear (void)
清空所有数据 更多...

详细描述

函数说明

◆ luat_kv_clear()

int luat_kv_clear ( void )

清空所有数据

返回
int == 0 正常 != 0失败

◆ luat_kv_del()

int luat_kv_del ( const char * key )

删除指定的key

参数
key[IN] 待删除的key值
返回
int == 0 正常 != 0失败

◆ luat_kv_get()

int luat_kv_get | ( | const char * | key,
 |  | void * | data,
 |  | size_t | len
 | ) |  |

读取指定key的数据

参数
key[IN] | 待读取的key值,不能为NULL,必须是\0结尾
data[IN] | 待读取的数据, 可写入空间必须大于等于len值
len[IN] | 待读取的数据长度最大长度, 不含\0
返回
int > 0 实际读取的长度, <=0 失败

◆ luat_kv_init()

int luat_kv_init ( void )

初始化kv数据存储

返回
int == 0 正常 != 0失败

◆ luat_kv_set()

int luat_kv_set | ( | const char * | key,
 |  | void * | data,
 |  | size_t | len
 | ) |  |

写入指定key的数据

参数
key[IN] | 待写入的key值,不能为NULL,必须是\0结尾,最大长度64字节
data[IN] | 待写入的数据, 不需要\0结尾
len[IN] | 待写入的数据长度, 不含\0,当前支持最大长度255字节
返回
int == 0 正常 != 0失败


Luat_soc_sdk: MCU特殊操作

函数
MCU特殊操作

函数

int | luat_mcu_set_clk (size_t mhz)
设置主频 更多...
int | luat_mcu_get_clk (void)
获取主频 更多...
const char * | luat_mcu_unique_id (size_t *t)
获取唯一id 更多...
long | luat_mcu_ticks (void)
获取系统tick计数 更多...
uint32_t | luat_mcu_hz (void)
获取系统tick频率 更多...
uint64_t | luat_mcu_tick64 (void)
获取tick计数,64位的 更多...
int | luat_mcu_us_period (void)
对应tick64的频率数据 更多...
uint64_t | luat_mcu_tick64_ms (void)
开机至今的毫秒数 更多...
void | luat_mcu_set_clk_source (uint8_t source_main, uint8_t source_32k, uint32_t delay)
设置时钟源(仅Air105支持) 更多...

详细描述

函数说明

◆ luat_mcu_get_clk()

int luat_mcu_get_clk ( void )

获取主频

返回
int 时钟频率,单位MHz

◆ luat_mcu_hz()

uint32_t luat_mcu_hz ( void )

获取系统tick频率

返回
long tick频率,通常为1000, 即每个tick占1ms, 频率1000hz

◆ luat_mcu_set_clk()

int luat_mcu_set_clk ( size_t mhz )

设置主频

参数
mhz 时钟频率,单位MHz, 仅Air101/Air103支持, EC618不支持
返回
int <= 0错误 >0实际传出的大小

◆ luat_mcu_set_clk_source()

void luat_mcu_set_clk_source | ( | uint8_t | source_main,
 |  | uint8_t | source_32k,
 |  | uint32_t | delay
 | ) |  |

设置时钟源(仅Air105支持)

参数
source_main | 主时钟源
source_32k | 32k时钟源
delay | 设置之后延时多久

◆ luat_mcu_tick64()

uint64_t luat_mcu_tick64 ( void )

获取tick计数,64位的

返回
uint64_t tick计数

◆ luat_mcu_tick64_ms()

uint64_t luat_mcu_tick64_ms ( void )

开机至今的毫秒数

返回
uint64_t 毫秒数,休眠后会继续累计,但精度比其他tick要低

◆ luat_mcu_ticks()

long luat_mcu_ticks ( void )

获取系统tick计数

返回
long tick计数值

◆ luat_mcu_unique_id()

const char * luat_mcu_unique_id ( size_t * t )

获取唯一id

参数
t id的长度,若失败设置为0
返回
char* 唯一id, 不需要释放!!

◆ luat_mcu_us_period()

int luat_mcu_us_period ( void )

对应tick64的频率数据

返回
int 每us对应的tick数量


Luat_soc_sdk: 内存管理

宏定义 | 函数
内存管理

宏定义

#define | LUAT_MEM_MALLOC luat_heap_malloc
在堆区分配一块指定大小的内存空间，用来存放数据 更多...
#define | LUAT_MEM_FREE luat_heap_free
释放ptr所指向的内存块,释放的是动态分配的内存空间 更多...
#define | LUAT_MEM_REALLOC luat_heap_realloc
重新分配内存，把内存扩展到 len 更多...
#define | LUAT_MEM_CALLOC luat_heap_calloc
在内存中动态地分配 count 个长度为 size_t 的连续空间，并将每一个字节都初始化为 0 更多...
#define | LUAT_MEM_INFO luat_meminfo_sys
获取内存使用信息 更多...

函数

void * | luat_heap_malloc (size_t len)
在堆区分配一块指定大小的内存空间，用来存放数据 更多...
void | luat_heap_free (void *ptr)
释放ptr所指向的内存块,释放的是动态分配的内存空间 更多...
void * | luat_heap_realloc (void *ptr, size_t len)
重新分配内存，把内存扩展到 len 更多...
void * | luat_heap_calloc (size_t count, size_t _size)
在内存中动态地分配 count 个长度为 size_t 的连续空间，并将每一个字节都初始化为 0 更多...
void | luat_meminfo_sys (size_t *total, size_t *used, size_t *max_used)
获取内存使用信息 更多...

详细描述

宏定义说明

◆ LUAT_MEM_CALLOC

#define LUAT_MEM_CALLOC luat_heap_calloc

在内存中动态地分配 count 个长度为 size_t 的连续空间，并将每一个字节都初始化为 0

在文件 luat_mem.h 第 73 行定义.

◆ LUAT_MEM_FREE

#define LUAT_MEM_FREE luat_heap_free

释放ptr所指向的内存块,释放的是动态分配的内存空间

在文件 luat_mem.h 第 71 行定义.

◆ LUAT_MEM_INFO

#define LUAT_MEM_INFO luat_meminfo_sys

获取内存使用信息

在文件 luat_mem.h 第 75 行定义.

◆ LUAT_MEM_MALLOC

#define LUAT_MEM_MALLOC luat_heap_malloc

在堆区分配一块指定大小的内存空间，用来存放数据

在文件 luat_mem.h 第 70 行定义.

◆ LUAT_MEM_REALLOC

#define LUAT_MEM_REALLOC luat_heap_realloc

重新分配内存，把内存扩展到 len

在文件 luat_mem.h 第 72 行定义.

函数说明

◆ luat_heap_calloc()

void * luat_heap_calloc | ( | size_t | count,
 |  | size_t | _size
 | ) |  |

在内存中动态地分配 count 个长度为 size_t 的连续空间，并将每一个字节都初始化为 0

参数
count | 长度
_size | 数据类型
返回
NULL 失败 ，!NULL 成功

◆ luat_heap_free()

void luat_heap_free ( void * ptr )

释放ptr所指向的内存块,释放的是动态分配的内存空间

参数
ptr 所指向的内存块

◆ luat_heap_malloc()

void * luat_heap_malloc ( size_t len )

在堆区分配一块指定大小的内存空间，用来存放数据

参数
len 开辟内存的长度大小
返回
NULL 失败 !NULL 成功

◆ luat_heap_realloc()

void * luat_heap_realloc | ( | void * | ptr,
 |  | size_t | len
 | ) |  |

重新分配内存，把内存扩展到 len

参数
ptr | 所指向的内存块
len | 长度

◆ luat_meminfo_sys()

void luat_meminfo_sys | ( | size_t * | total,
 |  | size_t * | used,
 |  | size_t * | max_used
 | ) |  |

获取内存使用信息

参数
[out] | total | 模组总的的内存大小
[out] | used | 获取当前已分配的内存堆大小
[out] | max_used | 获取当前最大已分配的内存堆大小


Luat_soc_sdk: 移动网络相关接口

结构体 | 宏定义 | 类型定义 | 枚举 | 函数
移动网络相关接口

结构体

struct | luat_mobile_gsm_service_cell_info
struct | luat_mobile_gsm_cell_info
struct | luat_mobile_lte_service_cell_info
struct | luat_mobile_lte_cell_info
struct | luat_mobile_cell_info
struct | luat_mobile_gw_signal_strength_info
struct | luat_mobile_lte_signal_strength_info
struct | luat_mobile_signal_strength_info

宏定义

#define LUAT_MOBILE_CELL_MAX_NUM 9

类型定义

typedef struct luat_mobile_gsm_service_cell_info | luat_mobile_gsm_service_cell_info_t
typedef struct luat_mobile_gsm_cell_info | luat_mobile_gsm_cell_info_t
typedef struct luat_mobile_lte_service_cell_info | luat_mobile_lte_service_cell_info_t
typedef struct luat_mobile_lte_cell_info | luat_mobile_lte_cell_info_t
typedef struct luat_mobile_cell_info | luat_mobile_cell_info_t
typedef struct luat_mobile_gw_signal_strength_info | luat_mobile_gw_signal_strength_info_t
typedef struct luat_mobile_lte_signal_strength_info | luat_mobile_lte_signal_strength_info_t
typedef struct luat_mobile_signal_strength_info | luat_mobile_signal_strength_info_t
typedef enum LUAT_MOBILE_EVENT | LUAT_MOBILE_EVENT_E
网络状态及相关功能状态发生更换的消息 更多...
typedef enum LUAT_MOBILE_CFUN_STATUS | LUAT_MOBILE_CFUN_STATUS_E
typedef enum LUAT_MOBILE_SIM_STATUS | LUAT_MOBILE_SIM_STATUS_E
typedef enum LUAT_MOBILE_REGISTER_STATUS | LUAT_MOBILE_REGISTER_STATUS_E
typedef enum LUAT_MOBILE_CELL_INFO_STATUS | LUAT_MOBILE_CELL_INFO_STATUS_E
typedef enum LUAT_MOBILE_PDP_STATUS | LUAT_MOBILE_PDP_STATUS_E
typedef enum LUAT_MOBILE_NETIF_STATUS | LUAT_MOBILE_NETIF_STATUS_E
typedef void(* | luat_mobile_event_callback_t) (LUAT_MOBILE_EVENT_E event, uint8_t index, uint8_t status)
网络状态及相关功能状态发生更换时的回调函数，event是消息，index是CID，SIM卡号之类的序号，status是变更后的状态或者更具体的ENUM 更多...
typedef void(* | luat_mobile_sms_event_callback_t) (uint32_t event, void *param)
底层短信消息回调函数，event是消息，param是具体数据指针，暂时不同的平台需要独自处理 更多...

枚举

enum LUAT_MOBILE_EVENT {
LUAT_MOBILE_EVENT_CFUN = 0 , LUAT_MOBILE_EVENT_SIM , LUAT_MOBILE_EVENT_REGISTER_STATUS , LUAT_MOBILE_EVENT_CELL_INFO ,
LUAT_MOBILE_EVENT_PDP , LUAT_MOBILE_EVENT_NETIF , LUAT_MOBILE_EVENT_TIME_SYNC , LUAT_MOBILE_EVENT_CSCON
}
网络状态及相关功能状态发生更换的消息 更多...
enum | LUAT_MOBILE_CFUN_STATUS { LUAT_MOBILE_CFUN_OFF = 0 , LUAT_MOBILE_CFUN_ON , LUAT_MOBILE_CFUN_NO_RF = 4 }
enum | LUAT_MOBILE_SIM_STATUS { LUAT_MOBILE_SIM_READY = 0 , LUAT_MOBILE_NO_SIM , LUAT_MOBILE_SIM_NEED_PIN }
enum LUAT_MOBILE_REGISTER_STATUS {
LUAT_MOBILE_STATUS_UNREGISTER , LUAT_MOBILE_STATUS_REGISTERED , LUAT_MOBILE_STATUS_DENIED , LUAT_MOBILE_STATUS_UNKNOW ,
LUAT_MOBILE_STATUS_REGISTERED_ROAMING , LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED , LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED_ROAMING , LUAT_MOBILE_STATUS_EMERGENCY_REGISTERED ,
LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED , LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED_ROAMING
}
enum | LUAT_MOBILE_CELL_INFO_STATUS { LUAT_MOBILE_CELL_INFO_UPDATE = 0 , LUAT_MOBILE_SIGNAL_UPDATE }
enum | LUAT_MOBILE_PDP_STATUS { LUAT_MOBILE_PDP_ACTIVED = 0 , LUAT_MOBILE_PDP_DEACTIVING , LUAT_MOBILE_PDP_DEACTIVED }
enum | LUAT_MOBILE_NETIF_STATUS { LUAT_MOBILE_NETIF_LINK_ON = 0 , LUAT_MOBILE_NETIF_LINK_OFF , LUAT_MOBILE_NETIF_LINK_OOS }

函数

int | luat_mobile_get_imei (int sim_id, char *buff, size_t buf_len)
获取IMEI 更多...
int | luat_mobile_get_sn (char *buff, size_t buf_len)
获取SN，如果用户没有调用luat_mobile_set_sn接口写过SN，默认值为空 更多...
int | luat_mobile_set_sn (char *buff, uint8_t buf_len)
设置SN 更多...
int | luat_mobile_get_muid (char *buff, size_t buf_len)
获取MUID，并不一定存在 更多...
int | luat_mobile_get_iccid (int sim_id, char *buff, size_t buf_len)
获取SIM卡的ICCID 更多...
int | luat_mobile_get_imsi (int sim_id, char *buff, size_t buf_len)
获取SIM卡的IMSI 更多...
int | luat_mobile_get_sim_id (int *id)
当前使用的SIM卡的位置，并不一定支持 更多...
int | luat_mobile_set_sim_id (int id)
改变使用的SIM卡的位置，并不一定支持 更多...
int | luat_mobile_get_apn (int sim_id, int cid, char *buff, size_t buf_len)
获取配置的apn name，并不一定支持 更多...
int | luat_mobile_get_default_apn (int sim_id, char *buff, size_t buf_len)
获取默认CID的apn name，并不一定支持 更多...
int | luat_mobile_set_flymode (int index, int mode)
进出飞行模式 更多...
int | luat_mobile_get_flymode (int index)
飞行模式当前状态 更多...
int | luat_mobile_get_local_ip (int sim_id, int cid, ip_addr_t *ip_v4, ip_addr_t *ip_v6)
获取已激活承载分配的本地ip地址 更多...
int | luat_mobile_get_cell_info (luat_mobile_cell_info_t *info)
立刻搜索一次周围小区基站信息，并同步返回结果 更多...
int | luat_mobile_get_cell_info_async (uint8_t max_time)
立刻搜索一次周围小区基站信息，通过LUAT_MOBILE_CELL_INFO_UPDATE返回搜索完成消息，luat_mobile_get_last_notify_cell_info获取详细信息 更多...
int | luat_mobile_get_last_notify_cell_info (luat_mobile_cell_info_t *info)
获取上一次异步搜索周围小区基站信息，包括周期性搜索和异步搜索，在LUAT_MOBILE_CELL_INFO_UPDATE到来后用本函数获取信息 更多...
uint8_t | luat_mobile_rssi_to_csq (int8_t rssi)
从RSSI转换到CSQ，RSSI只能作为天线口状态的一个参考，而不能作为LTE网络信号状态的参考 更多...
int | luat_mobile_get_signal_strength_info (luat_mobile_signal_strength_info_t *info)
获取当前移动网络信号状态详细信息 更多...
int | luat_mobile_get_signal_strength (uint8_t *csq)
获取CSQ值 CSQ从RSSI转换而来，只能作为天线口状态的一个参考，而不能作为LTE网络信号状态的参考 更多...
int | luat_mobile_get_last_notify_signal_strength_info (luat_mobile_signal_strength_info_t *info)
获取最近一次网络信号状态更新通知后的网络信号状态详细信息 更多...
int | luat_mobile_get_last_notify_signal_strength (uint8_t *csq)
获取最近一次网络信号状态更新通知后的CSQ值 更多...
LUAT_MOBILE_REGISTER_STATUS_E | luat_mobile_get_register_status (void)
int | luat_mobile_event_register_handler (luat_mobile_event_callback_t callback_fun)
注册网络状态及相关功能状态发生更换时的回调函数 更多...
int | luat_mobile_event_deregister_handler (void)
注销网络状态及相关功能状态发生更换时的回调函数 更多...
int | luat_mobile_sms_sdk_event_register_handler (luat_mobile_sms_event_callback_t callback_fun)
注册底层短信消息回调函数，后续改为统一消息处理 更多...
void | luat_mobile_set_rrc_auto_release_time (uint8_t s)
设置RRC自动释放时间，在RRC active（见LUAT_MOBILE_EVENT_CSCON）后经过一段时间在适当的时机释放RRC 更多...
void | luat_mobile_rrc_auto_release_pause (uint8_t onoff)
RRC自动释放暂停/恢复 更多...
void | luat_mobile_rrc_release_once (void)
RRC立刻释放一次，不能在luat_mobile_event_callback里使用 更多...
int | luat_mobile_reset_stack (void)
重新底层网络协议栈，本质是快速的进出飞行模式，注意和设置飞行模式是冲突的，一定时间内只能用一个。 更多...
int | luat_mobile_set_period_work (uint32_t get_cell_period, uint32_t check_sim_period, uint8_t search_cell_time)
设置周期性辅助工作，包括周期性搜索小区基站，SIM卡短时间脱离卡槽后周期性尝试恢复，这个功能和luat_mobile_reset_stack是有可能冲突的。所有功能默认都是关闭的 更多...

详细描述

宏定义说明

◆ LUAT_MOBILE_CELL_MAX_NUM

#define LUAT_MOBILE_CELL_MAX_NUM 9

在文件 luat_mobile.h 第 159 行定义.

类型定义说明

◆ LUAT_MOBILE_CELL_INFO_STATUS_E

typedef enum LUAT_MOBILE_CELL_INFO_STATUS LUAT_MOBILE_CELL_INFO_STATUS_E

◆ luat_mobile_cell_info_t

typedef struct luat_mobile_cell_info luat_mobile_cell_info_t

◆ LUAT_MOBILE_CFUN_STATUS_E

typedef enum LUAT_MOBILE_CFUN_STATUS LUAT_MOBILE_CFUN_STATUS_E

◆ luat_mobile_event_callback_t

typedef void(* luat_mobile_event_callback_t) (LUAT_MOBILE_EVENT_E event, uint8_t index, uint8_t status)

网络状态及相关功能状态发生更换时的回调函数，event是消息，index是CID，SIM卡号之类的序号，status是变更后的状态或者更具体的ENUM

在文件 luat_mobile.h 第 394 行定义.

◆ LUAT_MOBILE_EVENT_E

typedef enum LUAT_MOBILE_EVENT LUAT_MOBILE_EVENT_E

网络状态及相关功能状态发生更换的消息

◆ luat_mobile_gsm_cell_info_t

typedef struct luat_mobile_gsm_cell_info luat_mobile_gsm_cell_info_t

◆ luat_mobile_gsm_service_cell_info_t

typedef struct luat_mobile_gsm_service_cell_info luat_mobile_gsm_service_cell_info_t

◆ luat_mobile_gw_signal_strength_info_t

typedef struct luat_mobile_gw_signal_strength_info luat_mobile_gw_signal_strength_info_t

◆ luat_mobile_lte_cell_info_t

typedef struct luat_mobile_lte_cell_info luat_mobile_lte_cell_info_t

◆ luat_mobile_lte_service_cell_info_t

typedef struct luat_mobile_lte_service_cell_info luat_mobile_lte_service_cell_info_t

◆ luat_mobile_lte_signal_strength_info_t

typedef struct luat_mobile_lte_signal_strength_info luat_mobile_lte_signal_strength_info_t

◆ LUAT_MOBILE_NETIF_STATUS_E

typedef enum LUAT_MOBILE_NETIF_STATUS LUAT_MOBILE_NETIF_STATUS_E

◆ LUAT_MOBILE_PDP_STATUS_E

typedef enum LUAT_MOBILE_PDP_STATUS LUAT_MOBILE_PDP_STATUS_E

◆ LUAT_MOBILE_REGISTER_STATUS_E

typedef enum LUAT_MOBILE_REGISTER_STATUS LUAT_MOBILE_REGISTER_STATUS_E

◆ luat_mobile_signal_strength_info_t

typedef struct luat_mobile_signal_strength_info luat_mobile_signal_strength_info_t

◆ LUAT_MOBILE_SIM_STATUS_E

typedef enum LUAT_MOBILE_SIM_STATUS LUAT_MOBILE_SIM_STATUS_E

◆ luat_mobile_sms_event_callback_t

typedef void(* luat_mobile_sms_event_callback_t) (uint32_t event, void *param)

底层短信消息回调函数，event是消息，param是具体数据指针，暂时不同的平台需要独自处理

在文件 luat_mobile.h 第 401 行定义.

枚举类型说明

◆ LUAT_MOBILE_CELL_INFO_STATUS

enum LUAT_MOBILE_CELL_INFO_STATUS
枚举值
LUAT_MOBILE_CELL_INFO_UPDATE | 小区基站信息变更，只有设置了周期性搜索小区基站时才会有
LUAT_MOBILE_SIGNAL_UPDATE | 网络信号状态变更，但是不一定是有变化

在文件 luat_mobile.h 第 363 行定义.

◆ LUAT_MOBILE_CFUN_STATUS

enum LUAT_MOBILE_CFUN_STATUS
枚举值
LUAT_MOBILE_CFUN_OFF
LUAT_MOBILE_CFUN_ON
LUAT_MOBILE_CFUN_NO_RF

在文件 luat_mobile.h 第 335 行定义.

◆ LUAT_MOBILE_EVENT

enum LUAT_MOBILE_EVENT

网络状态及相关功能状态发生更换的消息

枚举值
LUAT_MOBILE_EVENT_CFUN | CFUN消息
LUAT_MOBILE_EVENT_SIM | SIM卡消息
LUAT_MOBILE_EVENT_REGISTER_STATUS | 移动网络注册消息
LUAT_MOBILE_EVENT_CELL_INFO | 小区基站信息和网络信号变更消息
LUAT_MOBILE_EVENT_PDP | PDP状态消息
LUAT_MOBILE_EVENT_NETIF | internet状态
LUAT_MOBILE_EVENT_TIME_SYNC | 通过基站同步时间完成
LUAT_MOBILE_EVENT_CSCON | RRC状态，0 idle 1 active

在文件 luat_mobile.h 第 323 行定义.

◆ LUAT_MOBILE_NETIF_STATUS

enum LUAT_MOBILE_NETIF_STATUS
枚举值
LUAT_MOBILE_NETIF_LINK_ON | 已联网
LUAT_MOBILE_NETIF_LINK_OFF | 断网
LUAT_MOBILE_NETIF_LINK_OOS | 失去网络连接，尝试恢复中，等同于LUAT_MOBILE_NETIF_LINK_OFF

在文件 luat_mobile.h 第 376 行定义.

◆ LUAT_MOBILE_PDP_STATUS

enum LUAT_MOBILE_PDP_STATUS
枚举值
LUAT_MOBILE_PDP_ACTIVED
LUAT_MOBILE_PDP_DEACTIVING
LUAT_MOBILE_PDP_DEACTIVED

在文件 luat_mobile.h 第 369 行定义.

◆ LUAT_MOBILE_REGISTER_STATUS

enum LUAT_MOBILE_REGISTER_STATUS
枚举值
LUAT_MOBILE_STATUS_UNREGISTER | 网络未注册
LUAT_MOBILE_STATUS_REGISTERED | 网络已注册
LUAT_MOBILE_STATUS_DENIED | 网络注册被拒绝，或者正在搜网中
LUAT_MOBILE_STATUS_UNKNOW | 网络状态未知
LUAT_MOBILE_STATUS_REGISTERED_ROAMING | 网络已注册，漫游
LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED |
LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED_ROAMING |
LUAT_MOBILE_STATUS_EMERGENCY_REGISTERED |
LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED |
LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED_ROAMING |

在文件 luat_mobile.h 第 349 行定义.

◆ LUAT_MOBILE_SIM_STATUS

enum LUAT_MOBILE_SIM_STATUS
枚举值
LUAT_MOBILE_SIM_READY
LUAT_MOBILE_NO_SIM
LUAT_MOBILE_SIM_NEED_PIN

在文件 luat_mobile.h 第 342 行定义.

函数说明

◆ luat_mobile_event_deregister_handler()

int luat_mobile_event_deregister_handler ( void )

注销网络状态及相关功能状态发生更换时的回调函数

返回
int =0成功，其他失败

◆ luat_mobile_event_register_handler()

int luat_mobile_event_register_handler ( luat_mobile_event_callback_t callback_fun )

注册网络状态及相关功能状态发生更换时的回调函数

参数
callback_fun 网络状态及相关功能状态发生更换时的回调函数
返回
int =0成功，其他失败

◆ luat_mobile_get_apn()

int luat_mobile_get_apn | ( | int | sim_id,
 |  | int | cid,
 |  | char * | buff,
 |  | size_t | buf_len
 | ) |  |

获取配置的apn name，并不一定支持

参数
sim_id | sim位置，对于双卡双待的设备，选0或者1，其他设备随意
cid | cid位置 1~6
buff[OUT] | apn name
buf_len | 用户传入缓存的大小，如果底层数据量大于buf_len，只会传出buf_len大小的数据
返回
int <= 0错误 >0实际传出的大小

◆ luat_mobile_get_cell_info()

int luat_mobile_get_cell_info ( luat_mobile_cell_info_t * info )

立刻搜索一次周围小区基站信息，并同步返回结果

参数
info 当前移动网络信号状态详细信息
返回
int =0成功，其他失败

◆ luat_mobile_get_cell_info_async()

int luat_mobile_get_cell_info_async ( uint8_t max_time )

立刻搜索一次周围小区基站信息，通过LUAT_MOBILE_CELL_INFO_UPDATE返回搜索完成消息，luat_mobile_get_last_notify_cell_info获取详细信息

参数
max_time 搜索的最大时间，单位秒
返回
int =0成功，其他失败

◆ luat_mobile_get_default_apn()

int luat_mobile_get_default_apn | ( | int | sim_id,
 |  | char * | buff,
 |  | size_t | buf_len
 | ) |  |

获取默认CID的apn name，并不一定支持

参数
sim_id | sim位置，对于双卡双待的设备，选0或者1，其他设备随意
buff[OUT] | apn name
buf_len | 用户传入缓存的大小，如果底层数据量大于buf_len，只会传出buf_len大小的数据
返回
int <= 0错误 >0实际传出的大小

◆ luat_mobile_get_flymode()

int luat_mobile_get_flymode ( int index )

飞行模式当前状态

参数
index sim位置，对于双卡双待的设备，选0或者1，其他设备随意
返回
int <0 异常 =0飞行模式 =1正常工作 =4射频关闭

◆ luat_mobile_get_iccid()

int luat_mobile_get_iccid | ( | int | sim_id,
 |  | char * | buff,
 |  | size_t | buf_len
 | ) |  |

获取SIM卡的ICCID

参数
sim_id | sim位置，对于双卡双待的设备，选0或者1，其他设备随意
buff[OUT] | ICCID数据
buf_len | 用户传入缓存的大小，如果底层数据量大于buf_len，只会传出buf_len大小的数据
返回
int <= 0错误 >0实际传出的大小

◆ luat_mobile_get_imei()

int luat_mobile_get_imei | ( | int | sim_id,
 |  | char * | buff,
 |  | size_t | buf_len
 | ) |  |

获取IMEI

参数
sim_id | sim位置，对于双卡双待的设备，选0或者1，其他设备随意
buff[OUT] | IMEI数据
buf_len | 用户传入缓存的大小，如果底层数据量大于buf_len，只会传出buf_len大小的数据
返回
int <= 0错误 >0实际传出的大小

◆ luat_mobile_get_imsi()

int luat_mobile_get_imsi | ( | int | sim_id,
 |  | char * | buff,
 |  | size_t | buf_len
 | ) |  |

获取SIM卡的IMSI

参数
sim_id | sim位置，对于双卡双待的设备，选0或者1，其他设备随意
buff[OUT] | IMSI数据
buf_len | 用户传入缓存的大小，如果底层数据量大于buf_len，只会传出buf_len大小的数据
返回
int <= 0错误 >0实际传出的大小

◆ luat_mobile_get_last_notify_cell_info()

int luat_mobile_get_last_notify_cell_info ( luat_mobile_cell_info_t * info )

获取上一次异步搜索周围小区基站信息，包括周期性搜索和异步搜索，在LUAT_MOBILE_CELL_INFO_UPDATE到来后用本函数获取信息

参数
info | 当前移动网络信号状态详细信息
max_time | 搜索的最大时间
返回
int =0成功，其他失败

◆ luat_mobile_get_last_notify_signal_strength()

int luat_mobile_get_last_notify_signal_strength ( uint8_t * csq )

获取最近一次网络信号状态更新通知后的CSQ值

参数
info CSQ值
返回
int =0成功，其他失败

◆ luat_mobile_get_last_notify_signal_strength_info()

int luat_mobile_get_last_notify_signal_strength_info ( luat_mobile_signal_strength_info_t * info )

获取最近一次网络信号状态更新通知后的网络信号状态详细信息

参数
info 网络信号状态详细信息
返回
int =0成功，其他失败

◆ luat_mobile_get_local_ip()

int luat_mobile_get_local_ip | ( | int | sim_id,
 |  | int | cid,
 |  | ip_addr_t * | ip_v4,
 |  | ip_addr_t * | ip_v6
 | ) |  |

获取已激活承载分配的本地ip地址

参数
sim_id | sim位置，对于双卡双待的设备，选0或者1，其他设备随意
cid | cid位置 1~6，没有使用专网APN的话，就是用1
ip_v4,ipv4的IP地址
ip_v6,ipv6的IP地址
返回
int =0成功，其他失败

◆ luat_mobile_get_muid()

int luat_mobile_get_muid | ( | char * | buff,
 |  | size_t | buf_len
 | ) |  |

获取MUID，并不一定存在

参数
buff[OUT] | MUID数据
buf_len | 用户传入缓存的大小，如果底层数据量大于buf_len，只会传出buf_len大小的数据
返回
int <= 0错误 >0实际传出的大小

◆ luat_mobile_get_register_status()

LUAT_MOBILE_REGISTER_STATUS_E luat_mobile_get_register_status ( void )

◆ luat_mobile_get_signal_strength()

int luat_mobile_get_signal_strength ( uint8_t * csq )

获取CSQ值 CSQ从RSSI转换而来，只能作为天线口状态的一个参考，而不能作为LTE网络信号状态的参考

参数
csq CSQ值
返回
int =0成功，其他失败

◆ luat_mobile_get_signal_strength_info()

int luat_mobile_get_signal_strength_info ( luat_mobile_signal_strength_info_t * info )

获取当前移动网络信号状态详细信息

参数
info 当前移动网络信号状态详细信息
返回
int =0成功，其他失败

◆ luat_mobile_get_sim_id()

int luat_mobile_get_sim_id ( int * id )

当前使用的SIM卡的位置，并不一定支持

参数
id[OUT] sim位置，对于双卡双待的设备，输出0或者1，其他设备输出0
返回
int =0成功，其他失败

◆ luat_mobile_get_sn()

int luat_mobile_get_sn | ( | char * | buff,
 |  | size_t | buf_len
 | ) |  |

获取SN，如果用户没有调用luat_mobile_set_sn接口写过SN，默认值为空

参数
buff[OUT] | SN数据
buf_len | 用户传入缓存的大小，EC618平台底层支持的最大长度为32字节，如果底层数据量大于buf_len，只会传出buf_len大小的数据
返回
int <= 0错误 >0实际传出的大小

◆ luat_mobile_reset_stack()

int luat_mobile_reset_stack ( void )

重新底层网络协议栈，本质是快速的进出飞行模式，注意和设置飞行模式是冲突的，一定时间内只能用一个。

返回
int =0成功，其他失败

◆ luat_mobile_rrc_auto_release_pause()

void luat_mobile_rrc_auto_release_pause ( uint8_t onoff )

RRC自动释放暂停/恢复

参数
onoff 1暂停 0恢复
注解
没有在Air724上使用过AT*RTIME的，或者不明白RRC的含义，请不要使用RRC相关API

◆ luat_mobile_rrc_release_once()

void luat_mobile_rrc_release_once ( void )

RRC立刻释放一次，不能在luat_mobile_event_callback里使用

注解
没有在Air724上使用过AT*RTIME的，或者不明白RRC的含义，请不要使用RRC相关API

◆ luat_mobile_rssi_to_csq()

uint8_t luat_mobile_rssi_to_csq ( int8_t rssi )

从RSSI转换到CSQ，RSSI只能作为天线口状态的一个参考，而不能作为LTE网络信号状态的参考

参数
rssi RSSI值
返回
uint8_t CSQ值

◆ luat_mobile_set_flymode()

int luat_mobile_set_flymode | ( | int | index,
 |  | int | mode
 | ) |  |

进出飞行模式

参数
index | sim位置，对于双卡双待的设备，选0或者1，其他设备随意
mode | 飞行模式，1进入，0退出
返回
int =0成功，其他失败

◆ luat_mobile_set_period_work()

int luat_mobile_set_period_work | ( | uint32_t | get_cell_period,
 |  | uint32_t | check_sim_period,
 |  | uint8_t | search_cell_time
 | ) |  |

设置周期性辅助工作，包括周期性搜索小区基站，SIM卡短时间脱离卡槽后周期性尝试恢复，这个功能和luat_mobile_reset_stack是有可能冲突的。所有功能默认都是关闭的

参数
get_cell_period | 周期性搜索小区基站的时间间隔，单位ms，这个会增加低功耗，尽量的长，或者写0关闭这个功能，用上面的手段搜索
check_sim_period | SIM卡短时间脱离卡槽后尝试恢复的时间间隔，单位ms，建议在5000~10000，或者写0，当SIM卡移除的消息上来后手动重启协议栈
search_cell_time | 启动周期性搜索小区基站后，每次搜索的最大时间，单位s，1~8
返回
int

◆ luat_mobile_set_rrc_auto_release_time()

void luat_mobile_set_rrc_auto_release_time ( uint8_t s )

设置RRC自动释放时间，在RRC active（见LUAT_MOBILE_EVENT_CSCON）后经过一段时间在适当的时机释放RRC

参数
s 超时时间，单位秒，如果为0则是关闭功能
注解
没有在Air724上使用过AT*RTIME的，或者不明白RRC的含义，请不要使用RRC相关API

◆ luat_mobile_set_sim_id()

int luat_mobile_set_sim_id ( int id )

改变使用的SIM卡的位置，并不一定支持

参数
id sim位置，对于双卡的设备，选0或者1，其他为自动选择模式。非双卡的设备不支持
返回
int =0成功，其他失败

◆ luat_mobile_set_sn()

int luat_mobile_set_sn | ( | char * | buff,
 |  | uint8_t | buf_len
 | ) |  |

设置SN

参数
buff | SN数据，必须是ascii值大于等于0x21小于等于0x7e的可见ascii字符
buf_len | SN数据长度；EC618平台底层支持的最大长度为32字节，如果buf_len大于32，只会保存前32字节的数据
返回
int = 0成功， = -1失败

◆ luat_mobile_sms_sdk_event_register_handler()

int luat_mobile_sms_sdk_event_register_handler ( luat_mobile_sms_event_callback_t callback_fun )

注册底层短信消息回调函数，后续改为统一消息处理

参数
callback_fun 短信消息回调函数，如果为NULL，则是注销
返回
int =0成功，其他失败


Luat_soc_sdk: luat_mobile_gsm_service_cell_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_gsm_service_cell_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

int | cid
int | mcc
int | mnc
int | lac
int | arfcn
int | bsic
int | rssi

详细描述

在文件 luat_mobile.h 第 161 行定义.

结构体成员变量说明

◆ arfcn

int arfcn

Absolute RF channel number.

在文件 luat_mobile.h 第 167 行定义.

◆ bsic

int bsic

Base station identity code. (0 indicates information is not present).

在文件 luat_mobile.h 第 168 行定义.

◆ cid

int cid

Cell ID, (0 indicates information is not represent).

在文件 luat_mobile.h 第 163 行定义.

◆ lac

int lac

Location area code.(This field should be ignord when cid is not present).

在文件 luat_mobile.h 第 166 行定义.

◆ mcc

int mcc

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 164 行定义.

◆ mnc

int mnc

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 165 行定义.

◆ rssi

int rssi

Receive signal strength, Value range: rxlev-111 for dbm format

在文件 luat_mobile.h 第 169 行定义.


Luat_soc_sdk: luat_mobile_gsm_cell_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_gsm_cell_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

int | cid
int | mcc
int | mnc
int | lac
int | arfcn
int | bsic
int | rssi

详细描述

在文件 luat_mobile.h 第 172 行定义.

结构体成员变量说明

◆ arfcn

int arfcn

Location area code.(This field should be ignord when cid is not present).

在文件 luat_mobile.h 第 178 行定义.

◆ bsic

int bsic

Absolute RF channel number.

在文件 luat_mobile.h 第 179 行定义.

◆ cid

int cid

在文件 luat_mobile.h 第 174 行定义.

◆ lac

int lac

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 177 行定义.

◆ mcc

int mcc

Cell ID, (0 indicates information is not represent).

在文件 luat_mobile.h 第 175 行定义.

◆ mnc

int mnc

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 176 行定义.

◆ rssi

int rssi

Base station identity code. (0 indicates information is not present). Receive signal strength, Value range: rxlev-111 for dbm format

在文件 luat_mobile.h 第 180 行定义.


Luat_soc_sdk: luat_mobile_lte_service_cell_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_lte_service_cell_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

uint32_t | cid
uint16_t | mcc
uint16_t | mnc
uint16_t | tac
uint16_t | pci
uint32_t | earfcn
int16_t | rssi
int16_t | rsrp
int16_t | rsrq
int16_t | snr
uint8_t | is_tdd
uint8_t | band
uint8_t | ulbandwidth
uint8_t | dlbandwidth

详细描述

在文件 luat_mobile.h 第 183 行定义.

结构体成员变量说明

◆ band

uint8_t band

在文件 luat_mobile.h 第 196 行定义.

◆ cid

uint32_t cid

Cell ID, (0 indicates information is not represent).

在文件 luat_mobile.h 第 185 行定义.

◆ dlbandwidth

uint8_t dlbandwidth

在文件 luat_mobile.h 第 198 行定义.

◆ earfcn

uint32_t earfcn

Physical cell ID. Range: 0 to 503.

在文件 luat_mobile.h 第 190 行定义.

◆ is_tdd

uint8_t is_tdd

在文件 luat_mobile.h 第 195 行定义.

◆ mcc

uint16_t mcc

在文件 luat_mobile.h 第 186 行定义.

◆ mnc

uint16_t mnc

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 187 行定义.

◆ pci

uint16_t pci

Tracing area code (This field should be ignored when cid is not present).

在文件 luat_mobile.h 第 189 行定义.

◆ rsrp

int16_t rsrp

在文件 luat_mobile.h 第 192 行定义.

◆ rsrq

int16_t rsrq

在文件 luat_mobile.h 第 193 行定义.

◆ rssi

int16_t rssi

E-UTRA absolute radio frequency channel number of the cell. RANGE: 0 TO 65535. Receive signal strength, Value range: rsrp-140 for dbm format

在文件 luat_mobile.h 第 191 行定义.

◆ snr

int16_t snr

在文件 luat_mobile.h 第 194 行定义.

◆ tac

uint16_t tac

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 188 行定义.

◆ ulbandwidth

uint8_t ulbandwidth

在文件 luat_mobile.h 第 197 行定义.


Luat_soc_sdk: luat_mobile_lte_cell_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_lte_cell_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

uint32_t | cid
uint16_t | mcc
uint16_t | mnc
uint16_t | tac
uint16_t | pci
uint32_t | earfcn
int16_t | rsrp
int16_t | rsrq
int16_t | snr

详细描述

在文件 luat_mobile.h 第 201 行定义.

结构体成员变量说明

◆ cid

uint32_t cid

Cell ID, (0 indicates information is not represent).

在文件 luat_mobile.h 第 203 行定义.

◆ earfcn

uint32_t earfcn

Physical cell ID. Range: 0 to 503.

在文件 luat_mobile.h 第 208 行定义.

◆ mcc

uint16_t mcc

在文件 luat_mobile.h 第 204 行定义.

◆ mnc

uint16_t mnc

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 205 行定义.

◆ pci

uint16_t pci

Tracing area code (This field should be ignored when cid is not present).

在文件 luat_mobile.h 第 207 行定义.

◆ rsrp

int16_t rsrp

E-UTRA absolute radio frequency channel number of the cell. RANGE: 0 TO 65535.

在文件 luat_mobile.h 第 209 行定义.

◆ rsrq

int16_t rsrq

在文件 luat_mobile.h 第 210 行定义.

◆ snr

int16_t snr

在文件 luat_mobile.h 第 211 行定义.

◆ tac

uint16_t tac

This field should be ignored when cid is not present

在文件 luat_mobile.h 第 206 行定义.


Luat_soc_sdk: luat_mobile_cell_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_cell_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

luat_mobile_gsm_service_cell_info_t gsm_service_info
luat_mobile_gsm_cell_info_t gsm_info [LUAT_MOBILE_CELL_MAX_NUM]
luat_mobile_lte_service_cell_info_t lte_service_info
luat_mobile_lte_cell_info_t lte_info [LUAT_MOBILE_CELL_MAX_NUM]
uint8_t | gsm_info_valid
uint8_t | gsm_neighbor_info_num
uint8_t | lte_info_valid
uint8_t | lte_neighbor_info_num

详细描述

在文件 luat_mobile.h 第 214 行定义.

结构体成员变量说明

◆ gsm_info

luat_mobile_gsm_cell_info_t gsm_info[LUAT_MOBILE_CELL_MAX_NUM]

GSM cell information (Serving and neighbor.

在文件 luat_mobile.h 第 217 行定义.

◆ gsm_info_valid

uint8_t gsm_info_valid

Must be set to TRUE if gsm_info is being passed.

在文件 luat_mobile.h 第 220 行定义.

◆ gsm_neighbor_info_num

uint8_t gsm_neighbor_info_num

Must be set to the number of elements in entry

在文件 luat_mobile.h 第 221 行定义.

◆ gsm_service_info

luat_mobile_gsm_service_cell_info_t gsm_service_info

在文件 luat_mobile.h 第 216 行定义.

◆ lte_info

luat_mobile_lte_cell_info_t lte_info[LUAT_MOBILE_CELL_MAX_NUM]

LTE cell information (Serving and neighbor).

在文件 luat_mobile.h 第 219 行定义.

◆ lte_info_valid

uint8_t lte_info_valid

Must be set to TRUE if lte_info is being passed.

在文件 luat_mobile.h 第 222 行定义.

◆ lte_neighbor_info_num

uint8_t lte_neighbor_info_num

Must be set to the number of elements in entry

在文件 luat_mobile.h 第 223 行定义.

◆ lte_service_info

luat_mobile_lte_service_cell_info_t lte_service_info

在文件 luat_mobile.h 第 218 行定义.


Luat_soc_sdk: luat_mobile_gw_signal_strength_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_gw_signal_strength_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

int | rssi
int | bitErrorRate
int | rscp
int | ecno

详细描述

在文件 luat_mobile.h 第 252 行定义.

结构体成员变量说明

◆ bitErrorRate

int bitErrorRate

在文件 luat_mobile.h 第 255 行定义.

◆ ecno

int ecno

在文件 luat_mobile.h 第 257 行定义.

◆ rscp

int rscp

在文件 luat_mobile.h 第 256 行定义.

◆ rssi

int rssi

在文件 luat_mobile.h 第 254 行定义.


Luat_soc_sdk: luat_mobile_lte_signal_strength_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_lte_signal_strength_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

int16_t | rssi
int16_t | rsrp
int16_t | rsrq
int16_t | snr

详细描述

在文件 luat_mobile.h 第 260 行定义.

结构体成员变量说明

◆ rsrp

int16_t rsrp

在文件 luat_mobile.h 第 263 行定义.

◆ rsrq

int16_t rsrq

在文件 luat_mobile.h 第 264 行定义.

◆ rssi

int16_t rssi

Receive signal strength, Value range: rsrp-140 for dbm format

在文件 luat_mobile.h 第 262 行定义.

◆ snr

int16_t snr

在文件 luat_mobile.h 第 265 行定义.


Luat_soc_sdk: luat_mobile_signal_strength_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_mobile_signal_strength_info结构体 参考
移动网络相关接口

#include <luat_mobile.h>

成员变量

luat_mobile_gw_signal_strength_info_t gw_signal_strength
luat_mobile_lte_signal_strength_info_t lte_signal_strength
uint8_t | luat_mobile_gw_signal_strength_vaild
uint8_t | luat_mobile_lte_signal_strength_vaild

详细描述

在文件 luat_mobile.h 第 268 行定义.

结构体成员变量说明

◆ gw_signal_strength

luat_mobile_gw_signal_strength_info_t gw_signal_strength

在文件 luat_mobile.h 第 270 行定义.

◆ lte_signal_strength

luat_mobile_lte_signal_strength_info_t lte_signal_strength

在文件 luat_mobile.h 第 271 行定义.

◆ luat_mobile_gw_signal_strength_vaild

uint8_t luat_mobile_gw_signal_strength_vaild

在文件 luat_mobile.h 第 272 行定义.

◆ luat_mobile_lte_signal_strength_vaild

uint8_t luat_mobile_lte_signal_strength_vaild

在文件 luat_mobile.h 第 273 行定义.


Luat_soc_sdk: OTP操作

函数
OTP操作

函数

int | luat_otp_read (int zone, char *buff, size_t offset, size_t len)
读取指定区域的OTP数据 更多...
int | luat_otp_write (int zone, char *buff, size_t offset, size_t len)
写入指定区域的OTP数据 更多...
int | luat_otp_erase (int zone, size_t offset, size_t len)
抹除指定区域的OTP数据 更多...
int | luat_otp_lock (int zone)
锁定指定区域的OTP数据,不再可写,不可抹除 更多...
int | luat_otp_size (int zone)
指定区域的OTP区域大小 更多...

详细描述

函数说明

◆ luat_otp_erase()

int luat_otp_erase | ( | int | zone,
 |  | size_t | offset,
 |  | size_t | len
 | ) |  |

抹除指定区域的OTP数据

参数
zone | OTP的区域, 通常为1,2,3等整数,与设备相关
offset | 偏移量, 通常为0, 大部分设备只支持整个区域的抹除,该参数无效
len | 抹除长度,通常为区域大小. 若设备只支持正常抹除,该参数无效
返回
int != 0错误 =0 正常

◆ luat_otp_lock()

int luat_otp_lock ( int zone )

锁定指定区域的OTP数据,不再可写,不可抹除

参数
zone OTP的区域, 通常为1,2,3等整数,与设备相关
返回
int != 0错误 =0 正常

◆ luat_otp_read()

int luat_otp_read | ( | int | zone,
 |  | char * | buff,
 |  | size_t | offset,
 |  | size_t | len
 | ) |  |

读取指定区域的OTP数据

参数
zone | OTP的区域, 通常为1,2,3等整数,与设备相关
buff[OUT] | 读出的数据
offset | 偏移量, 通常为0
len | 读取长度, offset+len不能超过OTP区域的长度
返回
int <= 0错误 >0实际传出的大小

◆ luat_otp_size()

int luat_otp_size ( int zone )

指定区域的OTP区域大小

参数
zone OTP的区域, 通常为1,2,3等整数,与设备相关
返回
int == 0 无该区域, > 0 区域大小, 例如 256, 512

◆ luat_otp_write()

int luat_otp_write | ( | int | zone,
 |  | char * | buff,
 |  | size_t | offset,
 |  | size_t | len
 | ) |  |

写入指定区域的OTP数据

参数
zone | OTP的区域, 通常为1,2,3等整数,与设备相关
buff[IN] | 写入的数据
offset | 偏移量, 通常为0
len | 读取长度, offset+len不能超过OTP区域的长度
返回
int <= 0错误 >0实际写入的大小


Luat_soc_sdk: 电源管理接口

结构体 | 宏定义 | 类型定义 | 枚举 | 函数
电源管理接口

结构体

struct | luat_pm_wakeup_pad_cfg
wakeupPad配置参数 更多...
struct | luat_pm_pwrkey_cfg_t
powerkey配置参数 更多...

宏定义

#define | LUAT_PM_SLEEP_MODE_NONE 0
系统处于活跃状态，未采取任何的降低功耗状态 更多...
#define | LUAT_PM_SLEEP_MODE_IDLE 1
空闲模式，该模式在系统空闲时停止 CPU 和部分时钟，任意事件或中断均可以唤醒 更多...
#define | LUAT_PM_SLEEP_MODE_LIGHT 2
轻度睡眠模式，CPU 停止，多数时钟和外设停止 更多...
#define | LUAT_PM_SLEEP_MODE_DEEP 3
深度睡眠模式，CPU 停止，仅少数低功耗外设工作，可被特殊中断唤醒 更多...
#define | LUAT_PM_SLEEP_MODE_STANDBY 4
待机模式，CPU 停止，设备上下文丢失(可保存至特殊外设)，唤醒后通常复位 更多...

类型定义

typedef void(* | luat_pm_sleep_callback_t) (int mode)
typedef enum LUAT_PM_WAKEUP_PAD | LUAT_PM_WAKEUP_PAD_E
wakeupPad 更多...
typedef struct luat_pm_wakeup_pad_cfg | luat_pm_wakeup_pad_cfg_t
wakeupPad配置参数 更多...
typedef void(* | luat_pm_wakeup_pad_isr_callback_t) (LUAT_PM_WAKEUP_PAD_E num)
定义wakeupPad中断回调函数类型 更多...
typedef enum LUAT_PM_POWERKEY_MODE | LUAT_PM_POWERKEY_MODE_E
powerkey设置模式 更多...
typedef enum LUAT_PM_POWERKEY_STATE | LUAT_PM_POWERKEY_STATE_E
powerkey状态 更多...
typedef void(* | luat_pm_pwrkey_callback_t) (LUAT_PM_POWERKEY_MODE_E status)
typedef enum LUAT_PM_POWERON_REASON | LUAT_PM_POWERON_REASON_E
开机原因 更多...
typedef enum LUAT_PM_EVENT | LUAT_PM_EVENT_E
电源管理事件变化参数 更多...
typedef void(* | luat_pm_event_callback_t) (LUAT_PM_EVENT_E event, uint32_t param)
定义PM_event事件处理函数 更多...
typedef enum LUAT_PM_DEEPSLEEP_TIMERID | LUAT_PM_DEEPSLEEP_TIMERID_E
深度睡眠模式的软件定时器ID 更多...
typedef enum LUAT_PM_WAKEUP_REASON | LUAT_PM_WAKEUP_REASON_E
从深度休眠模式下唤醒的原因 更多...
typedef LUAT_RT_RET_TYPE(* | luat_pm_deep_sleep_mode_timer_callback_t) (LUAT_PM_DEEPSLEEP_TIMERID_E timer_id)
定义定时时间到后的回调函数类型 更多...

枚举

enum LUAT_PM_WAKEUP_PAD {
LUAT_PM_WAKEUP_PAD_0 = 0 , LUAT_PM_WAKEUP_PAD_1 , LUAT_PM_WAKEUP_PAD_2 , LUAT_PM_WAKEUP_PAD_3 ,
LUAT_PM_WAKEUP_PAD_4 , LUAT_PM_WAKEUP_PAD_5 , LUAT_PM_WAKEUP_LPUART , LUAT_PM_WAKEUP_LPUSB ,
LUAT_PM_WAKEUP_PWRKEY , LUAT_PM_WAKEUP_CHARGE , LUAT_PM_WAKEUP_PAD_MAX
}
wakeupPad 更多...
enum | LUAT_PM_POWERKEY_MODE { LUAT_PM_PWRKEY_PWRON_MODE = 0 , LUAT_PM_PWRKEY_WAKEUP_LOWACTIVE_MODE , LUAT_PM_PWRKEY_WAKEUP_HIGHACTIVE_MODE , LUAT_PM_PWRKEY_UNKNOW_MODE }
powerkey设置模式 更多...
enum | LUAT_PM_POWERKEY_STATE { LUAT_PM_PWRKEY_RELEASE = 0 , LUAT_PM_PWRKEY_PRESS , LUAT_PM_PWRKEY_LONGPRESS , LUAT_PM_PWRKEY_REPEAT }
powerkey状态 更多...
enum LUAT_PM_POWERON_REASON {
LUAT_PM_POWERON_REASON_KEY , LUAT_PM_POWERON_REASON_CHARGER , LUAT_PM_POWERON_REASON_ALARM , LUAT_PM_POWERON_REASON_REBOOT ,
LUAT_PM_POWERON_REASON_EXCEPTION , LUAT_PM_POWERON_REASON_RESET , LUAT_PM_POWERON_REASON_WDT , LUAT_PM_POWERON_REASON_UNKOWN = 0xFF
}
开机原因 更多...
enum | LUAT_PM_EVENT { LUAT_PM_BATTERY_VOLT_EVENT = 0 , LUAT_PM_VBUS_STATUS_EVENT }
电源管理事件变化参数 更多...
enum LUAT_PM_DEEPSLEEP_TIMERID {
LUAT_PM_DEEPSLEEP_TIMER_ID0 = 0 , LUAT_PM_DEEPSLEEP_TIMER_ID1 , LUAT_PM_DEEPSLEEP_TIMER_ID2 , LUAT_PM_DEEPSLEEP_TIMER_ID3 ,
LUAT_PM_DEEPSLEEP_TIMER_ID4 , LUAT_PM_DEEPSLEEP_TIMER_ID5 , LUAT_PM_DEEPSLEEP_TIMER_ID6
}
深度睡眠模式的软件定时器ID 更多...
enum LUAT_PM_WAKEUP_REASON {
LUAT_PM_WAKEUP_FROM_POR = 0 , LUAT_PM_WAKEUP_FROM_RTC , LUAT_PM_WAKEUP_FROM_PAD , LUAT_PM_WAKEUP_FROM_LPUART ,
LUAT_PM_WAKEUP_FROM_LPUSB , LUAT_PM_WAKEUP_FROM_PWRKEY , LUAT_PM_WAKEUP_FROM_CHARG
}
从深度休眠模式下唤醒的原因 更多...

函数

int | luat_pm_set_sleep_mode (int mode, const char *vote_tag)
设置最深休眠模式标记 更多...
int | luat_pm_get_sleep_mode (const char *vote_tag)
获取休眠标记对应的休眠模式 更多...
int | luat_pm_sleep_register_pre_handler (luat_pm_sleep_callback_t callback_fun)
注册休眠前回调函数 更多...
int | luat_pm_sleep_deregister_pre_handler (void)
解注册休眠前回调函数 更多...
int | luat_pm_sleep_register_post_handler (luat_pm_sleep_callback_t callback_fun)
注册唤醒后回调函数 更多...
int | luat_pm_sleep_deregister_post_handler (void)
解注册唤醒后回调函数 更多...
int | luat_pm_wakeup_pad_set_callback (luat_pm_wakeup_pad_isr_callback_t callback_fun)
设置wakeupPad中断回调函数 更多...
int | luat_pm_wakeup_pad_set (uint8_t enable, LUAT_PM_WAKEUP_PAD_E source_id, luat_pm_wakeup_pad_cfg_t *cfg)
配置wakeupPad中断参数，和GPIO20-22输入配置冲突，不可以和GPIO的API同时使用，建议使用GPIO的API 更多...
int | luat_pm_wakeup_pad_get_value (LUAT_PM_WAKEUP_PAD_E source_id)
获取wakeupPad引脚电平 更多...
int | luat_pm_set_pwrkey (LUAT_PM_POWERKEY_MODE_E mode, bool pullUpEn, luat_pm_pwrkey_cfg_t *cfg, luat_pm_pwrkey_callback_t callback)
配置powerkey按键 更多...
int | luat_pm_get_poweron_reason (void)
获取开机原因 更多...
int | luat_pm_poweroff (void)
设置设备关机 更多...
int | luat_pm_reboot (void)
设备重启 更多...
int | luat_pm_get_vbus_status (uint8_t *status)
获取充电器状态 更多...
int | luat_pm_event_register_handler (luat_pm_event_callback_t callback_fun)
定义PM_event事件处理函数回调函数 更多...
int | luat_pm_deep_sleep_mode_register_timer_cb (LUAT_PM_DEEPSLEEP_TIMERID_E timer_id, luat_pm_deep_sleep_mode_timer_callback_t callback)
注册深度睡眠模式下的软件定时器超时回调函数 更多...
int | luat_pm_deep_sleep_mode_timer_start (LUAT_PM_DEEPSLEEP_TIMERID_E timer_id, int timeout)
启动深度睡眠模式下的软件定时器 更多...
int | luat_pm_deep_sleep_mode_timer_stop (LUAT_PM_DEEPSLEEP_TIMERID_E timer_id)
停止深度睡眠模式下的软件定时器 更多...
int | luat_pm_deep_sleep_mode_timer_is_running (LUAT_PM_DEEPSLEEP_TIMERID_E timer_id)
检查深度睡眠模式下的软件定时器是否正在运行 更多...
int | luat_pm_get_wakeup_reason (void)
获取唤醒原因 更多...
int | luat_pm_set_usb_power (uint8_t onoff)
手动控制USB电源 更多...

详细描述

宏定义说明

◆ LUAT_PM_SLEEP_MODE_DEEP

#define LUAT_PM_SLEEP_MODE_DEEP 3

深度睡眠模式，CPU 停止，仅少数低功耗外设工作，可被特殊中断唤醒

在文件 luat_pm.h 第 35 行定义.

◆ LUAT_PM_SLEEP_MODE_IDLE

#define LUAT_PM_SLEEP_MODE_IDLE 1

空闲模式，该模式在系统空闲时停止 CPU 和部分时钟，任意事件或中断均可以唤醒

在文件 luat_pm.h 第 33 行定义.

◆ LUAT_PM_SLEEP_MODE_LIGHT

#define LUAT_PM_SLEEP_MODE_LIGHT 2

轻度睡眠模式，CPU 停止，多数时钟和外设停止

在文件 luat_pm.h 第 34 行定义.

◆ LUAT_PM_SLEEP_MODE_NONE

#define LUAT_PM_SLEEP_MODE_NONE 0

系统处于活跃状态，未采取任何的降低功耗状态

在文件 luat_pm.h 第 32 行定义.

◆ LUAT_PM_SLEEP_MODE_STANDBY

#define LUAT_PM_SLEEP_MODE_STANDBY 4

待机模式，CPU 停止，设备上下文丢失(可保存至特殊外设)，唤醒后通常复位

在文件 luat_pm.h 第 36 行定义.

类型定义说明

◆ luat_pm_deep_sleep_mode_timer_callback_t

typedef LUAT_RT_RET_TYPE(* luat_pm_deep_sleep_mode_timer_callback_t) (LUAT_PM_DEEPSLEEP_TIMERID_E timer_id)

定义定时时间到后的回调函数类型

在文件 luat_pm.h 第 289 行定义.

◆ LUAT_PM_DEEPSLEEP_TIMERID_E

typedef enum LUAT_PM_DEEPSLEEP_TIMERID LUAT_PM_DEEPSLEEP_TIMERID_E

深度睡眠模式的软件定时器ID

◆ luat_pm_event_callback_t

typedef void(* luat_pm_event_callback_t) (LUAT_PM_EVENT_E event, uint32_t param)

定义PM_event事件处理函数

在文件 luat_pm.h 第 246 行定义.

◆ LUAT_PM_EVENT_E

typedef enum LUAT_PM_EVENT LUAT_PM_EVENT_E

电源管理事件变化参数

◆ LUAT_PM_POWERKEY_MODE_E

typedef enum LUAT_PM_POWERKEY_MODE LUAT_PM_POWERKEY_MODE_E

powerkey设置模式

◆ LUAT_PM_POWERKEY_STATE_E

typedef enum LUAT_PM_POWERKEY_STATE LUAT_PM_POWERKEY_STATE_E

powerkey状态

◆ LUAT_PM_POWERON_REASON_E

typedef enum LUAT_PM_POWERON_REASON LUAT_PM_POWERON_REASON_E

开机原因

◆ luat_pm_pwrkey_callback_t

typedef void(* luat_pm_pwrkey_callback_t) (LUAT_PM_POWERKEY_MODE_E status)

在文件 luat_pm.h 第 182 行定义.

◆ luat_pm_sleep_callback_t

typedef void(* luat_pm_sleep_callback_t) (int mode)

在文件 luat_pm.h 第 56 行定义.

◆ luat_pm_wakeup_pad_cfg_t

typedef struct luat_pm_wakeup_pad_cfg luat_pm_wakeup_pad_cfg_t

wakeupPad配置参数

◆ LUAT_PM_WAKEUP_PAD_E

typedef enum LUAT_PM_WAKEUP_PAD LUAT_PM_WAKEUP_PAD_E

wakeupPad

◆ luat_pm_wakeup_pad_isr_callback_t

typedef void(* luat_pm_wakeup_pad_isr_callback_t) (LUAT_PM_WAKEUP_PAD_E num)

定义wakeupPad中断回调函数类型

在文件 luat_pm.h 第 122 行定义.

◆ LUAT_PM_WAKEUP_REASON_E

typedef enum LUAT_PM_WAKEUP_REASON LUAT_PM_WAKEUP_REASON_E

从深度休眠模式下唤醒的原因

枚举类型说明

◆ LUAT_PM_DEEPSLEEP_TIMERID

enum LUAT_PM_DEEPSLEEP_TIMERID

深度睡眠模式的软件定时器ID

枚举值
LUAT_PM_DEEPSLEEP_TIMER_ID0 |
LUAT_PM_DEEPSLEEP_TIMER_ID1 | 0和1，最大定时时间为2.5小时，精度为10ms，不需要存储信息到flash，
LUAT_PM_DEEPSLEEP_TIMER_ID2 |
LUAT_PM_DEEPSLEEP_TIMER_ID3 | 2到6，最大定时时间为740小时，精度为10ms，需要存储信息到flash，此类定时器尽量避免反复启动停止，防止减少flash寿命，如果定时时长不超过2.5小时，建议使用0和1
LUAT_PM_DEEPSLEEP_TIMER_ID4 |
LUAT_PM_DEEPSLEEP_TIMER_ID5 |
LUAT_PM_DEEPSLEEP_TIMER_ID6 |

在文件 luat_pm.h 第 260 行定义.

◆ LUAT_PM_EVENT

enum LUAT_PM_EVENT

电源管理事件变化参数

枚举值
LUAT_PM_BATTERY_VOLT_EVENT | 电池电量发生变化
LUAT_PM_VBUS_STATUS_EVENT | VBUS状态发生变化

在文件 luat_pm.h 第 238 行定义.

◆ LUAT_PM_POWERKEY_MODE

enum LUAT_PM_POWERKEY_MODE

powerkey设置模式

枚举值
LUAT_PM_PWRKEY_PWRON_MODE |
LUAT_PM_PWRKEY_WAKEUP_LOWACTIVE_MODE | 默认
LUAT_PM_PWRKEY_WAKEUP_HIGHACTIVE_MODE | 低电平按下
LUAT_PM_PWRKEY_UNKNOW_MODE | 高电平按下

在文件 luat_pm.h 第 153 行定义.

◆ LUAT_PM_POWERKEY_STATE

enum LUAT_PM_POWERKEY_STATE

powerkey状态

枚举值
LUAT_PM_PWRKEY_RELEASE |
LUAT_PM_PWRKEY_PRESS | 释放
LUAT_PM_PWRKEY_LONGPRESS | 按下
LUAT_PM_PWRKEY_REPEAT | 长按

在文件 luat_pm.h 第 164 行定义.

◆ LUAT_PM_POWERON_REASON

enum LUAT_PM_POWERON_REASON

开机原因

枚举值
LUAT_PM_POWERON_REASON_KEY | 按键开机
LUAT_PM_POWERON_REASON_CHARGER | 充电开机
LUAT_PM_POWERON_REASON_ALARM | 闹钟开机
LUAT_PM_POWERON_REASON_REBOOT | 软件重启开机
LUAT_PM_POWERON_REASON_EXCEPTION | 异常重启
LUAT_PM_POWERON_REASON_RESET | reset 键重启
LUAT_PM_POWERON_REASON_WDT | 看门狗重启
LUAT_PM_POWERON_REASON_UNKOWN | 未知原因

在文件 luat_pm.h 第 201 行定义.

◆ LUAT_PM_WAKEUP_PAD

enum LUAT_PM_WAKEUP_PAD

wakeupPad

枚举值
LUAT_PM_WAKEUP_PAD_0 | wakeupid_0
LUAT_PM_WAKEUP_PAD_1 | wakeupid_1
LUAT_PM_WAKEUP_PAD_2 | wakeupid_2
LUAT_PM_WAKEUP_PAD_3 | wakeupid_3
LUAT_PM_WAKEUP_PAD_4 | wakeupid_4
LUAT_PM_WAKEUP_PAD_5 | wakeupid_5
LUAT_PM_WAKEUP_LPUART | LPUART 唤醒
LUAT_PM_WAKEUP_LPUSB | LPUSB唤醒
LUAT_PM_WAKEUP_PWRKEY | PWRKEY唤醒
LUAT_PM_WAKEUP_CHARGE | CHARGE唤醒
LUAT_PM_WAKEUP_PAD_MAX |

在文件 luat_pm.h 第 95 行定义.

◆ LUAT_PM_WAKEUP_REASON

enum LUAT_PM_WAKEUP_REASON

从深度休眠模式下唤醒的原因

枚举值
LUAT_PM_WAKEUP_FROM_POR
LUAT_PM_WAKEUP_FROM_RTC
LUAT_PM_WAKEUP_FROM_PAD
LUAT_PM_WAKEUP_FROM_LPUART
LUAT_PM_WAKEUP_FROM_LPUSB
LUAT_PM_WAKEUP_FROM_PWRKEY
LUAT_PM_WAKEUP_FROM_CHARG

在文件 luat_pm.h 第 275 行定义.

函数说明

◆ luat_pm_deep_sleep_mode_register_timer_cb()

int luat_pm_deep_sleep_mode_register_timer_cb | ( | LUAT_PM_DEEPSLEEP_TIMERID_E | timer_id,
 |  | luat_pm_deep_sleep_mode_timer_callback_t | callback
 | ) |  |

注册深度睡眠模式下的软件定时器超时回调函数

参数
timer_id | 定时器ID
callback | 回调函数
返回
int =0成功，其他失败

◆ luat_pm_deep_sleep_mode_timer_is_running()

int luat_pm_deep_sleep_mode_timer_is_running ( LUAT_PM_DEEPSLEEP_TIMERID_E timer_id )

检查深度睡眠模式下的软件定时器是否正在运行

参数
timer_id 定时器ID
返回
int =0未运行，int =1正在运行

◆ luat_pm_deep_sleep_mode_timer_start()

int luat_pm_deep_sleep_mode_timer_start | ( | LUAT_PM_DEEPSLEEP_TIMERID_E | timer_id,
 |  | int | timeout
 | ) |  |

启动深度睡眠模式下的软件定时器

参数
timer_id | 定时器ID
timeout | 超时时间，单位ms
返回
int =0成功，其他失败

◆ luat_pm_deep_sleep_mode_timer_stop()

int luat_pm_deep_sleep_mode_timer_stop ( LUAT_PM_DEEPSLEEP_TIMERID_E timer_id )

停止深度睡眠模式下的软件定时器

参数
timer_id 定时器ID
返回
int =0成功，其他失败

◆ luat_pm_event_register_handler()

int luat_pm_event_register_handler ( luat_pm_event_callback_t callback_fun )

定义PM_event事件处理函数回调函数

参数
luat_pm_event_callback_t 指针函数

◆ luat_pm_get_poweron_reason()

int luat_pm_get_poweron_reason ( void )

获取开机原因

参数
NULL
返回
参见
LUAT_PM_POWERON_REASON_E

◆ luat_pm_get_sleep_mode()

int luat_pm_get_sleep_mode ( const char * vote_tag )

获取休眠标记对应的休眠模式

参数
vote_tag 休眠标记
返回
int = -1 失败，其他成功

◆ luat_pm_get_vbus_status()

int luat_pm_get_vbus_status ( uint8_t * status )

获取充电器状态

参数
status 充电器状态

◆ luat_pm_get_wakeup_reason()

int luat_pm_get_wakeup_reason ( void )

获取唤醒原因

返回
LUAT_PM_WAKEUP_REASON

◆ luat_pm_poweroff()

int luat_pm_poweroff ( void )

设置设备关机

◆ luat_pm_reboot()

int luat_pm_reboot ( void )

设备重启

◆ luat_pm_set_pwrkey()

int luat_pm_set_pwrkey | ( | LUAT_PM_POWERKEY_MODE_E | mode,
 |  | bool | pullUpEn,
 |  | luat_pm_pwrkey_cfg_t * | cfg,
 |  | luat_pm_pwrkey_callback_t | callback
 | ) |  |

配置powerkey按键

参数
mode | 中断使能
pullUpEn | wakeupPad
cfg | powerkey配置参数
callback | powerkey回调函数
返回
int =0成功，其他失败

◆ luat_pm_set_sleep_mode()

int luat_pm_set_sleep_mode | ( | int | mode,
 |  | const char * | vote_tag
 | ) |  |

设置最深休眠模式标记

参数
mode | 最深休眠模式
vote_tag | 休眠标记
返回
int =0成功，其他失败

◆ luat_pm_set_usb_power()

int luat_pm_set_usb_power ( uint8_t onoff )

手动控制USB电源

参数
onoff 0关，其他开
返回
int =0成功，其他失败

◆ luat_pm_sleep_deregister_post_handler()

int luat_pm_sleep_deregister_post_handler ( void )

解注册唤醒后回调函数

参数
callback_fun 唤醒后用户回调
返回
int =0成功，其他失败

◆ luat_pm_sleep_deregister_pre_handler()

int luat_pm_sleep_deregister_pre_handler ( void )

解注册休眠前回调函数

返回
int =0成功，其他失败

◆ luat_pm_sleep_register_post_handler()

int luat_pm_sleep_register_post_handler ( luat_pm_sleep_callback_t callback_fun )

注册唤醒后回调函数

参数
callback_fun 唤醒后用户回调
返回
int =0成功，其他失败

◆ luat_pm_sleep_register_pre_handler()

int luat_pm_sleep_register_pre_handler ( luat_pm_sleep_callback_t callback_fun )

注册休眠前回调函数

参数
callback_fun 休眠前用户回调
返回
int =0成功，其他失败

◆ luat_pm_wakeup_pad_get_value()

int luat_pm_wakeup_pad_get_value ( LUAT_PM_WAKEUP_PAD_E source_id )

获取wakeupPad引脚电平

参数
source_id wakeupPad
返回
int =-1失败，0为低电平，1为高电平

◆ luat_pm_wakeup_pad_set()

int luat_pm_wakeup_pad_set | ( | uint8_t | enable,
 |  | LUAT_PM_WAKEUP_PAD_E | source_id,
 |  | luat_pm_wakeup_pad_cfg_t * | cfg
 | ) |  |

配置wakeupPad中断参数，和GPIO20-22输入配置冲突，不可以和GPIO的API同时使用，建议使用GPIO的API

参数
enable | 中断使能
source_id | wakeupPad
cfg | wakeupPad配置参数
返回
int =0成功，其他失败

◆ luat_pm_wakeup_pad_set_callback()

int luat_pm_wakeup_pad_set_callback ( luat_pm_wakeup_pad_isr_callback_t callback_fun )

设置wakeupPad中断回调函数

参数
callback_fun wakeupPad中断回调函数
返回
int =0成功，其他失败


Luat_soc_sdk: luat_pm_wakeup_pad_cfg结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_pm_wakeup_pad_cfg结构体 参考
电源管理接口

wakeupPad配置参数 更多...

#include <luat_pm.h>

成员变量

uint8_t | pos_edge_enable
uint8_t | neg_edge_enable
uint8_t | pull_up_enable
uint8_t | pull_down_enable

详细描述

wakeupPad配置参数

在文件 luat_pm.h 第 112 行定义.

结构体成员变量说明

◆ neg_edge_enable

uint8_t neg_edge_enable

在文件 luat_pm.h 第 115 行定义.

◆ pos_edge_enable

uint8_t pos_edge_enable

在文件 luat_pm.h 第 114 行定义.

◆ pull_down_enable

uint8_t pull_down_enable

在文件 luat_pm.h 第 117 行定义.

◆ pull_up_enable

uint8_t pull_up_enable

在文件 luat_pm.h 第 116 行定义.


Luat_soc_sdk: luat_pm_pwrkey_cfg_t结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_pm_pwrkey_cfg_t结构体 参考
电源管理接口

powerkey配置参数 更多...

#include <luat_pm.h>

成员变量

int16_t | long_press_timeout
int16_t | repeat_timeout
int16_t | pwroff_timeout

详细描述

powerkey配置参数

在文件 luat_pm.h 第 175 行定义.

结构体成员变量说明

◆ long_press_timeout

int16_t long_press_timeout

在文件 luat_pm.h 第 177 行定义.

◆ pwroff_timeout

int16_t pwroff_timeout

重复超时时间

在文件 luat_pm.h 第 179 行定义.

◆ repeat_timeout

int16_t repeat_timeout

长按超时时间

在文件 luat_pm.h 第 178 行定义.


Luat_soc_sdk: 时钟接口(RTC)

函数
时钟接口(RTC)

函数

int | luat_rtc_set (struct tm *tblock)
设置系统时间 更多...
int | luat_rtc_get (struct tm *tblock)
获取系统时间 更多...

详细描述

函数说明

◆ luat_rtc_get()

int luat_rtc_get ( struct tm * tblock )

获取系统时间

参数
tblock
返回
int =0成功，其他失败

◆ luat_rtc_set()

int luat_rtc_set ( struct tm * tblock )

设置系统时间

参数
tblock
返回
int =0成功，其他失败


Luat_soc_sdk: 操作系统接口

模块 | 类型定义 | 枚举
操作系统接口

模块

线程任务接口函数
消息事件函数
信号量接口函数
互斥锁接口函数
队列接口函数
软件定时器接口函数
临界保护接口函数

类型定义

typedef enum LUAT_RTOS_WAIT LUAT_RTOS_WAIT_E
LUAT_RTOS 超时时间枚举值 更多...

枚举

enum LUAT_RTOS_WAIT { LUAT_NO_WAIT = 0 , LUAT_WAIT_FOREVER = (uint32_t)0xFFFFFFFF }
LUAT_RTOS 超时时间枚举值 更多...

详细描述

类型定义说明

◆ LUAT_RTOS_WAIT_E

typedef enum LUAT_RTOS_WAIT LUAT_RTOS_WAIT_E

LUAT_RTOS 超时时间枚举值

枚举类型说明

◆ LUAT_RTOS_WAIT

enum LUAT_RTOS_WAIT

LUAT_RTOS 超时时间枚举值

枚举值
LUAT_NO_WAIT | 超时时间为0
LUAT_WAIT_FOREVER | 最大超时时间0xFFFFFFFF

在文件 luat_rtos.h 第 36 行定义.


Luat_soc_sdk: 线程任务接口函数

类型定义 | 函数
线程任务接口函数
操作系统接口

类型定义

typedef void(* | luat_rtos_task_entry) (void *)
task的入口函数,函数类型 更多...
typedef void * | luat_rtos_task_handle
定义task任务句柄 更多...

函数

int | luat_rtos_task_create (luat_rtos_task_handle *task_handle, uint32_t stack_size, uint8_t priority, const char *task_name, luat_rtos_task_entry task_fun, void *user_data, uint16_t event_cout)
创建一个可以带mailbox机制的task 更多...
int | luat_rtos_task_delete (luat_rtos_task_handle task_handle)
删除task 更多...
int | luat_rtos_task_suspend (luat_rtos_task_handle task_handle)
挂起某个task 更多...
int | luat_rtos_task_resume (luat_rtos_task_handle task_handle)
恢复挂起的task 更多...
void | luat_rtos_task_suspend_all (void)
挂起全部task 更多...
void | luat_rtos_task_resume_all (void)
恢复全部task 更多...
void | luat_rtos_task_sleep (uint32_t ms)
task休眠一段时间 更多...
luat_rtos_task_handle | luat_rtos_get_current_handle (void)
获取当前task的句柄 更多...
uint32_t | luat_rtos_task_get_high_water_mark (luat_rtos_task_handle task_handle)
获取task堆栈剩余的最小值，叫做“高水位线” 更多...

详细描述

类型定义说明

◆ luat_rtos_task_entry

typedef void(* luat_rtos_task_entry) (void *)

task的入口函数,函数类型

在文件 luat_rtos.h 第 51 行定义.

◆ luat_rtos_task_handle

typedef void* luat_rtos_task_handle

定义task任务句柄

在文件 luat_rtos.h 第 55 行定义.

函数说明

◆ luat_rtos_get_current_handle()

luat_rtos_task_handle luat_rtos_get_current_handle ( void )

获取当前task的句柄

返回
luat_rtos_task_handle 当前task的句柄

◆ luat_rtos_task_create()

int luat_rtos_task_create | ( | luat_rtos_task_handle * | task_handle,
 |  | uint32_t | stack_size,
 |  | uint8_t | priority,
 |  | const char * | task_name,
 |  | luat_rtos_task_entry | task_fun,
 |  | void * | user_data,
 |  | uint16_t | event_cout
 | ) |  |

创建一个可以带mailbox机制的task

参数
task_handle[OUT] | 返回创建的句柄
stack_size | task的栈空间大小，单位byte，必须4字节对齐
priority | 优先级，单位是百分比，0%~100%,100为最高等级，由具体实现转换到底层SDK用的优先级
task_name | task名字
task_fun | task的入口函数
user_data | task的入口参数
event_cout | =0表示不需要使用mailbox机制，>0表示启用mailbox，可以使用下列event和massage api，同时如果底层SDK不支持mailbox，会创建一个queue模拟mailbox，queue里元素为luat_event_t，数量为event_cout
返回
int =0成功，其他失败

◆ luat_rtos_task_delete()

int luat_rtos_task_delete ( luat_rtos_task_handle task_handle )

删除task

参数
task_handle
返回
int =0成功，其他失败

◆ luat_rtos_task_get_high_water_mark()

uint32_t luat_rtos_task_get_high_water_mark ( luat_rtos_task_handle task_handle )

获取task堆栈剩余的最小值，叫做“高水位线”

参数
luat_rtos_task_handle task的句柄
返回
task堆栈剩余的最小值,单位为字

◆ luat_rtos_task_resume()

int luat_rtos_task_resume ( luat_rtos_task_handle task_handle )

恢复挂起的task

参数
task_handle task句柄
返回
int =0成功，其他失败

◆ luat_rtos_task_resume_all()

void luat_rtos_task_resume_all ( void )

恢复全部task

◆ luat_rtos_task_sleep()

void luat_rtos_task_sleep ( uint32_t ms )

task休眠一段时间

参数
ms 休眠时间，单位ms

◆ luat_rtos_task_suspend()

int luat_rtos_task_suspend ( luat_rtos_task_handle task_handle )

挂起某个task

参数
task_handle task句柄
返回
int =0成功，其他失败

◆ luat_rtos_task_suspend_all()

void luat_rtos_task_suspend_all ( void )

挂起全部task


Luat_soc_sdk: 消息事件函数

类型定义 | 函数
消息事件函数
操作系统接口

类型定义

typedef LUAT_RT_RET_TYPE(* luat_rtos_event_wait_callback_t) (LUAT_RT_CB_PARAM)
在等待event中，如果设置了目标event id，而到来的不是目标event id，可以通过回调函数交给用户处理 更多...

函数

int | luat_rtos_event_send (luat_rtos_task_handle task_handle, uint32_t id, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t timeout)
发送一个event给task的mailbox，只有设置了mailbox启用的task能接收 更多...
int | luat_rtos_event_recv (luat_rtos_task_handle task_handle, uint32_t wait_event_id, luat_event_t *out_event, luat_rtos_event_wait_callback_t *callback_fun, uint32_t timeout)
接收一个event，只能在task里接收 更多...
int | luat_rtos_message_send (luat_rtos_task_handle task_handle, uint32_t message_id, void *p_message)
发送一个message给task的mailbox，只有设置了mailbox启用的task能接收，message可以动态创建的，可以任意大小 更多...
int | luat_rtos_message_recv (luat_rtos_task_handle task_handle, uint32_t *message_id, void **p_p_message, uint32_t timeout)
接收一个message，只能在task里接收 更多...

详细描述

类型定义说明

◆ luat_rtos_event_wait_callback_t

typedef LUAT_RT_RET_TYPE(* luat_rtos_event_wait_callback_t) (LUAT_RT_CB_PARAM)

在等待event中，如果设置了目标event id，而到来的不是目标event id，可以通过回调函数交给用户处理

在文件 luat_rtos.h 第 140 行定义.

函数说明

◆ luat_rtos_event_recv()

int luat_rtos_event_recv | ( | luat_rtos_task_handle | task_handle,
 |  | uint32_t | wait_event_id,
 |  | luat_event_t * | out_event,
 |  | luat_rtos_event_wait_callback_t * | callback_fun,
 |  | uint32_t | timeout
 | ) |  |

接收一个event，只能在task里接收

参数
task_handle | 需要接收event的task句柄
wait_event_id | 目标event的ID，=0表示不限制，任意event id都会返回
out_event[OUT] | 接收到的event
callback_fun | event的ID不是目标ID时，用户回调函数，可以为NULL，从而抛弃掉这个event
timeout | 接收超时，单位ms，特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功，其他失败

◆ luat_rtos_event_send()

int luat_rtos_event_send | ( | luat_rtos_task_handle | task_handle,
 |  | uint32_t | id,
 |  | uint32_t | param1,
 |  | uint32_t | param2,
 |  | uint32_t | param3,
 |  | uint32_t | timeout
 | ) |  |

发送一个event给task的mailbox，只有设置了mailbox启用的task能接收

参数
task_handle | 需要接收event的task句柄
id | event id
param1 | event参数1
param2 | event参数2
param3 | event参数3
timeout | 发送超时，在task发送才有，单位ms，特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功，其他失败

◆ luat_rtos_message_recv()

int luat_rtos_message_recv | ( | luat_rtos_task_handle | task_handle,
 |  | uint32_t * | message_id,
 |  | void ** | p_p_message,
 |  | uint32_t | timeout
 | ) |  |

接收一个message，只能在task里接收

参数
task_handle | 需要接收massage的task句柄
message_id[OUT] | 接收到的message id
p_p_message[OUT] | message内容，输出一个void *指针，如果是发送时动态创建的，需要释放掉
timeout | 接收超时，单位ms，特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功，其他失败

◆ luat_rtos_message_send()

int luat_rtos_message_send | ( | luat_rtos_task_handle | task_handle,
 |  | uint32_t | message_id,
 |  | void * | p_message
 | ) |  |

发送一个message给task的mailbox，只有设置了mailbox启用的task能接收，message可以动态创建的，可以任意大小

参数
task_handle | 需要接收massage的task句柄
message_id | message id
p_message | message内容，传入指针，如果动态创建，需要在接收时释放
返回
int =0成功，其他失败


Luat_soc_sdk: 信号量接口函数

类型定义 | 函数
信号量接口函数
操作系统接口

类型定义

typedef void * luat_rtos_semaphore_t
定义信号量句柄 更多...

函数

int | luat_rtos_semaphore_create (luat_rtos_semaphore_t *semaphore_handle, uint32_t init_count)
信号量创建，可以在中断中release 更多...
int | luat_rtos_semaphore_delete (luat_rtos_semaphore_t semaphore_handle)
删除信号量 更多...
int | luat_rtos_semaphore_take (luat_rtos_semaphore_t semaphore_handle, uint32_t timeout)
信号量等待获取 更多...
int | luat_rtos_semaphore_release (luat_rtos_semaphore_t semaphore_handle)
信号量释放发送 更多...

详细描述

类型定义说明

◆ luat_rtos_semaphore_t

typedef void* luat_rtos_semaphore_t

定义信号量句柄

在文件 luat_rtos.h 第 203 行定义.

函数说明

◆ luat_rtos_semaphore_create()

int luat_rtos_semaphore_create | ( | luat_rtos_semaphore_t * | semaphore_handle,
 |  | uint32_t | init_count
 | ) |  |

信号量创建，可以在中断中release

参数
semaphore_handle[OUT] | 信号量句柄
init_count | 初始值
返回
int =0成功，其他失败

◆ luat_rtos_semaphore_delete()

int luat_rtos_semaphore_delete ( luat_rtos_semaphore_t semaphore_handle )

删除信号量

参数
semaphore_handle 信号量句柄
返回
int =0成功，其他失败

◆ luat_rtos_semaphore_release()

int luat_rtos_semaphore_release ( luat_rtos_semaphore_t semaphore_handle )

信号量释放发送

参数
semaphore_handle 信号量句柄
返回
int =0成功，其他失败

◆ luat_rtos_semaphore_take()

int luat_rtos_semaphore_take | ( | luat_rtos_semaphore_t | semaphore_handle,
 |  | uint32_t | timeout
 | ) |  |

信号量等待获取

参数
semaphore_handle | 信号量句柄
timeout | 接收超时，单位ms，特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功，其他失败


Luat_soc_sdk: 互斥锁接口函数

类型定义 | 函数
互斥锁接口函数
操作系统接口

类型定义

typedef void * luat_rtos_mutex_t
定义mutex句柄 更多...

函数

int | luat_rtos_mutex_create (luat_rtos_mutex_t *mutex_handle)
互斥锁创建，不能在中断中unlock 更多...
int | luat_rtos_mutex_lock (luat_rtos_mutex_t mutex_handle, uint32_t timeout)
获得锁 更多...
int | luat_rtos_mutex_unlock (luat_rtos_mutex_t mutex_handle)
释放锁 更多...
int | luat_rtos_mutex_delete (luat_rtos_mutex_t mutex_handle)
删除互斥锁 更多...

详细描述

类型定义说明

◆ luat_rtos_mutex_t

typedef void* luat_rtos_mutex_t

定义mutex句柄

在文件 luat_rtos.h 第 248 行定义.

函数说明

◆ luat_rtos_mutex_create()

int luat_rtos_mutex_create ( luat_rtos_mutex_t * mutex_handle )

互斥锁创建，不能在中断中unlock

参数
mutex_handle[OUT] 互斥锁句柄
返回
int =0成功，其他失败

◆ luat_rtos_mutex_delete()

int luat_rtos_mutex_delete ( luat_rtos_mutex_t mutex_handle )

删除互斥锁

参数
mutex_handle 互斥锁句柄
返回
int =0成功，其他失败

◆ luat_rtos_mutex_lock()

int luat_rtos_mutex_lock | ( | luat_rtos_mutex_t | mutex_handle,
 |  | uint32_t | timeout
 | ) |  |

获得锁

参数
mutex_handle | 互斥锁句柄
timeout | 超时，单位ms，特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功，其他失败

◆ luat_rtos_mutex_unlock()

int luat_rtos_mutex_unlock ( luat_rtos_mutex_t mutex_handle )

释放锁

参数
mutex_handle 互斥锁句柄
返回
int =0成功，其他失败


Luat_soc_sdk: 队列接口函数

类型定义 | 函数
队列接口函数
操作系统接口

类型定义

typedef void * luat_rtos_queue_t
定义队列句柄 更多...

函数

int | luat_rtos_queue_create (luat_rtos_queue_t *queue_handle, uint32_t item_count, uint32_t item_size)
创建队列 更多...
int | luat_rtos_queue_delete (luat_rtos_queue_t queue_handle)
删除队列 更多...
int | luat_rtos_queue_send (luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout)
往队列里发送一个元素 更多...
int | luat_rtos_queue_recv (luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout)
从队列里取出一个元素 更多...

详细描述

类型定义说明

◆ luat_rtos_queue_t

typedef void* luat_rtos_queue_t

定义队列句柄

在文件 luat_rtos.h 第 294 行定义.

函数说明

◆ luat_rtos_queue_create()

int luat_rtos_queue_create | ( | luat_rtos_queue_t * | queue_handle,
 |  | uint32_t | item_count,
 |  | uint32_t | item_size
 | ) |  |

创建队列

参数
queue_handle[OUT] | 返回的队列句柄
msgcount | 队列里元素的最大数量
msgsize | 队列里单个元素的大小
返回
int =0成功，其他失败

◆ luat_rtos_queue_delete()

int luat_rtos_queue_delete ( luat_rtos_queue_t queue_handle )

删除队列

参数
queue_handle 队列句柄
返回
int =0成功，其他失败

◆ luat_rtos_queue_recv()

int luat_rtos_queue_recv | ( | luat_rtos_queue_t | queue_handle,
 |  | void * | item,
 |  | uint32_t | item_size,
 |  | uint32_t | timeout
 | ) |  |

从队列里取出一个元素

参数
queue_handle | 队列句柄
item | 元素指针
item_size | 元素大小，这个是兼容性参数，实际上必须于创建时的item_size一致，所以忽略
timeout | 超时，单位ms，特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功，其他失败

◆ luat_rtos_queue_send()

int luat_rtos_queue_send | ( | luat_rtos_queue_t | queue_handle,
 |  | void * | item,
 |  | uint32_t | item_size,
 |  | uint32_t | timeout
 | ) |  |

往队列里发送一个元素

参数
queue_handle | 队列句柄
item | 元素指针
item_size | 元素大小，这个是兼容性参数，实际上必须于创建时的item_size一致，所以忽略
timeout | 超时，单位ms，特殊值见LUAT_RTOS_WAIT_E
返回
int =0成功，其他失败


Luat_soc_sdk: 软件定时器接口函数

类型定义 | 函数
软件定时器接口函数
操作系统接口

类型定义

typedef void * | luat_rtos_timer_t
定时器头数据类型 更多...
typedef LUAT_RT_RET_TYPE(* | luat_rtos_timer_callback_t) (LUAT_RT_CB_PARAM)
定义定时器处理函数 更多...

函数

int | luat_rtos_timer_create (luat_rtos_timer_t *timer_handle)
创建软件定时器 更多...
int | luat_rtos_timer_delete (luat_rtos_timer_t timer_handle)
删除软件定时器 更多...
int | luat_rtos_timer_start (luat_rtos_timer_t timer_handle, uint32_t timeout, uint8_t repeat, luat_rtos_timer_callback_t callback_fun, void *user_param)
启动软件定时器 更多...
int | luat_rtos_timer_stop (luat_rtos_timer_t timer_handle)
停止软件定时器 更多...
int | luat_rtos_timer_is_active (luat_rtos_timer_t timer_handle)
检测软件定时器是否处于激活状态 更多...

详细描述

类型定义说明

◆ luat_rtos_timer_callback_t

typedef LUAT_RT_RET_TYPE(* luat_rtos_timer_callback_t) (LUAT_RT_CB_PARAM)

定义定时器处理函数

在文件 luat_rtos.h 第 350 行定义.

◆ luat_rtos_timer_t

typedef void* luat_rtos_timer_t

定时器头数据类型

在文件 luat_rtos.h 第 346 行定义.

函数说明

◆ luat_rtos_timer_create()

int luat_rtos_timer_create ( luat_rtos_timer_t * timer_handle )

创建软件定时器

参数
timer_handle[OUT] 返回定时器句柄
返回
int =0成功，其他失败

◆ luat_rtos_timer_delete()

int luat_rtos_timer_delete ( luat_rtos_timer_t timer_handle )

删除软件定时器

参数
timer_handle 定时器句柄
返回
int =0成功，其他失败

◆ luat_rtos_timer_is_active()

int luat_rtos_timer_is_active ( luat_rtos_timer_t timer_handle )

检测软件定时器是否处于激活状态

参数
timer_handle 定时器句柄
返回
int =0未激活，1激活，其他失败

◆ luat_rtos_timer_start()

int luat_rtos_timer_start | ( | luat_rtos_timer_t | timer_handle,
 |  | uint32_t | timeout,
 |  | uint8_t | repeat,
 |  | luat_rtos_timer_callback_t | callback_fun,
 |  | void * | user_param
 | ) |  |

启动软件定时器

参数
timer_handle | 定时器句柄
timeout | 超时时间，单位ms，没有特殊值
repeat | 0不重复，其他重复
callback_fun | 定时时间到后的回调函数
user_param | 回调函数时的最后一个输入参数
返回
int =0成功，其他失败

◆ luat_rtos_timer_stop()

int luat_rtos_timer_stop ( luat_rtos_timer_t timer_handle )

停止软件定时器

参数
timer_handle 定时器句柄
返回
int =0成功，其他失败


Luat_soc_sdk: 临界保护接口函数

函数
临界保护接口函数
操作系统接口

函数

uint32_t | luat_rtos_entry_critical (void)
进入临界保护 更多...
void | luat_rtos_exit_critical (uint32_t critical)
退出临界保护 更多...

详细描述

函数说明

◆ luat_rtos_entry_critical()

uint32_t luat_rtos_entry_critical ( void )

进入临界保护

返回
uint32_t 退出临界保护所需参数

◆ luat_rtos_exit_critical()

void luat_rtos_exit_critical ( uint32_t critical )

退出临界保护

参数
critical 进入临界保护时返回的参数


Luat_soc_sdk: 短信功能

枚举值 | 函数 | 变量
短信功能

函数

void | luat_sms_init (void)
初始化短信 更多...
int | luat_sms_send_msg (uint8_t *p_input, char *p_des, bool is_pdu, int input_pdu_len)
发送短信 更多...
void | luat_sms_recv_msg_register_handler (LUAT_SMS_HANDLE_CB callback_fun)
接受短信回调 更多...
void | luat_sms_send_msg_register_handler (LUAT_SMS_HANDLE_SEND_CB callback_fun)
发送短信回调 更多...

变量

LUAT_SMS_HANDLE_CB | cb
LUAT_SMS_HANDLE_SEND_CB | send_cb
uint8_t | year
uint8_t | month
uint8_t | day
uint8_t | hour
uint8_t | minute
uint8_t | second
uint8_t | tz
uint8_t | tz_sign
uint8_t | type
uint8_t | msg_class
uint8_t | alpha_bet
uint8_t | indication
uint8_t | dcs
uint16_t | pdu_length
uint16_t | sms_length
LUAT_SMS_RECV_MSG_TIME_T time
LUAT_SMS_RECV_MSG_DCS_T dcs_info
char | pdu_data [LUAT_SMS_MAX_TXT_SIZE+1]
uint8_t | sms_buffer [LUAT_SMS_MAX_TXT_SIZE+1]
uint8_t | sc_address [LUAT_MSG_MAX_ADDR_LEN+1]
uint8_t | phone_address [LUAT_MSG_MAX_ADDR_LEN+1]
uint8_t | refNum
uint8_t | maxNum
uint8_t | seqNum

详细描述

函数说明

◆ luat_sms_init()

void luat_sms_init ( void )

初始化短信

◆ luat_sms_recv_msg_register_handler()

void luat_sms_recv_msg_register_handler ( LUAT_SMS_HANDLE_CB callback_fun )

接受短信回调

参数
callback_fun 回调函数

◆ luat_sms_send_msg()

int luat_sms_send_msg | ( | uint8_t * | p_input,
 |  | char * | p_des,
 |  | bool | is_pdu,
 |  | int | input_pdu_len
 | ) |  |

发送短信

参数
p_input | 短信的内容(当 is_pdu = false 时, 只支持英文，数字以及常用符号)
p_des | 接收短信的手机号
is_pdu | 是否是PDU格式的短信(当 false 时, 有效参数为 p_input & pdes, 当 true 时, 有效参数为 p_input & pudLen)
input_pdu_len | PDU格式短信的长度，注意和p_input长度没有关系
返回
0成功,-1失败

◆ luat_sms_send_msg_register_handler()

void luat_sms_send_msg_register_handler ( LUAT_SMS_HANDLE_SEND_CB callback_fun )

发送短信回调

参数
callback_fun 回调函数

变量说明

◆ alpha_bet

uint8_t alpha_bet

在文件 luat_sms.h 第 88 行定义.

◆ cb

LUAT_SMS_HANDLE_CB cb

在文件 luat_sms.h 第 68 行定义.

◆ day

uint8_t day

在文件 luat_sms.h 第 76 行定义.

◆ dcs

uint8_t dcs

在文件 luat_sms.h 第 90 行定义.

◆ dcs_info

LUAT_SMS_RECV_MSG_DCS_T dcs_info

在文件 luat_sms.h 第 99 行定义.

◆ hour

uint8_t hour

在文件 luat_sms.h 第 77 行定义.

◆ indication

uint8_t indication

在文件 luat_sms.h 第 89 行定义.

◆ maxNum

uint8_t maxNum

在文件 luat_sms.h 第 105 行定义.

◆ minute

uint8_t minute

在文件 luat_sms.h 第 78 行定义.

◆ month

uint8_t month

在文件 luat_sms.h 第 75 行定义.

◆ msg_class

uint8_t msg_class

在文件 luat_sms.h 第 87 行定义.

◆ pdu_data

char pdu_data[LUAT_SMS_MAX_TXT_SIZE+1]

在文件 luat_sms.h 第 100 行定义.

◆ pdu_length

uint16_t pdu_length

在文件 luat_sms.h 第 96 行定义.

◆ phone_address

uint8_t phone_address[LUAT_MSG_MAX_ADDR_LEN+1]

在文件 luat_sms.h 第 103 行定义.

◆ refNum

uint8_t refNum

在文件 luat_sms.h 第 104 行定义.

◆ sc_address

uint8_t sc_address[LUAT_MSG_MAX_ADDR_LEN+1]

在文件 luat_sms.h 第 102 行定义.

◆ second

uint8_t second

在文件 luat_sms.h 第 79 行定义.

◆ send_cb

LUAT_SMS_HANDLE_SEND_CB send_cb

在文件 luat_sms.h 第 69 行定义.

◆ seqNum

uint8_t seqNum

在文件 luat_sms.h 第 106 行定义.

◆ sms_buffer

uint8_t sms_buffer[LUAT_SMS_MAX_TXT_SIZE+1]

在文件 luat_sms.h 第 101 行定义.

◆ sms_length

uint16_t sms_length

在文件 luat_sms.h 第 97 行定义.

◆ time

LUAT_SMS_RECV_MSG_TIME_T time

在文件 luat_sms.h 第 98 行定义.

◆ type

uint8_t type

在文件 luat_sms.h 第 86 行定义.

◆ tz

uint8_t tz

在文件 luat_sms.h 第 80 行定义.

◆ tz_sign

uint8_t tz_sign

在文件 luat_sms.h 第 81 行定义.

◆ year

uint8_t year

在文件 luat_sms.h 第 74 行定义.


Luat_soc_sdk: wifiscan扫描接口

结构体 | 宏定义 | 类型定义 | 枚举 | 函数
wifiscan扫描接口

结构体

struct | luat_wifiscan_set_info
wifiscan 控制参数结构体 更多...
struct | luat_wifisacn_get_info
wifiscan 扫描结果 更多...

宏定义

#define | LUAT_MAX_WIFI_BSSID_NUM 10
bssid 的最大数量 更多...
#define | LUAT_MAX_SSID_HEX_LENGTH 32
SSID 的最大长度 更多...

类型定义

typedef enum luat_wifiscan_set_priority | luat_wifiscan_set_priority_t
wifiscan 扫描的优先级 更多...
typedef struct luat_wifiscan_set_info | luat_wifiscan_set_info_t
wifiscan 控制参数结构体 更多...
typedef struct luat_wifisacn_get_info | luat_wifisacn_get_info_t
wifiscan 扫描结果 更多...

枚举

enum luat_wifiscan_set_priority { LUAT_WIFISCAN_DATA_PERFERRD =0 , LUAT_WIFISCAN_WIFI_PERFERRD }
wifiscan 扫描的优先级 更多...

函数

int32_t luat_get_wifiscan_cell_info (luat_wifiscan_set_info_t *set_info, luat_wifisacn_get_info_t *get_info)
获取wifiscan 的信息 更多...

详细描述

宏定义说明

◆ LUAT_MAX_SSID_HEX_LENGTH

#define LUAT_MAX_SSID_HEX_LENGTH 32

SSID 的最大长度

在文件 luat_wifiscan.h 第 31 行定义.

◆ LUAT_MAX_WIFI_BSSID_NUM

#define LUAT_MAX_WIFI_BSSID_NUM 10

bssid 的最大数量

在文件 luat_wifiscan.h 第 30 行定义.

类型定义说明

◆ luat_wifisacn_get_info_t

typedef struct luat_wifisacn_get_info luat_wifisacn_get_info_t

wifiscan 扫描结果

◆ luat_wifiscan_set_info_t

typedef struct luat_wifiscan_set_info luat_wifiscan_set_info_t

wifiscan 控制参数结构体

◆ luat_wifiscan_set_priority_t

typedef enum luat_wifiscan_set_priority luat_wifiscan_set_priority_t

wifiscan 扫描的优先级

枚举类型说明

◆ luat_wifiscan_set_priority

enum luat_wifiscan_set_priority

wifiscan 扫描的优先级

枚举值
LUAT_WIFISCAN_DATA_PERFERRD | 数据优先
LUAT_WIFISCAN_WIFI_PERFERRD |

在文件 luat_wifiscan.h 第 13 行定义.

函数说明

◆ luat_get_wifiscan_cell_info()

int32_t luat_get_wifiscan_cell_info | ( | luat_wifiscan_set_info_t * | set_info,
 |  | luat_wifisacn_get_info_t * | get_info
 | ) |  |

获取wifiscan 的信息

参数
set_info[in] | 设置控制wifiscan的参数
get_info[out] | wifiscan 扫描结果
返回
int =0成功，其他失败


Luat_soc_sdk: luat_wifiscan_set_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_wifiscan_set_info结构体 参考
wifiscan扫描接口

wifiscan 控制参数结构体 更多...

#include <luat_wifiscan.h>

成员变量

int | maxTimeOut
uint8_t | round
uint8_t | maxBssidNum
uint8_t | scanTimeOut
uint8_t | wifiPriority

详细描述

wifiscan 控制参数结构体

在文件 luat_wifiscan.h 第 20 行定义.

结构体成员变量说明

◆ maxBssidNum

uint8_t maxBssidNum

在文件 luat_wifiscan.h 第 24 行定义.

◆ maxTimeOut

int maxTimeOut

在文件 luat_wifiscan.h 第 22 行定义.

◆ round

uint8_t round

在文件 luat_wifiscan.h 第 23 行定义.

◆ scanTimeOut

uint8_t scanTimeOut

在文件 luat_wifiscan.h 第 25 行定义.

◆ wifiPriority

uint8_t wifiPriority

在文件 luat_wifiscan.h 第 26 行定义.


Luat_soc_sdk: luat_wifisacn_get_info结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_wifisacn_get_info结构体 参考
wifiscan扫描接口

wifiscan 扫描结果 更多...

#include <luat_wifiscan.h>

成员变量

uint8_t | bssidNum
uint8_t | rsvd
uint8_t | ssidHexLen [LUAT_MAX_WIFI_BSSID_NUM]
uint8_t | ssidHex [LUAT_MAX_WIFI_BSSID_NUM][LUAT_MAX_SSID_HEX_LENGTH]
int8_t | rssi [LUAT_MAX_WIFI_BSSID_NUM]
uint8_t | channel [LUAT_MAX_WIFI_BSSID_NUM]
uint8_t | bssid [LUAT_MAX_WIFI_BSSID_NUM][6]

详细描述

wifiscan 扫描结果

在文件 luat_wifiscan.h 第 34 行定义.

结构体成员变量说明

◆ bssid

uint8_t bssid[LUAT_MAX_WIFI_BSSID_NUM][6]

mac address is fixed to 6 digits

在文件 luat_wifiscan.h 第 42 行定义.

◆ bssidNum

uint8_t bssidNum

wifi 个数

在文件 luat_wifiscan.h 第 36 行定义.

◆ channel

uint8_t channel[LUAT_MAX_WIFI_BSSID_NUM]

record channel index of bssid, 2412MHz ~ 2472MHz correspoding to 1 ~ 13

在文件 luat_wifiscan.h 第 41 行定义.

◆ rssi

int8_t rssi[LUAT_MAX_WIFI_BSSID_NUM]

rssi

在文件 luat_wifiscan.h 第 40 行定义.

◆ rsvd

uint8_t rsvd

在文件 luat_wifiscan.h 第 37 行定义.

◆ ssidHex

uint8_t ssidHex[LUAT_MAX_WIFI_BSSID_NUM][LUAT_MAX_SSID_HEX_LENGTH]

SSID name

在文件 luat_wifiscan.h 第 39 行定义.

◆ ssidHexLen

uint8_t ssidHexLen[LUAT_MAX_WIFI_BSSID_NUM]

SSID name 的长度

在文件 luat_wifiscan.h 第 38 行定义.


Luat_soc_sdk: 音频接口

结构体 | 枚举 | 函数
音频接口

结构体

struct luat_audio_play_info_t
audio播放控制参数 更多...

枚举

enum {
LUAT_MULTIMEDIA_CB_AUDIO_DECODE_START = MULTIMEDIA_CB_AUDIO_DECODE_START , LUAT_MULTIMEDIA_CB_AUDIO_OUTPUT_START , LUAT_MULTIMEDIA_CB_AUDIO_NEED_DATA , LUAT_MULTIMEDIA_CB_AUDIO_DONE ,
LUAT_MULTIMEDIA_CB_DECODE_DONE , LUAT_MULTIMEDIA_CB_TTS_INIT , LUAT_MULTIMEDIA_CB_TTS_DONE
}

函数

void | luat_audio_play_file_default_fun (void *param)
void | luat_audio_play_tts_default_fun (void *param)
void | luat_audio_play_global_init (audio_play_event_cb_fun_t event_cb, audio_play_data_cb_fun_t data_cb, audio_play_default_fun_t play_file_fun, audio_play_default_fun_t play_tts_fun, void *user_param)
音频播放初始化，可以选择是否启用TTS，文件播放功能，用来节省flash空间 更多...
int | luat_audio_play_multi_files (uint32_t multimedia_id, audio_play_info_t info[], uint32_t files_num)
播放指定数量的文件或者ROM数组（文件数据直接写成数组形式） 更多...
uint8_t | luat_audio_play_is_finish (uint32_t multimedia_id)
是否播放完全部数据 更多...
int | luat_audio_play_stop (uint32_t multimedia_id)
强制停止播放文件，但是不会停止已经输出到底层驱动的数据播放 更多...
int | luat_audio_play_pause_raw (uint32_t multimedia_id, uint8_t is_pause)
暂停/恢复播放 更多...
int | luat_audio_play_get_last_error (uint32_t multimedia_id)
获取上一次播放结果，在MULTIMEDIA_CB_AUDIO_DONE回调时调用最佳 更多...
int | luat_audio_play_write_blank_raw (uint32_t multimedia_id, uint8_t cnt, uint8_t add_font)
在开头或者结尾插入多段空白数据，每段数据约100ms 更多...
int | luat_audio_play_start_raw (uint32_t multimedia_id, uint8_t audio_format, uint8_t num_channels, uint32_t sample_rate, uint8_t bits_per_sample, uint8_t is_signed)
立刻初始化播放未编码的原始音频数据流 更多...
int | luat_audio_play_write_raw (uint32_t multimedia_id, uint8_t *data, uint32_t len)
向底层驱动传入一段原始音频数据 更多...
int | luat_audio_play_stop_raw (uint32_t multimedia_id)
强制停止所有播放，同时底层驱动也会停止输出，不要用于播放文件的结束 更多...
int | luat_audio_play_tts_text (uint32_t multimedia_id, void *text, uint32_t text_bytes)
编码并播放一段文字 更多...
int | luat_audio_play_tts_set_param (uint32_t multimedia_id, uint32_t param_id, uint32_t param_value)
在收到MULTIMEDIA_CB_TTS_INIT回调时，可以设置TTS参数，等同于ivTTS_SetParam 更多...
void | luat_audio_play_tts_set_resource (void *address, void *sdk_id, void *tts_resource_read_fun)
设置TTS的资源和对应SDKID，TTS资源有很多种。 更多...

详细描述

枚举类型说明

◆ anonymous enum

anonymous enum
枚举值
LUAT_MULTIMEDIA_CB_AUDIO_DECODE_START | 开始解码文件
LUAT_MULTIMEDIA_CB_AUDIO_OUTPUT_START | 开始输出解码后的音数据
LUAT_MULTIMEDIA_CB_AUDIO_NEED_DATA | 底层驱动播放播放完一部分数据，需要更多数据
LUAT_MULTIMEDIA_CB_AUDIO_DONE | 底层驱动播放完全部数据了
LUAT_MULTIMEDIA_CB_DECODE_DONE | 音频解码完成
LUAT_MULTIMEDIA_CB_TTS_INIT | TTS做完了必要的初始化，用户可以通过audio_play_tts_set_param做个性化配置
LUAT_MULTIMEDIA_CB_TTS_DONE | TTS编码完成了。注意不是播放完成

在文件 luat_audio_play_ec618.h 第 43 行定义.

函数说明

◆ luat_audio_play_file_default_fun()

void luat_audio_play_file_default_fun ( void * param )

◆ luat_audio_play_get_last_error()

int luat_audio_play_get_last_error ( uint32_t multimedia_id )

获取上一次播放结果，在MULTIMEDIA_CB_AUDIO_DONE回调时调用最佳

参数
multimedia_id multimedia_id 多媒体通道，目前只有0
返回
int =0完整的播放完成，<0被用户停止了，>0 TTS失败，或者第几个音频文件解码失败（用户在play_info未设置了解码失败后继续，文件位置+1）

◆ luat_audio_play_global_init()

void luat_audio_play_global_init | ( | audio_play_event_cb_fun_t | event_cb,
 |  | audio_play_data_cb_fun_t | data_cb,
 |  | audio_play_default_fun_t | play_file_fun,
 |  | audio_play_default_fun_t | play_tts_fun,
 |  | void * | user_param
 | ) |  |

音频播放初始化，可以选择是否启用TTS，文件播放功能，用来节省flash空间

参数
event_cb | 播放时event回调函数
data_cb | 数据解码回调函数，如果是直接播放原始数据流就不会用到
play_file_fun | 播放文件的具体处理函数，选择luat_audio_play_file_default_fun进行处理，或者写NULL不启用播放文件的功能
play_tts_fun | 播放TTS的具体处理函数，选择luat_audio_play_tts_default_fun进行处理，或者写NULL不启用播放TTS的功能
user_param | 回调函数的用户参数

◆ luat_audio_play_is_finish()

uint8_t luat_audio_play_is_finish ( uint32_t multimedia_id )

是否播放完全部数据

参数
multimedia_id multimedia_id 多媒体通道，目前只有0
返回
uint8_t =1是，=0没有

◆ luat_audio_play_multi_files()

int luat_audio_play_multi_files | ( | uint32_t | multimedia_id,
 |  | audio_play_info_t | info[],
 |  | uint32_t | files_num
 | ) |  |

播放指定数量的文件或者ROM数组（文件数据直接写成数组形式）

参数
multimedia_id | 多媒体通道，目前只有0
info | 文件信息，文件路径或者ROM信息
files_num | 文件数量
返回
int =0成功，其他失败

◆ luat_audio_play_pause_raw()

int luat_audio_play_pause_raw | ( | uint32_t | multimedia_id,
 |  | uint8_t | is_pause
 | ) |  |

暂停/恢复播放

参数
multimedia_id | multimedia_id 多媒体通道，目前只有0
is_pause | 0恢复，其他暂停
返回
int =0成功，其他失败

◆ luat_audio_play_start_raw()

int luat_audio_play_start_raw | ( | uint32_t | multimedia_id,
 |  | uint8_t | audio_format,
 |  | uint8_t | num_channels,
 |  | uint32_t | sample_rate,
 |  | uint8_t | bits_per_sample,
 |  | uint8_t | is_signed
 | ) |  |

立刻初始化播放未编码的原始音频数据流

参数
multimedia_id | multimedia_id 多媒体通道，目前只有0
audio_format | 音频数据格式，目前只支持PCM，即需要手动解码
num_channels | 声道数，目前只能1或2
sample_rate | 采样率，注意只有8K,16K,32K,48K,96K,22.05K,44.1K这些能被支持
bits_per_sample | 量化bit，只能是16
is_signed | 量化数据是否带符号，只能是1
返回
int =0成功，其他失败

◆ luat_audio_play_stop()

int luat_audio_play_stop ( uint32_t multimedia_id )

强制停止播放文件，但是不会停止已经输出到底层驱动的数据播放

参数
multimedia_id multimedia_id 多媒体通道，目前只有0
返回
int =0成功，其他失败

◆ luat_audio_play_stop_raw()

int luat_audio_play_stop_raw ( uint32_t multimedia_id )

强制停止所有播放，同时底层驱动也会停止输出，不要用于播放文件的结束

参数
multimedia_id multimedia_id 多媒体通道，目前只有0
返回
int =0成功，其他失败

◆ luat_audio_play_tts_default_fun()

void luat_audio_play_tts_default_fun ( void * param )

◆ luat_audio_play_tts_set_param()

int luat_audio_play_tts_set_param | ( | uint32_t | multimedia_id,
 |  | uint32_t | param_id,
 |  | uint32_t | param_value
 | ) |  |

在收到MULTIMEDIA_CB_TTS_INIT回调时，可以设置TTS参数，等同于ivTTS_SetParam

参数
multimedia_id | multimedia_id 多媒体通道，目前只有0
param_id | 见ivTTS_PARAM_XXX
param_value | param_id对应的value
返回
int =0成功，其他失败

◆ luat_audio_play_tts_set_resource()

void luat_audio_play_tts_set_resource | ( | void * | address,
 |  | void * | sdk_id,
 |  | void * | tts_resource_read_fun
 | ) |  |

设置TTS的资源和对应SDKID，TTS资源有很多种。

参数
address | 资源的flash或者ram地址
sdk_id | 本质上就是传入AISOUND_SDK_USERID
tts_resource_read_fun | 读取资源文件的函数，如果是NULL，则使用默认函数，即单纯的拷贝，如果用自己的函数，必须按照ivCBReadResExt定义

◆ luat_audio_play_tts_text()

int luat_audio_play_tts_text | ( | uint32_t | multimedia_id,
 |  | void * | text,
 |  | uint32_t | text_bytes
 | ) |  |

编码并播放一段文字

参数
multimedia_id | multimedia_id 多媒体通道，目前只有0
text | 文字数据
text_bytes | 文字数据长度
返回
int =0成功，其他失败

◆ luat_audio_play_write_blank_raw()

int luat_audio_play_write_blank_raw | ( | uint32_t | multimedia_id,
 |  | uint8_t | cnt,
 |  | uint8_t | add_font
 | ) |  |

在开头或者结尾插入多段空白数据，每段数据约100ms

参数
multimedia_id | multimedia_id 多媒体通道，目前只有0
cnt | 段数
add_font | 是否加载到开头位置 1是，0否
返回
int =0成功，其他失败

◆ luat_audio_play_write_raw()

int luat_audio_play_write_raw | ( | uint32_t | multimedia_id,
 |  | uint8_t * | data,
 |  | uint32_t | len
 | ) |  |

向底层驱动传入一段原始音频数据

参数
multimedia_id | multimedia_id 多媒体通道，目前只有0
data | 原始音频数据
len | 原始音频数据长度
返回
int =0成功，其他失败


Luat_soc_sdk: luat_audio_play_info_t结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_audio_play_info_t结构体 参考
音频接口

audio播放控制参数 更多...

#include <luat_audio_play_ec618.h>

成员变量

char * | path
uint32_t | address
uint32_t | rom_data_len
uint8_t | fail_continue
uint8_t | dummy [3]

详细描述

audio播放控制参数

在文件 luat_audio_play_ec618.h 第 34 行定义.

结构体成员变量说明

◆ address

uint32_t address

ROM数组地址

在文件 luat_audio_play_ec618.h 第 37 行定义.

◆ dummy

uint8_t dummy[3]

在文件 luat_audio_play_ec618.h 第 40 行定义.

◆ fail_continue

uint8_t fail_continue

如果解码失败是否跳过继续下一个，如果是最后一个文件，强制停止并设置错误信息

在文件 luat_audio_play_ec618.h 第 39 行定义.

◆ path

char* path

文件路径，如果为NULL，则表示是ROM数组

在文件 luat_audio_play_ec618.h 第 36 行定义.

◆ rom_data_len

uint32_t rom_data_len

ROM数组长度

在文件 luat_audio_play_ec618.h 第 38 行定义.


Luat_soc_sdk: 远程升级接口

类型定义 | 函数
远程升级接口

类型定义

typedef void * luat_fota_img_proc_ctx_ptr
升级包数据的上下文结构体 更多...

函数

luat_fota_img_proc_ctx_ptr | luat_fota_init (void)
用于初始化fota,创建写入升级包数据的上下文结构体 更多...
int | luat_fota_write (luat_fota_img_proc_ctx_ptr context, void *data, int len)
用于向本地 Flash 中写入升级包数据 更多...
int | luat_fota_done (luat_fota_img_proc_ctx_ptr context)
用于结束升级包下载 更多...

详细描述

类型定义说明

◆ luat_fota_img_proc_ctx_ptr

typedef void* luat_fota_img_proc_ctx_ptr

升级包数据的上下文结构体

在文件 luat_fota.h 第 34 行定义.

函数说明

◆ luat_fota_done()

int luat_fota_done ( luat_fota_img_proc_ctx_ptr context )

用于结束升级包下载

参数
context - 上下文结构体指针
返回
int =0成功，其他失败

◆ luat_fota_init()

luat_fota_img_proc_ctx_ptr luat_fota_init ( void )

用于初始化fota,创建写入升级包数据的上下文结构体

参数

return luat_fota_img_proc_ctx_ptr

◆ luat_fota_write()

int luat_fota_write | ( | luat_fota_img_proc_ctx_ptr | context,
 |  | void * | data,
 |  | int | len
 | ) |  |

用于向本地 Flash 中写入升级包数据

参数
context | - 上下文结构体指针
data | - 升级包数据地址
len | - 升级包数据长度。 单位：字节
返回
int =0成功，其他失败；


Luat_soc_sdk: 结构体

  • 结构体索引
  • 成员变量
结构体
这里列出了所有结构体，并附带简要说明:
C luat_adc_ctrl_param | ADC控制参数
C luat_audio_play_info_t | Audio播放控制参数
C luat_event_t | Event参数
C luat_fs_conf |
C luat_fs_dirent |
C luat_fs_info |
C luat_gpio | GPIO控制参数
C luat_gpio_cfg | GPIO控制参数
C luat_mobile_cell_info |
C luat_mobile_gsm_cell_info |
C luat_mobile_gsm_service_cell_info |
C luat_mobile_gw_signal_strength_info |
C luat_mobile_lte_cell_info |
C luat_mobile_lte_service_cell_info |
C luat_mobile_lte_signal_strength_info |
C luat_mobile_signal_strength_info |
C luat_pm_pwrkey_cfg_t | Powerkey配置参数
C luat_pm_wakeup_pad_cfg | WakeupPad配置参数
C luat_pwm_conf | PWM控制参数
C LUAT_SMS_MAIN_CFG_T |
C LUAT_SMS_RECV_MSG_DCS_T |
C LUAT_SMS_RECV_MSG_T |
C LUAT_SMS_RECV_MSG_TIME_T |
C luat_spi | SPI功能配置
C luat_uart | Luat_uart
C luat_uart_ctrl_param | 串口控制参数
C luat_wifisacn_get_info | Wifiscan 扫描结果
C luat_wifiscan_set_info | Wifiscan 控制参数结构体


Luat_soc_sdk: luat_event_t结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_event_t结构体 参考

event参数 更多...

#include <luat_rtos_legacy.h>

成员变量

uint32_t | id
uint32_t | param1
uint32_t | param2
uint32_t | param3

详细描述

event参数

在文件 luat_rtos_legacy.h 第 29 行定义.

结构体成员变量说明

◆ id

uint32_t id

在文件 luat_rtos_legacy.h 第 31 行定义.

◆ param1

uint32_t param1

在文件 luat_rtos_legacy.h 第 32 行定义.

◆ param2

uint32_t param2

在文件 luat_rtos_legacy.h 第 33 行定义.

◆ param3

uint32_t param3

在文件 luat_rtos_legacy.h 第 34 行定义.


Luat_soc_sdk: luat_gpio结构体 参考

  • 结构体索引
  • 成员变量
成员变量
luat_gpio结构体 参考

GPIO控制参数 更多...

#include <luat_gpio_legacy.h>

成员变量

int | pin
int | mode
int | pull
int | irq
int | lua_ref
luat_gpio_irq_cb | irq_cb
void * | irq_args

详细描述

GPIO控制参数

在文件 luat_gpio_legacy.h 第 57 行定义.

结构体成员变量说明

◆ irq

int irq

GPIO中断模式

在文件 luat_gpio_legacy.h 第 62 行定义.

◆ irq_args

void* irq_args

在文件 luat_gpio_legacy.h 第 65 行定义.

◆ irq_cb

luat_gpio_irq_cb irq_cb

中断处理函数

在文件 luat_gpio_legacy.h 第 64 行定义.

◆ lua_ref

int lua_ref

在文件 luat_gpio_legacy.h 第 63 行定义.

◆ mode

int mode

GPIO模式

在文件 luat_gpio_legacy.h 第 60 行定义.

◆ pin

int pin

引脚

在文件 luat_gpio_legacy.h 第 59 行定义.

◆ pull

int pull

GPIO上下拉模式

在文件 luat_gpio_legacy.h 第 61 行定义.


Luat_soc_sdk: LUAT_SMS_MAIN_CFG_T结构体 参考

  • 结构体索引
  • 成员变量
成员变量
LUAT_SMS_MAIN_CFG_T结构体 参考

#include <luat_sms.h>

成员变量

LUAT_SMS_HANDLE_CB | cb
LUAT_SMS_HANDLE_SEND_CB | send_cb

详细描述

在文件 luat_sms.h 第 66 行定义.


Luat_soc_sdk: LUAT_SMS_RECV_MSG_DCS_T结构体 参考

  • 结构体索引
  • 成员变量
成员变量
LUAT_SMS_RECV_MSG_DCS_T结构体 参考

#include <luat_sms.h>

成员变量

uint8_t | type
uint8_t | msg_class
uint8_t | alpha_bet
uint8_t | indication
uint8_t | dcs

详细描述

在文件 luat_sms.h 第 84 行定义.


Luat_soc_sdk: LUAT_SMS_RECV_MSG_T结构体 参考

  • 结构体索引
  • 成员变量
成员变量
LUAT_SMS_RECV_MSG_T结构体 参考

#include <luat_sms.h>

成员变量

uint16_t | pdu_length
uint16_t | sms_length
LUAT_SMS_RECV_MSG_TIME_T time
LUAT_SMS_RECV_MSG_DCS_T dcs_info
char | pdu_data [LUAT_SMS_MAX_TXT_SIZE+1]
uint8_t | sms_buffer [LUAT_SMS_MAX_TXT_SIZE+1]
uint8_t | sc_address [LUAT_MSG_MAX_ADDR_LEN+1]
uint8_t | phone_address [LUAT_MSG_MAX_ADDR_LEN+1]
uint8_t | refNum
uint8_t | maxNum
uint8_t | seqNum

详细描述

在文件 luat_sms.h 第 94 行定义.


Luat_soc_sdk: LUAT_SMS_RECV_MSG_TIME_T结构体 参考

  • 结构体索引
  • 成员变量
成员变量
LUAT_SMS_RECV_MSG_TIME_T结构体 参考

#include <luat_sms.h>

成员变量

uint8_t | year
uint8_t | month
uint8_t | day
uint8_t | hour
uint8_t | minute
uint8_t | second
uint8_t | tz
uint8_t | tz_sign

详细描述

在文件 luat_sms.h 第 72 行定义.


Luat_soc_sdk: 结构体索引

  • 结构体索引
  • 成员变量
结构体索引
L
L
luat_adc_ctrl_param
luat_audio_play_info_t
luat_event_t
luat_fs_conf
luat_fs_dirent
luat_fs_info
luat_gpio
luat_gpio_cfg
luat_mobile_cell_info
luat_mobile_gsm_cell_info
luat_mobile_gsm_service_cell_info
luat_mobile_gw_signal_strength_info
luat_mobile_lte_cell_info
luat_mobile_lte_service_cell_info
luat_mobile_lte_signal_strength_info
luat_mobile_signal_strength_info
luat_pm_pwrkey_cfg_t
luat_pm_wakeup_pad_cfg
luat_pwm_conf
LUAT_SMS_MAIN_CFG_T
LUAT_SMS_RECV_MSG_DCS_T
LUAT_SMS_RECV_MSG_T
LUAT_SMS_RECV_MSG_TIME_T
luat_spi
luat_uart
luat_uart_ctrl_param
luat_wifisacn_get_info
luat_wifiscan_set_info


Luat_soc_sdk: 成员变量

  • 结构体索引
  • 成员变量
  • 全部
  • 变量
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • w
  • y
这里列出了所有结构体和联合体的成员变量，并附带结构体或联合的详细说明:

- a -

  • address : luat_audio_play_info_t
  • alpha_bet : LUAT_SMS_RECV_MSG_DCS_T
  • alt_fun : luat_gpio_cfg
  • arfcn : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info

- b -

  • band : luat_mobile_lte_service_cell_info
  • bandrate : luat_spi
  • baud_rate : luat_uart
  • bit_dict : luat_spi
  • bit_order : luat_uart
  • bitErrorRate : luat_mobile_gw_signal_strength_info
  • block_size : luat_fs_info
  • block_used : luat_fs_info
  • bsic : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info
  • bssid : luat_wifisacn_get_info
  • bssidNum : luat_wifisacn_get_info
  • bufsz : luat_uart
  • busname : luat_fs_conf

- c -

  • cb : LUAT_SMS_MAIN_CFG_T
  • channel : luat_pwm_conf, luat_wifisacn_get_info
  • cid : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • CPHA : luat_spi
  • CPOL : luat_spi
  • cs : luat_spi

- d -

  • d_name : luat_fs_dirent
  • d_type : luat_fs_dirent
  • data_bits : luat_uart
  • dataw : luat_spi
  • day : LUAT_SMS_RECV_MSG_TIME_T
  • dcs : LUAT_SMS_RECV_MSG_DCS_T
  • dcs_info : LUAT_SMS_RECV_MSG_T
  • delay : luat_uart
  • dlbandwidth : luat_mobile_lte_service_cell_info
  • dummy : luat_audio_play_info_t

- e -

  • earfcn : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • ecno : luat_mobile_gw_signal_strength_info

- f -

  • fail_continue : luat_audio_play_info_t
  • filesystem : luat_fs_conf, luat_fs_info

- g -

  • gsm_info : luat_mobile_cell_info
  • gsm_info_valid : luat_mobile_cell_info
  • gsm_neighbor_info_num : luat_mobile_cell_info
  • gsm_service_info : luat_mobile_cell_info
  • gw_signal_strength : luat_mobile_signal_strength_info

- h -

  • hour : LUAT_SMS_RECV_MSG_TIME_T

- i -

  • id : luat_event_t, luat_spi, luat_uart
  • indication : LUAT_SMS_RECV_MSG_DCS_T
  • irq : luat_gpio
  • irq_args : luat_gpio, luat_gpio_cfg
  • irq_cb : luat_gpio, luat_gpio_cfg
  • irq_type : luat_gpio_cfg
  • is_tdd : luat_mobile_lte_service_cell_info

- l -

  • lac : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info
  • long_press_timeout : luat_pm_pwrkey_cfg_t
  • lte_info : luat_mobile_cell_info
  • lte_info_valid : luat_mobile_cell_info
  • lte_neighbor_info_num : luat_mobile_cell_info
  • lte_service_info : luat_mobile_cell_info
  • lte_signal_strength : luat_mobile_signal_strength_info
  • lua_ref : luat_gpio
  • luat_mobile_gw_signal_strength_vaild : luat_mobile_signal_strength_info
  • luat_mobile_lte_signal_strength_vaild : luat_mobile_signal_strength_info

- m -

  • master : luat_spi
  • maxBssidNum : luat_wifiscan_set_info
  • maxNum : LUAT_SMS_RECV_MSG_T
  • maxTimeOut : luat_wifiscan_set_info
  • mcc : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • minute : LUAT_SMS_RECV_MSG_TIME_T
  • mnc : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • mode : luat_gpio, luat_gpio_cfg, luat_spi
  • month : LUAT_SMS_RECV_MSG_TIME_T
  • mount_point : luat_fs_conf
  • msg_class : LUAT_SMS_RECV_MSG_DCS_T

- n -

  • neg_edge_enable : luat_pm_wakeup_pad_cfg

- o -

  • output_level : luat_gpio_cfg

- p -

  • param1 : luat_event_t
  • param2 : luat_event_t
  • param3 : luat_event_t
  • parity : luat_uart
  • path : luat_audio_play_info_t
  • pci : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • pdu_data : LUAT_SMS_RECV_MSG_T
  • pdu_length : LUAT_SMS_RECV_MSG_T
  • period : luat_pwm_conf
  • phone_address : LUAT_SMS_RECV_MSG_T
  • pin : luat_gpio, luat_gpio_cfg
  • pin485 : luat_uart
  • pnum : luat_pwm_conf
  • pos_edge_enable : luat_pm_wakeup_pad_cfg
  • precision : luat_pwm_conf
  • pull : luat_gpio, luat_gpio_cfg
  • pull_down_enable : luat_pm_wakeup_pad_cfg
  • pull_up_enable : luat_pm_wakeup_pad_cfg
  • pulse : luat_pwm_conf
  • pwroff_timeout : luat_pm_pwrkey_cfg_t

- r -

  • range : luat_adc_ctrl_param
  • recv_callback_fun : luat_uart_ctrl_param
  • refNum : LUAT_SMS_RECV_MSG_T
  • repeat_timeout : luat_pm_pwrkey_cfg_t
  • rom_data_len : luat_audio_play_info_t
  • round : luat_wifiscan_set_info
  • rscp : luat_mobile_gw_signal_strength_info
  • rsrp : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info
  • rsrq : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info
  • rssi : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_gw_signal_strength_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info, luat_wifisacn_get_info
  • rsvd : luat_wifisacn_get_info
  • rx_level : luat_uart

- s -

  • sc_address : LUAT_SMS_RECV_MSG_T
  • scanTimeOut : luat_wifiscan_set_info
  • second : LUAT_SMS_RECV_MSG_TIME_T
  • send_cb : LUAT_SMS_MAIN_CFG_T
  • sent_callback_fun : luat_uart_ctrl_param
  • seqNum : LUAT_SMS_RECV_MSG_T
  • sms_buffer : LUAT_SMS_RECV_MSG_T
  • sms_length : LUAT_SMS_RECV_MSG_T
  • snr : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info
  • ssidHex : luat_wifisacn_get_info
  • ssidHexLen : luat_wifisacn_get_info
  • stop_bits : luat_uart

- t -

  • tac : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • time : LUAT_SMS_RECV_MSG_T
  • total_block : luat_fs_info
  • type : luat_fs_conf, luat_fs_info, LUAT_SMS_RECV_MSG_DCS_T
  • tz : LUAT_SMS_RECV_MSG_TIME_T
  • tz_sign : LUAT_SMS_RECV_MSG_TIME_T

- u -

  • ulbandwidth : luat_mobile_lte_service_cell_info
  • userdata : luat_adc_ctrl_param

- w -

  • wifiPriority : luat_wifiscan_set_info

- y -

  • year : LUAT_SMS_RECV_MSG_TIME_T


Luat_soc_sdk: 成员变量 - 变量

  • 结构体索引
  • 成员变量
  • 全部
  • 变量
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • w
  • y

- a -

  • address : luat_audio_play_info_t
  • alpha_bet : LUAT_SMS_RECV_MSG_DCS_T
  • alt_fun : luat_gpio_cfg
  • arfcn : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info

- b -

  • band : luat_mobile_lte_service_cell_info
  • bandrate : luat_spi
  • baud_rate : luat_uart
  • bit_dict : luat_spi
  • bit_order : luat_uart
  • bitErrorRate : luat_mobile_gw_signal_strength_info
  • block_size : luat_fs_info
  • block_used : luat_fs_info
  • bsic : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info
  • bssid : luat_wifisacn_get_info
  • bssidNum : luat_wifisacn_get_info
  • bufsz : luat_uart
  • busname : luat_fs_conf

- c -

  • cb : LUAT_SMS_MAIN_CFG_T
  • channel : luat_pwm_conf, luat_wifisacn_get_info
  • cid : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • CPHA : luat_spi
  • CPOL : luat_spi
  • cs : luat_spi

- d -

  • d_name : luat_fs_dirent
  • d_type : luat_fs_dirent
  • data_bits : luat_uart
  • dataw : luat_spi
  • day : LUAT_SMS_RECV_MSG_TIME_T
  • dcs : LUAT_SMS_RECV_MSG_DCS_T
  • dcs_info : LUAT_SMS_RECV_MSG_T
  • delay : luat_uart
  • dlbandwidth : luat_mobile_lte_service_cell_info
  • dummy : luat_audio_play_info_t

- e -

  • earfcn : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • ecno : luat_mobile_gw_signal_strength_info

- f -

  • fail_continue : luat_audio_play_info_t
  • filesystem : luat_fs_conf, luat_fs_info

- g -

  • gsm_info : luat_mobile_cell_info
  • gsm_info_valid : luat_mobile_cell_info
  • gsm_neighbor_info_num : luat_mobile_cell_info
  • gsm_service_info : luat_mobile_cell_info
  • gw_signal_strength : luat_mobile_signal_strength_info

- h -

  • hour : LUAT_SMS_RECV_MSG_TIME_T

- i -

  • id : luat_event_t, luat_spi, luat_uart
  • indication : LUAT_SMS_RECV_MSG_DCS_T
  • irq : luat_gpio
  • irq_args : luat_gpio, luat_gpio_cfg
  • irq_cb : luat_gpio, luat_gpio_cfg
  • irq_type : luat_gpio_cfg
  • is_tdd : luat_mobile_lte_service_cell_info

- l -

  • lac : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info
  • long_press_timeout : luat_pm_pwrkey_cfg_t
  • lte_info : luat_mobile_cell_info
  • lte_info_valid : luat_mobile_cell_info
  • lte_neighbor_info_num : luat_mobile_cell_info
  • lte_service_info : luat_mobile_cell_info
  • lte_signal_strength : luat_mobile_signal_strength_info
  • lua_ref : luat_gpio
  • luat_mobile_gw_signal_strength_vaild : luat_mobile_signal_strength_info
  • luat_mobile_lte_signal_strength_vaild : luat_mobile_signal_strength_info

- m -

  • master : luat_spi
  • maxBssidNum : luat_wifiscan_set_info
  • maxNum : LUAT_SMS_RECV_MSG_T
  • maxTimeOut : luat_wifiscan_set_info
  • mcc : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • minute : LUAT_SMS_RECV_MSG_TIME_T
  • mnc : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • mode : luat_gpio, luat_gpio_cfg, luat_spi
  • month : LUAT_SMS_RECV_MSG_TIME_T
  • mount_point : luat_fs_conf
  • msg_class : LUAT_SMS_RECV_MSG_DCS_T

- n -

  • neg_edge_enable : luat_pm_wakeup_pad_cfg

- o -

  • output_level : luat_gpio_cfg

- p -

  • param1 : luat_event_t
  • param2 : luat_event_t
  • param3 : luat_event_t
  • parity : luat_uart
  • path : luat_audio_play_info_t
  • pci : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • pdu_data : LUAT_SMS_RECV_MSG_T
  • pdu_length : LUAT_SMS_RECV_MSG_T
  • period : luat_pwm_conf
  • phone_address : LUAT_SMS_RECV_MSG_T
  • pin : luat_gpio, luat_gpio_cfg
  • pin485 : luat_uart
  • pnum : luat_pwm_conf
  • pos_edge_enable : luat_pm_wakeup_pad_cfg
  • precision : luat_pwm_conf
  • pull : luat_gpio, luat_gpio_cfg
  • pull_down_enable : luat_pm_wakeup_pad_cfg
  • pull_up_enable : luat_pm_wakeup_pad_cfg
  • pulse : luat_pwm_conf
  • pwroff_timeout : luat_pm_pwrkey_cfg_t

- r -

  • range : luat_adc_ctrl_param
  • recv_callback_fun : luat_uart_ctrl_param
  • refNum : LUAT_SMS_RECV_MSG_T
  • repeat_timeout : luat_pm_pwrkey_cfg_t
  • rom_data_len : luat_audio_play_info_t
  • round : luat_wifiscan_set_info
  • rscp : luat_mobile_gw_signal_strength_info
  • rsrp : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info
  • rsrq : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info
  • rssi : luat_mobile_gsm_cell_info, luat_mobile_gsm_service_cell_info, luat_mobile_gw_signal_strength_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info, luat_wifisacn_get_info
  • rsvd : luat_wifisacn_get_info
  • rx_level : luat_uart

- s -

  • sc_address : LUAT_SMS_RECV_MSG_T
  • scanTimeOut : luat_wifiscan_set_info
  • second : LUAT_SMS_RECV_MSG_TIME_T
  • send_cb : LUAT_SMS_MAIN_CFG_T
  • sent_callback_fun : luat_uart_ctrl_param
  • seqNum : LUAT_SMS_RECV_MSG_T
  • sms_buffer : LUAT_SMS_RECV_MSG_T
  • sms_length : LUAT_SMS_RECV_MSG_T
  • snr : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info, luat_mobile_lte_signal_strength_info
  • ssidHex : luat_wifisacn_get_info
  • ssidHexLen : luat_wifisacn_get_info
  • stop_bits : luat_uart

- t -

  • tac : luat_mobile_lte_cell_info, luat_mobile_lte_service_cell_info
  • time : LUAT_SMS_RECV_MSG_T
  • total_block : luat_fs_info
  • type : luat_fs_conf, luat_fs_info, LUAT_SMS_RECV_MSG_DCS_T
  • tz : LUAT_SMS_RECV_MSG_TIME_T
  • tz_sign : LUAT_SMS_RECV_MSG_TIME_T

- u -

  • ulbandwidth : luat_mobile_lte_service_cell_info
  • userdata : luat_adc_ctrl_param

- w -

  • wifiPriority : luat_wifiscan_set_info

- y -

  • year : LUAT_SMS_RECV_MSG_TIME_T


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/project/example_adc/src 目录参考

  • project
  • example_adc
  • src
src 目录参考

文件

文件 example_main.c [代码]


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/private_include 目录参考

  • interface
  • private_include
private_include 目录参考

文件

文件 | luat_audio_play_ec618.h [代码]
文件 | luat_fota.h [代码]
文件 | luat_i2s_ec618.h [代码]


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/project 目录参考

  • project
project 目录参考

目录

目录 example_adc


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface 目录参考

  • interface
interface 目录参考

目录

目录 | include
目录 | private_include


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/project/example_adc 目录参考

  • project
  • example_adc
example_adc 目录参考

目录

目录 src


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include 目录参考

  • interface
  • include
include 目录参考

文件

文件 | luat_adc.h [代码]
文件 | luat_adc_legacy.h [代码]
文件 | luat_crypto.h [代码]
文件 | luat_debug.h [代码]
文件 | luat_flash.h [代码]
文件 | luat_fs.h [代码]
文件 | luat_gpio.h [代码]
文件 | luat_gpio_legacy.h [代码]
文件 | luat_i2c.h [代码]
文件 | luat_i2c_legacy.h [代码]
文件 | luat_iconv.h [代码]
文件 | luat_irq.h [代码]
文件 | luat_kv.h [代码]
文件 | luat_mcu.h [代码]
文件 | luat_mem.h [代码]
文件 | luat_mobile.h [代码]
文件 | luat_otp.h [代码]
文件 | luat_pm.h [代码]
文件 | luat_pwm.h [代码]
文件 | luat_rtc.h [代码]
文件 | luat_rtos.h [代码]
文件 | luat_rtos_legacy.h [代码]
文件 | luat_sms.h [代码]
文件 | luat_spi.h [代码]
文件 | luat_spi_legacy.h [代码]
文件 | luat_uart.h [代码]
文件 | luat_uart_legacy.h [代码]
文件 | luat_wdt.h [代码]
文件 | luat_wifiscan.h [代码]


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/project/example_adc/src/example_main.c 源文件

  • project
  • example_adc
  • src
example_main.c
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21#include "common_api.h"
22#include "luat_rtos.h"
23#include "luat_debug.h"
24
25#include "luat_adc.h"
26
27 luat_rtos_task_handle adc_task_handle;
28
29static void task_test_adc(void *param)
30{
31 int val, val2;
32
33 // adc0和adc1的说明如下：
34 // 1、adc引脚允许输入的最大电压是3.4V
35 // 2、如果采用内部分压，外部不分压的方式，软件上通过调用luat_adc_ctrl接口来设置量程，支持1.2V、1.4V、1.6、1.9、2.4、2.7、3.2、3.8V几种量程；
36 // 3、如果采用外部分压，内部不分压的方式，软件上通过调用luat_adc_ctrl接口来设置量程为1.2V；
37 // 4、不建议同时启动内部分压和外部分压的方式，这样的误差会变大
38
39 // 外部输入电压，超过3.4v的话：
40 // 只能采用外部分压，内部不分压的方式，软件上通过调用luat_adc_ctrl接口来设置量程为1.2V；
41
42 // 外部输入电压，不超过3.4V的话：
43 // 1、可以采用外部分压，内部不分压的方式，软件上通过调用luat_adc_ctrl接口来设置量程为1.2V；
44 // 2、也可以采用内部分压，外部不分压的方式，软件上通过调用luat_adc_ctrl接口来设置量程，设置的量程大于等于实际输入的最大电压，选择最接近的量程即可；
45 // 从硬件成本考虑，推荐第2种；
46 // 从测量精确度来看，第2种方式，12bit表示设置的最大量程，最大量程/4096为测量精度；第1种方式，根据外部硬件电路，自行计算对比下；
47
48 // 内外部分压选择其中一种即可；不能外部分压时，才选择内部分压；
49 // 如果采用外部分压，建议一步到位，外部分压后输入电压在0.1-1.2V范围（内部使用直通模式，不再分压），越靠近1.2V越好，精度越高。
50 // 如果采用内部分压，在满足测量要求的前提下，配置的量程越靠近1.2V越好，精度越高。
51
52 // adc默认打开了内部分压，配置的量程为3.8V；
53 // 以下三行注释掉的代码设置adc0的量程为1.2V，关闭了内部分压；建议用户采用外部分压；
54 // 如果采用外部分压方式，用户可根据自己的需要打开以下三行代码；
55 // luat_adc_ctrl_param_t ctrl_param;
56 // ctrl_param.range = LUAT_ADC_AIO_RANGE_1_2;
57 // luat_adc_ctrl(0, LUAT_ADC_SET_GLOBAL_RANGE, ctrl_param);
58
59
60 // LUAT_ADC_CH_CPU和LUAT_ADC_CH_VBAT的说明如下：
61 // LUAT_ADC_CH_CPU被芯片内部用来检测温度，仅支持软件上open、read和close操作，用户不能做其他用途使用；
62 // LUAT_ADC_CH_VBAT被芯片内部用来检测VBAT电压，仅支持软件上open、read和close操作，用户不能做其他用途使用；
63
64 luat_adc_open(0 , NULL);
65 luat_adc_open(1 , NULL);
66 luat_adc_open(LUAT_ADC_CH_CPU, NULL);
67 luat_adc_open(LUAT_ADC_CH_VBAT, NULL);
68 while (1)
69 {
70 luat_rtos_task_sleep(1000);
71 luat_adc_read(0 , &val, &val2);
72 LUAT_DEBUG_PRINT("adc0: adc 原始值 %d, 电压 %d 微伏",val, val2);
73 luat_adc_read(1 , &val, &val2);
74 LUAT_DEBUG_PRINT("adc1: adc 原始值 %d, 电压 %d 微伏",val, val2);
75 luat_adc_read(LUAT_ADC_CH_CPU, &val, &val2);
76 LUAT_DEBUG_PRINT("temp: adc 原始值 %d, %d 摄氏度",val, val2);
77 luat_adc_read(LUAT_ADC_CH_VBAT, &val, &val2);
78 LUAT_DEBUG_PRINT("vbat: adc 原始值 %d, 电压 %d 毫伏",val, val2);
79 }
80
81}
82
83static void task_demo_adc(void)
84{
85 luat_rtos_task_create(&adc_task_handle, 1024, 20, "adc", task_test_adc, NULL, NULL);
86}
87
88INIT_TASK_EXPORT(task_demo_adc,"1");
89
90
91
LUAT_DEBUG_PRINT
#define LUAT_DEBUG_PRINT(fmt, argv...)
luat_debug_print宏定义为LUAT_DEBUG_PRINT
Definition: luat_debug.h:52
luat_adc_open
int luat_adc_open(int pin, void *args)
打开一个adc通道
luat_adc_read
int luat_adc_read(int pin, int *val, int *val2)
读取adc通道的值
luat_rtos_task_create
int luat_rtos_task_create(luat_rtos_task_handle *task_handle, uint32_t stack_size, uint8_t priority, const char *task_name, luat_rtos_task_entry task_fun, void *user_data, uint16_t event_cout)
创建一个可以带mailbox机制的task
luat_rtos_task_handle
void * luat_rtos_task_handle
定义task任务句柄
Definition: luat_rtos.h:55
luat_rtos_task_sleep
void luat_rtos_task_sleep(uint32_t ms)
task休眠一段时间


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_adc.h 源文件

  • interface
  • include
luat_adc.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef Luat_ADC_H
23#define Luat_ADC_H
24
25#include "luat_base.h"
26#include "luat_adc_legacy.h"
27
28#define LUAT_ADC_CH_CPU (-1)
29#define LUAT_ADC_CH_VBAT (-2)
30
47int luat_adc_open(int pin, void *args);
48
58int luat_adc_read(int pin, int *val, int *val2);
59
67int luat_adc_close(int pin);
68
72typedef enum LUAT_ADC_CTRL_CMD
73{
74 LUAT_ADC_SET_GLOBAL_RANGE,
75}LUAT_ADC_CTRL_CMD_E;
76
80typedef enum LUAT_ADC_RANGE
81{
82 LUAT_ADC_AIO_RANGE_1_2,
83 LUAT_ADC_AIO_RANGE_1_4,
84 LUAT_ADC_AIO_RANGE_1_6,
85 LUAT_ADC_AIO_RANGE_1_9,
86 LUAT_ADC_AIO_RANGE_2_4,
87 LUAT_ADC_AIO_RANGE_2_7,
88 LUAT_ADC_AIO_RANGE_3_2,
89 LUAT_ADC_AIO_RANGE_3_8,
90 // 不再支持以下配置，无意义
91 // LUAT_ADC_AIO_RANGE_4_8,
92 // LUAT_ADC_AIO_RANGE_6_4,
93 // LUAT_ADC_AIO_RANGE_9_6,
94 // LUAT_ADC_AIO_RANGE_19_2,
95
96 LUAT_ADC_VBAT_RANGE_2_0_RATIO,
97 LUAT_ADC_VBAT_RANGE_2_2_RATIO,
98 LUAT_ADC_VBAT_RANGE_2_6_RATIO,
99 LUAT_ADC_VBAT_RANGE_3_2_RATIO,
100 LUAT_ADC_VBAT_RANGE_4_0_RATIO,
101 LUAT_ADC_VBAT_RANGE_5_3_RATIO,
102 LUAT_ADC_VBAT_RANGE_8_0_RATIO,
103 LUAT_ADC_VBAT_RANGE_16_0_RATIO,
104}LUAT_ADC_RANGE_E;
105
109typedef union luat_adc_ctrl_param
110{
111 LUAT_ADC_RANGE_E range;
112 void *userdata;
113} luat_adc_ctrl_param_t;
114
124int luat_adc_ctrl(int pin, LUAT_ADC_CTRL_CMD_E cmd, luat_adc_ctrl_param_t param);
127#endif
luat_adc_open
int luat_adc_open(int pin, void *args)
打开一个adc通道
luat_adc_ctrl_param_t
union luat_adc_ctrl_param luat_adc_ctrl_param_t
ADC控制参数
LUAT_ADC_CTRL_CMD
LUAT_ADC_CTRL_CMD
ADC控制命令
Definition: luat_adc.h:73
LUAT_ADC_RANGE
LUAT_ADC_RANGE
ADC测量范围（量程）,和具体的芯片有关：移芯618芯片，LUAT_ADC_RANGE_1_2表示1.2V，内部无分压，其余量程内部都有分压
Definition: luat_adc.h:81
luat_adc_read
int luat_adc_read(int pin, int *val, int *val2)
读取adc通道的值
luat_adc_close
int luat_adc_close(int pin)
关闭adc通道
LUAT_ADC_RANGE_E
enum LUAT_ADC_RANGE LUAT_ADC_RANGE_E
ADC测量范围（量程）,和具体的芯片有关：移芯618芯片，LUAT_ADC_RANGE_1_2表示1.2V，内部无分压，其余量程内部都有分压
LUAT_ADC_CTRL_CMD_E
enum LUAT_ADC_CTRL_CMD LUAT_ADC_CTRL_CMD_E
ADC控制命令
luat_adc_ctrl
int luat_adc_ctrl(int pin, LUAT_ADC_CTRL_CMD_E cmd, luat_adc_ctrl_param_t param)
adc控制
LUAT_ADC_SET_GLOBAL_RANGE
@ LUAT_ADC_SET_GLOBAL_RANGE
Definition: luat_adc.h:74
LUAT_ADC_AIO_RANGE_1_4
@ LUAT_ADC_AIO_RANGE_1_4
Definition: luat_adc.h:83
LUAT_ADC_VBAT_RANGE_4_0_RATIO
@ LUAT_ADC_VBAT_RANGE_4_0_RATIO
Definition: luat_adc.h:100
LUAT_ADC_AIO_RANGE_2_7
@ LUAT_ADC_AIO_RANGE_2_7
Definition: luat_adc.h:87
LUAT_ADC_AIO_RANGE_3_8
@ LUAT_ADC_AIO_RANGE_3_8
Definition: luat_adc.h:89
LUAT_ADC_VBAT_RANGE_5_3_RATIO
@ LUAT_ADC_VBAT_RANGE_5_3_RATIO
Definition: luat_adc.h:101
LUAT_ADC_VBAT_RANGE_2_2_RATIO
@ LUAT_ADC_VBAT_RANGE_2_2_RATIO
Definition: luat_adc.h:97
LUAT_ADC_VBAT_RANGE_2_0_RATIO
@ LUAT_ADC_VBAT_RANGE_2_0_RATIO
Definition: luat_adc.h:96
LUAT_ADC_AIO_RANGE_1_2
@ LUAT_ADC_AIO_RANGE_1_2
Definition: luat_adc.h:82
LUAT_ADC_VBAT_RANGE_2_6_RATIO
@ LUAT_ADC_VBAT_RANGE_2_6_RATIO
Definition: luat_adc.h:98
LUAT_ADC_AIO_RANGE_3_2
@ LUAT_ADC_AIO_RANGE_3_2
Definition: luat_adc.h:88
LUAT_ADC_VBAT_RANGE_8_0_RATIO
@ LUAT_ADC_VBAT_RANGE_8_0_RATIO
Definition: luat_adc.h:102
LUAT_ADC_AIO_RANGE_2_4
@ LUAT_ADC_AIO_RANGE_2_4
Definition: luat_adc.h:86
LUAT_ADC_AIO_RANGE_1_6
@ LUAT_ADC_AIO_RANGE_1_6
Definition: luat_adc.h:84
LUAT_ADC_AIO_RANGE_1_9
@ LUAT_ADC_AIO_RANGE_1_9
Definition: luat_adc.h:85
LUAT_ADC_VBAT_RANGE_16_0_RATIO
@ LUAT_ADC_VBAT_RANGE_16_0_RATIO
Definition: luat_adc.h:103
LUAT_ADC_VBAT_RANGE_3_2_RATIO
@ LUAT_ADC_VBAT_RANGE_3_2_RATIO
Definition: luat_adc.h:99
luat_adc_ctrl_param
ADC控制参数
Definition: luat_adc.h:110
luat_adc_ctrl_param::range
LUAT_ADC_RANGE_E range
Definition: luat_adc.h:111
luat_adc_ctrl_param::userdata
void * userdata
Definition: luat_adc.h:112


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_adc_legacy.h 源文件

  • interface
  • include
luat_adc_legacy.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef Luat_ADC_LEGACY_H
23#define Luat_ADC_LEGACY_H
24
25#include "luat_base.h"
29typedef enum
30{
31 ADC_SET_GLOBAL_RANGE = 0x80,
32} ADC_SET_CMD_ENUM;
33
41int luat_adc_global_config(int tp, int val);
42
43#endif


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/private_include/luat_audio_play_ec618.h 源文件

  • interface
  • private_include
luat_audio_play_ec618.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef __LUAT_AUDIO_PLAY_EC618_H__
23#define __LUAT_AUDIO_PLAY_EC618_H__
24#include "common_api.h"
25#include "audio_ll_drv.h"
26#include "audio_play.h"
34typedef struct
35{
36 char *path;
37 uint32_t address;
38 uint32_t rom_data_len;
39 uint8_t fail_continue;
40 uint8_t dummy[3];
41}luat_audio_play_info_t;
42
43enum
44{
45 LUAT_MULTIMEDIA_CB_AUDIO_DECODE_START = MULTIMEDIA_CB_AUDIO_DECODE_START,
46 LUAT_MULTIMEDIA_CB_AUDIO_OUTPUT_START,
47 LUAT_MULTIMEDIA_CB_AUDIO_NEED_DATA,
48 LUAT_MULTIMEDIA_CB_AUDIO_DONE,
49 LUAT_MULTIMEDIA_CB_DECODE_DONE,
50 LUAT_MULTIMEDIA_CB_TTS_INIT,
51 LUAT_MULTIMEDIA_CB_TTS_DONE,
52};
53
54void luat_audio_play_file_default_fun(void *param);
55void luat_audio_play_tts_default_fun(void *param);
65void luat_audio_play_global_init(
66 audio_play_event_cb_fun_t event_cb,
67 audio_play_data_cb_fun_t data_cb,
68 audio_play_default_fun_t play_file_fun,
69 audio_play_default_fun_t play_tts_fun,
70 void *user_param);
71
72
81int luat_audio_play_multi_files(uint32_t multimedia_id, audio_play_info_t info[], uint32_t files_num);
82
89uint8_t luat_audio_play_is_finish(uint32_t multimedia_id);
90
97int luat_audio_play_stop(uint32_t multimedia_id);
105int luat_audio_play_pause_raw(uint32_t multimedia_id, uint8_t is_pause);
106
113int luat_audio_play_get_last_error(uint32_t multimedia_id);
114
123int luat_audio_play_write_blank_raw(uint32_t multimedia_id, uint8_t cnt, uint8_t add_font);
135int luat_audio_play_start_raw(uint32_t multimedia_id, uint8_t audio_format, uint8_t num_channels, uint32_t sample_rate, uint8_t bits_per_sample, uint8_t is_signed);
144int luat_audio_play_write_raw(uint32_t multimedia_id, uint8_t *data, uint32_t len);
151int luat_audio_play_stop_raw(uint32_t multimedia_id);
160int luat_audio_play_tts_text(uint32_t multimedia_id, void *text, uint32_t text_bytes);
169int luat_audio_play_tts_set_param(uint32_t multimedia_id, uint32_t param_id, uint32_t param_value);
170
178void luat_audio_play_tts_set_resource(void *address, void *sdk_id, void *tts_resource_read_fun);
180#endif
luat_audio_play_multi_files
int luat_audio_play_multi_files(uint32_t multimedia_id, audio_play_info_t info[], uint32_t files_num)
播放指定数量的文件或者ROM数组（文件数据直接写成数组形式）
luat_audio_play_tts_set_param
int luat_audio_play_tts_set_param(uint32_t multimedia_id, uint32_t param_id, uint32_t param_value)
在收到MULTIMEDIA_CB_TTS_INIT回调时，可以设置TTS参数，等同于ivTTS_SetParam
luat_audio_play_global_init
void luat_audio_play_global_init(audio_play_event_cb_fun_t event_cb, audio_play_data_cb_fun_t data_cb, audio_play_default_fun_t play_file_fun, audio_play_default_fun_t play_tts_fun, void *user_param)
音频播放初始化，可以选择是否启用TTS，文件播放功能，用来节省flash空间
luat_audio_play_file_default_fun
void luat_audio_play_file_default_fun(void *param)
luat_audio_play_write_raw
int luat_audio_play_write_raw(uint32_t multimedia_id, uint8_t *data, uint32_t len)
向底层驱动传入一段原始音频数据
luat_audio_play_stop_raw
int luat_audio_play_stop_raw(uint32_t multimedia_id)
强制停止所有播放，同时底层驱动也会停止输出，不要用于播放文件的结束
luat_audio_play_tts_default_fun
void luat_audio_play_tts_default_fun(void *param)
luat_audio_play_start_raw
int luat_audio_play_start_raw(uint32_t multimedia_id, uint8_t audio_format, uint8_t num_channels, uint32_t sample_rate, uint8_t bits_per_sample, uint8_t is_signed)
立刻初始化播放未编码的原始音频数据流
luat_audio_play_tts_set_resource
void luat_audio_play_tts_set_resource(void *address, void *sdk_id, void *tts_resource_read_fun)
设置TTS的资源和对应SDKID，TTS资源有很多种。
luat_audio_play_tts_text
int luat_audio_play_tts_text(uint32_t multimedia_id, void *text, uint32_t text_bytes)
编码并播放一段文字
luat_audio_play_stop
int luat_audio_play_stop(uint32_t multimedia_id)
强制停止播放文件，但是不会停止已经输出到底层驱动的数据播放
luat_audio_play_is_finish
uint8_t luat_audio_play_is_finish(uint32_t multimedia_id)
是否播放完全部数据
luat_audio_play_pause_raw
int luat_audio_play_pause_raw(uint32_t multimedia_id, uint8_t is_pause)
暂停/恢复播放
luat_audio_play_get_last_error
int luat_audio_play_get_last_error(uint32_t multimedia_id)
获取上一次播放结果，在MULTIMEDIA_CB_AUDIO_DONE回调时调用最佳
luat_audio_play_write_blank_raw
int luat_audio_play_write_blank_raw(uint32_t multimedia_id, uint8_t cnt, uint8_t add_font)
在开头或者结尾插入多段空白数据，每段数据约100ms
LUAT_MULTIMEDIA_CB_AUDIO_NEED_DATA
@ LUAT_MULTIMEDIA_CB_AUDIO_NEED_DATA
Definition: luat_audio_play_ec618.h:47
LUAT_MULTIMEDIA_CB_TTS_DONE
@ LUAT_MULTIMEDIA_CB_TTS_DONE
Definition: luat_audio_play_ec618.h:51
LUAT_MULTIMEDIA_CB_AUDIO_OUTPUT_START
@ LUAT_MULTIMEDIA_CB_AUDIO_OUTPUT_START
Definition: luat_audio_play_ec618.h:46
LUAT_MULTIMEDIA_CB_TTS_INIT
@ LUAT_MULTIMEDIA_CB_TTS_INIT
Definition: luat_audio_play_ec618.h:50
LUAT_MULTIMEDIA_CB_AUDIO_DONE
@ LUAT_MULTIMEDIA_CB_AUDIO_DONE
Definition: luat_audio_play_ec618.h:48
LUAT_MULTIMEDIA_CB_DECODE_DONE
@ LUAT_MULTIMEDIA_CB_DECODE_DONE
Definition: luat_audio_play_ec618.h:49
LUAT_MULTIMEDIA_CB_AUDIO_DECODE_START
@ LUAT_MULTIMEDIA_CB_AUDIO_DECODE_START
Definition: luat_audio_play_ec618.h:45
luat_audio_play_info_t
audio播放控制参数
Definition: luat_audio_play_ec618.h:35
luat_audio_play_info_t::rom_data_len
uint32_t rom_data_len
Definition: luat_audio_play_ec618.h:38
luat_audio_play_info_t::path
char * path
Definition: luat_audio_play_ec618.h:36
luat_audio_play_info_t::address
uint32_t address
Definition: luat_audio_play_ec618.h:37
luat_audio_play_info_t::fail_continue
uint8_t fail_continue
Definition: luat_audio_play_ec618.h:39


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_crypto.h 源文件

  • interface
  • include
luat_crypto.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef Luat_CRYPTO_H
23#define Luat_CRYPTO_H
24
25#include "luat_base.h"
26
38void luat_crypto_md5( unsigned char *input, int ilen, unsigned char output[16] );
39
40
50int luat_crypto_base64_encode( unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen );
51
61int luat_crypto_base64_decode( unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen );
62
69void luat_crypto_sha1(const unsigned char *input, size_t ilen, unsigned char output[20]);
70
71
79void luat_crypto_sha256(const unsigned char *input, size_t ilen, unsigned char output[20], int is_224);
80
86int luat_crypto_trng(char* buff, size_t len);
87
89#endif
luat_crypto_sha256
void luat_crypto_sha256(const unsigned char *input, size_t ilen, unsigned char output[20], int is_224)
进行SHA256校验
luat_crypto_sha1
void luat_crypto_sha1(const unsigned char *input, size_t ilen, unsigned char output[20])
进行SHA1校验
luat_crypto_trng
int luat_crypto_trng(char *buff, size_t len)
产生随机数
luat_crypto_base64_encode
int luat_crypto_base64_encode(unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen)
BASE64加密
luat_crypto_md5
void luat_crypto_md5(unsigned char *input, int ilen, unsigned char output[16])
进行MD5检验
luat_crypto_base64_decode
int luat_crypto_base64_decode(unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen)
BASE64解密


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_debug.h 源文件

  • interface
  • include
luat_debug.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_DEBUG_H
23#define LUAT_DEBUG_H
24
34typedef enum LUAT_DEBUG_FAULT_MODE
35{
36 LUAT_DEBUG_FAULT_RESET,
37 LUAT_DEBUG_FAULT_HANG
38}LUAT_DEBUG_FAULT_MODE_E;
39
46void luat_debug_print(const char *fmt, ...);
52#define LUAT_DEBUG_PRINT(fmt, argv...) luat_debug_print("%s %d:"fmt, __FUNCTION__,__LINE__, ##argv)
53
62void luat_debug_assert(const char *fun_name, unsigned int line_no, const char *fmt, ...);
63
64
65#define LUAT_DEBUG_ASSERT(condition, fmt, argv...) do { \
66 { \
67 if((condition) == 0) \
68 { \
69 luat_debug_assert(__FUNCTION__, __LINE__, fmt, ##argv); \
70 }\
71 } \
72 } while(0)
73
80void luat_debug_set_fault_mode(LUAT_DEBUG_FAULT_MODE_E mode);
81
84#endif
luat_debug_print
void luat_debug_print(const char *fmt,...)
格式打印并输出到LOG口
LUAT_DEBUG_FAULT_MODE_E
enum LUAT_DEBUG_FAULT_MODE LUAT_DEBUG_FAULT_MODE_E
出现异常后系统处理
LUAT_DEBUG_FAULT_MODE
LUAT_DEBUG_FAULT_MODE
出现异常后系统处理
Definition: luat_debug.h:35
luat_debug_assert
void luat_debug_assert(const char *fun_name, unsigned int line_no, const char *fmt,...)
断言处理，并格式打印输出到LOG口
luat_debug_set_fault_mode
void luat_debug_set_fault_mode(LUAT_DEBUG_FAULT_MODE_E mode)
设置出现异常后系统处理模式
LUAT_DEBUG_FAULT_HANG
@ LUAT_DEBUG_FAULT_HANG
Definition: luat_debug.h:37
LUAT_DEBUG_FAULT_RESET
@ LUAT_DEBUG_FAULT_RESET
Definition: luat_debug.h:36


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_flash.h 源文件

  • interface
  • include
luat_flash.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22
23#ifndef LUAT_flash_H
24#define LUAT_flash_H
25#include "luat_base.h"
39int luat_flash_read(char* buff, size_t addr, size_t len);
40
49int luat_flash_write(char* buff, size_t addr, size_t len);
50
58int luat_flash_erase(size_t addr, size_t len);
59
60
64#endif
luat_flash_read
int luat_flash_read(char *buff, size_t addr, size_t len)
读取指定区域的Flash数据
luat_flash_erase
int luat_flash_erase(size_t addr, size_t len)
抹除指定区域的flash数据
luat_flash_write
int luat_flash_write(char *buff, size_t addr, size_t len)
写入指定区域的flash数据


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/private_include/luat_fota.h 源文件

  • interface
  • private_include
luat_fota.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_FOTA_H
23#define LUAT_FOTA_H
34typedef void* luat_fota_img_proc_ctx_ptr;
35
36
43 luat_fota_img_proc_ctx_ptr luat_fota_init(void);
44
53int luat_fota_write(luat_fota_img_proc_ctx_ptr context, void * data, int len);
54
61int luat_fota_done(luat_fota_img_proc_ctx_ptr context);
63#endif
luat_fota_img_proc_ctx_ptr
void * luat_fota_img_proc_ctx_ptr
升级包数据的上下文结构体
Definition: luat_fota.h:34
luat_fota_init
luat_fota_img_proc_ctx_ptr luat_fota_init(void)
用于初始化fota,创建写入升级包数据的上下文结构体
luat_fota_write
int luat_fota_write(luat_fota_img_proc_ctx_ptr context, void *data, int len)
用于向本地 Flash 中写入升级包数据
luat_fota_done
int luat_fota_done(luat_fota_img_proc_ctx_ptr context)
用于结束升级包下载


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_fs.h 源文件

  • interface
  • include
luat_fs.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_FS_H
23#define LUAT_FS_H
24//#include "luat_base.h"
25#include "stdio.h"
26
27
33#ifndef LUAT_WEAK
34#define LUAT_WEAK __attribute__((weak))
35#endif
36
37typedef struct luat_fs_conf {
38 char* busname;
39 char* type;
40 char* filesystem;
41 const char* mount_point;
42} luat_fs_conf_t;
43
44typedef struct luat_fs_info
45{
46 char filesystem[8]; // 文件系统类型
47 unsigned char type; // 连接方式, 片上,spi flash, tf卡等
48 size_t total_block;
49 size_t block_used;
50 size_t block_size;
51}luat_fs_info_t;
52
53
58int luat_fs_init(void);
59
60// int luat_fs_mkfs(luat_fs_conf_t *conf);
61// int luat_fs_mount(luat_fs_conf_t *conf);
62// int luat_fs_umount(luat_fs_conf_t *conf);
69int luat_fs_info(const char* path, luat_fs_info_t *info);
70
77FILE* luat_fs_fopen(const char *filename, const char *mode);
78
84int luat_fs_getc(FILE* stream);
92int luat_fs_fseek(FILE* stream, long int offset, int origin);
98int luat_fs_ftell(FILE* stream);
104int luat_fs_fclose(FILE* stream);
110int luat_fs_feof(FILE* stream);
116int luat_fs_ferror(FILE *stream);
117
126size_t luat_fs_fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
135size_t luat_fs_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
136
142int luat_fs_remove(const char *filename);
143
150int luat_fs_rename(const char *old_filename, const char *new_filename);
151
152
158size_t luat_fs_fsize(const char *filename);
164int luat_fs_fexist(const char *filename);
165
171// int luat_fs_ftruncate(FILE* fp, size_t len);
172
173
179int luat_fs_truncate(const char* filename, size_t len);
180
181// int luat_fs_readline(char * buf, int bufsize, FILE * stream);
182
183// 文件夹相关的API
184
185typedef struct luat_fs_dirent
186{
187 unsigned char d_type; //0:文件；1：文件夹(EC618不支持创建目录操作，所以理论上不会出现为1的情况)
188 char d_name[255];
189}luat_fs_dirent_t;
190
191
197int luat_fs_mkdir(char const* dir);
198
204int luat_fs_rmdir(char const* dir);
213int luat_fs_lsdir(char const* dir, luat_fs_dirent_t* ents, size_t offset, size_t len);
214
219int luat_fs_ready(void);
220
221
222#if LUAT_USE_FS_VFS
223
224#ifndef LUAT_VFS_FILESYSTEM_MAX
225#define LUAT_VFS_FILESYSTEM_MAX 4
226#endif
227
228#ifndef LUAT_VFS_FILESYSTEM_MOUNT_MAX
229#define LUAT_VFS_FILESYSTEM_MOUNT_MAX 4
230#endif
231
232#ifndef LUAT_VFS_FILESYSTEM_FD_MAX
233#define LUAT_VFS_FILESYSTEM_FD_MAX 16
234#endif
235
236struct luat_vfs_file_opts {
237 FILE* (*fopen)(void* fsdata, const char *filename, const char *mode);
238 int (*getc)(void* fsdata, FILE* stream);
239 int (*fseek)(void* fsdata, FILE* stream, long int offset, int origin);
240 int (*ftell)(void* fsdata, FILE* stream);
241 int (*fclose)(void* fsdata, FILE* stream);
242 int (*feof)(void* fsdata, FILE* stream);
243 int (*ferror)(void* fsdata, FILE *stream);
244 size_t (*fread)(void* fsdata, void *ptr, size_t size, size_t nmemb, FILE *stream);
245 size_t (*fwrite)(void* fsdata, const void *ptr, size_t size, size_t nmemb, FILE *stream);
246};
247
248struct luat_vfs_filesystem_opts {
249 int (*remove)(void* fsdata, const char *filename);
250 int (*rename)(void* fsdata, const char *old_filename, const char *new_filename);
251 size_t (*fsize)(void* fsdata, const char *filename);
252 int (*fexist)(void* fsdata, const char *filename);
253 int (*mkfs)(void* fsdata, luat_fs_conf_t *conf);
254
255 int (*mount)(void** fsdata, luat_fs_conf_t *conf);
256 int (*umount)(void* fsdata, luat_fs_conf_t *conf);
257 int (*info)(void* fsdata, const char* path, luat_fs_info_t *conf);
258
259 int (*mkdir)(void* fsdata, char const* _DirName);
260 int (*rmdir)(void* fsdata, char const* _DirName);
261 int (*lsdir)(void* fsdata, char const* _DirName, luat_fs_dirent_t* ents, size_t offset, size_t len);
262};
263
264typedef struct luat_vfs_filesystem {
265 char name[16];
266 struct luat_vfs_filesystem_opts opts;
267 struct luat_vfs_file_opts fopts;
268}luat_vfs_filesystem_t;
269
270typedef struct luat_vfs_mount {
271 struct luat_vfs_filesystem *fs;
272 void *userdata;
273 char prefix[16];
274 int ok;
275} luat_vfs_mount_t;
276
277typedef struct luat_vfs_fd{
278 FILE* fd;
279 luat_vfs_mount_t *fsMount;
280}luat_vfs_fd_t;
281
282
283typedef struct luat_vfs
284{
285 struct luat_vfs_filesystem* fsList[LUAT_VFS_FILESYSTEM_MAX];
286 luat_vfs_mount_t mounted[LUAT_VFS_FILESYSTEM_MOUNT_MAX];
287 luat_vfs_fd_t fds[LUAT_VFS_FILESYSTEM_FD_MAX+1];
288}luat_vfs_t;
289
290int luat_vfs_init(void* params);
291int luat_vfs_reg(const struct luat_vfs_filesystem* fs);
292FILE* luat_vfs_add_fd(FILE* fd, luat_vfs_mount_t * mount);
293int luat_vfs_rm_fd(FILE* fd);
294const char* luat_vfs_mmap(FILE* fd);
295#endif
296
299#endif
300
301
luat_fs_conf_t
struct luat_fs_conf luat_fs_conf_t
luat_fs_init
int luat_fs_init(void)
文件系统初始化
luat_fs_fexist
int luat_fs_fexist(const char *filename)
文件是否存在,类似于fexist
luat_fs_info_t
struct luat_fs_info luat_fs_info_t
luat_fs_fclose
int luat_fs_fclose(FILE *stream)
关闭句柄位置,类似于fclose
luat_fs_ferror
int luat_fs_ferror(FILE *stream)
是否有文件系统错误,类似于ferror
luat_fs_feof
int luat_fs_feof(FILE *stream)
是否已经到文件结尾,类似于feof
luat_fs_ready
int luat_fs_ready(void)
文件系统是否已经就绪
luat_fs_fread
size_t luat_fs_fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
读取文件,类似于fread
luat_fs_fwrite
size_t luat_fs_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
写入文件,类似于fwrite
luat_fs_fseek
int luat_fs_fseek(FILE *stream, long int offset, int origin)
设置句柄位置,类似于fseek
luat_fs_dirent_t
struct luat_fs_dirent luat_fs_dirent_t
luat_fs_ftell
int luat_fs_ftell(FILE *stream)
获取句柄位置,类似于ftell
luat_fs_fsize
size_t luat_fs_fsize(const char *filename)
文件大小,类似于fsize
luat_fs_rename
int luat_fs_rename(const char *old_filename, const char *new_filename)
文件改名,类似于rename
luat_fs_mkdir
int luat_fs_mkdir(char const *dir)
创建文件夹,当前EC618不支持
luat_fs_getc
int luat_fs_getc(FILE *stream)
读到单个字节,类似于getc
luat_fs_fopen
FILE * luat_fs_fopen(const char *filename, const char *mode)
打开文件,类似于fopen
luat_fs_truncate
int luat_fs_truncate(const char *filename, size_t len)
截断文件,类似于ftruncate
luat_fs_rmdir
int luat_fs_rmdir(char const *dir)
删除文件夹,必须为空文件夹
luat_fs_remove
int luat_fs_remove(const char *filename)
删除文件,类似于remove
luat_fs_lsdir
int luat_fs_lsdir(char const *dir, luat_fs_dirent_t *ents, size_t offset, size_t len)
遍历文件夹
luat_fs_conf
Definition: luat_fs.h:37
luat_fs_conf::type
char * type
Definition: luat_fs.h:39
luat_fs_conf::filesystem
char * filesystem
Definition: luat_fs.h:40
luat_fs_conf::busname
char * busname
Definition: luat_fs.h:38
luat_fs_conf::mount_point
const char * mount_point
Definition: luat_fs.h:41
luat_fs_dirent
Definition: luat_fs.h:186
luat_fs_dirent::d_name
char d_name[255]
Definition: luat_fs.h:188
luat_fs_dirent::d_type
unsigned char d_type
Definition: luat_fs.h:187
luat_fs_info
Definition: luat_fs.h:45
luat_fs_info::filesystem
char filesystem[8]
Definition: luat_fs.h:46
luat_fs_info::block_used
size_t block_used
Definition: luat_fs.h:49
luat_fs_info::total_block
size_t total_block
Definition: luat_fs.h:48
luat_fs_info::type
unsigned char type
Definition: luat_fs.h:47
luat_fs_info::block_size
size_t block_size
Definition: luat_fs.h:50


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_gpio.h 源文件

  • interface
  • include
luat_gpio.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22
23#ifndef LUAT_GPIO_H
24#define LUAT_GPIO_H
25
26
27#include "luat_base.h"
28#include "luat_gpio_legacy.h"
29
40#define LUAT_GPIO_LOW (Luat_GPIO_LOW)
41#define LUAT_GPIO_HIGH (Luat_GPIO_HIGH)
42
43#define LUAT_GPIO_OUTPUT (Luat_GPIO_OUTPUT)
44#define LUAT_GPIO_INPUT (Luat_GPIO_INPUT)
45#define LUAT_GPIO_IRQ (Luat_GPIO_IRQ)
46
47#define LUAT_GPIO_DEFAULT (Luat_GPIO_DEFAULT)
48#define LUAT_GPIO_PULLUP (Luat_GPIO_PULLUP)
49#define LUAT_GPIO_PULLDOWN (Luat_GPIO_PULLDOWN)
50
51#define LUAT_GPIO_RISING_IRQ (Luat_GPIO_RISING)
52#define LUAT_GPIO_FALLING_IRQ (Luat_GPIO_FALLING)
53#define LUAT_GPIO_BOTH_IRQ (Luat_GPIO_BOTH)
54#define LUAT_GPIO_HIGH_IRQ (Luat_GPIO_HIGH_IRQ)
55#define LUAT_GPIO_LOW_IRQ (Luat_GPIO_LOW_IRQ)
56#define LUAT_GPIO_NO_IRQ (0xff)
57
58#define LUAT_GPIO_MAX_ID (Luat_GPIO_MAX_ID)
59
60
61
65typedef struct luat_gpio_cfg
66{
67 int pin;
68 uint8_t mode;
69 uint8_t pull;
70 uint8_t irq_type;
71 uint8_t output_level;
72 luat_gpio_irq_cb irq_cb;
73 void* irq_args;
74 uint8_t alt_fun;
75} luat_gpio_cfg_t;
76
80typedef enum
81{
82 LUAT_GPIO_CMD_SET_PULL_MODE,
83 LUAT_GPIO_CMD_SET_IRQ_MODE,
84}LUAT_GPIO_CTRL_CMD_E;
85
90void luat_gpio_set_default_cfg(luat_gpio_cfg_t* gpio);
95int luat_gpio_open(luat_gpio_cfg_t* gpio);
96
103int luat_gpio_set(int pin, int level);
109int luat_gpio_get(int pin);
114void luat_gpio_close(int pin);
122int luat_gpio_set_irq_cb(int pin, luat_gpio_irq_cb cb, void* args);
132void luat_gpio_pulse(int pin, uint8_t *level, uint16_t len, uint16_t delay_ns);
140int luat_gpio_ctrl(int pin, LUAT_GPIO_CTRL_CMD_E cmd, int param);
143#endif
luat_gpio_set_irq_cb
int luat_gpio_set_irq_cb(int pin, luat_gpio_irq_cb cb, void *args)
设置GPIO中断回调函数
luat_gpio_cfg_t
struct luat_gpio_cfg luat_gpio_cfg_t
GPIO控制参数
luat_gpio_get
int luat_gpio_get(int pin)
读取GPIO输入电平
luat_gpio_set
int luat_gpio_set(int pin, int level)
GPIO输出电平
luat_gpio_pulse
void luat_gpio_pulse(int pin, uint8_t *level, uint16_t len, uint16_t delay_ns)
GPIO模拟单线输出模式
luat_gpio_close
void luat_gpio_close(int pin)
关闭GPIO
luat_gpio_set_default_cfg
void luat_gpio_set_default_cfg(luat_gpio_cfg_t *gpio)
GPIO设置默认参数
luat_gpio_ctrl
int luat_gpio_ctrl(int pin, LUAT_GPIO_CTRL_CMD_E cmd, int param)
GPIO上下拉\中断单独设置函数
luat_gpio_open
int luat_gpio_open(luat_gpio_cfg_t *gpio)
打开GPIO
LUAT_GPIO_CTRL_CMD_E
LUAT_GPIO_CTRL_CMD_E
GPIO上下拉\中断设置参数
Definition: luat_gpio.h:81
LUAT_GPIO_CMD_SET_PULL_MODE
@ LUAT_GPIO_CMD_SET_PULL_MODE
Definition: luat_gpio.h:82
LUAT_GPIO_CMD_SET_IRQ_MODE
@ LUAT_GPIO_CMD_SET_IRQ_MODE
Definition: luat_gpio.h:83
luat_gpio_cfg
GPIO控制参数
Definition: luat_gpio.h:66
luat_gpio_cfg::mode
uint8_t mode
Definition: luat_gpio.h:68
luat_gpio_cfg::alt_fun
uint8_t alt_fun
Definition: luat_gpio.h:74
luat_gpio_cfg::pull
uint8_t pull
Definition: luat_gpio.h:69
luat_gpio_cfg::irq_type
uint8_t irq_type
Definition: luat_gpio.h:70
luat_gpio_cfg::output_level
uint8_t output_level
Definition: luat_gpio.h:71
luat_gpio_cfg::pin
int pin
Definition: luat_gpio.h:67
luat_gpio_cfg::irq_cb
luat_gpio_irq_cb irq_cb
Definition: luat_gpio.h:72
luat_gpio_cfg::irq_args
void * irq_args
Definition: luat_gpio.h:73


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_gpio_legacy.h 源文件

  • interface
  • include
luat_gpio_legacy.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22
23#ifndef LUAT_GPIO_LEGACY_H
24#define LUAT_GPIO_LEGACY_H
25
26
27#include "luat_base.h"
28#ifdef __LUATOS__
29#include "luat_msgbus.h"
30int l_gpio_handler(lua_State *L, void* ptr);
31#endif
32typedef int (*luat_gpio_irq_cb)(int pin, void* args);
33
34
35#define Luat_GPIO_LOW 0x00
36#define Luat_GPIO_HIGH 0x01
37
38#define Luat_GPIO_OUTPUT 0x00
39#define Luat_GPIO_INPUT 0x01
40#define Luat_GPIO_IRQ 0x02
41
42#define Luat_GPIO_DEFAULT 0x00
43#define Luat_GPIO_PULLUP 0x01
44#define Luat_GPIO_PULLDOWN 0x02
45
46#define Luat_GPIO_RISING 0x00
47#define Luat_GPIO_FALLING 0x01
48#define Luat_GPIO_BOTH 0x02
49#define Luat_GPIO_HIGH_IRQ 0x03
50#define Luat_GPIO_LOW_IRQ 0x04
51
52#define Luat_GPIO_MAX_ID 255
53
57typedef struct luat_gpio
58{
59 int pin;
60 int mode;
61 int pull;
62 int irq;
63 int lua_ref;
64 luat_gpio_irq_cb irq_cb;
65 void* irq_args;
66} luat_gpio_t;
71int luat_gpio_setup(luat_gpio_t* gpio);
79void luat_gpio_mode(int pin, int mode, int pull, int initOutput);
80
81
82#endif
luat_gpio
GPIO控制参数
Definition: luat_gpio_legacy.h:58
luat_gpio::mode
int mode
Definition: luat_gpio_legacy.h:60
luat_gpio::pull
int pull
Definition: luat_gpio_legacy.h:61
luat_gpio::lua_ref
int lua_ref
Definition: luat_gpio_legacy.h:63
luat_gpio::irq
int irq
Definition: luat_gpio_legacy.h:62
luat_gpio::pin
int pin
Definition: luat_gpio_legacy.h:59
luat_gpio::irq_cb
luat_gpio_irq_cb irq_cb
Definition: luat_gpio_legacy.h:64
luat_gpio::irq_args
void * irq_args
Definition: luat_gpio_legacy.h:65


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_i2c.h 源文件

  • interface
  • include
luat_i2c.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_I2C_H
23#define LUAT_I2C_H
24
25#include "luat_base.h"
26#include "luat_i2c_legacy.h"
27
43int luat_i2c_exist(int id);
44
53int luat_i2c_setup(int id, int speed);
54
61int luat_i2c_close(int id);
62
73int luat_i2c_send(int id, int addr, void* buff, size_t len, uint8_t stop);
83int luat_i2c_recv(int id, int addr, void* buff, size_t len);
95int luat_i2c_transfer(int id, int addr, uint8_t *reg, size_t reg_len, uint8_t *buff, size_t len);
98#endif
luat_i2c_transfer
int luat_i2c_transfer(int id, int addr, uint8_t *reg, size_t reg_len, uint8_t *buff, size_t len)
I2C 收发数据
luat_i2c_exist
int luat_i2c_exist(int id)
检查i2c是否存在
luat_i2c_setup
int luat_i2c_setup(int id, int speed)
初始化i2c
luat_i2c_send
int luat_i2c_send(int id, int addr, void *buff, size_t len, uint8_t stop)
I2C 发送数据
luat_i2c_close
int luat_i2c_close(int id)
关闭 i2c
luat_i2c_recv
int luat_i2c_recv(int id, int addr, void *buff, size_t len)
I2C 接受数据


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_i2c_legacy.h 源文件

  • interface
  • include
luat_i2c_legacy.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_I2C_LEGACY_H
23#define LUAT_I2C_LEGACY_H
24
25#include "luat_base.h"
26
27
28
39int luat_i2c_write_reg(int id, int addr, int reg, uint16_t value, uint8_t stop);
40
50int luat_i2c_read_reg(int id, int addr, int reg, uint16_t* value);
54int luat_i2c_no_block_transfer(int id, int addr, uint8_t is_read, uint8_t *reg, size_t reg_len, uint8_t *buff, size_t len, uint16_t Toms, void *CB, void *pParam);
55
56#endif


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/private_include/luat_i2s_ec618.h 源文件

  • interface
  • private_include
luat_i2s_ec618.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef __LUAT_I2S_EC618_H__
23#define __LUAT_I2S_EC618_H__
24#include "common_api.h"
25void luat_i2s_init(void);
26int luat_i2s_start(uint8_t bus_id, uint8_t is_play, uint32_t sample, uint8_t channel_num);
27void luat_i2s_base_setup(uint8_t bus_id, uint8_t mode, uint8_t frame_size);
28void luat_i2s_tx(uint8_t bus_id, uint8_t* address, uint32_t byte_len, CBFuncEx_t cb, void *param);
29void luat_i2s_tx_stop(uint8_t bus_id);
30void luat_i2s_deinit(uint8_t bus_id);
31void luat_i2s_pause(uint8_t bus_id);
32#endif


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_iconv.h 源文件

  • interface
  • include
luat_iconv.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_ICONV_H
23#define LUAT_ICONV_H
24
25#include "luat_base.h"
26
31typedef void *luat_iconv_t;
32
39 luat_iconv_t luat_iconv_open (const char *to_code, const char *from_code);
40
50size_t luat_iconv_convert (luat_iconv_t cd, char ** inbuf, size_t * in_bytes_left, char ** outbuf, size_t * out_bytes_left);
51
57int luat_iconv_close (luat_iconv_t cd);
58
61#endif
luat_iconv_open
luat_iconv_t luat_iconv_open(const char *to_code, const char *from_code)
开启iconv转换流，分配内存
luat_iconv_t
void * luat_iconv_t
Definition: luat_iconv.h:31
luat_iconv_convert
size_t luat_iconv_convert(luat_iconv_t cd, char **inbuf, size_t *in_bytes_left, char **outbuf, size_t *out_bytes_left)
转换编码格式
luat_iconv_close
int luat_iconv_close(luat_iconv_t cd)
关闭iconv转换流，释放内存


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_irq.h 源文件

  • interface
  • include
luat_irq.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22
23#ifndef LUAT_IRQ_H
24#define LUAT_IRQ_H
25#include "luat_base.h"
26
27int luat_irq_fire(int tp, int arg, void* args);
28
29int luat_irq_gpio_cb(int pin, void* args);
30
31int luat_irq_uart_cb(int uartid, void* args);
32
33int luat_irq_spi_cb(int id);
34
35int32_t luat_irq_hardware_cb_handler(void *pdata, void *param);
36#endif


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_kv.h 源文件

  • interface
  • include
luat_kv.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_KV_H
23#define LUAT_KV_H
24
35int luat_kv_init(void);
36
42int luat_kv_del(const char* key);
43
51int luat_kv_set(const char* key, void* data, size_t len);
52
60int luat_kv_get(const char* key, void* data, size_t len);
61
66int luat_kv_clear(void);
67
72#endif
luat_kv_del
int luat_kv_del(const char *key)
删除指定的key
luat_kv_init
int luat_kv_init(void)
初始化kv数据存储
luat_kv_clear
int luat_kv_clear(void)
清空所有数据
luat_kv_set
int luat_kv_set(const char *key, void *data, size_t len)
写入指定key的数据
luat_kv_get
int luat_kv_get(const char *key, void *data, size_t len)
读取指定key的数据


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_mcu.h 源文件

  • interface
  • include
luat_mcu.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_MCU_H
23#define LUAT_MCU_H
24#include "luat_base.h"
25
37int luat_mcu_set_clk(size_t mhz);
43int luat_mcu_get_clk(void);
44
51const char* luat_mcu_unique_id(size_t* t);
52
58long luat_mcu_ticks(void);
59
65uint32_t luat_mcu_hz(void);
66
72uint64_t luat_mcu_tick64(void);
73
79int luat_mcu_us_period(void);
80
86uint64_t luat_mcu_tick64_ms(void);
87
95void luat_mcu_set_clk_source(uint8_t source_main, uint8_t source_32k, uint32_t delay);
96
97#endif
98
luat_mcu_get_clk
int luat_mcu_get_clk(void)
获取主频
luat_mcu_set_clk_source
void luat_mcu_set_clk_source(uint8_t source_main, uint8_t source_32k, uint32_t delay)
设置时钟源(仅Air105支持)
luat_mcu_set_clk
int luat_mcu_set_clk(size_t mhz)
设置主频
luat_mcu_us_period
int luat_mcu_us_period(void)
对应tick64的频率数据
luat_mcu_tick64
uint64_t luat_mcu_tick64(void)
获取tick计数,64位的
luat_mcu_hz
uint32_t luat_mcu_hz(void)
获取系统tick频率
luat_mcu_tick64_ms
uint64_t luat_mcu_tick64_ms(void)
开机至今的毫秒数
luat_mcu_ticks
long luat_mcu_ticks(void)
获取系统tick计数
luat_mcu_unique_id
const char * luat_mcu_unique_id(size_t *t)
获取唯一id


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_mem.h 源文件

  • interface
  • include
luat_mem.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_MEM_H
23#define LUAT_MEM_H
28#include "stdint.h"
36void* luat_heap_malloc(size_t len);
37
43void luat_heap_free(void* ptr);
44
51void* luat_heap_realloc(void* ptr, size_t len);
59void* luat_heap_calloc(size_t count, size_t _size);
67void luat_meminfo_sys(size_t* total, size_t* used, size_t* max_used);
68
69
70#define LUAT_MEM_MALLOC luat_heap_malloc
71#define LUAT_MEM_FREE luat_heap_free
72#define LUAT_MEM_REALLOC luat_heap_realloc
73#define LUAT_MEM_CALLOC luat_heap_calloc
74
75#define LUAT_MEM_INFO luat_meminfo_sys
79#endif
luat_heap_realloc
void * luat_heap_realloc(void *ptr, size_t len)
重新分配内存，把内存扩展到 len
luat_heap_calloc
void * luat_heap_calloc(size_t count, size_t _size)
在内存中动态地分配 count 个长度为 size_t 的连续空间，并将每一个字节都初始化为 0
luat_heap_malloc
void * luat_heap_malloc(size_t len)
在堆区分配一块指定大小的内存空间，用来存放数据
luat_heap_free
void luat_heap_free(void *ptr)
释放ptr所指向的内存块,释放的是动态分配的内存空间
luat_meminfo_sys
void luat_meminfo_sys(size_t *total, size_t *used, size_t *max_used)
获取内存使用信息


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_mobile.h 源文件

  • interface
  • include
luat_mobile.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef __LUAT_MOBILE_H__
23#define __LUAT_MOBILE_H__
24
25#include "luat_base.h"
38int luat_mobile_get_imei(int sim_id, char* buff, size_t buf_len);
39
47int luat_mobile_get_sn(char* buff, size_t buf_len);
48
56int luat_mobile_set_sn(char* buff, uint8_t buf_len);
57
65int luat_mobile_get_muid(char* buff, size_t buf_len);
66
75int luat_mobile_get_iccid(int sim_id, char* buff, size_t buf_len);
76
85int luat_mobile_get_imsi(int sim_id, char* buff, size_t buf_len);
86
93int luat_mobile_get_sim_id(int *id);
94
101int luat_mobile_set_sim_id(int id);
102
112int luat_mobile_get_apn(int sim_id, int cid, char* buff, size_t buf_len);
113
122int luat_mobile_get_default_apn(int sim_id, char* buff, size_t buf_len);
123
124
132int luat_mobile_set_flymode(int index, int mode);
133
140int luat_mobile_get_flymode(int index);
141
142#if (!defined __LUATOS__) || ((defined __LUATOS__) && (defined LUAT_USE_LWIP))
143#include "lwip/opt.h"
144#include "lwip/netif.h"
145#include "lwip/inet.h"
146
156int luat_mobile_get_local_ip(int sim_id, int cid, ip_addr_t *ip_v4, ip_addr_t *ip_v6);
157#endif
158/* -------------------------------------------------- cell info begin -------------------------------------------------- */
159#define LUAT_MOBILE_CELL_MAX_NUM 9
160
161typedef struct luat_mobile_gsm_service_cell_info
162{
163 int cid;
164 int mcc;
165 int mnc;
166 int lac;
167 int arfcn;
168 int bsic;
169 int rssi;
170}luat_mobile_gsm_service_cell_info_t;
171
172typedef struct luat_mobile_gsm_cell_info
173{
174 int cid;
175 int mcc;
176 int mnc;
177 int lac;
178 int arfcn;
179 int bsic;
180 int rssi;
181}luat_mobile_gsm_cell_info_t;
182
183typedef struct luat_mobile_lte_service_cell_info
184{
185 uint32_t cid;
186 uint16_t mcc;
187 uint16_t mnc;
188 uint16_t tac;
189 uint16_t pci;
190 uint32_t earfcn;
191 int16_t rssi;
192 int16_t rsrp;
193 int16_t rsrq;
194 int16_t snr;
195 uint8_t is_tdd;
196 uint8_t band;
197 uint8_t ulbandwidth;
198 uint8_t dlbandwidth;
199}luat_mobile_lte_service_cell_info_t;
200
201typedef struct luat_mobile_lte_cell_info
202{
203 uint32_t cid;
204 uint16_t mcc;
205 uint16_t mnc;
206 uint16_t tac;
207 uint16_t pci;
208 uint32_t earfcn;
209 int16_t rsrp;
210 int16_t rsrq;
211 int16_t snr;
212}luat_mobile_lte_cell_info_t;
213
214typedef struct luat_mobile_cell_info
215{
216 luat_mobile_gsm_service_cell_info_t gsm_service_info;
217 luat_mobile_gsm_cell_info_t gsm_info[LUAT_MOBILE_CELL_MAX_NUM];
218 luat_mobile_lte_service_cell_info_t lte_service_info;
219 luat_mobile_lte_cell_info_t lte_info[LUAT_MOBILE_CELL_MAX_NUM];
220 uint8_t gsm_info_valid;
221 uint8_t gsm_neighbor_info_num;
222 uint8_t lte_info_valid;
223 uint8_t lte_neighbor_info_num;
224}luat_mobile_cell_info_t;
225
232int luat_mobile_get_cell_info(luat_mobile_cell_info_t *info);
233
240int luat_mobile_get_cell_info_async(uint8_t max_time);
241
249int luat_mobile_get_last_notify_cell_info(luat_mobile_cell_info_t *info);
250
251
252typedef struct luat_mobile_gw_signal_strength_info
253{
254 int rssi;
255 int bitErrorRate;
256 int rscp;
257 int ecno;
258}luat_mobile_gw_signal_strength_info_t;
259
260typedef struct luat_mobile_lte_signal_strength_info
261{
262 int16_t rssi;
263 int16_t rsrp;
264 int16_t rsrq;
265 int16_t snr;
266}luat_mobile_lte_signal_strength_info_t;
267
268typedef struct luat_mobile_signal_strength_info
269{
270 luat_mobile_gw_signal_strength_info_t gw_signal_strength;
271 luat_mobile_lte_signal_strength_info_t lte_signal_strength;
272 uint8_t luat_mobile_gw_signal_strength_vaild;
273 uint8_t luat_mobile_lte_signal_strength_vaild;
274}luat_mobile_signal_strength_info_t;
275
282uint8_t luat_mobile_rssi_to_csq(int8_t rssi);
283
290int luat_mobile_get_signal_strength_info(luat_mobile_signal_strength_info_t *info);
291
298int luat_mobile_get_signal_strength(uint8_t *csq);
299
306int luat_mobile_get_last_notify_signal_strength_info(luat_mobile_signal_strength_info_t *info);
307
314int luat_mobile_get_last_notify_signal_strength(uint8_t *csq);
315/* --------------------------------------------------- cell info end --------------------------------------------------- */
316
317
318/* ------------------------------------------------ mobile status begin ----------------------------------------------- */
323typedef enum LUAT_MOBILE_EVENT
324{
325 LUAT_MOBILE_EVENT_CFUN = 0,
326 LUAT_MOBILE_EVENT_SIM,
327 LUAT_MOBILE_EVENT_REGISTER_STATUS,
328 LUAT_MOBILE_EVENT_CELL_INFO,
329 LUAT_MOBILE_EVENT_PDP,
330 LUAT_MOBILE_EVENT_NETIF,
331 LUAT_MOBILE_EVENT_TIME_SYNC,
332 LUAT_MOBILE_EVENT_CSCON,
333}LUAT_MOBILE_EVENT_E;
334
335typedef enum LUAT_MOBILE_CFUN_STATUS
336{
337 LUAT_MOBILE_CFUN_OFF = 0,
338 LUAT_MOBILE_CFUN_ON,
339 LUAT_MOBILE_CFUN_NO_RF = 4,
340}LUAT_MOBILE_CFUN_STATUS_E;
341
342typedef enum LUAT_MOBILE_SIM_STATUS
343{
344 LUAT_MOBILE_SIM_READY = 0,
345 LUAT_MOBILE_NO_SIM,
346 LUAT_MOBILE_SIM_NEED_PIN,
347}LUAT_MOBILE_SIM_STATUS_E;
348
349typedef enum LUAT_MOBILE_REGISTER_STATUS
350{
351 LUAT_MOBILE_STATUS_UNREGISTER,
352 LUAT_MOBILE_STATUS_REGISTERED,
353 LUAT_MOBILE_STATUS_DENIED,
354 LUAT_MOBILE_STATUS_UNKNOW,
355 LUAT_MOBILE_STATUS_REGISTERED_ROAMING,
356 LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED,
357 LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED_ROAMING,
358 LUAT_MOBILE_STATUS_EMERGENCY_REGISTERED,
359 LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED,
360 LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED_ROAMING,
361}LUAT_MOBILE_REGISTER_STATUS_E;
362
363typedef enum LUAT_MOBILE_CELL_INFO_STATUS
364{
365 LUAT_MOBILE_CELL_INFO_UPDATE = 0,
366 LUAT_MOBILE_SIGNAL_UPDATE,
367}LUAT_MOBILE_CELL_INFO_STATUS_E;
368
369typedef enum LUAT_MOBILE_PDP_STATUS
370{
371 LUAT_MOBILE_PDP_ACTIVED = 0,
372 LUAT_MOBILE_PDP_DEACTIVING,
373 LUAT_MOBILE_PDP_DEACTIVED,
374}LUAT_MOBILE_PDP_STATUS_E;
375
376typedef enum LUAT_MOBILE_NETIF_STATUS
377{
378 LUAT_MOBILE_NETIF_LINK_ON = 0,
379 LUAT_MOBILE_NETIF_LINK_OFF,
380 LUAT_MOBILE_NETIF_LINK_OOS,
381}LUAT_MOBILE_NETIF_STATUS_E;
382
388 LUAT_MOBILE_REGISTER_STATUS_E luat_mobile_get_register_status(void);
389
394typedef void (*luat_mobile_event_callback_t)(LUAT_MOBILE_EVENT_E event, uint8_t index, uint8_t status);
395
396
401typedef void (*luat_mobile_sms_event_callback_t)(uint32_t event, void *param);
402
403
410int luat_mobile_event_register_handler(luat_mobile_event_callback_t callback_fun);
411
417int luat_mobile_event_deregister_handler(void);
418
419
426int luat_mobile_sms_sdk_event_register_handler(luat_mobile_sms_event_callback_t callback_fun);
427/* ------------------------------------------------- mobile status end ------------------------------------------------ */
428
435void luat_mobile_set_rrc_auto_release_time(uint8_t s);
436
443void luat_mobile_rrc_auto_release_pause(uint8_t onoff);
444
445
450void luat_mobile_rrc_release_once(void);
451
457int luat_mobile_reset_stack(void);
458
467int luat_mobile_set_period_work(uint32_t get_cell_period, uint32_t check_sim_period, uint8_t search_cell_time);
469#endif
luat_mobile_get_last_notify_signal_strength_info
int luat_mobile_get_last_notify_signal_strength_info(luat_mobile_signal_strength_info_t *info)
获取最近一次网络信号状态更新通知后的网络信号状态详细信息
luat_mobile_sms_sdk_event_register_handler
int luat_mobile_sms_sdk_event_register_handler(luat_mobile_sms_event_callback_t callback_fun)
注册底层短信消息回调函数，后续改为统一消息处理
LUAT_MOBILE_NETIF_STATUS_E
enum LUAT_MOBILE_NETIF_STATUS LUAT_MOBILE_NETIF_STATUS_E
LUAT_MOBILE_CFUN_STATUS
LUAT_MOBILE_CFUN_STATUS
Definition: luat_mobile.h:336
luat_mobile_gsm_cell_info_t
struct luat_mobile_gsm_cell_info luat_mobile_gsm_cell_info_t
luat_mobile_set_flymode
int luat_mobile_set_flymode(int index, int mode)
进出飞行模式
luat_mobile_get_last_notify_signal_strength
int luat_mobile_get_last_notify_signal_strength(uint8_t *csq)
获取最近一次网络信号状态更新通知后的CSQ值
LUAT_MOBILE_CFUN_STATUS_E
enum LUAT_MOBILE_CFUN_STATUS LUAT_MOBILE_CFUN_STATUS_E
luat_mobile_get_local_ip
int luat_mobile_get_local_ip(int sim_id, int cid, ip_addr_t *ip_v4, ip_addr_t *ip_v6)
获取已激活承载分配的本地ip地址
luat_mobile_event_callback_t
void(* luat_mobile_event_callback_t)(LUAT_MOBILE_EVENT_E event, uint8_t index, uint8_t status)
网络状态及相关功能状态发生更换时的回调函数，event是消息，index是CID，SIM卡号之类的序号，status是变更后的状态或者更具体的ENUM
Definition: luat_mobile.h:394
luat_mobile_signal_strength_info_t
struct luat_mobile_signal_strength_info luat_mobile_signal_strength_info_t
luat_mobile_get_signal_strength_info
int luat_mobile_get_signal_strength_info(luat_mobile_signal_strength_info_t *info)
获取当前移动网络信号状态详细信息
luat_mobile_gw_signal_strength_info_t
struct luat_mobile_gw_signal_strength_info luat_mobile_gw_signal_strength_info_t
luat_mobile_get_imsi
int luat_mobile_get_imsi(int sim_id, char *buff, size_t buf_len)
获取SIM卡的IMSI
LUAT_MOBILE_NETIF_STATUS
LUAT_MOBILE_NETIF_STATUS
Definition: luat_mobile.h:377
LUAT_MOBILE_EVENT
LUAT_MOBILE_EVENT
网络状态及相关功能状态发生更换的消息
Definition: luat_mobile.h:324
luat_mobile_get_last_notify_cell_info
int luat_mobile_get_last_notify_cell_info(luat_mobile_cell_info_t *info)
获取上一次异步搜索周围小区基站信息，包括周期性搜索和异步搜索，在LUAT_MOBILE_CELL_INFO_UPDATE到来后用本函数获取信息
luat_mobile_cell_info_t
struct luat_mobile_cell_info luat_mobile_cell_info_t
LUAT_MOBILE_CELL_INFO_STATUS_E
enum LUAT_MOBILE_CELL_INFO_STATUS LUAT_MOBILE_CELL_INFO_STATUS_E
luat_mobile_set_sn
int luat_mobile_set_sn(char *buff, uint8_t buf_len)
设置SN
LUAT_MOBILE_REGISTER_STATUS
LUAT_MOBILE_REGISTER_STATUS
Definition: luat_mobile.h:350
luat_mobile_get_default_apn
int luat_mobile_get_default_apn(int sim_id, char *buff, size_t buf_len)
获取默认CID的apn name，并不一定支持
luat_mobile_rrc_auto_release_pause
void luat_mobile_rrc_auto_release_pause(uint8_t onoff)
RRC自动释放暂停/恢复
LUAT_MOBILE_SIM_STATUS_E
enum LUAT_MOBILE_SIM_STATUS LUAT_MOBILE_SIM_STATUS_E
luat_mobile_lte_signal_strength_info_t
struct luat_mobile_lte_signal_strength_info luat_mobile_lte_signal_strength_info_t
luat_mobile_event_deregister_handler
int luat_mobile_event_deregister_handler(void)
注销网络状态及相关功能状态发生更换时的回调函数
luat_mobile_lte_cell_info_t
struct luat_mobile_lte_cell_info luat_mobile_lte_cell_info_t
luat_mobile_reset_stack
int luat_mobile_reset_stack(void)
重新底层网络协议栈，本质是快速的进出飞行模式，注意和设置飞行模式是冲突的，一定时间内只能用一个。
luat_mobile_lte_service_cell_info_t
struct luat_mobile_lte_service_cell_info luat_mobile_lte_service_cell_info_t
luat_mobile_rrc_release_once
void luat_mobile_rrc_release_once(void)
RRC立刻释放一次，不能在luat_mobile_event_callback里使用
luat_mobile_gsm_service_cell_info_t
struct luat_mobile_gsm_service_cell_info luat_mobile_gsm_service_cell_info_t
luat_mobile_get_sim_id
int luat_mobile_get_sim_id(int *id)
当前使用的SIM卡的位置，并不一定支持
LUAT_MOBILE_PDP_STATUS_E
enum LUAT_MOBILE_PDP_STATUS LUAT_MOBILE_PDP_STATUS_E
LUAT_MOBILE_CELL_MAX_NUM
#define LUAT_MOBILE_CELL_MAX_NUM
Definition: luat_mobile.h:159
luat_mobile_get_signal_strength
int luat_mobile_get_signal_strength(uint8_t *csq)
获取CSQ值 CSQ从RSSI转换而来，只能作为天线口状态的一个参考，而不能作为LTE网络信号状态的参考
luat_mobile_get_sn
int luat_mobile_get_sn(char *buff, size_t buf_len)
获取SN，如果用户没有调用luat_mobile_set_sn接口写过SN，默认值为空
luat_mobile_get_iccid
int luat_mobile_get_iccid(int sim_id, char *buff, size_t buf_len)
获取SIM卡的ICCID
luat_mobile_set_rrc_auto_release_time
void luat_mobile_set_rrc_auto_release_time(uint8_t s)
设置RRC自动释放时间，在RRC active（见LUAT_MOBILE_EVENT_CSCON）后经过一段时间在适当的时机释放RRC
luat_mobile_get_imei
int luat_mobile_get_imei(int sim_id, char *buff, size_t buf_len)
获取IMEI
luat_mobile_get_apn
int luat_mobile_get_apn(int sim_id, int cid, char *buff, size_t buf_len)
获取配置的apn name，并不一定支持
luat_mobile_get_cell_info_async
int luat_mobile_get_cell_info_async(uint8_t max_time)
立刻搜索一次周围小区基站信息，通过LUAT_MOBILE_CELL_INFO_UPDATE返回搜索完成消息，luat_mobile_get_last_notify_cell_info获取详细信息
luat_mobile_get_muid
int luat_mobile_get_muid(char *buff, size_t buf_len)
获取MUID，并不一定存在
luat_mobile_sms_event_callback_t
void(* luat_mobile_sms_event_callback_t)(uint32_t event, void *param)
底层短信消息回调函数，event是消息，param是具体数据指针，暂时不同的平台需要独自处理
Definition: luat_mobile.h:401
LUAT_MOBILE_SIM_STATUS
LUAT_MOBILE_SIM_STATUS
Definition: luat_mobile.h:343
LUAT_MOBILE_REGISTER_STATUS_E
enum LUAT_MOBILE_REGISTER_STATUS LUAT_MOBILE_REGISTER_STATUS_E
luat_mobile_set_sim_id
int luat_mobile_set_sim_id(int id)
改变使用的SIM卡的位置，并不一定支持
luat_mobile_event_register_handler
int luat_mobile_event_register_handler(luat_mobile_event_callback_t callback_fun)
注册网络状态及相关功能状态发生更换时的回调函数
LUAT_MOBILE_CELL_INFO_STATUS
LUAT_MOBILE_CELL_INFO_STATUS
Definition: luat_mobile.h:364
luat_mobile_set_period_work
int luat_mobile_set_period_work(uint32_t get_cell_period, uint32_t check_sim_period, uint8_t search_cell_time)
设置周期性辅助工作，包括周期性搜索小区基站，SIM卡短时间脱离卡槽后周期性尝试恢复，这个功能和luat_mobile_reset_stack是有可能冲突的。所有功能默认都是关闭的
luat_mobile_get_register_status
LUAT_MOBILE_REGISTER_STATUS_E luat_mobile_get_register_status(void)
luat_mobile_get_cell_info
int luat_mobile_get_cell_info(luat_mobile_cell_info_t *info)
立刻搜索一次周围小区基站信息，并同步返回结果
LUAT_MOBILE_EVENT_E
enum LUAT_MOBILE_EVENT LUAT_MOBILE_EVENT_E
网络状态及相关功能状态发生更换的消息
LUAT_MOBILE_PDP_STATUS
LUAT_MOBILE_PDP_STATUS
Definition: luat_mobile.h:370
luat_mobile_rssi_to_csq
uint8_t luat_mobile_rssi_to_csq(int8_t rssi)
从RSSI转换到CSQ，RSSI只能作为天线口状态的一个参考，而不能作为LTE网络信号状态的参考
luat_mobile_get_flymode
int luat_mobile_get_flymode(int index)
飞行模式当前状态
LUAT_MOBILE_CFUN_OFF
@ LUAT_MOBILE_CFUN_OFF
Definition: luat_mobile.h:337
LUAT_MOBILE_CFUN_ON
@ LUAT_MOBILE_CFUN_ON
Definition: luat_mobile.h:338
LUAT_MOBILE_CFUN_NO_RF
@ LUAT_MOBILE_CFUN_NO_RF
Definition: luat_mobile.h:339
LUAT_MOBILE_NETIF_LINK_ON
@ LUAT_MOBILE_NETIF_LINK_ON
Definition: luat_mobile.h:378
LUAT_MOBILE_NETIF_LINK_OOS
@ LUAT_MOBILE_NETIF_LINK_OOS
Definition: luat_mobile.h:380
LUAT_MOBILE_NETIF_LINK_OFF
@ LUAT_MOBILE_NETIF_LINK_OFF
Definition: luat_mobile.h:379
LUAT_MOBILE_EVENT_NETIF
@ LUAT_MOBILE_EVENT_NETIF
Definition: luat_mobile.h:330
LUAT_MOBILE_EVENT_TIME_SYNC
@ LUAT_MOBILE_EVENT_TIME_SYNC
Definition: luat_mobile.h:331
LUAT_MOBILE_EVENT_CELL_INFO
@ LUAT_MOBILE_EVENT_CELL_INFO
Definition: luat_mobile.h:328
LUAT_MOBILE_EVENT_SIM
@ LUAT_MOBILE_EVENT_SIM
Definition: luat_mobile.h:326
LUAT_MOBILE_EVENT_CFUN
@ LUAT_MOBILE_EVENT_CFUN
Definition: luat_mobile.h:325
LUAT_MOBILE_EVENT_REGISTER_STATUS
@ LUAT_MOBILE_EVENT_REGISTER_STATUS
Definition: luat_mobile.h:327
LUAT_MOBILE_EVENT_PDP
@ LUAT_MOBILE_EVENT_PDP
Definition: luat_mobile.h:329
LUAT_MOBILE_EVENT_CSCON
@ LUAT_MOBILE_EVENT_CSCON
Definition: luat_mobile.h:332
LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED
@ LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED
Definition: luat_mobile.h:359
LUAT_MOBILE_STATUS_UNREGISTER
@ LUAT_MOBILE_STATUS_UNREGISTER
Definition: luat_mobile.h:351
LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED_ROAMING
@ LUAT_MOBILE_STATUS_CSFB_NOT_PREFERRED_REGISTERED_ROAMING
Definition: luat_mobile.h:360
LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED
@ LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED
Definition: luat_mobile.h:356
LUAT_MOBILE_STATUS_REGISTERED_ROAMING
@ LUAT_MOBILE_STATUS_REGISTERED_ROAMING
Definition: luat_mobile.h:355
LUAT_MOBILE_STATUS_EMERGENCY_REGISTERED
@ LUAT_MOBILE_STATUS_EMERGENCY_REGISTERED
Definition: luat_mobile.h:358
LUAT_MOBILE_STATUS_DENIED
@ LUAT_MOBILE_STATUS_DENIED
Definition: luat_mobile.h:353
LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED_ROAMING
@ LUAT_MOBILE_STATUS_SMS_ONLY_REGISTERED_ROAMING
Definition: luat_mobile.h:357
LUAT_MOBILE_STATUS_UNKNOW
@ LUAT_MOBILE_STATUS_UNKNOW
Definition: luat_mobile.h:354
LUAT_MOBILE_STATUS_REGISTERED
@ LUAT_MOBILE_STATUS_REGISTERED
Definition: luat_mobile.h:352
LUAT_MOBILE_SIM_NEED_PIN
@ LUAT_MOBILE_SIM_NEED_PIN
Definition: luat_mobile.h:346
LUAT_MOBILE_NO_SIM
@ LUAT_MOBILE_NO_SIM
Definition: luat_mobile.h:345
LUAT_MOBILE_SIM_READY
@ LUAT_MOBILE_SIM_READY
Definition: luat_mobile.h:344
LUAT_MOBILE_CELL_INFO_UPDATE
@ LUAT_MOBILE_CELL_INFO_UPDATE
Definition: luat_mobile.h:365
LUAT_MOBILE_SIGNAL_UPDATE
@ LUAT_MOBILE_SIGNAL_UPDATE
Definition: luat_mobile.h:366
LUAT_MOBILE_PDP_ACTIVED
@ LUAT_MOBILE_PDP_ACTIVED
Definition: luat_mobile.h:371
LUAT_MOBILE_PDP_DEACTIVING
@ LUAT_MOBILE_PDP_DEACTIVING
Definition: luat_mobile.h:372
LUAT_MOBILE_PDP_DEACTIVED
@ LUAT_MOBILE_PDP_DEACTIVED
Definition: luat_mobile.h:373
luat_mobile_cell_info
Definition: luat_mobile.h:215
luat_mobile_cell_info::lte_neighbor_info_num
uint8_t lte_neighbor_info_num
Definition: luat_mobile.h:223
luat_mobile_cell_info::lte_info_valid
uint8_t lte_info_valid
Definition: luat_mobile.h:222
luat_mobile_cell_info::gsm_neighbor_info_num
uint8_t gsm_neighbor_info_num
Definition: luat_mobile.h:221
luat_mobile_cell_info::gsm_info
luat_mobile_gsm_cell_info_t gsm_info[LUAT_MOBILE_CELL_MAX_NUM]
Definition: luat_mobile.h:217
luat_mobile_cell_info::lte_info
luat_mobile_lte_cell_info_t lte_info[LUAT_MOBILE_CELL_MAX_NUM]
Definition: luat_mobile.h:219
luat_mobile_cell_info::gsm_info_valid
uint8_t gsm_info_valid
Definition: luat_mobile.h:220
luat_mobile_cell_info::gsm_service_info
luat_mobile_gsm_service_cell_info_t gsm_service_info
Definition: luat_mobile.h:216
luat_mobile_cell_info::lte_service_info
luat_mobile_lte_service_cell_info_t lte_service_info
Definition: luat_mobile.h:218
luat_mobile_gsm_cell_info
Definition: luat_mobile.h:173
luat_mobile_gsm_cell_info::lac
int lac
Definition: luat_mobile.h:177
luat_mobile_gsm_cell_info::bsic
int bsic
Definition: luat_mobile.h:179
luat_mobile_gsm_cell_info::arfcn
int arfcn
Definition: luat_mobile.h:178
luat_mobile_gsm_cell_info::mnc
int mnc
Definition: luat_mobile.h:176
luat_mobile_gsm_cell_info::rssi
int rssi
Definition: luat_mobile.h:180
luat_mobile_gsm_cell_info::cid
int cid
Definition: luat_mobile.h:174
luat_mobile_gsm_cell_info::mcc
int mcc
Definition: luat_mobile.h:175
luat_mobile_gsm_service_cell_info
Definition: luat_mobile.h:162
luat_mobile_gsm_service_cell_info::lac
int lac
Definition: luat_mobile.h:166
luat_mobile_gsm_service_cell_info::bsic
int bsic
Definition: luat_mobile.h:168
luat_mobile_gsm_service_cell_info::arfcn
int arfcn
Definition: luat_mobile.h:167
luat_mobile_gsm_service_cell_info::mnc
int mnc
Definition: luat_mobile.h:165
luat_mobile_gsm_service_cell_info::rssi
int rssi
Definition: luat_mobile.h:169
luat_mobile_gsm_service_cell_info::cid
int cid
Definition: luat_mobile.h:163
luat_mobile_gsm_service_cell_info::mcc
int mcc
Definition: luat_mobile.h:164
luat_mobile_gw_signal_strength_info
Definition: luat_mobile.h:253
luat_mobile_gw_signal_strength_info::ecno
int ecno
Definition: luat_mobile.h:257
luat_mobile_gw_signal_strength_info::bitErrorRate
int bitErrorRate
Definition: luat_mobile.h:255
luat_mobile_gw_signal_strength_info::rssi
int rssi
Definition: luat_mobile.h:254
luat_mobile_gw_signal_strength_info::rscp
int rscp
Definition: luat_mobile.h:256
luat_mobile_lte_cell_info
Definition: luat_mobile.h:202
luat_mobile_lte_cell_info::snr
int16_t snr
Definition: luat_mobile.h:211
luat_mobile_lte_cell_info::rsrq
int16_t rsrq
Definition: luat_mobile.h:210
luat_mobile_lte_cell_info::mnc
uint16_t mnc
Definition: luat_mobile.h:205
luat_mobile_lte_cell_info::tac
uint16_t tac
Definition: luat_mobile.h:206
luat_mobile_lte_cell_info::rsrp
int16_t rsrp
Definition: luat_mobile.h:209
luat_mobile_lte_cell_info::pci
uint16_t pci
Definition: luat_mobile.h:207
luat_mobile_lte_cell_info::mcc
uint16_t mcc
Definition: luat_mobile.h:204
luat_mobile_lte_cell_info::earfcn
uint32_t earfcn
Definition: luat_mobile.h:208
luat_mobile_lte_cell_info::cid
uint32_t cid
Definition: luat_mobile.h:203
luat_mobile_lte_service_cell_info
Definition: luat_mobile.h:184
luat_mobile_lte_service_cell_info::snr
int16_t snr
Definition: luat_mobile.h:194
luat_mobile_lte_service_cell_info::band
uint8_t band
Definition: luat_mobile.h:196
luat_mobile_lte_service_cell_info::rsrq
int16_t rsrq
Definition: luat_mobile.h:193
luat_mobile_lte_service_cell_info::mnc
uint16_t mnc
Definition: luat_mobile.h:187
luat_mobile_lte_service_cell_info::ulbandwidth
uint8_t ulbandwidth
Definition: luat_mobile.h:197
luat_mobile_lte_service_cell_info::tac
uint16_t tac
Definition: luat_mobile.h:188
luat_mobile_lte_service_cell_info::rsrp
int16_t rsrp
Definition: luat_mobile.h:192
luat_mobile_lte_service_cell_info::is_tdd
uint8_t is_tdd
Definition: luat_mobile.h:195
luat_mobile_lte_service_cell_info::pci
uint16_t pci
Definition: luat_mobile.h:189
luat_mobile_lte_service_cell_info::mcc
uint16_t mcc
Definition: luat_mobile.h:186
luat_mobile_lte_service_cell_info::rssi
int16_t rssi
Definition: luat_mobile.h:191
luat_mobile_lte_service_cell_info::earfcn
uint32_t earfcn
Definition: luat_mobile.h:190
luat_mobile_lte_service_cell_info::cid
uint32_t cid
Definition: luat_mobile.h:185
luat_mobile_lte_service_cell_info::dlbandwidth
uint8_t dlbandwidth
Definition: luat_mobile.h:198
luat_mobile_lte_signal_strength_info
Definition: luat_mobile.h:261
luat_mobile_lte_signal_strength_info::snr
int16_t snr
Definition: luat_mobile.h:265
luat_mobile_lte_signal_strength_info::rsrq
int16_t rsrq
Definition: luat_mobile.h:264
luat_mobile_lte_signal_strength_info::rsrp
int16_t rsrp
Definition: luat_mobile.h:263
luat_mobile_lte_signal_strength_info::rssi
int16_t rssi
Definition: luat_mobile.h:262
luat_mobile_signal_strength_info
Definition: luat_mobile.h:269
luat_mobile_signal_strength_info::gw_signal_strength
luat_mobile_gw_signal_strength_info_t gw_signal_strength
Definition: luat_mobile.h:270
luat_mobile_signal_strength_info::luat_mobile_gw_signal_strength_vaild
uint8_t luat_mobile_gw_signal_strength_vaild
Definition: luat_mobile.h:272
luat_mobile_signal_strength_info::luat_mobile_lte_signal_strength_vaild
uint8_t luat_mobile_lte_signal_strength_vaild
Definition: luat_mobile.h:273
luat_mobile_signal_strength_info::lte_signal_strength
luat_mobile_lte_signal_strength_info_t lte_signal_strength
Definition: luat_mobile.h:271


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_otp.h 源文件

  • interface
  • include
luat_otp.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22
23#ifndef LUAT_OTP_H
24#define LUAT_OTP_H
25#include "luat_base.h"
40int luat_otp_read(int zone, char* buff, size_t offset, size_t len);
41
51int luat_otp_write(int zone, char* buff, size_t offset, size_t len);
60int luat_otp_erase(int zone, size_t offset, size_t len);
67int luat_otp_lock(int zone);
74int luat_otp_size(int zone);
75
76
80#endif
luat_otp_erase
int luat_otp_erase(int zone, size_t offset, size_t len)
抹除指定区域的OTP数据
luat_otp_read
int luat_otp_read(int zone, char *buff, size_t offset, size_t len)
读取指定区域的OTP数据
luat_otp_lock
int luat_otp_lock(int zone)
锁定指定区域的OTP数据,不再可写,不可抹除
luat_otp_size
int luat_otp_size(int zone)
指定区域的OTP区域大小
luat_otp_write
int luat_otp_write(int zone, char *buff, size_t offset, size_t len)
写入指定区域的OTP数据


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_pm.h 源文件

  • interface
  • include
luat_pm.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_PM_H
23#define LUAT_PM_H
24
25#include "luat_base.h"
31/* ------------------------------------------------ sleep begin----------------------------------------------- */
32#define LUAT_PM_SLEEP_MODE_NONE 0
33#define LUAT_PM_SLEEP_MODE_IDLE 1
34#define LUAT_PM_SLEEP_MODE_LIGHT 2
35#define LUAT_PM_SLEEP_MODE_DEEP 3
36#define LUAT_PM_SLEEP_MODE_STANDBY 4
37//#define LUAT_PM_SLEEP_MODE_SHUTDOWN 5 ///<关断模式，比 Standby 模式功耗更低， 上下文通常不可恢复， 唤醒后复位
38
46int luat_pm_set_sleep_mode(int mode, const char *vote_tag);
47
54int luat_pm_get_sleep_mode(const char *vote_tag);
55
56typedef void (*luat_pm_sleep_callback_t)(int mode);
63int luat_pm_sleep_register_pre_handler(luat_pm_sleep_callback_t callback_fun);
64
70int luat_pm_sleep_deregister_pre_handler(void);
71
78int luat_pm_sleep_register_post_handler(luat_pm_sleep_callback_t callback_fun);
79
80
87int luat_pm_sleep_deregister_post_handler(void);
88/*------------------------------------------------ sleep end----------------------------------------------- */
89
90
91/* ----------------------------------------------- wkaeup begin---------------------------------------------- */
95typedef enum LUAT_PM_WAKEUP_PAD
96{
97 LUAT_PM_WAKEUP_PAD_0 = 0,
98 LUAT_PM_WAKEUP_PAD_1,
99 LUAT_PM_WAKEUP_PAD_2,
100 LUAT_PM_WAKEUP_PAD_3,
101 LUAT_PM_WAKEUP_PAD_4,
102 LUAT_PM_WAKEUP_PAD_5,
103 LUAT_PM_WAKEUP_LPUART,
104 LUAT_PM_WAKEUP_LPUSB,
105 LUAT_PM_WAKEUP_PWRKEY,
106 LUAT_PM_WAKEUP_CHARGE,
107 LUAT_PM_WAKEUP_PAD_MAX
108}LUAT_PM_WAKEUP_PAD_E;
112typedef struct luat_pm_wakeup_pad_cfg
113{
114 uint8_t pos_edge_enable;
115 uint8_t neg_edge_enable;
116 uint8_t pull_up_enable;
117 uint8_t pull_down_enable;
118}luat_pm_wakeup_pad_cfg_t;
122typedef void (*luat_pm_wakeup_pad_isr_callback_t)(LUAT_PM_WAKEUP_PAD_E num);
123
130int luat_pm_wakeup_pad_set_callback(luat_pm_wakeup_pad_isr_callback_t callback_fun);
131
140int luat_pm_wakeup_pad_set(uint8_t enable, LUAT_PM_WAKEUP_PAD_E source_id, luat_pm_wakeup_pad_cfg_t *cfg);
141
148int luat_pm_wakeup_pad_get_value(LUAT_PM_WAKEUP_PAD_E source_id);
149
153typedef enum LUAT_PM_POWERKEY_MODE
154{
155 LUAT_PM_PWRKEY_PWRON_MODE = 0,
156 LUAT_PM_PWRKEY_WAKEUP_LOWACTIVE_MODE,
157 LUAT_PM_PWRKEY_WAKEUP_HIGHACTIVE_MODE,
158 LUAT_PM_PWRKEY_UNKNOW_MODE,
159}LUAT_PM_POWERKEY_MODE_E;
160
164typedef enum LUAT_PM_POWERKEY_STATE
165{
166 LUAT_PM_PWRKEY_RELEASE = 0,
167 LUAT_PM_PWRKEY_PRESS,
168 LUAT_PM_PWRKEY_LONGPRESS,
169 LUAT_PM_PWRKEY_REPEAT,
170}LUAT_PM_POWERKEY_STATE_E;
171
175typedef struct
176{
177 int16_t long_press_timeout;
178 int16_t repeat_timeout;
179 int16_t pwroff_timeout;
180}luat_pm_pwrkey_cfg_t;
181
182typedef void(* luat_pm_pwrkey_callback_t)(LUAT_PM_POWERKEY_MODE_E status);
183
193int luat_pm_set_pwrkey(LUAT_PM_POWERKEY_MODE_E mode, bool pullUpEn, luat_pm_pwrkey_cfg_t *cfg, luat_pm_pwrkey_callback_t callback);
194/* ------------------------------------------------ wakeup end----------------------------------------------- */
195
196
197/* ---------------------------------------- power on/off/reboot begin---------------------------------------- */
201typedef enum LUAT_PM_POWERON_REASON
202{
203 LUAT_PM_POWERON_REASON_KEY,
204 LUAT_PM_POWERON_REASON_CHARGER,
205 LUAT_PM_POWERON_REASON_ALARM,
206 LUAT_PM_POWERON_REASON_REBOOT,
207 LUAT_PM_POWERON_REASON_EXCEPTION,
208 LUAT_PM_POWERON_REASON_RESET,
209 LUAT_PM_POWERON_REASON_WDT,
210 LUAT_PM_POWERON_REASON_UNKOWN = 0xFF
211} LUAT_PM_POWERON_REASON_E;
217int luat_pm_get_poweron_reason(void);
221int luat_pm_poweroff(void);
225int luat_pm_reboot(void);
226/* ----------------------------------------- power on/off/reboot end----------------------------------------- */
227
228
229/* --------------------------------------------- vbat/vbus begin--------------------------------------------- */
234int luat_pm_get_vbus_status(uint8_t *status);
238typedef enum LUAT_PM_EVENT
239{
240 LUAT_PM_BATTERY_VOLT_EVENT = 0,
241 LUAT_PM_VBUS_STATUS_EVENT
242}LUAT_PM_EVENT_E;
246typedef void (*luat_pm_event_callback_t)(LUAT_PM_EVENT_E event, uint32_t param);
251int luat_pm_event_register_handler(luat_pm_event_callback_t callback_fun);
252
253/* ---------------------------------------------- vbat/vbus end---------------------------------------------- */
254
255
256/* ------------------------------------------------ timer begin----------------------------------------------- */\
260typedef enum LUAT_PM_DEEPSLEEP_TIMERID
261{
262 LUAT_PM_DEEPSLEEP_TIMER_ID0 = 0,
263 LUAT_PM_DEEPSLEEP_TIMER_ID1,
264 LUAT_PM_DEEPSLEEP_TIMER_ID2,
265 LUAT_PM_DEEPSLEEP_TIMER_ID3,
266 LUAT_PM_DEEPSLEEP_TIMER_ID4,
267 LUAT_PM_DEEPSLEEP_TIMER_ID5,
268 LUAT_PM_DEEPSLEEP_TIMER_ID6,
269}LUAT_PM_DEEPSLEEP_TIMERID_E;
270
271
275typedef enum LUAT_PM_WAKEUP_REASON
276{
277 LUAT_PM_WAKEUP_FROM_POR = 0,
278 LUAT_PM_WAKEUP_FROM_RTC,
279 LUAT_PM_WAKEUP_FROM_PAD,
280 LUAT_PM_WAKEUP_FROM_LPUART,
281 LUAT_PM_WAKEUP_FROM_LPUSB,
282 LUAT_PM_WAKEUP_FROM_PWRKEY,
283 LUAT_PM_WAKEUP_FROM_CHARG,
284}LUAT_PM_WAKEUP_REASON_E;
285
289typedef LUAT_RT_RET_TYPE (*luat_pm_deep_sleep_mode_timer_callback_t)(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id);
290
298int luat_pm_deep_sleep_mode_register_timer_cb(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id, luat_pm_deep_sleep_mode_timer_callback_t callback);
299
307int luat_pm_deep_sleep_mode_timer_start(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id, int timeout);
308
315int luat_pm_deep_sleep_mode_timer_stop(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id);
316
323int luat_pm_deep_sleep_mode_timer_is_running(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id);
324
330int luat_pm_get_wakeup_reason(void);
331/*------------------------------------------------ timer end----------------------------------------------- */
332
339int luat_pm_set_usb_power(uint8_t onoff);
340
344#endif
luat_pm_wakeup_pad_set
int luat_pm_wakeup_pad_set(uint8_t enable, LUAT_PM_WAKEUP_PAD_E source_id, luat_pm_wakeup_pad_cfg_t *cfg)
配置wakeupPad中断参数，和GPIO20-22输入配置冲突，不可以和GPIO的API同时使用，建议使用GPIO的API
luat_pm_pwrkey_callback_t
void(* luat_pm_pwrkey_callback_t)(LUAT_PM_POWERKEY_MODE_E status)
Definition: luat_pm.h:182
LUAT_PM_POWERKEY_MODE_E
enum LUAT_PM_POWERKEY_MODE LUAT_PM_POWERKEY_MODE_E
powerkey设置模式
LUAT_PM_POWERKEY_MODE
LUAT_PM_POWERKEY_MODE
powerkey设置模式
Definition: luat_pm.h:154
luat_pm_sleep_callback_t
void(* luat_pm_sleep_callback_t)(int mode)
Definition: luat_pm.h:56
luat_pm_sleep_register_pre_handler
int luat_pm_sleep_register_pre_handler(luat_pm_sleep_callback_t callback_fun)
注册休眠前回调函数
LUAT_PM_WAKEUP_PAD
LUAT_PM_WAKEUP_PAD
wakeupPad
Definition: luat_pm.h:96
luat_pm_deep_sleep_mode_timer_is_running
int luat_pm_deep_sleep_mode_timer_is_running(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id)
检查深度睡眠模式下的软件定时器是否正在运行
LUAT_PM_DEEPSLEEP_TIMERID_E
enum LUAT_PM_DEEPSLEEP_TIMERID LUAT_PM_DEEPSLEEP_TIMERID_E
深度睡眠模式的软件定时器ID
luat_pm_sleep_deregister_post_handler
int luat_pm_sleep_deregister_post_handler(void)
解注册唤醒后回调函数
luat_pm_set_sleep_mode
int luat_pm_set_sleep_mode(int mode, const char *vote_tag)
设置最深休眠模式标记
luat_pm_deep_sleep_mode_register_timer_cb
int luat_pm_deep_sleep_mode_register_timer_cb(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id, luat_pm_deep_sleep_mode_timer_callback_t callback)
注册深度睡眠模式下的软件定时器超时回调函数
LUAT_PM_POWERON_REASON
LUAT_PM_POWERON_REASON
开机原因
Definition: luat_pm.h:202
luat_pm_set_pwrkey
int luat_pm_set_pwrkey(LUAT_PM_POWERKEY_MODE_E mode, bool pullUpEn, luat_pm_pwrkey_cfg_t *cfg, luat_pm_pwrkey_callback_t callback)
配置powerkey按键
LUAT_PM_WAKEUP_PAD_E
enum LUAT_PM_WAKEUP_PAD LUAT_PM_WAKEUP_PAD_E
wakeupPad
LUAT_PM_EVENT
LUAT_PM_EVENT
电源管理事件变化参数
Definition: luat_pm.h:239
LUAT_PM_POWERON_REASON_E
enum LUAT_PM_POWERON_REASON LUAT_PM_POWERON_REASON_E
开机原因
luat_pm_reboot
int luat_pm_reboot(void)
设备重启
luat_pm_deep_sleep_mode_timer_start
int luat_pm_deep_sleep_mode_timer_start(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id, int timeout)
启动深度睡眠模式下的软件定时器
luat_pm_deep_sleep_mode_timer_callback_t
LUAT_RT_RET_TYPE(* luat_pm_deep_sleep_mode_timer_callback_t)(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id)
定义定时时间到后的回调函数类型
Definition: luat_pm.h:289
luat_pm_sleep_register_post_handler
int luat_pm_sleep_register_post_handler(luat_pm_sleep_callback_t callback_fun)
注册唤醒后回调函数
LUAT_PM_WAKEUP_REASON
LUAT_PM_WAKEUP_REASON
从深度休眠模式下唤醒的原因
Definition: luat_pm.h:276
luat_pm_get_sleep_mode
int luat_pm_get_sleep_mode(const char *vote_tag)
获取休眠标记对应的休眠模式
luat_pm_sleep_deregister_pre_handler
int luat_pm_sleep_deregister_pre_handler(void)
解注册休眠前回调函数
LUAT_PM_DEEPSLEEP_TIMERID
LUAT_PM_DEEPSLEEP_TIMERID
深度睡眠模式的软件定时器ID
Definition: luat_pm.h:261
luat_pm_get_poweron_reason
int luat_pm_get_poweron_reason(void)
获取开机原因
luat_pm_wakeup_pad_cfg_t
struct luat_pm_wakeup_pad_cfg luat_pm_wakeup_pad_cfg_t
wakeupPad配置参数
luat_pm_get_wakeup_reason
int luat_pm_get_wakeup_reason(void)
获取唤醒原因
luat_pm_event_callback_t
void(* luat_pm_event_callback_t)(LUAT_PM_EVENT_E event, uint32_t param)
定义PM_event事件处理函数
Definition: luat_pm.h:246
luat_pm_set_usb_power
int luat_pm_set_usb_power(uint8_t onoff)
手动控制USB电源
luat_pm_wakeup_pad_set_callback
int luat_pm_wakeup_pad_set_callback(luat_pm_wakeup_pad_isr_callback_t callback_fun)
设置wakeupPad中断回调函数
LUAT_PM_POWERKEY_STATE
LUAT_PM_POWERKEY_STATE
powerkey状态
Definition: luat_pm.h:165
luat_pm_wakeup_pad_get_value
int luat_pm_wakeup_pad_get_value(LUAT_PM_WAKEUP_PAD_E source_id)
获取wakeupPad引脚电平
LUAT_PM_POWERKEY_STATE_E
enum LUAT_PM_POWERKEY_STATE LUAT_PM_POWERKEY_STATE_E
powerkey状态
luat_pm_event_register_handler
int luat_pm_event_register_handler(luat_pm_event_callback_t callback_fun)
定义PM_event事件处理函数回调函数
luat_pm_poweroff
int luat_pm_poweroff(void)
设置设备关机
luat_pm_wakeup_pad_isr_callback_t
void(* luat_pm_wakeup_pad_isr_callback_t)(LUAT_PM_WAKEUP_PAD_E num)
定义wakeupPad中断回调函数类型
Definition: luat_pm.h:122
luat_pm_deep_sleep_mode_timer_stop
int luat_pm_deep_sleep_mode_timer_stop(LUAT_PM_DEEPSLEEP_TIMERID_E timer_id)
停止深度睡眠模式下的软件定时器
LUAT_PM_EVENT_E
enum LUAT_PM_EVENT LUAT_PM_EVENT_E
电源管理事件变化参数
luat_pm_get_vbus_status
int luat_pm_get_vbus_status(uint8_t *status)
获取充电器状态
LUAT_PM_WAKEUP_REASON_E
enum LUAT_PM_WAKEUP_REASON LUAT_PM_WAKEUP_REASON_E
从深度休眠模式下唤醒的原因
LUAT_PM_PWRKEY_PWRON_MODE
@ LUAT_PM_PWRKEY_PWRON_MODE
Definition: luat_pm.h:155
LUAT_PM_PWRKEY_UNKNOW_MODE
@ LUAT_PM_PWRKEY_UNKNOW_MODE
Definition: luat_pm.h:158
LUAT_PM_PWRKEY_WAKEUP_LOWACTIVE_MODE
@ LUAT_PM_PWRKEY_WAKEUP_LOWACTIVE_MODE
Definition: luat_pm.h:156
LUAT_PM_PWRKEY_WAKEUP_HIGHACTIVE_MODE
@ LUAT_PM_PWRKEY_WAKEUP_HIGHACTIVE_MODE
Definition: luat_pm.h:157
LUAT_PM_WAKEUP_PAD_MAX
@ LUAT_PM_WAKEUP_PAD_MAX
Definition: luat_pm.h:107
LUAT_PM_WAKEUP_PAD_2
@ LUAT_PM_WAKEUP_PAD_2
Definition: luat_pm.h:99
LUAT_PM_WAKEUP_PAD_1
@ LUAT_PM_WAKEUP_PAD_1
Definition: luat_pm.h:98
LUAT_PM_WAKEUP_PAD_3
@ LUAT_PM_WAKEUP_PAD_3
Definition: luat_pm.h:100
LUAT_PM_WAKEUP_LPUSB
@ LUAT_PM_WAKEUP_LPUSB
Definition: luat_pm.h:104
LUAT_PM_WAKEUP_PAD_5
@ LUAT_PM_WAKEUP_PAD_5
Definition: luat_pm.h:102
LUAT_PM_WAKEUP_PAD_4
@ LUAT_PM_WAKEUP_PAD_4
Definition: luat_pm.h:101
LUAT_PM_WAKEUP_PAD_0
@ LUAT_PM_WAKEUP_PAD_0
Definition: luat_pm.h:97
LUAT_PM_WAKEUP_CHARGE
@ LUAT_PM_WAKEUP_CHARGE
Definition: luat_pm.h:106
LUAT_PM_WAKEUP_LPUART
@ LUAT_PM_WAKEUP_LPUART
Definition: luat_pm.h:103
LUAT_PM_WAKEUP_PWRKEY
@ LUAT_PM_WAKEUP_PWRKEY
Definition: luat_pm.h:105
LUAT_PM_POWERON_REASON_RESET
@ LUAT_PM_POWERON_REASON_RESET
Definition: luat_pm.h:208
LUAT_PM_POWERON_REASON_CHARGER
@ LUAT_PM_POWERON_REASON_CHARGER
Definition: luat_pm.h:204
LUAT_PM_POWERON_REASON_REBOOT
@ LUAT_PM_POWERON_REASON_REBOOT
Definition: luat_pm.h:206
LUAT_PM_POWERON_REASON_UNKOWN
@ LUAT_PM_POWERON_REASON_UNKOWN
Definition: luat_pm.h:210
LUAT_PM_POWERON_REASON_EXCEPTION
@ LUAT_PM_POWERON_REASON_EXCEPTION
Definition: luat_pm.h:207
LUAT_PM_POWERON_REASON_KEY
@ LUAT_PM_POWERON_REASON_KEY
Definition: luat_pm.h:203
LUAT_PM_POWERON_REASON_WDT
@ LUAT_PM_POWERON_REASON_WDT
Definition: luat_pm.h:209
LUAT_PM_POWERON_REASON_ALARM
@ LUAT_PM_POWERON_REASON_ALARM
Definition: luat_pm.h:205
LUAT_PM_BATTERY_VOLT_EVENT
@ LUAT_PM_BATTERY_VOLT_EVENT
Definition: luat_pm.h:240
LUAT_PM_VBUS_STATUS_EVENT
@ LUAT_PM_VBUS_STATUS_EVENT
Definition: luat_pm.h:241
LUAT_PM_WAKEUP_FROM_RTC
@ LUAT_PM_WAKEUP_FROM_RTC
Definition: luat_pm.h:278
LUAT_PM_WAKEUP_FROM_LPUART
@ LUAT_PM_WAKEUP_FROM_LPUART
Definition: luat_pm.h:280
LUAT_PM_WAKEUP_FROM_POR
@ LUAT_PM_WAKEUP_FROM_POR
Definition: luat_pm.h:277
LUAT_PM_WAKEUP_FROM_PAD
@ LUAT_PM_WAKEUP_FROM_PAD
Definition: luat_pm.h:279
LUAT_PM_WAKEUP_FROM_CHARG
@ LUAT_PM_WAKEUP_FROM_CHARG
Definition: luat_pm.h:283
LUAT_PM_WAKEUP_FROM_LPUSB
@ LUAT_PM_WAKEUP_FROM_LPUSB
Definition: luat_pm.h:281
LUAT_PM_WAKEUP_FROM_PWRKEY
@ LUAT_PM_WAKEUP_FROM_PWRKEY
Definition: luat_pm.h:282
LUAT_PM_DEEPSLEEP_TIMER_ID6
@ LUAT_PM_DEEPSLEEP_TIMER_ID6
Definition: luat_pm.h:268
LUAT_PM_DEEPSLEEP_TIMER_ID3
@ LUAT_PM_DEEPSLEEP_TIMER_ID3
Definition: luat_pm.h:265
LUAT_PM_DEEPSLEEP_TIMER_ID0
@ LUAT_PM_DEEPSLEEP_TIMER_ID0
Definition: luat_pm.h:262
LUAT_PM_DEEPSLEEP_TIMER_ID2
@ LUAT_PM_DEEPSLEEP_TIMER_ID2
Definition: luat_pm.h:264
LUAT_PM_DEEPSLEEP_TIMER_ID4
@ LUAT_PM_DEEPSLEEP_TIMER_ID4
Definition: luat_pm.h:266
LUAT_PM_DEEPSLEEP_TIMER_ID5
@ LUAT_PM_DEEPSLEEP_TIMER_ID5
Definition: luat_pm.h:267
LUAT_PM_DEEPSLEEP_TIMER_ID1
@ LUAT_PM_DEEPSLEEP_TIMER_ID1
Definition: luat_pm.h:263
LUAT_PM_PWRKEY_REPEAT
@ LUAT_PM_PWRKEY_REPEAT
Definition: luat_pm.h:169
LUAT_PM_PWRKEY_RELEASE
@ LUAT_PM_PWRKEY_RELEASE
Definition: luat_pm.h:166
LUAT_PM_PWRKEY_LONGPRESS
@ LUAT_PM_PWRKEY_LONGPRESS
Definition: luat_pm.h:168
LUAT_PM_PWRKEY_PRESS
@ LUAT_PM_PWRKEY_PRESS
Definition: luat_pm.h:167
luat_pm_pwrkey_cfg_t
powerkey配置参数
Definition: luat_pm.h:176
luat_pm_pwrkey_cfg_t::repeat_timeout
int16_t repeat_timeout
Definition: luat_pm.h:178
luat_pm_pwrkey_cfg_t::long_press_timeout
int16_t long_press_timeout
Definition: luat_pm.h:177
luat_pm_pwrkey_cfg_t::pwroff_timeout
int16_t pwroff_timeout
Definition: luat_pm.h:179
luat_pm_wakeup_pad_cfg
wakeupPad配置参数
Definition: luat_pm.h:113
luat_pm_wakeup_pad_cfg::pull_up_enable
uint8_t pull_up_enable
Definition: luat_pm.h:116
luat_pm_wakeup_pad_cfg::neg_edge_enable
uint8_t neg_edge_enable
Definition: luat_pm.h:115
luat_pm_wakeup_pad_cfg::pos_edge_enable
uint8_t pos_edge_enable
Definition: luat_pm.h:114
luat_pm_wakeup_pad_cfg::pull_down_enable
uint8_t pull_down_enable
Definition: luat_pm.h:117


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_pwm.h 源文件

  • interface
  • include
luat_pwm.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21#ifndef LUAT_PWM_H
22#define LUAT_PWM_H
42#include "luat_base.h"
46typedef struct luat_pwm_conf {
47 int channel;
48 size_t period;
49 size_t pulse;
50 size_t pnum;
51 size_t precision;
52} luat_pwm_conf_t;
53
54
70int luat_pwm_setup(luat_pwm_conf_t* conf);
71
87int luat_pwm_open(int channel, size_t period, size_t pulse, int pnum);
88
96int luat_pwm_capture(int channel,int freq);
97
104int luat_pwm_close(int channel);
105
112/*int luat_pwm_update_dutycycle(int channel,size_t pulse);函数使用方法*/
113/*此函数为修改PWM占空比函数，可在完成配置并打开PWM输出后，根据使用者需求改变PWM输出占空比*/
114/*可用于whiile 循环中，int channel 参数为要修改的PWM通道，size_t pulse 参数为将要输出的目标占空比*/
115/*使用者根据自身使用需求填入相应参数数值即可*/
116int luat_pwm_update_dutycycle(int channel,size_t pulse);
117
118
123#endif
luat_pwm_capture
int luat_pwm_capture(int channel, int freq)
获取pwm 频率 本功能暂未实现
luat_pwm_open
int luat_pwm_open(int channel, size_t period, size_t pulse, int pnum)
打开pwm 通道
luat_pwm_close
int luat_pwm_close(int channel)
关闭pwm 接口
luat_pwm_update_dutycycle
int luat_pwm_update_dutycycle(int channel, size_t pulse)
修改占空比
luat_pwm_setup
int luat_pwm_setup(luat_pwm_conf_t *conf)
配置pwm 参数
luat_pwm_conf_t
struct luat_pwm_conf luat_pwm_conf_t
PWM控制参数
luat_pwm_conf
PWM控制参数
Definition: luat_pwm.h:46
luat_pwm_conf::precision
size_t precision
Definition: luat_pwm.h:51
luat_pwm_conf::period
size_t period
Definition: luat_pwm.h:48
luat_pwm_conf::pulse
size_t pulse
Definition: luat_pwm.h:49
luat_pwm_conf::pnum
size_t pnum
Definition: luat_pwm.h:50
luat_pwm_conf::channel
int channel
Definition: luat_pwm.h:47


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_rtc.h 源文件

  • interface
  • include
luat_rtc.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_RTC_H
23#define LUAT_RTC_H
24
25#include "luat_base.h"
26#include "time.h"
27
39int luat_rtc_set(struct tm *tblock);
40
47int luat_rtc_get(struct tm *tblock);
48
49#endif
luat_rtc_get
int luat_rtc_get(struct tm *tblock)
获取系统时间
luat_rtc_set
int luat_rtc_set(struct tm *tblock)
设置系统时间


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_rtos.h 源文件

  • interface
  • include
luat_rtos.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_RTOS_H
23#define LUAT_RTOS_H
24
25#include "luat_base.h"
26#include "luat_rtos_legacy.h"
27
36typedef enum LUAT_RTOS_WAIT
37{
38 LUAT_NO_WAIT = 0,
39 LUAT_WAIT_FOREVER = (uint32_t)0xFFFFFFFF
40} LUAT_RTOS_WAIT_E;
41
42/* ------------------------------------------------ task begin------------------------------------------------ */
51typedef void (*luat_rtos_task_entry) (void*);
55typedef void * luat_rtos_task_handle;
68int luat_rtos_task_create(luat_rtos_task_handle *task_handle, uint32_t stack_size, uint8_t priority, const char *task_name, luat_rtos_task_entry task_fun, void* user_data, uint16_t event_cout);
69
76int luat_rtos_task_delete(luat_rtos_task_handle task_handle);
77
84int luat_rtos_task_suspend(luat_rtos_task_handle task_handle);
85
92int luat_rtos_task_resume(luat_rtos_task_handle task_handle);
93
98void luat_rtos_task_suspend_all(void);
99
104void luat_rtos_task_resume_all(void);
105
111void luat_rtos_task_sleep(uint32_t ms);
112
118 luat_rtos_task_handle luat_rtos_get_current_handle(void);
119
127uint32_t luat_rtos_task_get_high_water_mark(luat_rtos_task_handle task_handle);
128
130/* ------------------------------------------------ task end------------------------------------------------ */
135/* ----------------------------------------------- event begin---------------------------------------------- */
140typedef LUAT_RT_RET_TYPE (*luat_rtos_event_wait_callback_t)(LUAT_RT_CB_PARAM);
141
153int luat_rtos_event_send(luat_rtos_task_handle task_handle, uint32_t id, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t timeout);
154
165int luat_rtos_event_recv(luat_rtos_task_handle task_handle, uint32_t wait_event_id, luat_event_t *out_event, luat_rtos_event_wait_callback_t *callback_fun, uint32_t timeout);
166
167/* ----------------------------------------------- event end---------------------------------------------- */
168
169/* ----------------------------------------------- message begin---------------------------------------------- */
178int luat_rtos_message_send(luat_rtos_task_handle task_handle, uint32_t message_id, void *p_message);
179
189int luat_rtos_message_recv(luat_rtos_task_handle task_handle, uint32_t *message_id, void **p_p_message, uint32_t timeout);
192/* ----------------------------------------------- message end---------------------------------------------- */
193
199/* ---------------------------------------------- semaphore begin--------------------------------------------- */
203typedef void * luat_rtos_semaphore_t;
211int luat_rtos_semaphore_create(luat_rtos_semaphore_t *semaphore_handle, uint32_t init_count);
212
219int luat_rtos_semaphore_delete(luat_rtos_semaphore_t semaphore_handle);
220
228int luat_rtos_semaphore_take(luat_rtos_semaphore_t semaphore_handle, uint32_t timeout);
229
236int luat_rtos_semaphore_release(luat_rtos_semaphore_t semaphore_handle);
237/* ---------------------------------------------- semaphore end--------------------------------------------- */
244/* ------------------------------------------------ mutex begin----------------------------------------------- */
248typedef void * luat_rtos_mutex_t;
255int luat_rtos_mutex_create(luat_rtos_mutex_t *mutex_handle);
256
264int luat_rtos_mutex_lock(luat_rtos_mutex_t mutex_handle, uint32_t timeout);
265
272int luat_rtos_mutex_unlock(luat_rtos_mutex_t mutex_handle);
273
280int luat_rtos_mutex_delete(luat_rtos_mutex_t mutex_handle);
281
282/* ------------------------------------------------ mutex end----------------------------------------------- */
289/* ------------------------------------------------ queue begin----------------------------------------------- */
290
294typedef void * luat_rtos_queue_t;
303int luat_rtos_queue_create(luat_rtos_queue_t *queue_handle, uint32_t item_count, uint32_t item_size);
304
311int luat_rtos_queue_delete(luat_rtos_queue_t queue_handle);
312
322int luat_rtos_queue_send(luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout);
323
333int luat_rtos_queue_recv(luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout);
334/* ------------------------------------------------ queue end----------------------------------------------- */
342/* ------------------------------------------------ timer begin----------------------------------------------- */
346typedef void * luat_rtos_timer_t;
350typedef LUAT_RT_RET_TYPE (*luat_rtos_timer_callback_t)(LUAT_RT_CB_PARAM);
357int luat_rtos_timer_create(luat_rtos_timer_t *timer_handle);
358
365int luat_rtos_timer_delete(luat_rtos_timer_t timer_handle);
366
377int luat_rtos_timer_start(luat_rtos_timer_t timer_handle, uint32_t timeout, uint8_t repeat, luat_rtos_timer_callback_t callback_fun, void *user_param);
378
385int luat_rtos_timer_stop(luat_rtos_timer_t timer_handle);
386
393int luat_rtos_timer_is_active(luat_rtos_timer_t timer_handle);
394
395/*------------------------------------------------ timer end----------------------------------------------- */
403/* ------------------------------------------------ critical begin----------------------------------------------- */
409uint32_t luat_rtos_entry_critical(void);
410
416void luat_rtos_exit_critical(uint32_t critical);
417/*------------------------------------------------ critical end----------------------------------------------- */
420#endif
luat_rtos_task_suspend
int luat_rtos_task_suspend(luat_rtos_task_handle task_handle)
挂起某个task
luat_rtos_task_create
int luat_rtos_task_create(luat_rtos_task_handle *task_handle, uint32_t stack_size, uint8_t priority, const char *task_name, luat_rtos_task_entry task_fun, void *user_data, uint16_t event_cout)
创建一个可以带mailbox机制的task
luat_rtos_task_resume_all
void luat_rtos_task_resume_all(void)
恢复全部task
luat_rtos_task_delete
int luat_rtos_task_delete(luat_rtos_task_handle task_handle)
删除task
luat_rtos_task_get_high_water_mark
uint32_t luat_rtos_task_get_high_water_mark(luat_rtos_task_handle task_handle)
获取task堆栈剩余的最小值，叫做“高水位线”
luat_rtos_task_resume
int luat_rtos_task_resume(luat_rtos_task_handle task_handle)
恢复挂起的task
luat_rtos_task_handle
void * luat_rtos_task_handle
定义task任务句柄
Definition: luat_rtos.h:55
luat_rtos_task_suspend_all
void luat_rtos_task_suspend_all(void)
挂起全部task
luat_rtos_task_sleep
void luat_rtos_task_sleep(uint32_t ms)
task休眠一段时间
luat_rtos_get_current_handle
luat_rtos_task_handle luat_rtos_get_current_handle(void)
获取当前task的句柄
luat_rtos_task_entry
void(* luat_rtos_task_entry)(void *)
task的入口函数,函数类型
Definition: luat_rtos.h:51
luat_rtos_entry_critical
uint32_t luat_rtos_entry_critical(void)
进入临界保护
luat_rtos_exit_critical
void luat_rtos_exit_critical(uint32_t critical)
退出临界保护
luat_rtos_message_send
int luat_rtos_message_send(luat_rtos_task_handle task_handle, uint32_t message_id, void *p_message)
发送一个message给task的mailbox，只有设置了mailbox启用的task能接收，message可以动态创建的，可以任意大小
luat_rtos_event_recv
int luat_rtos_event_recv(luat_rtos_task_handle task_handle, uint32_t wait_event_id, luat_event_t *out_event, luat_rtos_event_wait_callback_t *callback_fun, uint32_t timeout)
接收一个event，只能在task里接收
luat_rtos_event_send
int luat_rtos_event_send(luat_rtos_task_handle task_handle, uint32_t id, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t timeout)
发送一个event给task的mailbox，只有设置了mailbox启用的task能接收
luat_rtos_message_recv
int luat_rtos_message_recv(luat_rtos_task_handle task_handle, uint32_t *message_id, void **p_p_message, uint32_t timeout)
接收一个message，只能在task里接收
luat_rtos_event_wait_callback_t
LUAT_RT_RET_TYPE(* luat_rtos_event_wait_callback_t)(LUAT_RT_CB_PARAM)
在等待event中，如果设置了目标event id，而到来的不是目标event id，可以通过回调函数交给用户处理
Definition: luat_rtos.h:140
luat_rtos_mutex_create
int luat_rtos_mutex_create(luat_rtos_mutex_t *mutex_handle)
互斥锁创建，不能在中断中unlock
luat_rtos_mutex_lock
int luat_rtos_mutex_lock(luat_rtos_mutex_t mutex_handle, uint32_t timeout)
获得锁
luat_rtos_mutex_t
void * luat_rtos_mutex_t
定义mutex句柄
Definition: luat_rtos.h:248
luat_rtos_mutex_delete
int luat_rtos_mutex_delete(luat_rtos_mutex_t mutex_handle)
删除互斥锁
luat_rtos_mutex_unlock
int luat_rtos_mutex_unlock(luat_rtos_mutex_t mutex_handle)
释放锁
luat_rtos_queue_send
int luat_rtos_queue_send(luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout)
往队列里发送一个元素
luat_rtos_queue_create
int luat_rtos_queue_create(luat_rtos_queue_t *queue_handle, uint32_t item_count, uint32_t item_size)
创建队列
luat_rtos_queue_delete
int luat_rtos_queue_delete(luat_rtos_queue_t queue_handle)
删除队列
luat_rtos_queue_t
void * luat_rtos_queue_t
定义队列句柄
Definition: luat_rtos.h:294
luat_rtos_queue_recv
int luat_rtos_queue_recv(luat_rtos_queue_t queue_handle, void *item, uint32_t item_size, uint32_t timeout)
从队列里取出一个元素
luat_rtos_semaphore_t
void * luat_rtos_semaphore_t
定义信号量句柄
Definition: luat_rtos.h:203
luat_rtos_semaphore_delete
int luat_rtos_semaphore_delete(luat_rtos_semaphore_t semaphore_handle)
删除信号量
luat_rtos_semaphore_take
int luat_rtos_semaphore_take(luat_rtos_semaphore_t semaphore_handle, uint32_t timeout)
信号量等待获取
luat_rtos_semaphore_create
int luat_rtos_semaphore_create(luat_rtos_semaphore_t *semaphore_handle, uint32_t init_count)
信号量创建，可以在中断中release
luat_rtos_semaphore_release
int luat_rtos_semaphore_release(luat_rtos_semaphore_t semaphore_handle)
信号量释放发送
luat_rtos_timer_create
int luat_rtos_timer_create(luat_rtos_timer_t *timer_handle)
创建软件定时器
luat_rtos_timer_stop
int luat_rtos_timer_stop(luat_rtos_timer_t timer_handle)
停止软件定时器
luat_rtos_timer_callback_t
LUAT_RT_RET_TYPE(* luat_rtos_timer_callback_t)(LUAT_RT_CB_PARAM)
定义定时器处理函数
Definition: luat_rtos.h:350
luat_rtos_timer_t
void * luat_rtos_timer_t
定时器头数据类型
Definition: luat_rtos.h:346
luat_rtos_timer_is_active
int luat_rtos_timer_is_active(luat_rtos_timer_t timer_handle)
检测软件定时器是否处于激活状态
luat_rtos_timer_delete
int luat_rtos_timer_delete(luat_rtos_timer_t timer_handle)
删除软件定时器
luat_rtos_timer_start
int luat_rtos_timer_start(luat_rtos_timer_t timer_handle, uint32_t timeout, uint8_t repeat, luat_rtos_timer_callback_t callback_fun, void *user_param)
启动软件定时器
LUAT_RTOS_WAIT
LUAT_RTOS_WAIT
LUAT_RTOS 超时时间枚举值
Definition: luat_rtos.h:37
LUAT_RTOS_WAIT_E
enum LUAT_RTOS_WAIT LUAT_RTOS_WAIT_E
LUAT_RTOS 超时时间枚举值
LUAT_NO_WAIT
@ LUAT_NO_WAIT
Definition: luat_rtos.h:38
LUAT_WAIT_FOREVER
@ LUAT_WAIT_FOREVER
Definition: luat_rtos.h:39
luat_event_t
event参数
Definition: luat_rtos_legacy.h:30


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_rtos_legacy.h 源文件

  • interface
  • include
luat_rtos_legacy.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_RTOS_LEGACY_H
23#define LUAT_RTOS_LEGACY_H
24
25#include "luat_base.h"
29typedef struct
30{
31 uint32_t id;
32 uint32_t param1;
33 uint32_t param2;
34 uint32_t param3;
35}luat_event_t;
36//定时器回调函数需要定义成 LUAT_RT_RET_TYPE fun_name(LUAT_RT_CB_PARAM)
37//定时器回调函数退出时需要， return LUAT_RT_RET;
38#ifndef LUAT_RT_RET_TYPE
39#define LUAT_RT_RET_TYPE void
40#endif
41
42#ifndef LUAT_RT_RET
43#define LUAT_RT_RET
44#endif
45
46#ifndef LUAT_RT_CB_PARAM
47#define LUAT_RT_CB_PARAM void
48//#define LUAT_RT_CB_PARAM void *param
49//#define LUAT_RT_CB_PARAM void *pdata, void *param
50#endif
51/* ----------------------------------- thread ----------------------------------- */
52LUAT_RET luat_send_event_to_task(void *task_handle, uint32_t id, uint32_t param1, uint32_t param2, uint32_t param3);
53LUAT_RET luat_wait_event_from_task(void *task_handle, uint32_t wait_event_id, luat_event_t *out_event, void *call_back, uint32_t ms);
54void *luat_get_current_task(void);
55
56
57/* -----------------------------------信号量模拟互斥锁，可以在中断中unlock-------------------------------*/
58void *luat_mutex_create(void);
59LUAT_RET luat_mutex_lock(void *mutex);
60LUAT_RET luat_mutex_unlock(void *mutex);
61void luat_mutex_release(void *mutex);
62
63
64/* ----------------------------------- timer ----------------------------------- */
72void *luat_create_rtos_timer(void *cb, void *param, void *task_handle);
80int luat_start_rtos_timer(void *timer, uint32_t ms, uint8_t is_repeat);
85void luat_stop_rtos_timer(void *timer);
90void luat_release_rtos_timer(void *timer);
95void luat_task_suspend_all(void);
100void luat_task_resume_all(void);
101#endif
luat_event_t
event参数
Definition: luat_rtos_legacy.h:30
luat_event_t::param2
uint32_t param2
Definition: luat_rtos_legacy.h:33
luat_event_t::param3
uint32_t param3
Definition: luat_rtos_legacy.h:34
luat_event_t::param1
uint32_t param1
Definition: luat_rtos_legacy.h:32
luat_event_t::id
uint32_t id
Definition: luat_rtos_legacy.h:31


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_sms.h 源文件

  • interface
  • include
luat_sms.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_SMS_H
23#define LUAT_SMS_H
24
25#include "luat_base.h"
26
27#define LUAT_MSG_MAX_ADDR_LEN 80
28#define LUAT_SMS_MAX_TXT_SIZE 640
29#define LUAT_SMS_MAX_PDU_SIZE 180
30#define LUAT_SMS_MAX_LENGTH_OF_ADDRESS_VALUE 40
31#define LUAT_SMS_MAX_ADDR_STR_MAX_LEN ((LUAT_SMS_MAX_LENGTH_OF_ADDRESS_VALUE + 1) * 4)
32typedef void (*LUAT_SMS_HANDLE_CB)(uint8_t event, void* param);
33typedef void (*LUAT_SMS_HANDLE_SEND_CB)(int ret);
34
35typedef enum
36{
37 SMS_SEND_OK = 0,
38 SMS_ME_FAILURE = 300,
39 SMS_SERVICE_OF_ME_RESV,
40 SMS_OPERATION_NOT_ALLOWED,
41 SMS_OPERATION_NOT_SUPPORTED,
42 SMS_INVALID_PDU_MODE_PARAMETER,
43 SMS_INVALID_TEXT_MODE_PARAMETER,
44 SMS_USIM_NOT_INSERTED = 310,
45 SMS_USIM_PIN_REQUIRED,
46 SMS_PHSIM_PIN_REQUIRED,
47 SMS_USIM_FAILURE,
48 SMS_USIM_BUSY,
49 SMS_USIM_WRONG,
50 SMS_USIM_PUK_REQUIRED,
51 SMS_USIM_PIN2_REQUIRED,
52 SMS_USIM_PUK2_REQUIRED,
53 SMS_MEMORY_FAILURE = 320,
54 SMS_INVALID_MEM_INDEX,
55 SMS_MEM_FULL,
56 SMS_SMSC_ADDR_UNKNOWN = 330,
57 SMS_NO_NETWORK_SERVICE,
58 SMS_NETWORK_TIMEOUT,
59 SMS_NO_CNMA_ACK_EXPECTED = 340,
60 SMS_UNKNOWN_ERROR = 500,
61 SMS_INVALID_DATA = 550,
62 SMS_UNSUPPORT_TEXT_WITH_CHINESE = 555,
63 SMS_MAX_ERROR = 0xFFFF
64}LUAT_SMS_SEND_RET_CODE_E;
65
66typedef struct
67{
68 LUAT_SMS_HANDLE_CB cb;
69 LUAT_SMS_HANDLE_SEND_CB send_cb;
70}LUAT_SMS_MAIN_CFG_T;
71
72typedef struct
73{
74 uint8_t year;
75 uint8_t month;
76 uint8_t day;
77 uint8_t hour;
78 uint8_t minute;
79 uint8_t second;
80 uint8_t tz; /* time zone */
81 uint8_t tz_sign; /* '+'/'-' */
82}LUAT_SMS_RECV_MSG_TIME_T;
83
84typedef struct
85{
86 uint8_t type;
87 uint8_t msg_class;
88 uint8_t alpha_bet;
89 uint8_t indication;
90 uint8_t dcs;
91}LUAT_SMS_RECV_MSG_DCS_T;
92
93//接受的短信信息结构体
94typedef struct
95{
96 uint16_t pdu_length;//PDU 长度
97 uint16_t sms_length;//TEXT 的长度
98 LUAT_SMS_RECV_MSG_TIME_T time;//时间
99 LUAT_SMS_RECV_MSG_DCS_T dcs_info;//Data Coding Scheme
100 char pdu_data[LUAT_SMS_MAX_TXT_SIZE + 1];//PDU 数据
101 uint8_t sms_buffer[LUAT_SMS_MAX_TXT_SIZE + 1];//TEXT 数据
102 uint8_t sc_address[LUAT_MSG_MAX_ADDR_LEN + 1];//中心地址
103 uint8_t phone_address[LUAT_MSG_MAX_ADDR_LEN + 1];//来电号码
104 uint8_t refNum;
105 uint8_t maxNum;
106 uint8_t seqNum;
107}LUAT_SMS_RECV_MSG_T;
108
116void luat_sms_init(void);
117
126int luat_sms_send_msg(uint8_t *p_input, char *p_des, bool is_pdu, int input_pdu_len);
127
132void luat_sms_recv_msg_register_handler(LUAT_SMS_HANDLE_CB callback_fun);
133
134
139void luat_sms_send_msg_register_handler(LUAT_SMS_HANDLE_SEND_CB callback_fun);
140
141#endif
luat_sms_send_msg_register_handler
void luat_sms_send_msg_register_handler(LUAT_SMS_HANDLE_SEND_CB callback_fun)
发送短信回调
LUAT_SMS_RECV_MSG_T::dcs_info
LUAT_SMS_RECV_MSG_DCS_T dcs_info
Definition: luat_sms.h:99
LUAT_SMS_RECV_MSG_DCS_T::type
uint8_t type
Definition: luat_sms.h:86
LUAT_SMS_RECV_MSG_DCS_T::dcs
uint8_t dcs
Definition: luat_sms.h:90
LUAT_SMS_RECV_MSG_TIME_T::month
uint8_t month
Definition: luat_sms.h:75
LUAT_SMS_RECV_MSG_TIME_T::tz
uint8_t tz
Definition: luat_sms.h:80
luat_sms_send_msg
int luat_sms_send_msg(uint8_t *p_input, char *p_des, bool is_pdu, int input_pdu_len)
发送短信
LUAT_SMS_RECV_MSG_DCS_T::alpha_bet
uint8_t alpha_bet
Definition: luat_sms.h:88
SMS_UNSUPPORT_TEXT_WITH_CHINESE
@ SMS_UNSUPPORT_TEXT_WITH_CHINESE
Definition: luat_sms.h:62
SMS_USIM_PIN_REQUIRED
@ SMS_USIM_PIN_REQUIRED
Definition: luat_sms.h:45
SMS_SERVICE_OF_ME_RESV
@ SMS_SERVICE_OF_ME_RESV
Definition: luat_sms.h:39
SMS_OPERATION_NOT_ALLOWED
@ SMS_OPERATION_NOT_ALLOWED
Definition: luat_sms.h:40
SMS_INVALID_MEM_INDEX
@ SMS_INVALID_MEM_INDEX
Definition: luat_sms.h:54
SMS_OPERATION_NOT_SUPPORTED
@ SMS_OPERATION_NOT_SUPPORTED
Definition: luat_sms.h:41
SMS_SEND_OK
@ SMS_SEND_OK
Definition: luat_sms.h:37
SMS_MEM_FULL
@ SMS_MEM_FULL
Definition: luat_sms.h:55
SMS_USIM_PIN2_REQUIRED
@ SMS_USIM_PIN2_REQUIRED
Definition: luat_sms.h:51
SMS_USIM_WRONG
@ SMS_USIM_WRONG
Definition: luat_sms.h:49
SMS_USIM_PUK_REQUIRED
@ SMS_USIM_PUK_REQUIRED
Definition: luat_sms.h:50
SMS_USIM_BUSY
@ SMS_USIM_BUSY
Definition: luat_sms.h:48
SMS_NETWORK_TIMEOUT
@ SMS_NETWORK_TIMEOUT
Definition: luat_sms.h:58
SMS_INVALID_PDU_MODE_PARAMETER
@ SMS_INVALID_PDU_MODE_PARAMETER
Definition: luat_sms.h:42
SMS_NO_CNMA_ACK_EXPECTED
@ SMS_NO_CNMA_ACK_EXPECTED
Definition: luat_sms.h:59
SMS_USIM_NOT_INSERTED
@ SMS_USIM_NOT_INSERTED
Definition: luat_sms.h:44
SMS_INVALID_DATA
@ SMS_INVALID_DATA
Definition: luat_sms.h:61
SMS_SMSC_ADDR_UNKNOWN
@ SMS_SMSC_ADDR_UNKNOWN
Definition: luat_sms.h:56
SMS_MAX_ERROR
@ SMS_MAX_ERROR
Definition: luat_sms.h:63
SMS_MEMORY_FAILURE
@ SMS_MEMORY_FAILURE
Definition: luat_sms.h:53
SMS_INVALID_TEXT_MODE_PARAMETER
@ SMS_INVALID_TEXT_MODE_PARAMETER
Definition: luat_sms.h:43
SMS_NO_NETWORK_SERVICE
@ SMS_NO_NETWORK_SERVICE
Definition: luat_sms.h:57
SMS_USIM_PUK2_REQUIRED
@ SMS_USIM_PUK2_REQUIRED
Definition: luat_sms.h:52
SMS_UNKNOWN_ERROR
@ SMS_UNKNOWN_ERROR
Definition: luat_sms.h:60
SMS_PHSIM_PIN_REQUIRED
@ SMS_PHSIM_PIN_REQUIRED
Definition: luat_sms.h:46
SMS_ME_FAILURE
@ SMS_ME_FAILURE
Definition: luat_sms.h:38
SMS_USIM_FAILURE
@ SMS_USIM_FAILURE
Definition: luat_sms.h:47
LUAT_SMS_MAIN_CFG_T::cb
LUAT_SMS_HANDLE_CB cb
Definition: luat_sms.h:68
LUAT_SMS_RECV_MSG_T::time
LUAT_SMS_RECV_MSG_TIME_T time
Definition: luat_sms.h:98
LUAT_SMS_RECV_MSG_TIME_T::day
uint8_t day
Definition: luat_sms.h:76
LUAT_SMS_RECV_MSG_TIME_T::tz_sign
uint8_t tz_sign
Definition: luat_sms.h:81
LUAT_SMS_RECV_MSG_TIME_T::year
uint8_t year
Definition: luat_sms.h:74
LUAT_SMS_RECV_MSG_TIME_T::second
uint8_t second
Definition: luat_sms.h:79
LUAT_SMS_RECV_MSG_DCS_T::indication
uint8_t indication
Definition: luat_sms.h:89
LUAT_SMS_RECV_MSG_TIME_T::minute
uint8_t minute
Definition: luat_sms.h:78
LUAT_SMS_RECV_MSG_T::seqNum
uint8_t seqNum
Definition: luat_sms.h:106
LUAT_SMS_RECV_MSG_T::refNum
uint8_t refNum
Definition: luat_sms.h:104
LUAT_SMS_RECV_MSG_DCS_T::msg_class
uint8_t msg_class
Definition: luat_sms.h:87
LUAT_SMS_MAIN_CFG_T::send_cb
LUAT_SMS_HANDLE_SEND_CB send_cb
Definition: luat_sms.h:69
LUAT_SMS_RECV_MSG_TIME_T::hour
uint8_t hour
Definition: luat_sms.h:77
luat_sms_recv_msg_register_handler
void luat_sms_recv_msg_register_handler(LUAT_SMS_HANDLE_CB callback_fun)
接受短信回调
LUAT_SMS_RECV_MSG_T::sms_length
uint16_t sms_length
Definition: luat_sms.h:97
LUAT_SMS_RECV_MSG_T::pdu_length
uint16_t pdu_length
Definition: luat_sms.h:96
LUAT_SMS_RECV_MSG_T::maxNum
uint8_t maxNum
Definition: luat_sms.h:105
luat_sms_init
void luat_sms_init(void)
初始化短信
LUAT_SMS_MAIN_CFG_T
Definition: luat_sms.h:67
LUAT_SMS_RECV_MSG_DCS_T
Definition: luat_sms.h:85
LUAT_SMS_RECV_MSG_T
Definition: luat_sms.h:95
LUAT_SMS_RECV_MSG_TIME_T
Definition: luat_sms.h:73


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_spi.h 源文件

  • interface
  • include
luat_spi.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_SPI_H
23#define LUAT_SPI_H
24
25#include "luat_base.h"
26#include "luat_spi_legacy.h"
27
41typedef struct luat_spi
42{
43 int id;
44 int CPHA;
45 int CPOL;
46 int dataw;
47 int bit_dict;
48 int master;
49 int mode;
50 int bandrate;
51 int cs;
52} luat_spi_t;
53
54
61int luat_spi_setup(luat_spi_t* spi);
62
69int luat_spi_close(int spi_id);
70
81int luat_spi_transfer(int spi_id, const char* send_buf, size_t send_length, char* recv_buf, size_t recv_length);
82
91int luat_spi_recv(int spi_id, char* recv_buf, size_t length);
92
101int luat_spi_send(int spi_id, const char* send_buf, size_t length);
104#endif
luat_spi_recv
int luat_spi_recv(int spi_id, char *recv_buf, size_t length)
收SPI数据
luat_spi_close
int luat_spi_close(int spi_id)
关闭SPI
luat_spi_t
struct luat_spi luat_spi_t
SPI功能配置
luat_spi_setup
int luat_spi_setup(luat_spi_t *spi)
初始化配置SPI各项参数，并打开SPI
luat_spi_transfer
int luat_spi_transfer(int spi_id, const char *send_buf, size_t send_length, char *recv_buf, size_t recv_length)
收发SPI数据
luat_spi_send
int luat_spi_send(int spi_id, const char *send_buf, size_t length)
发SPI数据
luat_spi
SPI功能配置
Definition: luat_spi.h:42
luat_spi::master
int master
Definition: luat_spi.h:48
luat_spi::mode
int mode
Definition: luat_spi.h:49
luat_spi::CPHA
int CPHA
Definition: luat_spi.h:44
luat_spi::CPOL
int CPOL
Definition: luat_spi.h:45
luat_spi::id
int id
Definition: luat_spi.h:43
luat_spi::bit_dict
int bit_dict
Definition: luat_spi.h:47
luat_spi::dataw
int dataw
Definition: luat_spi.h:46
luat_spi::cs
int cs
Definition: luat_spi.h:51
luat_spi::bandrate
int bandrate
Definition: luat_spi.h:50


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_spi_legacy.h 源文件

  • interface
  • include
luat_spi_legacy.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22
23#ifndef LUAT_SPI_LEGACY_H
24#define LUAT_SPI_LEGACY_H
25
26#include "luat_base.h"
27
28#ifdef __LUATOS__
29
30typedef struct luat_spi_device
31{
32 uint8_t bus_id;
33 luat_spi_t spi_config;
34 void* user_data;
35} luat_spi_device_t;
36
37typedef struct luat_fatfs_spi
38{
39 uint8_t type;
40 uint8_t spi_id;
41 uint8_t spi_cs;
42 uint8_t nop;
43 uint32_t fast_speed;
44 luat_spi_device_t * spi_device;
45}luat_fatfs_spi_t;
46
47//收发SPI数据尝试启动DMA模式
48int luat_spi_config_dma(int spi_id, uint32_t tx_channel, uint32_t rx_channel);
49
50//非阻塞SPI收发数据
51int luat_spi_no_block_transfer(int spi_id, uint8_t *tx_buff, uint8_t *rx_buff, size_t len, void *CB, void *pParam);
52
53// 初始化总线
54int luat_spi_bus_setup(luat_spi_device_t* spi_dev);
55// 初始化设备
56int luat_spi_device_setup(luat_spi_device_t* spi_dev);
57// 配置设备
58int luat_spi_device_config(luat_spi_device_t* spi_dev);
59//关闭SPI设备，成功返回0
60int luat_spi_device_close(luat_spi_device_t* spi_dev);
61//收发SPI数据，返回接收字节数
62int luat_spi_device_transfer(luat_spi_device_t* spi_dev, const char* send_buf, size_t send_length, char* recv_buf, size_t recv_length);
63//收SPI数据，返回接收字节数
64int luat_spi_device_recv(luat_spi_device_t* spi_dev, char* recv_buf, size_t length);
65//发SPI数据，返回发送字节数
66int luat_spi_device_send(luat_spi_device_t* spi_dev, const char* send_buf, size_t length);
67
68#endif
69
70#endif
luat_spi
SPI功能配置
Definition: luat_spi.h:42


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_uart.h 源文件

  • interface
  • include
luat_uart.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_UART_H
23#define LUAT_UART_H
24
25#include "luat_base.h"
26#include "luat_uart_legacy.h"
52#define LUAT_PARITY_NONE 0
53#define LUAT_PARITY_ODD 1
54#define LUAT_PARITY_EVEN 2
59#define LUAT_BIT_ORDER_LSB 0
60#define LUAT_BIT_ORDER_MSB 1
65#define LUAT_0_5_STOP_BITS 0xf0
66#define LUAT_1_5_STOP_BITS 0xf1
68#define LUAT_VUART_ID_0 0x20
69
74typedef struct luat_uart {
75 int id;
76 int baud_rate;
78 uint8_t data_bits;
79 uint8_t stop_bits;
80 uint8_t bit_order;
81 uint8_t parity;
83 size_t bufsz;
84 uint32_t pin485;
85 uint32_t delay;
86 uint8_t rx_level;
87} luat_uart_t;
88
95int luat_uart_setup(luat_uart_t* uart);
96
105int luat_uart_write(int uart_id, void* data, size_t length);
106
115int luat_uart_read(int uart_id, void* buffer, size_t length);
116
123int luat_uart_close(int uart_id);
124
131int luat_uart_exist(int uart_id);
132
136typedef enum LUAT_UART_CTRL_CMD
137{
138 LUAT_UART_SET_RECV_CALLBACK,
139 LUAT_UART_SET_SENT_CALLBACK
140}LUAT_UART_CTRL_CMD_E;
141
146typedef void (*luat_uart_recv_callback_t)(int uart_id, uint32_t data_len);
147
152typedef void (*luat_uart_sent_callback_t)(int uart_id, void *param);
153
158typedef struct luat_uart_ctrl_param
159{
160 luat_uart_recv_callback_t recv_callback_fun;
161 luat_uart_sent_callback_t sent_callback_fun;
162}luat_uart_ctrl_param_t;
163
172int luat_uart_ctrl(int uart_id, LUAT_UART_CTRL_CMD_E cmd, void* param);
173
176#endif
luat_uart_setup
int luat_uart_setup(luat_uart_t *uart)
uart初始化
luat_uart_ctrl_param_t
struct luat_uart_ctrl_param luat_uart_ctrl_param_t
串口控制参数
LUAT_UART_CTRL_CMD_E
enum LUAT_UART_CTRL_CMD LUAT_UART_CTRL_CMD_E
串口控制参数
luat_uart_exist
int luat_uart_exist(int uart_id)
检测串口是否存在
luat_uart_close
int luat_uart_close(int uart_id)
关闭串口
luat_uart_read
int luat_uart_read(int uart_id, void *buffer, size_t length)
串口读数据
luat_uart_ctrl
int luat_uart_ctrl(int uart_id, LUAT_UART_CTRL_CMD_E cmd, void *param)
串口控制
luat_uart_sent_callback_t
void(* luat_uart_sent_callback_t)(int uart_id, void *param)
发送回调函数
Definition: luat_uart.h:152
luat_uart_t
struct luat_uart luat_uart_t
luat_uart
luat_uart_write
int luat_uart_write(int uart_id, void *data, size_t length)
串口写数据
LUAT_UART_CTRL_CMD
LUAT_UART_CTRL_CMD
串口控制参数
Definition: luat_uart.h:137
luat_uart_recv_callback_t
void(* luat_uart_recv_callback_t)(int uart_id, uint32_t data_len)
接收回调函数
Definition: luat_uart.h:146
LUAT_UART_SET_RECV_CALLBACK
@ LUAT_UART_SET_RECV_CALLBACK
Definition: luat_uart.h:138
LUAT_UART_SET_SENT_CALLBACK
@ LUAT_UART_SET_SENT_CALLBACK
Definition: luat_uart.h:139
luat_uart_ctrl_param
串口控制参数
Definition: luat_uart.h:159
luat_uart_ctrl_param::sent_callback_fun
luat_uart_sent_callback_t sent_callback_fun
Definition: luat_uart.h:161
luat_uart_ctrl_param::recv_callback_fun
luat_uart_recv_callback_t recv_callback_fun
Definition: luat_uart.h:160
luat_uart
luat_uart
Definition: luat_uart.h:74
luat_uart::pin485
uint32_t pin485
Definition: luat_uart.h:84
luat_uart::bufsz
size_t bufsz
Definition: luat_uart.h:83
luat_uart::delay
uint32_t delay
Definition: luat_uart.h:85
luat_uart::rx_level
uint8_t rx_level
Definition: luat_uart.h:86
luat_uart::data_bits
uint8_t data_bits
Definition: luat_uart.h:78
luat_uart::id
int id
Definition: luat_uart.h:75
luat_uart::baud_rate
int baud_rate
Definition: luat_uart.h:76
luat_uart::parity
uint8_t parity
Definition: luat_uart.h:81
luat_uart::bit_order
uint8_t bit_order
Definition: luat_uart.h:80
luat_uart::stop_bits
uint8_t stop_bits
Definition: luat_uart.h:79


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_uart_legacy.h 源文件

  • interface
  • include
luat_uart_legacy.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_UART_LEGACY_H
23#define LUAT_UART_LEGACY_H
24
25#include "luat_base.h"
26
27#ifdef __LUATOS__
28int l_uart_handler(lua_State *L, void* ptr);
29#endif
30
31#ifdef LUAT_FORCE_WIN32
32int luat_uart_list(uint8_t* list, size_t buff_len);
33#endif
34
35int luat_setup_cb(int uartid, int received, int sent);
36/*
37上报接收数据中断的逻辑：
381.串口初始化时，新建一个缓冲区
392.可以考虑多为用户申请几百字节的缓冲长度，用户处理时防止丢包
403.每次串口收到数据时，先存入缓冲区，记录长度
414.遇到以下情况时，再调用串口中断
42 a)缓冲区满（帮用户多申请的的情况）/缓冲区只剩几百字节（按实际长度申请缓冲区的情况）
43 b)收到fifo接收超时中断（此时串口数据应该是没有继续收了）
445.触发收到数据中断时，返回的数据应是缓冲区的数据
456.关闭串口时，释放缓冲区资源
46*/
47
48#endif


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_wdt.h 源文件

  • interface
  • include
luat_wdt.h
1/*
2 * Copyright (c) 2022 OpenLuat & AirM2M
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and associated documentation files (the "Software"), to deal in
6 * the Software without restriction, including without limitation the rights to
7 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 * the Software, and to permit persons to whom the Software is furnished to do so,
9 * subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef LUAT_WDT_H
23#define LUAT_WDT_H
24
25#include "luat_base.h"
31int luat_wdt_setup(size_t timeout);
32
38int luat_wdt_set_timeout(size_t timeout);
39
44int luat_wdt_feed(void);
45
50int luat_wdt_close(void);
51
52#endif


Luat_soc_sdk: E:/lua/Air780E/luatos-soc-2022/interface/include/luat_wifiscan.h 源文件

  • interface
  • include
luat_wifiscan.h
1#ifndef _LUAT_WIFISCAN_H_
2#define _LUAT_WIFISCAN_H_
3
4
5
6#include "luat_base.h"
13typedef enum luat_wifiscan_set_priority
14{
15 LUAT_WIFISCAN_DATA_PERFERRD=0,
16 LUAT_WIFISCAN_WIFI_PERFERRD
17}luat_wifiscan_set_priority_t;
18
20typedef struct luat_wifiscan_set_info
21{
22 int maxTimeOut; //ms, AT max execution time
23 uint8_t round; //wifiscan total round
24 uint8_t maxBssidNum; //wifiscan max report num
25 uint8_t scanTimeOut; //s, max time of each round executed by RRC
26 uint8_t wifiPriority; //CmiWifiScanPriority
27}luat_wifiscan_set_info_t;
28
29
30#define LUAT_MAX_WIFI_BSSID_NUM 10
31#define LUAT_MAX_SSID_HEX_LENGTH 32
32
34typedef struct luat_wifisacn_get_info
35{
36 uint8_t bssidNum;
37 uint8_t rsvd;
38 uint8_t ssidHexLen[LUAT_MAX_WIFI_BSSID_NUM];
39 uint8_t ssidHex[LUAT_MAX_WIFI_BSSID_NUM][LUAT_MAX_SSID_HEX_LENGTH];
40 int8_t rssi[LUAT_MAX_WIFI_BSSID_NUM];
41 uint8_t channel[LUAT_MAX_WIFI_BSSID_NUM];
42 uint8_t bssid[LUAT_MAX_WIFI_BSSID_NUM][6];
43}luat_wifisacn_get_info_t;
44
51int32_t luat_get_wifiscan_cell_info(luat_wifiscan_set_info_t * set_info,luat_wifisacn_get_info_t* get_info);
52
53
56#endif
LUAT_MAX_SSID_HEX_LENGTH
#define LUAT_MAX_SSID_HEX_LENGTH
SSID 的最大长度
Definition: luat_wifiscan.h:31
luat_get_wifiscan_cell_info
int32_t luat_get_wifiscan_cell_info(luat_wifiscan_set_info_t *set_info, luat_wifisacn_get_info_t *get_info)
获取wifiscan 的信息
luat_wifisacn_get_info_t
struct luat_wifisacn_get_info luat_wifisacn_get_info_t
wifiscan 扫描结果
LUAT_MAX_WIFI_BSSID_NUM
#define LUAT_MAX_WIFI_BSSID_NUM
bssid 的最大数量
Definition: luat_wifiscan.h:30
luat_wifiscan_set_info_t
struct luat_wifiscan_set_info luat_wifiscan_set_info_t
wifiscan 控制参数结构体
luat_wifiscan_set_priority_t
enum luat_wifiscan_set_priority luat_wifiscan_set_priority_t
wifiscan 扫描的优先级
luat_wifiscan_set_priority
luat_wifiscan_set_priority
wifiscan 扫描的优先级
Definition: luat_wifiscan.h:14
LUAT_WIFISCAN_WIFI_PERFERRD
@ LUAT_WIFISCAN_WIFI_PERFERRD
Definition: luat_wifiscan.h:16
LUAT_WIFISCAN_DATA_PERFERRD
@ LUAT_WIFISCAN_DATA_PERFERRD
Definition: luat_wifiscan.h:15
luat_wifisacn_get_info
wifiscan 扫描结果
Definition: luat_wifiscan.h:35
luat_wifisacn_get_info::bssidNum
uint8_t bssidNum
Definition: luat_wifiscan.h:36
luat_wifisacn_get_info::rssi
int8_t rssi[LUAT_MAX_WIFI_BSSID_NUM]
Definition: luat_wifiscan.h:40
luat_wifisacn_get_info::rsvd
uint8_t rsvd
Definition: luat_wifiscan.h:37
luat_wifisacn_get_info::channel
uint8_t channel[LUAT_MAX_WIFI_BSSID_NUM]
Definition: luat_wifiscan.h:41
luat_wifisacn_get_info::ssidHex
uint8_t ssidHex[LUAT_MAX_WIFI_BSSID_NUM][LUAT_MAX_SSID_HEX_LENGTH]
Definition: luat_wifiscan.h:39
luat_wifisacn_get_info::bssid
uint8_t bssid[LUAT_MAX_WIFI_BSSID_NUM][6]
Definition: luat_wifiscan.h:42
luat_wifisacn_get_info::ssidHexLen
uint8_t ssidHexLen[LUAT_MAX_WIFI_BSSID_NUM]
Definition: luat_wifiscan.h:38
luat_wifiscan_set_info
wifiscan 控制参数结构体
Definition: luat_wifiscan.h:21
luat_wifiscan_set_info::maxTimeOut
int maxTimeOut
Definition: luat_wifiscan.h:22
luat_wifiscan_set_info::round
uint8_t round
Definition: luat_wifiscan.h:23
luat_wifiscan_set_info::wifiPriority
uint8_t wifiPriority
Definition: luat_wifiscan.h:26
luat_wifiscan_set_info::maxBssidNum
uint8_t maxBssidNum
Definition: luat_wifiscan.h:24
luat_wifiscan_set_info::scanTimeOut
uint8_t scanTimeOut
Definition: luat_wifiscan.h:25