57 if (!read_ThreeAxisGyroscopes(reader)) {
60 if (!read_ThreeAxisLinearAccelerometers(reader)) {
63 if (!read_ThreeAxisMagnetometers(reader)) {
66 if (!read_OrientationSensors(reader)) {
69 if (!read_TemperatureSensors(reader)) {
72 if (!read_SixAxisForceTorqueSensors(reader)) {
75 if (!read_ContactLoadCellArrays(reader)) {
78 if (!read_EncoderArrays(reader)) {
81 if (!read_SkinPatches(reader)) {
84 if (!read_PositionSensors(reader)) {
103 if (!write_ThreeAxisGyroscopes(writer)) {
106 if (!write_ThreeAxisLinearAccelerometers(writer)) {
109 if (!write_ThreeAxisMagnetometers(writer)) {
112 if (!write_OrientationSensors(writer)) {
115 if (!write_TemperatureSensors(writer)) {
118 if (!write_SixAxisForceTorqueSensors(writer)) {
121 if (!write_ContactLoadCellArrays(writer)) {
124 if (!write_EncoderArrays(writer)) {
127 if (!write_SkinPatches(writer)) {
130 if (!write_PositionSensors(writer)) {
143 return write(writer);
170 yarp().setOwner(*
this);
196 return obj !=
nullptr;
215 if (group == 0 && is_dirty) {
222 will_set_ThreeAxisGyroscopes();
224 mark_dirty_ThreeAxisGyroscopes();
226 did_set_ThreeAxisGyroscopes();
232 will_set_ThreeAxisGyroscopes();
233 obj->ThreeAxisGyroscopes[index] = elem;
234 mark_dirty_ThreeAxisGyroscopes();
236 did_set_ThreeAxisGyroscopes();
242 return obj->ThreeAxisGyroscopes;
260 will_set_ThreeAxisLinearAccelerometers();
262 mark_dirty_ThreeAxisLinearAccelerometers();
264 did_set_ThreeAxisLinearAccelerometers();
270 will_set_ThreeAxisLinearAccelerometers();
271 obj->ThreeAxisLinearAccelerometers[index] = elem;
272 mark_dirty_ThreeAxisLinearAccelerometers();
274 did_set_ThreeAxisLinearAccelerometers();
280 return obj->ThreeAxisLinearAccelerometers;
298 will_set_ThreeAxisMagnetometers();
300 mark_dirty_ThreeAxisMagnetometers();
302 did_set_ThreeAxisMagnetometers();
308 will_set_ThreeAxisMagnetometers();
309 obj->ThreeAxisMagnetometers[index] = elem;
310 mark_dirty_ThreeAxisMagnetometers();
312 did_set_ThreeAxisMagnetometers();
318 return obj->ThreeAxisMagnetometers;
336 will_set_OrientationSensors();
338 mark_dirty_OrientationSensors();
340 did_set_OrientationSensors();
346 will_set_OrientationSensors();
347 obj->OrientationSensors[index] = elem;
348 mark_dirty_OrientationSensors();
350 did_set_OrientationSensors();
356 return obj->OrientationSensors;
374 will_set_TemperatureSensors();
376 mark_dirty_TemperatureSensors();
378 did_set_TemperatureSensors();
384 will_set_TemperatureSensors();
385 obj->TemperatureSensors[index] = elem;
386 mark_dirty_TemperatureSensors();
388 did_set_TemperatureSensors();
394 return obj->TemperatureSensors;
412 will_set_SixAxisForceTorqueSensors();
414 mark_dirty_SixAxisForceTorqueSensors();
416 did_set_SixAxisForceTorqueSensors();
422 will_set_SixAxisForceTorqueSensors();
423 obj->SixAxisForceTorqueSensors[index] = elem;
424 mark_dirty_SixAxisForceTorqueSensors();
426 did_set_SixAxisForceTorqueSensors();
432 return obj->SixAxisForceTorqueSensors;
450 will_set_ContactLoadCellArrays();
452 mark_dirty_ContactLoadCellArrays();
454 did_set_ContactLoadCellArrays();
460 will_set_ContactLoadCellArrays();
461 obj->ContactLoadCellArrays[index] = elem;
462 mark_dirty_ContactLoadCellArrays();
464 did_set_ContactLoadCellArrays();
470 return obj->ContactLoadCellArrays;
488 will_set_EncoderArrays();
490 mark_dirty_EncoderArrays();
492 did_set_EncoderArrays();
498 will_set_EncoderArrays();
499 obj->EncoderArrays[index] = elem;
500 mark_dirty_EncoderArrays();
502 did_set_EncoderArrays();
508 return obj->EncoderArrays;
526 will_set_SkinPatches();
528 mark_dirty_SkinPatches();
530 did_set_SkinPatches();
536 will_set_SkinPatches();
537 obj->SkinPatches[index] = elem;
538 mark_dirty_SkinPatches();
540 did_set_SkinPatches();
546 return obj->SkinPatches;
564 will_set_PositionSensors();
566 mark_dirty_PositionSensors();
568 did_set_PositionSensors();
574 will_set_PositionSensors();
575 obj->PositionSensors[index] = elem;
576 mark_dirty_PositionSensors();
578 did_set_PositionSensors();
584 return obj->PositionSensors;
625 writer.
writeString(
"send: 'help' or 'patch (param1 val1) (param2 val2)'");
640 if (!writer.
writeTag(
"many", 1, 0)) {
648 if (field ==
"ThreeAxisGyroscopes") {
652 if (!writer.
writeString(
"std::vector<SensorMetadata> ThreeAxisGyroscopes")) {
656 if (field ==
"ThreeAxisLinearAccelerometers") {
660 if (!writer.
writeString(
"std::vector<SensorMetadata> ThreeAxisLinearAccelerometers")) {
664 if (field ==
"ThreeAxisMagnetometers") {
668 if (!writer.
writeString(
"std::vector<SensorMetadata> ThreeAxisMagnetometers")) {
672 if (field ==
"OrientationSensors") {
676 if (!writer.
writeString(
"std::vector<SensorMetadata> OrientationSensors")) {
680 if (field ==
"TemperatureSensors") {
684 if (!writer.
writeString(
"std::vector<SensorMetadata> TemperatureSensors")) {
688 if (field ==
"SixAxisForceTorqueSensors") {
692 if (!writer.
writeString(
"std::vector<SensorMetadata> SixAxisForceTorqueSensors")) {
696 if (field ==
"ContactLoadCellArrays") {
700 if (!writer.
writeString(
"std::vector<SensorMetadata> ContactLoadCellArrays")) {
704 if (field ==
"EncoderArrays") {
708 if (!writer.
writeString(
"std::vector<SensorMetadata> EncoderArrays")) {
712 if (field ==
"SkinPatches") {
716 if (!writer.
writeString(
"std::vector<SensorMetadata> SkinPatches")) {
720 if (field ==
"PositionSensors") {
724 if (!writer.
writeString(
"std::vector<SensorMetadata> PositionSensors")) {
734 writer.
writeString(
"ThreeAxisLinearAccelerometers");
746 bool have_act =
false;
747 if (tag !=
"patch") {
748 if (((len - 1) % 2) != 0) {
751 len = 1 + ((len - 1) / 2);
755 for (
int i = 1; i < len; ++i) {
769 if (key ==
"ThreeAxisGyroscopes") {
770 will_set_ThreeAxisGyroscopes();
771 if (!obj->nested_read_ThreeAxisGyroscopes(reader)) {
774 did_set_ThreeAxisGyroscopes();
775 }
else if (key ==
"ThreeAxisLinearAccelerometers") {
776 will_set_ThreeAxisLinearAccelerometers();
777 if (!obj->nested_read_ThreeAxisLinearAccelerometers(reader)) {
780 did_set_ThreeAxisLinearAccelerometers();
781 }
else if (key ==
"ThreeAxisMagnetometers") {
782 will_set_ThreeAxisMagnetometers();
783 if (!obj->nested_read_ThreeAxisMagnetometers(reader)) {
786 did_set_ThreeAxisMagnetometers();
787 }
else if (key ==
"OrientationSensors") {
788 will_set_OrientationSensors();
789 if (!obj->nested_read_OrientationSensors(reader)) {
792 did_set_OrientationSensors();
793 }
else if (key ==
"TemperatureSensors") {
794 will_set_TemperatureSensors();
795 if (!obj->nested_read_TemperatureSensors(reader)) {
798 did_set_TemperatureSensors();
799 }
else if (key ==
"SixAxisForceTorqueSensors") {
800 will_set_SixAxisForceTorqueSensors();
801 if (!obj->nested_read_SixAxisForceTorqueSensors(reader)) {
804 did_set_SixAxisForceTorqueSensors();
805 }
else if (key ==
"ContactLoadCellArrays") {
806 will_set_ContactLoadCellArrays();
807 if (!obj->nested_read_ContactLoadCellArrays(reader)) {
810 did_set_ContactLoadCellArrays();
811 }
else if (key ==
"EncoderArrays") {
812 will_set_EncoderArrays();
813 if (!obj->nested_read_EncoderArrays(reader)) {
816 did_set_EncoderArrays();
817 }
else if (key ==
"SkinPatches") {
818 will_set_SkinPatches();
819 if (!obj->nested_read_SkinPatches(reader)) {
822 did_set_SkinPatches();
823 }
else if (key ==
"PositionSensors") {
824 will_set_PositionSensors();
825 if (!obj->nested_read_PositionSensors(reader)) {
828 did_set_PositionSensors();
856 if (is_dirty_ThreeAxisGyroscopes) {
866 if (!obj->nested_write_ThreeAxisGyroscopes(writer)) {
870 if (is_dirty_ThreeAxisLinearAccelerometers) {
877 if (!writer.
writeString(
"ThreeAxisLinearAccelerometers")) {
880 if (!obj->nested_write_ThreeAxisLinearAccelerometers(writer)) {
884 if (is_dirty_ThreeAxisMagnetometers) {
891 if (!writer.
writeString(
"ThreeAxisMagnetometers")) {
894 if (!obj->nested_write_ThreeAxisMagnetometers(writer)) {
898 if (is_dirty_OrientationSensors) {
908 if (!obj->nested_write_OrientationSensors(writer)) {
912 if (is_dirty_TemperatureSensors) {
922 if (!obj->nested_write_TemperatureSensors(writer)) {
926 if (is_dirty_SixAxisForceTorqueSensors) {
933 if (!writer.
writeString(
"SixAxisForceTorqueSensors")) {
936 if (!obj->nested_write_SixAxisForceTorqueSensors(writer)) {
940 if (is_dirty_ContactLoadCellArrays) {
947 if (!writer.
writeString(
"ContactLoadCellArrays")) {
950 if (!obj->nested_write_ContactLoadCellArrays(writer)) {
954 if (is_dirty_EncoderArrays) {
964 if (!obj->nested_write_EncoderArrays(writer)) {
968 if (is_dirty_SkinPatches) {
978 if (!obj->nested_write_SkinPatches(writer)) {
982 if (is_dirty_PositionSensors) {
992 if (!obj->nested_write_PositionSensors(writer)) {
1000 void SensorRPCData::Editor::communicate()
1005 if (
yarp().canWrite()) {
1006 yarp().write(*
this);
1012 void SensorRPCData::Editor::mark_dirty()
1018 void SensorRPCData::Editor::mark_dirty_ThreeAxisGyroscopes()
1020 if (is_dirty_ThreeAxisGyroscopes) {
1024 is_dirty_ThreeAxisGyroscopes =
true;
1029 void SensorRPCData::Editor::mark_dirty_ThreeAxisLinearAccelerometers()
1031 if (is_dirty_ThreeAxisLinearAccelerometers) {
1035 is_dirty_ThreeAxisLinearAccelerometers =
true;
1040 void SensorRPCData::Editor::mark_dirty_ThreeAxisMagnetometers()
1042 if (is_dirty_ThreeAxisMagnetometers) {
1046 is_dirty_ThreeAxisMagnetometers =
true;
1051 void SensorRPCData::Editor::mark_dirty_OrientationSensors()
1053 if (is_dirty_OrientationSensors) {
1057 is_dirty_OrientationSensors =
true;
1062 void SensorRPCData::Editor::mark_dirty_TemperatureSensors()
1064 if (is_dirty_TemperatureSensors) {
1068 is_dirty_TemperatureSensors =
true;
1073 void SensorRPCData::Editor::mark_dirty_SixAxisForceTorqueSensors()
1075 if (is_dirty_SixAxisForceTorqueSensors) {
1079 is_dirty_SixAxisForceTorqueSensors =
true;
1084 void SensorRPCData::Editor::mark_dirty_ContactLoadCellArrays()
1086 if (is_dirty_ContactLoadCellArrays) {
1090 is_dirty_ContactLoadCellArrays =
true;
1095 void SensorRPCData::Editor::mark_dirty_EncoderArrays()
1097 if (is_dirty_EncoderArrays) {
1101 is_dirty_EncoderArrays =
true;
1106 void SensorRPCData::Editor::mark_dirty_SkinPatches()
1108 if (is_dirty_SkinPatches) {
1112 is_dirty_SkinPatches =
true;
1117 void SensorRPCData::Editor::mark_dirty_PositionSensors()
1119 if (is_dirty_PositionSensors) {
1123 is_dirty_PositionSensors =
true;
1128 void SensorRPCData::Editor::dirty_flags(
bool flag)
1131 is_dirty_ThreeAxisGyroscopes = flag;
1132 is_dirty_ThreeAxisLinearAccelerometers = flag;
1133 is_dirty_ThreeAxisMagnetometers = flag;
1134 is_dirty_OrientationSensors = flag;
1135 is_dirty_TemperatureSensors = flag;
1136 is_dirty_SixAxisForceTorqueSensors = flag;
1137 is_dirty_ContactLoadCellArrays = flag;
1138 is_dirty_EncoderArrays = flag;
1139 is_dirty_SkinPatches = flag;
1140 is_dirty_PositionSensors = flag;
1141 dirty_count = flag ? 10 : 0;
1152 for (
size_t _i16 = 0; _i16 < _size12; ++_i16) {
1187 for (
size_t _i22 = 0; _i22 < _size18; ++_i22) {
1222 for (
size_t _i28 = 0; _i28 < _size24; ++_i28) {
1257 for (
size_t _i34 = 0; _i34 < _size30; ++_i34) {
1292 for (
size_t _i40 = 0; _i40 < _size36; ++_i40) {
1327 for (
size_t _i46 = 0; _i46 < _size42; ++_i46) {
1362 for (
size_t _i52 = 0; _i52 < _size48; ++_i52) {
1397 for (
size_t _i58 = 0; _i58 < _size54; ++_i58) {
1432 for (
size_t _i64 = 0; _i64 < _size60; ++_i64) {
1467 for (
size_t _i70 = 0; _i70 < _size66; ++_i70) {
1502 for (
size_t _i76 = 0; _i76 < _size72; ++_i76) {
1537 for (
size_t _i82 = 0; _i82 < _size78; ++_i82) {
1572 for (
size_t _i88 = 0; _i88 < _size84; ++_i88) {
1607 for (
size_t _i94 = 0; _i94 < _size90; ++_i94) {
1642 for (
size_t _i100 = 0; _i100 < _size96; ++_i100) {
1677 for (
size_t _i106 = 0; _i106 < _size102; ++_i106) {
1712 for (
size_t _i112 = 0; _i112 < _size108; ++_i112) {
1747 for (
size_t _i118 = 0; _i118 < _size114; ++_i118) {
1782 for (
size_t _i124 = 0; _i124 < _size120; ++_i124) {
1817 for (
size_t _i130 = 0; _i130 < _size126; ++_i130) {
@ ThreeAxisLinearAccelerometers
@ SixAxisForceTorqueSensors
virtual bool did_set_TemperatureSensors()
void set_SkinPatches(const std::vector< SensorMetadata > &SkinPatches)
void set_TemperatureSensors(const std::vector< SensorMetadata > &TemperatureSensors)
virtual bool did_set_ThreeAxisMagnetometers()
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
void set_EncoderArrays(const std::vector< SensorMetadata > &EncoderArrays)
bool edit(SensorRPCData &obj, bool dirty=true)
const std::vector< SensorMetadata > & get_ThreeAxisGyroscopes() const
void set_SixAxisForceTorqueSensors(const std::vector< SensorMetadata > &SixAxisForceTorqueSensors)
virtual bool did_set_ThreeAxisLinearAccelerometers()
virtual bool will_set_PositionSensors()
const std::vector< SensorMetadata > & get_TemperatureSensors() const
void set_ThreeAxisLinearAccelerometers(const std::vector< SensorMetadata > &ThreeAxisLinearAccelerometers)
void set_PositionSensors(const std::vector< SensorMetadata > &PositionSensors)
virtual bool did_set_ContactLoadCellArrays()
virtual bool did_set_ThreeAxisGyroscopes()
void set_ThreeAxisMagnetometers(const std::vector< SensorMetadata > &ThreeAxisMagnetometers)
virtual bool will_set_OrientationSensors()
virtual bool will_set_ThreeAxisGyroscopes()
virtual bool will_set_TemperatureSensors()
const std::vector< SensorMetadata > & get_ContactLoadCellArrays() const
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
void set_ContactLoadCellArrays(const std::vector< SensorMetadata > &ContactLoadCellArrays)
virtual bool did_set_SkinPatches()
const std::vector< SensorMetadata > & get_ThreeAxisLinearAccelerometers() const
const std::vector< SensorMetadata > & get_ThreeAxisMagnetometers() const
virtual bool will_set_EncoderArrays()
virtual bool did_set_PositionSensors()
const std::vector< SensorMetadata > & get_SkinPatches() const
const std::vector< SensorMetadata > & get_SixAxisForceTorqueSensors() const
const std::vector< SensorMetadata > & get_EncoderArrays() const
virtual bool will_set_SixAxisForceTorqueSensors()
virtual bool will_set_ThreeAxisMagnetometers()
virtual bool did_set_SixAxisForceTorqueSensors()
virtual bool will_set_SkinPatches()
virtual bool will_set_ContactLoadCellArrays()
const std::vector< SensorMetadata > & get_PositionSensors() const
virtual bool will_set_ThreeAxisLinearAccelerometers()
const std::vector< SensorMetadata > & get_OrientationSensors() const
virtual bool did_set_OrientationSensors()
void set_ThreeAxisGyroscopes(const std::vector< SensorMetadata > &ThreeAxisGyroscopes)
virtual bool did_set_EncoderArrays()
void set_OrientationSensors(const std::vector< SensorMetadata > &OrientationSensors)
std::vector< SensorMetadata > SkinPatches
bool read(yarp::os::idl::WireReader &reader) override
std::vector< SensorMetadata > ContactLoadCellArrays
std::string toString() const
bool write(const yarp::os::idl::WireWriter &writer) const override
std::vector< SensorMetadata > EncoderArrays
std::vector< SensorMetadata > PositionSensors
std::vector< SensorMetadata > ThreeAxisGyroscopes
std::vector< SensorMetadata > ThreeAxisLinearAccelerometers
std::vector< SensorMetadata > ThreeAxisMagnetometers
std::vector< SensorMetadata > OrientationSensors
std::vector< SensorMetadata > SixAxisForceTorqueSensors
std::vector< SensorMetadata > TemperatureSensors
A simple collection of objects that can be described and transmitted in a portable way.
bool read(ConnectionReader &reader) override
Set the bottle's value based on input from a network connection.
std::string toString() const override
Gives a human-readable textual representation of the bottle.
An interface for reading from a network connection.
An interface for writing to a network connection.
bool setOwner(yarp::os::PortReader &owner)
Set the owner of this WireLink.
yarp::os::WireLink & yarp()
Get YARP state associated with this object.
IDL-friendly connection reader.
bool readNested(WirePortable &obj)
bool readString(std::string &str, bool *is_vocab=nullptr)
void readListBegin(yarp::os::idl::WireState &nstate, std::uint32_t &len)
IDL-friendly connection writer.
bool writeVocab32(yarp::conf::vocab32_t x) const
bool writeListHeader(int len) const
bool writeTag(const char *tag, int split, int len) const
bool writeListBegin(int tag, std::uint32_t len) const
bool writeListEnd() const
bool writeString(const std::string &tag) const
bool writeNested(const WirePortable &obj) const
bool isValid()
Check if time is valid (non-zero).
The main, catch-all namespace for YARP.