Index of /xtras/serial_xtra

Icon  Name                    Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] 2016-09-01 16:43 1.6K [TXT] readme.txt 2016-09-01 16:43 1.8K [   ] 2016-09-01 16:44 28K
-- xtra Serial (win only)
-- v0.4 (c) 2016 Valentin Schmidt

new object me
open object me, integer port, *baud, byteSize, parity, stopBits, dtrControl, rtsControl
close object me
sendData object me, any stringOrByteArray
dataWaiting object me -- returns number of bytes waiting to be read
readData object me, *limit -- returns string (D10-) or bytearray (D11.5+)
setDataCallback object me, *cbHandler, cbTarget


- only required argument for open() is the port number (e.g. 3 for COM3), all
  other arguments are optional, if not specified, the following defaults are used:

    baud = 9600
    byteSize = 8
    parity = 2
    stopBits = 0
    dtrControl = 1
    rtsControl = 1
  What those values mean is explained on this MS page about the DCB structure:
- readData() returns a (binary) string in D10- and a bytearray in D11.5+.
  You can optionally pass an integer 'intLimit' for max length of returned data.

- instead of calling dataWaiting() and readData(), you can use setDataCallback() 
  to specify a callback handler (symbol) and optionaly a target object which will
  will receive any newly arrived data, again as (binary) string in D10- and
  as bytearray in D11.5+.

- sendData() accepts both (binary) strings (for D10-) and bytearrays (for D11.5+).
  To send arbitrary data types (in D11.5+), just pack them into a bytearray.

  If you e.g. just want to send the single byte 23, use:

    sx.sendData( bytearray(1, 23) )

  If you want to send the single char 'A', use:

    sx.sendData( bytearray("A") )

  If you want to send 1234 as 4 byte integer (long), use:

    ba = bytearray()
    sx.sendData( ba )

  And so on...