... | @@ -2,13 +2,13 @@ |
... | @@ -2,13 +2,13 @@ |
|
|
|
|
|
The Reader parent class takes information from the HV Robot and writes it to a **ROS** topic.
|
|
The Reader parent class takes information from the HV Robot and writes it to a **ROS** topic.
|
|
|
|
|
|
The Reader classes publish data to a topic, each class only publishes to a single topic.
|
|
The Reader classes publish data to a topic, each class only publishes to a single topic. Data to be published is taken from the probe data that is stored as a class dict variable, then it is formatted into the data type for that probe and published. Publishing is done while the main loop is running at a set interval (default 100hz). All of the Reader child classes have a publish method and are all called together at the beginning of each loop.
|
|
|
|
|
|
Reader classes subscribe to a topic, the data is taken and formatted as a message paired with a [probe](probes) that is saved to a array in the object. while the code is running, at the set interval (default 100hz) all the messages from all the probes are taken and sent to the robot. This means that the messages are always sent in a single data packet and no faster than the speed that the ros node is looping.
|
|
Data is read in semi-asynchronously from the Listener thread on the client application. Probe messages are decoded and stored in all child classes that are set to need that given data.
|
|
|
|
|
|
## Creating A Reader
|
|
## Creating A Reader
|
|
|
|
|
|
Reader child classes are put in the `Sensors` directory and the classes that are in that directory should be used as refrence when creating a new sensor service.
|
|
Reader child classes are put in the `Sensors` directory and the classes that are in that directory should be used as reference when creating a new sensor service.
|
|
|
|
|
|
### Creating the class
|
|
### Creating the class
|
|
To create a new function to send data to the HV Robot, the Writer class must be extended. the child class needs to have a `__init__()` function where the *subscriber* is defined and the probe name is passed to the parent constructor; and a `callback` function where the data is formatted to be passed to the robot over the probes.
|
|
To create a new function to send data to the HV Robot, the Writer class must be extended. the child class needs to have a `__init__()` function where the *subscriber* is defined and the probe name is passed to the parent constructor; and a `callback` function where the data is formatted to be passed to the robot over the probes.
|
... | | ... | |