Well thanks for the first bug!

It looks like I have problems with interface closing and then reopening. If
interface is not closed it works as expected. Will look into it tonight.

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

srl_write(s1, "World!")
data = srl_read(s1, 6);
char(data)

srl_close(s1)

On Tue, Aug 7, 2012 at 9:37 AM, Juan Pablo Carbajal <carba...@ifi.uzh.ch>wrote:

> 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/
>



-- 
Andrius Šutas

Skype: andrius.sutas
Mob. Tel.: +37063443035
GTalk: andrius.su...@gmail.com
------------------------------------------------------------------------------
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