浏览代码

Merge pull request #1063 from DiUS/fscfg

Add file.fscfg() command for fs location + size.
Terry Ellison 8 年之前
父节点
当前提交
dc905f080b
共有 2 个文件被更改,包括 28 次插入1 次删除
  1. 8 0
      app/modules/file.c
  2. 20 1
      docs/en/modules/file.md

+ 8 - 0
app/modules/file.c

@@ -307,6 +307,13 @@ static int file_writeline( lua_State* L )
   return 1;
 }
 
+static int file_fscfg (lua_State *L)
+{
+  lua_pushinteger (L, fs.cfg.phys_addr);
+  lua_pushinteger (L, fs.cfg.phys_size);
+  return 2;
+}
+
 // Module function map
 static const LUA_REG_TYPE file_map[] = {
   { LSTRKEY( "list" ),      LFUNCVAL( file_list ) },
@@ -323,6 +330,7 @@ static const LUA_REG_TYPE file_map[] = {
   { LSTRKEY( "flush" ),     LFUNCVAL( file_flush ) },
   { LSTRKEY( "rename" ),    LFUNCVAL( file_rename ) },
   { LSTRKEY( "fsinfo" ),    LFUNCVAL( file_fsinfo ) },
+  { LSTRKEY( "fscfg" ),    LFUNCVAL( file_fscfg ) },
   { LSTRKEY( "exists" ),    LFUNCVAL( file_exists ) },  
 #endif
   { LNILKEY, LNILVAL }

+ 20 - 1
docs/en/modules/file.md

@@ -99,6 +99,25 @@ none
 #### See also
 [`file.remove()`](#fileremove)
 
+## file.fscfg ()
+
+Returns the flash address and physical size of the file system area, in bytes.
+
+#### Syntax
+`file.fscfg()`
+
+#### Parameters
+none
+
+#### Returns
+- `flash address` (number)
+- `size` (number)
+
+#### Example
+```lua
+print(string.format("0x%x", file.fscfg()))
+```
+
 ## file.fsinfo()
 
 Return size information for the file system, in bytes.
@@ -356,4 +375,4 @@ file.close()
 
 #### See also
 - [`file.open()`](#fileopen)
-- [`file.readline()`](#filereadline)
+- [`file.readline()`](#filereadline)