Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let do_command ?(timeout=1.0) ?(no_err=false) ?(retval=true) cmd =
- let cmd_task =
- lwt () = info_f ">>> %S" cmd in
- lwt () = serial#write ~delay ("@"^cmd^"\r\n") in
- if retval then
- lwt u = splitter () in
- return (`OK u)
- else
- return (`OK "")
- in
- let timeout_task =
- lwt () = Lwt_unix.sleep timeout in
- return `Timeout
- in
- lwt result = cmd_task <?> timeout_task in
- cancel timeout_task;
- cancel cmd_task;
- return result
- in
- ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement