Reads multiple Signals at once. More...
Inheritance diagram for IMultiReader:
Collaboration diagram for IMultiReader:Reads multiple Signals at once.
Public Member Functions | |
| virtual ErrCode INTERFACE_FUNC | read (void *samples, SizeT *count, SizeT timeoutMs=0, IMultiReaderStatus **status=nullptr)=0 |
Copies at maximum the next count unread samples to the values buffer. The amount actually read is returned through the count parameter. More... | |
| virtual ErrCode INTERFACE_FUNC | readWithDomain (void *samples, void *domain, SizeT *count, SizeT timeoutMs=0, IMultiReaderStatus **status=nullptr)=0 |
Copies at maximum the next count unread samples and clock-stamps to the samples and domain buffers. The amount actually read is returned through the count parameter. More... | |
| virtual ErrCode INTERFACE_FUNC | skipSamples (SizeT *count, IMultiReaderStatus **status)=0 |
| Skips the specified amount of samples. More... | |
| virtual ErrCode INTERFACE_FUNC | getTickResolution (IRatio **resolution)=0 |
| Gets the resolution the reader aligned all the signals to. This is the highest resolution (lowest value) of all the signals to not loose the precision. More... | |
| virtual ErrCode INTERFACE_FUNC | getOrigin (IString **origin)=0 |
| Gets the origin the reader aligned all the signals to. This is usually the earliest (lowest value) from all the signals. More... | |
| virtual ErrCode INTERFACE_FUNC | getOffset (void *domainStart)=0 |
| Gets the domain value (offset) from the aligned origin at the point the reader starts to provide synchronized samples. More... | |
| virtual ErrCode INTERFACE_FUNC | getIsSynchronized (Bool *isSynchronized)=0 |
| Gets the synchronization status of the reader. More... | |
| virtual ErrCode INTERFACE_FUNC | getCommonSampleRate (Int *commonSampleRate)=0 |
| Gets the common sample rate in case input signal have different rates. The value of common sample rate is such that sample rate of any individual signal can be represented as commonSampleRate / Div, where Div is an integer. Unless the required common sample rate is specified in the MultiReader constructor, common sample rate is lowest common multiple of individual signal's sample rates. The number of samples to be read is specified in common sample rate. More... | |
| virtual ErrCode INTERFACE_FUNC | setActive (Bool isActive)=0 |
| Sets active or inactive MultiReader state. In inactive state MultiReader will receive only event packets. More... | |
| virtual ErrCode INTERFACE_FUNC | getActive (Bool *isActive)=0 |
| Gets active or inactive MultiReader state. In inactive state MultiReader will receive only event packets. | |
Public Member Functions inherited from ISampleReader | |
| virtual ErrCode INTERFACE_FUNC | getValueReadType (SampleType *sampleType)=0 |
Gets the sample-type the signal value samples will be converted to when read or SampleType::Invalid if read-type has not been determined yet. More... | |
| virtual ErrCode INTERFACE_FUNC | getDomainReadType (SampleType *sampleType)=0 |
Gets the sample-type the signal domain samples will be converted to when read or SampleType::Invalid if read-type has not been determined yet. More... | |
| virtual ErrCode INTERFACE_FUNC | setValueTransformFunction (IFunction *transform)=0 |
| Sets the transform function that will be called with the read value-data and currently valid Signal-Descriptor giving the user the chance add a custom post-processing step. The function should have a signature compatible with: More... | |
| virtual ErrCode INTERFACE_FUNC | setDomainTransformFunction (IFunction *transform)=0 |
| Sets the transform function that will be called with the read domain-data and currently valid Signal-Descriptor giving the user the chance add a custom post-processing step. The function should have a signature compatible with: More... | |
| virtual ErrCode INTERFACE_FUNC | getReadMode (ReadMode *mode)=0 |
| Gets the reader's read mode which determines if the reader will also scale the read data or not. More... | |
Public Member Functions inherited from IReader | |
| virtual ErrCode INTERFACE_FUNC | getAvailableCount (SizeT *count)=0 |
| Gets the number of segments available to read. More... | |
| virtual ErrCode INTERFACE_FUNC | setOnDataAvailable (IProcedure *callback)=0 |
Sets the specified callback function to be called when there is available data in the reader. Pass nullptr to unset the callback. The callback should take no arguments. More... | |
| virtual ErrCode INTERFACE_FUNC | getEmpty (Bool *empty)=0 |
| Checks if there is data to read. More... | |
Public Member Functions inherited from IBaseObject | |
| virtual ErrCode INTERFACE_FUNC | borrowInterface (const IntfID &intfID, void **obj) const =0 |
| Returns another interface which is supported by the object without incrementing the reference count. More... | |
| virtual ErrCode INTERFACE_FUNC | dispose ()=0 |
| Disposes all references held by the object. More... | |
| virtual ErrCode INTERFACE_FUNC | getHashCode (SizeT *hashCode)=0 |
| Returns hash code of the object. More... | |
| virtual ErrCode INTERFACE_FUNC | equals (IBaseObject *other, Bool *equal) const =0 |
| Compares object to another object for equality. More... | |
| virtual ErrCode INTERFACE_FUNC | toString (CharPtr *str)=0 |
| Returns a string representation of the object. More... | |
Public Member Functions inherited from IUnknown | |
| virtual ErrCode INTERFACE_FUNC | queryInterface (const IntfID &intfID, void **obj)=0 |
| Returns another interface which is supported by the object and increments the reference count. More... | |
| virtual int INTERFACE_FUNC | addRef ()=0 |
| Increments the reference count for an interface on an object. More... | |
| virtual int INTERFACE_FUNC | releaseRef ()=0 |
| Decrements the reference count for an interface on an object. More... | |
|
pure virtual |
Gets the common sample rate in case input signal have different rates. The value of common sample rate is such that sample rate of any individual signal can be represented as commonSampleRate / Div, where Div is an integer. Unless the required common sample rate is specified in the MultiReader constructor, common sample rate is lowest common multiple of individual signal's sample rates. The number of samples to be read is specified in common sample rate.
| commonSampleRate | The domain point at which the reader managed to synchronize all the signals. |
|
pure virtual |
Gets the synchronization status of the reader.
| isSynchronized | True if reader is synchronized, False otherwise. |
Reader will try to synchronize the data from the signals when getAvailableCount or any of the read methods is called.
|
pure virtual |
Gets the domain value (offset) from the aligned origin at the point the reader starts to provide synchronized samples.
| domainStart | The domain point at which the reader managed to synchronize all the signals. |
Gets the origin the reader aligned all the signals to. This is usually the earliest (lowest value) from all the signals.
| origin | The origin all signals are aligned to. |
Gets the resolution the reader aligned all the signals to. This is the highest resolution (lowest value) of all the signals to not loose the precision.
| resolution | The aligned resolution used for all read signals. |
|
pure virtual |
Copies at maximum the next count unread samples to the values buffer. The amount actually read is returned through the count parameter.
| [in] | samples | The buffer that the samples will be copied to. The buffer must be a contiguous memory big enough to receive count amount of samples. This should be a jagged array (array of pointers to arrays) where the size is equal to the Signal count and each Signal buffer is at least count size long. E.g: reading the next 5 samples of 3 signals samples | ˇ 0 1 2 3 4 5 <– count [0] = [0, 0, 0, 0, 0, 0] [1] = [0, 0, 0, 0, 0, 0] [2] = [0, 0, 0, 0, 0, 0] |
| [in,out] | count | The maximum amount of samples to be read expressed in commonSampleRate. If the count is less than available the parameter value is set to the actual amount and only the available samples are returned. The rest of the buffer is not modified or cleared. In case of different sample rates, the number of read samples may be different for each individual signal. |
| timeoutMs | The maximum amount of time in milliseconds to wait for the requested amount of samples before returning. | |
| [out] | status | Represents the status of the reader.
|
|
pure virtual |
Copies at maximum the next count unread samples and clock-stamps to the samples and domain buffers. The amount actually read is returned through the count parameter.
| [in] | samples | The buffer that the samples will be copied to. The buffer must be a contiguous memory big enough to receive count amount of samples. This should be a jagged array (array of pointers to arrays) where the size is equal to the Signal count and each Signal buffer is at least count size long. E.g: reading the next 5 samples of 3 signals samples | ˇ 0 1 2 3 4 5 <– count [0] = [0, 0, 0, 0, 0, 0] [1] = [0, 0, 0, 0, 0, 0] [2] = [0, 0, 0, 0, 0, 0] |
| [in] | domain | The buffer that the domain values will be copied to. The buffer must be a contiguous memory big enough to receive count amount of clock-stamps. This should be a jagged array (array of pointers to arrays) where the size is equal to the Signal count and each Signal buffer is at least count size long. E.g: reading the next 5 samples of 3 signals domain | ˇ 0 1 2 3 4 5 <– count [0] = [0, 0, 0, 0, 0, 0] [1] = [0, 0, 0, 0, 0, 0] [2] = [0, 0, 0, 0, 0, 0] |
| [in,out] | count | The maximum amount of samples to be read expressed in commonSampleRate. If the count is less than available the parameter value is set to the actual amount and only the available samples are returned. The rest of the buffer is not modified or cleared. In case of different sample rates, the number of read samples may be different for each individual signal. |
| timeoutMs | The maximum amount of time in milliseconds to wait for the requested amount of samples before returning. | |
| [out] | status | Represents the status of the reader.
|
|
pure virtual |
Sets active or inactive MultiReader state. In inactive state MultiReader will receive only event packets.
| isActive | Set true for the active state. |
|
pure virtual |
Skips the specified amount of samples.
| [in,out] | count | The maximum amount of samples to be skipped. If the count is less than available the parameter value is set to the actual amount and only the available samples are skipped. The rest of the buffer is not modified or cleared. |
| [out] | status | Represents the status of the reader.
|