mirror of
https://github.com/tio/tio.git
synced 2026-05-01 14:57:59 +02:00
Update script API
This commit is contained in:
parent
9bc93991e7
commit
33eae0c30d
3 changed files with 59 additions and 46 deletions
26
README.md
26
README.md
|
|
@ -373,14 +373,18 @@ In addition to the Lua API tio makes the following functions available:
|
|||
```
|
||||
expect(string, timeout)
|
||||
Expect string - waits for string to match or timeout before continueing.
|
||||
|
||||
Supports regular expressions. Special characters must be escaped with '\\'.
|
||||
|
||||
Timeout is in milliseconds, defaults to 0 meaning it will wait forever.
|
||||
|
||||
Returns 1 on successful match, 0 on timeout, or -1 on error.
|
||||
|
||||
On successful match it also returns the match string as second return value.
|
||||
|
||||
send(string)
|
||||
Send string.
|
||||
|
||||
Returns number of bytes written on success or -1 on error.
|
||||
|
||||
modem_send(file, protocol)
|
||||
Send file using x/y-modem protocol.
|
||||
|
||||
|
|
@ -396,8 +400,14 @@ In addition to the Lua API tio makes the following functions available:
|
|||
|
||||
Returns nil if no serial devices are found.
|
||||
|
||||
read(size, timeout)
|
||||
Read from serial device. If timeout is 0 or not provided it will wait
|
||||
forever until data is ready to read.
|
||||
|
||||
Returns number of bytes read on success, 0 on timeout, or -1 on error.
|
||||
|
||||
exit(code)
|
||||
Exit with code.
|
||||
Exit with exit code.
|
||||
|
||||
high(line)
|
||||
Set tty line high.
|
||||
|
|
@ -412,7 +422,7 @@ In addition to the Lua API tio makes the following functions available:
|
|||
Sleep for seconds.
|
||||
|
||||
msleep(ms)
|
||||
Sleep for milliseconds.
|
||||
Sleep for miliseconds.
|
||||
|
||||
config_high(line)
|
||||
Set tty line state configuration to high.
|
||||
|
|
@ -421,11 +431,9 @@ In addition to the Lua API tio makes the following functions available:
|
|||
Set tty line state configuration to low.
|
||||
|
||||
apply_config()
|
||||
Apply tty line state configuration.
|
||||
|
||||
Using the line state configuration API instead of high()/low() will
|
||||
help to make the lines physically switch as simultaneously as possible.
|
||||
This may solve timing issues on some platforms.
|
||||
Apply tty line state configuration. Using the line state configuration
|
||||
API instead of high()/low() will help to make the lines physically switch as
|
||||
simultaneously as possible. This may solve timing issues on some platforms.
|
||||
|
||||
Note: Line can be any of DTR, RTS, CTS, DSR, CD, RI
|
||||
```
|
||||
|
|
|
|||
11
man/tio.1.in
11
man/tio.1.in
|
|
@ -427,12 +427,15 @@ Expect string - waits for string to match or timeout before continueing.
|
|||
Supports regular expressions. Special characters must be escaped with '\\\\'.
|
||||
Timeout is in milliseconds, defaults to 0 meaning it will wait forever.
|
||||
|
||||
Returns 1 on successful match, 0 on timeout, or -1 on invalid regular expression.
|
||||
Returns 1 on successful match, 0 on timeout, or -1 on error.
|
||||
|
||||
On successful match it also returns the match string as second return value.
|
||||
|
||||
.IP "\fBsend(string)"
|
||||
Send string.
|
||||
|
||||
Returns number of bytes written on success or -1 on error.
|
||||
|
||||
.IP "\fBmodem_send(file, protocol)"
|
||||
Send file using x/y-modem protocol.
|
||||
|
||||
|
|
@ -448,6 +451,12 @@ following string indexed elements "path", "tid", "uptime", "driver",
|
|||
|
||||
Returns nil if no serial devices are found.
|
||||
|
||||
.IP "\fBread(size, timeout)"
|
||||
Read from serial device. If timeout is 0 or not provided it will wait forever
|
||||
until data is ready to read.
|
||||
|
||||
Returns number of bytes read on success, 0 on timeout, or -1 on error.
|
||||
|
||||
.IP "\fBexit(code)"
|
||||
Exit with exit code.
|
||||
.IP "\fBhigh(line)"
|
||||
|
|
|
|||
10
src/script.c
10
src/script.c
|
|
@ -211,10 +211,6 @@ static int send(lua_State *L)
|
|||
}
|
||||
|
||||
ret = write(device_fd, string, strlen(string));
|
||||
if (ret < 0)
|
||||
{
|
||||
tio_error_print("%s\n", strerror(errno));
|
||||
}
|
||||
|
||||
lua_pushnumber(L, ret);
|
||||
|
||||
|
|
@ -281,7 +277,7 @@ static int read_string(lua_State *L)
|
|||
char *buffer = malloc(size);
|
||||
if (buffer == NULL)
|
||||
{
|
||||
ret = -3; // Read buffer allocation failed
|
||||
ret = -1; // Error
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
|
@ -293,12 +289,12 @@ static int read_string(lua_State *L)
|
|||
ssize_t bytes_read = read_poll(device_fd, buffer, size, timeout);
|
||||
if (bytes_read < 0)
|
||||
{
|
||||
ret = -1; // Read error
|
||||
ret = -1; // Error
|
||||
goto error;
|
||||
}
|
||||
else if (bytes_read == 0)
|
||||
{
|
||||
ret = -2; // Timeout
|
||||
ret = 0; // Timeout
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue