Dozingfiretruck 4 лет назад
Родитель
Сommit
78f94a13dc
1 измененных файлов с 86 добавлено и 1 удалено
  1. 86 1
      components/sfud/luat_lib_sfud.c

+ 86 - 1
components/sfud/luat_lib_sfud.c

@@ -1,3 +1,9 @@
+/*
+@module  sfud
+@summary SPI FLASH sfud软件包
+@version 1.0
+@date    2021.09.23
+*/
 
 #include "luat_base.h"
 #include "luat_spi.h"
@@ -8,6 +14,16 @@
 
 luat_spi_t sfud_spi_flash;
 
+/*
+初始化sfud
+@api  sfud.init(spi_id, spi_cs, spi_bandrate)
+@int  spi_id SPI的ID
+@int  spi_cs SPI的片选
+@int  spi_bandrate SPI的频率
+@return bool 成功返回true,否则返回false
+@usage
+log.info("sfud.init",sfud.init(0,20,20 * 1000 * 1000))
+*/
 static int l_sfud_init(lua_State *L){
 
     sfud_spi_flash.id = luaL_checkinteger(L, 1);
@@ -29,24 +45,54 @@ static int l_sfud_init(lua_State *L){
     return 1;
 }
 
+/*
+获取flash设备信息表中的设备总数
+@api  sfud.get_device_num()
+@return int  返回设备总数
+@usage
+log.info("sfud.get_device_num",sfud.get_device_num())
+*/
 static int l_sfud_get_device_num(lua_State *L){
     int re = sfud_get_device_num();
     lua_pushinteger(L, re);
     return 1;
 }
 
+/*
+通过flash信息表中的索引获取flash设备
+@api  sfud.get_device(index)
+@int  index flash信息表中的索引
+@return userdata 成功返回一个数据结构,否则返回nil
+@usage
+local sfud_device = sfud.get_device(1)
+*/
 static int l_sfud_get_device(lua_State *L){
     sfud_flash *flash = sfud_get_device(luaL_checkinteger(L, 1));
     lua_pushlightuserdata(L, flash);
     return 1;
 }
 
+/*
+获取flash设备信息表
+@api  sfud.get_device_table()
+@return userdata 成功返回一个数据结构,否则返回nil
+@usage
+local sfud_device = sfud.get_device_table()
+*/
 static int l_sfud_get_device_table(lua_State *L){
     sfud_flash *flash = sfud_get_device_table();
     lua_pushlightuserdata(L, flash);
     return 1;
 }
 
+/*
+擦除 Flash 全部数据
+@api  sfud.chip_erase(flash)
+@userdata flash Flash 设备对象 sfud.get_device_table()返回的数据结构
+@return int 成功返回0
+@usage
+sfud.chip_erase(flash)
+*/
 static int l_sfud_chip_erase(lua_State *L){
     const sfud_flash *flash = lua_touserdata(L, 1);
     sfud_err re = sfud_chip_erase(flash);
@@ -54,6 +100,14 @@ static int l_sfud_chip_erase(lua_State *L){
     return 1;
 }
 
+/*
+擦除 Flash 全部数据
+@api  sfud.chip_erase(flash)
+@userdata flash Flash 设备对象 sfud.get_device_table()返回的数据结构
+@return int 成功返回0
+@usage
+sfud.chip_erase(flash)
+*/
 static int l_sfud_erase(lua_State *L){
     const sfud_flash *flash = lua_touserdata(L, 1);
     uint32_t addr = luaL_checkinteger(L, 2);
@@ -63,7 +117,16 @@ static int l_sfud_erase(lua_State *L){
     return 1;
 }
 
-
+/*
+读取 Flash 数据
+@api  sfud.read(flash, addr, size)
+@userdata flash Flash 设备对象 sfud.get_device_table()返回的数据结构
+@int addr 起始地址
+@int size 从起始地址开始读取数据的总大小
+@return string data 读取到的数据
+@usage
+log.info("sfud.read",sfud.read(sfud_device,1024,4))
+*/
 static int l_sfud_read(lua_State *L){
     const sfud_flash *flash = lua_touserdata(L, 1);
     uint32_t addr = luaL_checkinteger(L, 2);
@@ -79,6 +142,17 @@ static int l_sfud_read(lua_State *L){
     return 1;
 }
     
+/*
+向 Flash 写数据
+@api  sfud.write(flash, addr, size,data)
+@userdata flash Flash 设备对象 sfud.get_device_table()返回的数据结构
+@int addr 起始地址
+@int size 从起始地址开始读取数据的总大小
+@string data 待写入的数据
+@return int 成功返回0
+@usage
+log.info("sfud.write",sfud.write(sfud_device,1024,"sfud"))
+*/
 static int l_sfud_write(lua_State *L){
     const sfud_flash *flash = lua_touserdata(L, 1);
     uint32_t addr = luaL_checkinteger(L, 2);
@@ -89,6 +163,17 @@ static int l_sfud_write(lua_State *L){
     return 1;
 }
 
+/*
+先擦除再往 Flash 写数据
+@api  sfud.erase_write(flash, addr, size,data)
+@userdata flash Flash 设备对象 sfud.get_device_table()返回的数据结构
+@int addr 起始地址
+@int size 从起始地址开始读取数据的总大小
+@string data 待写入的数据
+@return int 成功返回0
+@usage
+log.info("sfud.erase_write",sfud.erase_write(sfud_device,1024,"sfud"))
+*/
 static int l_sfud_erase_write(lua_State *L){
     const sfud_flash *flash = lua_touserdata(L, 1);
     uint32_t addr = luaL_checkinteger(L, 2);