Operator Reference

read_serialT_read_serialReadSerialReadSerialread_serial (Operator)

read_serialT_read_serialReadSerialReadSerialread_serial — Read from a serial device.

Signature

read_serial( : : SerialHandle, NumCharacters : Data)

Herror T_read_serial(const Htuple SerialHandle, const Htuple NumCharacters, Htuple* Data)

void ReadSerial(const HTuple& SerialHandle, const HTuple& NumCharacters, HTuple* Data)

HTuple HSerial::ReadSerial(Hlong NumCharacters) const

static void HOperatorSet.ReadSerial(HTuple serialHandle, HTuple numCharacters, out HTuple data)

HTuple HSerial.ReadSerial(int numCharacters)

def read_serial(serial_handle: HHandle, num_characters: int) -> Sequence[int]

def read_serial_s(serial_handle: HHandle, num_characters: int) -> int

Description

read_serialread_serialReadSerialReadSerialread_serial tries to read NumCharactersNumCharactersNumCharactersnumCharactersnum_characters from the serial device given in SerialHandleSerialHandleSerialHandleserialHandleserial_handle. The read characters are returned in DataDataDatadatadata as a tuple of integers. This allows to read NUL characters, which would otherwise be interpreted as the end of a string. If the timeout of the serial device has been set to a value greater than 0 with set_serial_paramset_serial_paramSetSerialParamSetSerialParamset_serial_param, read_serialread_serialReadSerialReadSerialread_serial waits at most as long for the arrival of the first character as indicated by the timeout. Otherwise, the operator returns immediately. In any case, the number of characters available at the time of return are passed back to the caller, i.e., fewer characters than requested can be returned. This can be checked by the length of the tuple DataDataDatadatadata.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

SerialHandleSerialHandleSerialHandleserialHandleserial_handle (input_control)  serial HSerial, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Serial interface handle.

NumCharactersNumCharactersNumCharactersnumCharactersnum_characters (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of characters to read.

Default: 1

Suggested values: 1, 2, 3, 4, 5, 10, 20, 40, 100

DataDataDatadatadata (output_control)  integer(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Read characters (as tuple of integers).

Result

If the parameters are correct and the read from the device was successful, the operator read_serialread_serialReadSerialReadSerialread_serial returns the value 2 ( H_MSG_TRUE) . Otherwise an exception is raised.

Possible Predecessors

open_serialopen_serialOpenSerialOpenSerialopen_serial

See also

write_serialwrite_serialWriteSerialWriteSerialwrite_serial

Module

Foundation