factor/extra/io/serial/serial.factor

30 lines
874 B
Factor
Raw Permalink Normal View History

2008-08-13 16:18:50 -04:00
! Copyright (C) 2008 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
2019-01-12 11:43:34 -05:00
USING: accessors destructors io.streams.duplex kernel
math.parser sequences summary system vocabs ;
2009-02-22 18:50:29 -05:00
IN: io.serial
2008-08-13 16:18:50 -04:00
TUPLE: serial-port < disposable stream path baud
2008-08-13 16:18:50 -04:00
termios iflag oflag cflag lflag ;
ERROR: invalid-baud baud ;
M: invalid-baud summary ( invalid-baud -- string )
2009-02-22 18:50:29 -05:00
baud>> number>string
"Baud rate " " not supported" surround ;
2008-08-13 16:18:50 -04:00
HOOK: lookup-baud os ( m -- n )
HOOK: open-serial os ( serial -- serial' )
2011-10-08 14:38:43 -04:00
HOOK: default-serial-flags os ( m -- n )
M: serial-port dispose* ( serial -- ) stream>> dispose ;
: <serial-port> ( path baud -- obj )
serial-port new
swap >>baud
swap >>path
default-serial-flags ;
: with-serial-port ( serial-port quot -- )
[ open-serial ] dip with-stream ; inline
2008-08-13 16:18:50 -04:00
"io.serial." os name>> append require