Update for consistency with the other docs
This commit is contained in:
parent
8d38cef044
commit
7eba3cbcf3
|
@ -5,151 +5,6 @@ The file system is a flat file system, with no notion of directories/folders.
|
||||||
|
|
||||||
Only one file can be open at any given time.
|
Only one file can be open at any given time.
|
||||||
|
|
||||||
## file.fsinfo()
|
|
||||||
|
|
||||||
Return size information for the file system, in bytes.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.fsinfo()`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
- `remaining` (number)
|
|
||||||
- `used` (number)
|
|
||||||
- `total` (number)
|
|
||||||
|
|
||||||
####Example
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- get file system info
|
|
||||||
remaining, used, total=file.fsinfo()
|
|
||||||
print("\nFile system info:\nTotal : "..total.." Bytes\nUsed : "..used.." Bytes\nRemain: "..remaining.." Bytes\n")
|
|
||||||
```
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## file.format()
|
|
||||||
|
|
||||||
Format the file system. Completely erases any existing file system and writes a new one. Depending on the size of the flash chip in the ESP, this may take several seconds.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.format()`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
file.format()
|
|
||||||
```
|
|
||||||
|
|
||||||
####See also
|
|
||||||
- `file.remove()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## file.list()
|
|
||||||
|
|
||||||
Lists all files in the file system.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.list()`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
a lua table which contains the {file name: file size} pairs
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
l = file.list();
|
|
||||||
for k,v in pairs(l) do
|
|
||||||
print("name:"..k..", size:"..v)
|
|
||||||
end
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## file.remove()
|
|
||||||
|
|
||||||
Remove a file from the file system. The file must not be currently open.
|
|
||||||
|
|
||||||
###Syntax
|
|
||||||
`file.remove(filename)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `filename`: file to remove
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Example
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- remove "foo.lua" from file system.
|
|
||||||
file.remove("foo.lua")
|
|
||||||
```
|
|
||||||
####See also
|
|
||||||
- `file.open()`
|
|
||||||
___
|
|
||||||
## file.rename()
|
|
||||||
|
|
||||||
Renames a file. If a file is currently open, it will be closed first.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.rename(oldname, newname)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `oldname`: old file name
|
|
||||||
- `newname`: new file name
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`true` on success, `false` on error.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- rename file 'temp.lua' to 'init.lua'.
|
|
||||||
file.rename("temp.lua","init.lua")
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## file.open()
|
|
||||||
|
|
||||||
Opens a file for access, potentially creating it (for write modes).
|
|
||||||
|
|
||||||
When done with the file, it must be closed using `file.close()`.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.open(filename, mode)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `filename`: file to be opened, directories are not supported
|
|
||||||
- `mode`:
|
|
||||||
- "r": read mode (the default)<br />
|
|
||||||
- "w": write mode<br />
|
|
||||||
- "a": append mode<br />
|
|
||||||
- "r+": update mode, all previous data is preserved<br />
|
|
||||||
- "w+": update mode, all previous data is erased<br />
|
|
||||||
- "a+": append update mode, previous data is preserved, writing is only allowed at the end of file
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
- `nil` if file not opened, or not exists (read modes). true` if file opened ok.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- open 'init.lua', print the first line.
|
|
||||||
file.open("init.lua", "r")
|
|
||||||
print(file.readline())
|
|
||||||
file.close()
|
|
||||||
```
|
|
||||||
####See also
|
|
||||||
- `file.close()`
|
|
||||||
- `file.readline()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## file.close()
|
## file.close()
|
||||||
|
|
||||||
Closes the open file, if any.
|
Closes the open file, if any.
|
||||||
|
@ -158,13 +13,12 @@ Closes the open file, if any.
|
||||||
`file.close()`
|
`file.close()`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
`nil`
|
none
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
`nil`
|
`nil`
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
-- open 'init.lua', print the first line.
|
-- open 'init.lua', print the first line.
|
||||||
file.open("init.lua", "r")
|
file.open("init.lua", "r")
|
||||||
|
@ -172,134 +26,17 @@ Closes the open file, if any.
|
||||||
file.close()
|
file.close()
|
||||||
```
|
```
|
||||||
#### See also
|
#### See also
|
||||||
- `file.open()`
|
[`file.open()`](#fileopen)
|
||||||
|
|
||||||
___
|
|
||||||
## file.readline()
|
|
||||||
|
|
||||||
Read the next line from the open file.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.readline()`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
File content in string, line by line, include EOL('\n'). Return `nil` when EOF.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- print the first line of 'init.lua'
|
|
||||||
file.open("init.lua", "r")
|
|
||||||
print(file.readline())
|
|
||||||
file.close()
|
|
||||||
```
|
|
||||||
####See also
|
|
||||||
- `file.open()`
|
|
||||||
- `file.close()`
|
|
||||||
- `file.read()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## file.writeline()
|
|
||||||
|
|
||||||
Write a string to the open file and append '\n' at the end.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.writeline(string)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `string`: content to be write to file
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`true` if write ok, `nil` on error.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- open 'init.lua' in 'a+' mode
|
|
||||||
file.open("init.lua", "a+")
|
|
||||||
-- write 'foo bar' to the end of the file
|
|
||||||
file.writeline('foo bar')
|
|
||||||
file.close()
|
|
||||||
```
|
|
||||||
|
|
||||||
####See also
|
|
||||||
- `file.open()`
|
|
||||||
- `file.readline()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## file.read()
|
|
||||||
|
|
||||||
Read content from the open file.
|
|
||||||
####Syntax
|
|
||||||
`file.read([n_or_str])`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `n_or_str`:
|
|
||||||
- if nothing passed in, read all byte in file.
|
|
||||||
- if pass a number n, then read n bytes from file, or EOF is reached.
|
|
||||||
- if pass a string "str", then read until 'str' or EOF is reached.
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
File content in string, or nil when EOF.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
-- print the first line of 'init.lua'
|
|
||||||
file.open("init.lua", "r")
|
|
||||||
print(file.read('\n'))
|
|
||||||
file.close()
|
|
||||||
|
|
||||||
-- print the first 5 byte of 'init.lua'
|
|
||||||
file.open("init.lua", "r")
|
|
||||||
print(file.read(5))
|
|
||||||
file.close()
|
|
||||||
```
|
|
||||||
|
|
||||||
####See also
|
|
||||||
- `file.open()`
|
|
||||||
- `file.readline()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## file.write()
|
|
||||||
|
|
||||||
Write a string to the open file.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`file.write(string)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
`string`: content to be write to file.
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`true` if the write is ok, `nil` on error.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
|
|
||||||
```lua
|
|
||||||
-- open 'init.lua' in 'a+' mode
|
|
||||||
file.open("init.lua", "a+")
|
|
||||||
-- write 'foo bar' to the end of the file
|
|
||||||
file.write('foo bar')
|
|
||||||
file.close()
|
|
||||||
```
|
|
||||||
|
|
||||||
####See also
|
|
||||||
- `file.open()`
|
|
||||||
- `file.writeline()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## file.flush()
|
## file.flush()
|
||||||
|
|
||||||
Flushes any pending writes to the file system, ensuring no data is lost on a restart. Closing the open file using `file.close()` performs an implicit flush as well.
|
Flushes any pending writes to the file system, ensuring no data is lost on a restart. Closing the open file using [`file.close()`](#fileclose) performs an implicit flush as well.
|
||||||
|
|
||||||
#### Syntax
|
#### Syntax
|
||||||
`file.flush()`
|
`file.flush()`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
`nil`
|
none
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
`nil`
|
`nil`
|
||||||
|
@ -316,9 +53,202 @@ Flushes any pending writes to the file system, ensuring no data is lost on a res
|
||||||
file.close()
|
file.close()
|
||||||
```
|
```
|
||||||
#### See also
|
#### See also
|
||||||
- `file.close()`
|
[`file.close()`](#fileclose)
|
||||||
|
|
||||||
|
## file.format()
|
||||||
|
|
||||||
|
Format the file system. Completely erases any existing file system and writes a new one. Depending on the size of the flash chip in the ESP, this may take several seconds.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.format()`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
none
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`nil`
|
||||||
|
|
||||||
|
#### See also
|
||||||
|
[`file.remove()`](#fileremove)
|
||||||
|
|
||||||
|
## file.fsinfo()
|
||||||
|
|
||||||
|
Return size information for the file system, in bytes.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.fsinfo()`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
none
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
- `remaining` (number)
|
||||||
|
- `used` (number)
|
||||||
|
- `total` (number)
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- get file system info
|
||||||
|
remaining, used, total=file.fsinfo()
|
||||||
|
print("\nFile system info:\nTotal : "..total.." Bytes\nUsed : "..used.." Bytes\nRemain: "..remaining.." Bytes\n")
|
||||||
|
```
|
||||||
|
|
||||||
|
## file.list()
|
||||||
|
|
||||||
|
Lists all files in the file system.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.list()`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
none
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
a lua table which contains the {file name: file size} pairs
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
l = file.list();
|
||||||
|
for k,v in pairs(l) do
|
||||||
|
print("name:"..k..", size:"..v)
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
## file.open()
|
||||||
|
|
||||||
|
Opens a file for access, potentially creating it (for write modes).
|
||||||
|
|
||||||
|
When done with the file, it must be closed using `file.close()`.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.open(filename, mode)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
- `filename` file to be opened, directories are not supported
|
||||||
|
- `mode`:
|
||||||
|
- "r": read mode (the default)
|
||||||
|
- "w": write mode
|
||||||
|
- "a": append mode
|
||||||
|
- "r+": update mode, all previous data is preserved
|
||||||
|
- "w+": update mode, all previous data is erased
|
||||||
|
- "a+": append update mode, previous data is preserved, writing is only allowed at the end of file
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`nil` if file not opened, or not exists (read modes). `true` if file opened ok.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
-- open 'init.lua', print the first line.
|
||||||
|
file.open("init.lua", "r")
|
||||||
|
print(file.readline())
|
||||||
|
file.close()
|
||||||
|
```
|
||||||
|
#### See also
|
||||||
|
- [`file.close()`](#fileclose)
|
||||||
|
- [`file.readline()`](#filereadline)
|
||||||
|
|
||||||
|
## file.read()
|
||||||
|
|
||||||
|
Read content from the open file.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.read([n_or_str])`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
- `n_or_str`:
|
||||||
|
- if nothing passed in, read all byte in file
|
||||||
|
- if pass a number n, then read n bytes from file, or EOF is reached
|
||||||
|
- if pass a string "str", then read until 'str' or EOF is reached
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
fdile content in string, or nil when EOF
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
-- print the first line of 'init.lua'
|
||||||
|
file.open("init.lua", "r")
|
||||||
|
print(file.read('\n'))
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
-- print the first 5 byte of 'init.lua'
|
||||||
|
file.open("init.lua", "r")
|
||||||
|
print(file.read(5))
|
||||||
|
file.close()
|
||||||
|
```
|
||||||
|
|
||||||
|
#### See also
|
||||||
|
- [`file.open()`](#fileopen)
|
||||||
|
- [`file.readline()`](#filereadline)
|
||||||
|
|
||||||
|
## file.readline()
|
||||||
|
|
||||||
|
Read the next line from the open file.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.readline()`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
none
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
File content in string, line by line, include EOL('\n'). Return `nil` when EOF.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
-- print the first line of 'init.lua'
|
||||||
|
file.open("init.lua", "r")
|
||||||
|
print(file.readline())
|
||||||
|
file.close()
|
||||||
|
```
|
||||||
|
#### See also
|
||||||
|
- [`file.open()`](#fileopen)
|
||||||
|
- [`file.close()`](#fileclose)
|
||||||
|
- [`file.read()`](#filereade)
|
||||||
|
|
||||||
|
## file.remove()
|
||||||
|
|
||||||
|
Remove a file from the file system. The file must not be currently open.
|
||||||
|
|
||||||
|
###Syntax
|
||||||
|
`file.remove(filename)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
`filename` file to remove
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`nil`
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- remove "foo.lua" from file system.
|
||||||
|
file.remove("foo.lua")
|
||||||
|
```
|
||||||
|
#### See also
|
||||||
|
[`file.open()`](#fileopen)
|
||||||
|
|
||||||
|
## file.rename()
|
||||||
|
|
||||||
|
Renames a file. If a file is currently open, it will be closed first.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.rename(oldname, newname)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
- `oldname` old file name
|
||||||
|
- `newname` new file name
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`true` on success, `false` on error.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- rename file 'temp.lua' to 'init.lua'.
|
||||||
|
file.rename("temp.lua","init.lua")
|
||||||
|
```
|
||||||
|
|
||||||
___
|
|
||||||
## file.seek()
|
## file.seek()
|
||||||
Sets and gets the file position, measured from the beginning of the file, to the position given by offset plus a base specified by the string whence.
|
Sets and gets the file position, measured from the beginning of the file, to the position given by offset plus a base specified by the string whence.
|
||||||
|
|
||||||
|
@ -326,16 +256,16 @@ Sets and gets the file position, measured from the beginning of the file, to the
|
||||||
`file.seek([whence [, offset]])`
|
`file.seek([whence [, offset]])`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
- `whence`:
|
- `whence`
|
||||||
- "set": base is position 0 (beginning of the file)
|
- "set": base is position 0 (beginning of the file)
|
||||||
- "cur": base is current position (default value)
|
- "cur": base is current position (default value)
|
||||||
- "end": base is end of file
|
- "end": base is end of file
|
||||||
- offset: default 0
|
- `offset` default 0
|
||||||
|
|
||||||
If no parameters are given, the function simply returns the current file offset.
|
If no parameters are given, the function simply returns the current file offset.
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
The resulting file position, or `nil` on error.
|
the resulting file position, or `nil` on error
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
```lua
|
```lua
|
||||||
|
@ -346,6 +276,56 @@ The resulting file position, or `nil` on error.
|
||||||
file.close()
|
file.close()
|
||||||
```
|
```
|
||||||
#### See also
|
#### See also
|
||||||
- `file.open()`
|
[`file.open()`](#fileopen)
|
||||||
|
|
||||||
___
|
## file.write()
|
||||||
|
|
||||||
|
Write a string to the open file.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.write(string)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
`string` content to be write to file
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`true` if the write is ok, `nil` on error
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
-- open 'init.lua' in 'a+' mode
|
||||||
|
file.open("init.lua", "a+")
|
||||||
|
-- write 'foo bar' to the end of the file
|
||||||
|
file.write('foo bar')
|
||||||
|
file.close()
|
||||||
|
```
|
||||||
|
|
||||||
|
#### See also
|
||||||
|
- [`file.open()`](#fileopen)
|
||||||
|
- [`file.writeline()`](#filewriteline)
|
||||||
|
|
||||||
|
## file.writeline()
|
||||||
|
|
||||||
|
Write a string to the open file and append '\n' at the end.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`file.writeline(string)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
`string` content to be write to file
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`true` if write ok, `nil` on error
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
-- open 'init.lua' in 'a+' mode
|
||||||
|
file.open("init.lua", "a+")
|
||||||
|
-- write 'foo bar' to the end of the file
|
||||||
|
file.writeline('foo bar')
|
||||||
|
file.close()
|
||||||
|
```
|
||||||
|
|
||||||
|
#### See also
|
||||||
|
- [`file.open()`](#fileopen)
|
||||||
|
- [`file.readline()`](#filereadline)
|
|
@ -4,29 +4,113 @@ The tmr module allows access to simple timers, the system counter and uptime.
|
||||||
|
|
||||||
It is aimed at setting up regularly occurring tasks, timing out operations, and provide low-resolution deltas.
|
It is aimed at setting up regularly occurring tasks, timing out operations, and provide low-resolution deltas.
|
||||||
|
|
||||||
What the tmr module is *not* however, is a time keeping module. While most timeouts are expressed in milliseconds or even microseconds, the accuracy is limited and compounding errors would lead to rather inaccurate time keeping. Consider using the `rtctime` module for "wall clock" time.
|
What the tmr module is *not* however, is a time keeping module. While most timeouts are expressed in milliseconds or even microseconds, the accuracy is limited and compounding errors would lead to rather inaccurate time keeping. Consider using the [rtctime](rtctime.md) module for "wall clock" time.
|
||||||
|
|
||||||
NodeMCU provides 7 timers, numbered 0-6. It is currently up to the user to keep track of which timers are used for what.
|
NodeMCU provides 7 timers, numbered 0-6. It is currently up to the user to keep track of which timers are used for what.
|
||||||
|
|
||||||
|
## tmr.alarm()
|
||||||
|
|
||||||
|
This is a convenience function combining [`tmr.register()`](#tmrregister) and [`tmr.start()`](#tmrstart) into a single call.
|
||||||
|
|
||||||
|
To free up the resources with this timer when done using it, call [`tmr.unregister()`](#tmrunregister) on it. For one-shot timers this is not necessary, unless they were stopped before they expired.
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
- `id` timer id (0-6)
|
||||||
|
- `interval_ms` timer interval in milliseconds. Maximum value is 12884901. In SDKs <= 1.5.0 values >6871948 result in incorrect behaviour.
|
||||||
|
- `mode` timer mode:
|
||||||
|
- `tmr.ALARM_SINGLE` a one-shot alarm (and no need to call [`tmr.unregister()`](#tmrunregister))
|
||||||
|
- `tmr.ALARM_SEMI` manually repeating alarm (call [`tmr.start()`](#tmrstart) to restart)
|
||||||
|
- `tmr.ALARM_AUTO` automatically repeating alarm
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`true` if the timer was started, `false` on error
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
if not tmr.alarm(0, 5000, tmr.ALARM_SINGLE, function() print("hey there") end) then print("whoopsie") end
|
||||||
|
```
|
||||||
#### See also
|
#### See also
|
||||||
- rtctime module
|
- [`tmr.register()`](#tmrregister)
|
||||||
|
- [`tmr.start()`](#tmrstart)
|
||||||
|
- [`tmr.unregister()`](#tmrunregister)
|
||||||
|
|
||||||
|
## tmr.delay()
|
||||||
|
|
||||||
|
Busyloops the processor for a specified number of microseconds.
|
||||||
|
|
||||||
|
This is in general a **bad** idea, because nothing else gets to run, and the networking stack (and other things) can fall over as a result. The only time `tmr.delay()` may be appropriate to use is if dealing with a peripheral device which needs a (very) brief delay between commands, or similar. *Use with caution!*
|
||||||
|
|
||||||
|
Also note that the actual amount of time delayed for may be noticeably greater, both as a result of timing inaccuracies as well as interrupts which may run during this time.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`tmr.delay(us)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
`us` microseconds to busyloop for
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`nil`
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
tmr.delay(100)
|
||||||
|
```
|
||||||
|
|
||||||
|
## tmr.interval()
|
||||||
|
|
||||||
|
Changes a registered timer's expiry interval.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`tmr.interval(id, interval_ms)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
- `id` timer id (0-6)
|
||||||
|
- `interval_ms` new timer interval in milliseconds. Maximum value is 12884901. In SDKs <= 1.5.0 values >6871948 result in incorrect behaviour.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`nil`
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
tmr.register(0, 5000, tmr.ALARM_SINGLE, function() print("hey there") end)
|
||||||
|
tmr.interval(0, 3000) -- actually, 3 seconds is better!
|
||||||
|
```
|
||||||
|
|
||||||
|
## tmr.now()
|
||||||
|
|
||||||
|
Returns the system counter, which counts in microseconds. Limited to 31 bits, after that it wraps around back to zero. That is essential if you use this function to [debounce or throttle GPIO input](https://github.com/hackhitchin/esp8266-co-uk/issues/2).
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`tmr.now()`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
none
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
the current value of the system counter
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
print(tmr.now())
|
||||||
|
print(tmr.now())
|
||||||
|
```
|
||||||
|
|
||||||
## tmr.register()
|
## tmr.register()
|
||||||
|
|
||||||
Configures a timer and registers the callback function to call on expiry.
|
Configures a timer and registers the callback function to call on expiry.
|
||||||
|
|
||||||
To free up the resources with this timer when done using it, call `tmr.unregister()` on it. For one-shot timers this is not necessary, unless they were stopped before they expired.
|
To free up the resources with this timer when done using it, call [`tmr.unregister()`](#tmrunregister) on it. For one-shot timers this is not necessary, unless they were stopped before they expired.
|
||||||
|
|
||||||
#### Syntax
|
#### Syntax
|
||||||
`tmr.register(id, interval_ms, mode, func)`
|
`tmr.register(id, interval_ms, mode, func)`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
- `id`: The timer id (0-6).
|
- `id` timer id (0-6)
|
||||||
- `interval_ms`: timer interval in milliseconds. Maximum value is 12884901. In SDKs <= 1.5.0 values >6871948 result in incorrect behaviour.
|
- `interval_ms` timer interval in milliseconds. Maximum value is 12884901. In SDKs <= 1.5.0 values >6871948 result in incorrect behaviour.
|
||||||
- `mode`: timer mode:
|
- `mode` timer mode:
|
||||||
- `tmr.ALARM_SINGLE`: a one-shot alarm (and no need to call `tmr.unregister()`)
|
- `tmr.ALARM_SINGLE` a one-shot alarm (and no need to call [`tmr.unregister()`](#tmrunregister))
|
||||||
- `tmr.ALARM_SEMI`: manually repeating alarm (call `tmr.start()` to restart)
|
- `tmr.ALARM_SEMI` manually repeating alarm (call [`tmr.start()`](#tmrunregister) to restart)
|
||||||
- `tmr.ALARM_AUTO`: automatically repeating alarm
|
- `tmr.ALARM_AUTO` automatically repeating alarm
|
||||||
|
|
||||||
Note that registering does *not* start the alarm.
|
Note that registering does *not* start the alarm.
|
||||||
|
|
||||||
|
@ -39,183 +123,8 @@ tmr.register(0, 5000, tmr.ALARM_SINGLE, function() print("hey there") end)
|
||||||
tmr.start(0)
|
tmr.start(0)
|
||||||
```
|
```
|
||||||
#### See also
|
#### See also
|
||||||
- `tmr.alarm()`
|
[`tmr.alarm()`](#tmralarm)
|
||||||
|
|
||||||
___
|
|
||||||
## tmr.unregister()
|
|
||||||
|
|
||||||
Stops the timer (if running) and unregisters the associated callback.
|
|
||||||
|
|
||||||
This isn't necessary for one-shot timers (`tmr.ALARM_SINGLE`), as those automatically unregister themselves when fired.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`tmr.unregister(id)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: The timer id (0-6).
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
tmr.unregister(0)
|
|
||||||
```
|
|
||||||
####See also
|
|
||||||
- `tmr.register()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## tmr.start()
|
|
||||||
|
|
||||||
Starts or restarts a previously configured timer.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`tmr.start(id)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: The timer id (0-6).
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
True if the timer was started, false on error.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
tmr.register(0, 5000, tmr.ALARM_SINGLE, function() print("hey there") end)
|
|
||||||
if not tmr.start(0) then print("uh oh") end
|
|
||||||
```
|
|
||||||
####See also
|
|
||||||
- `tmr.register()`
|
|
||||||
- `tmr.stop()`
|
|
||||||
- `tmr.unregister()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## tmr.stop()
|
|
||||||
|
|
||||||
Stops a running timer, but does *not* unregister it. A stopped timer can be restarted with `tmr.start()`.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`tmr.stop(id)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: The timer id (0-6).
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
True if the timer was stopped, false on error.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
if not tmr.stop(2) then print("timer 2 not stopped, not registered?") end
|
|
||||||
```
|
|
||||||
####See also
|
|
||||||
- `tmr.register()`
|
|
||||||
- `tmr.stop()`
|
|
||||||
- `tmr.unregister()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## tmr.interval()
|
|
||||||
|
|
||||||
Changes a registered timer's expiry interval.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`tmr.interval(id, interval_ms)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: The timer id (0-6).
|
|
||||||
- `interval_ms`: new timer interval in milliseconds.
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
tmr.register(0, 5000, tmr.ALARM_SINGLE, function() print("hey there") end)
|
|
||||||
tmr.interval(0, 3000) -- actually, 3 seconds is better!
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## tmr.state()
|
|
||||||
|
|
||||||
Checks the state of a timer.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`tmr.state(id)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: The timer id (0-6).
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
(bool, int) or nil
|
|
||||||
|
|
||||||
If the specified timer is registered, returns whether it is currently started and its mode. If the timer is not registered, `nil` is returned.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
running, mode = tmr.state(0)
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## tmr.alarm()
|
|
||||||
|
|
||||||
This is a convenience function combining `tmr.register()` and `tmr.start()` into a single call.
|
|
||||||
|
|
||||||
To free up the resources with this timer when done using it, call `tmr.unregister()` on it. For one-shot timers this is not necessary, unless they were stopped before they expired.
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: The timer id (0-6).
|
|
||||||
- `interval_ms`: timer interval in milliseconds.
|
|
||||||
- `mode`: timer mode:
|
|
||||||
- `tmr.ALARM_SINGLE`: a one-shot alarm (and no need to call `tmr.unregister()`)
|
|
||||||
- `tmr.ALARM_SEMI`: manually repeating alarm (call `tmr.start()` to restart)
|
|
||||||
- `tmr.ALARM_AUTO`: automatically repeating alarm
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
True if the timer was started, false on error.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
if not tmr.alarm(0, 5000, tmr.ALARM_SINGLE, function() print("hey there") end) then print("whoopsie") end
|
|
||||||
```
|
|
||||||
####See also
|
|
||||||
- `tmr.register()`
|
|
||||||
- `tmr.start()`
|
|
||||||
- `tmr.unregister()`
|
|
||||||
|
|
||||||
___
|
|
||||||
## tmr.now()
|
|
||||||
|
|
||||||
Returns the system counter, which counts in microseconds. Limited to 31 bits, after that it wraps around back to zero.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`tmr.now()`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
The current value of the system counter.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
print(tmr.now())
|
|
||||||
print(tmr.now())
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## tmr.time()
|
|
||||||
|
|
||||||
Returns the system uptime, in seconds. Limited to 31 bits, after that it wraps around back to zero.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`tmr.time()`
|
|
||||||
|
|
||||||
####Parameter
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
The system uptime, in seconds, possibly wrapped around.
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
print("Uptime (probably):", tmr.time())
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## tmr.softwd()
|
## tmr.softwd()
|
||||||
|
|
||||||
Provides a simple software watchdog, which needs to be re-armed or disabled before it expires, or the system will be restarted.
|
Provides a simple software watchdog, which needs to be re-armed or disabled before it expires, or the system will be restarted.
|
||||||
|
@ -224,7 +133,7 @@ Provides a simple software watchdog, which needs to be re-armed or disabled befo
|
||||||
`tmr.softwd(timeout_s)`
|
`tmr.softwd(timeout_s)`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
- `timeout_s`: watchdog timeout, in seconds. To disable the watchdog, use -1 (or any other negative value).
|
`timeout_s` watchdog timeout, in seconds. To disable the watchdog, use -1 (or any other negative value).
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
`nil`
|
`nil`
|
||||||
|
@ -240,30 +149,112 @@ tmr.softwd(5)
|
||||||
-- go off and attempt to do whatever might need a restart to recover from
|
-- go off and attempt to do whatever might need a restart to recover from
|
||||||
complex_stuff_which_might_never_call_the_callback(on_success_callback)
|
complex_stuff_which_might_never_call_the_callback(on_success_callback)
|
||||||
```
|
```
|
||||||
___
|
|
||||||
## tmr.delay()
|
|
||||||
|
|
||||||
Busyloops the processor for a specified number of microseconds.
|
## tmr.start()
|
||||||
|
|
||||||
This is in general a **bad** idea, because nothing else gets to run, and the
|
Starts or restarts a previously configured timer.
|
||||||
networking stack (and other things) can fall over as a result. The only time `tmr.delay()` may be appropriate to use is if dealing with a peripheral device which needs a (very) brief delay between commands, or similar. *Use with caution!*
|
|
||||||
|
|
||||||
Also note that the actual amount of time delayed for may be noticeably greater, both as a result of timing inaccuracies as well as interrupts which may run during this time.
|
|
||||||
|
|
||||||
#### Syntax
|
#### Syntax
|
||||||
`tmr.delay(us)`
|
`tmr.start(id)`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
- `us`: microseconds to busyloop for.
|
`id` timer id (0-6)
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`true` if the timer was started, `false` on error
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
tmr.register(0, 5000, tmr.ALARM_SINGLE, function() print("hey there") end)
|
||||||
|
if not tmr.start(0) then print("uh oh") end
|
||||||
|
```
|
||||||
|
#### See also
|
||||||
|
- [`tmr.register()`](#tmrregister)
|
||||||
|
- [`tmr.stop()`](#tmrstop)
|
||||||
|
- [`tmr.unregister()`](#tmrunregister)
|
||||||
|
|
||||||
|
## tmr.state()
|
||||||
|
|
||||||
|
Checks the state of a timer.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`tmr.state(id)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
`id` timer id (0-6)
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
(bool, int) or `nil`
|
||||||
|
|
||||||
|
If the specified timer is registered, returns whether it is currently started and its mode. If the timer is not registered, `nil` is returned.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
running, mode = tmr.state(0)
|
||||||
|
```
|
||||||
|
|
||||||
|
## tmr.stop()
|
||||||
|
|
||||||
|
Stops a running timer, but does *not* unregister it. A stopped timer can be restarted with [`tmr.start()`](#tmrstart).
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`tmr.stop(id)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
`id` timer id (0-6)
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`true` if the timer was stopped, `false` on error
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
if not tmr.stop(2) then print("timer 2 not stopped, not registered?") end
|
||||||
|
```
|
||||||
|
#### See also
|
||||||
|
- [`tmr.register()`](#tmrregister)
|
||||||
|
- [`tmr.stop()`](#tmrstop)
|
||||||
|
- [`tmr.unregister()`](#tmrunregister)
|
||||||
|
|
||||||
|
## tmr.time()
|
||||||
|
|
||||||
|
Returns the system uptime, in seconds. Limited to 31 bits, after that it wraps around back to zero.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`tmr.time()`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
none
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
the system uptime, in seconds, possibly wrapped around
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
print("Uptime (probably):", tmr.time())
|
||||||
|
```
|
||||||
|
|
||||||
|
## tmr.unregister()
|
||||||
|
|
||||||
|
Stops the timer (if running) and unregisters the associated callback.
|
||||||
|
|
||||||
|
This isn't necessary for one-shot timers (`tmr.ALARM_SINGLE`), as those automatically unregister themselves when fired.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`tmr.unregister(id)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
`id` timer id (0-6)
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
`nil`
|
`nil`
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
```lua
|
```lua
|
||||||
tmr.delay(100)
|
tmr.unregister(0)
|
||||||
```
|
```
|
||||||
___
|
#### See also
|
||||||
|
[`tmr.register()`](#tmrregister)
|
||||||
|
|
||||||
## tmr.wdclr()
|
## tmr.wdclr()
|
||||||
|
|
||||||
Feed the system watchdog.
|
Feed the system watchdog.
|
||||||
|
@ -276,13 +267,7 @@ The event-driven model of NodeMCU means that there is no need to be sitting in h
|
||||||
`tmr.wdclr()`
|
`tmr.wdclr()`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
`nil`
|
none
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
`nil`
|
`nil`
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
tmr.wdclr()
|
|
||||||
```
|
|
||||||
___
|
|
||||||
|
|
|
@ -1,52 +1,9 @@
|
||||||
# uart Module
|
# UART Module
|
||||||
The uart module allows configuration of and communication over the uart serial port.
|
The [UART](https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter) (Universal asynchronous receiver/transmitter) module allows configuration of and communication over the UART serial port.
|
||||||
|
|
||||||
## uart.setup()
|
|
||||||
|
|
||||||
(Re-)configures the communication parameters of the UART.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
`uart.setup(id, baud, databits, parity, stopbits, echo)`
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: Always zero, only one uart supported.
|
|
||||||
- `baud`: One of 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 74880, 115200, 230400, 460800, 921600, 1843200, 2686400.
|
|
||||||
- `databits`: One of 5, 6, 7, 8.
|
|
||||||
- `parity`: uart.PARITY_NONE, uart.PARITY_ODD, or uart.PARITY_EVEN.
|
|
||||||
- `stopbits`: uart.STOPBITS_1, uart.STOPBITS_1_5, or uart.STOPBITS_2.
|
|
||||||
- `echo`: if zero, disable echo, otherwise enable echo.
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
number:configured baud rate
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
-- configure for 9600, 8N1, with echo
|
|
||||||
uart.setup(0, 9600, 8, uart.PARITY_NONE, uart.STOPBITS_1, 1)
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## uart.write()
|
|
||||||
|
|
||||||
Write string or byte to the uart.
|
|
||||||
|
|
||||||
####Syntax
|
|
||||||
uart.write(id, data1 [, data2, ...])
|
|
||||||
|
|
||||||
####Parameters
|
|
||||||
- `id`: Always zero, only one uart supported.
|
|
||||||
- `data1`...: String or byte to send via uart.
|
|
||||||
|
|
||||||
####Returns
|
|
||||||
`nil`
|
|
||||||
|
|
||||||
####Example
|
|
||||||
```lua
|
|
||||||
uart.write(0, "Hello, world\n")
|
|
||||||
```
|
|
||||||
___
|
|
||||||
## uart.on()
|
## uart.on()
|
||||||
|
|
||||||
Sets the callback function to handle uart events.
|
Sets the callback function to handle UART events.
|
||||||
|
|
||||||
Currently only the "data" event is supported.
|
Currently only the "data" event is supported.
|
||||||
|
|
||||||
|
@ -54,13 +11,13 @@ Currently only the "data" event is supported.
|
||||||
`uart.on(method, [number/end_char], [function], [run_input])`
|
`uart.on(method, [number/end_char], [function], [run_input])`
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
- `method`: "data", data has been received on the uart
|
- `method` "data", data has been received on the UART
|
||||||
- `number/end_char`:
|
- `number/end_char`
|
||||||
- if pass in a number n<255, the callback will called when n chars are received.
|
- if pass in a number n<255, the callback will called when n chars are received.
|
||||||
- if n=0, will receive every char in buffer.
|
- if n=0, will receive every char in buffer.
|
||||||
- if pass in a one char string "c", the callback will called when "c" is encounterd, or max n=255 received.
|
- if pass in a one char string "c", the callback will called when "c" is encounterd, or max n=255 received.
|
||||||
- `function`: callback function, event "data" has a callback like this: function(data) end
|
- `function` callback function, event "data" has a callback like this: `function(data) end`
|
||||||
- `run_input`: 0 or 1; If 0, input from uart will not go into Lua interpreter, can accept binary data. If 1, input from uart will go into Lua interpreter, and run.
|
- `run_input` 0 or 1. If 0, input from UART will not go into Lua interpreter, can accept binary data. If 1, input from UART will go into Lua interpreter, and run.
|
||||||
|
|
||||||
To unregister the callback, provide only the "data" parameter.
|
To unregister the callback, provide only the "data" parameter.
|
||||||
|
|
||||||
|
@ -86,5 +43,47 @@ uart.on("data", "\r",
|
||||||
end
|
end
|
||||||
end, 0)
|
end, 0)
|
||||||
```
|
```
|
||||||
___
|
|
||||||
|
## uart.setup()
|
||||||
|
|
||||||
|
(Re-)configures the communication parameters of the UART.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`uart.setup(id, baud, databits, parity, stopbits, echo)`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
- `id` always zero, only one uart supported
|
||||||
|
- `baud` one of 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 74880, 115200, 230400, 460800, 921600, 1843200, 2686400
|
||||||
|
- `databits` one of 5, 6, 7, 8
|
||||||
|
- `parity` `uart.PARITY_NONE`, `uart.PARITY_ODD`, or `uart.PARITY_EVEN`
|
||||||
|
- `stopbits` `uart.STOPBITS_1`, `uart.STOPBITS_1_5`, or `uart.STOPBITS_2`
|
||||||
|
- `echo` if 0, disable echo, otherwise enable echo
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
configured baud rate (number)
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
-- configure for 9600, 8N1, with echo
|
||||||
|
uart.setup(0, 9600, 8, uart.PARITY_NONE, uart.STOPBITS_1, 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
## uart.write()
|
||||||
|
|
||||||
|
Write string or byte to the UART.
|
||||||
|
|
||||||
|
#### Syntax
|
||||||
|
`uart.write(id, data1 [, data2, ...])`
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
- `id` always 0, only one UART supported
|
||||||
|
- `data1`... string or byte to send via UART
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
`nil`
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```lua
|
||||||
|
uart.write(0, "Hello, world\n")
|
||||||
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue