On Tue, Aug 7, 2012 at 4:37 AM, Andrius Sutas <andrius.su...@gmail.com> wrote:
> Hey,
>
> please see alpha release of Serial I/O package.
>
> I am looking for any comments on code style, usability, naming etc. Also, it
> would be great if people could reply on which platforms they successfully
> (and not, which is more important) tested it. Sorry but Windows is not yet
> supported.
>
> Currently open flags are hardcoded to: O_RDWR | O_NOCTTY | O_SYNC, as I yet
> to decide what is the best way to maintain cross-platformability and ease of
> use (e.g. using string for parity setting and then doing switch according to
> platform being used instead of making the same flags from different
> platforms global to Octave), comments are welcome.
>
> Also, a simple example to get started (for testing adapter's RX and TX lines
> are connected together):
>
> s0 = serial() # Opens default serial port ttyUSB0 in default configuration
> of 115200, 8-N-1
>
> s1 = serial("/dev/ttyUSB1", 115200) # Opens serial port ttyUSB1 with
> baudrate of 115200 (config defaults to 8-N-1)
> srl_flush(s1); # Flush input and output buffers
> srl_write(s1, "Hello world!") # Blocking write call, currently only accepts
> strings
> data = srl_read(s1, 11)  # Blocking read call, returns uint8 array of
> exactly 11 bytes read (data = [72  101  108  108  111   32  119  111  114
> 108  100])
>
> char(data) # Converts uint8 array to string, (ans = "Hello world", note: no
> exclamation mark)
>
> srl_baudrate(s1, 9600) # Change baudrate
> srl_bytesize(s1, 5) # Change byte size (config becomes 5-N-1)
> srl_parity(s1, "E") # Changes parity checking (config becomes 5-E-1),
> possible values [E]ven, [O]dd, [N]one.
> srl_stopbits(s1, 2) # Changes stop bits (config becomes 5-E-2), possible
> values 1, 2.
>
> s2 = serial("/dev/ttyS0", 9600, 6, "odd", 2) # Opens serial port ttyS0 in
> 9600, 6-O-2 configuration
>
> srl_close(s0) # Closes and releases file descriptor
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Octave-dev mailing list
> Octave-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/octave-dev
>

Hi Andrius,

Thanks for the first release!

When installing on Ubuntu 10.10, gcc version 4.4.5 (Ubuntu/Linaro
4.4.4-14ubuntu5.1) I get the following deprecation warning

srl_read.cc: In function ‘octave_value_list Fsrl_read(const
octave_value_list&, int)’:
srl_read.cc:92: warning: ‘void Array<T>::resize(octave_idx_type) [with
T = octave_int<unsigned char>]’ is deprecated (declared at
/usr/local/include/octave-3.6.2/octave/../octave/Array.h:459)

but I guess this is something in core.

I have no usb-to-serial at hand (I am away from my lab) but I tested
using virtual loopback using pseudo terminals.
(for the ones who wan to try: In linux install "socat" and then run
"socat -d -d PTY: PTY:")
The following lines work as expected

pkg load serial
s1 = serial("/dev/ptmx", 115200);
srl_flush(s1);
srl_write(s1, "Hello world!")
data = srl_read(s1,12);
char(data)
srl_close(s1)

However when run again I get

s1 = serial("/dev/ptmx", 115200);
srl_flush(s1);
srl_write(s1, "Hello world!");
data = srl_read(s1,12);
error: srl_read: Invalid resizing operation or ambiguous assignment to
an out-of-bounds array element

This may be due to the virtual loopback. I will try again with
hardware later, but it would be nice to see why there is a problem (if
there is!) with virtual loopbacks.


-- 
M. Sc. Juan Pablo Carbajal
-----
PhD Student
University of Zürich
http://ailab.ifi.uzh.ch/carbajal/

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to