![]() |
PIP 5.5.3
Platform-Independent Primitives
|
Serial device. More...
#include <piserial.h>

Classes | |
| struct | DeviceInfo |
| Information about serial device. More... | |
Public Types | |
| enum | Parameters { ParityControl = 0x1 , ParityOdd = 0x2 , TwoStopBits = 0x4 } |
| Parameters of PISerial. More... | |
| enum | Speed { S50 = 50 , S75 = 75 , S110 = 110 , S300 = 300 , S600 = 600 , S1200 = 1200 , S2400 = 2400 , S4800 = 4800 , S9600 = 9600 , S14400 = 14400 , S19200 = 19200 , S38400 = 38400 , S57600 = 57600 , S115200 = 115200 , S230400 = 230400 , S460800 = 460800 , S500000 = 500000 , S576000 = 576000 , S921600 = 921600 , S1000000 = 1000000 , S1152000 = 1152000 , S1500000 = 1500000 , S2000000 = 2000000 , S2500000 = 2500000 , S3000000 = 3000000 , S3500000 = 3500000 , S4000000 = 4000000 } |
| Speed of PISerial. More... | |
Public Types inherited from PIIODevice | |
| enum | DeviceMode { ReadOnly = 0x01 , WriteOnly = 0x02 , ReadWrite = 0x03 } |
| Open modes for PIIODevice. More... | |
| enum | DeviceOption { BlockingRead = 0x01 , BlockingWrite = 0x02 } |
| Options for PIIODevice, works with some devices. More... | |
| enum | DeviceInfoFlag { Sequential = 0x01 , Reliable = 0x02 } |
| Characteristics of PIIODevice channel. More... | |
Public Member Functions | |
| PISerial () | |
| Contructs an empty PISerial. | |
| PISerial (const PIString &device, PISerial::Speed speed=S115200, PIFlags< PISerial::Parameters > params=0) | |
| Contructs PISerial with device name "device", speed "speed" and parameters "params". | |
| void | setSpeed (PISerial::Speed speed) |
| Set both input and output speed to "speed". | |
| void | setOutSpeed (PISerial::Speed speed) |
| Set output speed to "speed". | |
| void | setInSpeed (PISerial::Speed speed) |
| Set input speed to "speed". | |
| void | setDevice (const PIString &dev) |
| Set device name to "dev". | |
| void | setParameters (PIFlags< PISerial::Parameters > parameters_) |
| Set parameters to "parameters_". | |
| void | setParameter (PISerial::Parameters parameter, bool on=true) |
| Set parameter "parameter" to "on" state. | |
| bool | isParameterSet (PISerial::Parameters parameter) const |
| Returns if parameter "parameter" is set. | |
| PIFlags< PISerial::Parameters > | parameters () const |
| Returns parameters. | |
| void | setDataBitsCount (int bits) |
| Set data bits count. Valid range is from 5 to 8, befault is 8. | |
| int | dataBitsCount () const |
| Returns data bits count. | |
| bool | setPin (int number, bool on) |
| Set pin number "number" to logic level "on". Valid numbers are 4 (DTR) and 7 (RTS) | |
| bool | isPin (int number) const |
| Returns pin number "number" logic level. Valid numbers range is from 1 to 9. | |
| bool | setBreak (bool enabled) |
| Switch transmission line in break. More... | |
| PIString | device () const |
| Returns device name. | |
| PISerial::Speed | outSpeed () const |
| Returns output speed. | |
| PISerial::Speed | inSpeed () const |
| Returns input speed. | |
| virtual void | flush () override |
| Discard all buffered input and output data. | |
| bool | read (void *read_to, int max_size, double timeout_ms) |
| Read from device no more "max_size" bytes into "read_to" with "timeout_ms" timeout. More... | |
| PIString | readString (int size=-1, double timeout_ms=1000.) |
| Read from device for "timeout_ms" timeout or for "size" bytes. More... | |
| PIByteArray | readData (int size=-1, double timeout_ms=1000.) |
| Read from device for "timeout_ms" timeout or for "size" bytes. More... | |
| bool | send (const void *data, int size) |
| Write to device data "data" with maximum size "size". Returns if sended bytes count = "size". | |
| bool | send (const PIByteArray &data) |
| Write to device byte array "data". Returns if sended bytes count = size of "data". | |
| void | interrupt () override |
| Interrupt blocking operation. | |
Public Member Functions inherited from PIIODevice | |
| PIIODevice () | |
| Constructs a empty PIIODevice. | |
| PIIODevice (const PIString &path, DeviceMode mode=ReadWrite) | |
| Constructs PIIODevice with path "path" and open mode "mode". | |
| DeviceMode | mode () const |
| Returns current open mode of device. | |
| void | setMode (DeviceMode m) |
| Set open mode of device. Don`t reopen device. | |
| DeviceOptions | options () const |
| Returns current device options. | |
| bool | isOptionSet (DeviceOption o) const |
| Returns current device option "o" state. | |
| void | setOptions (DeviceOptions o) |
| Set device options. | |
| bool | setOption (DeviceOption o, bool yes=true) |
| Set device option "o" to "yes" and returns previous state. | |
| DeviceInfoFlags | infoFlags () const |
| Returns device characteristic flags. | |
| PIString | path () const |
| Returns current path of device. | |
| void | setPath (const PIString &path) |
| Set path of device. Don`t reopen device. | |
| bool | isReadable () const |
| Returns if mode is ReadOnly or ReadWrite. | |
| bool | isWriteable () const |
| Returns if mode is WriteOnly or ReadWrite. | |
| bool | isOpened () const |
| Returns if device is successfully opened. | |
| bool | isClosed () const |
| Returns if device is closed. | |
| virtual bool | canRead () const |
| Returns if device can read now. | |
| virtual bool | canWrite () const |
| Returns if device can write now. | |
| void | setReopenEnabled (bool yes=true) |
| Set calling of open() enabled while threaded read on closed device. | |
| void | setReopenTimeout (PISystemTime timeout) |
| Set timeout between open() tryings if reopen is enabled. | |
| bool | isReopenEnabled () const |
| Returns reopen enable. | |
| PISystemTime | reopenTimeout () |
| Returns reopen timeout. | |
| void | setThreadedReadSlot (ReadRetFunc func) |
| Set threaded read callback. More... | |
| void | setThreadedReadData (void *d) |
| Set custom data that will be passed to threaded read callback. | |
| void | setThreadedReadBufferSize (int new_size) |
| Set size of threaded read buffer. More... | |
| int | threadedReadBufferSize () const |
| Returns size of threaded read buffer. | |
| const uchar * | threadedReadBuffer () const |
| Returns content of threaded read buffer. | |
| void * | threadedReadData () const |
| Returns custom data that will be passed to threaded read callback. | |
| bool | isThreadedRead () const |
| Returns if threaded read is started. | |
| bool | isThreadedReadStopping () const |
| Returns if threaded read is stopping. | |
| void | startThreadedRead () |
| Start threaded read. | |
| void | startThreadedRead (ReadRetFunc func) |
| Start threaded read and assign threaded read callback to "func". | |
| void | stopThreadedRead () |
| Stop threaded read. | |
| void | terminateThreadedRead () |
| Terminate threaded read. More... | |
| bool | waitThreadedReadFinished (PISystemTime timeout={}) |
| Wait for threaded read finish no longer than "timeout". | |
| bool | isThreadedWrite () const |
| Returns if threaded write is started. | |
| void | startThreadedWrite () |
| Start threaded write. | |
| void | stopThreadedWrite () |
| Stop threaded write. | |
| void | terminateThreadedWrite () |
| Terminate threaded write. More... | |
| bool | waitThreadedWriteFinished (PISystemTime timeout={}) |
| Wait for threaded write finish no longer than "timeout". | |
| void | clearThreadedWriteQueue () |
| Clear threaded write task queue. | |
| void | start () |
| Start both threaded read and threaded write. | |
| void | stop () |
| Stop both threaded read and threaded write. | |
| void | stopAndWait (PISystemTime timeout={}) |
| Stop both threaded read and threaded write and wait for finish. | |
| virtual void | interrupt () |
| Interrupt blocking operation. | |
| ssize_t | read (void *read_to, ssize_t max_size) |
| Read from device maximum "max_size" bytes to "read_to". | |
| ssize_t | read (PIMemoryBlock mb) |
| Read from device to memory block "mb". | |
| PIByteArray | read (ssize_t max_size) |
| Read from device maximum "max_size" bytes and returns them as PIByteArray. | |
| virtual ssize_t | bytesAvailable () const |
| Returns the number of bytes that are available for reading. More... | |
| ssize_t | write (const void *data, ssize_t max_size) |
| Write maximum "max_size" bytes of "data" to device. | |
| PIByteArray | readForTime (PISystemTime timeout) |
| Read from device for "timeout" and return readed data as PIByteArray. | |
| ullong | writeThreaded (const void *data, ssize_t max_size) |
| Add task to threaded write queue and return task ID. | |
| ullong | writeThreaded (const PIByteArray &data) |
| Add task to threaded write queue and return task ID. | |
| bool | configure (const PIString &config_file, const PIString §ion, bool parent_section=false) |
| Configure device from section "section" of file "config_file", if "parent_section" parent section also will be read. | |
| virtual PIConstChars | fullPathPrefix () const |
| Returns full unambiguous string prefix. Creating devices by unambiguous string. | |
| PIString | constructFullPath () const |
| Returns full unambiguous string, describes this device, fullPathPrefix() + "://" + ... | |
| void | configureFromFullPath (const PIString &full_path) |
| Configure device with parameters of full unambiguous string. | |
| PIVariantTypes::IODevice | constructVariant () const |
| Returns PIVariantTypes::IODevice, describes this device. | |
| void | configureFromVariant (const PIVariantTypes::IODevice &d) |
| Configure device from PIVariantTypes::IODevice. | |
| ssize_t | write (const PIMemoryBlock &mb) |
| Write memory block "mb" to device. | |
| bool | open () |
| Open device. | |
| bool | open (const PIString &_path) |
| Open device with path "path". | |
| bool | close () |
| Close device. | |
| ssize_t | write (PIByteArray data) |
| Write "data" to device. | |
| void | opened () |
| Raise if succesfull open. | |
| void | closed () |
| Raise if succesfull close. | |
| void | threadedReadEvent (const uchar *readed, ssize_t size) |
| Raise if read thread succesfull read some data. | |
| void | threadedWriteEvent (ullong id, ssize_t written_size) |
| Raise if write thread successfull write some data of task with ID "id". | |
Public Member Functions inherited from PIObject | |
| PIObject (const PIString &name=PIString()) | |
| Contructs PIObject with name "name". | |
| PIString | name () const |
| Returns object name. | |
| virtual const char * | className () const |
| Returns object class name. | |
| virtual const char * | parentClassName () const |
| Returns parent class name. | |
| bool | debug () const |
| Return if piCoutObj of this object is active. | |
| void | setName (const PIString &name) |
| Set object name. | |
| void | setDebug (bool debug) |
| Set object piCoutObj active. | |
| PIVariant | property (const char *name) const |
| Returns property with name "name". | |
| void | setProperty (const char *name, const PIVariant &value) |
| Set property with name "name" to "value". If there is no such property in object it will be added. | |
| bool | isPropertyExists (const char *name) const |
| Returns if property with name "name" exists. | |
| PIStringList | scopeList () const |
| Returns subclass scope of this object (including this class name) | |
| void | piDisconnect (const PIString &sig, PIObject *dest, void *ev_h) |
| Disconnect object from all connections with event name "sig", connected to destination object "dest" and handler "ev_h". | |
| void | piDisconnect (const PIString &sig, PIObject *dest) |
| Disconnect object from all connections with event name "sig", connected to destination object "dest". | |
| void | piDisconnect (const PIString &sig) |
| Disconnect object from all connections with event name "sig". | |
| bool | isPIObject () const |
| Returns if this is valid PIObject (check signature) | |
| template<typename T > | |
| bool | isTypeOf () const |
| Returns if this is valid PIObject subclass "T" (check signature and classname) | |
| template<typename T > | |
| T * | cast () const |
| Returns cast to T if this is valid subclass "T" (check by isTypeOf()) or "nullptr". | |
| void | callQueuedEvents () |
| Execute all posted events from CONNECTU_QUEUED connections. | |
| bool | maybeCallQueuedEvents () |
| Check if any CONNECTU_QUEUED connections to this object and execute them. More... | |
| void | deleteLater () |
| Mark object to delete. More... | |
| void | deleted (PIObject *o) |
| Raise before object delete. More... | |
Static Public Member Functions | |
| static PIVector< int > | availableSpeeds () |
| Returns all available speeds for serial devices. | |
| static PIStringList | availableDevices (bool test=false) |
| Returns all available system devices path. If "test" each device will be tried to open. | |
| static PIVector< DeviceInfo > | availableDevicesInfo (bool test=false) |
| Returns all available system devices. If "test" each device will be tried to open. | |
Static Public Member Functions inherited from PIIODevice | |
| static PIIODevice * | createFromFullPath (const PIString &full_path) |
| Try to create new device by prefix, configure it with configureFromFullPath() and returns it. More... | |
| static PIIODevice * | createFromVariant (const PIVariantTypes::IODevice &d) |
| Try to create new device by prefix, configure it with configureFromVariant() and returns it. | |
| static PIStringList | availablePrefixes () |
| Returns fullPath prefixes of all registered devices. | |
| static PIStringList | availableClasses () |
| Returns class names of all registered devices. | |
Static Public Member Functions inherited from PIObject | |
| static void | piDisconnect (PIObject *src, const PIString &sig, PIObject *dest, void *ev_h) |
| Disconnect object "src" from all connections with event name "sig", connected to destination object "dest" and handler "ev_h". | |
| static void | piDisconnect (PIObject *src, const PIString &sig, PIObject *dest) |
| Disconnect object "src" from all connections with event name "sig", connected to destination object "dest". | |
| static void | piDisconnect (PIObject *src, const PIString &sig) |
| Disconnect object "src" from all connections with event name "sig". | |
| static PIObject * | findByName (const PIString &name) |
| Returns PIObject* with name "name" or 0, if there is no object found. | |
| static bool | isPIObject (const PIObject *o) |
| Returns if "o" is valid PIObject (check signature) | |
| template<typename T > | |
| static bool | isTypeOf (const PIObject *o) |
| Returns if "o" is valid PIObject subclass "T" (check signature and classname) | |
Protected Member Functions | |
| PIString | constructFullPathDevice () const override |
| Reimplement to construct full unambiguous string, describes this device. Default implementation returns path() | |
| void | configureFromFullPathDevice (const PIString &full_path) override |
| Reimplement to configure your device with parameters of full unambiguous string. Default implementation call setPath() | |
| PIPropertyStorage | constructVariantDevice () const override |
| Reimplement to construct device properties. Default implementation return PIPropertyStorage with "path" entry. | |
| void | configureFromVariantDevice (const PIPropertyStorage &d) override |
| Reimplement to configure your device from PIPropertyStorage. Options and mode already applied. Default implementation apply "path" entry. | |
| bool | configureDevice (const void *e_main, const void *e_parent=0) override |
| Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*. | |
| void | optionsChanged () override |
| Reimplement to apply new device options. | |
| void | threadedReadBufferSizeChanged () override |
| Reimplement to apply new threadedReadBufferSize() | |
| ssize_t | readDevice (void *read_to, ssize_t max_size) override |
| Basic read function. More... | |
| ssize_t | writeDevice (const void *data, ssize_t max_size) override |
| Reimplement this function to write to your device. | |
| DeviceInfoFlags | deviceInfoFlags () const override |
| Reimplement to return correct DeviceInfoFlags. Default implementation returns 0. | |
| virtual void | received (const void *data, int size) |
| Executes when any read function was successful. Default implementation does nothing. | |
| bool | openDevice () override |
| Reimplement to open device, return value will be set to "opened_" variable. Don't call this function in subclass, use open()! | |
| bool | closeDevice () override |
| Reimplement to close device, inverse return value will be set to "opened_" variable. | |
Protected Member Functions inherited from PIIODevice | |
| virtual bool | configureDevice (const void *e_main, const void *e_parent=0) |
| Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*. | |
| virtual bool | openDevice ()=0 |
| Reimplement to open device, return value will be set to "opened_" variable. Don't call this function in subclass, use open()! | |
| virtual bool | closeDevice () |
| Reimplement to close device, inverse return value will be set to "opened_" variable. | |
| virtual ssize_t | readDevice (void *read_to, ssize_t max_size) |
| Reimplement this function to read from your device. | |
| virtual ssize_t | writeDevice (const void *data, ssize_t max_size) |
| Reimplement this function to write to your device. | |
| virtual bool | threadedRead (const uchar *readed, ssize_t size) |
| Function executed when thread read some data, default implementation execute external callback "ret_func_". | |
| virtual PIString | constructFullPathDevice () const |
| Reimplement to construct full unambiguous string, describes this device. Default implementation returns path() | |
| virtual void | configureFromFullPathDevice (const PIString &full_path) |
| Reimplement to configure your device with parameters of full unambiguous string. Default implementation call setPath() | |
| virtual PIPropertyStorage | constructVariantDevice () const |
| Reimplement to construct device properties. Default implementation return PIPropertyStorage with "path" entry. | |
| virtual void | configureFromVariantDevice (const PIPropertyStorage &d) |
| Reimplement to configure your device from PIPropertyStorage. Options and mode already applied. Default implementation apply "path" entry. | |
| virtual void | optionsChanged () |
| Reimplement to apply new device options. | |
| virtual DeviceInfoFlags | deviceInfoFlags () const |
| Reimplement to return correct DeviceInfoFlags. Default implementation returns 0. | |
| virtual void | threadedReadBufferSizeChanged () |
| Reimplement to apply new threadedReadBufferSize() | |
Protected Member Functions inherited from PIObject | |
| PIObject * | emitter () const |
| Returns PIObject* which has raised an event. This value is correct only in definition of some event handler. | |
| virtual void | propertyChanged (const char *name) |
| Virtual function executes after property with name "name" has been changed. | |
Additional Inherited Members | |
Public Attributes inherited from PIIODevice | |
| bool | reopenEnabled |
| setReopenEnabled, default "true" | |
| int | reopenTimeout |
| setReopenTimeout, default 1_s | |
| int | threadedReadBufferSize |
| setThreadedReadBufferSize in bytes, default 4096 | |
Related Functions inherited from PIIODevice | |
| template<typename T > | |
| T | readDeviceSetting (const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep) |
| Service function. useful for configuring devices. More... | |
| #define | REGISTER_DEVICE(class) |
| Enable device instances creation with PIIODevice::createFromFullPath() function. More... | |
| #define | PIIODEVICE(class, prefix) |
| Use this macro instead of PIOBJECT when describe your own PIIODevice. More... | |
Related Functions inherited from PIObject | |
| #define | piCoutObj |
| Macro used for conditional (piDebug && PIObject::debug()) output to PICout(StdOut) for subclasses of PIObject. | |
| #define | piCerrObj |
| Macro used for conditional (piDebug && PIObject::debug()) output to PICout(StdErr) for subclasses of PIObject. | |
| #define | PIOBJECT(name) |
| You should use this macro after class declaration to use EVENT and EVENT_HANDLER and correct piCoutObj output. | |
| #define | PIOBJECT_SUBCLASS(name, parent) |
| You should use this macro after class declaration to use EVENT and EVENT_HANDLER of parent class, and scopeList() | |
| #define | EVENT_HANDLER0(ret, name) ret name() |
| Declare event handler with name "name" and return type "ret", ret name() | |
| #define | EVENT_HANDLER1(ret, name, type0, var0) ret name(type0 var0) |
| Declare event handler with name "name" and return type "ret", ret name(type0 var0) | |
| #define | EVENT_HANDLER2(ret, name, type0, var0, type1, var1) ret name(type0 var0, type1 var1) |
| Declare event handler with name "name" and return type "ret", ret name(type0 var0, type1 var1) | |
| #define | EVENT_HANDLER3(ret, name, type0, var0, type1, var1, type2, var2) ret name(type0 var0, type1 var1, type2 var2) |
| Declare event handler with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2) | |
| #define | EVENT_HANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| Declare event handler with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2, type3 var3) | |
| #define | EVENT_HANDLER EVENT_HANDLER0 |
| Synonym of EVENT_HANDLER0. | |
| #define | EVENT_VHANDLER0(ret, name) virtual ret name() |
| Declare virtual event handler with name "name" and return type "ret", virtual ret name() | |
| #define | EVENT_VHANDLER1(ret, name, type0, var0) virtual ret name(type0 var0) |
| Declare virtual event handler with name "name" and return type "ret", virtual ret name(type0 var0) | |
| #define | EVENT_VHANDLER2(ret, name, type0, var0, type1, var1) virtual ret name(type0 var0, type1 var1) |
| Declare virtual event handler with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1) | |
| #define | EVENT_VHANDLER3(ret, name, type0, var0, type1, var1, type2, var2) virtual ret name(type0 var0, type1 var1, type2 var2) |
| Declare virtual event handler with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2) | |
| #define | EVENT_VHANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| Declare virtual event handler with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2,
type3 var3) | |
| #define | EVENT_VHANDLER EVENT_VHANDLER0 |
| Synonym of EVENT_VHANDLER0. | |
| #define | EVENT0(name) void name(); |
| Declare event with name "name", void name();. | |
| #define | EVENT1(name, type0, var0) void name(type0 var0); |
| Declare event with name "name", void name(type0 var0);. | |
| #define | EVENT2(name, type0, var0, type1, var1) void name(type0 var0, type1 var1); |
| Declare event with name "name", void name(type0 var0, type1 var1);. | |
| #define | EVENT3(name, type0, var0, type1, var1, type2, var2) void name(type0 var0, type1 var1, type2 var2); |
| Declare event with name "name", void name(type0 var0, type1 var1, type2 var2);. | |
| #define | EVENT4(name, type0, var0, type1, var1, type2, var2, type3, var3) void name(type0 var0, type1 var1, type2 var2, type3 var3); |
| Declare event with name "name", void name(type0 var0, type1 var1, type2 var2, type3 var3);. | |
| #define | EVENT EVENT0 |
| Synonym of EVENT0. | |
| #define | CONNECTU(src, event, dest, handler) |
| Connect event "event" from object "src" to event handler or event "handler" of object "dest". More... | |
| #define | CONNECTU_QUEUED(src, event, dest, handler, performer) |
| Connect event "event" from object "src" to event handler or event "handler" of object "dest". More... | |
| #define | CONNECTL(src, event, functor) |
| Connect event "event" from object "src" to lambda-expression "functor". More... | |
| #define | CONNECT0(ret, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists. More... | |
| #define | CONNECT1(ret, type0, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists. More... | |
| #define | CONNECT2(ret, type0, type1, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists. More... | |
| #define | CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists. More... | |
| #define | CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists. More... | |
| #define | CONNECT CONNECT0 |
| Synonym of CONNECT0. More... | |
| #define | WEAK_CONNECT0(ret, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists. More... | |
| #define | WEAK_CONNECT1(ret, type0, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists. More... | |
| #define | WEAK_CONNECT2(ret, type0, type1, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists. More... | |
| #define | WEAK_CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists. More... | |
| #define | WEAK_CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| Connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists. More... | |
| #define | WEAK_CONNECT WEAK_CONNECT0 |
| Synonym of WEAK_CONNECT0. More... | |
| #define | DISCONNECT0(ret, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT1(ret, type0, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT2(ret, type0, type1, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT DISCONNECT0 |
| Synonym of DISCONNECT0. | |
| #define | HANDLER(handler) |
| Returns pointer to events handler "handler". | |
Serial device.
This class provide access to serial device, e.g. COM port. It can read, write, wait for write. There are several read and write functions.
Since version 1.16.0 you can use as path PISerial::DeviceInfo::id() USB identifier for USB devices.
| enum PISerial::Parameters |
Parameters of PISerial.
| Enumerator | |
|---|---|
| ParityControl | Enable parity check and generate |
| ParityOdd | Parity is odd instead of even |
| TwoStopBits | Two stop bits instead of one |
| enum PISerial::Speed |
Speed of PISerial.
| bool PISerial::setBreak | ( | bool | enabled | ) |
Switch transmission line in break.
If enabled, sends a continuous stream of zero bits. Returns if state changed successfully.
| bool PISerial::read | ( | void * | data, |
| int | size, | ||
| double | timeout_ms | ||
| ) |
Read from device no more "max_size" bytes into "read_to" with "timeout_ms" timeout.
Read to pointer "read_to" no more than "max_size" and no longer than "timeout_ms" milliseconds.
If "timeout_ms" < 0 function will be wait forever until "max_size" will be readed.
If "size" <= 0 function immediate returns false.
For read data with unknown size use function readData().
| PIString PISerial::readString | ( | int | size = -1, |
| double | timeout_ms = 1000. |
||
| ) |
Read from device for "timeout_ms" timeout or for "size" bytes.
Read all or no more than "size" bytes and no longer than "timeout_ms" milliseconds.
If "timeout_ms" < 0 function will be wait forever until "max_size" will be readed.
If "size" <= 0 function will be read all until "timeout_ms" elaped.
If "size" <= 0 and "timeout_ms" <= 0 function immediate returns empty string.
This function similar to readData() but returns data as string.
| PIByteArray PISerial::readData | ( | int | size = -1, |
| double | timeout_ms = 1000. |
||
| ) |
Read from device for "timeout_ms" timeout or for "size" bytes.
Read all or no more than "size" bytes and no longer than "timeout_ms" milliseconds.
If "timeout_ms" < 0 function will be wait forever until "max_size" will be readed.
If "size" <= 0 function will be read all until "timeout_ms" elaped.
If "size" <= 0 and "timeout_ms" <= 0 function immediate returns empty string.
This function similar to readString() but returns data as byte array.
|
overrideprotectedvirtual |
Basic read function.
Read to pointer "read_to" no more than "max_size". If PIIODevice::BlockingRead option set this function will be wait at least one byte.
Reimplemented from PIIODevice.