From 3b927c2b04720b80d78da56498c0e07186e57d57 Mon Sep 17 00:00:00 2001 From: TiaSinghania <59597284+TiaSinghania@users.noreply.github.com> Date: Thu, 29 Feb 2024 20:16:28 -0500 Subject: [PATCH 1/5] deleted the firmware (#46) --- firmware/README.md | 3 - .../Rosserial_Arduino_Library/Dockerfile | 28 - .../examples/ADC/ADC.pde | 52 -- .../examples/Blink/Blink.pde | 29 - .../examples/BlinkM/BlinkM.pde | 162 ----- .../examples/BlinkM/BlinkM_funcs.h | 440 ------------ .../BlinkerWithClass/BlinkerWithClass.ino | 70 -- .../examples/Clapper/Clapper.pde | 94 --- .../examples/Esp8266/Esp8266.ino | 75 -- .../Esp8266HelloWorld/Esp8266HelloWorld.ino | 75 -- .../examples/HelloWorld/HelloWorld.pde | 28 - .../examples/IrRanger/IrRanger.pde | 64 -- .../examples/Logging/Logging.pde | 45 -- .../examples/Odom/Odom.pde | 53 -- .../examples/ServiceClient/ServiceClient.pde | 38 -- .../examples/ServiceClient/client.py | 20 - .../examples/ServiceServer/ServiceServer.pde | 40 -- .../examples/ServoControl/ServoControl.pde | 49 -- .../examples/TcpBlink/TcpBlink.ino | 47 -- .../examples/TcpHelloWorld/TcpHelloWorld.ino | 84 --- .../examples/Temperature/Temperature.pde | 72 -- .../examples/TimeTF/TimeTF.pde | 37 - .../examples/Ultrasound/Ultrasound.pde | 61 -- .../button_example/button_example.pde | 61 -- .../examples/pubsub/pubsub.pde | 40 -- .../extras/tests/array_test/array_test.pde | 49 -- .../tests/float64_test/float64_test.pde | 38 -- .../extras/tests/time_test/time_test.pde | 30 - .../Rosserial_Arduino_Library/keywords.txt | 23 - .../library.properties | 10 - .../Rosserial_Arduino_Library/readme.md | 35 - .../scripts/esp8266_pstr_fix.py | 59 -- .../src/ArduinoHardware.h | 118 ---- .../src/ArduinoIncludes.h | 58 -- .../src/ArduinoTcpHardware.h | 116 ---- .../src/Esp32Hardware.h | 78 --- .../src/Esp8266Hardware.h | 78 --- .../src/MKR1000Hardware.h | 78 --- .../src/actionlib/TestAction.h | 56 -- .../src/actionlib/TestActionFeedback.h | 56 -- .../src/actionlib/TestActionGoal.h | 56 -- .../src/actionlib/TestActionResult.h | 56 -- .../src/actionlib/TestFeedback.h | 62 -- .../src/actionlib/TestGoal.h | 62 -- .../src/actionlib/TestRequestAction.h | 56 -- .../src/actionlib/TestRequestActionFeedback.h | 56 -- .../src/actionlib/TestRequestActionGoal.h | 56 -- .../src/actionlib/TestRequestActionResult.h | 56 -- .../src/actionlib/TestRequestFeedback.h | 38 -- .../src/actionlib/TestRequestGoal.h | 215 ------ .../src/actionlib/TestRequestResult.h | 80 --- .../src/actionlib/TestResult.h | 62 -- .../src/actionlib/TwoIntsAction.h | 56 -- .../src/actionlib/TwoIntsActionFeedback.h | 56 -- .../src/actionlib/TwoIntsActionGoal.h | 56 -- .../src/actionlib/TwoIntsActionResult.h | 56 -- .../src/actionlib/TwoIntsFeedback.h | 38 -- .../src/actionlib/TwoIntsGoal.h | 102 --- .../src/actionlib/TwoIntsResult.h | 70 -- .../src/actionlib_msgs/GoalID.h | 79 --- .../src/actionlib_msgs/GoalStatus.h | 78 --- .../src/actionlib_msgs/GoalStatusArray.h | 70 -- .../src/actionlib_tutorials/AveragingAction.h | 56 -- .../AveragingActionFeedback.h | 56 -- .../actionlib_tutorials/AveragingActionGoal.h | 56 -- .../AveragingActionResult.h | 56 -- .../actionlib_tutorials/AveragingFeedback.h | 134 ---- .../src/actionlib_tutorials/AveragingGoal.h | 62 -- .../src/actionlib_tutorials/AveragingResult.h | 86 --- .../src/actionlib_tutorials/FibonacciAction.h | 56 -- .../FibonacciActionFeedback.h | 56 -- .../actionlib_tutorials/FibonacciActionGoal.h | 56 -- .../FibonacciActionResult.h | 56 -- .../actionlib_tutorials/FibonacciFeedback.h | 82 --- .../src/actionlib_tutorials/FibonacciGoal.h | 62 -- .../src/actionlib_tutorials/FibonacciResult.h | 82 --- .../src/bond/Constants.h | 44 -- .../src/bond/Status.h | 144 ---- .../src/buggy/EncoderStatus.h | 53 -- .../src/buggy/LoRaEvent.h | 133 ---- .../FollowJointTrajectoryAction.h | 56 -- .../FollowJointTrajectoryActionFeedback.h | 56 -- .../FollowJointTrajectoryActionGoal.h | 56 -- .../FollowJointTrajectoryActionResult.h | 56 -- .../FollowJointTrajectoryFeedback.h | 97 --- .../control_msgs/FollowJointTrajectoryGoal.h | 119 ---- .../FollowJointTrajectoryResult.h | 85 --- .../src/control_msgs/GripperCommand.h | 102 --- .../src/control_msgs/GripperCommandAction.h | 56 -- .../GripperCommandActionFeedback.h | 56 -- .../control_msgs/GripperCommandActionGoal.h | 56 -- .../control_msgs/GripperCommandActionResult.h | 56 -- .../src/control_msgs/GripperCommandFeedback.h | 138 ---- .../src/control_msgs/GripperCommandGoal.h | 44 -- .../src/control_msgs/GripperCommandResult.h | 138 ---- .../src/control_msgs/JointControllerState.h | 382 ----------- .../src/control_msgs/JointJog.h | 217 ------ .../src/control_msgs/JointTolerance.h | 151 ---- .../src/control_msgs/JointTrajectoryAction.h | 56 -- .../JointTrajectoryActionFeedback.h | 56 -- .../control_msgs/JointTrajectoryActionGoal.h | 56 -- .../JointTrajectoryActionResult.h | 56 -- .../JointTrajectoryControllerState.h | 97 --- .../control_msgs/JointTrajectoryFeedback.h | 38 -- .../src/control_msgs/JointTrajectoryGoal.h | 44 -- .../src/control_msgs/JointTrajectoryResult.h | 38 -- .../src/control_msgs/PidState.h | 420 ------------ .../src/control_msgs/PointHeadAction.h | 56 -- .../control_msgs/PointHeadActionFeedback.h | 56 -- .../src/control_msgs/PointHeadActionGoal.h | 56 -- .../src/control_msgs/PointHeadActionResult.h | 56 -- .../src/control_msgs/PointHeadFeedback.h | 70 -- .../src/control_msgs/PointHeadGoal.h | 123 ---- .../src/control_msgs/PointHeadResult.h | 38 -- .../src/control_msgs/QueryCalibrationState.h | 88 --- .../src/control_msgs/QueryTrajectoryState.h | 287 -------- .../control_msgs/SingleJointPositionAction.h | 56 -- .../SingleJointPositionActionFeedback.h | 56 -- .../SingleJointPositionActionGoal.h | 56 -- .../SingleJointPositionActionResult.h | 56 -- .../SingleJointPositionFeedback.h | 140 ---- .../control_msgs/SingleJointPositionGoal.h | 126 ---- .../control_msgs/SingleJointPositionResult.h | 38 -- .../src/control_toolbox/SetPidGains.h | 216 ------ .../controller_manager_msgs/ControllerState.h | 115 ---- .../ControllerStatistics.h | 231 ------- .../ControllersStatistics.h | 70 -- .../HardwareInterfaceResources.h | 92 --- .../ListControllerTypes.h | 144 ---- .../controller_manager_msgs/ListControllers.h | 96 --- .../controller_manager_msgs/LoadController.h | 105 --- .../ReloadControllerLibraries.h | 106 --- .../SwitchController.h | 238 ------- .../UnloadController.h | 105 --- .../src/diagnostic_msgs/AddDiagnostics.h | 122 ---- .../src/diagnostic_msgs/DiagnosticArray.h | 70 -- .../src/diagnostic_msgs/DiagnosticStatus.h | 137 ---- .../src/diagnostic_msgs/KeyValue.h | 72 -- .../src/diagnostic_msgs/SelfTest.h | 131 ---- .../src/duration.cpp | 83 --- .../src/dynamic_reconfigure/BoolParameter.h | 73 -- .../src/dynamic_reconfigure/Config.h | 168 ----- .../dynamic_reconfigure/ConfigDescription.h | 80 --- .../src/dynamic_reconfigure/DoubleParameter.h | 87 --- .../src/dynamic_reconfigure/Group.h | 146 ---- .../src/dynamic_reconfigure/GroupState.h | 121 ---- .../src/dynamic_reconfigure/IntParameter.h | 79 --- .../dynamic_reconfigure/ParamDescription.h | 119 ---- .../src/dynamic_reconfigure/Reconfigure.h | 81 --- .../src/dynamic_reconfigure/SensorLevels.h | 41 -- .../src/dynamic_reconfigure/StrParameter.h | 72 -- .../src/gazebo_msgs/ApplyBodyWrench.h | 199 ------ .../src/gazebo_msgs/ApplyJointEffort.h | 202 ------ .../src/gazebo_msgs/BodyRequest.h | 87 --- .../src/gazebo_msgs/ContactState.h | 223 ------ .../src/gazebo_msgs/ContactsState.h | 70 -- .../src/gazebo_msgs/DeleteLight.h | 122 ---- .../src/gazebo_msgs/DeleteModel.h | 122 ---- .../src/gazebo_msgs/GetJointProperties.h | 291 -------- .../src/gazebo_msgs/GetLightProperties.h | 224 ------ .../src/gazebo_msgs/GetLinkProperties.h | 370 ---------- .../src/gazebo_msgs/GetLinkState.h | 145 ---- .../src/gazebo_msgs/GetModelProperties.h | 322 --------- .../src/gazebo_msgs/GetModelState.h | 157 ----- .../src/gazebo_msgs/GetPhysicsProperties.h | 199 ------ .../src/gazebo_msgs/GetWorldProperties.h | 192 ------ .../src/gazebo_msgs/JointRequest.h | 87 --- .../src/gazebo_msgs/LinkState.h | 84 --- .../src/gazebo_msgs/LinkStates.h | 127 ---- .../src/gazebo_msgs/ModelState.h | 84 --- .../src/gazebo_msgs/ModelStates.h | 127 ---- .../src/gazebo_msgs/ODEJointProperties.h | 558 --------------- .../src/gazebo_msgs/ODEPhysics.h | 287 -------- .../src/gazebo_msgs/PerformanceMetrics.h | 102 --- .../src/gazebo_msgs/SensorPerformanceMetric.h | 151 ---- .../src/gazebo_msgs/SetJointProperties.h | 128 ---- .../src/gazebo_msgs/SetJointTrajectory.h | 170 ----- .../src/gazebo_msgs/SetLightProperties.h | 259 ------- .../src/gazebo_msgs/SetLinkProperties.h | 370 ---------- .../src/gazebo_msgs/SetLinkState.h | 111 --- .../src/gazebo_msgs/SetModelConfiguration.h | 228 ------- .../src/gazebo_msgs/SetModelState.h | 111 --- .../src/gazebo_msgs/SetPhysicsProperties.h | 181 ----- .../src/gazebo_msgs/SpawnModel.h | 179 ----- .../src/gazebo_msgs/WorldState.h | 159 ----- .../src/geographic_msgs/BoundingBox.h | 49 -- .../src/geographic_msgs/GeoPath.h | 70 -- .../src/geographic_msgs/GeoPoint.h | 134 ---- .../src/geographic_msgs/GeoPointStamped.h | 50 -- .../src/geographic_msgs/GeoPose.h | 50 -- .../src/geographic_msgs/GeoPoseStamped.h | 50 -- .../src/geographic_msgs/GeographicMap.h | 134 ---- .../geographic_msgs/GeographicMapChanges.h | 76 --- .../src/geographic_msgs/GetGeoPath.h | 170 ----- .../src/geographic_msgs/GetGeographicMap.h | 134 ---- .../src/geographic_msgs/GetRoutePlan.h | 127 ---- .../src/geographic_msgs/KeyValue.h | 72 -- .../src/geographic_msgs/MapFeature.h | 95 --- .../src/geographic_msgs/RouteNetwork.h | 134 ---- .../src/geographic_msgs/RoutePath.h | 101 --- .../src/geographic_msgs/RouteSegment.h | 80 --- .../src/geographic_msgs/UpdateGeographicMap.h | 111 --- .../src/geographic_msgs/WayPoint.h | 76 --- .../src/geometry_msgs/Accel.h | 49 -- .../src/geometry_msgs/AccelStamped.h | 50 -- .../src/geometry_msgs/AccelWithCovariance.h | 79 --- .../AccelWithCovarianceStamped.h | 50 -- .../src/geometry_msgs/Inertia.h | 268 -------- .../src/geometry_msgs/InertiaStamped.h | 50 -- .../src/geometry_msgs/Point.h | 134 ---- .../src/geometry_msgs/Point32.h | 110 --- .../src/geometry_msgs/PointStamped.h | 50 -- .../src/geometry_msgs/Polygon.h | 64 -- .../src/geometry_msgs/PolygonStamped.h | 50 -- .../src/geometry_msgs/Pose.h | 50 -- .../src/geometry_msgs/Pose2D.h | 134 ---- .../src/geometry_msgs/PoseArray.h | 70 -- .../src/geometry_msgs/PoseStamped.h | 50 -- .../src/geometry_msgs/PoseWithCovariance.h | 79 --- .../geometry_msgs/PoseWithCovarianceStamped.h | 50 -- .../src/geometry_msgs/Quaternion.h | 166 ----- .../src/geometry_msgs/QuaternionStamped.h | 50 -- .../src/geometry_msgs/Transform.h | 50 -- .../src/geometry_msgs/TransformStamped.h | 67 -- .../src/geometry_msgs/Twist.h | 49 -- .../src/geometry_msgs/TwistStamped.h | 50 -- .../src/geometry_msgs/TwistWithCovariance.h | 79 --- .../TwistWithCovarianceStamped.h | 50 -- .../src/geometry_msgs/Vector3.h | 134 ---- .../src/geometry_msgs/Vector3Stamped.h | 50 -- .../src/geometry_msgs/Wrench.h | 49 -- .../src/geometry_msgs/WrenchStamped.h | 50 -- .../src/laser_assembler/AssembleScans.h | 123 ---- .../src/laser_assembler/AssembleScans2.h | 123 ---- .../src/map_msgs/GetMapROI.h | 204 ------ .../src/map_msgs/GetPointMap.h | 76 --- .../src/map_msgs/GetPointMapROI.h | 300 -------- .../src/map_msgs/OccupancyGridUpdate.h | 156 ----- .../src/map_msgs/PointCloud2Update.h | 65 -- .../src/map_msgs/ProjectedMap.h | 108 --- .../src/map_msgs/ProjectedMapInfo.h | 247 ------- .../src/map_msgs/ProjectedMapsInfo.h | 96 --- .../src/map_msgs/SaveMap.h | 76 --- .../src/map_msgs/SetMapProjections.h | 96 --- .../src/mavros_msgs/ADSBVehicle.h | 322 --------- .../src/mavros_msgs/ActuatorControl.h | 82 --- .../src/mavros_msgs/Altitude.h | 188 ----- .../src/mavros_msgs/AttitudeTarget.h | 92 --- .../src/mavros_msgs/BatteryStatus.h | 116 ---- .../src/mavros_msgs/CamIMUStamp.h | 86 --- .../src/mavros_msgs/CameraImageCaptured.h | 139 ---- .../src/mavros_msgs/CellularStatus.h | 93 --- .../src/mavros_msgs/CommandAck.h | 131 ---- .../src/mavros_msgs/CommandBool.h | 113 --- .../src/mavros_msgs/CommandCode.h | 165 ----- .../src/mavros_msgs/CommandHome.h | 209 ------ .../src/mavros_msgs/CommandInt.h | 304 --------- .../src/mavros_msgs/CommandLong.h | 297 -------- .../src/mavros_msgs/CommandTOL.h | 215 ------ .../src/mavros_msgs/CommandTriggerControl.h | 149 ---- .../src/mavros_msgs/CommandTriggerInterval.h | 143 ---- .../src/mavros_msgs/CommandVtolTransition.h | 110 --- .../src/mavros_msgs/CompanionProcessStatus.h | 69 -- .../src/mavros_msgs/DebugValue.h | 213 ------ .../src/mavros_msgs/ESCInfo.h | 100 --- .../src/mavros_msgs/ESCInfoItem.h | 90 --- .../src/mavros_msgs/ESCStatus.h | 70 -- .../src/mavros_msgs/ESCStatusItem.h | 116 ---- .../src/mavros_msgs/ESCTelemetry.h | 70 -- .../src/mavros_msgs/ESCTelemetryItem.h | 173 ----- .../src/mavros_msgs/EstimatorStatus.h | 260 ------- .../src/mavros_msgs/ExtendedState.h | 68 -- .../src/mavros_msgs/FileChecksum.h | 142 ---- .../src/mavros_msgs/FileClose.h | 129 ---- .../src/mavros_msgs/FileEntry.h | 85 --- .../src/mavros_msgs/FileList.h | 155 ----- .../src/mavros_msgs/FileMakeDir.h | 129 ---- .../src/mavros_msgs/FileOpen.h | 152 ----- .../src/mavros_msgs/FileRead.h | 198 ------ .../src/mavros_msgs/FileRemove.h | 129 ---- .../src/mavros_msgs/FileRemoveDir.h | 129 ---- .../src/mavros_msgs/FileRename.h | 146 ---- .../src/mavros_msgs/FileTruncate.h | 150 ---- .../src/mavros_msgs/FileWrite.h | 177 ----- .../src/mavros_msgs/GPSINPUT.h | 378 ---------- .../src/mavros_msgs/GPSRAW.h | 291 -------- .../src/mavros_msgs/GPSRTK.h | 214 ------ .../src/mavros_msgs/GlobalPositionTarget.h | 222 ------ .../src/mavros_msgs/HilActuatorControls.h | 99 --- .../src/mavros_msgs/HilControls.h | 250 ------- .../src/mavros_msgs/HilGPS.h | 160 ----- .../src/mavros_msgs/HilSensor.h | 169 ----- .../src/mavros_msgs/HilStateQuaternion.h | 120 ---- .../src/mavros_msgs/HomePosition.h | 68 -- .../src/mavros_msgs/LandingTarget.h | 165 ----- .../src/mavros_msgs/LogData.h | 93 --- .../src/mavros_msgs/LogEntry.h | 108 --- .../src/mavros_msgs/LogRequestData.h | 123 ---- .../src/mavros_msgs/LogRequestEnd.h | 88 --- .../src/mavros_msgs/LogRequestList.h | 106 --- .../src/mavros_msgs/MagnetometerReporter.h | 75 -- .../src/mavros_msgs/ManualControl.h | 149 ---- .../src/mavros_msgs/Mavlink.h | 195 ------ .../src/mavros_msgs/MessageInterval.h | 125 ---- .../src/mavros_msgs/MountConfigure.h | 191 ------ .../src/mavros_msgs/MountControl.h | 200 ------ .../src/mavros_msgs/NavControllerOutput.h | 213 ------ .../src/mavros_msgs/OnboardComputerStatus.h | 327 --------- .../src/mavros_msgs/OpticalFlowRad.h | 241 ------- .../src/mavros_msgs/OverrideRCIn.h | 52 -- .../src/mavros_msgs/Param.h | 85 --- .../src/mavros_msgs/ParamGet.h | 111 --- .../src/mavros_msgs/ParamPull.h | 119 ---- .../src/mavros_msgs/ParamPush.h | 101 --- .../src/mavros_msgs/ParamSet.h | 116 ---- .../src/mavros_msgs/ParamValue.h | 102 --- .../src/mavros_msgs/PlayTuneV2.h | 64 -- .../src/mavros_msgs/PositionTarget.h | 141 ---- .../src/mavros_msgs/RCIn.h | 80 --- .../src/mavros_msgs/RCOut.h | 73 -- .../src/mavros_msgs/RTCM.h | 71 -- .../src/mavros_msgs/RTKBaseline.h | 225 ------ .../src/mavros_msgs/RadioStatus.h | 145 ---- .../src/mavros_msgs/SetMavFrame.h | 117 ---- .../src/mavros_msgs/SetMode.h | 123 ---- .../src/mavros_msgs/State.h | 202 ------ .../src/mavros_msgs/StatusText.h | 76 --- .../src/mavros_msgs/StreamRate.h | 113 --- .../src/mavros_msgs/TerrainReport.h | 183 ----- .../src/mavros_msgs/Thrust.h | 68 -- .../src/mavros_msgs/TimesyncStatus.h | 153 ----- .../src/mavros_msgs/Trajectory.h | 128 ---- .../src/mavros_msgs/Tunnel.h | 89 --- .../src/mavros_msgs/VFR_HUD.h | 184 ----- .../src/mavros_msgs/VehicleInfo.h | 267 -------- .../src/mavros_msgs/VehicleInfoGet.h | 148 ---- .../src/mavros_msgs/Vibration.h | 77 --- .../src/mavros_msgs/Waypoint.h | 304 --------- .../src/mavros_msgs/WaypointClear.h | 88 --- .../src/mavros_msgs/WaypointList.h | 73 -- .../src/mavros_msgs/WaypointPull.h | 101 --- .../src/mavros_msgs/WaypointPush.h | 136 ---- .../src/mavros_msgs/WaypointReached.h | 53 -- .../src/mavros_msgs/WaypointSetCurrent.h | 97 --- .../src/mavros_msgs/WheelOdomStamped.h | 96 --- .../src/nav_msgs/GetMap.h | 76 --- .../src/nav_msgs/GetMapAction.h | 56 -- .../src/nav_msgs/GetMapActionFeedback.h | 56 -- .../src/nav_msgs/GetMapActionGoal.h | 56 -- .../src/nav_msgs/GetMapActionResult.h | 56 -- .../src/nav_msgs/GetMapFeedback.h | 38 -- .../src/nav_msgs/GetMapGoal.h | 38 -- .../src/nav_msgs/GetMapResult.h | 44 -- .../src/nav_msgs/GetPlan.h | 111 --- .../src/nav_msgs/GridCells.h | 118 ---- .../src/nav_msgs/LoadMap.h | 105 --- .../src/nav_msgs/MapMetaData.h | 118 ---- .../src/nav_msgs/OccupancyGrid.h | 88 --- .../src/nav_msgs/Odometry.h | 73 -- .../src/nav_msgs/Path.h | 70 -- .../src/nav_msgs/SetMap.h | 100 --- .../src/nmea_msgs/Gpgga.h | 353 ---------- .../src/nmea_msgs/Gpgsa.h | 184 ----- .../src/nmea_msgs/Gpgsv.h | 108 --- .../src/nmea_msgs/GpgsvSatellite.h | 79 --- .../src/nmea_msgs/Gprmc.h | 331 --------- .../src/nmea_msgs/Sentence.h | 61 -- .../src/nodelet/NodeletList.h | 107 --- .../src/nodelet/NodeletLoad.h | 250 ------- .../src/nodelet/NodeletUnload.h | 105 --- .../src/pcl_msgs/ModelCoefficients.h | 88 --- .../src/pcl_msgs/PointIndices.h | 88 --- .../src/pcl_msgs/PolygonMesh.h | 76 --- .../src/pcl_msgs/UpdateFilename.h | 105 --- .../src/pcl_msgs/Vertices.h | 71 -- .../src/polled_camera/GetPolledImage.h | 202 ------ .../src/realsense2_camera/DeviceInfo.h | 172 ----- .../src/realsense2_camera/Extrinsics.h | 114 ---- .../src/realsense2_camera/IMUInfo.h | 160 ----- .../src/realsense2_camera/Metadata.h | 61 -- .../Rosserial_Arduino_Library/src/ros.h | 67 -- .../src/ros/duration.h | 75 -- .../Rosserial_Arduino_Library/src/ros/msg.h | 207 ------ .../src/ros/node_handle.h | 644 ------------------ .../src/ros/publisher.h | 74 -- .../src/ros/service_client.h | 95 --- .../src/ros/service_server.h | 130 ---- .../src/ros/subscriber.h | 140 ---- .../Rosserial_Arduino_Library/src/ros/time.h | 83 --- .../src/roscpp/Empty.h | 70 -- .../src/roscpp/GetLoggers.h | 96 --- .../src/roscpp/Logger.h | 72 -- .../src/roscpp/SetLoggerLevel.h | 104 --- .../src/roscpp_tutorials/TwoInts.h | 166 ----- .../src/rosgraph_msgs/Clock.h | 62 -- .../src/rosgraph_msgs/Log.h | 185 ----- .../src/rosgraph_msgs/TopicStatistics.h | 347 ---------- .../src/rospy_tutorials/AddTwoInts.h | 166 ----- .../src/rospy_tutorials/BadTwoInts.h | 150 ---- .../src/rospy_tutorials/Floats.h | 82 --- .../src/rospy_tutorials/HeaderString.h | 61 -- .../src/rosserial_msgs/Log.h | 67 -- .../src/rosserial_msgs/RequestParam.h | 212 ------ .../src/rosserial_msgs/TopicInfo.h | 130 ---- .../src/rviz/SendFilePath.h | 94 --- .../src/sensor_msgs/BatteryState.h | 394 ----------- .../src/sensor_msgs/CameraInfo.h | 276 -------- .../src/sensor_msgs/ChannelFloat32.h | 99 --- .../src/sensor_msgs/CompressedImage.h | 88 --- .../src/sensor_msgs/FluidPressure.h | 108 --- .../src/sensor_msgs/Illuminance.h | 108 --- .../src/sensor_msgs/Image.h | 134 ---- .../src/sensor_msgs/Imu.h | 166 ----- .../src/sensor_msgs/JointState.h | 237 ------- .../src/sensor_msgs/Joy.h | 132 ---- .../src/sensor_msgs/JoyFeedback.h | 79 --- .../src/sensor_msgs/JoyFeedbackArray.h | 64 -- .../src/sensor_msgs/LaserEcho.h | 82 --- .../src/sensor_msgs/LaserScan.h | 300 -------- .../src/sensor_msgs/MagneticField.h | 85 --- .../src/sensor_msgs/MultiDOFJointState.h | 159 ----- .../src/sensor_msgs/MultiEchoLaserScan.h | 263 ------- .../src/sensor_msgs/NavSatFix.h | 192 ------ .../src/sensor_msgs/NavSatStatus.h | 73 -- .../src/sensor_msgs/PointCloud.h | 96 --- .../src/sensor_msgs/PointCloud2.h | 185 ----- .../src/sensor_msgs/PointField.h | 96 --- .../src/sensor_msgs/Range.h | 149 ---- .../src/sensor_msgs/RegionOfInterest.h | 108 --- .../src/sensor_msgs/RelativeHumidity.h | 108 --- .../src/sensor_msgs/SetCameraInfo.h | 111 --- .../src/sensor_msgs/Temperature.h | 108 --- .../src/sensor_msgs/TimeReference.h | 85 --- .../src/shape_msgs/Mesh.h | 90 --- .../src/shape_msgs/MeshTriangle.h | 54 -- .../src/shape_msgs/Plane.h | 73 -- .../src/shape_msgs/SolidPrimitive.h | 109 --- .../SmachContainerInitialStatusCmd.h | 109 --- .../src/smach_msgs/SmachContainerStatus.h | 169 ----- .../src/smach_msgs/SmachContainerStructure.h | 246 ------- .../src/std_msgs/Bool.h | 56 -- .../src/std_msgs/Byte.h | 56 -- .../src/std_msgs/ByteMultiArray.h | 82 --- .../src/std_msgs/Char.h | 45 -- .../src/std_msgs/ColorRGBA.h | 134 ---- .../src/std_msgs/Duration.h | 62 -- .../src/std_msgs/Empty.h | 38 -- .../src/std_msgs/Float32.h | 62 -- .../src/std_msgs/Float32MultiArray.h | 88 --- .../src/std_msgs/Float64.h | 70 -- .../src/std_msgs/Float64MultiArray.h | 96 --- .../src/std_msgs/Header.h | 92 --- .../src/std_msgs/Int16.h | 58 -- .../src/std_msgs/Int16MultiArray.h | 84 --- .../src/std_msgs/Int32.h | 62 -- .../src/std_msgs/Int32MultiArray.h | 88 --- .../src/std_msgs/Int64.h | 70 -- .../src/std_msgs/Int64MultiArray.h | 96 --- .../src/std_msgs/Int8.h | 56 -- .../src/std_msgs/Int8MultiArray.h | 82 --- .../src/std_msgs/MultiArrayDimension.h | 81 --- .../src/std_msgs/MultiArrayLayout.h | 77 --- .../src/std_msgs/String.h | 55 -- .../src/std_msgs/Time.h | 62 -- .../src/std_msgs/UInt16.h | 47 -- .../src/std_msgs/UInt16MultiArray.h | 73 -- .../src/std_msgs/UInt32.h | 51 -- .../src/std_msgs/UInt32MultiArray.h | 77 --- .../src/std_msgs/UInt64.h | 59 -- .../src/std_msgs/UInt64MultiArray.h | 85 --- .../src/std_msgs/UInt8.h | 45 -- .../src/std_msgs/UInt8MultiArray.h | 71 -- .../src/std_srvs/Empty.h | 70 -- .../src/std_srvs/SetBool.h | 123 ---- .../src/std_srvs/Trigger.h | 105 --- .../src/stereo_msgs/DisparityImage.h | 176 ----- .../src/tf/FrameGraph.h | 87 --- .../Rosserial_Arduino_Library/src/tf/tf.h | 56 -- .../src/tf/tfMessage.h | 64 -- .../src/tf/transform_broadcaster.h | 69 -- .../src/tf2_msgs/FrameGraph.h | 87 --- .../src/tf2_msgs/LookupTransformAction.h | 56 -- .../tf2_msgs/LookupTransformActionFeedback.h | 56 -- .../src/tf2_msgs/LookupTransformActionGoal.h | 56 -- .../tf2_msgs/LookupTransformActionResult.h | 56 -- .../src/tf2_msgs/LookupTransformFeedback.h | 38 -- .../src/tf2_msgs/LookupTransformGoal.h | 178 ----- .../src/tf2_msgs/LookupTransformResult.h | 50 -- .../src/tf2_msgs/TF2Error.h | 69 -- .../src/tf2_msgs/TFMessage.h | 64 -- .../src/theora_image_transport/Packet.h | 183 ----- .../Rosserial_Arduino_Library/src/time.cpp | 79 --- .../src/topic_tools/DemuxAdd.h | 87 --- .../src/topic_tools/DemuxDelete.h | 87 --- .../src/topic_tools/DemuxList.h | 107 --- .../src/topic_tools/DemuxSelect.h | 104 --- .../src/topic_tools/MuxAdd.h | 87 --- .../src/topic_tools/MuxDelete.h | 87 --- .../src/topic_tools/MuxList.h | 107 --- .../src/topic_tools/MuxSelect.h | 104 --- .../src/trajectory_msgs/JointTrajectory.h | 107 --- .../trajectory_msgs/JointTrajectoryPoint.h | 270 -------- .../trajectory_msgs/MultiDOFJointTrajectory.h | 107 --- .../MultiDOFJointTrajectoryPoint.h | 139 ---- .../src/turtle_actionlib/ShapeAction.h | 56 -- .../turtle_actionlib/ShapeActionFeedback.h | 56 -- .../src/turtle_actionlib/ShapeActionGoal.h | 56 -- .../src/turtle_actionlib/ShapeActionResult.h | 56 -- .../src/turtle_actionlib/ShapeFeedback.h | 38 -- .../src/turtle_actionlib/ShapeGoal.h | 86 --- .../src/turtle_actionlib/ShapeResult.h | 86 --- .../src/turtle_actionlib/Velocity.h | 86 --- .../src/turtlesim/Color.h | 59 -- .../src/turtlesim/Kill.h | 87 --- .../src/turtlesim/Pose.h | 158 ----- .../src/turtlesim/SetPen.h | 105 --- .../src/turtlesim/Spawn.h | 176 ----- .../src/turtlesim/TeleportAbsolute.h | 142 ---- .../src/turtlesim/TeleportRelative.h | 118 ---- .../src/uuid_msgs/UniqueID.h | 48 -- .../src/visualization_msgs/ImageMarker.h | 262 ------- .../visualization_msgs/InteractiveMarker.h | 160 ----- .../InteractiveMarkerControl.h | 167 ----- .../InteractiveMarkerFeedback.h | 151 ---- .../InteractiveMarkerInit.h | 102 --- .../InteractiveMarkerPose.h | 67 -- .../InteractiveMarkerUpdate.h | 174 ----- .../src/visualization_msgs/Marker.h | 312 --------- .../src/visualization_msgs/MarkerArray.h | 64 -- .../src/visualization_msgs/MenuEntry.h | 108 --- .../Rosserial_Arduino_Library/update.sh | 23 - .../dynamixel_teensy-master/.gitignore | 298 -------- .../libraries/dynamixel_teensy-master/LICENSE | 23 - .../dynamixel_teensy-master/README.md | 19 - .../doc/controltable.ods | Bin 25019 -> 0 bytes .../doc/dynamixel_connect.png | Bin 897077 -> 0 bytes .../dynamixel_teensy_example.ino | 29 - .../dynamixel_teensy_example.sln | 22 - .../dynamixel_teensy_example.vcxproj | 99 --- .../dynamixel_teensy_example.vcxproj.filters | 45 -- .../library.properties | 9 - .../dynamixel_teensy-master/src/Dynamixel.cpp | 30 - .../dynamixel_teensy-master/src/Dynamixel.h | 209 ------ .../src/DynamixelInterface.cpp | 341 ---------- .../src/DynamixelInterface.h | 120 ---- .../src/DynamixelMotor.cpp | 204 ------ .../src/DynamixelMotor.h | 107 --- firmware/libraries/readme.txt | 1 - firmware/lora_rtcm_broadcast/.gitignore | 5 - .../.vscode/extensions.json | 10 - firmware/lora_rtcm_broadcast/include/README | 39 -- firmware/lora_rtcm_broadcast/lib/README | 46 -- firmware/lora_rtcm_broadcast/platformio.ini | 21 - .../src/lora_rtcm_broadcast.cpp | 300 -------- firmware/lora_rtcm_broadcast/test/README | 11 - firmware/lora_rtcm_listen/.gitignore | 5 - .../lora_rtcm_listen/.vscode/extensions.json | 10 - firmware/lora_rtcm_listen/include/README | 39 -- firmware/lora_rtcm_listen/lib/README | 46 -- firmware/lora_rtcm_listen/platformio.ini | 19 - .../lora_rtcm_listen/src/lora_rtcm_listen.cpp | 243 ------- firmware/lora_rtcm_listen/test/README | 11 - .../robobuggy_battery/robobuggy_battery.ino | 66 -- .../robobuggy_encoder/buggy/EncoderStatus.h | 134 ---- .../robobuggy_encoder/robobuggy_encoder.ino | 55 -- .../other/rc_calibration/rc_calibration.ino | 97 --- firmware/steering_teensy/.gitignore | 5 - .../steering_teensy/.vscode/extensions.json | 10 - firmware/steering_teensy/include/README | 39 -- firmware/steering_teensy/lib/README | 46 -- firmware/steering_teensy/platformio.ini | 17 - .../steering_teensy/src/steering_teensy.cpp | 513 -------------- firmware/steering_teensy/test/README | 11 - 573 files changed, 63676 deletions(-) delete mode 100644 firmware/README.md delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/Dockerfile delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/ADC/ADC.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Blink/Blink.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM_funcs.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/BlinkerWithClass/BlinkerWithClass.ino delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Clapper/Clapper.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266/Esp8266.ino delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266HelloWorld/Esp8266HelloWorld.ino delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/HelloWorld/HelloWorld.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/IrRanger/IrRanger.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Logging/Logging.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Odom/Odom.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/ServiceClient.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/client.py delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/ServiceServer/ServiceServer.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/ServoControl/ServoControl.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/TcpBlink/TcpBlink.ino delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/TcpHelloWorld/TcpHelloWorld.ino delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Temperature/Temperature.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/TimeTF/TimeTF.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/Ultrasound/Ultrasound.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/button_example/button_example.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/examples/pubsub/pubsub.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/extras/tests/array_test/array_test.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/extras/tests/float64_test/float64_test.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/extras/tests/time_test/time_test.pde delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/keywords.txt delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/library.properties delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/readme.md delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/scripts/esp8266_pstr_fix.py delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ArduinoHardware.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ArduinoIncludes.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ArduinoTcpHardware.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/Esp32Hardware.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/Esp8266Hardware.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/MKR1000Hardware.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalID.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatusArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/bond/Constants.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/bond/Status.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/buggy/EncoderStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/buggy/LoRaEvent.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommand.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointControllerState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointJog.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTolerance.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryControllerState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PidState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryCalibrationState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryTrajectoryState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/control_toolbox/SetPidGains.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerStatistics.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllersStatistics.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/HardwareInterfaceResources.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllerTypes.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllers.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/LoadController.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ReloadControllerLibraries.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/SwitchController.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/UnloadController.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/AddDiagnostics.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/KeyValue.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/SelfTest.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/duration.cpp delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/BoolParameter.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Config.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ConfigDescription.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/DoubleParameter.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Group.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/GroupState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/IntParameter.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ParamDescription.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Reconfigure.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/SensorLevels.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/StrParameter.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyBodyWrench.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyJointEffort.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/BodyRequest.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactsState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteLight.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteModel.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetJointProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLightProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetPhysicsProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetWorldProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/JointRequest.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkStates.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelStates.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEJointProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEPhysics.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/PerformanceMetrics.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SensorPerformanceMetric.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointTrajectory.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLightProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelConfiguration.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetPhysicsProperties.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SpawnModel.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/WorldState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/BoundingBox.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPath.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoint.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPointStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPose.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoseStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMapChanges.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeoPath.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeographicMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetRoutePlan.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/KeyValue.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/MapFeature.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteNetwork.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RoutePath.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteSegment.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/UpdateGeographicMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/WayPoint.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Accel.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovariance.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovarianceStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Inertia.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/InertiaStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point32.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PointStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Polygon.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PolygonStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose2D.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovariance.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovarianceStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Quaternion.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/QuaternionStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Transform.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TransformStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Twist.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovariance.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovarianceStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3Stamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Wrench.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/WrenchStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans2.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetMapROI.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMapROI.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/OccupancyGridUpdate.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/PointCloud2Update.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapsInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SaveMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SetMapProjections.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ADSBVehicle.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ActuatorControl.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Altitude.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/AttitudeTarget.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/BatteryStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CamIMUStamp.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CameraImageCaptured.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CellularStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandAck.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandBool.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandCode.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandHome.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandInt.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandLong.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTOL.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerControl.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerInterval.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandVtolTransition.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CompanionProcessStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/DebugValue.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfoItem.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatusItem.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetry.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetryItem.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/EstimatorStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ExtendedState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileChecksum.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileClose.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileEntry.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileList.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileMakeDir.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileOpen.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRead.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemove.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemoveDir.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRename.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileTruncate.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileWrite.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSINPUT.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRAW.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRTK.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GlobalPositionTarget.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilActuatorControls.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilControls.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilGPS.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilSensor.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilStateQuaternion.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HomePosition.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LandingTarget.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogData.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogEntry.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestData.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestEnd.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestList.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MagnetometerReporter.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ManualControl.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Mavlink.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MessageInterval.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountConfigure.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountControl.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/NavControllerOutput.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OnboardComputerStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OpticalFlowRad.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OverrideRCIn.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Param.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamGet.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPull.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPush.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamSet.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamValue.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PlayTuneV2.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PositionTarget.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCIn.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCOut.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTCM.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTKBaseline.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RadioStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMavFrame.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMode.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/State.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StatusText.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StreamRate.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TerrainReport.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Thrust.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TimesyncStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Trajectory.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Tunnel.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VFR_HUD.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfoGet.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Vibration.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Waypoint.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointClear.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointList.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPull.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPush.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointReached.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointSetCurrent.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WheelOdomStamped.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetPlan.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GridCells.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/LoadMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/MapMetaData.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/OccupancyGrid.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Odometry.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Path.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/SetMap.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgga.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsa.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsv.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/GpgsvSatellite.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gprmc.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Sentence.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletList.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletLoad.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletUnload.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/ModelCoefficients.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PointIndices.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PolygonMesh.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/UpdateFilename.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/Vertices.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/polled_camera/GetPolledImage.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/DeviceInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Extrinsics.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/IMUInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Metadata.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/duration.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/msg.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/node_handle.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/publisher.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/service_client.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/service_server.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/subscriber.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/ros/time.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Empty.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/roscpp/GetLoggers.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Logger.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/roscpp/SetLoggerLevel.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/roscpp_tutorials/TwoInts.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Clock.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Log.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/TopicStatistics.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/AddTwoInts.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/BadTwoInts.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/Floats.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/HeaderString.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/Log.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/RequestParam.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/TopicInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/rviz/SendFilePath.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/BatteryState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CameraInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/ChannelFloat32.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CompressedImage.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/FluidPressure.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Illuminance.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Image.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Imu.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JointState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Joy.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedbackArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserEcho.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserScan.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MagneticField.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiDOFJointState.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiEchoLaserScan.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatFix.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud2.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointField.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Range.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RegionOfInterest.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RelativeHumidity.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/SetCameraInfo.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Temperature.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/TimeReference.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Mesh.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/MeshTriangle.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Plane.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/SolidPrimitive.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerInitialStatusCmd.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStatus.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStructure.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Bool.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Byte.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ByteMultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Char.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ColorRGBA.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Duration.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Empty.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Header.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayDimension.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayLayout.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/String.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Time.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8MultiArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Empty.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/SetBool.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Trigger.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/stereo_msgs/DisparityImage.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf/FrameGraph.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf/tf.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf/tfMessage.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf/transform_broadcaster.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/FrameGraph.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TF2Error.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TFMessage.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/theora_image_transport/Packet.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/time.cpp delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxAdd.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxDelete.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxList.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxSelect.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxAdd.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxDelete.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxList.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxSelect.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectory.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectoryPoint.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectory.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectoryPoint.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeAction.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeGoal.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeResult.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/Velocity.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Color.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Kill.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Pose.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/SetPen.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Spawn.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportAbsolute.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportRelative.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/uuid_msgs/UniqueID.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/ImageMarker.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarker.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerControl.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerFeedback.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerInit.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerPose.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerUpdate.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/Marker.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MarkerArray.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MenuEntry.h delete mode 100644 firmware/libraries/Rosserial_Arduino_Library/update.sh delete mode 100644 firmware/libraries/dynamixel_teensy-master/.gitignore delete mode 100644 firmware/libraries/dynamixel_teensy-master/LICENSE delete mode 100644 firmware/libraries/dynamixel_teensy-master/README.md delete mode 100644 firmware/libraries/dynamixel_teensy-master/doc/controltable.ods delete mode 100644 firmware/libraries/dynamixel_teensy-master/doc/dynamixel_connect.png delete mode 100644 firmware/libraries/dynamixel_teensy-master/dynamixel_teensy_example/dynamixel_teensy_example.ino delete mode 100644 firmware/libraries/dynamixel_teensy-master/dynamixel_teensy_example/dynamixel_teensy_example.sln delete mode 100644 firmware/libraries/dynamixel_teensy-master/dynamixel_teensy_example/dynamixel_teensy_example.vcxproj delete mode 100644 firmware/libraries/dynamixel_teensy-master/dynamixel_teensy_example/dynamixel_teensy_example.vcxproj.filters delete mode 100644 firmware/libraries/dynamixel_teensy-master/library.properties delete mode 100644 firmware/libraries/dynamixel_teensy-master/src/Dynamixel.cpp delete mode 100644 firmware/libraries/dynamixel_teensy-master/src/Dynamixel.h delete mode 100644 firmware/libraries/dynamixel_teensy-master/src/DynamixelInterface.cpp delete mode 100644 firmware/libraries/dynamixel_teensy-master/src/DynamixelInterface.h delete mode 100644 firmware/libraries/dynamixel_teensy-master/src/DynamixelMotor.cpp delete mode 100644 firmware/libraries/dynamixel_teensy-master/src/DynamixelMotor.h delete mode 100644 firmware/libraries/readme.txt delete mode 100644 firmware/lora_rtcm_broadcast/.gitignore delete mode 100644 firmware/lora_rtcm_broadcast/.vscode/extensions.json delete mode 100644 firmware/lora_rtcm_broadcast/include/README delete mode 100644 firmware/lora_rtcm_broadcast/lib/README delete mode 100644 firmware/lora_rtcm_broadcast/platformio.ini delete mode 100644 firmware/lora_rtcm_broadcast/src/lora_rtcm_broadcast.cpp delete mode 100644 firmware/lora_rtcm_broadcast/test/README delete mode 100644 firmware/lora_rtcm_listen/.gitignore delete mode 100644 firmware/lora_rtcm_listen/.vscode/extensions.json delete mode 100644 firmware/lora_rtcm_listen/include/README delete mode 100644 firmware/lora_rtcm_listen/lib/README delete mode 100644 firmware/lora_rtcm_listen/platformio.ini delete mode 100644 firmware/lora_rtcm_listen/src/lora_rtcm_listen.cpp delete mode 100644 firmware/lora_rtcm_listen/test/README delete mode 100644 firmware/other/TeensyBattery/robobuggy_battery/robobuggy_battery.ino delete mode 100644 firmware/other/TeensyEncoders/robobuggy_encoder/buggy/EncoderStatus.h delete mode 100644 firmware/other/TeensyEncoders/robobuggy_encoder/robobuggy_encoder.ino delete mode 100644 firmware/other/rc_calibration/rc_calibration.ino delete mode 100644 firmware/steering_teensy/.gitignore delete mode 100644 firmware/steering_teensy/.vscode/extensions.json delete mode 100644 firmware/steering_teensy/include/README delete mode 100644 firmware/steering_teensy/lib/README delete mode 100644 firmware/steering_teensy/platformio.ini delete mode 100644 firmware/steering_teensy/src/steering_teensy.cpp delete mode 100644 firmware/steering_teensy/test/README diff --git a/firmware/README.md b/firmware/README.md deleted file mode 100644 index 21d5cf89..00000000 --- a/firmware/README.md +++ /dev/null @@ -1,3 +0,0 @@ -This folder has all of the firmware code (i.e. code that runs on the Teensy microcontrollers). - -Please create a subdirectory for each task - /ROS/TeensyEncoders, /RC-Controller, and so on. diff --git a/firmware/libraries/Rosserial_Arduino_Library/Dockerfile b/firmware/libraries/Rosserial_Arduino_Library/Dockerfile deleted file mode 100644 index 0effaebb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM ros:noetic-ros-base - -RUN apt-get update &&\ - apt-get install -y ros-$ROS_DISTRO-rosserial-arduino ros-$ROS_DISTRO-rosserial git &&\ - apt-get -y clean &&\ - apt-get -y purge &&\ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -# Create a Catkin Workspace -SHELL ["/bin/bash", "-c"] -ENV CATKIN_WS /catkin_ws -RUN source /opt/ros/$ROS_DISTRO/setup.bash &&\ - mkdir -p $CATKIN_WS/src &&\ - cd $CATKIN_WS/ &&\ - catkin_make - -# Build ROS Serial -RUN source /opt/ros/$ROS_DISTRO/setup.bash &&\ - cd $CATKIN_WS/src &&\ - git clone https://github.com/ros-drivers/rosserial.git &&\ - cd $CATKIN_WS &&\ - catkin_make &&\ - catkin_make install - -# Create ROS Serial Arduino builder -RUN source /opt/ros/$ROS_DISTRO/setup.bash &&\ - cd /tmp &&\ - rosrun rosserial_arduino make_libraries.py . diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/ADC/ADC.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/ADC/ADC.pde deleted file mode 100644 index a6cabe90..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/ADC/ADC.pde +++ /dev/null @@ -1,52 +0,0 @@ -/* - * rosserial ADC Example - * - * This is a poor man's Oscilloscope. It does not have the sampling - * rate or accuracy of a commerical scope, but it is great to get - * an analog value into ROS in a pinch. - */ - -#if (ARDUINO >= 100) - #include -#else - #include -#endif -#include -#include - -ros::NodeHandle nh; - -rosserial_arduino::Adc adc_msg; -ros::Publisher p("adc", &adc_msg); - -void setup() -{ - pinMode(13, OUTPUT); - nh.initNode(); - - nh.advertise(p); -} - -//We average the analog reading to elminate some of the noise -int averageAnalog(int pin){ - int v=0; - for(int i=0; i<4; i++) v+= analogRead(pin); - return v/4; -} - -long adc_timer; - -void loop() -{ - adc_msg.adc0 = averageAnalog(0); - adc_msg.adc1 = averageAnalog(1); - adc_msg.adc2 = averageAnalog(2); - adc_msg.adc3 = averageAnalog(3); - adc_msg.adc4 = averageAnalog(4); - adc_msg.adc5 = averageAnalog(5); - - p.publish(&adc_msg); - - nh.spinOnce(); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Blink/Blink.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/Blink/Blink.pde deleted file mode 100644 index 041c4df1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Blink/Blink.pde +++ /dev/null @@ -1,29 +0,0 @@ -/* - * rosserial Subscriber Example - * Blinks an LED on callback - */ - -#include -#include - -ros::NodeHandle nh; - -void messageCb( const std_msgs::Empty& toggle_msg){ - digitalWrite(LED_BUILTIN, HIGH-digitalRead(LED_BUILTIN)); // blink the led -} - -ros::Subscriber sub("toggle_led", &messageCb ); - -void setup() -{ - pinMode(LED_BUILTIN, OUTPUT); - nh.initNode(); - nh.subscribe(sub); -} - -void loop() -{ - nh.spinOnce(); - delay(1); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM.pde deleted file mode 100644 index f54ea286..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM.pde +++ /dev/null @@ -1,162 +0,0 @@ -/* -* RosSerial BlinkM Example -* This program shows how to control a blinkm -* from an arduino using RosSerial -*/ - -#include - - -#include -#include - - -//include Wire/ twi for the BlinkM -#include -extern "C" { -#include "utility/twi.h" -} - -#include "BlinkM_funcs.h" -const byte blinkm_addr = 0x09; //default blinkm address - - -void setLED( bool solid, char color) -{ - - if (solid) - { - switch (color) - { - - case 'w': // white - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0xff,0xff,0xff); - break; - - case 'r': //RED - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0xff,0,0); - break; - - case 'g':// Green - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0,0xff,0); - break; - - case 'b':// Blue - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0,0,0xff); - break; - - case 'c':// Cyan - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0,0xff,0xff); - break; - - case 'm': // Magenta - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0xff,0,0xff); - break; - - case 'y': // yellow - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0xff,0xff,0); - break; - - default: // Black - BlinkM_stopScript( blinkm_addr ); - BlinkM_fadeToRGB( blinkm_addr, 0,0,0); - break; - } - } - - - else - { - switch (color) - { - case 'r': // Blink Red - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 3,0,0 ); - break; - case 'w': // Blink white - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 2,0,0 ); - break; - case 'g': // Blink Green - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 4,0,0 ); - break; - - case 'b': // Blink Blue - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 5,0,0 ); - break; - - case 'c': //Blink Cyan - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 6,0,0 ); - break; - - case 'm': //Blink Magenta - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 7,0,0 ); - break; - - case 'y': //Blink Yellow - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 8,0,0 ); - break; - - default: //OFF - BlinkM_stopScript( blinkm_addr ); - BlinkM_playScript( blinkm_addr, 9,0,0 ); - break; - } - - } -} - -void light_cb( const std_msgs::String& light_cmd){ - bool solid =false; - char color; - if (strlen( (const char* ) light_cmd.data) ==2 ){ - solid = (light_cmd.data[0] == 'S') || (light_cmd.data[0] == 's'); - color = light_cmd.data[1]; - } - else{ - solid= false; - color = light_cmd.data[0]; - } - - setLED(solid, color); -} - - - -ros::NodeHandle nh; -ros::Subscriber sub("blinkm" , light_cb); - - -void setup() -{ - - pinMode(13, OUTPUT); //set up the LED - - BlinkM_beginWithPower(); - delay(100); - BlinkM_stopScript(blinkm_addr); // turn off startup script - setLED(false, 0); //turn off the led - - nh.initNode(); - nh.subscribe(sub); - -} - -void loop() -{ - nh.spinOnce(); - delay(1); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM_funcs.h b/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM_funcs.h deleted file mode 100644 index 94cabeb0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkM/BlinkM_funcs.h +++ /dev/null @@ -1,440 +0,0 @@ -/* - * BlinkM_funcs.h -- Arduino 'library' to control BlinkM - * -------------- - * - * - * Note: original version of this file lives with the BlinkMTester sketch - * - * Note: all the functions are declared 'static' because - * it saves about 1.5 kbyte in code space in final compiled sketch. - * A C++ library of this costs a 1kB more. - * - * 2007-8, Tod E. Kurt, ThingM, http://thingm.com/ - * - * version: 20081101 - * - * history: - * 20080101 - initial release - * 20080203 - added setStartupParam(), bugfix receiveBytes() from Dan Julio - * 20081101 - fixed to work with Arduino-0012, added MaxM commands, - * added test script read/write functions, cleaned up some functions - * 20090121 - added I2C bus scan functions, has dependencies on private - * functions inside Wire library, so might break in the future - * 20100420 - added BlinkM_startPower and _stopPower - * - */ - -#include - -extern "C" { -#include "utility/twi.h" // from Wire library, so we can do bus scanning -} - - -// format of light script lines: duration, command, arg1,arg2,arg3 -typedef struct _blinkm_script_line { - uint8_t dur; - uint8_t cmd[4]; // cmd,arg1,arg2,arg3 -} blinkm_script_line; - - -// Call this first (when powering BlinkM from a power supply) -static void BlinkM_begin() -{ - Wire.begin(); // join i2c bus (address optional for master) -} - -/* - * actually can't do this either, because twi_init() has THREE callocs in it too - * -static void BlinkM_reset() -{ - twi_init(); // can't just call Wire.begin() again because of calloc()s there -} -*/ - -// -// each call to twi_writeTo() should return 0 if device is there -// or other value (usually 2) if nothing is at that address -// -static void BlinkM_scanI2CBus(byte from, byte to, - void(*callback)(byte add, byte result) ) -{ - byte rc; - byte data = 0; // not used, just an address to feed to twi_writeTo() - for( byte addr = from; addr <= to; addr++ ) { - rc = twi_writeTo(addr, &data, 0, 1, 1); - callback( addr, rc ); - } -} - -// -// -static int8_t BlinkM_findFirstI2CDevice() -{ - byte rc; - byte data = 0; // not used, just an address to feed to twi_writeTo() - for( byte addr=1; addr < 120; addr++ ) { // only scan addrs 1-120 - rc = twi_writeTo(addr, &data, 0, 1, 1); - if( rc == 0 ) return addr; // found an address - } - return -1; // no device found in range given -} - -// FIXME: make this more Arduino-like -static void BlinkM_startPowerWithPins(byte pwrpin, byte gndpin) -{ - DDRC |= _BV(pwrpin) | _BV(gndpin); // make outputs - PORTC &=~ _BV(gndpin); - PORTC |= _BV(pwrpin); -} - -// FIXME: make this more Arduino-like -static void BlinkM_stopPowerWithPins(byte pwrpin, byte gndpin) -{ - DDRC &=~ (_BV(pwrpin) | _BV(gndpin)); -} - -// -static void BlinkM_startPower() -{ - BlinkM_startPowerWithPins( PORTC3, PORTC2 ); -} - -// -static void BlinkM_stopPower() -{ - BlinkM_stopPowerWithPins( PORTC3, PORTC2 ); -} - -// General version of BlinkM_beginWithPower(). -// Call this first when BlinkM is plugged directly into Arduino -static void BlinkM_beginWithPowerPins(byte pwrpin, byte gndpin) -{ - BlinkM_startPowerWithPins(pwrpin,gndpin); - delay(100); // wait for things to stabilize - Wire.begin(); -} - -// Call this first when BlinkM is plugged directly into Arduino -// FIXME: make this more Arduino-like -static void BlinkM_beginWithPower() -{ - BlinkM_beginWithPowerPins( PORTC3, PORTC2 ); -} - -// sends a generic command -static void BlinkM_sendCmd(byte addr, byte* cmd, int cmdlen) -{ - Wire.beginTransmission(addr); - for( byte i=0; idur = Wire.read(); - script_line->cmd[0] = Wire.read(); - script_line->cmd[1] = Wire.read(); - script_line->cmd[2] = Wire.read(); - script_line->cmd[3] = Wire.read(); -} - -// -static void BlinkM_writeScriptLine(byte addr, byte script_id, - byte pos, byte dur, - byte cmd, byte arg1, byte arg2, byte arg3) -{ -#ifdef BLINKM_FUNCS_DEBUG - Serial.print("writing line:"); Serial.print(pos,DEC); - Serial.print(" with cmd:"); Serial.print(cmd); - Serial.print(" arg1:"); Serial.println(arg1,HEX); -#endif - Wire.beginTransmission(addr); - Wire.write('W'); - Wire.write(script_id); - Wire.write(pos); - Wire.write(dur); - Wire.write(cmd); - Wire.write(arg1); - Wire.write(arg2); - Wire.write(arg3); - Wire.endTransmission(); - -} - -// -static void BlinkM_writeScript(byte addr, byte script_id, - byte len, byte reps, - blinkm_script_line* lines) -{ -#ifdef BLINKM_FUNCS_DEBUG - Serial.print("writing script to addr:"); Serial.print(addr,DEC); - Serial.print(", script_id:"); Serial.println(script_id,DEC); -#endif - for(byte i=0; i < len; i++) { - blinkm_script_line l = lines[i]; - BlinkM_writeScriptLine( addr, script_id, i, l.dur, - l.cmd[0], l.cmd[1], l.cmd[2], l.cmd[3]); - delay(20); // must wait for EEPROM to be programmed - } - BlinkM_setScriptLengthReps(addr, script_id, len, reps); -} - -// -static void BlinkM_setStartupParams(byte addr, byte mode, byte script_id, - byte reps, byte fadespeed, byte timeadj) -{ - Wire.beginTransmission(addr); - Wire.write('B'); - Wire.write(mode); // default 0x01 == Play script - Wire.write(script_id); // default 0x00 == script #0 - Wire.write(reps); // default 0x00 == repeat infinitely - Wire.write(fadespeed); // default 0x08 == usually overridden by sketch - Wire.write(timeadj); // default 0x00 == sometimes overridden by sketch - Wire.endTransmission(); -} - - -// Gets digital inputs of the BlinkM -// returns -1 on failure -static int BlinkM_getInputsO(byte addr) -{ - Wire.beginTransmission(addr); - Wire.write('i'); - Wire.endTransmission(); - Wire.requestFrom(addr, (byte)1); - if( Wire.available() ) { - byte b = Wire.read(); - return b; - } - return -1; -} - -// Gets digital inputs of the BlinkM -// stores them in passed in array -// returns -1 on failure -static int BlinkM_getInputs(byte addr, byte inputs[]) -{ - Wire.beginTransmission(addr); - Wire.write('i'); - Wire.endTransmission(); - Wire.requestFrom(addr, (byte)4); - while( Wire.available() < 4 ) ; // FIXME: wait until we get 4 bytes - - inputs[0] = Wire.read(); - inputs[1] = Wire.read(); - inputs[2] = Wire.read(); - inputs[3] = Wire.read(); - - return 0; -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkerWithClass/BlinkerWithClass.ino b/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkerWithClass/BlinkerWithClass.ino deleted file mode 100644 index 4e04b542..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/BlinkerWithClass/BlinkerWithClass.ino +++ /dev/null @@ -1,70 +0,0 @@ -#include -#include -#include - -ros::NodeHandle nh; - -class Blinker -{ -public: - Blinker(byte pin, uint16_t period) - : pin_(pin), period_(period), - subscriber_("set_blink_period", &Blinker::set_period_callback, this), - service_server_("activate_blinker", &Blinker::service_callback, this) - {} - - void init(ros::NodeHandle& nh) - { - pinMode(pin_, OUTPUT); - nh.subscribe(subscriber_); - nh.advertiseService(service_server_); - } - - void run() - { - if(active_ && ((millis() - last_time_) >= period_)) - { - last_time_ = millis(); - digitalWrite(pin_, !digitalRead(pin_)); - } - } - - void set_period_callback(const std_msgs::UInt16& msg) - { - period_ = msg.data; - } - - void service_callback(const std_srvs::SetBool::Request& req, - std_srvs::SetBool::Response& res) - { - active_ = req.data; - res.success = true; - if(req.data) - res.message = "Blinker ON"; - else - res.message = "Blinker OFF"; - } - -private: - const byte pin_; - bool active_ = true; - uint16_t period_; - uint32_t last_time_; - ros::Subscriber subscriber_; - ros::ServiceServer service_server_; -}; - -Blinker blinker(LED_BUILTIN, 500); - -void setup() -{ - nh.initNode(); - blinker.init(nh); -} - -void loop() -{ - blinker.run(); - nh.spinOnce(); - delay(1); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Clapper/Clapper.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/Clapper/Clapper.pde deleted file mode 100644 index 712b6f9f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Clapper/Clapper.pde +++ /dev/null @@ -1,94 +0,0 @@ -/* - * rosserial Clapper Example - * - * This code is a very simple example of the kinds of - * custom sensors that you can easily set up with rosserial - * and Arduino. This code uses a microphone attached to - * analog pin 5 detect two claps (2 loud sounds). - * You can use this clapper, for example, to command a robot - * in the area to come do your bidding. - */ - -#if (ARDUINO >= 100) - #include -#else - #include -#endif -#include -#include - -ros::NodeHandle nh; - -std_msgs::Empty clap_msg; -ros::Publisher p("clap", &clap_msg); - -enum clapper_state { clap1, clap_one_waiting, pause, clap2}; -clapper_state clap; - -int volume_thresh = 200; //a clap sound needs to be: - //abs(clap_volume) > average noise + volume_thresh -int mic_pin = 5; -int adc_ave=0; - -void setup() -{ - pinMode(13, OUTPUT); - nh.initNode(); - - nh.advertise(p); - - //measure the average volume of the noise in the area - for (int i =0; i<10;i++) adc_ave += analogRead(mic_pin); - adc_ave /= 10; -} - -long event_timer; - -void loop() -{ - int mic_val = 0; - for(int i=0; i<4; i++) mic_val += analogRead(mic_pin); - - mic_val = mic_val/4-adc_ave; - - switch(clap){ - case clap1: - if (abs(mic_val) > volume_thresh){ - clap = clap_one_waiting; - event_timer = millis(); - } - break; - case clap_one_waiting: - if ( (abs(mic_val) < 30) && ( (millis() - event_timer) > 20 ) ) - { - clap= pause; - event_timer = millis(); - - } - break; - case pause: // make sure there is a pause between - // the loud sounds - if ( mic_val > volume_thresh) - { - clap = clap1; - - } - else if ( (millis()-event_timer)> 60) { - clap = clap2; - event_timer = millis(); - - } - break; - case clap2: - if (abs(mic_val) > volume_thresh){ //we have got a double clap! - clap = clap1; - p.publish(&clap_msg); - } - else if ( (millis()-event_timer)> 200) { - clap= clap1; // no clap detected, reset state machine - } - - break; - } - nh.spinOnce(); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266/Esp8266.ino b/firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266/Esp8266.ino deleted file mode 100644 index cef02980..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266/Esp8266.ino +++ /dev/null @@ -1,75 +0,0 @@ -/* - * rosserial Publisher Example - * Prints "hello world!" - * This intend to connect to a Wifi Access Point - * and a rosserial socket server. - * You can launch the rosserial socket server with - * roslaunch rosserial_server socket.launch - * The default port is 11411 - * - */ -#include -#include -#include - -const char* ssid = "your-ssid"; -const char* password = "your-password"; -// Set the rosserial socket server IP address -IPAddress server(192,168,1,1); -// Set the rosserial socket server port -const uint16_t serverPort = 11411; - -ros::NodeHandle nh; -// Make a chatter publisher -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -// Be polite and say hello -char hello[13] = "hello world!"; - -void setup() -{ - // Use ESP8266 serial to monitor the process - Serial.begin(115200); - Serial.println(); - Serial.print("Connecting to "); - Serial.println(ssid); - - // Connect the ESP8266 the the wifi AP - WiFi.begin(ssid, password); - while (WiFi.status() != WL_CONNECTED) { - delay(500); - Serial.print("."); - } - Serial.println(""); - Serial.println("WiFi connected"); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - - // Set the connection to rosserial socket server - nh.getHardware()->setConnection(server, serverPort); - nh.initNode(); - - // Another way to get IP - Serial.print("IP = "); - Serial.println(nh.getHardware()->getLocalIP()); - - // Start to be polite - nh.advertise(chatter); -} - -void loop() -{ - - if (nh.connected()) { - Serial.println("Connected"); - // Say hello - str_msg.data = hello; - chatter.publish( &str_msg ); - } else { - Serial.println("Not Connected"); - } - nh.spinOnce(); - // Loop exproximativly at 1Hz - delay(1000); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266HelloWorld/Esp8266HelloWorld.ino b/firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266HelloWorld/Esp8266HelloWorld.ino deleted file mode 100644 index 0e4cf912..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Esp8266HelloWorld/Esp8266HelloWorld.ino +++ /dev/null @@ -1,75 +0,0 @@ -/* - * rosserial Publisher Example - * Prints "hello world!" - * This intend to connect to a Wifi Access Point - * and a rosserial socket server. - * You can launch the rosserial socket server with - * roslaunch rosserial_server socket.launch - * The default port is 11411 - * - */ -#include -#include -#include - -const char* ssid = "your-ssid"; -const char* password = "your-password"; -// Set the rosserial socket server IP address -IPAddress server(192,168,1,1); -// Set the rosserial socket server port -const uint16_t serverPort = 11411; - -ros::NodeHandle nh; -// Make a chatter publisher -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -// Be polite and say hello -char hello[13] = "hello world!"; - -void setup() -{ - // Use ESP8266 serial to monitor the process - Serial.begin(115200); - Serial.println(); - Serial.print("Connecting to "); - Serial.println(ssid); - - // Connect the ESP8266 the the wifi AP - WiFi.begin(ssid, password); - while (WiFi.status() != WL_CONNECTED) { - delay(500); - Serial.print("."); - } - Serial.println(""); - Serial.println("WiFi connected"); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - - // Set the connection to rosserial socket server - nh.getHardware()->setConnection(server, serverPort); - nh.initNode(); - - // Another way to get IP - Serial.print("IP = "); - Serial.println(nh.getHardware()->getLocalIP()); - - // Start to be polite - nh.advertise(chatter); -} - -void loop() -{ - - if (nh.connected()) { - Serial.println("Connected"); - // Say hello - str_msg.data = hello; - chatter.publish( &str_msg ); - } else { - Serial.println("Not Connected"); - } - nh.spinOnce(); - // Loop exproximativly at 1Hz - delay(1000); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/HelloWorld/HelloWorld.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/HelloWorld/HelloWorld.pde deleted file mode 100644 index 24744131..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/HelloWorld/HelloWorld.pde +++ /dev/null @@ -1,28 +0,0 @@ -/* - * rosserial Publisher Example - * Prints "hello world!" - */ - -#include -#include - -ros::NodeHandle nh; - -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -char hello[13] = "hello world!"; - -void setup() -{ - nh.initNode(); - nh.advertise(chatter); -} - -void loop() -{ - str_msg.data = hello; - chatter.publish( &str_msg ); - nh.spinOnce(); - delay(1000); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/IrRanger/IrRanger.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/IrRanger/IrRanger.pde deleted file mode 100644 index 240b5a10..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/IrRanger/IrRanger.pde +++ /dev/null @@ -1,64 +0,0 @@ -/* - * rosserial IR Ranger Example - * - * This example is calibrated for the Sharp GP2D120XJ00F. - */ - -#include -#include -#include - -ros::NodeHandle nh; - - -sensor_msgs::Range range_msg; -ros::Publisher pub_range( "range_data", &range_msg); - -const int analog_pin = 0; -unsigned long range_timer; - -/* - * getRange() - samples the analog input from the ranger - * and converts it into meters. - */ -float getRange(int pin_num){ - int sample; - // Get data - sample = analogRead(pin_num)/4; - // if the ADC reading is too low, - // then we are really far away from anything - if(sample < 10) - return 254; // max range - // Magic numbers to get cm - sample= 1309/(sample-3); - return (sample - 1)/100; //convert to meters -} - -char frameid[] = "/ir_ranger"; - -void setup() -{ - nh.initNode(); - nh.advertise(pub_range); - - range_msg.radiation_type = sensor_msgs::Range::INFRARED; - range_msg.header.frame_id = frameid; - range_msg.field_of_view = 0.01; - range_msg.min_range = 0.03; - range_msg.max_range = 0.4; - -} - -void loop() -{ - // publish the range value every 50 milliseconds - // since it takes that long for the sensor to stabilize - if ( (millis()-range_timer) > 50){ - range_msg.range = getRange(analog_pin); - range_msg.header.stamp = nh.now(); - pub_range.publish(&range_msg); - range_timer = millis() + 50; - } - nh.spinOnce(); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Logging/Logging.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/Logging/Logging.pde deleted file mode 100644 index 400a9cdb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Logging/Logging.pde +++ /dev/null @@ -1,45 +0,0 @@ -/* - * rosserial PubSub Example - * Prints "hello world!" and toggles led - */ - -#include -#include -#include - -ros::NodeHandle nh; - - -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -char hello[13] = "hello world!"; - - -char debug[]= "debug statements"; -char info[] = "infos"; -char warn[] = "warnings"; -char error[] = "errors"; -char fatal[] = "fatalities"; - -void setup() -{ - pinMode(13, OUTPUT); - nh.initNode(); - nh.advertise(chatter); -} - -void loop() -{ - str_msg.data = hello; - chatter.publish( &str_msg ); - - nh.logdebug(debug); - nh.loginfo(info); - nh.logwarn(warn); - nh.logerror(error); - nh.logfatal(fatal); - - nh.spinOnce(); - delay(500); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Odom/Odom.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/Odom/Odom.pde deleted file mode 100644 index 58410209..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Odom/Odom.pde +++ /dev/null @@ -1,53 +0,0 @@ -/* - * rosserial Planar Odometry Example - */ - -#include -#include -#include -#include - -ros::NodeHandle nh; - -geometry_msgs::TransformStamped t; -tf::TransformBroadcaster broadcaster; - -double x = 1.0; -double y = 0.0; -double theta = 1.57; - -char base_link[] = "/base_link"; -char odom[] = "/odom"; - -void setup() -{ - nh.initNode(); - broadcaster.init(nh); -} - -void loop() -{ - // drive in a circle - double dx = 0.2; - double dtheta = 0.18; - x += cos(theta)*dx*0.1; - y += sin(theta)*dx*0.1; - theta += dtheta*0.1; - if(theta > 3.14) - theta=-3.14; - - // tf odom->base_link - t.header.frame_id = odom; - t.child_frame_id = base_link; - - t.transform.translation.x = x; - t.transform.translation.y = y; - - t.transform.rotation = tf::createQuaternionFromYaw(theta); - t.header.stamp = nh.now(); - - broadcaster.sendTransform(t); - nh.spinOnce(); - - delay(10); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/ServiceClient.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/ServiceClient.pde deleted file mode 100644 index 75093a98..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/ServiceClient.pde +++ /dev/null @@ -1,38 +0,0 @@ -/* - * rosserial Service Client - */ - -#include -#include -#include - -ros::NodeHandle nh; -using rosserial_arduino::Test; - -ros::ServiceClient client("test_srv"); - -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -char hello[13] = "hello world!"; - -void setup() -{ - nh.initNode(); - nh.serviceClient(client); - nh.advertise(chatter); - while(!nh.connected()) nh.spinOnce(); - nh.loginfo("Startup complete"); -} - -void loop() -{ - Test::Request req; - Test::Response res; - req.input = hello; - client.call(req, res); - str_msg.data = res.output; - chatter.publish( &str_msg ); - nh.spinOnce(); - delay(100); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/client.py b/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/client.py deleted file mode 100644 index 79f9aab6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceClient/client.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env python - -""" -Sample code to use with ServiceClient.pde -""" - -import roslib; roslib.load_manifest("rosserial_arduino") -import rospy - -from rosserial_arduino.srv import * - -def callback(req): - print("The arduino is calling! Please send it a message:") - t = TestResponse() - t.output = raw_input() - return t - -rospy.init_node("service_client_test") -rospy.Service("test_srv", Test, callback) -rospy.spin() diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceServer/ServiceServer.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceServer/ServiceServer.pde deleted file mode 100644 index 2d3fd709..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/ServiceServer/ServiceServer.pde +++ /dev/null @@ -1,40 +0,0 @@ -/* - * rosserial Service Server - */ - -#include -#include -#include - -ros::NodeHandle nh; -using rosserial_arduino::Test; - -int i; -void callback(const Test::Request & req, Test::Response & res){ - if((i++)%2) - res.output = "hello"; - else - res.output = "world"; -} - -ros::ServiceServer server("test_srv",&callback); - -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -char hello[13] = "hello world!"; - -void setup() -{ - nh.initNode(); - nh.advertiseService(server); - nh.advertise(chatter); -} - -void loop() -{ - str_msg.data = hello; - chatter.publish( &str_msg ); - nh.spinOnce(); - delay(10); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/ServoControl/ServoControl.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/ServoControl/ServoControl.pde deleted file mode 100644 index 24db409b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/ServoControl/ServoControl.pde +++ /dev/null @@ -1,49 +0,0 @@ -/* - * rosserial Servo Control Example - * - * This sketch demonstrates the control of hobby R/C servos - * using ROS and the arduiono - * - * For the full tutorial write up, visit - * www.ros.org/wiki/rosserial_arduino_demos - * - * For more information on the Arduino Servo Library - * Checkout : - * http://www.arduino.cc/en/Reference/Servo - */ - -#if (ARDUINO >= 100) - #include -#else - #include -#endif - -#include -#include -#include - -ros::NodeHandle nh; - -Servo servo; - -void servo_cb( const std_msgs::UInt16& cmd_msg){ - servo.write(cmd_msg.data); //set servo angle, should be from 0-180 - digitalWrite(13, HIGH-digitalRead(13)); //toggle led -} - - -ros::Subscriber sub("servo", servo_cb); - -void setup(){ - pinMode(13, OUTPUT); - - nh.initNode(); - nh.subscribe(sub); - - servo.attach(9); //attach it to pin 9 -} - -void loop(){ - nh.spinOnce(); - delay(1); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/TcpBlink/TcpBlink.ino b/firmware/libraries/Rosserial_Arduino_Library/examples/TcpBlink/TcpBlink.ino deleted file mode 100644 index 013ffd2e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/TcpBlink/TcpBlink.ino +++ /dev/null @@ -1,47 +0,0 @@ -/* - * rosserial Subscriber Example using TCP on Arduino Shield (Wiznet W5100 based) - * Blinks an LED on callback - */ -#include -#include - -#define ROSSERIAL_ARDUINO_TCP - -#include -#include - -ros::NodeHandle nh; - -// Shield settings -byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; -IPAddress ip(192, 168, 0, 177); - -// Server settings -IPAddress server(192, 168, 0, 11); -uint16_t serverPort = 11411; - -const uint8_t ledPin = 6; // 13 already used for SPI connection with the shield - -void messageCb( const std_msgs::Empty&){ - digitalWrite(ledPin, HIGH-digitalRead(ledPin)); // blink the led -} - -ros::Subscriber sub("toggle_led", &messageCb ); - -void setup() -{ - Ethernet.begin(mac, ip); - // give the Ethernet shield a second to initialize: - delay(1000); - pinMode(ledPin, OUTPUT); - nh.getHardware()->setConnection(server, serverPort); - nh.initNode(); - nh.subscribe(sub); -} - -void loop() -{ - nh.spinOnce(); - delay(1); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/TcpHelloWorld/TcpHelloWorld.ino b/firmware/libraries/Rosserial_Arduino_Library/examples/TcpHelloWorld/TcpHelloWorld.ino deleted file mode 100644 index 6f5dd352..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/TcpHelloWorld/TcpHelloWorld.ino +++ /dev/null @@ -1,84 +0,0 @@ -/* - * rosserial Publisher Example - * Prints "hello world!" - * This intend to connect to an Arduino Ethernet Shield - * and a rosserial socket server. - * You can launch the rosserial socket server with - * roslaunch rosserial_server socket.launch - * The default port is 11411 - * - */ -#include -#include - -// To use the TCP version of rosserial_arduino -#define ROSSERIAL_ARDUINO_TCP - -#include -#include - -// Set the shield settings -byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; -IPAddress ip(192, 168, 0, 177); - -// Set the rosserial socket server IP address -IPAddress server(192,168,0,11); -// Set the rosserial socket server port -const uint16_t serverPort = 11411; - -ros::NodeHandle nh; -// Make a chatter publisher -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -// Be polite and say hello -char hello[13] = "hello world!"; -uint16_t period = 1000; -uint32_t last_time = 0; - -void setup() -{ - // Use serial to monitor the process - Serial.begin(115200); - - // Connect the Ethernet - Ethernet.begin(mac, ip); - - // Let some time for the Ethernet Shield to be initialized - delay(1000); - - Serial.println(""); - Serial.println("Ethernet connected"); - Serial.println("IP address: "); - Serial.println(Ethernet.localIP()); - - // Set the connection to rosserial socket server - nh.getHardware()->setConnection(server, serverPort); - nh.initNode(); - - // Another way to get IP - Serial.print("IP = "); - Serial.println(nh.getHardware()->getLocalIP()); - - // Start to be polite - nh.advertise(chatter); -} - -void loop() -{ - if(millis() - last_time >= period) - { - last_time = millis(); - if (nh.connected()) - { - Serial.println("Connected"); - // Say hello - str_msg.data = hello; - chatter.publish( &str_msg ); - } else { - Serial.println("Not Connected"); - } - } - nh.spinOnce(); - delay(1); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Temperature/Temperature.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/Temperature/Temperature.pde deleted file mode 100644 index 2c2f865b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Temperature/Temperature.pde +++ /dev/null @@ -1,72 +0,0 @@ -/* - * rosserial Temperature Sensor Example - * - * This tutorial demonstrates the usage of the - * Sparkfun TMP102 Digital Temperature Breakout board - * http://www.sparkfun.com/products/9418 - * - * Source Code Based off of: - * http://wiring.org.co/learning/libraries/tmp102sparkfun.html - */ - -#include -#include -#include - -ros::NodeHandle nh; - - -std_msgs::Float32 temp_msg; -ros::Publisher pub_temp("temperature", &temp_msg); - - -// From the datasheet the BMP module address LSB distinguishes -// between read (1) and write (0) operations, corresponding to -// address 0x91 (read) and 0x90 (write). -// shift the address 1 bit right (0x91 or 0x90), the Wire library only needs the 7 -// most significant bits for the address 0x91 >> 1 = 0x48 -// 0x90 >> 1 = 0x48 (72) - -int sensorAddress = 0x91 >> 1; // From datasheet sensor address is 0x91 - // shift the address 1 bit right, the Wire library only needs the 7 - // most significant bits for the address - - -void setup() -{ - Wire.begin(); // join i2c bus (address optional for master) - - nh.initNode(); - nh.advertise(pub_temp); - -} - -long publisher_timer; - -void loop() -{ - - if (millis() > publisher_timer) { - // step 1: request reading from sensor - Wire.requestFrom(sensorAddress,2); - delay(10); - if (2 <= Wire.available()) // if two bytes were received - { - byte msb; - byte lsb; - int temperature; - - msb = Wire.read(); // receive high byte (full degrees) - lsb = Wire.read(); // receive low byte (fraction degrees) - temperature = ((msb) << 4); // MSB - temperature |= (lsb >> 4); // LSB - - temp_msg.data = temperature*0.0625; - pub_temp.publish(&temp_msg); - } - - publisher_timer = millis() + 1000; - } - - nh.spinOnce(); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/TimeTF/TimeTF.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/TimeTF/TimeTF.pde deleted file mode 100644 index 16fbb703..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/TimeTF/TimeTF.pde +++ /dev/null @@ -1,37 +0,0 @@ -/* - * rosserial Time and TF Example - * Publishes a transform at current time - */ - -#include -#include -#include - -ros::NodeHandle nh; - -geometry_msgs::TransformStamped t; -tf::TransformBroadcaster broadcaster; - -char base_link[] = "/base_link"; -char odom[] = "/odom"; - -void setup() -{ - nh.initNode(); - broadcaster.init(nh); -} - -void loop() -{ - t.header.frame_id = odom; - t.child_frame_id = base_link; - t.transform.translation.x = 1.0; - t.transform.rotation.x = 0.0; - t.transform.rotation.y = 0.0; - t.transform.rotation.z = 0.0; - t.transform.rotation.w = 1.0; - t.header.stamp = nh.now(); - broadcaster.sendTransform(t); - nh.spinOnce(); - delay(10); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/Ultrasound/Ultrasound.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/Ultrasound/Ultrasound.pde deleted file mode 100644 index d5870cbf..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/Ultrasound/Ultrasound.pde +++ /dev/null @@ -1,61 +0,0 @@ -/* - * rosserial Ultrasound Example - * - * This example is for the Maxbotix Ultrasound rangers. - */ - -#include -#include -#include - -ros::NodeHandle nh; - -sensor_msgs::Range range_msg; -ros::Publisher pub_range( "/ultrasound", &range_msg); - -const int adc_pin = 0; - -char frameid[] = "/ultrasound"; - -float getRange_Ultrasound(int pin_num){ - int val = 0; - for(int i=0; i<4; i++) val += analogRead(pin_num); - float range = val; - return range /322.519685; // (0.0124023437 /4) ; //cvt to meters -} - -void setup() -{ - nh.initNode(); - nh.advertise(pub_range); - - - range_msg.radiation_type = sensor_msgs::Range::ULTRASOUND; - range_msg.header.frame_id = frameid; - range_msg.field_of_view = 0.1; // fake - range_msg.min_range = 0.0; - range_msg.max_range = 6.47; - - pinMode(8,OUTPUT); - digitalWrite(8, LOW); -} - - -long range_time; - -void loop() -{ - - //publish the adc value every 50 milliseconds - //since it takes that long for the sensor to stablize - if ( millis() >= range_time ){ - int r =0; - - range_msg.range = getRange_Ultrasound(5); - range_msg.header.stamp = nh.now(); - pub_range.publish(&range_msg); - range_time = millis() + 50; - } - - nh.spinOnce(); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/button_example/button_example.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/button_example/button_example.pde deleted file mode 100644 index 04045427..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/button_example/button_example.pde +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Button Example for Rosserial - */ - -#include -#include - - -ros::NodeHandle nh; - -std_msgs::Bool pushed_msg; -ros::Publisher pub_button("pushed", &pushed_msg); - -const int button_pin = 7; -const int led_pin = 13; - -bool last_reading; -long last_debounce_time=0; -long debounce_delay=50; -bool published = true; - -void setup() -{ - nh.initNode(); - nh.advertise(pub_button); - - //initialize an LED output pin - //and a input pin for our push button - pinMode(led_pin, OUTPUT); - pinMode(button_pin, INPUT); - - //Enable the pullup resistor on the button - digitalWrite(button_pin, HIGH); - - //The button is a normally button - last_reading = ! digitalRead(button_pin); - -} - -void loop() -{ - - bool reading = ! digitalRead(button_pin); - - if (last_reading!= reading){ - last_debounce_time = millis(); - published = false; - } - - //if the button value has not changed for the debounce delay, we know its stable - if ( !published && (millis() - last_debounce_time) > debounce_delay) { - digitalWrite(led_pin, reading); - pushed_msg.data = reading; - pub_button.publish(&pushed_msg); - published = true; - } - - last_reading = reading; - - nh.spinOnce(); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/examples/pubsub/pubsub.pde b/firmware/libraries/Rosserial_Arduino_Library/examples/pubsub/pubsub.pde deleted file mode 100644 index 753d8ed0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/examples/pubsub/pubsub.pde +++ /dev/null @@ -1,40 +0,0 @@ -/* - * rosserial PubSub Example - * Prints "hello world!" and toggles led - */ - -#include -#include -#include - -ros::NodeHandle nh; - - -void messageCb( const std_msgs::Empty& toggle_msg){ - digitalWrite(13, HIGH-digitalRead(13)); // blink the led -} - -ros::Subscriber sub("toggle_led", messageCb ); - - - -std_msgs::String str_msg; -ros::Publisher chatter("chatter", &str_msg); - -char hello[13] = "hello world!"; - -void setup() -{ - pinMode(13, OUTPUT); - nh.initNode(); - nh.advertise(chatter); - nh.subscribe(sub); -} - -void loop() -{ - str_msg.data = hello; - chatter.publish( &str_msg ); - nh.spinOnce(); - delay(500); -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/extras/tests/array_test/array_test.pde b/firmware/libraries/Rosserial_Arduino_Library/extras/tests/array_test/array_test.pde deleted file mode 100644 index 8aa72ded..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/extras/tests/array_test/array_test.pde +++ /dev/null @@ -1,49 +0,0 @@ -/* - * rosserial::geometry_msgs::PoseArray Test - * Sums an array, publishes sum - */ - -#include -#include -#include - - -ros::NodeHandle nh; - - -bool set_; - - -geometry_msgs::Pose sum_msg; -ros::Publisher p("sum", &sum_msg); - -void messageCb(const geometry_msgs::PoseArray& msg){ - sum_msg.position.x = 0; - sum_msg.position.y = 0; - sum_msg.position.z = 0; - for(int i = 0; i < msg.poses_length; i++) - { - sum_msg.position.x += msg.poses[i].position.x; - sum_msg.position.y += msg.poses[i].position.y; - sum_msg.position.z += msg.poses[i].position.z; - } - digitalWrite(13, HIGH-digitalRead(13)); // blink the led -} - -ros::Subscriber s("poses",messageCb); - -void setup() -{ - pinMode(13, OUTPUT); - nh.initNode(); - nh.subscribe(s); - nh.advertise(p); -} - -void loop() -{ - p.publish(&sum_msg); - nh.spinOnce(); - delay(10); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/extras/tests/float64_test/float64_test.pde b/firmware/libraries/Rosserial_Arduino_Library/extras/tests/float64_test/float64_test.pde deleted file mode 100644 index 41a6f4aa..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/extras/tests/float64_test/float64_test.pde +++ /dev/null @@ -1,38 +0,0 @@ -/* - * rosserial::std_msgs::Float64 Test - * Receives a Float64 input, subtracts 1.0, and publishes it - */ - -#include -#include - - -ros::NodeHandle nh; - -float x; - -void messageCb( const std_msgs::Float64& msg){ - x = msg.data - 1.0; - digitalWrite(13, HIGH-digitalRead(13)); // blink the led -} - -std_msgs::Float64 test; -ros::Subscriber s("your_topic", &messageCb); -ros::Publisher p("my_topic", &test); - -void setup() -{ - pinMode(13, OUTPUT); - nh.initNode(); - nh.advertise(p); - nh.subscribe(s); -} - -void loop() -{ - test.data = x; - p.publish( &test ); - nh.spinOnce(); - delay(10); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/extras/tests/time_test/time_test.pde b/firmware/libraries/Rosserial_Arduino_Library/extras/tests/time_test/time_test.pde deleted file mode 100644 index c5fa739f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/extras/tests/time_test/time_test.pde +++ /dev/null @@ -1,30 +0,0 @@ -/* - * rosserial::std_msgs::Time Test - * Publishes current time - */ - -#include -#include -#include - - -ros::NodeHandle nh; - -std_msgs::Time test; -ros::Publisher p("my_topic", &test); - -void setup() -{ - pinMode(13, OUTPUT); - nh.initNode(); - nh.advertise(p); -} - -void loop() -{ - test.data = nh.now(); - p.publish( &test ); - nh.spinOnce(); - delay(10); -} - diff --git a/firmware/libraries/Rosserial_Arduino_Library/keywords.txt b/firmware/libraries/Rosserial_Arduino_Library/keywords.txt deleted file mode 100644 index 82c5ba64..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/keywords.txt +++ /dev/null @@ -1,23 +0,0 @@ -####################################### -# Syntax Coloring Map For Rosserial -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -Test KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -doSomething KEYWORD2 - -####################################### -# Instances (KEYWORD2) -####################################### - -####################################### -# Constants (LITERAL1) -####################################### diff --git a/firmware/libraries/Rosserial_Arduino_Library/library.properties b/firmware/libraries/Rosserial_Arduino_Library/library.properties deleted file mode 100644 index 71c0c169..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/library.properties +++ /dev/null @@ -1,10 +0,0 @@ -name=Rosserial Arduino Library -version=0.9.1 -author=Michael Ferguson -maintainer=Joshua Frank -sentence=Use an Arduino as a ROS publisher/subscriber -paragraph=Works with http://wiki.ros.org/rosserial, requires a rosserial node to connect -category=Communication -url=https://github.com/frankjoshua/rosserial_arduino_lib -architectures=* -includes=ros.h diff --git a/firmware/libraries/Rosserial_Arduino_Library/readme.md b/firmware/libraries/Rosserial_Arduino_Library/readme.md deleted file mode 100644 index 7e7ac8bb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# ROS Serial Arduino library - -## Purpose - -Installing ROS Serial library into and Arduino IDE can be an involved task. See instructions http://wiki.ros.org/rosserial. If you don't already have ROS installed on your workstation it's difficult to build due to the Catkin workspace requirement. This repo packages the library for the Arduino IDE and PlatformIO in an expected format. - -## ROS Serial Description - -rosserial is a protocol for wrapping standard ROS serialized messages and multiplexing multiple topics and services over a character device such as a serial port or network socket. - -Use an Arduino as a ROS publisher/subscriber - -Works with http://wiki.ros.org/rosserial, requires a rosserial node to connect - -## Updating - -There is a script to pull in the current changes from https://github.com/ros-drivers/rosserial. It creates a Docker container with ROS and Catkin setup. It then downloads the current version of ROS Serial from Github and builds the libraries. Finally it overwrites the current src files with the new build. Currently there is no automatic testing. So it must be manually tested (to involved to discuss here). - -``` -./update.sh -``` - -## Reporting issues - -If this repo is out of date feel free to report an issue. However pull requests should be directed to https://github.com/ros-drivers/rosserial. Any changes to this repo would be overwritten by incoming changes from upstream. - -## License - -Apache 2.0 - -## Author Information - -Joshua Frank [@frankjoshua77](https://www.twitter.com/@frankjoshua77) -
-[http://roboticsascode.com](http://roboticsascode.com) diff --git a/firmware/libraries/Rosserial_Arduino_Library/scripts/esp8266_pstr_fix.py b/firmware/libraries/Rosserial_Arduino_Library/scripts/esp8266_pstr_fix.py deleted file mode 100644 index 54bb5745..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/scripts/esp8266_pstr_fix.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/python3 - -import sys -import re -from pathlib import Path -import fileinput - -""" This script is intended to fix the issue with flash strings on ESP866 described """ -""" in issue #8 (https://github.com/frankjoshua/rosserial_arduino_lib/issues/8) """ -""" It can also be used on the raw output of the rosserial_arduino library creation """ -""" routines to add flash strings as appropriate. """ -""" Written by Pierce Nichols (rocketgeek@gmail.com) 9/28/29 """ - -gettype_pattern = re.compile(r'^\s*const char \* getType\(\)\{\s*return\s*(PSTR|)\s*\(\s*"([\w/_]*)"\s*\);\s*\};\s*$') -getmd5_pattern = re.compile(r'^\s*const char \* getMD5\(\)\{\s*return\s*(PSTR|)\s*\(\s*"([0-9a-f]*)"\s*\);\s*\};\s*$') -getprogmem_pattern = re.compile(r'^\s*static const char ([A-Z]*)\[\] PROGMEM = "([\w/_]*)"\s*;\s*$') -code_start = ' const char * ' -code_end = '");};' -code_gettype = 'getType() { return ' -code_md5 = 'getMD5() { return ' -code_norm = ' ("' -code_pstr = ' PSTR("' -pm_start = ' static const char ' -pm_progmem = '[] PROGMEM = "' -pm_norm = '[] = "' -pm_end = '";' - -def process_header (path_to_header): - for line in fileinput.input(path_to_header, inplace=True): - line = line.rstrip('\r\n') - gt_match = gettype_pattern.search(line) - md_match = getmd5_pattern.search(line) - pm_match = getprogmem_pattern.search(line) - if (gt_match): - print(" #ifdef ESP8266") - print(code_start + code_gettype + code_norm + gt_match.group(2) + code_end) - print(" #else") - print(code_start + code_gettype + code_pstr + gt_match.group(2) + code_end) - print(" #endif") - elif (md_match): - print(" #ifdef ESP8266") - print(code_start + code_md5 + code_norm + md_match.group(2) + code_end) - print(" #else") - print(code_start + code_md5 + code_pstr + md_match.group(2) + code_end) - print(" #endif") - elif (pm_match): - print("#ifdef ESP8266") - print(pm_start + pm_match.group(1) + pm_norm + pm_match.group(2) + pm_end) - print("#else") - print(pm_start + pm_match.group(1) + pm_progmem + pm_match.group(2) + pm_end) - print("#endif") - else: - print(line) - -rootpath = sys.argv[1] # First argument is the root of the directory tree to fix -p = Path(rootpath) # Turn it into a path -header_list = list(p.glob('**/*.h')) # Grab a list of all the header files in this directory tree -for header in header_list: - process_header(header) diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoHardware.h b/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoHardware.h deleted file mode 100644 index 08fbbd5e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoHardware.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_ARDUINO_HARDWARE_H_ -#define ROS_ARDUINO_HARDWARE_H_ - -#if ARDUINO>=100 - #include // Arduino 1.0 -#else - #include // Arduino 0022 -#endif - -#if defined(__MK20DX128__) || defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__MKL26Z64__) || defined(__IMXRT1062__) - #if defined(USE_TEENSY_HW_SERIAL) - #define SERIAL_CLASS HardwareSerial // Teensy HW Serial - #else - #include // Teensy 3.0 and 3.1 - #define SERIAL_CLASS usb_serial_class - #endif -#elif defined(_SAM3XA_) - #include // Arduino Due - #define SERIAL_CLASS UARTClass -#elif defined(USE_USBCON) - // Arduino Leonardo USB Serial Port - #define SERIAL_CLASS Serial_ -#elif (defined(__STM32F1__) and !(defined(USE_STM32_HW_SERIAL))) or defined(SPARK) - // Stm32duino Maple mini USB Serial Port - #define SERIAL_CLASS USBSerial -#else - #include // Arduino AVR - #define SERIAL_CLASS HardwareSerial -#endif - -class ArduinoHardware { - public: - ArduinoHardware(SERIAL_CLASS* io , long baud= 57600){ - iostream = io; - baud_ = baud; - } - ArduinoHardware() - { -#if defined(USBCON) and !(defined(USE_USBCON)) - /* Leonardo support */ - iostream = &Serial1; -#elif defined(USE_TEENSY_HW_SERIAL) or defined(USE_STM32_HW_SERIAL) - iostream = &Serial1; -#else - iostream = &Serial; -#endif - baud_ = 57600; - } - ArduinoHardware(ArduinoHardware& h){ - this->iostream = h.iostream; - this->baud_ = h.baud_; - } - - void setPort(SERIAL_CLASS* io){ - this->iostream = io; - } - - void setBaud(long baud){ - this->baud_= baud; - } - - int getBaud(){return baud_;} - - void init(){ -#if defined(USE_USBCON) - // Startup delay as a fail-safe to upload a new sketch - delay(3000); -#endif - iostream->begin(baud_); - } - - int read(){return iostream->read();}; - void write(uint8_t* data, int length){ - iostream->write(data, length); - } - - unsigned long time(){return millis();} - - protected: - SERIAL_CLASS* iostream; - long baud_; -}; - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoIncludes.h b/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoIncludes.h deleted file mode 100644 index 38e4e08f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoIncludes.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_ARDUINO_INCLUDES_H_ -#define ROS_ARDUINO_INCLUDES_H_ - -#if ARDUINO>=100 - #include // Arduino 1.0 -#else - #include // Arduino 0022 -#endif - -#if defined(__MK20DX128__) || defined(__MK20DX256__) || defined(__MKL26Z64__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1062__) - #include // Teensy 3.0 and 3.1 - #define SERIAL_CLASS usb_serial_class -#elif defined(_SAM3XA_) - #include // Arduino Due - #define SERIAL_CLASS UARTClass -#elif defined(USE_USBCON) - // Arduino Leonardo USB Serial Port - #define SERIAL_CLASS Serial_ -#else - #include // Arduino AVR - #define SERIAL_CLASS HardwareSerial -#endif - -#endif //ROS_ARDUINO_INCLUDES_H_ diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoTcpHardware.h b/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoTcpHardware.h deleted file mode 100644 index 43c508ca..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ArduinoTcpHardware.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_ARDUINO_TCP_HARDWARE_H_ -#define ROS_ARDUINO_TCP_HARDWARE_H_ - -#include -#if defined(ESP8266) - #include -#elif defined(ESP32) - #include // Using Espressif's WiFi.h -#else - #include - #include -#endif - -class ArduinoHardware { -public: - ArduinoHardware() - { - } - - void setConnection(IPAddress &server, int port = 11411) - { - server_ = server; - serverPort_ = port; - } - - IPAddress getLocalIP() - { -#if defined(ESP8266) or defined(ESP32) - return tcp_.localIP(); -#else - return Ethernet.localIP(); -#endif - } - - void init() - { - if(tcp_.connected()) - { - tcp_.stop(); - } - tcp_.connect(server_, serverPort_); - } - - int read(){ - if (tcp_.connected()) - { - return tcp_.read(); - } - else - { - tcp_.stop(); - tcp_.connect(server_, serverPort_); - } - return -1; - } - - void write(const uint8_t* data, int length) - { - tcp_.write(data, length); - } - - unsigned long time() - { - return millis(); - } - - bool connected() - { - return tcp_.connected(); - } - -protected: -#if defined(ESP8266) or defined(ESP32) - WiFiClient tcp_; -#else - EthernetClient tcp_; -#endif - IPAddress server_; - uint16_t serverPort_ = 11411; -}; - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/Esp32Hardware.h b/firmware/libraries/Rosserial_Arduino_Library/src/Esp32Hardware.h deleted file mode 100644 index f491c4e1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/Esp32Hardware.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ESP32HARDWARE_H -#define ESP32HARDWARE_H - -#include - -class Esp32Hardware { - public: - Esp32Hardware() - { - } - - void setConnection(IPAddress &server, int port) { - this->server = server; - this->serverPort = port; - } - - IPAddress getLocalIP() { - return tcp.localIP(); - } - - void init() { - this->tcp.connect(this->server, this->serverPort); - } - - int read() { - if (this->tcp.connected()) { - return tcp.read(); - } else { - this->tcp.connect(this->server, this->serverPort); - } - return -1; - }; - - void write(const uint8_t* data, size_t length) { - tcp.write(data, length); - } - - unsigned long time() {return millis();} - - protected: - WiFiClient tcp; - IPAddress server; - uint16_t serverPort = 11411; -}; - -#endif // ESP8266HARDWARE_H diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/Esp8266Hardware.h b/firmware/libraries/Rosserial_Arduino_Library/src/Esp8266Hardware.h deleted file mode 100644 index f9885b09..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/Esp8266Hardware.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ESP8266HARDWARE_H -#define ESP8266HARDWARE_H - -#include - -class Esp8266Hardware { - public: - Esp8266Hardware() - { - } - - void setConnection(IPAddress &server, int port) { - this->server = server; - this->serverPort = port; - } - - IPAddress getLocalIP() { - return tcp.localIP(); - } - - void init() { - this->tcp.connect(this->server, this->serverPort); - } - - int read() { - if (this->tcp.connected()) { - return tcp.read(); - } else { - this->tcp.connect(this->server, this->serverPort); - } - return -1; - }; - - void write(const uint8_t* data, size_t length) { - tcp.write(data, length); - } - - unsigned long time() {return millis();} - - protected: - WiFiClient tcp; - IPAddress server; - uint16_t serverPort = 11411; -}; - -#endif // ESP8266HARDWARE_H diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/MKR1000Hardware.h b/firmware/libraries/Rosserial_Arduino_Library/src/MKR1000Hardware.h deleted file mode 100644 index da054672..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/MKR1000Hardware.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef MKR1000HARDWARE_H -#define MKR1000HARDWARE_H - -#include - -class MKR1000Hardware { - public: - MKR1000Hardware() - { - } - - void setConnection(IPAddress &server, int port = 11411) { - this->server = server; - this->serverPort = port; - } - - IPAddress getLocalIP() { - return WiFi.localIP(); - } - - void init() { - this->tcp.connect(this->server, this->serverPort); - } - - int read() { - if (this->tcp.connected()) { - return tcp.read(); - } else { - this->tcp.connect(this->server, this->serverPort); - } - return -1; - }; - - void write(const uint8_t* data, size_t length) { - tcp.write(data, length); - } - - unsigned long time() {return millis();} - - protected: - WiFiClient tcp; - IPAddress server; - uint16_t serverPort = 11411; -}; - -#endif // MKR1000HARDWARE_H diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestAction.h deleted file mode 100644 index b3d40c9d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestAction_h -#define _ROS_actionlib_TestAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "actionlib/TestActionGoal.h" -#include "actionlib/TestActionResult.h" -#include "actionlib/TestActionFeedback.h" - -namespace actionlib -{ - - class TestAction : public ros::Msg - { - public: - typedef actionlib::TestActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef actionlib::TestActionResult _action_result_type; - _action_result_type action_result; - typedef actionlib::TestActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - TestAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestAction"; }; - virtual const char * getMD5() override { return "991e87a72802262dfbe5d1b3cf6efc9a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionFeedback.h deleted file mode 100644 index d828823c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestActionFeedback_h -#define _ROS_actionlib_TestActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib/TestFeedback.h" - -namespace actionlib -{ - - class TestActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib::TestFeedback _feedback_type; - _feedback_type feedback; - - TestActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestActionFeedback"; }; - virtual const char * getMD5() override { return "6d3d0bf7fb3dda24779c010a9f3eb7cb"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionGoal.h deleted file mode 100644 index 3265948b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestActionGoal_h -#define _ROS_actionlib_TestActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "actionlib/TestGoal.h" - -namespace actionlib -{ - - class TestActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef actionlib::TestGoal _goal_type; - _goal_type goal; - - TestActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestActionGoal"; }; - virtual const char * getMD5() override { return "348369c5b403676156094e8c159720bf"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionResult.h deleted file mode 100644 index 34948336..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestActionResult_h -#define _ROS_actionlib_TestActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib/TestResult.h" - -namespace actionlib -{ - - class TestActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib::TestResult _result_type; - _result_type result; - - TestActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestActionResult"; }; - virtual const char * getMD5() override { return "3d669e3a63aa986c667ea7b0f46ce85e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestFeedback.h deleted file mode 100644 index 536fe7e8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestFeedback.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_actionlib_TestFeedback_h -#define _ROS_actionlib_TestFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TestFeedback : public ros::Msg - { - public: - typedef int32_t _feedback_type; - _feedback_type feedback; - - TestFeedback(): - feedback(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_feedback; - u_feedback.real = this->feedback; - *(outbuffer + offset + 0) = (u_feedback.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_feedback.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_feedback.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_feedback.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->feedback); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_feedback; - u_feedback.base = 0; - u_feedback.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_feedback.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_feedback.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_feedback.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->feedback = u_feedback.real; - offset += sizeof(this->feedback); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestFeedback"; }; - virtual const char * getMD5() override { return "49ceb5b32ea3af22073ede4a0328249e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestGoal.h deleted file mode 100644 index 959ffc18..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestGoal.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_actionlib_TestGoal_h -#define _ROS_actionlib_TestGoal_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TestGoal : public ros::Msg - { - public: - typedef int32_t _goal_type; - _goal_type goal; - - TestGoal(): - goal(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_goal; - u_goal.real = this->goal; - *(outbuffer + offset + 0) = (u_goal.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_goal.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_goal.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_goal.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->goal); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_goal; - u_goal.base = 0; - u_goal.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_goal.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_goal.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_goal.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->goal = u_goal.real; - offset += sizeof(this->goal); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestGoal"; }; - virtual const char * getMD5() override { return "18df0149936b7aa95588e3862476ebde"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestAction.h deleted file mode 100644 index 8ae0fec9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestRequestAction_h -#define _ROS_actionlib_TestRequestAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "actionlib/TestRequestActionGoal.h" -#include "actionlib/TestRequestActionResult.h" -#include "actionlib/TestRequestActionFeedback.h" - -namespace actionlib -{ - - class TestRequestAction : public ros::Msg - { - public: - typedef actionlib::TestRequestActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef actionlib::TestRequestActionResult _action_result_type; - _action_result_type action_result; - typedef actionlib::TestRequestActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - TestRequestAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestRequestAction"; }; - virtual const char * getMD5() override { return "dc44b1f4045dbf0d1db54423b3b86b30"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionFeedback.h deleted file mode 100644 index 20b43a9e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestRequestActionFeedback_h -#define _ROS_actionlib_TestRequestActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib/TestRequestFeedback.h" - -namespace actionlib -{ - - class TestRequestActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib::TestRequestFeedback _feedback_type; - _feedback_type feedback; - - TestRequestActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestRequestActionFeedback"; }; - virtual const char * getMD5() override { return "aae20e09065c3809e8a8e87c4c8953fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionGoal.h deleted file mode 100644 index 8f3ca253..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestRequestActionGoal_h -#define _ROS_actionlib_TestRequestActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "actionlib/TestRequestGoal.h" - -namespace actionlib -{ - - class TestRequestActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef actionlib::TestRequestGoal _goal_type; - _goal_type goal; - - TestRequestActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestRequestActionGoal"; }; - virtual const char * getMD5() override { return "1889556d3fef88f821c7cb004e4251f3"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionResult.h deleted file mode 100644 index 8f487f1f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TestRequestActionResult_h -#define _ROS_actionlib_TestRequestActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib/TestRequestResult.h" - -namespace actionlib -{ - - class TestRequestActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib::TestRequestResult _result_type; - _result_type result; - - TestRequestActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestRequestActionResult"; }; - virtual const char * getMD5() override { return "0476d1fdf437a3a6e7d6d0e9f5561298"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestFeedback.h deleted file mode 100644 index 5e85b637..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestFeedback.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_actionlib_TestRequestFeedback_h -#define _ROS_actionlib_TestRequestFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TestRequestFeedback : public ros::Msg - { - public: - - TestRequestFeedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "actionlib/TestRequestFeedback"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestGoal.h deleted file mode 100644 index 41a1a5d5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestGoal.h +++ /dev/null @@ -1,215 +0,0 @@ -#ifndef _ROS_actionlib_TestRequestGoal_h -#define _ROS_actionlib_TestRequestGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/duration.h" - -namespace actionlib -{ - - class TestRequestGoal : public ros::Msg - { - public: - typedef int32_t _terminate_status_type; - _terminate_status_type terminate_status; - typedef bool _ignore_cancel_type; - _ignore_cancel_type ignore_cancel; - typedef const char* _result_text_type; - _result_text_type result_text; - typedef int32_t _the_result_type; - _the_result_type the_result; - typedef bool _is_simple_client_type; - _is_simple_client_type is_simple_client; - typedef ros::Duration _delay_accept_type; - _delay_accept_type delay_accept; - typedef ros::Duration _delay_terminate_type; - _delay_terminate_type delay_terminate; - typedef ros::Duration _pause_status_type; - _pause_status_type pause_status; - enum { TERMINATE_SUCCESS = 0 }; - enum { TERMINATE_ABORTED = 1 }; - enum { TERMINATE_REJECTED = 2 }; - enum { TERMINATE_LOSE = 3 }; - enum { TERMINATE_DROP = 4 }; - enum { TERMINATE_EXCEPTION = 5 }; - - TestRequestGoal(): - terminate_status(0), - ignore_cancel(0), - result_text(""), - the_result(0), - is_simple_client(0), - delay_accept(), - delay_terminate(), - pause_status() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_terminate_status; - u_terminate_status.real = this->terminate_status; - *(outbuffer + offset + 0) = (u_terminate_status.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_terminate_status.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_terminate_status.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_terminate_status.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->terminate_status); - union { - bool real; - uint8_t base; - } u_ignore_cancel; - u_ignore_cancel.real = this->ignore_cancel; - *(outbuffer + offset + 0) = (u_ignore_cancel.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->ignore_cancel); - uint32_t length_result_text = strlen(this->result_text); - varToArr(outbuffer + offset, length_result_text); - offset += 4; - memcpy(outbuffer + offset, this->result_text, length_result_text); - offset += length_result_text; - union { - int32_t real; - uint32_t base; - } u_the_result; - u_the_result.real = this->the_result; - *(outbuffer + offset + 0) = (u_the_result.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_the_result.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_the_result.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_the_result.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->the_result); - union { - bool real; - uint8_t base; - } u_is_simple_client; - u_is_simple_client.real = this->is_simple_client; - *(outbuffer + offset + 0) = (u_is_simple_client.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_simple_client); - *(outbuffer + offset + 0) = (this->delay_accept.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->delay_accept.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->delay_accept.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->delay_accept.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->delay_accept.sec); - *(outbuffer + offset + 0) = (this->delay_accept.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->delay_accept.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->delay_accept.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->delay_accept.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->delay_accept.nsec); - *(outbuffer + offset + 0) = (this->delay_terminate.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->delay_terminate.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->delay_terminate.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->delay_terminate.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->delay_terminate.sec); - *(outbuffer + offset + 0) = (this->delay_terminate.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->delay_terminate.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->delay_terminate.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->delay_terminate.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->delay_terminate.nsec); - *(outbuffer + offset + 0) = (this->pause_status.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->pause_status.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->pause_status.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->pause_status.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->pause_status.sec); - *(outbuffer + offset + 0) = (this->pause_status.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->pause_status.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->pause_status.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->pause_status.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->pause_status.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_terminate_status; - u_terminate_status.base = 0; - u_terminate_status.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_terminate_status.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_terminate_status.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_terminate_status.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->terminate_status = u_terminate_status.real; - offset += sizeof(this->terminate_status); - union { - bool real; - uint8_t base; - } u_ignore_cancel; - u_ignore_cancel.base = 0; - u_ignore_cancel.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->ignore_cancel = u_ignore_cancel.real; - offset += sizeof(this->ignore_cancel); - uint32_t length_result_text; - arrToVar(length_result_text, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_result_text; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_result_text-1]=0; - this->result_text = (char *)(inbuffer + offset-1); - offset += length_result_text; - union { - int32_t real; - uint32_t base; - } u_the_result; - u_the_result.base = 0; - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->the_result = u_the_result.real; - offset += sizeof(this->the_result); - union { - bool real; - uint8_t base; - } u_is_simple_client; - u_is_simple_client.base = 0; - u_is_simple_client.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->is_simple_client = u_is_simple_client.real; - offset += sizeof(this->is_simple_client); - this->delay_accept.sec = ((uint32_t) (*(inbuffer + offset))); - this->delay_accept.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->delay_accept.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->delay_accept.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->delay_accept.sec); - this->delay_accept.nsec = ((uint32_t) (*(inbuffer + offset))); - this->delay_accept.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->delay_accept.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->delay_accept.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->delay_accept.nsec); - this->delay_terminate.sec = ((uint32_t) (*(inbuffer + offset))); - this->delay_terminate.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->delay_terminate.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->delay_terminate.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->delay_terminate.sec); - this->delay_terminate.nsec = ((uint32_t) (*(inbuffer + offset))); - this->delay_terminate.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->delay_terminate.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->delay_terminate.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->delay_terminate.nsec); - this->pause_status.sec = ((uint32_t) (*(inbuffer + offset))); - this->pause_status.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->pause_status.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->pause_status.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->pause_status.sec); - this->pause_status.nsec = ((uint32_t) (*(inbuffer + offset))); - this->pause_status.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->pause_status.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->pause_status.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->pause_status.nsec); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestRequestGoal"; }; - virtual const char * getMD5() override { return "db5d00ba98302d6c6dd3737e9a03ceea"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestResult.h deleted file mode 100644 index f13811f0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestRequestResult.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _ROS_actionlib_TestRequestResult_h -#define _ROS_actionlib_TestRequestResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TestRequestResult : public ros::Msg - { - public: - typedef int32_t _the_result_type; - _the_result_type the_result; - typedef bool _is_simple_server_type; - _is_simple_server_type is_simple_server; - - TestRequestResult(): - the_result(0), - is_simple_server(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_the_result; - u_the_result.real = this->the_result; - *(outbuffer + offset + 0) = (u_the_result.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_the_result.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_the_result.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_the_result.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->the_result); - union { - bool real; - uint8_t base; - } u_is_simple_server; - u_is_simple_server.real = this->is_simple_server; - *(outbuffer + offset + 0) = (u_is_simple_server.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_simple_server); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_the_result; - u_the_result.base = 0; - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_the_result.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->the_result = u_the_result.real; - offset += sizeof(this->the_result); - union { - bool real; - uint8_t base; - } u_is_simple_server; - u_is_simple_server.base = 0; - u_is_simple_server.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->is_simple_server = u_is_simple_server.real; - offset += sizeof(this->is_simple_server); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestRequestResult"; }; - virtual const char * getMD5() override { return "61c2364524499c7c5017e2f3fce7ba06"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestResult.h deleted file mode 100644 index 4d3dc17d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TestResult.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_actionlib_TestResult_h -#define _ROS_actionlib_TestResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TestResult : public ros::Msg - { - public: - typedef int32_t _result_type; - _result_type result; - - TestResult(): - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_result; - u_result.real = this->result; - *(outbuffer + offset + 0) = (u_result.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_result.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_result.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_result.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_result; - u_result.base = 0; - u_result.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_result.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_result.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_result.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->result = u_result.real; - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return "actionlib/TestResult"; }; - virtual const char * getMD5() override { return "034a8e20d6a306665e3a5b340fab3f09"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsAction.h deleted file mode 100644 index 7e1dfb3e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TwoIntsAction_h -#define _ROS_actionlib_TwoIntsAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "actionlib/TwoIntsActionGoal.h" -#include "actionlib/TwoIntsActionResult.h" -#include "actionlib/TwoIntsActionFeedback.h" - -namespace actionlib -{ - - class TwoIntsAction : public ros::Msg - { - public: - typedef actionlib::TwoIntsActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef actionlib::TwoIntsActionResult _action_result_type; - _action_result_type action_result; - typedef actionlib::TwoIntsActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - TwoIntsAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TwoIntsAction"; }; - virtual const char * getMD5() override { return "6d1aa538c4bd6183a2dfb7fcac41ee50"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionFeedback.h deleted file mode 100644 index 76ecc4fb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TwoIntsActionFeedback_h -#define _ROS_actionlib_TwoIntsActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib/TwoIntsFeedback.h" - -namespace actionlib -{ - - class TwoIntsActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib::TwoIntsFeedback _feedback_type; - _feedback_type feedback; - - TwoIntsActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TwoIntsActionFeedback"; }; - virtual const char * getMD5() override { return "aae20e09065c3809e8a8e87c4c8953fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionGoal.h deleted file mode 100644 index f791b5a0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TwoIntsActionGoal_h -#define _ROS_actionlib_TwoIntsActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "actionlib/TwoIntsGoal.h" - -namespace actionlib -{ - - class TwoIntsActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef actionlib::TwoIntsGoal _goal_type; - _goal_type goal; - - TwoIntsActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TwoIntsActionGoal"; }; - virtual const char * getMD5() override { return "684a2db55d6ffb8046fb9d6764ce0860"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionResult.h deleted file mode 100644 index 74f0ac77..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_TwoIntsActionResult_h -#define _ROS_actionlib_TwoIntsActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib/TwoIntsResult.h" - -namespace actionlib -{ - - class TwoIntsActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib::TwoIntsResult _result_type; - _result_type result; - - TwoIntsActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib/TwoIntsActionResult"; }; - virtual const char * getMD5() override { return "3ba7dea8b8cddcae4528ade4ef74b6e7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsFeedback.h deleted file mode 100644 index 53e624c8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsFeedback.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_actionlib_TwoIntsFeedback_h -#define _ROS_actionlib_TwoIntsFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TwoIntsFeedback : public ros::Msg - { - public: - - TwoIntsFeedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "actionlib/TwoIntsFeedback"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsGoal.h deleted file mode 100644 index 9ca2d8b8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsGoal.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _ROS_actionlib_TwoIntsGoal_h -#define _ROS_actionlib_TwoIntsGoal_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TwoIntsGoal : public ros::Msg - { - public: - typedef int64_t _a_type; - _a_type a; - typedef int64_t _b_type; - _b_type b; - - TwoIntsGoal(): - a(0), - b(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.real = this->a; - *(outbuffer + offset + 0) = (u_a.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_a.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_a.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_a.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_a.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_a.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_a.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_a.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->a); - union { - int64_t real; - uint64_t base; - } u_b; - u_b.real = this->b; - *(outbuffer + offset + 0) = (u_b.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_b.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_b.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_b.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_b.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_b.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_b.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_b.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->b); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.base = 0; - u_a.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->a = u_a.real; - offset += sizeof(this->a); - union { - int64_t real; - uint64_t base; - } u_b; - u_b.base = 0; - u_b.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->b = u_b.real; - offset += sizeof(this->b); - return offset; - } - - virtual const char * getType() override { return "actionlib/TwoIntsGoal"; }; - virtual const char * getMD5() override { return "36d09b846be0b371c5f190354dd3153e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsResult.h deleted file mode 100644 index 1447bcc7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib/TwoIntsResult.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_actionlib_TwoIntsResult_h -#define _ROS_actionlib_TwoIntsResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib -{ - - class TwoIntsResult : public ros::Msg - { - public: - typedef int64_t _sum_type; - _sum_type sum; - - TwoIntsResult(): - sum(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_sum; - u_sum.real = this->sum; - *(outbuffer + offset + 0) = (u_sum.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sum.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sum.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sum.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_sum.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_sum.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_sum.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_sum.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->sum); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_sum; - u_sum.base = 0; - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->sum = u_sum.real; - offset += sizeof(this->sum); - return offset; - } - - virtual const char * getType() override { return "actionlib/TwoIntsResult"; }; - virtual const char * getMD5() override { return "b88405221c77b1878a3cbbfff53428d7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalID.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalID.h deleted file mode 100644 index cdf8c55d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalID.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _ROS_actionlib_msgs_GoalID_h -#define _ROS_actionlib_msgs_GoalID_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" - -namespace actionlib_msgs -{ - - class GoalID : public ros::Msg - { - public: - typedef ros::Time _stamp_type; - _stamp_type stamp; - typedef const char* _id_type; - _id_type id; - - GoalID(): - stamp(), - id("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->stamp.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp.sec); - *(outbuffer + offset + 0) = (this->stamp.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp.nsec); - uint32_t length_id = strlen(this->id); - varToArr(outbuffer + offset, length_id); - offset += 4; - memcpy(outbuffer + offset, this->id, length_id); - offset += length_id; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->stamp.sec = ((uint32_t) (*(inbuffer + offset))); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp.sec); - this->stamp.nsec = ((uint32_t) (*(inbuffer + offset))); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp.nsec); - uint32_t length_id; - arrToVar(length_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_id-1]=0; - this->id = (char *)(inbuffer + offset-1); - offset += length_id; - return offset; - } - - virtual const char * getType() override { return "actionlib_msgs/GoalID"; }; - virtual const char * getMD5() override { return "302881f31927c1df708a2dbab0e80ee8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatus.h deleted file mode 100644 index 49abea35..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatus.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef _ROS_actionlib_msgs_GoalStatus_h -#define _ROS_actionlib_msgs_GoalStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "actionlib_msgs/GoalID.h" - -namespace actionlib_msgs -{ - - class GoalStatus : public ros::Msg - { - public: - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef uint8_t _status_type; - _status_type status; - typedef const char* _text_type; - _text_type text; - enum { PENDING = 0 }; - enum { ACTIVE = 1 }; - enum { PREEMPTED = 2 }; - enum { SUCCEEDED = 3 }; - enum { ABORTED = 4 }; - enum { REJECTED = 5 }; - enum { PREEMPTING = 6 }; - enum { RECALLING = 7 }; - enum { RECALLED = 8 }; - enum { LOST = 9 }; - - GoalStatus(): - goal_id(), - status(0), - text("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->goal_id.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->status >> (8 * 0)) & 0xFF; - offset += sizeof(this->status); - uint32_t length_text = strlen(this->text); - varToArr(outbuffer + offset, length_text); - offset += 4; - memcpy(outbuffer + offset, this->text, length_text); - offset += length_text; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->goal_id.deserialize(inbuffer + offset); - this->status = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->status); - uint32_t length_text; - arrToVar(length_text, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_text; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_text-1]=0; - this->text = (char *)(inbuffer + offset-1); - offset += length_text; - return offset; - } - - virtual const char * getType() override { return "actionlib_msgs/GoalStatus"; }; - virtual const char * getMD5() override { return "d388f9b87b3c471f784434d671988d4a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatusArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatusArray.h deleted file mode 100644 index 2a96e1cd..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_msgs/GoalStatusArray.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_actionlib_msgs_GoalStatusArray_h -#define _ROS_actionlib_msgs_GoalStatusArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" - -namespace actionlib_msgs -{ - - class GoalStatusArray : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t status_list_length; - typedef actionlib_msgs::GoalStatus _status_list_type; - _status_list_type st_status_list; - _status_list_type * status_list; - - GoalStatusArray(): - header(), - status_list_length(0), st_status_list(), status_list(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->status_list_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->status_list_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->status_list_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->status_list_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->status_list_length); - for( uint32_t i = 0; i < status_list_length; i++){ - offset += this->status_list[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t status_list_lengthT = ((uint32_t) (*(inbuffer + offset))); - status_list_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - status_list_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - status_list_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->status_list_length); - if(status_list_lengthT > status_list_length) - this->status_list = (actionlib_msgs::GoalStatus*)realloc(this->status_list, status_list_lengthT * sizeof(actionlib_msgs::GoalStatus)); - status_list_length = status_list_lengthT; - for( uint32_t i = 0; i < status_list_length; i++){ - offset += this->st_status_list.deserialize(inbuffer + offset); - memcpy( &(this->status_list[i]), &(this->st_status_list), sizeof(actionlib_msgs::GoalStatus)); - } - return offset; - } - - virtual const char * getType() override { return "actionlib_msgs/GoalStatusArray"; }; - virtual const char * getMD5() override { return "8b2b82f13216d0a8ea88bd3af735e619"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingAction.h deleted file mode 100644 index 4d3205fe..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_AveragingAction_h -#define _ROS_actionlib_tutorials_AveragingAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "actionlib_tutorials/AveragingActionGoal.h" -#include "actionlib_tutorials/AveragingActionResult.h" -#include "actionlib_tutorials/AveragingActionFeedback.h" - -namespace actionlib_tutorials -{ - - class AveragingAction : public ros::Msg - { - public: - typedef actionlib_tutorials::AveragingActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef actionlib_tutorials::AveragingActionResult _action_result_type; - _action_result_type action_result; - typedef actionlib_tutorials::AveragingActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - AveragingAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/AveragingAction"; }; - virtual const char * getMD5() override { return "628678f2b4fa6a5951746a4a2d39e716"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionFeedback.h deleted file mode 100644 index 09822471..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_AveragingActionFeedback_h -#define _ROS_actionlib_tutorials_AveragingActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib_tutorials/AveragingFeedback.h" - -namespace actionlib_tutorials -{ - - class AveragingActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib_tutorials::AveragingFeedback _feedback_type; - _feedback_type feedback; - - AveragingActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/AveragingActionFeedback"; }; - virtual const char * getMD5() override { return "78a4a09241b1791069223ae7ebd5b16b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionGoal.h deleted file mode 100644 index d70aba17..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_AveragingActionGoal_h -#define _ROS_actionlib_tutorials_AveragingActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "actionlib_tutorials/AveragingGoal.h" - -namespace actionlib_tutorials -{ - - class AveragingActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef actionlib_tutorials::AveragingGoal _goal_type; - _goal_type goal; - - AveragingActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/AveragingActionGoal"; }; - virtual const char * getMD5() override { return "1561825b734ebd6039851c501e3fb570"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionResult.h deleted file mode 100644 index 5c7270ce..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_AveragingActionResult_h -#define _ROS_actionlib_tutorials_AveragingActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib_tutorials/AveragingResult.h" - -namespace actionlib_tutorials -{ - - class AveragingActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib_tutorials::AveragingResult _result_type; - _result_type result; - - AveragingActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/AveragingActionResult"; }; - virtual const char * getMD5() override { return "8672cb489d347580acdcd05c5d497497"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingFeedback.h deleted file mode 100644 index 9d3db937..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingFeedback.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_AveragingFeedback_h -#define _ROS_actionlib_tutorials_AveragingFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib_tutorials -{ - - class AveragingFeedback : public ros::Msg - { - public: - typedef int32_t _sample_type; - _sample_type sample; - typedef float _data_type; - _data_type data; - typedef float _mean_type; - _mean_type mean; - typedef float _std_dev_type; - _std_dev_type std_dev; - - AveragingFeedback(): - sample(0), - data(0), - mean(0), - std_dev(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_sample; - u_sample.real = this->sample; - *(outbuffer + offset + 0) = (u_sample.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sample.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sample.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sample.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->sample); - union { - float real; - uint32_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_data.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_data.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->data); - union { - float real; - uint32_t base; - } u_mean; - u_mean.real = this->mean; - *(outbuffer + offset + 0) = (u_mean.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_mean.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_mean.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_mean.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->mean); - union { - float real; - uint32_t base; - } u_std_dev; - u_std_dev.real = this->std_dev; - *(outbuffer + offset + 0) = (u_std_dev.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_std_dev.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_std_dev.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_std_dev.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->std_dev); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_sample; - u_sample.base = 0; - u_sample.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sample.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sample.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sample.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->sample = u_sample.real; - offset += sizeof(this->sample); - union { - float real; - uint32_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->data = u_data.real; - offset += sizeof(this->data); - union { - float real; - uint32_t base; - } u_mean; - u_mean.base = 0; - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->mean = u_mean.real; - offset += sizeof(this->mean); - union { - float real; - uint32_t base; - } u_std_dev; - u_std_dev.base = 0; - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->std_dev = u_std_dev.real; - offset += sizeof(this->std_dev); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/AveragingFeedback"; }; - virtual const char * getMD5() override { return "9e8dfc53c2f2a032ca33fa80ec46fd4f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingGoal.h deleted file mode 100644 index 837d3357..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingGoal.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_AveragingGoal_h -#define _ROS_actionlib_tutorials_AveragingGoal_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib_tutorials -{ - - class AveragingGoal : public ros::Msg - { - public: - typedef int32_t _samples_type; - _samples_type samples; - - AveragingGoal(): - samples(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_samples; - u_samples.real = this->samples; - *(outbuffer + offset + 0) = (u_samples.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_samples.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_samples.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_samples.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->samples); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_samples; - u_samples.base = 0; - u_samples.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_samples.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_samples.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_samples.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->samples = u_samples.real; - offset += sizeof(this->samples); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/AveragingGoal"; }; - virtual const char * getMD5() override { return "32c9b10ef9b253faa93b93f564762c8f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingResult.h deleted file mode 100644 index e8dfa44e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/AveragingResult.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_AveragingResult_h -#define _ROS_actionlib_tutorials_AveragingResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib_tutorials -{ - - class AveragingResult : public ros::Msg - { - public: - typedef float _mean_type; - _mean_type mean; - typedef float _std_dev_type; - _std_dev_type std_dev; - - AveragingResult(): - mean(0), - std_dev(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_mean; - u_mean.real = this->mean; - *(outbuffer + offset + 0) = (u_mean.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_mean.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_mean.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_mean.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->mean); - union { - float real; - uint32_t base; - } u_std_dev; - u_std_dev.real = this->std_dev; - *(outbuffer + offset + 0) = (u_std_dev.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_std_dev.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_std_dev.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_std_dev.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->std_dev); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_mean; - u_mean.base = 0; - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_mean.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->mean = u_mean.real; - offset += sizeof(this->mean); - union { - float real; - uint32_t base; - } u_std_dev; - u_std_dev.base = 0; - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_std_dev.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->std_dev = u_std_dev.real; - offset += sizeof(this->std_dev); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/AveragingResult"; }; - virtual const char * getMD5() override { return "d5c7decf6df75ffb4367a05c1bcc7612"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciAction.h deleted file mode 100644 index f9047ba5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_FibonacciAction_h -#define _ROS_actionlib_tutorials_FibonacciAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "actionlib_tutorials/FibonacciActionGoal.h" -#include "actionlib_tutorials/FibonacciActionResult.h" -#include "actionlib_tutorials/FibonacciActionFeedback.h" - -namespace actionlib_tutorials -{ - - class FibonacciAction : public ros::Msg - { - public: - typedef actionlib_tutorials::FibonacciActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef actionlib_tutorials::FibonacciActionResult _action_result_type; - _action_result_type action_result; - typedef actionlib_tutorials::FibonacciActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - FibonacciAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/FibonacciAction"; }; - virtual const char * getMD5() override { return "f59df5767bf7634684781c92598b2406"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionFeedback.h deleted file mode 100644 index 8d725673..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_FibonacciActionFeedback_h -#define _ROS_actionlib_tutorials_FibonacciActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib_tutorials/FibonacciFeedback.h" - -namespace actionlib_tutorials -{ - - class FibonacciActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib_tutorials::FibonacciFeedback _feedback_type; - _feedback_type feedback; - - FibonacciActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/FibonacciActionFeedback"; }; - virtual const char * getMD5() override { return "73b8497a9f629a31c0020900e4148f07"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionGoal.h deleted file mode 100644 index 5428d703..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_FibonacciActionGoal_h -#define _ROS_actionlib_tutorials_FibonacciActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "actionlib_tutorials/FibonacciGoal.h" - -namespace actionlib_tutorials -{ - - class FibonacciActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef actionlib_tutorials::FibonacciGoal _goal_type; - _goal_type goal; - - FibonacciActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/FibonacciActionGoal"; }; - virtual const char * getMD5() override { return "006871c7fa1d0e3d5fe2226bf17b2a94"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionResult.h deleted file mode 100644 index 0a3edc69..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_FibonacciActionResult_h -#define _ROS_actionlib_tutorials_FibonacciActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "actionlib_tutorials/FibonacciResult.h" - -namespace actionlib_tutorials -{ - - class FibonacciActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef actionlib_tutorials::FibonacciResult _result_type; - _result_type result; - - FibonacciActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/FibonacciActionResult"; }; - virtual const char * getMD5() override { return "bee73a9fe29ae25e966e105f5553dd03"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciFeedback.h deleted file mode 100644 index ac3af91a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciFeedback.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_FibonacciFeedback_h -#define _ROS_actionlib_tutorials_FibonacciFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib_tutorials -{ - - class FibonacciFeedback : public ros::Msg - { - public: - uint32_t sequence_length; - typedef int32_t _sequence_type; - _sequence_type st_sequence; - _sequence_type * sequence; - - FibonacciFeedback(): - sequence_length(0), st_sequence(), sequence(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->sequence_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->sequence_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->sequence_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->sequence_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->sequence_length); - for( uint32_t i = 0; i < sequence_length; i++){ - union { - int32_t real; - uint32_t base; - } u_sequencei; - u_sequencei.real = this->sequence[i]; - *(outbuffer + offset + 0) = (u_sequencei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sequencei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sequencei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sequencei.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->sequence[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t sequence_lengthT = ((uint32_t) (*(inbuffer + offset))); - sequence_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - sequence_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - sequence_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->sequence_length); - if(sequence_lengthT > sequence_length) - this->sequence = (int32_t*)realloc(this->sequence, sequence_lengthT * sizeof(int32_t)); - sequence_length = sequence_lengthT; - for( uint32_t i = 0; i < sequence_length; i++){ - union { - int32_t real; - uint32_t base; - } u_st_sequence; - u_st_sequence.base = 0; - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_sequence = u_st_sequence.real; - offset += sizeof(this->st_sequence); - memcpy( &(this->sequence[i]), &(this->st_sequence), sizeof(int32_t)); - } - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/FibonacciFeedback"; }; - virtual const char * getMD5() override { return "b81e37d2a31925a0e8ae261a8699cb79"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciGoal.h deleted file mode 100644 index c8dd567c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciGoal.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_FibonacciGoal_h -#define _ROS_actionlib_tutorials_FibonacciGoal_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib_tutorials -{ - - class FibonacciGoal : public ros::Msg - { - public: - typedef int32_t _order_type; - _order_type order; - - FibonacciGoal(): - order(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_order; - u_order.real = this->order; - *(outbuffer + offset + 0) = (u_order.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_order.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_order.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_order.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->order); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_order; - u_order.base = 0; - u_order.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_order.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_order.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_order.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->order = u_order.real; - offset += sizeof(this->order); - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/FibonacciGoal"; }; - virtual const char * getMD5() override { return "6889063349a00b249bd1661df429d822"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciResult.h deleted file mode 100644 index 40c703e6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/actionlib_tutorials/FibonacciResult.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _ROS_actionlib_tutorials_FibonacciResult_h -#define _ROS_actionlib_tutorials_FibonacciResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace actionlib_tutorials -{ - - class FibonacciResult : public ros::Msg - { - public: - uint32_t sequence_length; - typedef int32_t _sequence_type; - _sequence_type st_sequence; - _sequence_type * sequence; - - FibonacciResult(): - sequence_length(0), st_sequence(), sequence(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->sequence_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->sequence_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->sequence_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->sequence_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->sequence_length); - for( uint32_t i = 0; i < sequence_length; i++){ - union { - int32_t real; - uint32_t base; - } u_sequencei; - u_sequencei.real = this->sequence[i]; - *(outbuffer + offset + 0) = (u_sequencei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sequencei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sequencei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sequencei.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->sequence[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t sequence_lengthT = ((uint32_t) (*(inbuffer + offset))); - sequence_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - sequence_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - sequence_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->sequence_length); - if(sequence_lengthT > sequence_length) - this->sequence = (int32_t*)realloc(this->sequence, sequence_lengthT * sizeof(int32_t)); - sequence_length = sequence_lengthT; - for( uint32_t i = 0; i < sequence_length; i++){ - union { - int32_t real; - uint32_t base; - } u_st_sequence; - u_st_sequence.base = 0; - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_sequence.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_sequence = u_st_sequence.real; - offset += sizeof(this->st_sequence); - memcpy( &(this->sequence[i]), &(this->st_sequence), sizeof(int32_t)); - } - return offset; - } - - virtual const char * getType() override { return "actionlib_tutorials/FibonacciResult"; }; - virtual const char * getMD5() override { return "b81e37d2a31925a0e8ae261a8699cb79"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/bond/Constants.h b/firmware/libraries/Rosserial_Arduino_Library/src/bond/Constants.h deleted file mode 100644 index 705ac3d5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/bond/Constants.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _ROS_bond_Constants_h -#define _ROS_bond_Constants_h - -#include -#include -#include -#include "ros/msg.h" - -namespace bond -{ - - class Constants : public ros::Msg - { - public: - enum { DEAD_PUBLISH_PERIOD = 0.05 }; - enum { DEFAULT_CONNECT_TIMEOUT = 10.0 }; - enum { DEFAULT_HEARTBEAT_TIMEOUT = 4.0 }; - enum { DEFAULT_DISCONNECT_TIMEOUT = 2.0 }; - enum { DEFAULT_HEARTBEAT_PERIOD = 1.0 }; - enum { DISABLE_HEARTBEAT_TIMEOUT_PARAM = /bond_disable_heartbeat_timeout }; - - Constants() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "bond/Constants"; }; - virtual const char * getMD5() override { return "6fc594dc1d7bd7919077042712f8c8b0"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/bond/Status.h b/firmware/libraries/Rosserial_Arduino_Library/src/bond/Status.h deleted file mode 100644 index 31de5358..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/bond/Status.h +++ /dev/null @@ -1,144 +0,0 @@ -#ifndef _ROS_bond_Status_h -#define _ROS_bond_Status_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace bond -{ - - class Status : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _id_type; - _id_type id; - typedef const char* _instance_id_type; - _instance_id_type instance_id; - typedef bool _active_type; - _active_type active; - typedef float _heartbeat_timeout_type; - _heartbeat_timeout_type heartbeat_timeout; - typedef float _heartbeat_period_type; - _heartbeat_period_type heartbeat_period; - - Status(): - header(), - id(""), - instance_id(""), - active(0), - heartbeat_timeout(0), - heartbeat_period(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_id = strlen(this->id); - varToArr(outbuffer + offset, length_id); - offset += 4; - memcpy(outbuffer + offset, this->id, length_id); - offset += length_id; - uint32_t length_instance_id = strlen(this->instance_id); - varToArr(outbuffer + offset, length_instance_id); - offset += 4; - memcpy(outbuffer + offset, this->instance_id, length_instance_id); - offset += length_instance_id; - union { - bool real; - uint8_t base; - } u_active; - u_active.real = this->active; - *(outbuffer + offset + 0) = (u_active.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->active); - union { - float real; - uint32_t base; - } u_heartbeat_timeout; - u_heartbeat_timeout.real = this->heartbeat_timeout; - *(outbuffer + offset + 0) = (u_heartbeat_timeout.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_heartbeat_timeout.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_heartbeat_timeout.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_heartbeat_timeout.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->heartbeat_timeout); - union { - float real; - uint32_t base; - } u_heartbeat_period; - u_heartbeat_period.real = this->heartbeat_period; - *(outbuffer + offset + 0) = (u_heartbeat_period.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_heartbeat_period.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_heartbeat_period.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_heartbeat_period.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->heartbeat_period); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_id; - arrToVar(length_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_id-1]=0; - this->id = (char *)(inbuffer + offset-1); - offset += length_id; - uint32_t length_instance_id; - arrToVar(length_instance_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_instance_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_instance_id-1]=0; - this->instance_id = (char *)(inbuffer + offset-1); - offset += length_instance_id; - union { - bool real; - uint8_t base; - } u_active; - u_active.base = 0; - u_active.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->active = u_active.real; - offset += sizeof(this->active); - union { - float real; - uint32_t base; - } u_heartbeat_timeout; - u_heartbeat_timeout.base = 0; - u_heartbeat_timeout.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_heartbeat_timeout.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_heartbeat_timeout.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_heartbeat_timeout.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->heartbeat_timeout = u_heartbeat_timeout.real; - offset += sizeof(this->heartbeat_timeout); - union { - float real; - uint32_t base; - } u_heartbeat_period; - u_heartbeat_period.base = 0; - u_heartbeat_period.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_heartbeat_period.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_heartbeat_period.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_heartbeat_period.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->heartbeat_period = u_heartbeat_period.real; - offset += sizeof(this->heartbeat_period); - return offset; - } - - virtual const char * getType() override { return "bond/Status"; }; - virtual const char * getMD5() override { return "eacc84bf5d65b6777d4c50f463dfb9c8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/buggy/EncoderStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/buggy/EncoderStatus.h deleted file mode 100644 index 13bd597d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/buggy/EncoderStatus.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef _ROS_buggy_EncoderStatus_h -#define _ROS_buggy_EncoderStatus_h - -#include -#include -#include -#include "ros/msg.h" - -namespace buggy -{ - - class EncoderStatus : public ros::Msg - { - public: - typedef float _left_wheel_encoder_type; - _left_wheel_encoder_type left_wheel_encoder; - typedef float _right_wheel_encoder_type; - _right_wheel_encoder_type right_wheel_encoder; - typedef float _front_wheel_encoder_type; - _front_wheel_encoder_type front_wheel_encoder; - - EncoderStatus(): - left_wheel_encoder(0), - right_wheel_encoder(0), - front_wheel_encoder(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += serializeAvrFloat64(outbuffer + offset, this->left_wheel_encoder); - offset += serializeAvrFloat64(outbuffer + offset, this->right_wheel_encoder); - offset += serializeAvrFloat64(outbuffer + offset, this->front_wheel_encoder); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += deserializeAvrFloat64(inbuffer + offset, &(this->left_wheel_encoder)); - offset += deserializeAvrFloat64(inbuffer + offset, &(this->right_wheel_encoder)); - offset += deserializeAvrFloat64(inbuffer + offset, &(this->front_wheel_encoder)); - return offset; - } - - virtual const char * getType() override { return "buggy/EncoderStatus"; }; - virtual const char * getMD5() override { return "334b7df70f4b1a48a8e442db0dd4459d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/buggy/LoRaEvent.h b/firmware/libraries/Rosserial_Arduino_Library/src/buggy/LoRaEvent.h deleted file mode 100644 index 64e7b843..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/buggy/LoRaEvent.h +++ /dev/null @@ -1,133 +0,0 @@ -#ifndef _ROS_buggy_LoRaEvent_h -#define _ROS_buggy_LoRaEvent_h - -#include -#include -#include -#include "ros/msg.h" - -namespace buggy -{ - - class LoRaEvent : public ros::Msg - { - public: - typedef float _rssi_type; - _rssi_type rssi; - typedef float _snr_type; - _snr_type snr; - typedef uint16_t _hops_type; - _hops_type hops; - typedef int16_t _code_type; - _code_type code; - typedef bool _crc_type; - _crc_type crc; - - LoRaEvent(): - rssi(0), - snr(0), - hops(0), - code(0), - crc(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_rssi; - u_rssi.real = this->rssi; - *(outbuffer + offset + 0) = (u_rssi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_rssi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_rssi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_rssi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->rssi); - union { - float real; - uint32_t base; - } u_snr; - u_snr.real = this->snr; - *(outbuffer + offset + 0) = (u_snr.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_snr.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_snr.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_snr.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->snr); - *(outbuffer + offset + 0) = (this->hops >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->hops >> (8 * 1)) & 0xFF; - offset += sizeof(this->hops); - union { - int16_t real; - uint16_t base; - } u_code; - u_code.real = this->code; - *(outbuffer + offset + 0) = (u_code.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_code.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->code); - union { - bool real; - uint8_t base; - } u_crc; - u_crc.real = this->crc; - *(outbuffer + offset + 0) = (u_crc.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->crc); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_rssi; - u_rssi.base = 0; - u_rssi.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_rssi.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_rssi.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_rssi.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->rssi = u_rssi.real; - offset += sizeof(this->rssi); - union { - float real; - uint32_t base; - } u_snr; - u_snr.base = 0; - u_snr.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_snr.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_snr.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_snr.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->snr = u_snr.real; - offset += sizeof(this->snr); - this->hops = ((uint16_t) (*(inbuffer + offset))); - this->hops |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->hops); - union { - int16_t real; - uint16_t base; - } u_code; - u_code.base = 0; - u_code.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_code.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->code = u_code.real; - offset += sizeof(this->code); - union { - bool real; - uint8_t base; - } u_crc; - u_crc.base = 0; - u_crc.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->crc = u_crc.real; - offset += sizeof(this->crc); - return offset; - } - - virtual const char * getType() override { return "buggy/LoRaEvent"; }; - virtual const char * getMD5() override { return "deac2c5fd57c8fe6d4563cbf03b07af5"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryAction.h deleted file mode 100644 index bbff85a3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_FollowJointTrajectoryAction_h -#define _ROS_control_msgs_FollowJointTrajectoryAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "control_msgs/FollowJointTrajectoryActionGoal.h" -#include "control_msgs/FollowJointTrajectoryActionResult.h" -#include "control_msgs/FollowJointTrajectoryActionFeedback.h" - -namespace control_msgs -{ - - class FollowJointTrajectoryAction : public ros::Msg - { - public: - typedef control_msgs::FollowJointTrajectoryActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef control_msgs::FollowJointTrajectoryActionResult _action_result_type; - _action_result_type action_result; - typedef control_msgs::FollowJointTrajectoryActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - FollowJointTrajectoryAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/FollowJointTrajectoryAction"; }; - virtual const char * getMD5() override { return "bc4f9b743838566551c0390c65f1a248"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionFeedback.h deleted file mode 100644 index 1fcc93d3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_FollowJointTrajectoryActionFeedback_h -#define _ROS_control_msgs_FollowJointTrajectoryActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/FollowJointTrajectoryFeedback.h" - -namespace control_msgs -{ - - class FollowJointTrajectoryActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::FollowJointTrajectoryFeedback _feedback_type; - _feedback_type feedback; - - FollowJointTrajectoryActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/FollowJointTrajectoryActionFeedback"; }; - virtual const char * getMD5() override { return "d8920dc4eae9fc107e00999cce4be641"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionGoal.h deleted file mode 100644 index c314b6a5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_FollowJointTrajectoryActionGoal_h -#define _ROS_control_msgs_FollowJointTrajectoryActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "control_msgs/FollowJointTrajectoryGoal.h" - -namespace control_msgs -{ - - class FollowJointTrajectoryActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef control_msgs::FollowJointTrajectoryGoal _goal_type; - _goal_type goal; - - FollowJointTrajectoryActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/FollowJointTrajectoryActionGoal"; }; - virtual const char * getMD5() override { return "cff5c1d533bf2f82dd0138d57f4304bb"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionResult.h deleted file mode 100644 index 9f68bf3a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_FollowJointTrajectoryActionResult_h -#define _ROS_control_msgs_FollowJointTrajectoryActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/FollowJointTrajectoryResult.h" - -namespace control_msgs -{ - - class FollowJointTrajectoryActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::FollowJointTrajectoryResult _result_type; - _result_type result; - - FollowJointTrajectoryActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/FollowJointTrajectoryActionResult"; }; - virtual const char * getMD5() override { return "c4fb3b000dc9da4fd99699380efcc5d9"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryFeedback.h deleted file mode 100644 index b2949e2a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryFeedback.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef _ROS_control_msgs_FollowJointTrajectoryFeedback_h -#define _ROS_control_msgs_FollowJointTrajectoryFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "trajectory_msgs/JointTrajectoryPoint.h" - -namespace control_msgs -{ - - class FollowJointTrajectoryFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - typedef trajectory_msgs::JointTrajectoryPoint _desired_type; - _desired_type desired; - typedef trajectory_msgs::JointTrajectoryPoint _actual_type; - _actual_type actual; - typedef trajectory_msgs::JointTrajectoryPoint _error_type; - _error_type error; - - FollowJointTrajectoryFeedback(): - header(), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - desired(), - actual(), - error() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - offset += this->desired.serialize(outbuffer + offset); - offset += this->actual.serialize(outbuffer + offset); - offset += this->error.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - offset += this->desired.deserialize(inbuffer + offset); - offset += this->actual.deserialize(inbuffer + offset); - offset += this->error.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/FollowJointTrajectoryFeedback"; }; - virtual const char * getMD5() override { return "10817c60c2486ef6b33e97dcd87f4474"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryGoal.h deleted file mode 100644 index 6b643a59..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryGoal.h +++ /dev/null @@ -1,119 +0,0 @@ -#ifndef _ROS_control_msgs_FollowJointTrajectoryGoal_h -#define _ROS_control_msgs_FollowJointTrajectoryGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "trajectory_msgs/JointTrajectory.h" -#include "control_msgs/JointTolerance.h" -#include "ros/duration.h" - -namespace control_msgs -{ - - class FollowJointTrajectoryGoal : public ros::Msg - { - public: - typedef trajectory_msgs::JointTrajectory _trajectory_type; - _trajectory_type trajectory; - uint32_t path_tolerance_length; - typedef control_msgs::JointTolerance _path_tolerance_type; - _path_tolerance_type st_path_tolerance; - _path_tolerance_type * path_tolerance; - uint32_t goal_tolerance_length; - typedef control_msgs::JointTolerance _goal_tolerance_type; - _goal_tolerance_type st_goal_tolerance; - _goal_tolerance_type * goal_tolerance; - typedef ros::Duration _goal_time_tolerance_type; - _goal_time_tolerance_type goal_time_tolerance; - - FollowJointTrajectoryGoal(): - trajectory(), - path_tolerance_length(0), st_path_tolerance(), path_tolerance(nullptr), - goal_tolerance_length(0), st_goal_tolerance(), goal_tolerance(nullptr), - goal_time_tolerance() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->trajectory.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->path_tolerance_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->path_tolerance_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->path_tolerance_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->path_tolerance_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->path_tolerance_length); - for( uint32_t i = 0; i < path_tolerance_length; i++){ - offset += this->path_tolerance[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->goal_tolerance_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->goal_tolerance_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->goal_tolerance_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->goal_tolerance_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->goal_tolerance_length); - for( uint32_t i = 0; i < goal_tolerance_length; i++){ - offset += this->goal_tolerance[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->goal_time_tolerance.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->goal_time_tolerance.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->goal_time_tolerance.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->goal_time_tolerance.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->goal_time_tolerance.sec); - *(outbuffer + offset + 0) = (this->goal_time_tolerance.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->goal_time_tolerance.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->goal_time_tolerance.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->goal_time_tolerance.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->goal_time_tolerance.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->trajectory.deserialize(inbuffer + offset); - uint32_t path_tolerance_lengthT = ((uint32_t) (*(inbuffer + offset))); - path_tolerance_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - path_tolerance_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - path_tolerance_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->path_tolerance_length); - if(path_tolerance_lengthT > path_tolerance_length) - this->path_tolerance = (control_msgs::JointTolerance*)realloc(this->path_tolerance, path_tolerance_lengthT * sizeof(control_msgs::JointTolerance)); - path_tolerance_length = path_tolerance_lengthT; - for( uint32_t i = 0; i < path_tolerance_length; i++){ - offset += this->st_path_tolerance.deserialize(inbuffer + offset); - memcpy( &(this->path_tolerance[i]), &(this->st_path_tolerance), sizeof(control_msgs::JointTolerance)); - } - uint32_t goal_tolerance_lengthT = ((uint32_t) (*(inbuffer + offset))); - goal_tolerance_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - goal_tolerance_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - goal_tolerance_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->goal_tolerance_length); - if(goal_tolerance_lengthT > goal_tolerance_length) - this->goal_tolerance = (control_msgs::JointTolerance*)realloc(this->goal_tolerance, goal_tolerance_lengthT * sizeof(control_msgs::JointTolerance)); - goal_tolerance_length = goal_tolerance_lengthT; - for( uint32_t i = 0; i < goal_tolerance_length; i++){ - offset += this->st_goal_tolerance.deserialize(inbuffer + offset); - memcpy( &(this->goal_tolerance[i]), &(this->st_goal_tolerance), sizeof(control_msgs::JointTolerance)); - } - this->goal_time_tolerance.sec = ((uint32_t) (*(inbuffer + offset))); - this->goal_time_tolerance.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->goal_time_tolerance.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->goal_time_tolerance.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->goal_time_tolerance.sec); - this->goal_time_tolerance.nsec = ((uint32_t) (*(inbuffer + offset))); - this->goal_time_tolerance.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->goal_time_tolerance.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->goal_time_tolerance.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->goal_time_tolerance.nsec); - return offset; - } - - virtual const char * getType() override { return "control_msgs/FollowJointTrajectoryGoal"; }; - virtual const char * getMD5() override { return "69636787b6ecbde4d61d711979bc7ecb"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryResult.h deleted file mode 100644 index 559b57f2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/FollowJointTrajectoryResult.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _ROS_control_msgs_FollowJointTrajectoryResult_h -#define _ROS_control_msgs_FollowJointTrajectoryResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class FollowJointTrajectoryResult : public ros::Msg - { - public: - typedef int32_t _error_code_type; - _error_code_type error_code; - typedef const char* _error_string_type; - _error_string_type error_string; - enum { SUCCESSFUL = 0 }; - enum { INVALID_GOAL = -1 }; - enum { INVALID_JOINTS = -2 }; - enum { OLD_HEADER_TIMESTAMP = -3 }; - enum { PATH_TOLERANCE_VIOLATED = -4 }; - enum { GOAL_TOLERANCE_VIOLATED = -5 }; - - FollowJointTrajectoryResult(): - error_code(0), - error_string("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_error_code; - u_error_code.real = this->error_code; - *(outbuffer + offset + 0) = (u_error_code.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_error_code.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_error_code.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_error_code.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->error_code); - uint32_t length_error_string = strlen(this->error_string); - varToArr(outbuffer + offset, length_error_string); - offset += 4; - memcpy(outbuffer + offset, this->error_string, length_error_string); - offset += length_error_string; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_error_code; - u_error_code.base = 0; - u_error_code.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_error_code.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_error_code.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_error_code.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->error_code = u_error_code.real; - offset += sizeof(this->error_code); - uint32_t length_error_string; - arrToVar(length_error_string, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_error_string; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_error_string-1]=0; - this->error_string = (char *)(inbuffer + offset-1); - offset += length_error_string; - return offset; - } - - virtual const char * getType() override { return "control_msgs/FollowJointTrajectoryResult"; }; - virtual const char * getMD5() override { return "493383b18409bfb604b4e26c676401d2"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommand.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommand.h deleted file mode 100644 index 809e29f8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommand.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommand_h -#define _ROS_control_msgs_GripperCommand_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class GripperCommand : public ros::Msg - { - public: - typedef double _position_type; - _position_type position; - typedef double _max_effort_type; - _max_effort_type max_effort; - - GripperCommand(): - position(0), - max_effort(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.real = this->position; - *(outbuffer + offset + 0) = (u_position.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_position.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_position.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_position.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_position.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_position.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_position.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_position.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_max_effort; - u_max_effort.real = this->max_effort; - *(outbuffer + offset + 0) = (u_max_effort.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_effort.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_effort.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_effort.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_max_effort.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_max_effort.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_max_effort.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_max_effort.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->max_effort); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.base = 0; - u_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->position = u_position.real; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_max_effort; - u_max_effort.base = 0; - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_max_effort.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->max_effort = u_max_effort.real; - offset += sizeof(this->max_effort); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommand"; }; - virtual const char * getMD5() override { return "680acaff79486f017132a7f198d40f08"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandAction.h deleted file mode 100644 index 8dd6e304..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommandAction_h -#define _ROS_control_msgs_GripperCommandAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "control_msgs/GripperCommandActionGoal.h" -#include "control_msgs/GripperCommandActionResult.h" -#include "control_msgs/GripperCommandActionFeedback.h" - -namespace control_msgs -{ - - class GripperCommandAction : public ros::Msg - { - public: - typedef control_msgs::GripperCommandActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef control_msgs::GripperCommandActionResult _action_result_type; - _action_result_type action_result; - typedef control_msgs::GripperCommandActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - GripperCommandAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommandAction"; }; - virtual const char * getMD5() override { return "950b2a6ebe831f5d4f4ceaba3d8be01e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionFeedback.h deleted file mode 100644 index 6f6d6cbc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommandActionFeedback_h -#define _ROS_control_msgs_GripperCommandActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/GripperCommandFeedback.h" - -namespace control_msgs -{ - - class GripperCommandActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::GripperCommandFeedback _feedback_type; - _feedback_type feedback; - - GripperCommandActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommandActionFeedback"; }; - virtual const char * getMD5() override { return "653dff30c045f5e6ff3feb3409f4558d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionGoal.h deleted file mode 100644 index b096c921..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommandActionGoal_h -#define _ROS_control_msgs_GripperCommandActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "control_msgs/GripperCommandGoal.h" - -namespace control_msgs -{ - - class GripperCommandActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef control_msgs::GripperCommandGoal _goal_type; - _goal_type goal; - - GripperCommandActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommandActionGoal"; }; - virtual const char * getMD5() override { return "aa581f648a35ed681db2ec0bf7a82bea"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionResult.h deleted file mode 100644 index eb91a9ba..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommandActionResult_h -#define _ROS_control_msgs_GripperCommandActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/GripperCommandResult.h" - -namespace control_msgs -{ - - class GripperCommandActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::GripperCommandResult _result_type; - _result_type result; - - GripperCommandActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommandActionResult"; }; - virtual const char * getMD5() override { return "143702cb2df0f163c5283cedc5efc6b6"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandFeedback.h deleted file mode 100644 index f7d84ab4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandFeedback.h +++ /dev/null @@ -1,138 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommandFeedback_h -#define _ROS_control_msgs_GripperCommandFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class GripperCommandFeedback : public ros::Msg - { - public: - typedef double _position_type; - _position_type position; - typedef double _effort_type; - _effort_type effort; - typedef bool _stalled_type; - _stalled_type stalled; - typedef bool _reached_goal_type; - _reached_goal_type reached_goal; - - GripperCommandFeedback(): - position(0), - effort(0), - stalled(0), - reached_goal(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.real = this->position; - *(outbuffer + offset + 0) = (u_position.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_position.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_position.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_position.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_position.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_position.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_position.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_position.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_effort; - u_effort.real = this->effort; - *(outbuffer + offset + 0) = (u_effort.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_effort.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_effort.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_effort.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_effort.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_effort.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_effort.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_effort.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->effort); - union { - bool real; - uint8_t base; - } u_stalled; - u_stalled.real = this->stalled; - *(outbuffer + offset + 0) = (u_stalled.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->stalled); - union { - bool real; - uint8_t base; - } u_reached_goal; - u_reached_goal.real = this->reached_goal; - *(outbuffer + offset + 0) = (u_reached_goal.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->reached_goal); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.base = 0; - u_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->position = u_position.real; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_effort; - u_effort.base = 0; - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->effort = u_effort.real; - offset += sizeof(this->effort); - union { - bool real; - uint8_t base; - } u_stalled; - u_stalled.base = 0; - u_stalled.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->stalled = u_stalled.real; - offset += sizeof(this->stalled); - union { - bool real; - uint8_t base; - } u_reached_goal; - u_reached_goal.base = 0; - u_reached_goal.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->reached_goal = u_reached_goal.real; - offset += sizeof(this->reached_goal); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommandFeedback"; }; - virtual const char * getMD5() override { return "e4cbff56d3562bcf113da5a5adeef91f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandGoal.h deleted file mode 100644 index a4e9da5b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandGoal.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommandGoal_h -#define _ROS_control_msgs_GripperCommandGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "control_msgs/GripperCommand.h" - -namespace control_msgs -{ - - class GripperCommandGoal : public ros::Msg - { - public: - typedef control_msgs::GripperCommand _command_type; - _command_type command; - - GripperCommandGoal(): - command() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->command.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->command.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommandGoal"; }; - virtual const char * getMD5() override { return "86fd82f4ddc48a4cb6856cfa69217e43"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandResult.h deleted file mode 100644 index 5a9dc4e9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/GripperCommandResult.h +++ /dev/null @@ -1,138 +0,0 @@ -#ifndef _ROS_control_msgs_GripperCommandResult_h -#define _ROS_control_msgs_GripperCommandResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class GripperCommandResult : public ros::Msg - { - public: - typedef double _position_type; - _position_type position; - typedef double _effort_type; - _effort_type effort; - typedef bool _stalled_type; - _stalled_type stalled; - typedef bool _reached_goal_type; - _reached_goal_type reached_goal; - - GripperCommandResult(): - position(0), - effort(0), - stalled(0), - reached_goal(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.real = this->position; - *(outbuffer + offset + 0) = (u_position.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_position.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_position.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_position.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_position.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_position.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_position.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_position.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_effort; - u_effort.real = this->effort; - *(outbuffer + offset + 0) = (u_effort.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_effort.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_effort.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_effort.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_effort.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_effort.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_effort.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_effort.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->effort); - union { - bool real; - uint8_t base; - } u_stalled; - u_stalled.real = this->stalled; - *(outbuffer + offset + 0) = (u_stalled.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->stalled); - union { - bool real; - uint8_t base; - } u_reached_goal; - u_reached_goal.real = this->reached_goal; - *(outbuffer + offset + 0) = (u_reached_goal.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->reached_goal); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.base = 0; - u_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->position = u_position.real; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_effort; - u_effort.base = 0; - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->effort = u_effort.real; - offset += sizeof(this->effort); - union { - bool real; - uint8_t base; - } u_stalled; - u_stalled.base = 0; - u_stalled.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->stalled = u_stalled.real; - offset += sizeof(this->stalled); - union { - bool real; - uint8_t base; - } u_reached_goal; - u_reached_goal.base = 0; - u_reached_goal.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->reached_goal = u_reached_goal.real; - offset += sizeof(this->reached_goal); - return offset; - } - - virtual const char * getType() override { return "control_msgs/GripperCommandResult"; }; - virtual const char * getMD5() override { return "e4cbff56d3562bcf113da5a5adeef91f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointControllerState.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointControllerState.h deleted file mode 100644 index 83730bbd..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointControllerState.h +++ /dev/null @@ -1,382 +0,0 @@ -#ifndef _ROS_control_msgs_JointControllerState_h -#define _ROS_control_msgs_JointControllerState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace control_msgs -{ - - class JointControllerState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _set_point_type; - _set_point_type set_point; - typedef double _process_value_type; - _process_value_type process_value; - typedef double _process_value_dot_type; - _process_value_dot_type process_value_dot; - typedef double _error_type; - _error_type error; - typedef double _time_step_type; - _time_step_type time_step; - typedef double _command_type; - _command_type command; - typedef double _p_type; - _p_type p; - typedef double _i_type; - _i_type i; - typedef double _d_type; - _d_type d; - typedef double _i_clamp_type; - _i_clamp_type i_clamp; - typedef bool _antiwindup_type; - _antiwindup_type antiwindup; - - JointControllerState(): - header(), - set_point(0), - process_value(0), - process_value_dot(0), - error(0), - time_step(0), - command(0), - p(0), - i(0), - d(0), - i_clamp(0), - antiwindup(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_set_point; - u_set_point.real = this->set_point; - *(outbuffer + offset + 0) = (u_set_point.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_set_point.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_set_point.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_set_point.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_set_point.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_set_point.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_set_point.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_set_point.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->set_point); - union { - double real; - uint64_t base; - } u_process_value; - u_process_value.real = this->process_value; - *(outbuffer + offset + 0) = (u_process_value.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_process_value.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_process_value.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_process_value.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_process_value.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_process_value.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_process_value.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_process_value.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->process_value); - union { - double real; - uint64_t base; - } u_process_value_dot; - u_process_value_dot.real = this->process_value_dot; - *(outbuffer + offset + 0) = (u_process_value_dot.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_process_value_dot.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_process_value_dot.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_process_value_dot.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_process_value_dot.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_process_value_dot.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_process_value_dot.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_process_value_dot.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->process_value_dot); - union { - double real; - uint64_t base; - } u_error; - u_error.real = this->error; - *(outbuffer + offset + 0) = (u_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_error.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_error.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_error.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_error.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_error.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->error); - union { - double real; - uint64_t base; - } u_time_step; - u_time_step.real = this->time_step; - *(outbuffer + offset + 0) = (u_time_step.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_time_step.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_time_step.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_time_step.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_time_step.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_time_step.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_time_step.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_time_step.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->time_step); - union { - double real; - uint64_t base; - } u_command; - u_command.real = this->command; - *(outbuffer + offset + 0) = (u_command.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_command.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_command.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_command.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_command.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_command.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_command.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_command.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->command); - union { - double real; - uint64_t base; - } u_p; - u_p.real = this->p; - *(outbuffer + offset + 0) = (u_p.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_p.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_p.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_p.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_p.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_p.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_p.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_p.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->p); - union { - double real; - uint64_t base; - } u_i; - u_i.real = this->i; - *(outbuffer + offset + 0) = (u_i.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i); - union { - double real; - uint64_t base; - } u_d; - u_d.real = this->d; - *(outbuffer + offset + 0) = (u_d.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_d.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_d.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_d.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_d.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_d.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_d.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_d.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->d); - union { - double real; - uint64_t base; - } u_i_clamp; - u_i_clamp.real = this->i_clamp; - *(outbuffer + offset + 0) = (u_i_clamp.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i_clamp.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i_clamp.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i_clamp.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i_clamp.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i_clamp.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i_clamp.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i_clamp.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i_clamp); - union { - bool real; - uint8_t base; - } u_antiwindup; - u_antiwindup.real = this->antiwindup; - *(outbuffer + offset + 0) = (u_antiwindup.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->antiwindup); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_set_point; - u_set_point.base = 0; - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_set_point.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->set_point = u_set_point.real; - offset += sizeof(this->set_point); - union { - double real; - uint64_t base; - } u_process_value; - u_process_value.base = 0; - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_process_value.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->process_value = u_process_value.real; - offset += sizeof(this->process_value); - union { - double real; - uint64_t base; - } u_process_value_dot; - u_process_value_dot.base = 0; - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_process_value_dot.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->process_value_dot = u_process_value_dot.real; - offset += sizeof(this->process_value_dot); - union { - double real; - uint64_t base; - } u_error; - u_error.base = 0; - u_error.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->error = u_error.real; - offset += sizeof(this->error); - union { - double real; - uint64_t base; - } u_time_step; - u_time_step.base = 0; - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->time_step = u_time_step.real; - offset += sizeof(this->time_step); - union { - double real; - uint64_t base; - } u_command; - u_command.base = 0; - u_command.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_command.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_command.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_command.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_command.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_command.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_command.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_command.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->command = u_command.real; - offset += sizeof(this->command); - union { - double real; - uint64_t base; - } u_p; - u_p.base = 0; - u_p.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->p = u_p.real; - offset += sizeof(this->p); - union { - double real; - uint64_t base; - } u_i; - u_i.base = 0; - u_i.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i = u_i.real; - offset += sizeof(this->i); - union { - double real; - uint64_t base; - } u_d; - u_d.base = 0; - u_d.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->d = u_d.real; - offset += sizeof(this->d); - union { - double real; - uint64_t base; - } u_i_clamp; - u_i_clamp.base = 0; - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i_clamp = u_i_clamp.real; - offset += sizeof(this->i_clamp); - union { - bool real; - uint8_t base; - } u_antiwindup; - u_antiwindup.base = 0; - u_antiwindup.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->antiwindup = u_antiwindup.real; - offset += sizeof(this->antiwindup); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointControllerState"; }; - virtual const char * getMD5() override { return "987ad85e4756f3aef7f1e5e7fe0595d1"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointJog.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointJog.h deleted file mode 100644 index 8ec45faa..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointJog.h +++ /dev/null @@ -1,217 +0,0 @@ -#ifndef _ROS_control_msgs_JointJog_h -#define _ROS_control_msgs_JointJog_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace control_msgs -{ - - class JointJog : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - uint32_t displacements_length; - typedef double _displacements_type; - _displacements_type st_displacements; - _displacements_type * displacements; - uint32_t velocities_length; - typedef double _velocities_type; - _velocities_type st_velocities; - _velocities_type * velocities; - typedef double _duration_type; - _duration_type duration; - - JointJog(): - header(), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - displacements_length(0), st_displacements(), displacements(nullptr), - velocities_length(0), st_velocities(), velocities(nullptr), - duration(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - *(outbuffer + offset + 0) = (this->displacements_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->displacements_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->displacements_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->displacements_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->displacements_length); - for( uint32_t i = 0; i < displacements_length; i++){ - union { - double real; - uint64_t base; - } u_displacementsi; - u_displacementsi.real = this->displacements[i]; - *(outbuffer + offset + 0) = (u_displacementsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_displacementsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_displacementsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_displacementsi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_displacementsi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_displacementsi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_displacementsi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_displacementsi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->displacements[i]); - } - *(outbuffer + offset + 0) = (this->velocities_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->velocities_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->velocities_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->velocities_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->velocities_length); - for( uint32_t i = 0; i < velocities_length; i++){ - union { - double real; - uint64_t base; - } u_velocitiesi; - u_velocitiesi.real = this->velocities[i]; - *(outbuffer + offset + 0) = (u_velocitiesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_velocitiesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_velocitiesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_velocitiesi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_velocitiesi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_velocitiesi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_velocitiesi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_velocitiesi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->velocities[i]); - } - union { - double real; - uint64_t base; - } u_duration; - u_duration.real = this->duration; - *(outbuffer + offset + 0) = (u_duration.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_duration.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_duration.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_duration.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_duration.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_duration.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_duration.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_duration.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->duration); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - uint32_t displacements_lengthT = ((uint32_t) (*(inbuffer + offset))); - displacements_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - displacements_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - displacements_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->displacements_length); - if(displacements_lengthT > displacements_length) - this->displacements = (double*)realloc(this->displacements, displacements_lengthT * sizeof(double)); - displacements_length = displacements_lengthT; - for( uint32_t i = 0; i < displacements_length; i++){ - union { - double real; - uint64_t base; - } u_st_displacements; - u_st_displacements.base = 0; - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_displacements.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_displacements = u_st_displacements.real; - offset += sizeof(this->st_displacements); - memcpy( &(this->displacements[i]), &(this->st_displacements), sizeof(double)); - } - uint32_t velocities_lengthT = ((uint32_t) (*(inbuffer + offset))); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->velocities_length); - if(velocities_lengthT > velocities_length) - this->velocities = (double*)realloc(this->velocities, velocities_lengthT * sizeof(double)); - velocities_length = velocities_lengthT; - for( uint32_t i = 0; i < velocities_length; i++){ - union { - double real; - uint64_t base; - } u_st_velocities; - u_st_velocities.base = 0; - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_velocities = u_st_velocities.real; - offset += sizeof(this->st_velocities); - memcpy( &(this->velocities[i]), &(this->st_velocities), sizeof(double)); - } - union { - double real; - uint64_t base; - } u_duration; - u_duration.base = 0; - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_duration.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->duration = u_duration.real; - offset += sizeof(this->duration); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointJog"; }; - virtual const char * getMD5() override { return "1685da700c8c2e1254afc92a5fb89c96"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTolerance.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTolerance.h deleted file mode 100644 index e5118663..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTolerance.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef _ROS_control_msgs_JointTolerance_h -#define _ROS_control_msgs_JointTolerance_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class JointTolerance : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef double _position_type; - _position_type position; - typedef double _velocity_type; - _velocity_type velocity; - typedef double _acceleration_type; - _acceleration_type acceleration; - - JointTolerance(): - name(""), - position(0), - velocity(0), - acceleration(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - union { - double real; - uint64_t base; - } u_position; - u_position.real = this->position; - *(outbuffer + offset + 0) = (u_position.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_position.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_position.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_position.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_position.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_position.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_position.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_position.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_velocity; - u_velocity.real = this->velocity; - *(outbuffer + offset + 0) = (u_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_velocity.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_velocity.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_velocity.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_velocity.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_velocity.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->velocity); - union { - double real; - uint64_t base; - } u_acceleration; - u_acceleration.real = this->acceleration; - *(outbuffer + offset + 0) = (u_acceleration.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_acceleration.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_acceleration.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_acceleration.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_acceleration.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_acceleration.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_acceleration.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_acceleration.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->acceleration); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - union { - double real; - uint64_t base; - } u_position; - u_position.base = 0; - u_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->position = u_position.real; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_velocity; - u_velocity.base = 0; - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->velocity = u_velocity.real; - offset += sizeof(this->velocity); - union { - double real; - uint64_t base; - } u_acceleration; - u_acceleration.base = 0; - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->acceleration = u_acceleration.real; - offset += sizeof(this->acceleration); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTolerance"; }; - virtual const char * getMD5() override { return "f544fe9c16cf04547e135dd6063ff5be"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryAction.h deleted file mode 100644 index 1e171321..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryAction_h -#define _ROS_control_msgs_JointTrajectoryAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "control_msgs/JointTrajectoryActionGoal.h" -#include "control_msgs/JointTrajectoryActionResult.h" -#include "control_msgs/JointTrajectoryActionFeedback.h" - -namespace control_msgs -{ - - class JointTrajectoryAction : public ros::Msg - { - public: - typedef control_msgs::JointTrajectoryActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef control_msgs::JointTrajectoryActionResult _action_result_type; - _action_result_type action_result; - typedef control_msgs::JointTrajectoryActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - JointTrajectoryAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryAction"; }; - virtual const char * getMD5() override { return "a04ba3ee8f6a2d0985a6aeaf23d9d7ad"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionFeedback.h deleted file mode 100644 index 1163dbe1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryActionFeedback_h -#define _ROS_control_msgs_JointTrajectoryActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/JointTrajectoryFeedback.h" - -namespace control_msgs -{ - - class JointTrajectoryActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::JointTrajectoryFeedback _feedback_type; - _feedback_type feedback; - - JointTrajectoryActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryActionFeedback"; }; - virtual const char * getMD5() override { return "aae20e09065c3809e8a8e87c4c8953fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionGoal.h deleted file mode 100644 index e20f9e90..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryActionGoal_h -#define _ROS_control_msgs_JointTrajectoryActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "control_msgs/JointTrajectoryGoal.h" - -namespace control_msgs -{ - - class JointTrajectoryActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef control_msgs::JointTrajectoryGoal _goal_type; - _goal_type goal; - - JointTrajectoryActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryActionGoal"; }; - virtual const char * getMD5() override { return "a99e83ef6185f9fdd7693efe99623a86"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionResult.h deleted file mode 100644 index bbf6d08b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryActionResult_h -#define _ROS_control_msgs_JointTrajectoryActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/JointTrajectoryResult.h" - -namespace control_msgs -{ - - class JointTrajectoryActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::JointTrajectoryResult _result_type; - _result_type result; - - JointTrajectoryActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryActionResult"; }; - virtual const char * getMD5() override { return "1eb06eeff08fa7ea874431638cb52332"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryControllerState.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryControllerState.h deleted file mode 100644 index 0ecf8223..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryControllerState.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryControllerState_h -#define _ROS_control_msgs_JointTrajectoryControllerState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "trajectory_msgs/JointTrajectoryPoint.h" - -namespace control_msgs -{ - - class JointTrajectoryControllerState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - typedef trajectory_msgs::JointTrajectoryPoint _desired_type; - _desired_type desired; - typedef trajectory_msgs::JointTrajectoryPoint _actual_type; - _actual_type actual; - typedef trajectory_msgs::JointTrajectoryPoint _error_type; - _error_type error; - - JointTrajectoryControllerState(): - header(), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - desired(), - actual(), - error() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - offset += this->desired.serialize(outbuffer + offset); - offset += this->actual.serialize(outbuffer + offset); - offset += this->error.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - offset += this->desired.deserialize(inbuffer + offset); - offset += this->actual.deserialize(inbuffer + offset); - offset += this->error.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryControllerState"; }; - virtual const char * getMD5() override { return "10817c60c2486ef6b33e97dcd87f4474"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryFeedback.h deleted file mode 100644 index 62a2b16b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryFeedback.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryFeedback_h -#define _ROS_control_msgs_JointTrajectoryFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class JointTrajectoryFeedback : public ros::Msg - { - public: - - JointTrajectoryFeedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryFeedback"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryGoal.h deleted file mode 100644 index d576b2ef..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryGoal.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryGoal_h -#define _ROS_control_msgs_JointTrajectoryGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "trajectory_msgs/JointTrajectory.h" - -namespace control_msgs -{ - - class JointTrajectoryGoal : public ros::Msg - { - public: - typedef trajectory_msgs::JointTrajectory _trajectory_type; - _trajectory_type trajectory; - - JointTrajectoryGoal(): - trajectory() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->trajectory.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->trajectory.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryGoal"; }; - virtual const char * getMD5() override { return "2a0eff76c870e8595636c2a562ca298e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryResult.h deleted file mode 100644 index 87daa6a8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/JointTrajectoryResult.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_control_msgs_JointTrajectoryResult_h -#define _ROS_control_msgs_JointTrajectoryResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class JointTrajectoryResult : public ros::Msg - { - public: - - JointTrajectoryResult() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "control_msgs/JointTrajectoryResult"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PidState.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PidState.h deleted file mode 100644 index 31cd6c6d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PidState.h +++ /dev/null @@ -1,420 +0,0 @@ -#ifndef _ROS_control_msgs_PidState_h -#define _ROS_control_msgs_PidState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "ros/duration.h" - -namespace control_msgs -{ - - class PidState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef ros::Duration _timestep_type; - _timestep_type timestep; - typedef double _error_type; - _error_type error; - typedef double _error_dot_type; - _error_dot_type error_dot; - typedef double _p_error_type; - _p_error_type p_error; - typedef double _i_error_type; - _i_error_type i_error; - typedef double _d_error_type; - _d_error_type d_error; - typedef double _p_term_type; - _p_term_type p_term; - typedef double _i_term_type; - _i_term_type i_term; - typedef double _d_term_type; - _d_term_type d_term; - typedef double _i_max_type; - _i_max_type i_max; - typedef double _i_min_type; - _i_min_type i_min; - typedef double _output_type; - _output_type output; - - PidState(): - header(), - timestep(), - error(0), - error_dot(0), - p_error(0), - i_error(0), - d_error(0), - p_term(0), - i_term(0), - d_term(0), - i_max(0), - i_min(0), - output(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->timestep.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timestep.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timestep.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timestep.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timestep.sec); - *(outbuffer + offset + 0) = (this->timestep.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timestep.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timestep.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timestep.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timestep.nsec); - union { - double real; - uint64_t base; - } u_error; - u_error.real = this->error; - *(outbuffer + offset + 0) = (u_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_error.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_error.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_error.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_error.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_error.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->error); - union { - double real; - uint64_t base; - } u_error_dot; - u_error_dot.real = this->error_dot; - *(outbuffer + offset + 0) = (u_error_dot.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_error_dot.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_error_dot.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_error_dot.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_error_dot.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_error_dot.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_error_dot.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_error_dot.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->error_dot); - union { - double real; - uint64_t base; - } u_p_error; - u_p_error.real = this->p_error; - *(outbuffer + offset + 0) = (u_p_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_p_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_p_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_p_error.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_p_error.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_p_error.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_p_error.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_p_error.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->p_error); - union { - double real; - uint64_t base; - } u_i_error; - u_i_error.real = this->i_error; - *(outbuffer + offset + 0) = (u_i_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i_error.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i_error.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i_error.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i_error.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i_error.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i_error); - union { - double real; - uint64_t base; - } u_d_error; - u_d_error.real = this->d_error; - *(outbuffer + offset + 0) = (u_d_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_d_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_d_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_d_error.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_d_error.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_d_error.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_d_error.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_d_error.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->d_error); - union { - double real; - uint64_t base; - } u_p_term; - u_p_term.real = this->p_term; - *(outbuffer + offset + 0) = (u_p_term.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_p_term.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_p_term.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_p_term.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_p_term.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_p_term.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_p_term.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_p_term.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->p_term); - union { - double real; - uint64_t base; - } u_i_term; - u_i_term.real = this->i_term; - *(outbuffer + offset + 0) = (u_i_term.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i_term.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i_term.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i_term.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i_term.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i_term.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i_term.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i_term.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i_term); - union { - double real; - uint64_t base; - } u_d_term; - u_d_term.real = this->d_term; - *(outbuffer + offset + 0) = (u_d_term.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_d_term.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_d_term.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_d_term.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_d_term.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_d_term.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_d_term.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_d_term.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->d_term); - union { - double real; - uint64_t base; - } u_i_max; - u_i_max.real = this->i_max; - *(outbuffer + offset + 0) = (u_i_max.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i_max.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i_max.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i_max.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i_max.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i_max.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i_max.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i_max.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i_max); - union { - double real; - uint64_t base; - } u_i_min; - u_i_min.real = this->i_min; - *(outbuffer + offset + 0) = (u_i_min.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i_min.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i_min.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i_min.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i_min.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i_min.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i_min.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i_min.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i_min); - union { - double real; - uint64_t base; - } u_output; - u_output.real = this->output; - *(outbuffer + offset + 0) = (u_output.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_output.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_output.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_output.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_output.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_output.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_output.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_output.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->output); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->timestep.sec = ((uint32_t) (*(inbuffer + offset))); - this->timestep.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timestep.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timestep.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timestep.sec); - this->timestep.nsec = ((uint32_t) (*(inbuffer + offset))); - this->timestep.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timestep.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timestep.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timestep.nsec); - union { - double real; - uint64_t base; - } u_error; - u_error.base = 0; - u_error.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->error = u_error.real; - offset += sizeof(this->error); - union { - double real; - uint64_t base; - } u_error_dot; - u_error_dot.base = 0; - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_error_dot.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->error_dot = u_error_dot.real; - offset += sizeof(this->error_dot); - union { - double real; - uint64_t base; - } u_p_error; - u_p_error.base = 0; - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_p_error.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->p_error = u_p_error.real; - offset += sizeof(this->p_error); - union { - double real; - uint64_t base; - } u_i_error; - u_i_error.base = 0; - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i_error.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i_error = u_i_error.real; - offset += sizeof(this->i_error); - union { - double real; - uint64_t base; - } u_d_error; - u_d_error.base = 0; - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_d_error.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->d_error = u_d_error.real; - offset += sizeof(this->d_error); - union { - double real; - uint64_t base; - } u_p_term; - u_p_term.base = 0; - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_p_term.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->p_term = u_p_term.real; - offset += sizeof(this->p_term); - union { - double real; - uint64_t base; - } u_i_term; - u_i_term.base = 0; - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i_term.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i_term = u_i_term.real; - offset += sizeof(this->i_term); - union { - double real; - uint64_t base; - } u_d_term; - u_d_term.base = 0; - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_d_term.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->d_term = u_d_term.real; - offset += sizeof(this->d_term); - union { - double real; - uint64_t base; - } u_i_max; - u_i_max.base = 0; - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i_max.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i_max = u_i_max.real; - offset += sizeof(this->i_max); - union { - double real; - uint64_t base; - } u_i_min; - u_i_min.base = 0; - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i_min.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i_min = u_i_min.real; - offset += sizeof(this->i_min); - union { - double real; - uint64_t base; - } u_output; - u_output.base = 0; - u_output.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_output.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_output.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_output.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_output.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_output.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_output.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_output.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->output = u_output.real; - offset += sizeof(this->output); - return offset; - } - - virtual const char * getType() override { return "control_msgs/PidState"; }; - virtual const char * getMD5() override { return "b138ec00e886c10e73f27e8712252ea6"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadAction.h deleted file mode 100644 index 8b6514bc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_PointHeadAction_h -#define _ROS_control_msgs_PointHeadAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "control_msgs/PointHeadActionGoal.h" -#include "control_msgs/PointHeadActionResult.h" -#include "control_msgs/PointHeadActionFeedback.h" - -namespace control_msgs -{ - - class PointHeadAction : public ros::Msg - { - public: - typedef control_msgs::PointHeadActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef control_msgs::PointHeadActionResult _action_result_type; - _action_result_type action_result; - typedef control_msgs::PointHeadActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - PointHeadAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/PointHeadAction"; }; - virtual const char * getMD5() override { return "7252920f1243de1b741f14f214125371"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionFeedback.h deleted file mode 100644 index 0bbab3c5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_PointHeadActionFeedback_h -#define _ROS_control_msgs_PointHeadActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/PointHeadFeedback.h" - -namespace control_msgs -{ - - class PointHeadActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::PointHeadFeedback _feedback_type; - _feedback_type feedback; - - PointHeadActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/PointHeadActionFeedback"; }; - virtual const char * getMD5() override { return "33c9244957176bbba97dd641119e8460"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionGoal.h deleted file mode 100644 index d411bc3c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_PointHeadActionGoal_h -#define _ROS_control_msgs_PointHeadActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "control_msgs/PointHeadGoal.h" - -namespace control_msgs -{ - - class PointHeadActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef control_msgs::PointHeadGoal _goal_type; - _goal_type goal; - - PointHeadActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/PointHeadActionGoal"; }; - virtual const char * getMD5() override { return "b53a8323d0ba7b310ba17a2d3a82a6b8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionResult.h deleted file mode 100644 index 16db0fc0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_PointHeadActionResult_h -#define _ROS_control_msgs_PointHeadActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/PointHeadResult.h" - -namespace control_msgs -{ - - class PointHeadActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::PointHeadResult _result_type; - _result_type result; - - PointHeadActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/PointHeadActionResult"; }; - virtual const char * getMD5() override { return "1eb06eeff08fa7ea874431638cb52332"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadFeedback.h deleted file mode 100644 index d5d40fe4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadFeedback.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_control_msgs_PointHeadFeedback_h -#define _ROS_control_msgs_PointHeadFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class PointHeadFeedback : public ros::Msg - { - public: - typedef double _pointing_angle_error_type; - _pointing_angle_error_type pointing_angle_error; - - PointHeadFeedback(): - pointing_angle_error(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_pointing_angle_error; - u_pointing_angle_error.real = this->pointing_angle_error; - *(outbuffer + offset + 0) = (u_pointing_angle_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_pointing_angle_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_pointing_angle_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_pointing_angle_error.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_pointing_angle_error.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_pointing_angle_error.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_pointing_angle_error.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_pointing_angle_error.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->pointing_angle_error); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_pointing_angle_error; - u_pointing_angle_error.base = 0; - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_pointing_angle_error.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->pointing_angle_error = u_pointing_angle_error.real; - offset += sizeof(this->pointing_angle_error); - return offset; - } - - virtual const char * getType() override { return "control_msgs/PointHeadFeedback"; }; - virtual const char * getMD5() override { return "cce80d27fd763682da8805a73316cab4"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadGoal.h deleted file mode 100644 index d738dbe7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadGoal.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef _ROS_control_msgs_PointHeadGoal_h -#define _ROS_control_msgs_PointHeadGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/PointStamped.h" -#include "geometry_msgs/Vector3.h" -#include "ros/duration.h" - -namespace control_msgs -{ - - class PointHeadGoal : public ros::Msg - { - public: - typedef geometry_msgs::PointStamped _target_type; - _target_type target; - typedef geometry_msgs::Vector3 _pointing_axis_type; - _pointing_axis_type pointing_axis; - typedef const char* _pointing_frame_type; - _pointing_frame_type pointing_frame; - typedef ros::Duration _min_duration_type; - _min_duration_type min_duration; - typedef double _max_velocity_type; - _max_velocity_type max_velocity; - - PointHeadGoal(): - target(), - pointing_axis(), - pointing_frame(""), - min_duration(), - max_velocity(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->target.serialize(outbuffer + offset); - offset += this->pointing_axis.serialize(outbuffer + offset); - uint32_t length_pointing_frame = strlen(this->pointing_frame); - varToArr(outbuffer + offset, length_pointing_frame); - offset += 4; - memcpy(outbuffer + offset, this->pointing_frame, length_pointing_frame); - offset += length_pointing_frame; - *(outbuffer + offset + 0) = (this->min_duration.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->min_duration.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->min_duration.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->min_duration.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->min_duration.sec); - *(outbuffer + offset + 0) = (this->min_duration.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->min_duration.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->min_duration.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->min_duration.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->min_duration.nsec); - union { - double real; - uint64_t base; - } u_max_velocity; - u_max_velocity.real = this->max_velocity; - *(outbuffer + offset + 0) = (u_max_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_velocity.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_max_velocity.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_max_velocity.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_max_velocity.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_max_velocity.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->max_velocity); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->target.deserialize(inbuffer + offset); - offset += this->pointing_axis.deserialize(inbuffer + offset); - uint32_t length_pointing_frame; - arrToVar(length_pointing_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_pointing_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_pointing_frame-1]=0; - this->pointing_frame = (char *)(inbuffer + offset-1); - offset += length_pointing_frame; - this->min_duration.sec = ((uint32_t) (*(inbuffer + offset))); - this->min_duration.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->min_duration.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->min_duration.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->min_duration.sec); - this->min_duration.nsec = ((uint32_t) (*(inbuffer + offset))); - this->min_duration.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->min_duration.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->min_duration.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->min_duration.nsec); - union { - double real; - uint64_t base; - } u_max_velocity; - u_max_velocity.base = 0; - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->max_velocity = u_max_velocity.real; - offset += sizeof(this->max_velocity); - return offset; - } - - virtual const char * getType() override { return "control_msgs/PointHeadGoal"; }; - virtual const char * getMD5() override { return "8b92b1cd5e06c8a94c917dc3209a4c1d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadResult.h deleted file mode 100644 index 54668b86..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/PointHeadResult.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_control_msgs_PointHeadResult_h -#define _ROS_control_msgs_PointHeadResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class PointHeadResult : public ros::Msg - { - public: - - PointHeadResult() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "control_msgs/PointHeadResult"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryCalibrationState.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryCalibrationState.h deleted file mode 100644 index 5e249774..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryCalibrationState.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_SERVICE_QueryCalibrationState_h -#define _ROS_SERVICE_QueryCalibrationState_h -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - -static const char QUERYCALIBRATIONSTATE[] = "control_msgs/QueryCalibrationState"; - - class QueryCalibrationStateRequest : public ros::Msg - { - public: - - QueryCalibrationStateRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return QUERYCALIBRATIONSTATE; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class QueryCalibrationStateResponse : public ros::Msg - { - public: - typedef bool _is_calibrated_type; - _is_calibrated_type is_calibrated; - - QueryCalibrationStateResponse(): - is_calibrated(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_is_calibrated; - u_is_calibrated.real = this->is_calibrated; - *(outbuffer + offset + 0) = (u_is_calibrated.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_calibrated); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_is_calibrated; - u_is_calibrated.base = 0; - u_is_calibrated.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->is_calibrated = u_is_calibrated.real; - offset += sizeof(this->is_calibrated); - return offset; - } - - virtual const char * getType() override { return QUERYCALIBRATIONSTATE; }; - virtual const char * getMD5() override { return "28af3beedcb84986b8e470dc5470507d"; }; - - }; - - class QueryCalibrationState { - public: - typedef QueryCalibrationStateRequest Request; - typedef QueryCalibrationStateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryTrajectoryState.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryTrajectoryState.h deleted file mode 100644 index 23605ae2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/QueryTrajectoryState.h +++ /dev/null @@ -1,287 +0,0 @@ -#ifndef _ROS_SERVICE_QueryTrajectoryState_h -#define _ROS_SERVICE_QueryTrajectoryState_h -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" - -namespace control_msgs -{ - -static const char QUERYTRAJECTORYSTATE[] = "control_msgs/QueryTrajectoryState"; - - class QueryTrajectoryStateRequest : public ros::Msg - { - public: - typedef ros::Time _time_type; - _time_type time; - - QueryTrajectoryStateRequest(): - time() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time.sec); - *(outbuffer + offset + 0) = (this->time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->time.sec = ((uint32_t) (*(inbuffer + offset))); - this->time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time.sec); - this->time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time.nsec); - return offset; - } - - virtual const char * getType() override { return QUERYTRAJECTORYSTATE; }; - virtual const char * getMD5() override { return "556a4fb76023a469987922359d08a844"; }; - - }; - - class QueryTrajectoryStateResponse : public ros::Msg - { - public: - uint32_t name_length; - typedef char* _name_type; - _name_type st_name; - _name_type * name; - uint32_t position_length; - typedef double _position_type; - _position_type st_position; - _position_type * position; - uint32_t velocity_length; - typedef double _velocity_type; - _velocity_type st_velocity; - _velocity_type * velocity; - uint32_t acceleration_length; - typedef double _acceleration_type; - _acceleration_type st_acceleration; - _acceleration_type * acceleration; - - QueryTrajectoryStateResponse(): - name_length(0), st_name(), name(nullptr), - position_length(0), st_position(), position(nullptr), - velocity_length(0), st_velocity(), velocity(nullptr), - acceleration_length(0), st_acceleration(), acceleration(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->name_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->name_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->name_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->name_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->name_length); - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_namei = strlen(this->name[i]); - varToArr(outbuffer + offset, length_namei); - offset += 4; - memcpy(outbuffer + offset, this->name[i], length_namei); - offset += length_namei; - } - *(outbuffer + offset + 0) = (this->position_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->position_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->position_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->position_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->position_length); - for( uint32_t i = 0; i < position_length; i++){ - union { - double real; - uint64_t base; - } u_positioni; - u_positioni.real = this->position[i]; - *(outbuffer + offset + 0) = (u_positioni.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_positioni.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_positioni.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_positioni.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_positioni.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_positioni.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_positioni.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_positioni.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position[i]); - } - *(outbuffer + offset + 0) = (this->velocity_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->velocity_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->velocity_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->velocity_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->velocity_length); - for( uint32_t i = 0; i < velocity_length; i++){ - union { - double real; - uint64_t base; - } u_velocityi; - u_velocityi.real = this->velocity[i]; - *(outbuffer + offset + 0) = (u_velocityi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_velocityi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_velocityi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_velocityi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_velocityi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_velocityi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_velocityi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_velocityi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->velocity[i]); - } - *(outbuffer + offset + 0) = (this->acceleration_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->acceleration_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->acceleration_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->acceleration_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->acceleration_length); - for( uint32_t i = 0; i < acceleration_length; i++){ - union { - double real; - uint64_t base; - } u_accelerationi; - u_accelerationi.real = this->acceleration[i]; - *(outbuffer + offset + 0) = (u_accelerationi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_accelerationi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_accelerationi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_accelerationi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_accelerationi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_accelerationi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_accelerationi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_accelerationi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->acceleration[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t name_lengthT = ((uint32_t) (*(inbuffer + offset))); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->name_length); - if(name_lengthT > name_length) - this->name = (char**)realloc(this->name, name_lengthT * sizeof(char*)); - name_length = name_lengthT; - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_st_name; - arrToVar(length_st_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_name-1]=0; - this->st_name = (char *)(inbuffer + offset-1); - offset += length_st_name; - memcpy( &(this->name[i]), &(this->st_name), sizeof(char*)); - } - uint32_t position_lengthT = ((uint32_t) (*(inbuffer + offset))); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->position_length); - if(position_lengthT > position_length) - this->position = (double*)realloc(this->position, position_lengthT * sizeof(double)); - position_length = position_lengthT; - for( uint32_t i = 0; i < position_length; i++){ - union { - double real; - uint64_t base; - } u_st_position; - u_st_position.base = 0; - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_position = u_st_position.real; - offset += sizeof(this->st_position); - memcpy( &(this->position[i]), &(this->st_position), sizeof(double)); - } - uint32_t velocity_lengthT = ((uint32_t) (*(inbuffer + offset))); - velocity_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - velocity_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - velocity_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->velocity_length); - if(velocity_lengthT > velocity_length) - this->velocity = (double*)realloc(this->velocity, velocity_lengthT * sizeof(double)); - velocity_length = velocity_lengthT; - for( uint32_t i = 0; i < velocity_length; i++){ - union { - double real; - uint64_t base; - } u_st_velocity; - u_st_velocity.base = 0; - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_velocity = u_st_velocity.real; - offset += sizeof(this->st_velocity); - memcpy( &(this->velocity[i]), &(this->st_velocity), sizeof(double)); - } - uint32_t acceleration_lengthT = ((uint32_t) (*(inbuffer + offset))); - acceleration_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - acceleration_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - acceleration_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->acceleration_length); - if(acceleration_lengthT > acceleration_length) - this->acceleration = (double*)realloc(this->acceleration, acceleration_lengthT * sizeof(double)); - acceleration_length = acceleration_lengthT; - for( uint32_t i = 0; i < acceleration_length; i++){ - union { - double real; - uint64_t base; - } u_st_acceleration; - u_st_acceleration.base = 0; - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_acceleration.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_acceleration = u_st_acceleration.real; - offset += sizeof(this->st_acceleration); - memcpy( &(this->acceleration[i]), &(this->st_acceleration), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return QUERYTRAJECTORYSTATE; }; - virtual const char * getMD5() override { return "1f1a6554ad060f44d013e71868403c1a"; }; - - }; - - class QueryTrajectoryState { - public: - typedef QueryTrajectoryStateRequest Request; - typedef QueryTrajectoryStateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionAction.h deleted file mode 100644 index c5ca8e19..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_SingleJointPositionAction_h -#define _ROS_control_msgs_SingleJointPositionAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "control_msgs/SingleJointPositionActionGoal.h" -#include "control_msgs/SingleJointPositionActionResult.h" -#include "control_msgs/SingleJointPositionActionFeedback.h" - -namespace control_msgs -{ - - class SingleJointPositionAction : public ros::Msg - { - public: - typedef control_msgs::SingleJointPositionActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef control_msgs::SingleJointPositionActionResult _action_result_type; - _action_result_type action_result; - typedef control_msgs::SingleJointPositionActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - SingleJointPositionAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/SingleJointPositionAction"; }; - virtual const char * getMD5() override { return "c4a786b7d53e5d0983decf967a5a779e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionFeedback.h deleted file mode 100644 index 1e840480..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_SingleJointPositionActionFeedback_h -#define _ROS_control_msgs_SingleJointPositionActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/SingleJointPositionFeedback.h" - -namespace control_msgs -{ - - class SingleJointPositionActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::SingleJointPositionFeedback _feedback_type; - _feedback_type feedback; - - SingleJointPositionActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/SingleJointPositionActionFeedback"; }; - virtual const char * getMD5() override { return "3503b7cf8972f90d245850a5d8796cfa"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionGoal.h deleted file mode 100644 index a6a198de..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_SingleJointPositionActionGoal_h -#define _ROS_control_msgs_SingleJointPositionActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "control_msgs/SingleJointPositionGoal.h" - -namespace control_msgs -{ - - class SingleJointPositionActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef control_msgs::SingleJointPositionGoal _goal_type; - _goal_type goal; - - SingleJointPositionActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/SingleJointPositionActionGoal"; }; - virtual const char * getMD5() override { return "4b0d3d091471663e17749c1d0db90f61"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionResult.h deleted file mode 100644 index c2f4aad2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_control_msgs_SingleJointPositionActionResult_h -#define _ROS_control_msgs_SingleJointPositionActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "control_msgs/SingleJointPositionResult.h" - -namespace control_msgs -{ - - class SingleJointPositionActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef control_msgs::SingleJointPositionResult _result_type; - _result_type result; - - SingleJointPositionActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "control_msgs/SingleJointPositionActionResult"; }; - virtual const char * getMD5() override { return "1eb06eeff08fa7ea874431638cb52332"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionFeedback.h deleted file mode 100644 index 51d3d872..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionFeedback.h +++ /dev/null @@ -1,140 +0,0 @@ -#ifndef _ROS_control_msgs_SingleJointPositionFeedback_h -#define _ROS_control_msgs_SingleJointPositionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace control_msgs -{ - - class SingleJointPositionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _position_type; - _position_type position; - typedef double _velocity_type; - _velocity_type velocity; - typedef double _error_type; - _error_type error; - - SingleJointPositionFeedback(): - header(), - position(0), - velocity(0), - error(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_position; - u_position.real = this->position; - *(outbuffer + offset + 0) = (u_position.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_position.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_position.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_position.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_position.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_position.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_position.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_position.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_velocity; - u_velocity.real = this->velocity; - *(outbuffer + offset + 0) = (u_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_velocity.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_velocity.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_velocity.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_velocity.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_velocity.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->velocity); - union { - double real; - uint64_t base; - } u_error; - u_error.real = this->error; - *(outbuffer + offset + 0) = (u_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_error.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_error.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_error.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_error.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_error.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->error); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_position; - u_position.base = 0; - u_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->position = u_position.real; - offset += sizeof(this->position); - union { - double real; - uint64_t base; - } u_velocity; - u_velocity.base = 0; - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_velocity.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->velocity = u_velocity.real; - offset += sizeof(this->velocity); - union { - double real; - uint64_t base; - } u_error; - u_error.base = 0; - u_error.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_error.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->error = u_error.real; - offset += sizeof(this->error); - return offset; - } - - virtual const char * getType() override { return "control_msgs/SingleJointPositionFeedback"; }; - virtual const char * getMD5() override { return "8cee65610a3d08e0a1bded82f146f1fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionGoal.h deleted file mode 100644 index 65323e0e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionGoal.h +++ /dev/null @@ -1,126 +0,0 @@ -#ifndef _ROS_control_msgs_SingleJointPositionGoal_h -#define _ROS_control_msgs_SingleJointPositionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/duration.h" - -namespace control_msgs -{ - - class SingleJointPositionGoal : public ros::Msg - { - public: - typedef double _position_type; - _position_type position; - typedef ros::Duration _min_duration_type; - _min_duration_type min_duration; - typedef double _max_velocity_type; - _max_velocity_type max_velocity; - - SingleJointPositionGoal(): - position(0), - min_duration(), - max_velocity(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.real = this->position; - *(outbuffer + offset + 0) = (u_position.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_position.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_position.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_position.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_position.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_position.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_position.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_position.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position); - *(outbuffer + offset + 0) = (this->min_duration.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->min_duration.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->min_duration.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->min_duration.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->min_duration.sec); - *(outbuffer + offset + 0) = (this->min_duration.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->min_duration.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->min_duration.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->min_duration.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->min_duration.nsec); - union { - double real; - uint64_t base; - } u_max_velocity; - u_max_velocity.real = this->max_velocity; - *(outbuffer + offset + 0) = (u_max_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_velocity.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_max_velocity.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_max_velocity.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_max_velocity.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_max_velocity.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->max_velocity); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_position; - u_position.base = 0; - u_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->position = u_position.real; - offset += sizeof(this->position); - this->min_duration.sec = ((uint32_t) (*(inbuffer + offset))); - this->min_duration.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->min_duration.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->min_duration.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->min_duration.sec); - this->min_duration.nsec = ((uint32_t) (*(inbuffer + offset))); - this->min_duration.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->min_duration.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->min_duration.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->min_duration.nsec); - union { - double real; - uint64_t base; - } u_max_velocity; - u_max_velocity.base = 0; - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_max_velocity.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->max_velocity = u_max_velocity.real; - offset += sizeof(this->max_velocity); - return offset; - } - - virtual const char * getType() override { return "control_msgs/SingleJointPositionGoal"; }; - virtual const char * getMD5() override { return "fbaaa562a23a013fd5053e5f72cbb35c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionResult.h deleted file mode 100644 index 7062c8ec..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_msgs/SingleJointPositionResult.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_control_msgs_SingleJointPositionResult_h -#define _ROS_control_msgs_SingleJointPositionResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace control_msgs -{ - - class SingleJointPositionResult : public ros::Msg - { - public: - - SingleJointPositionResult() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "control_msgs/SingleJointPositionResult"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/control_toolbox/SetPidGains.h b/firmware/libraries/Rosserial_Arduino_Library/src/control_toolbox/SetPidGains.h deleted file mode 100644 index bb37da93..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/control_toolbox/SetPidGains.h +++ /dev/null @@ -1,216 +0,0 @@ -#ifndef _ROS_SERVICE_SetPidGains_h -#define _ROS_SERVICE_SetPidGains_h -#include -#include -#include -#include "ros/msg.h" - -namespace control_toolbox -{ - -static const char SETPIDGAINS[] = "control_toolbox/SetPidGains"; - - class SetPidGainsRequest : public ros::Msg - { - public: - typedef double _p_type; - _p_type p; - typedef double _i_type; - _i_type i; - typedef double _d_type; - _d_type d; - typedef double _i_clamp_type; - _i_clamp_type i_clamp; - typedef bool _antiwindup_type; - _antiwindup_type antiwindup; - - SetPidGainsRequest(): - p(0), - i(0), - d(0), - i_clamp(0), - antiwindup(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_p; - u_p.real = this->p; - *(outbuffer + offset + 0) = (u_p.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_p.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_p.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_p.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_p.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_p.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_p.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_p.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->p); - union { - double real; - uint64_t base; - } u_i; - u_i.real = this->i; - *(outbuffer + offset + 0) = (u_i.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i); - union { - double real; - uint64_t base; - } u_d; - u_d.real = this->d; - *(outbuffer + offset + 0) = (u_d.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_d.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_d.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_d.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_d.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_d.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_d.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_d.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->d); - union { - double real; - uint64_t base; - } u_i_clamp; - u_i_clamp.real = this->i_clamp; - *(outbuffer + offset + 0) = (u_i_clamp.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_i_clamp.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_i_clamp.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_i_clamp.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_i_clamp.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_i_clamp.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_i_clamp.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_i_clamp.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->i_clamp); - union { - bool real; - uint8_t base; - } u_antiwindup; - u_antiwindup.real = this->antiwindup; - *(outbuffer + offset + 0) = (u_antiwindup.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->antiwindup); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_p; - u_p.base = 0; - u_p.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_p.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->p = u_p.real; - offset += sizeof(this->p); - union { - double real; - uint64_t base; - } u_i; - u_i.base = 0; - u_i.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i = u_i.real; - offset += sizeof(this->i); - union { - double real; - uint64_t base; - } u_d; - u_d.base = 0; - u_d.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_d.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->d = u_d.real; - offset += sizeof(this->d); - union { - double real; - uint64_t base; - } u_i_clamp; - u_i_clamp.base = 0; - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_i_clamp.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->i_clamp = u_i_clamp.real; - offset += sizeof(this->i_clamp); - union { - bool real; - uint8_t base; - } u_antiwindup; - u_antiwindup.base = 0; - u_antiwindup.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->antiwindup = u_antiwindup.real; - offset += sizeof(this->antiwindup); - return offset; - } - - virtual const char * getType() override { return SETPIDGAINS; }; - virtual const char * getMD5() override { return "4a43159879643e60937bf2893b633607"; }; - - }; - - class SetPidGainsResponse : public ros::Msg - { - public: - - SetPidGainsResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return SETPIDGAINS; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class SetPidGains { - public: - typedef SetPidGainsRequest Request; - typedef SetPidGainsResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerState.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerState.h deleted file mode 100644 index edcd0fa1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerState.h +++ /dev/null @@ -1,115 +0,0 @@ -#ifndef _ROS_controller_manager_msgs_ControllerState_h -#define _ROS_controller_manager_msgs_ControllerState_h - -#include -#include -#include -#include "ros/msg.h" -#include "controller_manager_msgs/HardwareInterfaceResources.h" - -namespace controller_manager_msgs -{ - - class ControllerState : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef const char* _state_type; - _state_type state; - typedef const char* _type_type; - _type_type type; - uint32_t claimed_resources_length; - typedef controller_manager_msgs::HardwareInterfaceResources _claimed_resources_type; - _claimed_resources_type st_claimed_resources; - _claimed_resources_type * claimed_resources; - - ControllerState(): - name(""), - state(""), - type(""), - claimed_resources_length(0), st_claimed_resources(), claimed_resources(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_state = strlen(this->state); - varToArr(outbuffer + offset, length_state); - offset += 4; - memcpy(outbuffer + offset, this->state, length_state); - offset += length_state; - uint32_t length_type = strlen(this->type); - varToArr(outbuffer + offset, length_type); - offset += 4; - memcpy(outbuffer + offset, this->type, length_type); - offset += length_type; - *(outbuffer + offset + 0) = (this->claimed_resources_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->claimed_resources_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->claimed_resources_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->claimed_resources_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->claimed_resources_length); - for( uint32_t i = 0; i < claimed_resources_length; i++){ - offset += this->claimed_resources[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_state; - arrToVar(length_state, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_state; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_state-1]=0; - this->state = (char *)(inbuffer + offset-1); - offset += length_state; - uint32_t length_type; - arrToVar(length_type, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_type; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_type-1]=0; - this->type = (char *)(inbuffer + offset-1); - offset += length_type; - uint32_t claimed_resources_lengthT = ((uint32_t) (*(inbuffer + offset))); - claimed_resources_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - claimed_resources_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - claimed_resources_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->claimed_resources_length); - if(claimed_resources_lengthT > claimed_resources_length) - this->claimed_resources = (controller_manager_msgs::HardwareInterfaceResources*)realloc(this->claimed_resources, claimed_resources_lengthT * sizeof(controller_manager_msgs::HardwareInterfaceResources)); - claimed_resources_length = claimed_resources_lengthT; - for( uint32_t i = 0; i < claimed_resources_length; i++){ - offset += this->st_claimed_resources.deserialize(inbuffer + offset); - memcpy( &(this->claimed_resources[i]), &(this->st_claimed_resources), sizeof(controller_manager_msgs::HardwareInterfaceResources)); - } - return offset; - } - - virtual const char * getType() override { return "controller_manager_msgs/ControllerState"; }; - virtual const char * getMD5() override { return "aeb6b261d97793ab74099a3740245272"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerStatistics.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerStatistics.h deleted file mode 100644 index 66c72274..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllerStatistics.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef _ROS_controller_manager_msgs_ControllerStatistics_h -#define _ROS_controller_manager_msgs_ControllerStatistics_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" -#include "ros/duration.h" - -namespace controller_manager_msgs -{ - - class ControllerStatistics : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef const char* _type_type; - _type_type type; - typedef ros::Time _timestamp_type; - _timestamp_type timestamp; - typedef bool _running_type; - _running_type running; - typedef ros::Duration _max_time_type; - _max_time_type max_time; - typedef ros::Duration _mean_time_type; - _mean_time_type mean_time; - typedef ros::Duration _variance_time_type; - _variance_time_type variance_time; - typedef int32_t _num_control_loop_overruns_type; - _num_control_loop_overruns_type num_control_loop_overruns; - typedef ros::Time _time_last_control_loop_overrun_type; - _time_last_control_loop_overrun_type time_last_control_loop_overrun; - - ControllerStatistics(): - name(""), - type(""), - timestamp(), - running(0), - max_time(), - mean_time(), - variance_time(), - num_control_loop_overruns(0), - time_last_control_loop_overrun() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_type = strlen(this->type); - varToArr(outbuffer + offset, length_type); - offset += 4; - memcpy(outbuffer + offset, this->type, length_type); - offset += length_type; - *(outbuffer + offset + 0) = (this->timestamp.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timestamp.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timestamp.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timestamp.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timestamp.sec); - *(outbuffer + offset + 0) = (this->timestamp.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timestamp.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timestamp.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timestamp.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timestamp.nsec); - union { - bool real; - uint8_t base; - } u_running; - u_running.real = this->running; - *(outbuffer + offset + 0) = (u_running.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->running); - *(outbuffer + offset + 0) = (this->max_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->max_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->max_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->max_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->max_time.sec); - *(outbuffer + offset + 0) = (this->max_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->max_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->max_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->max_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->max_time.nsec); - *(outbuffer + offset + 0) = (this->mean_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->mean_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->mean_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->mean_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->mean_time.sec); - *(outbuffer + offset + 0) = (this->mean_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->mean_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->mean_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->mean_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->mean_time.nsec); - *(outbuffer + offset + 0) = (this->variance_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->variance_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->variance_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->variance_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->variance_time.sec); - *(outbuffer + offset + 0) = (this->variance_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->variance_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->variance_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->variance_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->variance_time.nsec); - union { - int32_t real; - uint32_t base; - } u_num_control_loop_overruns; - u_num_control_loop_overruns.real = this->num_control_loop_overruns; - *(outbuffer + offset + 0) = (u_num_control_loop_overruns.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_num_control_loop_overruns.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_num_control_loop_overruns.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_num_control_loop_overruns.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->num_control_loop_overruns); - *(outbuffer + offset + 0) = (this->time_last_control_loop_overrun.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_last_control_loop_overrun.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_last_control_loop_overrun.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_last_control_loop_overrun.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_last_control_loop_overrun.sec); - *(outbuffer + offset + 0) = (this->time_last_control_loop_overrun.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_last_control_loop_overrun.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_last_control_loop_overrun.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_last_control_loop_overrun.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_last_control_loop_overrun.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_type; - arrToVar(length_type, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_type; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_type-1]=0; - this->type = (char *)(inbuffer + offset-1); - offset += length_type; - this->timestamp.sec = ((uint32_t) (*(inbuffer + offset))); - this->timestamp.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timestamp.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timestamp.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timestamp.sec); - this->timestamp.nsec = ((uint32_t) (*(inbuffer + offset))); - this->timestamp.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timestamp.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timestamp.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timestamp.nsec); - union { - bool real; - uint8_t base; - } u_running; - u_running.base = 0; - u_running.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->running = u_running.real; - offset += sizeof(this->running); - this->max_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->max_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->max_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->max_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->max_time.sec); - this->max_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->max_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->max_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->max_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->max_time.nsec); - this->mean_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->mean_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->mean_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->mean_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->mean_time.sec); - this->mean_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->mean_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->mean_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->mean_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->mean_time.nsec); - this->variance_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->variance_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->variance_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->variance_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->variance_time.sec); - this->variance_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->variance_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->variance_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->variance_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->variance_time.nsec); - union { - int32_t real; - uint32_t base; - } u_num_control_loop_overruns; - u_num_control_loop_overruns.base = 0; - u_num_control_loop_overruns.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_num_control_loop_overruns.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_num_control_loop_overruns.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_num_control_loop_overruns.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->num_control_loop_overruns = u_num_control_loop_overruns.real; - offset += sizeof(this->num_control_loop_overruns); - this->time_last_control_loop_overrun.sec = ((uint32_t) (*(inbuffer + offset))); - this->time_last_control_loop_overrun.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_last_control_loop_overrun.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_last_control_loop_overrun.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_last_control_loop_overrun.sec); - this->time_last_control_loop_overrun.nsec = ((uint32_t) (*(inbuffer + offset))); - this->time_last_control_loop_overrun.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_last_control_loop_overrun.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_last_control_loop_overrun.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_last_control_loop_overrun.nsec); - return offset; - } - - virtual const char * getType() override { return "controller_manager_msgs/ControllerStatistics"; }; - virtual const char * getMD5() override { return "697780c372c8d8597a1436d0e2ad3ba8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllersStatistics.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllersStatistics.h deleted file mode 100644 index 8c15f868..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ControllersStatistics.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_controller_manager_msgs_ControllersStatistics_h -#define _ROS_controller_manager_msgs_ControllersStatistics_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "controller_manager_msgs/ControllerStatistics.h" - -namespace controller_manager_msgs -{ - - class ControllersStatistics : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t controller_length; - typedef controller_manager_msgs::ControllerStatistics _controller_type; - _controller_type st_controller; - _controller_type * controller; - - ControllersStatistics(): - header(), - controller_length(0), st_controller(), controller(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->controller_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->controller_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->controller_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->controller_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->controller_length); - for( uint32_t i = 0; i < controller_length; i++){ - offset += this->controller[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t controller_lengthT = ((uint32_t) (*(inbuffer + offset))); - controller_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - controller_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - controller_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->controller_length); - if(controller_lengthT > controller_length) - this->controller = (controller_manager_msgs::ControllerStatistics*)realloc(this->controller, controller_lengthT * sizeof(controller_manager_msgs::ControllerStatistics)); - controller_length = controller_lengthT; - for( uint32_t i = 0; i < controller_length; i++){ - offset += this->st_controller.deserialize(inbuffer + offset); - memcpy( &(this->controller[i]), &(this->st_controller), sizeof(controller_manager_msgs::ControllerStatistics)); - } - return offset; - } - - virtual const char * getType() override { return "controller_manager_msgs/ControllersStatistics"; }; - virtual const char * getMD5() override { return "a154c347736773e3700d1719105df29d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/HardwareInterfaceResources.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/HardwareInterfaceResources.h deleted file mode 100644 index 21cb6b82..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/HardwareInterfaceResources.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef _ROS_controller_manager_msgs_HardwareInterfaceResources_h -#define _ROS_controller_manager_msgs_HardwareInterfaceResources_h - -#include -#include -#include -#include "ros/msg.h" - -namespace controller_manager_msgs -{ - - class HardwareInterfaceResources : public ros::Msg - { - public: - typedef const char* _hardware_interface_type; - _hardware_interface_type hardware_interface; - uint32_t resources_length; - typedef char* _resources_type; - _resources_type st_resources; - _resources_type * resources; - - HardwareInterfaceResources(): - hardware_interface(""), - resources_length(0), st_resources(), resources(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_hardware_interface = strlen(this->hardware_interface); - varToArr(outbuffer + offset, length_hardware_interface); - offset += 4; - memcpy(outbuffer + offset, this->hardware_interface, length_hardware_interface); - offset += length_hardware_interface; - *(outbuffer + offset + 0) = (this->resources_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->resources_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->resources_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->resources_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->resources_length); - for( uint32_t i = 0; i < resources_length; i++){ - uint32_t length_resourcesi = strlen(this->resources[i]); - varToArr(outbuffer + offset, length_resourcesi); - offset += 4; - memcpy(outbuffer + offset, this->resources[i], length_resourcesi); - offset += length_resourcesi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_hardware_interface; - arrToVar(length_hardware_interface, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_hardware_interface; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_hardware_interface-1]=0; - this->hardware_interface = (char *)(inbuffer + offset-1); - offset += length_hardware_interface; - uint32_t resources_lengthT = ((uint32_t) (*(inbuffer + offset))); - resources_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - resources_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - resources_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->resources_length); - if(resources_lengthT > resources_length) - this->resources = (char**)realloc(this->resources, resources_lengthT * sizeof(char*)); - resources_length = resources_lengthT; - for( uint32_t i = 0; i < resources_length; i++){ - uint32_t length_st_resources; - arrToVar(length_st_resources, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_resources; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_resources-1]=0; - this->st_resources = (char *)(inbuffer + offset-1); - offset += length_st_resources; - memcpy( &(this->resources[i]), &(this->st_resources), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return "controller_manager_msgs/HardwareInterfaceResources"; }; - virtual const char * getMD5() override { return "f25b55cbf1d1f76e82e5ec9e83f76258"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllerTypes.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllerTypes.h deleted file mode 100644 index 8b354ae6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllerTypes.h +++ /dev/null @@ -1,144 +0,0 @@ -#ifndef _ROS_SERVICE_ListControllerTypes_h -#define _ROS_SERVICE_ListControllerTypes_h -#include -#include -#include -#include "ros/msg.h" - -namespace controller_manager_msgs -{ - -static const char LISTCONTROLLERTYPES[] = "controller_manager_msgs/ListControllerTypes"; - - class ListControllerTypesRequest : public ros::Msg - { - public: - - ListControllerTypesRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return LISTCONTROLLERTYPES; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class ListControllerTypesResponse : public ros::Msg - { - public: - uint32_t types_length; - typedef char* _types_type; - _types_type st_types; - _types_type * types; - uint32_t base_classes_length; - typedef char* _base_classes_type; - _base_classes_type st_base_classes; - _base_classes_type * base_classes; - - ListControllerTypesResponse(): - types_length(0), st_types(), types(nullptr), - base_classes_length(0), st_base_classes(), base_classes(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->types_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->types_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->types_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->types_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->types_length); - for( uint32_t i = 0; i < types_length; i++){ - uint32_t length_typesi = strlen(this->types[i]); - varToArr(outbuffer + offset, length_typesi); - offset += 4; - memcpy(outbuffer + offset, this->types[i], length_typesi); - offset += length_typesi; - } - *(outbuffer + offset + 0) = (this->base_classes_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->base_classes_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->base_classes_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->base_classes_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->base_classes_length); - for( uint32_t i = 0; i < base_classes_length; i++){ - uint32_t length_base_classesi = strlen(this->base_classes[i]); - varToArr(outbuffer + offset, length_base_classesi); - offset += 4; - memcpy(outbuffer + offset, this->base_classes[i], length_base_classesi); - offset += length_base_classesi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t types_lengthT = ((uint32_t) (*(inbuffer + offset))); - types_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - types_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - types_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->types_length); - if(types_lengthT > types_length) - this->types = (char**)realloc(this->types, types_lengthT * sizeof(char*)); - types_length = types_lengthT; - for( uint32_t i = 0; i < types_length; i++){ - uint32_t length_st_types; - arrToVar(length_st_types, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_types; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_types-1]=0; - this->st_types = (char *)(inbuffer + offset-1); - offset += length_st_types; - memcpy( &(this->types[i]), &(this->st_types), sizeof(char*)); - } - uint32_t base_classes_lengthT = ((uint32_t) (*(inbuffer + offset))); - base_classes_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - base_classes_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - base_classes_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->base_classes_length); - if(base_classes_lengthT > base_classes_length) - this->base_classes = (char**)realloc(this->base_classes, base_classes_lengthT * sizeof(char*)); - base_classes_length = base_classes_lengthT; - for( uint32_t i = 0; i < base_classes_length; i++){ - uint32_t length_st_base_classes; - arrToVar(length_st_base_classes, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_base_classes; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_base_classes-1]=0; - this->st_base_classes = (char *)(inbuffer + offset-1); - offset += length_st_base_classes; - memcpy( &(this->base_classes[i]), &(this->st_base_classes), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return LISTCONTROLLERTYPES; }; - virtual const char * getMD5() override { return "c1d4cd11aefa9f97ba4aeb5b33987f4e"; }; - - }; - - class ListControllerTypes { - public: - typedef ListControllerTypesRequest Request; - typedef ListControllerTypesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllers.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllers.h deleted file mode 100644 index 613db1fb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ListControllers.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_SERVICE_ListControllers_h -#define _ROS_SERVICE_ListControllers_h -#include -#include -#include -#include "ros/msg.h" -#include "controller_manager_msgs/ControllerState.h" - -namespace controller_manager_msgs -{ - -static const char LISTCONTROLLERS[] = "controller_manager_msgs/ListControllers"; - - class ListControllersRequest : public ros::Msg - { - public: - - ListControllersRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return LISTCONTROLLERS; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class ListControllersResponse : public ros::Msg - { - public: - uint32_t controller_length; - typedef controller_manager_msgs::ControllerState _controller_type; - _controller_type st_controller; - _controller_type * controller; - - ListControllersResponse(): - controller_length(0), st_controller(), controller(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->controller_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->controller_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->controller_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->controller_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->controller_length); - for( uint32_t i = 0; i < controller_length; i++){ - offset += this->controller[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t controller_lengthT = ((uint32_t) (*(inbuffer + offset))); - controller_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - controller_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - controller_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->controller_length); - if(controller_lengthT > controller_length) - this->controller = (controller_manager_msgs::ControllerState*)realloc(this->controller, controller_lengthT * sizeof(controller_manager_msgs::ControllerState)); - controller_length = controller_lengthT; - for( uint32_t i = 0; i < controller_length; i++){ - offset += this->st_controller.deserialize(inbuffer + offset); - memcpy( &(this->controller[i]), &(this->st_controller), sizeof(controller_manager_msgs::ControllerState)); - } - return offset; - } - - virtual const char * getType() override { return LISTCONTROLLERS; }; - virtual const char * getMD5() override { return "1341feb2e63fa791f855565d0da950d8"; }; - - }; - - class ListControllers { - public: - typedef ListControllersRequest Request; - typedef ListControllersResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/LoadController.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/LoadController.h deleted file mode 100644 index 5774fc3a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/LoadController.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef _ROS_SERVICE_LoadController_h -#define _ROS_SERVICE_LoadController_h -#include -#include -#include -#include "ros/msg.h" - -namespace controller_manager_msgs -{ - -static const char LOADCONTROLLER[] = "controller_manager_msgs/LoadController"; - - class LoadControllerRequest : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - - LoadControllerRequest(): - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return LOADCONTROLLER; }; - virtual const char * getMD5() override { return "c1f3d28f1b044c871e6eff2e9fc3c667"; }; - - }; - - class LoadControllerResponse : public ros::Msg - { - public: - typedef bool _ok_type; - _ok_type ok; - - LoadControllerResponse(): - ok(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.real = this->ok; - *(outbuffer + offset + 0) = (u_ok.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->ok); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.base = 0; - u_ok.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->ok = u_ok.real; - offset += sizeof(this->ok); - return offset; - } - - virtual const char * getType() override { return LOADCONTROLLER; }; - virtual const char * getMD5() override { return "6f6da3883749771fac40d6deb24a8c02"; }; - - }; - - class LoadController { - public: - typedef LoadControllerRequest Request; - typedef LoadControllerResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ReloadControllerLibraries.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ReloadControllerLibraries.h deleted file mode 100644 index a2fbef2f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/ReloadControllerLibraries.h +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef _ROS_SERVICE_ReloadControllerLibraries_h -#define _ROS_SERVICE_ReloadControllerLibraries_h -#include -#include -#include -#include "ros/msg.h" - -namespace controller_manager_msgs -{ - -static const char RELOADCONTROLLERLIBRARIES[] = "controller_manager_msgs/ReloadControllerLibraries"; - - class ReloadControllerLibrariesRequest : public ros::Msg - { - public: - typedef bool _force_kill_type; - _force_kill_type force_kill; - - ReloadControllerLibrariesRequest(): - force_kill(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_force_kill; - u_force_kill.real = this->force_kill; - *(outbuffer + offset + 0) = (u_force_kill.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->force_kill); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_force_kill; - u_force_kill.base = 0; - u_force_kill.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->force_kill = u_force_kill.real; - offset += sizeof(this->force_kill); - return offset; - } - - virtual const char * getType() override { return RELOADCONTROLLERLIBRARIES; }; - virtual const char * getMD5() override { return "18442b59be9479097f11c543bddbac62"; }; - - }; - - class ReloadControllerLibrariesResponse : public ros::Msg - { - public: - typedef bool _ok_type; - _ok_type ok; - - ReloadControllerLibrariesResponse(): - ok(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.real = this->ok; - *(outbuffer + offset + 0) = (u_ok.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->ok); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.base = 0; - u_ok.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->ok = u_ok.real; - offset += sizeof(this->ok); - return offset; - } - - virtual const char * getType() override { return RELOADCONTROLLERLIBRARIES; }; - virtual const char * getMD5() override { return "6f6da3883749771fac40d6deb24a8c02"; }; - - }; - - class ReloadControllerLibraries { - public: - typedef ReloadControllerLibrariesRequest Request; - typedef ReloadControllerLibrariesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/SwitchController.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/SwitchController.h deleted file mode 100644 index cdde64ee..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/SwitchController.h +++ /dev/null @@ -1,238 +0,0 @@ -#ifndef _ROS_SERVICE_SwitchController_h -#define _ROS_SERVICE_SwitchController_h -#include -#include -#include -#include "ros/msg.h" - -namespace controller_manager_msgs -{ - -static const char SWITCHCONTROLLER[] = "controller_manager_msgs/SwitchController"; - - class SwitchControllerRequest : public ros::Msg - { - public: - uint32_t start_controllers_length; - typedef char* _start_controllers_type; - _start_controllers_type st_start_controllers; - _start_controllers_type * start_controllers; - uint32_t stop_controllers_length; - typedef char* _stop_controllers_type; - _stop_controllers_type st_stop_controllers; - _stop_controllers_type * stop_controllers; - typedef int32_t _strictness_type; - _strictness_type strictness; - typedef bool _start_asap_type; - _start_asap_type start_asap; - typedef double _timeout_type; - _timeout_type timeout; - enum { BEST_EFFORT = 1 }; - enum { STRICT = 2 }; - - SwitchControllerRequest(): - start_controllers_length(0), st_start_controllers(), start_controllers(nullptr), - stop_controllers_length(0), st_stop_controllers(), stop_controllers(nullptr), - strictness(0), - start_asap(0), - timeout(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->start_controllers_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->start_controllers_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->start_controllers_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->start_controllers_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->start_controllers_length); - for( uint32_t i = 0; i < start_controllers_length; i++){ - uint32_t length_start_controllersi = strlen(this->start_controllers[i]); - varToArr(outbuffer + offset, length_start_controllersi); - offset += 4; - memcpy(outbuffer + offset, this->start_controllers[i], length_start_controllersi); - offset += length_start_controllersi; - } - *(outbuffer + offset + 0) = (this->stop_controllers_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stop_controllers_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stop_controllers_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stop_controllers_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->stop_controllers_length); - for( uint32_t i = 0; i < stop_controllers_length; i++){ - uint32_t length_stop_controllersi = strlen(this->stop_controllers[i]); - varToArr(outbuffer + offset, length_stop_controllersi); - offset += 4; - memcpy(outbuffer + offset, this->stop_controllers[i], length_stop_controllersi); - offset += length_stop_controllersi; - } - union { - int32_t real; - uint32_t base; - } u_strictness; - u_strictness.real = this->strictness; - *(outbuffer + offset + 0) = (u_strictness.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_strictness.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_strictness.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_strictness.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->strictness); - union { - bool real; - uint8_t base; - } u_start_asap; - u_start_asap.real = this->start_asap; - *(outbuffer + offset + 0) = (u_start_asap.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->start_asap); - union { - double real; - uint64_t base; - } u_timeout; - u_timeout.real = this->timeout; - *(outbuffer + offset + 0) = (u_timeout.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_timeout.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_timeout.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_timeout.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_timeout.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_timeout.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_timeout.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_timeout.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->timeout); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t start_controllers_lengthT = ((uint32_t) (*(inbuffer + offset))); - start_controllers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - start_controllers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - start_controllers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->start_controllers_length); - if(start_controllers_lengthT > start_controllers_length) - this->start_controllers = (char**)realloc(this->start_controllers, start_controllers_lengthT * sizeof(char*)); - start_controllers_length = start_controllers_lengthT; - for( uint32_t i = 0; i < start_controllers_length; i++){ - uint32_t length_st_start_controllers; - arrToVar(length_st_start_controllers, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_start_controllers; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_start_controllers-1]=0; - this->st_start_controllers = (char *)(inbuffer + offset-1); - offset += length_st_start_controllers; - memcpy( &(this->start_controllers[i]), &(this->st_start_controllers), sizeof(char*)); - } - uint32_t stop_controllers_lengthT = ((uint32_t) (*(inbuffer + offset))); - stop_controllers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - stop_controllers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - stop_controllers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stop_controllers_length); - if(stop_controllers_lengthT > stop_controllers_length) - this->stop_controllers = (char**)realloc(this->stop_controllers, stop_controllers_lengthT * sizeof(char*)); - stop_controllers_length = stop_controllers_lengthT; - for( uint32_t i = 0; i < stop_controllers_length; i++){ - uint32_t length_st_stop_controllers; - arrToVar(length_st_stop_controllers, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_stop_controllers; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_stop_controllers-1]=0; - this->st_stop_controllers = (char *)(inbuffer + offset-1); - offset += length_st_stop_controllers; - memcpy( &(this->stop_controllers[i]), &(this->st_stop_controllers), sizeof(char*)); - } - union { - int32_t real; - uint32_t base; - } u_strictness; - u_strictness.base = 0; - u_strictness.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_strictness.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_strictness.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_strictness.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->strictness = u_strictness.real; - offset += sizeof(this->strictness); - union { - bool real; - uint8_t base; - } u_start_asap; - u_start_asap.base = 0; - u_start_asap.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->start_asap = u_start_asap.real; - offset += sizeof(this->start_asap); - union { - double real; - uint64_t base; - } u_timeout; - u_timeout.base = 0; - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_timeout.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->timeout = u_timeout.real; - offset += sizeof(this->timeout); - return offset; - } - - virtual const char * getType() override { return SWITCHCONTROLLER; }; - virtual const char * getMD5() override { return "36d99a977432b71d4bf16ce5847949d7"; }; - - }; - - class SwitchControllerResponse : public ros::Msg - { - public: - typedef bool _ok_type; - _ok_type ok; - - SwitchControllerResponse(): - ok(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.real = this->ok; - *(outbuffer + offset + 0) = (u_ok.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->ok); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.base = 0; - u_ok.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->ok = u_ok.real; - offset += sizeof(this->ok); - return offset; - } - - virtual const char * getType() override { return SWITCHCONTROLLER; }; - virtual const char * getMD5() override { return "6f6da3883749771fac40d6deb24a8c02"; }; - - }; - - class SwitchController { - public: - typedef SwitchControllerRequest Request; - typedef SwitchControllerResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/UnloadController.h b/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/UnloadController.h deleted file mode 100644 index da59ff53..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/controller_manager_msgs/UnloadController.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef _ROS_SERVICE_UnloadController_h -#define _ROS_SERVICE_UnloadController_h -#include -#include -#include -#include "ros/msg.h" - -namespace controller_manager_msgs -{ - -static const char UNLOADCONTROLLER[] = "controller_manager_msgs/UnloadController"; - - class UnloadControllerRequest : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - - UnloadControllerRequest(): - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return UNLOADCONTROLLER; }; - virtual const char * getMD5() override { return "c1f3d28f1b044c871e6eff2e9fc3c667"; }; - - }; - - class UnloadControllerResponse : public ros::Msg - { - public: - typedef bool _ok_type; - _ok_type ok; - - UnloadControllerResponse(): - ok(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.real = this->ok; - *(outbuffer + offset + 0) = (u_ok.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->ok); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_ok; - u_ok.base = 0; - u_ok.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->ok = u_ok.real; - offset += sizeof(this->ok); - return offset; - } - - virtual const char * getType() override { return UNLOADCONTROLLER; }; - virtual const char * getMD5() override { return "6f6da3883749771fac40d6deb24a8c02"; }; - - }; - - class UnloadController { - public: - typedef UnloadControllerRequest Request; - typedef UnloadControllerResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/AddDiagnostics.h b/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/AddDiagnostics.h deleted file mode 100644 index c6b9c38c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/AddDiagnostics.h +++ /dev/null @@ -1,122 +0,0 @@ -#ifndef _ROS_SERVICE_AddDiagnostics_h -#define _ROS_SERVICE_AddDiagnostics_h -#include -#include -#include -#include "ros/msg.h" - -namespace diagnostic_msgs -{ - -static const char ADDDIAGNOSTICS[] = "diagnostic_msgs/AddDiagnostics"; - - class AddDiagnosticsRequest : public ros::Msg - { - public: - typedef const char* _load_namespace_type; - _load_namespace_type load_namespace; - - AddDiagnosticsRequest(): - load_namespace("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_load_namespace = strlen(this->load_namespace); - varToArr(outbuffer + offset, length_load_namespace); - offset += 4; - memcpy(outbuffer + offset, this->load_namespace, length_load_namespace); - offset += length_load_namespace; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_load_namespace; - arrToVar(length_load_namespace, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_load_namespace; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_load_namespace-1]=0; - this->load_namespace = (char *)(inbuffer + offset-1); - offset += length_load_namespace; - return offset; - } - - virtual const char * getType() override { return ADDDIAGNOSTICS; }; - virtual const char * getMD5() override { return "c26cf6e164288fbc6050d74f838bcdf0"; }; - - }; - - class AddDiagnosticsResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _message_type; - _message_type message; - - AddDiagnosticsResponse(): - success(0), - message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_message = strlen(this->message); - varToArr(outbuffer + offset, length_message); - offset += 4; - memcpy(outbuffer + offset, this->message, length_message); - offset += length_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_message; - arrToVar(length_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message-1]=0; - this->message = (char *)(inbuffer + offset-1); - offset += length_message; - return offset; - } - - virtual const char * getType() override { return ADDDIAGNOSTICS; }; - virtual const char * getMD5() override { return "937c9679a518e3a18d831e57125ea522"; }; - - }; - - class AddDiagnostics { - public: - typedef AddDiagnosticsRequest Request; - typedef AddDiagnosticsResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticArray.h deleted file mode 100644 index 7fe71923..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticArray.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_diagnostic_msgs_DiagnosticArray_h -#define _ROS_diagnostic_msgs_DiagnosticArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "diagnostic_msgs/DiagnosticStatus.h" - -namespace diagnostic_msgs -{ - - class DiagnosticArray : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t status_length; - typedef diagnostic_msgs::DiagnosticStatus _status_type; - _status_type st_status; - _status_type * status; - - DiagnosticArray(): - header(), - status_length(0), st_status(), status(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->status_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->status_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->status_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->status_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->status_length); - for( uint32_t i = 0; i < status_length; i++){ - offset += this->status[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t status_lengthT = ((uint32_t) (*(inbuffer + offset))); - status_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - status_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - status_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->status_length); - if(status_lengthT > status_length) - this->status = (diagnostic_msgs::DiagnosticStatus*)realloc(this->status, status_lengthT * sizeof(diagnostic_msgs::DiagnosticStatus)); - status_length = status_lengthT; - for( uint32_t i = 0; i < status_length; i++){ - offset += this->st_status.deserialize(inbuffer + offset); - memcpy( &(this->status[i]), &(this->st_status), sizeof(diagnostic_msgs::DiagnosticStatus)); - } - return offset; - } - - virtual const char * getType() override { return "diagnostic_msgs/DiagnosticArray"; }; - virtual const char * getMD5() override { return "60810da900de1dd6ddd437c3503511da"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticStatus.h deleted file mode 100644 index b5a74ea0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/DiagnosticStatus.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef _ROS_diagnostic_msgs_DiagnosticStatus_h -#define _ROS_diagnostic_msgs_DiagnosticStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "diagnostic_msgs/KeyValue.h" - -namespace diagnostic_msgs -{ - - class DiagnosticStatus : public ros::Msg - { - public: - typedef int8_t _level_type; - _level_type level; - typedef const char* _name_type; - _name_type name; - typedef const char* _message_type; - _message_type message; - typedef const char* _hardware_id_type; - _hardware_id_type hardware_id; - uint32_t values_length; - typedef diagnostic_msgs::KeyValue _values_type; - _values_type st_values; - _values_type * values; - enum { OK = 0 }; - enum { WARN = 1 }; - enum { ERROR = 2 }; - enum { STALE = 3 }; - - DiagnosticStatus(): - level(0), - name(""), - message(""), - hardware_id(""), - values_length(0), st_values(), values(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_level; - u_level.real = this->level; - *(outbuffer + offset + 0) = (u_level.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->level); - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_message = strlen(this->message); - varToArr(outbuffer + offset, length_message); - offset += 4; - memcpy(outbuffer + offset, this->message, length_message); - offset += length_message; - uint32_t length_hardware_id = strlen(this->hardware_id); - varToArr(outbuffer + offset, length_hardware_id); - offset += 4; - memcpy(outbuffer + offset, this->hardware_id, length_hardware_id); - offset += length_hardware_id; - *(outbuffer + offset + 0) = (this->values_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->values_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->values_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->values_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->values_length); - for( uint32_t i = 0; i < values_length; i++){ - offset += this->values[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_level; - u_level.base = 0; - u_level.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->level = u_level.real; - offset += sizeof(this->level); - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_message; - arrToVar(length_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message-1]=0; - this->message = (char *)(inbuffer + offset-1); - offset += length_message; - uint32_t length_hardware_id; - arrToVar(length_hardware_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_hardware_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_hardware_id-1]=0; - this->hardware_id = (char *)(inbuffer + offset-1); - offset += length_hardware_id; - uint32_t values_lengthT = ((uint32_t) (*(inbuffer + offset))); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->values_length); - if(values_lengthT > values_length) - this->values = (diagnostic_msgs::KeyValue*)realloc(this->values, values_lengthT * sizeof(diagnostic_msgs::KeyValue)); - values_length = values_lengthT; - for( uint32_t i = 0; i < values_length; i++){ - offset += this->st_values.deserialize(inbuffer + offset); - memcpy( &(this->values[i]), &(this->st_values), sizeof(diagnostic_msgs::KeyValue)); - } - return offset; - } - - virtual const char * getType() override { return "diagnostic_msgs/DiagnosticStatus"; }; - virtual const char * getMD5() override { return "d0ce08bc6e5ba34c7754f563a9cabaf1"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/KeyValue.h b/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/KeyValue.h deleted file mode 100644 index ac3abb10..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/KeyValue.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef _ROS_diagnostic_msgs_KeyValue_h -#define _ROS_diagnostic_msgs_KeyValue_h - -#include -#include -#include -#include "ros/msg.h" - -namespace diagnostic_msgs -{ - - class KeyValue : public ros::Msg - { - public: - typedef const char* _key_type; - _key_type key; - typedef const char* _value_type; - _value_type value; - - KeyValue(): - key(""), - value("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_key = strlen(this->key); - varToArr(outbuffer + offset, length_key); - offset += 4; - memcpy(outbuffer + offset, this->key, length_key); - offset += length_key; - uint32_t length_value = strlen(this->value); - varToArr(outbuffer + offset, length_value); - offset += 4; - memcpy(outbuffer + offset, this->value, length_value); - offset += length_value; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_key; - arrToVar(length_key, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_key; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_key-1]=0; - this->key = (char *)(inbuffer + offset-1); - offset += length_key; - uint32_t length_value; - arrToVar(length_value, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_value; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_value-1]=0; - this->value = (char *)(inbuffer + offset-1); - offset += length_value; - return offset; - } - - virtual const char * getType() override { return "diagnostic_msgs/KeyValue"; }; - virtual const char * getMD5() override { return "cf57fdc6617a881a88c16e768132149c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/SelfTest.h b/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/SelfTest.h deleted file mode 100644 index 7e014b95..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/diagnostic_msgs/SelfTest.h +++ /dev/null @@ -1,131 +0,0 @@ -#ifndef _ROS_SERVICE_SelfTest_h -#define _ROS_SERVICE_SelfTest_h -#include -#include -#include -#include "ros/msg.h" -#include "diagnostic_msgs/DiagnosticStatus.h" - -namespace diagnostic_msgs -{ - -static const char SELFTEST[] = "diagnostic_msgs/SelfTest"; - - class SelfTestRequest : public ros::Msg - { - public: - - SelfTestRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return SELFTEST; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class SelfTestResponse : public ros::Msg - { - public: - typedef const char* _id_type; - _id_type id; - typedef int8_t _passed_type; - _passed_type passed; - uint32_t status_length; - typedef diagnostic_msgs::DiagnosticStatus _status_type; - _status_type st_status; - _status_type * status; - - SelfTestResponse(): - id(""), - passed(0), - status_length(0), st_status(), status(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_id = strlen(this->id); - varToArr(outbuffer + offset, length_id); - offset += 4; - memcpy(outbuffer + offset, this->id, length_id); - offset += length_id; - union { - int8_t real; - uint8_t base; - } u_passed; - u_passed.real = this->passed; - *(outbuffer + offset + 0) = (u_passed.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->passed); - *(outbuffer + offset + 0) = (this->status_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->status_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->status_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->status_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->status_length); - for( uint32_t i = 0; i < status_length; i++){ - offset += this->status[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_id; - arrToVar(length_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_id-1]=0; - this->id = (char *)(inbuffer + offset-1); - offset += length_id; - union { - int8_t real; - uint8_t base; - } u_passed; - u_passed.base = 0; - u_passed.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->passed = u_passed.real; - offset += sizeof(this->passed); - uint32_t status_lengthT = ((uint32_t) (*(inbuffer + offset))); - status_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - status_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - status_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->status_length); - if(status_lengthT > status_length) - this->status = (diagnostic_msgs::DiagnosticStatus*)realloc(this->status, status_lengthT * sizeof(diagnostic_msgs::DiagnosticStatus)); - status_length = status_lengthT; - for( uint32_t i = 0; i < status_length; i++){ - offset += this->st_status.deserialize(inbuffer + offset); - memcpy( &(this->status[i]), &(this->st_status), sizeof(diagnostic_msgs::DiagnosticStatus)); - } - return offset; - } - - virtual const char * getType() override { return SELFTEST; }; - virtual const char * getMD5() override { return "ac21b1bab7ab17546986536c22eb34e9"; }; - - }; - - class SelfTest { - public: - typedef SelfTestRequest Request; - typedef SelfTestResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/duration.cpp b/firmware/libraries/Rosserial_Arduino_Library/src/duration.cpp deleted file mode 100644 index d2dfdd6f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/duration.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include "ros/duration.h" - -namespace ros -{ -void normalizeSecNSecSigned(int32_t &sec, int32_t &nsec) -{ - int32_t nsec_part = nsec; - int32_t sec_part = sec; - - while (nsec_part > 1000000000L) - { - nsec_part -= 1000000000L; - ++sec_part; - } - while (nsec_part < 0) - { - nsec_part += 1000000000L; - --sec_part; - } - sec = sec_part; - nsec = nsec_part; -} - -Duration& Duration::operator+=(const Duration &rhs) -{ - sec += rhs.sec; - nsec += rhs.nsec; - normalizeSecNSecSigned(sec, nsec); - return *this; -} - -Duration& Duration::operator-=(const Duration &rhs) -{ - sec += -rhs.sec; - nsec += -rhs.nsec; - normalizeSecNSecSigned(sec, nsec); - return *this; -} - -Duration& Duration::operator*=(double scale) -{ - sec *= scale; - nsec *= scale; - normalizeSecNSecSigned(sec, nsec); - return *this; -} - -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/BoolParameter.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/BoolParameter.h deleted file mode 100644 index 00da01b6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/BoolParameter.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_BoolParameter_h -#define _ROS_dynamic_reconfigure_BoolParameter_h - -#include -#include -#include -#include "ros/msg.h" - -namespace dynamic_reconfigure -{ - - class BoolParameter : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef bool _value_type; - _value_type value; - - BoolParameter(): - name(""), - value(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - union { - bool real; - uint8_t base; - } u_value; - u_value.real = this->value; - *(outbuffer + offset + 0) = (u_value.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->value); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - union { - bool real; - uint8_t base; - } u_value; - u_value.base = 0; - u_value.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->value = u_value.real; - offset += sizeof(this->value); - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/BoolParameter"; }; - virtual const char * getMD5() override { return "23f05028c1a699fb83e22401228c3a9e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Config.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Config.h deleted file mode 100644 index 3651ea5a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Config.h +++ /dev/null @@ -1,168 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_Config_h -#define _ROS_dynamic_reconfigure_Config_h - -#include -#include -#include -#include "ros/msg.h" -#include "dynamic_reconfigure/BoolParameter.h" -#include "dynamic_reconfigure/IntParameter.h" -#include "dynamic_reconfigure/StrParameter.h" -#include "dynamic_reconfigure/DoubleParameter.h" -#include "dynamic_reconfigure/GroupState.h" - -namespace dynamic_reconfigure -{ - - class Config : public ros::Msg - { - public: - uint32_t bools_length; - typedef dynamic_reconfigure::BoolParameter _bools_type; - _bools_type st_bools; - _bools_type * bools; - uint32_t ints_length; - typedef dynamic_reconfigure::IntParameter _ints_type; - _ints_type st_ints; - _ints_type * ints; - uint32_t strs_length; - typedef dynamic_reconfigure::StrParameter _strs_type; - _strs_type st_strs; - _strs_type * strs; - uint32_t doubles_length; - typedef dynamic_reconfigure::DoubleParameter _doubles_type; - _doubles_type st_doubles; - _doubles_type * doubles; - uint32_t groups_length; - typedef dynamic_reconfigure::GroupState _groups_type; - _groups_type st_groups; - _groups_type * groups; - - Config(): - bools_length(0), st_bools(), bools(nullptr), - ints_length(0), st_ints(), ints(nullptr), - strs_length(0), st_strs(), strs(nullptr), - doubles_length(0), st_doubles(), doubles(nullptr), - groups_length(0), st_groups(), groups(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->bools_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->bools_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->bools_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->bools_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->bools_length); - for( uint32_t i = 0; i < bools_length; i++){ - offset += this->bools[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->ints_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ints_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->ints_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->ints_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->ints_length); - for( uint32_t i = 0; i < ints_length; i++){ - offset += this->ints[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->strs_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->strs_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->strs_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->strs_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->strs_length); - for( uint32_t i = 0; i < strs_length; i++){ - offset += this->strs[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->doubles_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->doubles_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->doubles_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->doubles_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->doubles_length); - for( uint32_t i = 0; i < doubles_length; i++){ - offset += this->doubles[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->groups_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->groups_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->groups_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->groups_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->groups_length); - for( uint32_t i = 0; i < groups_length; i++){ - offset += this->groups[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t bools_lengthT = ((uint32_t) (*(inbuffer + offset))); - bools_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - bools_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - bools_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->bools_length); - if(bools_lengthT > bools_length) - this->bools = (dynamic_reconfigure::BoolParameter*)realloc(this->bools, bools_lengthT * sizeof(dynamic_reconfigure::BoolParameter)); - bools_length = bools_lengthT; - for( uint32_t i = 0; i < bools_length; i++){ - offset += this->st_bools.deserialize(inbuffer + offset); - memcpy( &(this->bools[i]), &(this->st_bools), sizeof(dynamic_reconfigure::BoolParameter)); - } - uint32_t ints_lengthT = ((uint32_t) (*(inbuffer + offset))); - ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->ints_length); - if(ints_lengthT > ints_length) - this->ints = (dynamic_reconfigure::IntParameter*)realloc(this->ints, ints_lengthT * sizeof(dynamic_reconfigure::IntParameter)); - ints_length = ints_lengthT; - for( uint32_t i = 0; i < ints_length; i++){ - offset += this->st_ints.deserialize(inbuffer + offset); - memcpy( &(this->ints[i]), &(this->st_ints), sizeof(dynamic_reconfigure::IntParameter)); - } - uint32_t strs_lengthT = ((uint32_t) (*(inbuffer + offset))); - strs_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - strs_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - strs_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->strs_length); - if(strs_lengthT > strs_length) - this->strs = (dynamic_reconfigure::StrParameter*)realloc(this->strs, strs_lengthT * sizeof(dynamic_reconfigure::StrParameter)); - strs_length = strs_lengthT; - for( uint32_t i = 0; i < strs_length; i++){ - offset += this->st_strs.deserialize(inbuffer + offset); - memcpy( &(this->strs[i]), &(this->st_strs), sizeof(dynamic_reconfigure::StrParameter)); - } - uint32_t doubles_lengthT = ((uint32_t) (*(inbuffer + offset))); - doubles_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - doubles_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - doubles_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->doubles_length); - if(doubles_lengthT > doubles_length) - this->doubles = (dynamic_reconfigure::DoubleParameter*)realloc(this->doubles, doubles_lengthT * sizeof(dynamic_reconfigure::DoubleParameter)); - doubles_length = doubles_lengthT; - for( uint32_t i = 0; i < doubles_length; i++){ - offset += this->st_doubles.deserialize(inbuffer + offset); - memcpy( &(this->doubles[i]), &(this->st_doubles), sizeof(dynamic_reconfigure::DoubleParameter)); - } - uint32_t groups_lengthT = ((uint32_t) (*(inbuffer + offset))); - groups_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - groups_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - groups_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->groups_length); - if(groups_lengthT > groups_length) - this->groups = (dynamic_reconfigure::GroupState*)realloc(this->groups, groups_lengthT * sizeof(dynamic_reconfigure::GroupState)); - groups_length = groups_lengthT; - for( uint32_t i = 0; i < groups_length; i++){ - offset += this->st_groups.deserialize(inbuffer + offset); - memcpy( &(this->groups[i]), &(this->st_groups), sizeof(dynamic_reconfigure::GroupState)); - } - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/Config"; }; - virtual const char * getMD5() override { return "958f16a05573709014982821e6822580"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ConfigDescription.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ConfigDescription.h deleted file mode 100644 index d53a35b9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ConfigDescription.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_ConfigDescription_h -#define _ROS_dynamic_reconfigure_ConfigDescription_h - -#include -#include -#include -#include "ros/msg.h" -#include "dynamic_reconfigure/Group.h" -#include "dynamic_reconfigure/Config.h" - -namespace dynamic_reconfigure -{ - - class ConfigDescription : public ros::Msg - { - public: - uint32_t groups_length; - typedef dynamic_reconfigure::Group _groups_type; - _groups_type st_groups; - _groups_type * groups; - typedef dynamic_reconfigure::Config _max_type; - _max_type max; - typedef dynamic_reconfigure::Config _min_type; - _min_type min; - typedef dynamic_reconfigure::Config _dflt_type; - _dflt_type dflt; - - ConfigDescription(): - groups_length(0), st_groups(), groups(nullptr), - max(), - min(), - dflt() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->groups_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->groups_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->groups_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->groups_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->groups_length); - for( uint32_t i = 0; i < groups_length; i++){ - offset += this->groups[i].serialize(outbuffer + offset); - } - offset += this->max.serialize(outbuffer + offset); - offset += this->min.serialize(outbuffer + offset); - offset += this->dflt.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t groups_lengthT = ((uint32_t) (*(inbuffer + offset))); - groups_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - groups_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - groups_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->groups_length); - if(groups_lengthT > groups_length) - this->groups = (dynamic_reconfigure::Group*)realloc(this->groups, groups_lengthT * sizeof(dynamic_reconfigure::Group)); - groups_length = groups_lengthT; - for( uint32_t i = 0; i < groups_length; i++){ - offset += this->st_groups.deserialize(inbuffer + offset); - memcpy( &(this->groups[i]), &(this->st_groups), sizeof(dynamic_reconfigure::Group)); - } - offset += this->max.deserialize(inbuffer + offset); - offset += this->min.deserialize(inbuffer + offset); - offset += this->dflt.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/ConfigDescription"; }; - virtual const char * getMD5() override { return "757ce9d44ba8ddd801bb30bc456f946f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/DoubleParameter.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/DoubleParameter.h deleted file mode 100644 index eaca7344..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/DoubleParameter.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_DoubleParameter_h -#define _ROS_dynamic_reconfigure_DoubleParameter_h - -#include -#include -#include -#include "ros/msg.h" - -namespace dynamic_reconfigure -{ - - class DoubleParameter : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef double _value_type; - _value_type value; - - DoubleParameter(): - name(""), - value(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - union { - double real; - uint64_t base; - } u_value; - u_value.real = this->value; - *(outbuffer + offset + 0) = (u_value.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_value.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_value.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_value.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_value.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_value.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_value.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_value.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->value); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - union { - double real; - uint64_t base; - } u_value; - u_value.base = 0; - u_value.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_value.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_value.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_value.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_value.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_value.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_value.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_value.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->value = u_value.real; - offset += sizeof(this->value); - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/DoubleParameter"; }; - virtual const char * getMD5() override { return "d8512f27253c0f65f928a67c329cd658"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Group.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Group.h deleted file mode 100644 index 07710882..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Group.h +++ /dev/null @@ -1,146 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_Group_h -#define _ROS_dynamic_reconfigure_Group_h - -#include -#include -#include -#include "ros/msg.h" -#include "dynamic_reconfigure/ParamDescription.h" - -namespace dynamic_reconfigure -{ - - class Group : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef const char* _type_type; - _type_type type; - uint32_t parameters_length; - typedef dynamic_reconfigure::ParamDescription _parameters_type; - _parameters_type st_parameters; - _parameters_type * parameters; - typedef int32_t _parent_type; - _parent_type parent; - typedef int32_t _id_type; - _id_type id; - - Group(): - name(""), - type(""), - parameters_length(0), st_parameters(), parameters(nullptr), - parent(0), - id(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_type = strlen(this->type); - varToArr(outbuffer + offset, length_type); - offset += 4; - memcpy(outbuffer + offset, this->type, length_type); - offset += length_type; - *(outbuffer + offset + 0) = (this->parameters_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->parameters_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->parameters_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->parameters_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->parameters_length); - for( uint32_t i = 0; i < parameters_length; i++){ - offset += this->parameters[i].serialize(outbuffer + offset); - } - union { - int32_t real; - uint32_t base; - } u_parent; - u_parent.real = this->parent; - *(outbuffer + offset + 0) = (u_parent.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_parent.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_parent.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_parent.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->parent); - union { - int32_t real; - uint32_t base; - } u_id; - u_id.real = this->id; - *(outbuffer + offset + 0) = (u_id.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_id.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_id.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_id.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->id); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_type; - arrToVar(length_type, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_type; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_type-1]=0; - this->type = (char *)(inbuffer + offset-1); - offset += length_type; - uint32_t parameters_lengthT = ((uint32_t) (*(inbuffer + offset))); - parameters_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - parameters_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - parameters_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->parameters_length); - if(parameters_lengthT > parameters_length) - this->parameters = (dynamic_reconfigure::ParamDescription*)realloc(this->parameters, parameters_lengthT * sizeof(dynamic_reconfigure::ParamDescription)); - parameters_length = parameters_lengthT; - for( uint32_t i = 0; i < parameters_length; i++){ - offset += this->st_parameters.deserialize(inbuffer + offset); - memcpy( &(this->parameters[i]), &(this->st_parameters), sizeof(dynamic_reconfigure::ParamDescription)); - } - union { - int32_t real; - uint32_t base; - } u_parent; - u_parent.base = 0; - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->parent = u_parent.real; - offset += sizeof(this->parent); - union { - int32_t real; - uint32_t base; - } u_id; - u_id.base = 0; - u_id.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->id = u_id.real; - offset += sizeof(this->id); - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/Group"; }; - virtual const char * getMD5() override { return "9e8cd9e9423c94823db3614dd8b1cf7a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/GroupState.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/GroupState.h deleted file mode 100644 index 0339d1fc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/GroupState.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_GroupState_h -#define _ROS_dynamic_reconfigure_GroupState_h - -#include -#include -#include -#include "ros/msg.h" - -namespace dynamic_reconfigure -{ - - class GroupState : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef bool _state_type; - _state_type state; - typedef int32_t _id_type; - _id_type id; - typedef int32_t _parent_type; - _parent_type parent; - - GroupState(): - name(""), - state(0), - id(0), - parent(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - union { - bool real; - uint8_t base; - } u_state; - u_state.real = this->state; - *(outbuffer + offset + 0) = (u_state.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->state); - union { - int32_t real; - uint32_t base; - } u_id; - u_id.real = this->id; - *(outbuffer + offset + 0) = (u_id.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_id.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_id.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_id.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->id); - union { - int32_t real; - uint32_t base; - } u_parent; - u_parent.real = this->parent; - *(outbuffer + offset + 0) = (u_parent.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_parent.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_parent.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_parent.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->parent); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - union { - bool real; - uint8_t base; - } u_state; - u_state.base = 0; - u_state.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->state = u_state.real; - offset += sizeof(this->state); - union { - int32_t real; - uint32_t base; - } u_id; - u_id.base = 0; - u_id.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->id = u_id.real; - offset += sizeof(this->id); - union { - int32_t real; - uint32_t base; - } u_parent; - u_parent.base = 0; - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_parent.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->parent = u_parent.real; - offset += sizeof(this->parent); - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/GroupState"; }; - virtual const char * getMD5() override { return "a2d87f51dc22930325041a2f8b1571f8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/IntParameter.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/IntParameter.h deleted file mode 100644 index 32926f4c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/IntParameter.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_IntParameter_h -#define _ROS_dynamic_reconfigure_IntParameter_h - -#include -#include -#include -#include "ros/msg.h" - -namespace dynamic_reconfigure -{ - - class IntParameter : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef int32_t _value_type; - _value_type value; - - IntParameter(): - name(""), - value(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - union { - int32_t real; - uint32_t base; - } u_value; - u_value.real = this->value; - *(outbuffer + offset + 0) = (u_value.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_value.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_value.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_value.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->value); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - union { - int32_t real; - uint32_t base; - } u_value; - u_value.base = 0; - u_value.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_value.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_value.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_value.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->value = u_value.real; - offset += sizeof(this->value); - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/IntParameter"; }; - virtual const char * getMD5() override { return "65fedc7a0cbfb8db035e46194a350bf1"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ParamDescription.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ParamDescription.h deleted file mode 100644 index fde17e56..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/ParamDescription.h +++ /dev/null @@ -1,119 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_ParamDescription_h -#define _ROS_dynamic_reconfigure_ParamDescription_h - -#include -#include -#include -#include "ros/msg.h" - -namespace dynamic_reconfigure -{ - - class ParamDescription : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef const char* _type_type; - _type_type type; - typedef uint32_t _level_type; - _level_type level; - typedef const char* _description_type; - _description_type description; - typedef const char* _edit_method_type; - _edit_method_type edit_method; - - ParamDescription(): - name(""), - type(""), - level(0), - description(""), - edit_method("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_type = strlen(this->type); - varToArr(outbuffer + offset, length_type); - offset += 4; - memcpy(outbuffer + offset, this->type, length_type); - offset += length_type; - *(outbuffer + offset + 0) = (this->level >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->level >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->level >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->level >> (8 * 3)) & 0xFF; - offset += sizeof(this->level); - uint32_t length_description = strlen(this->description); - varToArr(outbuffer + offset, length_description); - offset += 4; - memcpy(outbuffer + offset, this->description, length_description); - offset += length_description; - uint32_t length_edit_method = strlen(this->edit_method); - varToArr(outbuffer + offset, length_edit_method); - offset += 4; - memcpy(outbuffer + offset, this->edit_method, length_edit_method); - offset += length_edit_method; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_type; - arrToVar(length_type, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_type; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_type-1]=0; - this->type = (char *)(inbuffer + offset-1); - offset += length_type; - this->level = ((uint32_t) (*(inbuffer + offset))); - this->level |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->level |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->level |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->level); - uint32_t length_description; - arrToVar(length_description, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_description; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_description-1]=0; - this->description = (char *)(inbuffer + offset-1); - offset += length_description; - uint32_t length_edit_method; - arrToVar(length_edit_method, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_edit_method; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_edit_method-1]=0; - this->edit_method = (char *)(inbuffer + offset-1); - offset += length_edit_method; - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/ParamDescription"; }; - virtual const char * getMD5() override { return "7434fcb9348c13054e0c3b267c8cb34d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Reconfigure.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Reconfigure.h deleted file mode 100644 index 53ab3199..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/Reconfigure.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef _ROS_SERVICE_Reconfigure_h -#define _ROS_SERVICE_Reconfigure_h -#include -#include -#include -#include "ros/msg.h" -#include "dynamic_reconfigure/Config.h" - -namespace dynamic_reconfigure -{ - -static const char RECONFIGURE[] = "dynamic_reconfigure/Reconfigure"; - - class ReconfigureRequest : public ros::Msg - { - public: - typedef dynamic_reconfigure::Config _config_type; - _config_type config; - - ReconfigureRequest(): - config() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->config.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->config.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return RECONFIGURE; }; - virtual const char * getMD5() override { return "ac41a77620a4a0348b7001641796a8a1"; }; - - }; - - class ReconfigureResponse : public ros::Msg - { - public: - typedef dynamic_reconfigure::Config _config_type; - _config_type config; - - ReconfigureResponse(): - config() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->config.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->config.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return RECONFIGURE; }; - virtual const char * getMD5() override { return "ac41a77620a4a0348b7001641796a8a1"; }; - - }; - - class Reconfigure { - public: - typedef ReconfigureRequest Request; - typedef ReconfigureResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/SensorLevels.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/SensorLevels.h deleted file mode 100644 index 5001af72..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/SensorLevels.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_SensorLevels_h -#define _ROS_dynamic_reconfigure_SensorLevels_h - -#include -#include -#include -#include "ros/msg.h" - -namespace dynamic_reconfigure -{ - - class SensorLevels : public ros::Msg - { - public: - enum { RECONFIGURE_CLOSE = 3 }; - enum { RECONFIGURE_STOP = 1 }; - enum { RECONFIGURE_RUNNING = 0 }; - - SensorLevels() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/SensorLevels"; }; - virtual const char * getMD5() override { return "6322637bee96d5489db6e2127c47602c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/StrParameter.h b/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/StrParameter.h deleted file mode 100644 index 900753c7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/dynamic_reconfigure/StrParameter.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef _ROS_dynamic_reconfigure_StrParameter_h -#define _ROS_dynamic_reconfigure_StrParameter_h - -#include -#include -#include -#include "ros/msg.h" - -namespace dynamic_reconfigure -{ - - class StrParameter : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef const char* _value_type; - _value_type value; - - StrParameter(): - name(""), - value("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_value = strlen(this->value); - varToArr(outbuffer + offset, length_value); - offset += 4; - memcpy(outbuffer + offset, this->value, length_value); - offset += length_value; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_value; - arrToVar(length_value, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_value; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_value-1]=0; - this->value = (char *)(inbuffer + offset-1); - offset += length_value; - return offset; - } - - virtual const char * getType() override { return "dynamic_reconfigure/StrParameter"; }; - virtual const char * getMD5() override { return "bc6ccc4a57f61779c8eaae61e9f422e0"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyBodyWrench.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyBodyWrench.h deleted file mode 100644 index 700f4008..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyBodyWrench.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef _ROS_SERVICE_ApplyBodyWrench_h -#define _ROS_SERVICE_ApplyBodyWrench_h -#include -#include -#include -#include "ros/msg.h" -#include "ros/duration.h" -#include "geometry_msgs/Wrench.h" -#include "ros/time.h" -#include "geometry_msgs/Point.h" - -namespace gazebo_msgs -{ - -static const char APPLYBODYWRENCH[] = "gazebo_msgs/ApplyBodyWrench"; - - class ApplyBodyWrenchRequest : public ros::Msg - { - public: - typedef const char* _body_name_type; - _body_name_type body_name; - typedef const char* _reference_frame_type; - _reference_frame_type reference_frame; - typedef geometry_msgs::Point _reference_point_type; - _reference_point_type reference_point; - typedef geometry_msgs::Wrench _wrench_type; - _wrench_type wrench; - typedef ros::Time _start_time_type; - _start_time_type start_time; - typedef ros::Duration _duration_type; - _duration_type duration; - - ApplyBodyWrenchRequest(): - body_name(""), - reference_frame(""), - reference_point(), - wrench(), - start_time(), - duration() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_body_name = strlen(this->body_name); - varToArr(outbuffer + offset, length_body_name); - offset += 4; - memcpy(outbuffer + offset, this->body_name, length_body_name); - offset += length_body_name; - uint32_t length_reference_frame = strlen(this->reference_frame); - varToArr(outbuffer + offset, length_reference_frame); - offset += 4; - memcpy(outbuffer + offset, this->reference_frame, length_reference_frame); - offset += length_reference_frame; - offset += this->reference_point.serialize(outbuffer + offset); - offset += this->wrench.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->start_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->start_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->start_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->start_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->start_time.sec); - *(outbuffer + offset + 0) = (this->start_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->start_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->start_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->start_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->start_time.nsec); - *(outbuffer + offset + 0) = (this->duration.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->duration.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->duration.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->duration.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->duration.sec); - *(outbuffer + offset + 0) = (this->duration.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->duration.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->duration.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->duration.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->duration.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_body_name; - arrToVar(length_body_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_body_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_body_name-1]=0; - this->body_name = (char *)(inbuffer + offset-1); - offset += length_body_name; - uint32_t length_reference_frame; - arrToVar(length_reference_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_reference_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_reference_frame-1]=0; - this->reference_frame = (char *)(inbuffer + offset-1); - offset += length_reference_frame; - offset += this->reference_point.deserialize(inbuffer + offset); - offset += this->wrench.deserialize(inbuffer + offset); - this->start_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->start_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->start_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->start_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->start_time.sec); - this->start_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->start_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->start_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->start_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->start_time.nsec); - this->duration.sec = ((uint32_t) (*(inbuffer + offset))); - this->duration.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->duration.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->duration.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->duration.sec); - this->duration.nsec = ((uint32_t) (*(inbuffer + offset))); - this->duration.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->duration.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->duration.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->duration.nsec); - return offset; - } - - virtual const char * getType() override { return APPLYBODYWRENCH; }; - virtual const char * getMD5() override { return "e37e6adf97eba5095baa77dffb71e5bd"; }; - - }; - - class ApplyBodyWrenchResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - ApplyBodyWrenchResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return APPLYBODYWRENCH; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class ApplyBodyWrench { - public: - typedef ApplyBodyWrenchRequest Request; - typedef ApplyBodyWrenchResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyJointEffort.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyJointEffort.h deleted file mode 100644 index cf79318c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ApplyJointEffort.h +++ /dev/null @@ -1,202 +0,0 @@ -#ifndef _ROS_SERVICE_ApplyJointEffort_h -#define _ROS_SERVICE_ApplyJointEffort_h -#include -#include -#include -#include "ros/msg.h" -#include "ros/duration.h" -#include "ros/time.h" - -namespace gazebo_msgs -{ - -static const char APPLYJOINTEFFORT[] = "gazebo_msgs/ApplyJointEffort"; - - class ApplyJointEffortRequest : public ros::Msg - { - public: - typedef const char* _joint_name_type; - _joint_name_type joint_name; - typedef double _effort_type; - _effort_type effort; - typedef ros::Time _start_time_type; - _start_time_type start_time; - typedef ros::Duration _duration_type; - _duration_type duration; - - ApplyJointEffortRequest(): - joint_name(""), - effort(0), - start_time(), - duration() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_joint_name = strlen(this->joint_name); - varToArr(outbuffer + offset, length_joint_name); - offset += 4; - memcpy(outbuffer + offset, this->joint_name, length_joint_name); - offset += length_joint_name; - union { - double real; - uint64_t base; - } u_effort; - u_effort.real = this->effort; - *(outbuffer + offset + 0) = (u_effort.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_effort.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_effort.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_effort.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_effort.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_effort.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_effort.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_effort.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->effort); - *(outbuffer + offset + 0) = (this->start_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->start_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->start_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->start_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->start_time.sec); - *(outbuffer + offset + 0) = (this->start_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->start_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->start_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->start_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->start_time.nsec); - *(outbuffer + offset + 0) = (this->duration.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->duration.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->duration.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->duration.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->duration.sec); - *(outbuffer + offset + 0) = (this->duration.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->duration.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->duration.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->duration.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->duration.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_joint_name; - arrToVar(length_joint_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_joint_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_joint_name-1]=0; - this->joint_name = (char *)(inbuffer + offset-1); - offset += length_joint_name; - union { - double real; - uint64_t base; - } u_effort; - u_effort.base = 0; - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_effort.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->effort = u_effort.real; - offset += sizeof(this->effort); - this->start_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->start_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->start_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->start_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->start_time.sec); - this->start_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->start_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->start_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->start_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->start_time.nsec); - this->duration.sec = ((uint32_t) (*(inbuffer + offset))); - this->duration.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->duration.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->duration.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->duration.sec); - this->duration.nsec = ((uint32_t) (*(inbuffer + offset))); - this->duration.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->duration.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->duration.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->duration.nsec); - return offset; - } - - virtual const char * getType() override { return APPLYJOINTEFFORT; }; - virtual const char * getMD5() override { return "2c3396ab9af67a509ecd2167a8fe41a2"; }; - - }; - - class ApplyJointEffortResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - ApplyJointEffortResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return APPLYJOINTEFFORT; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class ApplyJointEffort { - public: - typedef ApplyJointEffortRequest Request; - typedef ApplyJointEffortResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/BodyRequest.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/BodyRequest.h deleted file mode 100644 index 4475095f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/BodyRequest.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_BodyRequest_h -#define _ROS_SERVICE_BodyRequest_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char BODYREQUEST[] = "gazebo_msgs/BodyRequest"; - - class BodyRequestRequest : public ros::Msg - { - public: - typedef const char* _body_name_type; - _body_name_type body_name; - - BodyRequestRequest(): - body_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_body_name = strlen(this->body_name); - varToArr(outbuffer + offset, length_body_name); - offset += 4; - memcpy(outbuffer + offset, this->body_name, length_body_name); - offset += length_body_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_body_name; - arrToVar(length_body_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_body_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_body_name-1]=0; - this->body_name = (char *)(inbuffer + offset-1); - offset += length_body_name; - return offset; - } - - virtual const char * getType() override { return BODYREQUEST; }; - virtual const char * getMD5() override { return "5eade9afe7f232d78005bd0cafeab755"; }; - - }; - - class BodyRequestResponse : public ros::Msg - { - public: - - BodyRequestResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return BODYREQUEST; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class BodyRequest { - public: - typedef BodyRequestRequest Request; - typedef BodyRequestResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactState.h deleted file mode 100644 index 95caab06..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactState.h +++ /dev/null @@ -1,223 +0,0 @@ -#ifndef _ROS_gazebo_msgs_ContactState_h -#define _ROS_gazebo_msgs_ContactState_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Wrench.h" -#include "geometry_msgs/Vector3.h" - -namespace gazebo_msgs -{ - - class ContactState : public ros::Msg - { - public: - typedef const char* _info_type; - _info_type info; - typedef const char* _collision1_name_type; - _collision1_name_type collision1_name; - typedef const char* _collision2_name_type; - _collision2_name_type collision2_name; - uint32_t wrenches_length; - typedef geometry_msgs::Wrench _wrenches_type; - _wrenches_type st_wrenches; - _wrenches_type * wrenches; - typedef geometry_msgs::Wrench _total_wrench_type; - _total_wrench_type total_wrench; - uint32_t contact_positions_length; - typedef geometry_msgs::Vector3 _contact_positions_type; - _contact_positions_type st_contact_positions; - _contact_positions_type * contact_positions; - uint32_t contact_normals_length; - typedef geometry_msgs::Vector3 _contact_normals_type; - _contact_normals_type st_contact_normals; - _contact_normals_type * contact_normals; - uint32_t depths_length; - typedef double _depths_type; - _depths_type st_depths; - _depths_type * depths; - - ContactState(): - info(""), - collision1_name(""), - collision2_name(""), - wrenches_length(0), st_wrenches(), wrenches(nullptr), - total_wrench(), - contact_positions_length(0), st_contact_positions(), contact_positions(nullptr), - contact_normals_length(0), st_contact_normals(), contact_normals(nullptr), - depths_length(0), st_depths(), depths(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_info = strlen(this->info); - varToArr(outbuffer + offset, length_info); - offset += 4; - memcpy(outbuffer + offset, this->info, length_info); - offset += length_info; - uint32_t length_collision1_name = strlen(this->collision1_name); - varToArr(outbuffer + offset, length_collision1_name); - offset += 4; - memcpy(outbuffer + offset, this->collision1_name, length_collision1_name); - offset += length_collision1_name; - uint32_t length_collision2_name = strlen(this->collision2_name); - varToArr(outbuffer + offset, length_collision2_name); - offset += 4; - memcpy(outbuffer + offset, this->collision2_name, length_collision2_name); - offset += length_collision2_name; - *(outbuffer + offset + 0) = (this->wrenches_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wrenches_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->wrenches_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->wrenches_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->wrenches_length); - for( uint32_t i = 0; i < wrenches_length; i++){ - offset += this->wrenches[i].serialize(outbuffer + offset); - } - offset += this->total_wrench.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->contact_positions_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->contact_positions_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->contact_positions_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->contact_positions_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->contact_positions_length); - for( uint32_t i = 0; i < contact_positions_length; i++){ - offset += this->contact_positions[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->contact_normals_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->contact_normals_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->contact_normals_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->contact_normals_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->contact_normals_length); - for( uint32_t i = 0; i < contact_normals_length; i++){ - offset += this->contact_normals[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->depths_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->depths_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->depths_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->depths_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->depths_length); - for( uint32_t i = 0; i < depths_length; i++){ - union { - double real; - uint64_t base; - } u_depthsi; - u_depthsi.real = this->depths[i]; - *(outbuffer + offset + 0) = (u_depthsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_depthsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_depthsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_depthsi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_depthsi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_depthsi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_depthsi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_depthsi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->depths[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_info; - arrToVar(length_info, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_info; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_info-1]=0; - this->info = (char *)(inbuffer + offset-1); - offset += length_info; - uint32_t length_collision1_name; - arrToVar(length_collision1_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_collision1_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_collision1_name-1]=0; - this->collision1_name = (char *)(inbuffer + offset-1); - offset += length_collision1_name; - uint32_t length_collision2_name; - arrToVar(length_collision2_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_collision2_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_collision2_name-1]=0; - this->collision2_name = (char *)(inbuffer + offset-1); - offset += length_collision2_name; - uint32_t wrenches_lengthT = ((uint32_t) (*(inbuffer + offset))); - wrenches_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - wrenches_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - wrenches_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->wrenches_length); - if(wrenches_lengthT > wrenches_length) - this->wrenches = (geometry_msgs::Wrench*)realloc(this->wrenches, wrenches_lengthT * sizeof(geometry_msgs::Wrench)); - wrenches_length = wrenches_lengthT; - for( uint32_t i = 0; i < wrenches_length; i++){ - offset += this->st_wrenches.deserialize(inbuffer + offset); - memcpy( &(this->wrenches[i]), &(this->st_wrenches), sizeof(geometry_msgs::Wrench)); - } - offset += this->total_wrench.deserialize(inbuffer + offset); - uint32_t contact_positions_lengthT = ((uint32_t) (*(inbuffer + offset))); - contact_positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - contact_positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - contact_positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->contact_positions_length); - if(contact_positions_lengthT > contact_positions_length) - this->contact_positions = (geometry_msgs::Vector3*)realloc(this->contact_positions, contact_positions_lengthT * sizeof(geometry_msgs::Vector3)); - contact_positions_length = contact_positions_lengthT; - for( uint32_t i = 0; i < contact_positions_length; i++){ - offset += this->st_contact_positions.deserialize(inbuffer + offset); - memcpy( &(this->contact_positions[i]), &(this->st_contact_positions), sizeof(geometry_msgs::Vector3)); - } - uint32_t contact_normals_lengthT = ((uint32_t) (*(inbuffer + offset))); - contact_normals_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - contact_normals_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - contact_normals_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->contact_normals_length); - if(contact_normals_lengthT > contact_normals_length) - this->contact_normals = (geometry_msgs::Vector3*)realloc(this->contact_normals, contact_normals_lengthT * sizeof(geometry_msgs::Vector3)); - contact_normals_length = contact_normals_lengthT; - for( uint32_t i = 0; i < contact_normals_length; i++){ - offset += this->st_contact_normals.deserialize(inbuffer + offset); - memcpy( &(this->contact_normals[i]), &(this->st_contact_normals), sizeof(geometry_msgs::Vector3)); - } - uint32_t depths_lengthT = ((uint32_t) (*(inbuffer + offset))); - depths_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - depths_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - depths_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->depths_length); - if(depths_lengthT > depths_length) - this->depths = (double*)realloc(this->depths, depths_lengthT * sizeof(double)); - depths_length = depths_lengthT; - for( uint32_t i = 0; i < depths_length; i++){ - union { - double real; - uint64_t base; - } u_st_depths; - u_st_depths.base = 0; - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_depths.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_depths = u_st_depths.real; - offset += sizeof(this->st_depths); - memcpy( &(this->depths[i]), &(this->st_depths), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/ContactState"; }; - virtual const char * getMD5() override { return "48c0ffb054b8c444f870cecea1ee50d9"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactsState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactsState.h deleted file mode 100644 index 5977fa50..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ContactsState.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_gazebo_msgs_ContactsState_h -#define _ROS_gazebo_msgs_ContactsState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "gazebo_msgs/ContactState.h" - -namespace gazebo_msgs -{ - - class ContactsState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t states_length; - typedef gazebo_msgs::ContactState _states_type; - _states_type st_states; - _states_type * states; - - ContactsState(): - header(), - states_length(0), st_states(), states(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->states_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->states_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->states_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->states_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->states_length); - for( uint32_t i = 0; i < states_length; i++){ - offset += this->states[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t states_lengthT = ((uint32_t) (*(inbuffer + offset))); - states_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - states_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - states_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->states_length); - if(states_lengthT > states_length) - this->states = (gazebo_msgs::ContactState*)realloc(this->states, states_lengthT * sizeof(gazebo_msgs::ContactState)); - states_length = states_lengthT; - for( uint32_t i = 0; i < states_length; i++){ - offset += this->st_states.deserialize(inbuffer + offset); - memcpy( &(this->states[i]), &(this->st_states), sizeof(gazebo_msgs::ContactState)); - } - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/ContactsState"; }; - virtual const char * getMD5() override { return "acbcb1601a8e525bf72509f18e6f668d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteLight.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteLight.h deleted file mode 100644 index 607e8e89..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteLight.h +++ /dev/null @@ -1,122 +0,0 @@ -#ifndef _ROS_SERVICE_DeleteLight_h -#define _ROS_SERVICE_DeleteLight_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char DELETELIGHT[] = "gazebo_msgs/DeleteLight"; - - class DeleteLightRequest : public ros::Msg - { - public: - typedef const char* _light_name_type; - _light_name_type light_name; - - DeleteLightRequest(): - light_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_light_name = strlen(this->light_name); - varToArr(outbuffer + offset, length_light_name); - offset += 4; - memcpy(outbuffer + offset, this->light_name, length_light_name); - offset += length_light_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_light_name; - arrToVar(length_light_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_light_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_light_name-1]=0; - this->light_name = (char *)(inbuffer + offset-1); - offset += length_light_name; - return offset; - } - - virtual const char * getType() override { return DELETELIGHT; }; - virtual const char * getMD5() override { return "4fb676dfb4741fc866365702a859441c"; }; - - }; - - class DeleteLightResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - DeleteLightResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return DELETELIGHT; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class DeleteLight { - public: - typedef DeleteLightRequest Request; - typedef DeleteLightResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteModel.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteModel.h deleted file mode 100644 index 66aa84d5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/DeleteModel.h +++ /dev/null @@ -1,122 +0,0 @@ -#ifndef _ROS_SERVICE_DeleteModel_h -#define _ROS_SERVICE_DeleteModel_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char DELETEMODEL[] = "gazebo_msgs/DeleteModel"; - - class DeleteModelRequest : public ros::Msg - { - public: - typedef const char* _model_name_type; - _model_name_type model_name; - - DeleteModelRequest(): - model_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_model_name = strlen(this->model_name); - varToArr(outbuffer + offset, length_model_name); - offset += 4; - memcpy(outbuffer + offset, this->model_name, length_model_name); - offset += length_model_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_model_name; - arrToVar(length_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_name-1]=0; - this->model_name = (char *)(inbuffer + offset-1); - offset += length_model_name; - return offset; - } - - virtual const char * getType() override { return DELETEMODEL; }; - virtual const char * getMD5() override { return "ea31c8eab6fc401383cf528a7c0984ba"; }; - - }; - - class DeleteModelResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - DeleteModelResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return DELETEMODEL; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class DeleteModel { - public: - typedef DeleteModelRequest Request; - typedef DeleteModelResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetJointProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetJointProperties.h deleted file mode 100644 index 8eeb6324..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetJointProperties.h +++ /dev/null @@ -1,291 +0,0 @@ -#ifndef _ROS_SERVICE_GetJointProperties_h -#define _ROS_SERVICE_GetJointProperties_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char GETJOINTPROPERTIES[] = "gazebo_msgs/GetJointProperties"; - - class GetJointPropertiesRequest : public ros::Msg - { - public: - typedef const char* _joint_name_type; - _joint_name_type joint_name; - - GetJointPropertiesRequest(): - joint_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_joint_name = strlen(this->joint_name); - varToArr(outbuffer + offset, length_joint_name); - offset += 4; - memcpy(outbuffer + offset, this->joint_name, length_joint_name); - offset += length_joint_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_joint_name; - arrToVar(length_joint_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_joint_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_joint_name-1]=0; - this->joint_name = (char *)(inbuffer + offset-1); - offset += length_joint_name; - return offset; - } - - virtual const char * getType() override { return GETJOINTPROPERTIES; }; - virtual const char * getMD5() override { return "0be1351618e1dc030eb7959d9a4902de"; }; - - }; - - class GetJointPropertiesResponse : public ros::Msg - { - public: - typedef uint8_t _type_type; - _type_type type; - uint32_t damping_length; - typedef double _damping_type; - _damping_type st_damping; - _damping_type * damping; - uint32_t position_length; - typedef double _position_type; - _position_type st_position; - _position_type * position; - uint32_t rate_length; - typedef double _rate_type; - _rate_type st_rate; - _rate_type * rate; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - enum { REVOLUTE = 0 }; - enum { CONTINUOUS = 1 }; - enum { PRISMATIC = 2 }; - enum { FIXED = 3 }; - enum { BALL = 4 }; - enum { UNIVERSAL = 5 }; - - GetJointPropertiesResponse(): - type(0), - damping_length(0), st_damping(), damping(nullptr), - position_length(0), st_position(), position(nullptr), - rate_length(0), st_rate(), rate(nullptr), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - *(outbuffer + offset + 0) = (this->damping_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->damping_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->damping_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->damping_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->damping_length); - for( uint32_t i = 0; i < damping_length; i++){ - union { - double real; - uint64_t base; - } u_dampingi; - u_dampingi.real = this->damping[i]; - *(outbuffer + offset + 0) = (u_dampingi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_dampingi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_dampingi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_dampingi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_dampingi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_dampingi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_dampingi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_dampingi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->damping[i]); - } - *(outbuffer + offset + 0) = (this->position_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->position_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->position_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->position_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->position_length); - for( uint32_t i = 0; i < position_length; i++){ - union { - double real; - uint64_t base; - } u_positioni; - u_positioni.real = this->position[i]; - *(outbuffer + offset + 0) = (u_positioni.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_positioni.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_positioni.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_positioni.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_positioni.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_positioni.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_positioni.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_positioni.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position[i]); - } - *(outbuffer + offset + 0) = (this->rate_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->rate_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->rate_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->rate_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->rate_length); - for( uint32_t i = 0; i < rate_length; i++){ - union { - double real; - uint64_t base; - } u_ratei; - u_ratei.real = this->rate[i]; - *(outbuffer + offset + 0) = (u_ratei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ratei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ratei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ratei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ratei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ratei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ratei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ratei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->rate[i]); - } - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - uint32_t damping_lengthT = ((uint32_t) (*(inbuffer + offset))); - damping_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - damping_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - damping_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->damping_length); - if(damping_lengthT > damping_length) - this->damping = (double*)realloc(this->damping, damping_lengthT * sizeof(double)); - damping_length = damping_lengthT; - for( uint32_t i = 0; i < damping_length; i++){ - union { - double real; - uint64_t base; - } u_st_damping; - u_st_damping.base = 0; - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_damping = u_st_damping.real; - offset += sizeof(this->st_damping); - memcpy( &(this->damping[i]), &(this->st_damping), sizeof(double)); - } - uint32_t position_lengthT = ((uint32_t) (*(inbuffer + offset))); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->position_length); - if(position_lengthT > position_length) - this->position = (double*)realloc(this->position, position_lengthT * sizeof(double)); - position_length = position_lengthT; - for( uint32_t i = 0; i < position_length; i++){ - union { - double real; - uint64_t base; - } u_st_position; - u_st_position.base = 0; - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_position = u_st_position.real; - offset += sizeof(this->st_position); - memcpy( &(this->position[i]), &(this->st_position), sizeof(double)); - } - uint32_t rate_lengthT = ((uint32_t) (*(inbuffer + offset))); - rate_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - rate_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - rate_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->rate_length); - if(rate_lengthT > rate_length) - this->rate = (double*)realloc(this->rate, rate_lengthT * sizeof(double)); - rate_length = rate_lengthT; - for( uint32_t i = 0; i < rate_length; i++){ - union { - double real; - uint64_t base; - } u_st_rate; - u_st_rate.base = 0; - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_rate.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_rate = u_st_rate.real; - offset += sizeof(this->st_rate); - memcpy( &(this->rate[i]), &(this->st_rate), sizeof(double)); - } - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETJOINTPROPERTIES; }; - virtual const char * getMD5() override { return "cd7b30a39faa372283dc94c5f6457f82"; }; - - }; - - class GetJointProperties { - public: - typedef GetJointPropertiesRequest Request; - typedef GetJointPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLightProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLightProperties.h deleted file mode 100644 index 897e9554..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLightProperties.h +++ /dev/null @@ -1,224 +0,0 @@ -#ifndef _ROS_SERVICE_GetLightProperties_h -#define _ROS_SERVICE_GetLightProperties_h -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/ColorRGBA.h" - -namespace gazebo_msgs -{ - -static const char GETLIGHTPROPERTIES[] = "gazebo_msgs/GetLightProperties"; - - class GetLightPropertiesRequest : public ros::Msg - { - public: - typedef const char* _light_name_type; - _light_name_type light_name; - - GetLightPropertiesRequest(): - light_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_light_name = strlen(this->light_name); - varToArr(outbuffer + offset, length_light_name); - offset += 4; - memcpy(outbuffer + offset, this->light_name, length_light_name); - offset += length_light_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_light_name; - arrToVar(length_light_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_light_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_light_name-1]=0; - this->light_name = (char *)(inbuffer + offset-1); - offset += length_light_name; - return offset; - } - - virtual const char * getType() override { return GETLIGHTPROPERTIES; }; - virtual const char * getMD5() override { return "4fb676dfb4741fc866365702a859441c"; }; - - }; - - class GetLightPropertiesResponse : public ros::Msg - { - public: - typedef std_msgs::ColorRGBA _diffuse_type; - _diffuse_type diffuse; - typedef double _attenuation_constant_type; - _attenuation_constant_type attenuation_constant; - typedef double _attenuation_linear_type; - _attenuation_linear_type attenuation_linear; - typedef double _attenuation_quadratic_type; - _attenuation_quadratic_type attenuation_quadratic; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - GetLightPropertiesResponse(): - diffuse(), - attenuation_constant(0), - attenuation_linear(0), - attenuation_quadratic(0), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->diffuse.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_attenuation_constant; - u_attenuation_constant.real = this->attenuation_constant; - *(outbuffer + offset + 0) = (u_attenuation_constant.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_attenuation_constant.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_attenuation_constant.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_attenuation_constant.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_attenuation_constant.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_attenuation_constant.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_attenuation_constant.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_attenuation_constant.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->attenuation_constant); - union { - double real; - uint64_t base; - } u_attenuation_linear; - u_attenuation_linear.real = this->attenuation_linear; - *(outbuffer + offset + 0) = (u_attenuation_linear.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_attenuation_linear.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_attenuation_linear.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_attenuation_linear.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_attenuation_linear.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_attenuation_linear.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_attenuation_linear.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_attenuation_linear.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->attenuation_linear); - union { - double real; - uint64_t base; - } u_attenuation_quadratic; - u_attenuation_quadratic.real = this->attenuation_quadratic; - *(outbuffer + offset + 0) = (u_attenuation_quadratic.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_attenuation_quadratic.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_attenuation_quadratic.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_attenuation_quadratic.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_attenuation_quadratic.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_attenuation_quadratic.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_attenuation_quadratic.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_attenuation_quadratic.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->attenuation_quadratic); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->diffuse.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_attenuation_constant; - u_attenuation_constant.base = 0; - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->attenuation_constant = u_attenuation_constant.real; - offset += sizeof(this->attenuation_constant); - union { - double real; - uint64_t base; - } u_attenuation_linear; - u_attenuation_linear.base = 0; - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->attenuation_linear = u_attenuation_linear.real; - offset += sizeof(this->attenuation_linear); - union { - double real; - uint64_t base; - } u_attenuation_quadratic; - u_attenuation_quadratic.base = 0; - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->attenuation_quadratic = u_attenuation_quadratic.real; - offset += sizeof(this->attenuation_quadratic); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETLIGHTPROPERTIES; }; - virtual const char * getMD5() override { return "9a19ddd5aab4c13b7643d1722c709f1f"; }; - - }; - - class GetLightProperties { - public: - typedef GetLightPropertiesRequest Request; - typedef GetLightPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkProperties.h deleted file mode 100644 index 56184bd9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkProperties.h +++ /dev/null @@ -1,370 +0,0 @@ -#ifndef _ROS_SERVICE_GetLinkProperties_h -#define _ROS_SERVICE_GetLinkProperties_h -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" - -namespace gazebo_msgs -{ - -static const char GETLINKPROPERTIES[] = "gazebo_msgs/GetLinkProperties"; - - class GetLinkPropertiesRequest : public ros::Msg - { - public: - typedef const char* _link_name_type; - _link_name_type link_name; - - GetLinkPropertiesRequest(): - link_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_link_name = strlen(this->link_name); - varToArr(outbuffer + offset, length_link_name); - offset += 4; - memcpy(outbuffer + offset, this->link_name, length_link_name); - offset += length_link_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_link_name; - arrToVar(length_link_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_link_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_link_name-1]=0; - this->link_name = (char *)(inbuffer + offset-1); - offset += length_link_name; - return offset; - } - - virtual const char * getType() override { return GETLINKPROPERTIES; }; - virtual const char * getMD5() override { return "7d82d60381f1b66a30f2157f60884345"; }; - - }; - - class GetLinkPropertiesResponse : public ros::Msg - { - public: - typedef geometry_msgs::Pose _com_type; - _com_type com; - typedef bool _gravity_mode_type; - _gravity_mode_type gravity_mode; - typedef double _mass_type; - _mass_type mass; - typedef double _ixx_type; - _ixx_type ixx; - typedef double _ixy_type; - _ixy_type ixy; - typedef double _ixz_type; - _ixz_type ixz; - typedef double _iyy_type; - _iyy_type iyy; - typedef double _iyz_type; - _iyz_type iyz; - typedef double _izz_type; - _izz_type izz; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - GetLinkPropertiesResponse(): - com(), - gravity_mode(0), - mass(0), - ixx(0), - ixy(0), - ixz(0), - iyy(0), - iyz(0), - izz(0), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->com.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_gravity_mode; - u_gravity_mode.real = this->gravity_mode; - *(outbuffer + offset + 0) = (u_gravity_mode.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->gravity_mode); - union { - double real; - uint64_t base; - } u_mass; - u_mass.real = this->mass; - *(outbuffer + offset + 0) = (u_mass.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_mass.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_mass.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_mass.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_mass.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_mass.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_mass.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_mass.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->mass); - union { - double real; - uint64_t base; - } u_ixx; - u_ixx.real = this->ixx; - *(outbuffer + offset + 0) = (u_ixx.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixx.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixx.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixx.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixx.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixx.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixx.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixx.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixx); - union { - double real; - uint64_t base; - } u_ixy; - u_ixy.real = this->ixy; - *(outbuffer + offset + 0) = (u_ixy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixy.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixy.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixy.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixy.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixy.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixy); - union { - double real; - uint64_t base; - } u_ixz; - u_ixz.real = this->ixz; - *(outbuffer + offset + 0) = (u_ixz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixz); - union { - double real; - uint64_t base; - } u_iyy; - u_iyy.real = this->iyy; - *(outbuffer + offset + 0) = (u_iyy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iyy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iyy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iyy.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_iyy.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_iyy.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_iyy.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_iyy.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->iyy); - union { - double real; - uint64_t base; - } u_iyz; - u_iyz.real = this->iyz; - *(outbuffer + offset + 0) = (u_iyz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iyz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iyz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iyz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_iyz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_iyz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_iyz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_iyz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->iyz); - union { - double real; - uint64_t base; - } u_izz; - u_izz.real = this->izz; - *(outbuffer + offset + 0) = (u_izz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_izz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_izz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_izz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_izz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_izz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_izz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_izz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->izz); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->com.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_gravity_mode; - u_gravity_mode.base = 0; - u_gravity_mode.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->gravity_mode = u_gravity_mode.real; - offset += sizeof(this->gravity_mode); - union { - double real; - uint64_t base; - } u_mass; - u_mass.base = 0; - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->mass = u_mass.real; - offset += sizeof(this->mass); - union { - double real; - uint64_t base; - } u_ixx; - u_ixx.base = 0; - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixx = u_ixx.real; - offset += sizeof(this->ixx); - union { - double real; - uint64_t base; - } u_ixy; - u_ixy.base = 0; - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixy = u_ixy.real; - offset += sizeof(this->ixy); - union { - double real; - uint64_t base; - } u_ixz; - u_ixz.base = 0; - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixz = u_ixz.real; - offset += sizeof(this->ixz); - union { - double real; - uint64_t base; - } u_iyy; - u_iyy.base = 0; - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->iyy = u_iyy.real; - offset += sizeof(this->iyy); - union { - double real; - uint64_t base; - } u_iyz; - u_iyz.base = 0; - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->iyz = u_iyz.real; - offset += sizeof(this->iyz); - union { - double real; - uint64_t base; - } u_izz; - u_izz.base = 0; - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->izz = u_izz.real; - offset += sizeof(this->izz); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETLINKPROPERTIES; }; - virtual const char * getMD5() override { return "a8619f92d17cfcc3958c0fd13299443d"; }; - - }; - - class GetLinkProperties { - public: - typedef GetLinkPropertiesRequest Request; - typedef GetLinkPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkState.h deleted file mode 100644 index 5fc4a2c8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetLinkState.h +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef _ROS_SERVICE_GetLinkState_h -#define _ROS_SERVICE_GetLinkState_h -#include -#include -#include -#include "ros/msg.h" -#include "gazebo_msgs/LinkState.h" - -namespace gazebo_msgs -{ - -static const char GETLINKSTATE[] = "gazebo_msgs/GetLinkState"; - - class GetLinkStateRequest : public ros::Msg - { - public: - typedef const char* _link_name_type; - _link_name_type link_name; - typedef const char* _reference_frame_type; - _reference_frame_type reference_frame; - - GetLinkStateRequest(): - link_name(""), - reference_frame("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_link_name = strlen(this->link_name); - varToArr(outbuffer + offset, length_link_name); - offset += 4; - memcpy(outbuffer + offset, this->link_name, length_link_name); - offset += length_link_name; - uint32_t length_reference_frame = strlen(this->reference_frame); - varToArr(outbuffer + offset, length_reference_frame); - offset += 4; - memcpy(outbuffer + offset, this->reference_frame, length_reference_frame); - offset += length_reference_frame; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_link_name; - arrToVar(length_link_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_link_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_link_name-1]=0; - this->link_name = (char *)(inbuffer + offset-1); - offset += length_link_name; - uint32_t length_reference_frame; - arrToVar(length_reference_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_reference_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_reference_frame-1]=0; - this->reference_frame = (char *)(inbuffer + offset-1); - offset += length_reference_frame; - return offset; - } - - virtual const char * getType() override { return GETLINKSTATE; }; - virtual const char * getMD5() override { return "7551675c30aaa71f7c288d4864552001"; }; - - }; - - class GetLinkStateResponse : public ros::Msg - { - public: - typedef gazebo_msgs::LinkState _link_state_type; - _link_state_type link_state; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - GetLinkStateResponse(): - link_state(), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->link_state.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->link_state.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETLINKSTATE; }; - virtual const char * getMD5() override { return "8ba55ad34f9c072e75c0de57b089753b"; }; - - }; - - class GetLinkState { - public: - typedef GetLinkStateRequest Request; - typedef GetLinkStateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelProperties.h deleted file mode 100644 index 5ffc283b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelProperties.h +++ /dev/null @@ -1,322 +0,0 @@ -#ifndef _ROS_SERVICE_GetModelProperties_h -#define _ROS_SERVICE_GetModelProperties_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char GETMODELPROPERTIES[] = "gazebo_msgs/GetModelProperties"; - - class GetModelPropertiesRequest : public ros::Msg - { - public: - typedef const char* _model_name_type; - _model_name_type model_name; - - GetModelPropertiesRequest(): - model_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_model_name = strlen(this->model_name); - varToArr(outbuffer + offset, length_model_name); - offset += 4; - memcpy(outbuffer + offset, this->model_name, length_model_name); - offset += length_model_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_model_name; - arrToVar(length_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_name-1]=0; - this->model_name = (char *)(inbuffer + offset-1); - offset += length_model_name; - return offset; - } - - virtual const char * getType() override { return GETMODELPROPERTIES; }; - virtual const char * getMD5() override { return "ea31c8eab6fc401383cf528a7c0984ba"; }; - - }; - - class GetModelPropertiesResponse : public ros::Msg - { - public: - typedef const char* _parent_model_name_type; - _parent_model_name_type parent_model_name; - typedef const char* _canonical_body_name_type; - _canonical_body_name_type canonical_body_name; - uint32_t body_names_length; - typedef char* _body_names_type; - _body_names_type st_body_names; - _body_names_type * body_names; - uint32_t geom_names_length; - typedef char* _geom_names_type; - _geom_names_type st_geom_names; - _geom_names_type * geom_names; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - uint32_t child_model_names_length; - typedef char* _child_model_names_type; - _child_model_names_type st_child_model_names; - _child_model_names_type * child_model_names; - typedef bool _is_static_type; - _is_static_type is_static; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - GetModelPropertiesResponse(): - parent_model_name(""), - canonical_body_name(""), - body_names_length(0), st_body_names(), body_names(nullptr), - geom_names_length(0), st_geom_names(), geom_names(nullptr), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - child_model_names_length(0), st_child_model_names(), child_model_names(nullptr), - is_static(0), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_parent_model_name = strlen(this->parent_model_name); - varToArr(outbuffer + offset, length_parent_model_name); - offset += 4; - memcpy(outbuffer + offset, this->parent_model_name, length_parent_model_name); - offset += length_parent_model_name; - uint32_t length_canonical_body_name = strlen(this->canonical_body_name); - varToArr(outbuffer + offset, length_canonical_body_name); - offset += 4; - memcpy(outbuffer + offset, this->canonical_body_name, length_canonical_body_name); - offset += length_canonical_body_name; - *(outbuffer + offset + 0) = (this->body_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->body_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->body_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->body_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->body_names_length); - for( uint32_t i = 0; i < body_names_length; i++){ - uint32_t length_body_namesi = strlen(this->body_names[i]); - varToArr(outbuffer + offset, length_body_namesi); - offset += 4; - memcpy(outbuffer + offset, this->body_names[i], length_body_namesi); - offset += length_body_namesi; - } - *(outbuffer + offset + 0) = (this->geom_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->geom_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->geom_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->geom_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->geom_names_length); - for( uint32_t i = 0; i < geom_names_length; i++){ - uint32_t length_geom_namesi = strlen(this->geom_names[i]); - varToArr(outbuffer + offset, length_geom_namesi); - offset += 4; - memcpy(outbuffer + offset, this->geom_names[i], length_geom_namesi); - offset += length_geom_namesi; - } - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - *(outbuffer + offset + 0) = (this->child_model_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->child_model_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->child_model_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->child_model_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->child_model_names_length); - for( uint32_t i = 0; i < child_model_names_length; i++){ - uint32_t length_child_model_namesi = strlen(this->child_model_names[i]); - varToArr(outbuffer + offset, length_child_model_namesi); - offset += 4; - memcpy(outbuffer + offset, this->child_model_names[i], length_child_model_namesi); - offset += length_child_model_namesi; - } - union { - bool real; - uint8_t base; - } u_is_static; - u_is_static.real = this->is_static; - *(outbuffer + offset + 0) = (u_is_static.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_static); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_parent_model_name; - arrToVar(length_parent_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_parent_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_parent_model_name-1]=0; - this->parent_model_name = (char *)(inbuffer + offset-1); - offset += length_parent_model_name; - uint32_t length_canonical_body_name; - arrToVar(length_canonical_body_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_canonical_body_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_canonical_body_name-1]=0; - this->canonical_body_name = (char *)(inbuffer + offset-1); - offset += length_canonical_body_name; - uint32_t body_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - body_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - body_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - body_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->body_names_length); - if(body_names_lengthT > body_names_length) - this->body_names = (char**)realloc(this->body_names, body_names_lengthT * sizeof(char*)); - body_names_length = body_names_lengthT; - for( uint32_t i = 0; i < body_names_length; i++){ - uint32_t length_st_body_names; - arrToVar(length_st_body_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_body_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_body_names-1]=0; - this->st_body_names = (char *)(inbuffer + offset-1); - offset += length_st_body_names; - memcpy( &(this->body_names[i]), &(this->st_body_names), sizeof(char*)); - } - uint32_t geom_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - geom_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - geom_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - geom_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->geom_names_length); - if(geom_names_lengthT > geom_names_length) - this->geom_names = (char**)realloc(this->geom_names, geom_names_lengthT * sizeof(char*)); - geom_names_length = geom_names_lengthT; - for( uint32_t i = 0; i < geom_names_length; i++){ - uint32_t length_st_geom_names; - arrToVar(length_st_geom_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_geom_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_geom_names-1]=0; - this->st_geom_names = (char *)(inbuffer + offset-1); - offset += length_st_geom_names; - memcpy( &(this->geom_names[i]), &(this->st_geom_names), sizeof(char*)); - } - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - uint32_t child_model_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - child_model_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - child_model_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - child_model_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->child_model_names_length); - if(child_model_names_lengthT > child_model_names_length) - this->child_model_names = (char**)realloc(this->child_model_names, child_model_names_lengthT * sizeof(char*)); - child_model_names_length = child_model_names_lengthT; - for( uint32_t i = 0; i < child_model_names_length; i++){ - uint32_t length_st_child_model_names; - arrToVar(length_st_child_model_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_child_model_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_child_model_names-1]=0; - this->st_child_model_names = (char *)(inbuffer + offset-1); - offset += length_st_child_model_names; - memcpy( &(this->child_model_names[i]), &(this->st_child_model_names), sizeof(char*)); - } - union { - bool real; - uint8_t base; - } u_is_static; - u_is_static.base = 0; - u_is_static.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->is_static = u_is_static.real; - offset += sizeof(this->is_static); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETMODELPROPERTIES; }; - virtual const char * getMD5() override { return "b7f370938ef77b464b95f1bab3ec5028"; }; - - }; - - class GetModelProperties { - public: - typedef GetModelPropertiesRequest Request; - typedef GetModelPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelState.h deleted file mode 100644 index c4f320e1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetModelState.h +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef _ROS_SERVICE_GetModelState_h -#define _ROS_SERVICE_GetModelState_h -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Twist.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" - -namespace gazebo_msgs -{ - -static const char GETMODELSTATE[] = "gazebo_msgs/GetModelState"; - - class GetModelStateRequest : public ros::Msg - { - public: - typedef const char* _model_name_type; - _model_name_type model_name; - typedef const char* _relative_entity_name_type; - _relative_entity_name_type relative_entity_name; - - GetModelStateRequest(): - model_name(""), - relative_entity_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_model_name = strlen(this->model_name); - varToArr(outbuffer + offset, length_model_name); - offset += 4; - memcpy(outbuffer + offset, this->model_name, length_model_name); - offset += length_model_name; - uint32_t length_relative_entity_name = strlen(this->relative_entity_name); - varToArr(outbuffer + offset, length_relative_entity_name); - offset += 4; - memcpy(outbuffer + offset, this->relative_entity_name, length_relative_entity_name); - offset += length_relative_entity_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_model_name; - arrToVar(length_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_name-1]=0; - this->model_name = (char *)(inbuffer + offset-1); - offset += length_model_name; - uint32_t length_relative_entity_name; - arrToVar(length_relative_entity_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_relative_entity_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_relative_entity_name-1]=0; - this->relative_entity_name = (char *)(inbuffer + offset-1); - offset += length_relative_entity_name; - return offset; - } - - virtual const char * getType() override { return GETMODELSTATE; }; - virtual const char * getMD5() override { return "19d412713cefe4a67437e17a951e759e"; }; - - }; - - class GetModelStateResponse : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef geometry_msgs::Twist _twist_type; - _twist_type twist; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - GetModelStateResponse(): - header(), - pose(), - twist(), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->pose.serialize(outbuffer + offset); - offset += this->twist.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->pose.deserialize(inbuffer + offset); - offset += this->twist.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETMODELSTATE; }; - virtual const char * getMD5() override { return "ccd51739bb00f0141629e87b792e92b9"; }; - - }; - - class GetModelState { - public: - typedef GetModelStateRequest Request; - typedef GetModelStateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetPhysicsProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetPhysicsProperties.h deleted file mode 100644 index b87c9110..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetPhysicsProperties.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef _ROS_SERVICE_GetPhysicsProperties_h -#define _ROS_SERVICE_GetPhysicsProperties_h -#include -#include -#include -#include "ros/msg.h" -#include "gazebo_msgs/ODEPhysics.h" -#include "geometry_msgs/Vector3.h" - -namespace gazebo_msgs -{ - -static const char GETPHYSICSPROPERTIES[] = "gazebo_msgs/GetPhysicsProperties"; - - class GetPhysicsPropertiesRequest : public ros::Msg - { - public: - - GetPhysicsPropertiesRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return GETPHYSICSPROPERTIES; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class GetPhysicsPropertiesResponse : public ros::Msg - { - public: - typedef double _time_step_type; - _time_step_type time_step; - typedef bool _pause_type; - _pause_type pause; - typedef double _max_update_rate_type; - _max_update_rate_type max_update_rate; - typedef geometry_msgs::Vector3 _gravity_type; - _gravity_type gravity; - typedef gazebo_msgs::ODEPhysics _ode_config_type; - _ode_config_type ode_config; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - GetPhysicsPropertiesResponse(): - time_step(0), - pause(0), - max_update_rate(0), - gravity(), - ode_config(), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_time_step; - u_time_step.real = this->time_step; - *(outbuffer + offset + 0) = (u_time_step.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_time_step.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_time_step.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_time_step.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_time_step.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_time_step.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_time_step.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_time_step.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->time_step); - union { - bool real; - uint8_t base; - } u_pause; - u_pause.real = this->pause; - *(outbuffer + offset + 0) = (u_pause.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->pause); - union { - double real; - uint64_t base; - } u_max_update_rate; - u_max_update_rate.real = this->max_update_rate; - *(outbuffer + offset + 0) = (u_max_update_rate.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_update_rate.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_update_rate.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_update_rate.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_max_update_rate.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_max_update_rate.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_max_update_rate.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_max_update_rate.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->max_update_rate); - offset += this->gravity.serialize(outbuffer + offset); - offset += this->ode_config.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_time_step; - u_time_step.base = 0; - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->time_step = u_time_step.real; - offset += sizeof(this->time_step); - union { - bool real; - uint8_t base; - } u_pause; - u_pause.base = 0; - u_pause.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->pause = u_pause.real; - offset += sizeof(this->pause); - union { - double real; - uint64_t base; - } u_max_update_rate; - u_max_update_rate.base = 0; - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->max_update_rate = u_max_update_rate.real; - offset += sizeof(this->max_update_rate); - offset += this->gravity.deserialize(inbuffer + offset); - offset += this->ode_config.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETPHYSICSPROPERTIES; }; - virtual const char * getMD5() override { return "575a5e74786981b7df2e3afc567693a6"; }; - - }; - - class GetPhysicsProperties { - public: - typedef GetPhysicsPropertiesRequest Request; - typedef GetPhysicsPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetWorldProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetWorldProperties.h deleted file mode 100644 index b6fe5d60..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/GetWorldProperties.h +++ /dev/null @@ -1,192 +0,0 @@ -#ifndef _ROS_SERVICE_GetWorldProperties_h -#define _ROS_SERVICE_GetWorldProperties_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char GETWORLDPROPERTIES[] = "gazebo_msgs/GetWorldProperties"; - - class GetWorldPropertiesRequest : public ros::Msg - { - public: - - GetWorldPropertiesRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return GETWORLDPROPERTIES; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class GetWorldPropertiesResponse : public ros::Msg - { - public: - typedef double _sim_time_type; - _sim_time_type sim_time; - uint32_t model_names_length; - typedef char* _model_names_type; - _model_names_type st_model_names; - _model_names_type * model_names; - typedef bool _rendering_enabled_type; - _rendering_enabled_type rendering_enabled; - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - GetWorldPropertiesResponse(): - sim_time(0), - model_names_length(0), st_model_names(), model_names(nullptr), - rendering_enabled(0), - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_sim_time; - u_sim_time.real = this->sim_time; - *(outbuffer + offset + 0) = (u_sim_time.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sim_time.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sim_time.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sim_time.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_sim_time.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_sim_time.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_sim_time.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_sim_time.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->sim_time); - *(outbuffer + offset + 0) = (this->model_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->model_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->model_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->model_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->model_names_length); - for( uint32_t i = 0; i < model_names_length; i++){ - uint32_t length_model_namesi = strlen(this->model_names[i]); - varToArr(outbuffer + offset, length_model_namesi); - offset += 4; - memcpy(outbuffer + offset, this->model_names[i], length_model_namesi); - offset += length_model_namesi; - } - union { - bool real; - uint8_t base; - } u_rendering_enabled; - u_rendering_enabled.real = this->rendering_enabled; - *(outbuffer + offset + 0) = (u_rendering_enabled.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->rendering_enabled); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_sim_time; - u_sim_time.base = 0; - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_sim_time.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->sim_time = u_sim_time.real; - offset += sizeof(this->sim_time); - uint32_t model_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - model_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - model_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - model_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->model_names_length); - if(model_names_lengthT > model_names_length) - this->model_names = (char**)realloc(this->model_names, model_names_lengthT * sizeof(char*)); - model_names_length = model_names_lengthT; - for( uint32_t i = 0; i < model_names_length; i++){ - uint32_t length_st_model_names; - arrToVar(length_st_model_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_model_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_model_names-1]=0; - this->st_model_names = (char *)(inbuffer + offset-1); - offset += length_st_model_names; - memcpy( &(this->model_names[i]), &(this->st_model_names), sizeof(char*)); - } - union { - bool real; - uint8_t base; - } u_rendering_enabled; - u_rendering_enabled.base = 0; - u_rendering_enabled.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->rendering_enabled = u_rendering_enabled.real; - offset += sizeof(this->rendering_enabled); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return GETWORLDPROPERTIES; }; - virtual const char * getMD5() override { return "36bb0f2eccf4d8be971410c22818ba3f"; }; - - }; - - class GetWorldProperties { - public: - typedef GetWorldPropertiesRequest Request; - typedef GetWorldPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/JointRequest.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/JointRequest.h deleted file mode 100644 index 41efe87a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/JointRequest.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_JointRequest_h -#define _ROS_SERVICE_JointRequest_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char JOINTREQUEST[] = "gazebo_msgs/JointRequest"; - - class JointRequestRequest : public ros::Msg - { - public: - typedef const char* _joint_name_type; - _joint_name_type joint_name; - - JointRequestRequest(): - joint_name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_joint_name = strlen(this->joint_name); - varToArr(outbuffer + offset, length_joint_name); - offset += 4; - memcpy(outbuffer + offset, this->joint_name, length_joint_name); - offset += length_joint_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_joint_name; - arrToVar(length_joint_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_joint_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_joint_name-1]=0; - this->joint_name = (char *)(inbuffer + offset-1); - offset += length_joint_name; - return offset; - } - - virtual const char * getType() override { return JOINTREQUEST; }; - virtual const char * getMD5() override { return "0be1351618e1dc030eb7959d9a4902de"; }; - - }; - - class JointRequestResponse : public ros::Msg - { - public: - - JointRequestResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return JOINTREQUEST; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class JointRequest { - public: - typedef JointRequestRequest Request; - typedef JointRequestResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkState.h deleted file mode 100644 index 92688027..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkState.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _ROS_gazebo_msgs_LinkState_h -#define _ROS_gazebo_msgs_LinkState_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" -#include "geometry_msgs/Twist.h" - -namespace gazebo_msgs -{ - - class LinkState : public ros::Msg - { - public: - typedef const char* _link_name_type; - _link_name_type link_name; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef geometry_msgs::Twist _twist_type; - _twist_type twist; - typedef const char* _reference_frame_type; - _reference_frame_type reference_frame; - - LinkState(): - link_name(""), - pose(), - twist(), - reference_frame("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_link_name = strlen(this->link_name); - varToArr(outbuffer + offset, length_link_name); - offset += 4; - memcpy(outbuffer + offset, this->link_name, length_link_name); - offset += length_link_name; - offset += this->pose.serialize(outbuffer + offset); - offset += this->twist.serialize(outbuffer + offset); - uint32_t length_reference_frame = strlen(this->reference_frame); - varToArr(outbuffer + offset, length_reference_frame); - offset += 4; - memcpy(outbuffer + offset, this->reference_frame, length_reference_frame); - offset += length_reference_frame; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_link_name; - arrToVar(length_link_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_link_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_link_name-1]=0; - this->link_name = (char *)(inbuffer + offset-1); - offset += length_link_name; - offset += this->pose.deserialize(inbuffer + offset); - offset += this->twist.deserialize(inbuffer + offset); - uint32_t length_reference_frame; - arrToVar(length_reference_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_reference_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_reference_frame-1]=0; - this->reference_frame = (char *)(inbuffer + offset-1); - offset += length_reference_frame; - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/LinkState"; }; - virtual const char * getMD5() override { return "0818ebbf28ce3a08d48ab1eaa7309ebe"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkStates.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkStates.h deleted file mode 100644 index 5fe32473..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/LinkStates.h +++ /dev/null @@ -1,127 +0,0 @@ -#ifndef _ROS_gazebo_msgs_LinkStates_h -#define _ROS_gazebo_msgs_LinkStates_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" -#include "geometry_msgs/Twist.h" - -namespace gazebo_msgs -{ - - class LinkStates : public ros::Msg - { - public: - uint32_t name_length; - typedef char* _name_type; - _name_type st_name; - _name_type * name; - uint32_t pose_length; - typedef geometry_msgs::Pose _pose_type; - _pose_type st_pose; - _pose_type * pose; - uint32_t twist_length; - typedef geometry_msgs::Twist _twist_type; - _twist_type st_twist; - _twist_type * twist; - - LinkStates(): - name_length(0), st_name(), name(nullptr), - pose_length(0), st_pose(), pose(nullptr), - twist_length(0), st_twist(), twist(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->name_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->name_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->name_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->name_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->name_length); - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_namei = strlen(this->name[i]); - varToArr(outbuffer + offset, length_namei); - offset += 4; - memcpy(outbuffer + offset, this->name[i], length_namei); - offset += length_namei; - } - *(outbuffer + offset + 0) = (this->pose_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->pose_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->pose_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->pose_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->pose_length); - for( uint32_t i = 0; i < pose_length; i++){ - offset += this->pose[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->twist_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->twist_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->twist_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->twist_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->twist_length); - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->twist[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t name_lengthT = ((uint32_t) (*(inbuffer + offset))); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->name_length); - if(name_lengthT > name_length) - this->name = (char**)realloc(this->name, name_lengthT * sizeof(char*)); - name_length = name_lengthT; - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_st_name; - arrToVar(length_st_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_name-1]=0; - this->st_name = (char *)(inbuffer + offset-1); - offset += length_st_name; - memcpy( &(this->name[i]), &(this->st_name), sizeof(char*)); - } - uint32_t pose_lengthT = ((uint32_t) (*(inbuffer + offset))); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->pose_length); - if(pose_lengthT > pose_length) - this->pose = (geometry_msgs::Pose*)realloc(this->pose, pose_lengthT * sizeof(geometry_msgs::Pose)); - pose_length = pose_lengthT; - for( uint32_t i = 0; i < pose_length; i++){ - offset += this->st_pose.deserialize(inbuffer + offset); - memcpy( &(this->pose[i]), &(this->st_pose), sizeof(geometry_msgs::Pose)); - } - uint32_t twist_lengthT = ((uint32_t) (*(inbuffer + offset))); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->twist_length); - if(twist_lengthT > twist_length) - this->twist = (geometry_msgs::Twist*)realloc(this->twist, twist_lengthT * sizeof(geometry_msgs::Twist)); - twist_length = twist_lengthT; - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->st_twist.deserialize(inbuffer + offset); - memcpy( &(this->twist[i]), &(this->st_twist), sizeof(geometry_msgs::Twist)); - } - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/LinkStates"; }; - virtual const char * getMD5() override { return "48c080191eb15c41858319b4d8a609c2"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelState.h deleted file mode 100644 index d193c00f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelState.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _ROS_gazebo_msgs_ModelState_h -#define _ROS_gazebo_msgs_ModelState_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" -#include "geometry_msgs/Twist.h" - -namespace gazebo_msgs -{ - - class ModelState : public ros::Msg - { - public: - typedef const char* _model_name_type; - _model_name_type model_name; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef geometry_msgs::Twist _twist_type; - _twist_type twist; - typedef const char* _reference_frame_type; - _reference_frame_type reference_frame; - - ModelState(): - model_name(""), - pose(), - twist(), - reference_frame("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_model_name = strlen(this->model_name); - varToArr(outbuffer + offset, length_model_name); - offset += 4; - memcpy(outbuffer + offset, this->model_name, length_model_name); - offset += length_model_name; - offset += this->pose.serialize(outbuffer + offset); - offset += this->twist.serialize(outbuffer + offset); - uint32_t length_reference_frame = strlen(this->reference_frame); - varToArr(outbuffer + offset, length_reference_frame); - offset += 4; - memcpy(outbuffer + offset, this->reference_frame, length_reference_frame); - offset += length_reference_frame; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_model_name; - arrToVar(length_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_name-1]=0; - this->model_name = (char *)(inbuffer + offset-1); - offset += length_model_name; - offset += this->pose.deserialize(inbuffer + offset); - offset += this->twist.deserialize(inbuffer + offset); - uint32_t length_reference_frame; - arrToVar(length_reference_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_reference_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_reference_frame-1]=0; - this->reference_frame = (char *)(inbuffer + offset-1); - offset += length_reference_frame; - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/ModelState"; }; - virtual const char * getMD5() override { return "9330fd35f2fcd82d457e54bd54e10593"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelStates.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelStates.h deleted file mode 100644 index 180aa89b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ModelStates.h +++ /dev/null @@ -1,127 +0,0 @@ -#ifndef _ROS_gazebo_msgs_ModelStates_h -#define _ROS_gazebo_msgs_ModelStates_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" -#include "geometry_msgs/Twist.h" - -namespace gazebo_msgs -{ - - class ModelStates : public ros::Msg - { - public: - uint32_t name_length; - typedef char* _name_type; - _name_type st_name; - _name_type * name; - uint32_t pose_length; - typedef geometry_msgs::Pose _pose_type; - _pose_type st_pose; - _pose_type * pose; - uint32_t twist_length; - typedef geometry_msgs::Twist _twist_type; - _twist_type st_twist; - _twist_type * twist; - - ModelStates(): - name_length(0), st_name(), name(nullptr), - pose_length(0), st_pose(), pose(nullptr), - twist_length(0), st_twist(), twist(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->name_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->name_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->name_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->name_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->name_length); - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_namei = strlen(this->name[i]); - varToArr(outbuffer + offset, length_namei); - offset += 4; - memcpy(outbuffer + offset, this->name[i], length_namei); - offset += length_namei; - } - *(outbuffer + offset + 0) = (this->pose_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->pose_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->pose_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->pose_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->pose_length); - for( uint32_t i = 0; i < pose_length; i++){ - offset += this->pose[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->twist_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->twist_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->twist_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->twist_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->twist_length); - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->twist[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t name_lengthT = ((uint32_t) (*(inbuffer + offset))); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->name_length); - if(name_lengthT > name_length) - this->name = (char**)realloc(this->name, name_lengthT * sizeof(char*)); - name_length = name_lengthT; - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_st_name; - arrToVar(length_st_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_name-1]=0; - this->st_name = (char *)(inbuffer + offset-1); - offset += length_st_name; - memcpy( &(this->name[i]), &(this->st_name), sizeof(char*)); - } - uint32_t pose_lengthT = ((uint32_t) (*(inbuffer + offset))); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->pose_length); - if(pose_lengthT > pose_length) - this->pose = (geometry_msgs::Pose*)realloc(this->pose, pose_lengthT * sizeof(geometry_msgs::Pose)); - pose_length = pose_lengthT; - for( uint32_t i = 0; i < pose_length; i++){ - offset += this->st_pose.deserialize(inbuffer + offset); - memcpy( &(this->pose[i]), &(this->st_pose), sizeof(geometry_msgs::Pose)); - } - uint32_t twist_lengthT = ((uint32_t) (*(inbuffer + offset))); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->twist_length); - if(twist_lengthT > twist_length) - this->twist = (geometry_msgs::Twist*)realloc(this->twist, twist_lengthT * sizeof(geometry_msgs::Twist)); - twist_length = twist_lengthT; - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->st_twist.deserialize(inbuffer + offset); - memcpy( &(this->twist[i]), &(this->st_twist), sizeof(geometry_msgs::Twist)); - } - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/ModelStates"; }; - virtual const char * getMD5() override { return "48c080191eb15c41858319b4d8a609c2"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEJointProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEJointProperties.h deleted file mode 100644 index 543e760a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEJointProperties.h +++ /dev/null @@ -1,558 +0,0 @@ -#ifndef _ROS_gazebo_msgs_ODEJointProperties_h -#define _ROS_gazebo_msgs_ODEJointProperties_h - -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - - class ODEJointProperties : public ros::Msg - { - public: - uint32_t damping_length; - typedef double _damping_type; - _damping_type st_damping; - _damping_type * damping; - uint32_t hiStop_length; - typedef double _hiStop_type; - _hiStop_type st_hiStop; - _hiStop_type * hiStop; - uint32_t loStop_length; - typedef double _loStop_type; - _loStop_type st_loStop; - _loStop_type * loStop; - uint32_t erp_length; - typedef double _erp_type; - _erp_type st_erp; - _erp_type * erp; - uint32_t cfm_length; - typedef double _cfm_type; - _cfm_type st_cfm; - _cfm_type * cfm; - uint32_t stop_erp_length; - typedef double _stop_erp_type; - _stop_erp_type st_stop_erp; - _stop_erp_type * stop_erp; - uint32_t stop_cfm_length; - typedef double _stop_cfm_type; - _stop_cfm_type st_stop_cfm; - _stop_cfm_type * stop_cfm; - uint32_t fudge_factor_length; - typedef double _fudge_factor_type; - _fudge_factor_type st_fudge_factor; - _fudge_factor_type * fudge_factor; - uint32_t fmax_length; - typedef double _fmax_type; - _fmax_type st_fmax; - _fmax_type * fmax; - uint32_t vel_length; - typedef double _vel_type; - _vel_type st_vel; - _vel_type * vel; - - ODEJointProperties(): - damping_length(0), st_damping(), damping(nullptr), - hiStop_length(0), st_hiStop(), hiStop(nullptr), - loStop_length(0), st_loStop(), loStop(nullptr), - erp_length(0), st_erp(), erp(nullptr), - cfm_length(0), st_cfm(), cfm(nullptr), - stop_erp_length(0), st_stop_erp(), stop_erp(nullptr), - stop_cfm_length(0), st_stop_cfm(), stop_cfm(nullptr), - fudge_factor_length(0), st_fudge_factor(), fudge_factor(nullptr), - fmax_length(0), st_fmax(), fmax(nullptr), - vel_length(0), st_vel(), vel(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->damping_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->damping_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->damping_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->damping_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->damping_length); - for( uint32_t i = 0; i < damping_length; i++){ - union { - double real; - uint64_t base; - } u_dampingi; - u_dampingi.real = this->damping[i]; - *(outbuffer + offset + 0) = (u_dampingi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_dampingi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_dampingi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_dampingi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_dampingi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_dampingi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_dampingi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_dampingi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->damping[i]); - } - *(outbuffer + offset + 0) = (this->hiStop_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->hiStop_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->hiStop_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->hiStop_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->hiStop_length); - for( uint32_t i = 0; i < hiStop_length; i++){ - union { - double real; - uint64_t base; - } u_hiStopi; - u_hiStopi.real = this->hiStop[i]; - *(outbuffer + offset + 0) = (u_hiStopi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_hiStopi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_hiStopi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_hiStopi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_hiStopi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_hiStopi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_hiStopi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_hiStopi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->hiStop[i]); - } - *(outbuffer + offset + 0) = (this->loStop_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->loStop_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->loStop_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->loStop_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->loStop_length); - for( uint32_t i = 0; i < loStop_length; i++){ - union { - double real; - uint64_t base; - } u_loStopi; - u_loStopi.real = this->loStop[i]; - *(outbuffer + offset + 0) = (u_loStopi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_loStopi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_loStopi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_loStopi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_loStopi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_loStopi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_loStopi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_loStopi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->loStop[i]); - } - *(outbuffer + offset + 0) = (this->erp_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->erp_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->erp_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->erp_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->erp_length); - for( uint32_t i = 0; i < erp_length; i++){ - union { - double real; - uint64_t base; - } u_erpi; - u_erpi.real = this->erp[i]; - *(outbuffer + offset + 0) = (u_erpi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_erpi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_erpi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_erpi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_erpi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_erpi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_erpi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_erpi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->erp[i]); - } - *(outbuffer + offset + 0) = (this->cfm_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->cfm_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->cfm_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->cfm_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->cfm_length); - for( uint32_t i = 0; i < cfm_length; i++){ - union { - double real; - uint64_t base; - } u_cfmi; - u_cfmi.real = this->cfm[i]; - *(outbuffer + offset + 0) = (u_cfmi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_cfmi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_cfmi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_cfmi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_cfmi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_cfmi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_cfmi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_cfmi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->cfm[i]); - } - *(outbuffer + offset + 0) = (this->stop_erp_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stop_erp_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stop_erp_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stop_erp_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->stop_erp_length); - for( uint32_t i = 0; i < stop_erp_length; i++){ - union { - double real; - uint64_t base; - } u_stop_erpi; - u_stop_erpi.real = this->stop_erp[i]; - *(outbuffer + offset + 0) = (u_stop_erpi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_stop_erpi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_stop_erpi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_stop_erpi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_stop_erpi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_stop_erpi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_stop_erpi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_stop_erpi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->stop_erp[i]); - } - *(outbuffer + offset + 0) = (this->stop_cfm_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stop_cfm_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stop_cfm_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stop_cfm_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->stop_cfm_length); - for( uint32_t i = 0; i < stop_cfm_length; i++){ - union { - double real; - uint64_t base; - } u_stop_cfmi; - u_stop_cfmi.real = this->stop_cfm[i]; - *(outbuffer + offset + 0) = (u_stop_cfmi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_stop_cfmi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_stop_cfmi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_stop_cfmi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_stop_cfmi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_stop_cfmi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_stop_cfmi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_stop_cfmi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->stop_cfm[i]); - } - *(outbuffer + offset + 0) = (this->fudge_factor_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->fudge_factor_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->fudge_factor_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->fudge_factor_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->fudge_factor_length); - for( uint32_t i = 0; i < fudge_factor_length; i++){ - union { - double real; - uint64_t base; - } u_fudge_factori; - u_fudge_factori.real = this->fudge_factor[i]; - *(outbuffer + offset + 0) = (u_fudge_factori.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_fudge_factori.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_fudge_factori.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_fudge_factori.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_fudge_factori.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_fudge_factori.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_fudge_factori.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_fudge_factori.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->fudge_factor[i]); - } - *(outbuffer + offset + 0) = (this->fmax_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->fmax_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->fmax_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->fmax_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->fmax_length); - for( uint32_t i = 0; i < fmax_length; i++){ - union { - double real; - uint64_t base; - } u_fmaxi; - u_fmaxi.real = this->fmax[i]; - *(outbuffer + offset + 0) = (u_fmaxi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_fmaxi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_fmaxi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_fmaxi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_fmaxi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_fmaxi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_fmaxi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_fmaxi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->fmax[i]); - } - *(outbuffer + offset + 0) = (this->vel_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vel_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->vel_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->vel_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->vel_length); - for( uint32_t i = 0; i < vel_length; i++){ - union { - double real; - uint64_t base; - } u_veli; - u_veli.real = this->vel[i]; - *(outbuffer + offset + 0) = (u_veli.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_veli.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_veli.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_veli.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_veli.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_veli.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_veli.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_veli.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->vel[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t damping_lengthT = ((uint32_t) (*(inbuffer + offset))); - damping_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - damping_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - damping_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->damping_length); - if(damping_lengthT > damping_length) - this->damping = (double*)realloc(this->damping, damping_lengthT * sizeof(double)); - damping_length = damping_lengthT; - for( uint32_t i = 0; i < damping_length; i++){ - union { - double real; - uint64_t base; - } u_st_damping; - u_st_damping.base = 0; - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_damping = u_st_damping.real; - offset += sizeof(this->st_damping); - memcpy( &(this->damping[i]), &(this->st_damping), sizeof(double)); - } - uint32_t hiStop_lengthT = ((uint32_t) (*(inbuffer + offset))); - hiStop_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - hiStop_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - hiStop_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->hiStop_length); - if(hiStop_lengthT > hiStop_length) - this->hiStop = (double*)realloc(this->hiStop, hiStop_lengthT * sizeof(double)); - hiStop_length = hiStop_lengthT; - for( uint32_t i = 0; i < hiStop_length; i++){ - union { - double real; - uint64_t base; - } u_st_hiStop; - u_st_hiStop.base = 0; - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_hiStop = u_st_hiStop.real; - offset += sizeof(this->st_hiStop); - memcpy( &(this->hiStop[i]), &(this->st_hiStop), sizeof(double)); - } - uint32_t loStop_lengthT = ((uint32_t) (*(inbuffer + offset))); - loStop_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - loStop_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - loStop_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->loStop_length); - if(loStop_lengthT > loStop_length) - this->loStop = (double*)realloc(this->loStop, loStop_lengthT * sizeof(double)); - loStop_length = loStop_lengthT; - for( uint32_t i = 0; i < loStop_length; i++){ - union { - double real; - uint64_t base; - } u_st_loStop; - u_st_loStop.base = 0; - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_loStop = u_st_loStop.real; - offset += sizeof(this->st_loStop); - memcpy( &(this->loStop[i]), &(this->st_loStop), sizeof(double)); - } - uint32_t erp_lengthT = ((uint32_t) (*(inbuffer + offset))); - erp_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - erp_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - erp_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->erp_length); - if(erp_lengthT > erp_length) - this->erp = (double*)realloc(this->erp, erp_lengthT * sizeof(double)); - erp_length = erp_lengthT; - for( uint32_t i = 0; i < erp_length; i++){ - union { - double real; - uint64_t base; - } u_st_erp; - u_st_erp.base = 0; - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_erp = u_st_erp.real; - offset += sizeof(this->st_erp); - memcpy( &(this->erp[i]), &(this->st_erp), sizeof(double)); - } - uint32_t cfm_lengthT = ((uint32_t) (*(inbuffer + offset))); - cfm_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - cfm_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - cfm_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->cfm_length); - if(cfm_lengthT > cfm_length) - this->cfm = (double*)realloc(this->cfm, cfm_lengthT * sizeof(double)); - cfm_length = cfm_lengthT; - for( uint32_t i = 0; i < cfm_length; i++){ - union { - double real; - uint64_t base; - } u_st_cfm; - u_st_cfm.base = 0; - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_cfm = u_st_cfm.real; - offset += sizeof(this->st_cfm); - memcpy( &(this->cfm[i]), &(this->st_cfm), sizeof(double)); - } - uint32_t stop_erp_lengthT = ((uint32_t) (*(inbuffer + offset))); - stop_erp_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - stop_erp_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - stop_erp_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stop_erp_length); - if(stop_erp_lengthT > stop_erp_length) - this->stop_erp = (double*)realloc(this->stop_erp, stop_erp_lengthT * sizeof(double)); - stop_erp_length = stop_erp_lengthT; - for( uint32_t i = 0; i < stop_erp_length; i++){ - union { - double real; - uint64_t base; - } u_st_stop_erp; - u_st_stop_erp.base = 0; - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_stop_erp = u_st_stop_erp.real; - offset += sizeof(this->st_stop_erp); - memcpy( &(this->stop_erp[i]), &(this->st_stop_erp), sizeof(double)); - } - uint32_t stop_cfm_lengthT = ((uint32_t) (*(inbuffer + offset))); - stop_cfm_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - stop_cfm_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - stop_cfm_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stop_cfm_length); - if(stop_cfm_lengthT > stop_cfm_length) - this->stop_cfm = (double*)realloc(this->stop_cfm, stop_cfm_lengthT * sizeof(double)); - stop_cfm_length = stop_cfm_lengthT; - for( uint32_t i = 0; i < stop_cfm_length; i++){ - union { - double real; - uint64_t base; - } u_st_stop_cfm; - u_st_stop_cfm.base = 0; - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_stop_cfm = u_st_stop_cfm.real; - offset += sizeof(this->st_stop_cfm); - memcpy( &(this->stop_cfm[i]), &(this->st_stop_cfm), sizeof(double)); - } - uint32_t fudge_factor_lengthT = ((uint32_t) (*(inbuffer + offset))); - fudge_factor_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - fudge_factor_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - fudge_factor_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->fudge_factor_length); - if(fudge_factor_lengthT > fudge_factor_length) - this->fudge_factor = (double*)realloc(this->fudge_factor, fudge_factor_lengthT * sizeof(double)); - fudge_factor_length = fudge_factor_lengthT; - for( uint32_t i = 0; i < fudge_factor_length; i++){ - union { - double real; - uint64_t base; - } u_st_fudge_factor; - u_st_fudge_factor.base = 0; - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_fudge_factor = u_st_fudge_factor.real; - offset += sizeof(this->st_fudge_factor); - memcpy( &(this->fudge_factor[i]), &(this->st_fudge_factor), sizeof(double)); - } - uint32_t fmax_lengthT = ((uint32_t) (*(inbuffer + offset))); - fmax_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - fmax_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - fmax_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->fmax_length); - if(fmax_lengthT > fmax_length) - this->fmax = (double*)realloc(this->fmax, fmax_lengthT * sizeof(double)); - fmax_length = fmax_lengthT; - for( uint32_t i = 0; i < fmax_length; i++){ - union { - double real; - uint64_t base; - } u_st_fmax; - u_st_fmax.base = 0; - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_fmax = u_st_fmax.real; - offset += sizeof(this->st_fmax); - memcpy( &(this->fmax[i]), &(this->st_fmax), sizeof(double)); - } - uint32_t vel_lengthT = ((uint32_t) (*(inbuffer + offset))); - vel_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - vel_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - vel_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->vel_length); - if(vel_lengthT > vel_length) - this->vel = (double*)realloc(this->vel, vel_lengthT * sizeof(double)); - vel_length = vel_lengthT; - for( uint32_t i = 0; i < vel_length; i++){ - union { - double real; - uint64_t base; - } u_st_vel; - u_st_vel.base = 0; - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_vel = u_st_vel.real; - offset += sizeof(this->st_vel); - memcpy( &(this->vel[i]), &(this->st_vel), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/ODEJointProperties"; }; - virtual const char * getMD5() override { return "1b744c32a920af979f53afe2f9c3511f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEPhysics.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEPhysics.h deleted file mode 100644 index f1eb3294..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/ODEPhysics.h +++ /dev/null @@ -1,287 +0,0 @@ -#ifndef _ROS_gazebo_msgs_ODEPhysics_h -#define _ROS_gazebo_msgs_ODEPhysics_h - -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - - class ODEPhysics : public ros::Msg - { - public: - typedef bool _auto_disable_bodies_type; - _auto_disable_bodies_type auto_disable_bodies; - typedef uint32_t _sor_pgs_precon_iters_type; - _sor_pgs_precon_iters_type sor_pgs_precon_iters; - typedef uint32_t _sor_pgs_iters_type; - _sor_pgs_iters_type sor_pgs_iters; - typedef double _sor_pgs_w_type; - _sor_pgs_w_type sor_pgs_w; - typedef double _sor_pgs_rms_error_tol_type; - _sor_pgs_rms_error_tol_type sor_pgs_rms_error_tol; - typedef double _contact_surface_layer_type; - _contact_surface_layer_type contact_surface_layer; - typedef double _contact_max_correcting_vel_type; - _contact_max_correcting_vel_type contact_max_correcting_vel; - typedef double _cfm_type; - _cfm_type cfm; - typedef double _erp_type; - _erp_type erp; - typedef uint32_t _max_contacts_type; - _max_contacts_type max_contacts; - - ODEPhysics(): - auto_disable_bodies(0), - sor_pgs_precon_iters(0), - sor_pgs_iters(0), - sor_pgs_w(0), - sor_pgs_rms_error_tol(0), - contact_surface_layer(0), - contact_max_correcting_vel(0), - cfm(0), - erp(0), - max_contacts(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_auto_disable_bodies; - u_auto_disable_bodies.real = this->auto_disable_bodies; - *(outbuffer + offset + 0) = (u_auto_disable_bodies.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->auto_disable_bodies); - *(outbuffer + offset + 0) = (this->sor_pgs_precon_iters >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->sor_pgs_precon_iters >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->sor_pgs_precon_iters >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->sor_pgs_precon_iters >> (8 * 3)) & 0xFF; - offset += sizeof(this->sor_pgs_precon_iters); - *(outbuffer + offset + 0) = (this->sor_pgs_iters >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->sor_pgs_iters >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->sor_pgs_iters >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->sor_pgs_iters >> (8 * 3)) & 0xFF; - offset += sizeof(this->sor_pgs_iters); - union { - double real; - uint64_t base; - } u_sor_pgs_w; - u_sor_pgs_w.real = this->sor_pgs_w; - *(outbuffer + offset + 0) = (u_sor_pgs_w.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sor_pgs_w.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sor_pgs_w.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sor_pgs_w.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_sor_pgs_w.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_sor_pgs_w.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_sor_pgs_w.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_sor_pgs_w.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->sor_pgs_w); - union { - double real; - uint64_t base; - } u_sor_pgs_rms_error_tol; - u_sor_pgs_rms_error_tol.real = this->sor_pgs_rms_error_tol; - *(outbuffer + offset + 0) = (u_sor_pgs_rms_error_tol.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sor_pgs_rms_error_tol.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sor_pgs_rms_error_tol.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sor_pgs_rms_error_tol.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_sor_pgs_rms_error_tol.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_sor_pgs_rms_error_tol.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_sor_pgs_rms_error_tol.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_sor_pgs_rms_error_tol.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->sor_pgs_rms_error_tol); - union { - double real; - uint64_t base; - } u_contact_surface_layer; - u_contact_surface_layer.real = this->contact_surface_layer; - *(outbuffer + offset + 0) = (u_contact_surface_layer.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_contact_surface_layer.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_contact_surface_layer.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_contact_surface_layer.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_contact_surface_layer.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_contact_surface_layer.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_contact_surface_layer.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_contact_surface_layer.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->contact_surface_layer); - union { - double real; - uint64_t base; - } u_contact_max_correcting_vel; - u_contact_max_correcting_vel.real = this->contact_max_correcting_vel; - *(outbuffer + offset + 0) = (u_contact_max_correcting_vel.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_contact_max_correcting_vel.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_contact_max_correcting_vel.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_contact_max_correcting_vel.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_contact_max_correcting_vel.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_contact_max_correcting_vel.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_contact_max_correcting_vel.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_contact_max_correcting_vel.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->contact_max_correcting_vel); - union { - double real; - uint64_t base; - } u_cfm; - u_cfm.real = this->cfm; - *(outbuffer + offset + 0) = (u_cfm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_cfm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_cfm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_cfm.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_cfm.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_cfm.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_cfm.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_cfm.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->cfm); - union { - double real; - uint64_t base; - } u_erp; - u_erp.real = this->erp; - *(outbuffer + offset + 0) = (u_erp.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_erp.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_erp.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_erp.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_erp.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_erp.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_erp.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_erp.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->erp); - *(outbuffer + offset + 0) = (this->max_contacts >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->max_contacts >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->max_contacts >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->max_contacts >> (8 * 3)) & 0xFF; - offset += sizeof(this->max_contacts); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_auto_disable_bodies; - u_auto_disable_bodies.base = 0; - u_auto_disable_bodies.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->auto_disable_bodies = u_auto_disable_bodies.real; - offset += sizeof(this->auto_disable_bodies); - this->sor_pgs_precon_iters = ((uint32_t) (*(inbuffer + offset))); - this->sor_pgs_precon_iters |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->sor_pgs_precon_iters |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->sor_pgs_precon_iters |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->sor_pgs_precon_iters); - this->sor_pgs_iters = ((uint32_t) (*(inbuffer + offset))); - this->sor_pgs_iters |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->sor_pgs_iters |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->sor_pgs_iters |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->sor_pgs_iters); - union { - double real; - uint64_t base; - } u_sor_pgs_w; - u_sor_pgs_w.base = 0; - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_sor_pgs_w.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->sor_pgs_w = u_sor_pgs_w.real; - offset += sizeof(this->sor_pgs_w); - union { - double real; - uint64_t base; - } u_sor_pgs_rms_error_tol; - u_sor_pgs_rms_error_tol.base = 0; - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_sor_pgs_rms_error_tol.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->sor_pgs_rms_error_tol = u_sor_pgs_rms_error_tol.real; - offset += sizeof(this->sor_pgs_rms_error_tol); - union { - double real; - uint64_t base; - } u_contact_surface_layer; - u_contact_surface_layer.base = 0; - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_contact_surface_layer.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->contact_surface_layer = u_contact_surface_layer.real; - offset += sizeof(this->contact_surface_layer); - union { - double real; - uint64_t base; - } u_contact_max_correcting_vel; - u_contact_max_correcting_vel.base = 0; - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_contact_max_correcting_vel.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->contact_max_correcting_vel = u_contact_max_correcting_vel.real; - offset += sizeof(this->contact_max_correcting_vel); - union { - double real; - uint64_t base; - } u_cfm; - u_cfm.base = 0; - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_cfm.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->cfm = u_cfm.real; - offset += sizeof(this->cfm); - union { - double real; - uint64_t base; - } u_erp; - u_erp.base = 0; - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_erp.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->erp = u_erp.real; - offset += sizeof(this->erp); - this->max_contacts = ((uint32_t) (*(inbuffer + offset))); - this->max_contacts |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->max_contacts |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->max_contacts |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->max_contacts); - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/ODEPhysics"; }; - virtual const char * getMD5() override { return "667d56ddbd547918c32d1934503dc335"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/PerformanceMetrics.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/PerformanceMetrics.h deleted file mode 100644 index 5e38961e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/PerformanceMetrics.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _ROS_gazebo_msgs_PerformanceMetrics_h -#define _ROS_gazebo_msgs_PerformanceMetrics_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "gazebo_msgs/SensorPerformanceMetric.h" - -namespace gazebo_msgs -{ - - class PerformanceMetrics : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _real_time_factor_type; - _real_time_factor_type real_time_factor; - uint32_t sensors_length; - typedef gazebo_msgs::SensorPerformanceMetric _sensors_type; - _sensors_type st_sensors; - _sensors_type * sensors; - - PerformanceMetrics(): - header(), - real_time_factor(0), - sensors_length(0), st_sensors(), sensors(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_real_time_factor; - u_real_time_factor.real = this->real_time_factor; - *(outbuffer + offset + 0) = (u_real_time_factor.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_real_time_factor.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_real_time_factor.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_real_time_factor.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_real_time_factor.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_real_time_factor.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_real_time_factor.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_real_time_factor.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->real_time_factor); - *(outbuffer + offset + 0) = (this->sensors_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->sensors_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->sensors_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->sensors_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->sensors_length); - for( uint32_t i = 0; i < sensors_length; i++){ - offset += this->sensors[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_real_time_factor; - u_real_time_factor.base = 0; - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_real_time_factor.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->real_time_factor = u_real_time_factor.real; - offset += sizeof(this->real_time_factor); - uint32_t sensors_lengthT = ((uint32_t) (*(inbuffer + offset))); - sensors_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - sensors_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - sensors_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->sensors_length); - if(sensors_lengthT > sensors_length) - this->sensors = (gazebo_msgs::SensorPerformanceMetric*)realloc(this->sensors, sensors_lengthT * sizeof(gazebo_msgs::SensorPerformanceMetric)); - sensors_length = sensors_lengthT; - for( uint32_t i = 0; i < sensors_length; i++){ - offset += this->st_sensors.deserialize(inbuffer + offset); - memcpy( &(this->sensors[i]), &(this->st_sensors), sizeof(gazebo_msgs::SensorPerformanceMetric)); - } - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/PerformanceMetrics"; }; - virtual const char * getMD5() override { return "884f71fd5037b886ec5e126b83c4425a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SensorPerformanceMetric.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SensorPerformanceMetric.h deleted file mode 100644 index 482f1a7e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SensorPerformanceMetric.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef _ROS_gazebo_msgs_SensorPerformanceMetric_h -#define _ROS_gazebo_msgs_SensorPerformanceMetric_h - -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - - class SensorPerformanceMetric : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef double _sim_update_rate_type; - _sim_update_rate_type sim_update_rate; - typedef double _real_update_rate_type; - _real_update_rate_type real_update_rate; - typedef double _fps_type; - _fps_type fps; - - SensorPerformanceMetric(): - name(""), - sim_update_rate(0), - real_update_rate(0), - fps(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - union { - double real; - uint64_t base; - } u_sim_update_rate; - u_sim_update_rate.real = this->sim_update_rate; - *(outbuffer + offset + 0) = (u_sim_update_rate.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sim_update_rate.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sim_update_rate.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sim_update_rate.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_sim_update_rate.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_sim_update_rate.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_sim_update_rate.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_sim_update_rate.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->sim_update_rate); - union { - double real; - uint64_t base; - } u_real_update_rate; - u_real_update_rate.real = this->real_update_rate; - *(outbuffer + offset + 0) = (u_real_update_rate.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_real_update_rate.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_real_update_rate.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_real_update_rate.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_real_update_rate.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_real_update_rate.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_real_update_rate.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_real_update_rate.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->real_update_rate); - union { - double real; - uint64_t base; - } u_fps; - u_fps.real = this->fps; - *(outbuffer + offset + 0) = (u_fps.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_fps.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_fps.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_fps.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_fps.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_fps.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_fps.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_fps.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->fps); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - union { - double real; - uint64_t base; - } u_sim_update_rate; - u_sim_update_rate.base = 0; - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_sim_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->sim_update_rate = u_sim_update_rate.real; - offset += sizeof(this->sim_update_rate); - union { - double real; - uint64_t base; - } u_real_update_rate; - u_real_update_rate.base = 0; - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_real_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->real_update_rate = u_real_update_rate.real; - offset += sizeof(this->real_update_rate); - union { - double real; - uint64_t base; - } u_fps; - u_fps.base = 0; - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_fps.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->fps = u_fps.real; - offset += sizeof(this->fps); - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/SensorPerformanceMetric"; }; - virtual const char * getMD5() override { return "01762ded18cfe9ebc7c8222667c99547"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointProperties.h deleted file mode 100644 index 87a79e86..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointProperties.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef _ROS_SERVICE_SetJointProperties_h -#define _ROS_SERVICE_SetJointProperties_h -#include -#include -#include -#include "ros/msg.h" -#include "gazebo_msgs/ODEJointProperties.h" - -namespace gazebo_msgs -{ - -static const char SETJOINTPROPERTIES[] = "gazebo_msgs/SetJointProperties"; - - class SetJointPropertiesRequest : public ros::Msg - { - public: - typedef const char* _joint_name_type; - _joint_name_type joint_name; - typedef gazebo_msgs::ODEJointProperties _ode_joint_config_type; - _ode_joint_config_type ode_joint_config; - - SetJointPropertiesRequest(): - joint_name(""), - ode_joint_config() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_joint_name = strlen(this->joint_name); - varToArr(outbuffer + offset, length_joint_name); - offset += 4; - memcpy(outbuffer + offset, this->joint_name, length_joint_name); - offset += length_joint_name; - offset += this->ode_joint_config.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_joint_name; - arrToVar(length_joint_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_joint_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_joint_name-1]=0; - this->joint_name = (char *)(inbuffer + offset-1); - offset += length_joint_name; - offset += this->ode_joint_config.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SETJOINTPROPERTIES; }; - virtual const char * getMD5() override { return "331fd8f35fd27e3c1421175590258e26"; }; - - }; - - class SetJointPropertiesResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetJointPropertiesResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETJOINTPROPERTIES; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetJointProperties { - public: - typedef SetJointPropertiesRequest Request; - typedef SetJointPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointTrajectory.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointTrajectory.h deleted file mode 100644 index 88cb34f7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetJointTrajectory.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef _ROS_SERVICE_SetJointTrajectory_h -#define _ROS_SERVICE_SetJointTrajectory_h -#include -#include -#include -#include "ros/msg.h" -#include "trajectory_msgs/JointTrajectory.h" -#include "geometry_msgs/Pose.h" - -namespace gazebo_msgs -{ - -static const char SETJOINTTRAJECTORY[] = "gazebo_msgs/SetJointTrajectory"; - - class SetJointTrajectoryRequest : public ros::Msg - { - public: - typedef const char* _model_name_type; - _model_name_type model_name; - typedef trajectory_msgs::JointTrajectory _joint_trajectory_type; - _joint_trajectory_type joint_trajectory; - typedef geometry_msgs::Pose _model_pose_type; - _model_pose_type model_pose; - typedef bool _set_model_pose_type; - _set_model_pose_type set_model_pose; - typedef bool _disable_physics_updates_type; - _disable_physics_updates_type disable_physics_updates; - - SetJointTrajectoryRequest(): - model_name(""), - joint_trajectory(), - model_pose(), - set_model_pose(0), - disable_physics_updates(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_model_name = strlen(this->model_name); - varToArr(outbuffer + offset, length_model_name); - offset += 4; - memcpy(outbuffer + offset, this->model_name, length_model_name); - offset += length_model_name; - offset += this->joint_trajectory.serialize(outbuffer + offset); - offset += this->model_pose.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_set_model_pose; - u_set_model_pose.real = this->set_model_pose; - *(outbuffer + offset + 0) = (u_set_model_pose.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->set_model_pose); - union { - bool real; - uint8_t base; - } u_disable_physics_updates; - u_disable_physics_updates.real = this->disable_physics_updates; - *(outbuffer + offset + 0) = (u_disable_physics_updates.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->disable_physics_updates); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_model_name; - arrToVar(length_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_name-1]=0; - this->model_name = (char *)(inbuffer + offset-1); - offset += length_model_name; - offset += this->joint_trajectory.deserialize(inbuffer + offset); - offset += this->model_pose.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_set_model_pose; - u_set_model_pose.base = 0; - u_set_model_pose.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->set_model_pose = u_set_model_pose.real; - offset += sizeof(this->set_model_pose); - union { - bool real; - uint8_t base; - } u_disable_physics_updates; - u_disable_physics_updates.base = 0; - u_disable_physics_updates.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->disable_physics_updates = u_disable_physics_updates.real; - offset += sizeof(this->disable_physics_updates); - return offset; - } - - virtual const char * getType() override { return SETJOINTTRAJECTORY; }; - virtual const char * getMD5() override { return "649dd2eba5ffd358069238825f9f85ab"; }; - - }; - - class SetJointTrajectoryResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetJointTrajectoryResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETJOINTTRAJECTORY; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetJointTrajectory { - public: - typedef SetJointTrajectoryRequest Request; - typedef SetJointTrajectoryResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLightProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLightProperties.h deleted file mode 100644 index dfa1a4bc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLightProperties.h +++ /dev/null @@ -1,259 +0,0 @@ -#ifndef _ROS_SERVICE_SetLightProperties_h -#define _ROS_SERVICE_SetLightProperties_h -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/ColorRGBA.h" -#include "geometry_msgs/Vector3.h" -#include "geometry_msgs/Pose.h" - -namespace gazebo_msgs -{ - -static const char SETLIGHTPROPERTIES[] = "gazebo_msgs/SetLightProperties"; - - class SetLightPropertiesRequest : public ros::Msg - { - public: - typedef const char* _light_name_type; - _light_name_type light_name; - typedef bool _cast_shadows_type; - _cast_shadows_type cast_shadows; - typedef std_msgs::ColorRGBA _diffuse_type; - _diffuse_type diffuse; - typedef std_msgs::ColorRGBA _specular_type; - _specular_type specular; - typedef double _attenuation_constant_type; - _attenuation_constant_type attenuation_constant; - typedef double _attenuation_linear_type; - _attenuation_linear_type attenuation_linear; - typedef double _attenuation_quadratic_type; - _attenuation_quadratic_type attenuation_quadratic; - typedef geometry_msgs::Vector3 _direction_type; - _direction_type direction; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - - SetLightPropertiesRequest(): - light_name(""), - cast_shadows(0), - diffuse(), - specular(), - attenuation_constant(0), - attenuation_linear(0), - attenuation_quadratic(0), - direction(), - pose() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_light_name = strlen(this->light_name); - varToArr(outbuffer + offset, length_light_name); - offset += 4; - memcpy(outbuffer + offset, this->light_name, length_light_name); - offset += length_light_name; - union { - bool real; - uint8_t base; - } u_cast_shadows; - u_cast_shadows.real = this->cast_shadows; - *(outbuffer + offset + 0) = (u_cast_shadows.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->cast_shadows); - offset += this->diffuse.serialize(outbuffer + offset); - offset += this->specular.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_attenuation_constant; - u_attenuation_constant.real = this->attenuation_constant; - *(outbuffer + offset + 0) = (u_attenuation_constant.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_attenuation_constant.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_attenuation_constant.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_attenuation_constant.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_attenuation_constant.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_attenuation_constant.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_attenuation_constant.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_attenuation_constant.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->attenuation_constant); - union { - double real; - uint64_t base; - } u_attenuation_linear; - u_attenuation_linear.real = this->attenuation_linear; - *(outbuffer + offset + 0) = (u_attenuation_linear.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_attenuation_linear.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_attenuation_linear.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_attenuation_linear.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_attenuation_linear.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_attenuation_linear.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_attenuation_linear.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_attenuation_linear.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->attenuation_linear); - union { - double real; - uint64_t base; - } u_attenuation_quadratic; - u_attenuation_quadratic.real = this->attenuation_quadratic; - *(outbuffer + offset + 0) = (u_attenuation_quadratic.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_attenuation_quadratic.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_attenuation_quadratic.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_attenuation_quadratic.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_attenuation_quadratic.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_attenuation_quadratic.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_attenuation_quadratic.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_attenuation_quadratic.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->attenuation_quadratic); - offset += this->direction.serialize(outbuffer + offset); - offset += this->pose.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_light_name; - arrToVar(length_light_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_light_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_light_name-1]=0; - this->light_name = (char *)(inbuffer + offset-1); - offset += length_light_name; - union { - bool real; - uint8_t base; - } u_cast_shadows; - u_cast_shadows.base = 0; - u_cast_shadows.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->cast_shadows = u_cast_shadows.real; - offset += sizeof(this->cast_shadows); - offset += this->diffuse.deserialize(inbuffer + offset); - offset += this->specular.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_attenuation_constant; - u_attenuation_constant.base = 0; - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_attenuation_constant.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->attenuation_constant = u_attenuation_constant.real; - offset += sizeof(this->attenuation_constant); - union { - double real; - uint64_t base; - } u_attenuation_linear; - u_attenuation_linear.base = 0; - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_attenuation_linear.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->attenuation_linear = u_attenuation_linear.real; - offset += sizeof(this->attenuation_linear); - union { - double real; - uint64_t base; - } u_attenuation_quadratic; - u_attenuation_quadratic.base = 0; - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_attenuation_quadratic.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->attenuation_quadratic = u_attenuation_quadratic.real; - offset += sizeof(this->attenuation_quadratic); - offset += this->direction.deserialize(inbuffer + offset); - offset += this->pose.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SETLIGHTPROPERTIES; }; - virtual const char * getMD5() override { return "10d953f2306aec18460eb80dd94fdd47"; }; - - }; - - class SetLightPropertiesResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetLightPropertiesResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETLIGHTPROPERTIES; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetLightProperties { - public: - typedef SetLightPropertiesRequest Request; - typedef SetLightPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkProperties.h deleted file mode 100644 index e1c11c9f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkProperties.h +++ /dev/null @@ -1,370 +0,0 @@ -#ifndef _ROS_SERVICE_SetLinkProperties_h -#define _ROS_SERVICE_SetLinkProperties_h -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" - -namespace gazebo_msgs -{ - -static const char SETLINKPROPERTIES[] = "gazebo_msgs/SetLinkProperties"; - - class SetLinkPropertiesRequest : public ros::Msg - { - public: - typedef const char* _link_name_type; - _link_name_type link_name; - typedef geometry_msgs::Pose _com_type; - _com_type com; - typedef bool _gravity_mode_type; - _gravity_mode_type gravity_mode; - typedef double _mass_type; - _mass_type mass; - typedef double _ixx_type; - _ixx_type ixx; - typedef double _ixy_type; - _ixy_type ixy; - typedef double _ixz_type; - _ixz_type ixz; - typedef double _iyy_type; - _iyy_type iyy; - typedef double _iyz_type; - _iyz_type iyz; - typedef double _izz_type; - _izz_type izz; - - SetLinkPropertiesRequest(): - link_name(""), - com(), - gravity_mode(0), - mass(0), - ixx(0), - ixy(0), - ixz(0), - iyy(0), - iyz(0), - izz(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_link_name = strlen(this->link_name); - varToArr(outbuffer + offset, length_link_name); - offset += 4; - memcpy(outbuffer + offset, this->link_name, length_link_name); - offset += length_link_name; - offset += this->com.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_gravity_mode; - u_gravity_mode.real = this->gravity_mode; - *(outbuffer + offset + 0) = (u_gravity_mode.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->gravity_mode); - union { - double real; - uint64_t base; - } u_mass; - u_mass.real = this->mass; - *(outbuffer + offset + 0) = (u_mass.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_mass.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_mass.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_mass.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_mass.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_mass.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_mass.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_mass.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->mass); - union { - double real; - uint64_t base; - } u_ixx; - u_ixx.real = this->ixx; - *(outbuffer + offset + 0) = (u_ixx.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixx.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixx.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixx.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixx.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixx.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixx.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixx.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixx); - union { - double real; - uint64_t base; - } u_ixy; - u_ixy.real = this->ixy; - *(outbuffer + offset + 0) = (u_ixy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixy.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixy.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixy.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixy.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixy.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixy); - union { - double real; - uint64_t base; - } u_ixz; - u_ixz.real = this->ixz; - *(outbuffer + offset + 0) = (u_ixz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixz); - union { - double real; - uint64_t base; - } u_iyy; - u_iyy.real = this->iyy; - *(outbuffer + offset + 0) = (u_iyy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iyy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iyy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iyy.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_iyy.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_iyy.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_iyy.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_iyy.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->iyy); - union { - double real; - uint64_t base; - } u_iyz; - u_iyz.real = this->iyz; - *(outbuffer + offset + 0) = (u_iyz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iyz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iyz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iyz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_iyz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_iyz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_iyz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_iyz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->iyz); - union { - double real; - uint64_t base; - } u_izz; - u_izz.real = this->izz; - *(outbuffer + offset + 0) = (u_izz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_izz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_izz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_izz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_izz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_izz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_izz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_izz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->izz); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_link_name; - arrToVar(length_link_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_link_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_link_name-1]=0; - this->link_name = (char *)(inbuffer + offset-1); - offset += length_link_name; - offset += this->com.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_gravity_mode; - u_gravity_mode.base = 0; - u_gravity_mode.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->gravity_mode = u_gravity_mode.real; - offset += sizeof(this->gravity_mode); - union { - double real; - uint64_t base; - } u_mass; - u_mass.base = 0; - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_mass.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->mass = u_mass.real; - offset += sizeof(this->mass); - union { - double real; - uint64_t base; - } u_ixx; - u_ixx.base = 0; - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixx = u_ixx.real; - offset += sizeof(this->ixx); - union { - double real; - uint64_t base; - } u_ixy; - u_ixy.base = 0; - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixy = u_ixy.real; - offset += sizeof(this->ixy); - union { - double real; - uint64_t base; - } u_ixz; - u_ixz.base = 0; - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixz = u_ixz.real; - offset += sizeof(this->ixz); - union { - double real; - uint64_t base; - } u_iyy; - u_iyy.base = 0; - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->iyy = u_iyy.real; - offset += sizeof(this->iyy); - union { - double real; - uint64_t base; - } u_iyz; - u_iyz.base = 0; - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->iyz = u_iyz.real; - offset += sizeof(this->iyz); - union { - double real; - uint64_t base; - } u_izz; - u_izz.base = 0; - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->izz = u_izz.real; - offset += sizeof(this->izz); - return offset; - } - - virtual const char * getType() override { return SETLINKPROPERTIES; }; - virtual const char * getMD5() override { return "68ac74a4be01b165bc305b5ccdc45e91"; }; - - }; - - class SetLinkPropertiesResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetLinkPropertiesResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETLINKPROPERTIES; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetLinkProperties { - public: - typedef SetLinkPropertiesRequest Request; - typedef SetLinkPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkState.h deleted file mode 100644 index 7162ec65..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetLinkState.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef _ROS_SERVICE_SetLinkState_h -#define _ROS_SERVICE_SetLinkState_h -#include -#include -#include -#include "ros/msg.h" -#include "gazebo_msgs/LinkState.h" - -namespace gazebo_msgs -{ - -static const char SETLINKSTATE[] = "gazebo_msgs/SetLinkState"; - - class SetLinkStateRequest : public ros::Msg - { - public: - typedef gazebo_msgs::LinkState _link_state_type; - _link_state_type link_state; - - SetLinkStateRequest(): - link_state() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->link_state.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->link_state.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SETLINKSTATE; }; - virtual const char * getMD5() override { return "22a2c757d56911b6f27868159e9a872d"; }; - - }; - - class SetLinkStateResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetLinkStateResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETLINKSTATE; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetLinkState { - public: - typedef SetLinkStateRequest Request; - typedef SetLinkStateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelConfiguration.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelConfiguration.h deleted file mode 100644 index 05b78365..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelConfiguration.h +++ /dev/null @@ -1,228 +0,0 @@ -#ifndef _ROS_SERVICE_SetModelConfiguration_h -#define _ROS_SERVICE_SetModelConfiguration_h -#include -#include -#include -#include "ros/msg.h" - -namespace gazebo_msgs -{ - -static const char SETMODELCONFIGURATION[] = "gazebo_msgs/SetModelConfiguration"; - - class SetModelConfigurationRequest : public ros::Msg - { - public: - typedef const char* _model_name_type; - _model_name_type model_name; - typedef const char* _urdf_param_name_type; - _urdf_param_name_type urdf_param_name; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - uint32_t joint_positions_length; - typedef double _joint_positions_type; - _joint_positions_type st_joint_positions; - _joint_positions_type * joint_positions; - - SetModelConfigurationRequest(): - model_name(""), - urdf_param_name(""), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - joint_positions_length(0), st_joint_positions(), joint_positions(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_model_name = strlen(this->model_name); - varToArr(outbuffer + offset, length_model_name); - offset += 4; - memcpy(outbuffer + offset, this->model_name, length_model_name); - offset += length_model_name; - uint32_t length_urdf_param_name = strlen(this->urdf_param_name); - varToArr(outbuffer + offset, length_urdf_param_name); - offset += 4; - memcpy(outbuffer + offset, this->urdf_param_name, length_urdf_param_name); - offset += length_urdf_param_name; - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - *(outbuffer + offset + 0) = (this->joint_positions_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_positions_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_positions_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_positions_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_positions_length); - for( uint32_t i = 0; i < joint_positions_length; i++){ - union { - double real; - uint64_t base; - } u_joint_positionsi; - u_joint_positionsi.real = this->joint_positions[i]; - *(outbuffer + offset + 0) = (u_joint_positionsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_joint_positionsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_joint_positionsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_joint_positionsi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_joint_positionsi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_joint_positionsi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_joint_positionsi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_joint_positionsi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->joint_positions[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_model_name; - arrToVar(length_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_name-1]=0; - this->model_name = (char *)(inbuffer + offset-1); - offset += length_model_name; - uint32_t length_urdf_param_name; - arrToVar(length_urdf_param_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_urdf_param_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_urdf_param_name-1]=0; - this->urdf_param_name = (char *)(inbuffer + offset-1); - offset += length_urdf_param_name; - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - uint32_t joint_positions_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_positions_length); - if(joint_positions_lengthT > joint_positions_length) - this->joint_positions = (double*)realloc(this->joint_positions, joint_positions_lengthT * sizeof(double)); - joint_positions_length = joint_positions_lengthT; - for( uint32_t i = 0; i < joint_positions_length; i++){ - union { - double real; - uint64_t base; - } u_st_joint_positions; - u_st_joint_positions.base = 0; - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_joint_positions.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_joint_positions = u_st_joint_positions.real; - offset += sizeof(this->st_joint_positions); - memcpy( &(this->joint_positions[i]), &(this->st_joint_positions), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return SETMODELCONFIGURATION; }; - virtual const char * getMD5() override { return "160eae60f51fabff255480c70afa289f"; }; - - }; - - class SetModelConfigurationResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetModelConfigurationResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETMODELCONFIGURATION; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetModelConfiguration { - public: - typedef SetModelConfigurationRequest Request; - typedef SetModelConfigurationResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelState.h deleted file mode 100644 index e14fc1cb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetModelState.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef _ROS_SERVICE_SetModelState_h -#define _ROS_SERVICE_SetModelState_h -#include -#include -#include -#include "ros/msg.h" -#include "gazebo_msgs/ModelState.h" - -namespace gazebo_msgs -{ - -static const char SETMODELSTATE[] = "gazebo_msgs/SetModelState"; - - class SetModelStateRequest : public ros::Msg - { - public: - typedef gazebo_msgs::ModelState _model_state_type; - _model_state_type model_state; - - SetModelStateRequest(): - model_state() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->model_state.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->model_state.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SETMODELSTATE; }; - virtual const char * getMD5() override { return "cb042b0e91880f4661b29ea5b6234350"; }; - - }; - - class SetModelStateResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetModelStateResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETMODELSTATE; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetModelState { - public: - typedef SetModelStateRequest Request; - typedef SetModelStateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetPhysicsProperties.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetPhysicsProperties.h deleted file mode 100644 index be01c682..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SetPhysicsProperties.h +++ /dev/null @@ -1,181 +0,0 @@ -#ifndef _ROS_SERVICE_SetPhysicsProperties_h -#define _ROS_SERVICE_SetPhysicsProperties_h -#include -#include -#include -#include "ros/msg.h" -#include "gazebo_msgs/ODEPhysics.h" -#include "geometry_msgs/Vector3.h" - -namespace gazebo_msgs -{ - -static const char SETPHYSICSPROPERTIES[] = "gazebo_msgs/SetPhysicsProperties"; - - class SetPhysicsPropertiesRequest : public ros::Msg - { - public: - typedef double _time_step_type; - _time_step_type time_step; - typedef double _max_update_rate_type; - _max_update_rate_type max_update_rate; - typedef geometry_msgs::Vector3 _gravity_type; - _gravity_type gravity; - typedef gazebo_msgs::ODEPhysics _ode_config_type; - _ode_config_type ode_config; - - SetPhysicsPropertiesRequest(): - time_step(0), - max_update_rate(0), - gravity(), - ode_config() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_time_step; - u_time_step.real = this->time_step; - *(outbuffer + offset + 0) = (u_time_step.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_time_step.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_time_step.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_time_step.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_time_step.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_time_step.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_time_step.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_time_step.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->time_step); - union { - double real; - uint64_t base; - } u_max_update_rate; - u_max_update_rate.real = this->max_update_rate; - *(outbuffer + offset + 0) = (u_max_update_rate.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_update_rate.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_update_rate.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_update_rate.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_max_update_rate.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_max_update_rate.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_max_update_rate.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_max_update_rate.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->max_update_rate); - offset += this->gravity.serialize(outbuffer + offset); - offset += this->ode_config.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_time_step; - u_time_step.base = 0; - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_time_step.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->time_step = u_time_step.real; - offset += sizeof(this->time_step); - union { - double real; - uint64_t base; - } u_max_update_rate; - u_max_update_rate.base = 0; - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_max_update_rate.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->max_update_rate = u_max_update_rate.real; - offset += sizeof(this->max_update_rate); - offset += this->gravity.deserialize(inbuffer + offset); - offset += this->ode_config.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SETPHYSICSPROPERTIES; }; - virtual const char * getMD5() override { return "abd9f82732b52b92e9d6bb36e6a82452"; }; - - }; - - class SetPhysicsPropertiesResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetPhysicsPropertiesResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETPHYSICSPROPERTIES; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetPhysicsProperties { - public: - typedef SetPhysicsPropertiesRequest Request; - typedef SetPhysicsPropertiesResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SpawnModel.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SpawnModel.h deleted file mode 100644 index 36005887..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/SpawnModel.h +++ /dev/null @@ -1,179 +0,0 @@ -#ifndef _ROS_SERVICE_SpawnModel_h -#define _ROS_SERVICE_SpawnModel_h -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" - -namespace gazebo_msgs -{ - -static const char SPAWNMODEL[] = "gazebo_msgs/SpawnModel"; - - class SpawnModelRequest : public ros::Msg - { - public: - typedef const char* _model_name_type; - _model_name_type model_name; - typedef const char* _model_xml_type; - _model_xml_type model_xml; - typedef const char* _robot_namespace_type; - _robot_namespace_type robot_namespace; - typedef geometry_msgs::Pose _initial_pose_type; - _initial_pose_type initial_pose; - typedef const char* _reference_frame_type; - _reference_frame_type reference_frame; - - SpawnModelRequest(): - model_name(""), - model_xml(""), - robot_namespace(""), - initial_pose(), - reference_frame("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_model_name = strlen(this->model_name); - varToArr(outbuffer + offset, length_model_name); - offset += 4; - memcpy(outbuffer + offset, this->model_name, length_model_name); - offset += length_model_name; - uint32_t length_model_xml = strlen(this->model_xml); - varToArr(outbuffer + offset, length_model_xml); - offset += 4; - memcpy(outbuffer + offset, this->model_xml, length_model_xml); - offset += length_model_xml; - uint32_t length_robot_namespace = strlen(this->robot_namespace); - varToArr(outbuffer + offset, length_robot_namespace); - offset += 4; - memcpy(outbuffer + offset, this->robot_namespace, length_robot_namespace); - offset += length_robot_namespace; - offset += this->initial_pose.serialize(outbuffer + offset); - uint32_t length_reference_frame = strlen(this->reference_frame); - varToArr(outbuffer + offset, length_reference_frame); - offset += 4; - memcpy(outbuffer + offset, this->reference_frame, length_reference_frame); - offset += length_reference_frame; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_model_name; - arrToVar(length_model_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_name-1]=0; - this->model_name = (char *)(inbuffer + offset-1); - offset += length_model_name; - uint32_t length_model_xml; - arrToVar(length_model_xml, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_model_xml; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_model_xml-1]=0; - this->model_xml = (char *)(inbuffer + offset-1); - offset += length_model_xml; - uint32_t length_robot_namespace; - arrToVar(length_robot_namespace, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_robot_namespace; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_robot_namespace-1]=0; - this->robot_namespace = (char *)(inbuffer + offset-1); - offset += length_robot_namespace; - offset += this->initial_pose.deserialize(inbuffer + offset); - uint32_t length_reference_frame; - arrToVar(length_reference_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_reference_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_reference_frame-1]=0; - this->reference_frame = (char *)(inbuffer + offset-1); - offset += length_reference_frame; - return offset; - } - - virtual const char * getType() override { return SPAWNMODEL; }; - virtual const char * getMD5() override { return "6d0eba5753761cd57e6263a056b79930"; }; - - }; - - class SpawnModelResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SpawnModelResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SPAWNMODEL; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SpawnModel { - public: - typedef SpawnModelRequest Request; - typedef SpawnModelResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/WorldState.h b/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/WorldState.h deleted file mode 100644 index 7f152dbf..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/gazebo_msgs/WorldState.h +++ /dev/null @@ -1,159 +0,0 @@ -#ifndef _ROS_gazebo_msgs_WorldState_h -#define _ROS_gazebo_msgs_WorldState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" -#include "geometry_msgs/Twist.h" -#include "geometry_msgs/Wrench.h" - -namespace gazebo_msgs -{ - - class WorldState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t name_length; - typedef char* _name_type; - _name_type st_name; - _name_type * name; - uint32_t pose_length; - typedef geometry_msgs::Pose _pose_type; - _pose_type st_pose; - _pose_type * pose; - uint32_t twist_length; - typedef geometry_msgs::Twist _twist_type; - _twist_type st_twist; - _twist_type * twist; - uint32_t wrench_length; - typedef geometry_msgs::Wrench _wrench_type; - _wrench_type st_wrench; - _wrench_type * wrench; - - WorldState(): - header(), - name_length(0), st_name(), name(nullptr), - pose_length(0), st_pose(), pose(nullptr), - twist_length(0), st_twist(), twist(nullptr), - wrench_length(0), st_wrench(), wrench(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->name_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->name_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->name_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->name_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->name_length); - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_namei = strlen(this->name[i]); - varToArr(outbuffer + offset, length_namei); - offset += 4; - memcpy(outbuffer + offset, this->name[i], length_namei); - offset += length_namei; - } - *(outbuffer + offset + 0) = (this->pose_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->pose_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->pose_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->pose_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->pose_length); - for( uint32_t i = 0; i < pose_length; i++){ - offset += this->pose[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->twist_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->twist_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->twist_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->twist_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->twist_length); - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->twist[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->wrench_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wrench_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->wrench_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->wrench_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->wrench_length); - for( uint32_t i = 0; i < wrench_length; i++){ - offset += this->wrench[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t name_lengthT = ((uint32_t) (*(inbuffer + offset))); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->name_length); - if(name_lengthT > name_length) - this->name = (char**)realloc(this->name, name_lengthT * sizeof(char*)); - name_length = name_lengthT; - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_st_name; - arrToVar(length_st_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_name-1]=0; - this->st_name = (char *)(inbuffer + offset-1); - offset += length_st_name; - memcpy( &(this->name[i]), &(this->st_name), sizeof(char*)); - } - uint32_t pose_lengthT = ((uint32_t) (*(inbuffer + offset))); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - pose_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->pose_length); - if(pose_lengthT > pose_length) - this->pose = (geometry_msgs::Pose*)realloc(this->pose, pose_lengthT * sizeof(geometry_msgs::Pose)); - pose_length = pose_lengthT; - for( uint32_t i = 0; i < pose_length; i++){ - offset += this->st_pose.deserialize(inbuffer + offset); - memcpy( &(this->pose[i]), &(this->st_pose), sizeof(geometry_msgs::Pose)); - } - uint32_t twist_lengthT = ((uint32_t) (*(inbuffer + offset))); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->twist_length); - if(twist_lengthT > twist_length) - this->twist = (geometry_msgs::Twist*)realloc(this->twist, twist_lengthT * sizeof(geometry_msgs::Twist)); - twist_length = twist_lengthT; - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->st_twist.deserialize(inbuffer + offset); - memcpy( &(this->twist[i]), &(this->st_twist), sizeof(geometry_msgs::Twist)); - } - uint32_t wrench_lengthT = ((uint32_t) (*(inbuffer + offset))); - wrench_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - wrench_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - wrench_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->wrench_length); - if(wrench_lengthT > wrench_length) - this->wrench = (geometry_msgs::Wrench*)realloc(this->wrench, wrench_lengthT * sizeof(geometry_msgs::Wrench)); - wrench_length = wrench_lengthT; - for( uint32_t i = 0; i < wrench_length; i++){ - offset += this->st_wrench.deserialize(inbuffer + offset); - memcpy( &(this->wrench[i]), &(this->st_wrench), sizeof(geometry_msgs::Wrench)); - } - return offset; - } - - virtual const char * getType() override { return "gazebo_msgs/WorldState"; }; - virtual const char * getMD5() override { return "de1a9de3ab7ba97ac0e9ec01a4eb481e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/BoundingBox.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/BoundingBox.h deleted file mode 100644 index cacf42a0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/BoundingBox.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _ROS_geographic_msgs_BoundingBox_h -#define _ROS_geographic_msgs_BoundingBox_h - -#include -#include -#include -#include "ros/msg.h" -#include "geographic_msgs/GeoPoint.h" - -namespace geographic_msgs -{ - - class BoundingBox : public ros::Msg - { - public: - typedef geographic_msgs::GeoPoint _min_pt_type; - _min_pt_type min_pt; - typedef geographic_msgs::GeoPoint _max_pt_type; - _max_pt_type max_pt; - - BoundingBox(): - min_pt(), - max_pt() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->min_pt.serialize(outbuffer + offset); - offset += this->max_pt.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->min_pt.deserialize(inbuffer + offset); - offset += this->max_pt.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/BoundingBox"; }; - virtual const char * getMD5() override { return "f62e8b5e390a3ac7603250d46e8f8446"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPath.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPath.h deleted file mode 100644 index d9216f2d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPath.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_geographic_msgs_GeoPath_h -#define _ROS_geographic_msgs_GeoPath_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geographic_msgs/GeoPoseStamped.h" - -namespace geographic_msgs -{ - - class GeoPath : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t poses_length; - typedef geographic_msgs::GeoPoseStamped _poses_type; - _poses_type st_poses; - _poses_type * poses; - - GeoPath(): - header(), - poses_length(0), st_poses(), poses(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->poses_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->poses_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->poses_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->poses_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->poses_length); - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->poses[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t poses_lengthT = ((uint32_t) (*(inbuffer + offset))); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->poses_length); - if(poses_lengthT > poses_length) - this->poses = (geographic_msgs::GeoPoseStamped*)realloc(this->poses, poses_lengthT * sizeof(geographic_msgs::GeoPoseStamped)); - poses_length = poses_lengthT; - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->st_poses.deserialize(inbuffer + offset); - memcpy( &(this->poses[i]), &(this->st_poses), sizeof(geographic_msgs::GeoPoseStamped)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/GeoPath"; }; - virtual const char * getMD5() override { return "1476008e63041203a89257cfad97308f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoint.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoint.h deleted file mode 100644 index 09503011..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoint.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_geographic_msgs_GeoPoint_h -#define _ROS_geographic_msgs_GeoPoint_h - -#include -#include -#include -#include "ros/msg.h" - -namespace geographic_msgs -{ - - class GeoPoint : public ros::Msg - { - public: - typedef double _latitude_type; - _latitude_type latitude; - typedef double _longitude_type; - _longitude_type longitude; - typedef double _altitude_type; - _altitude_type altitude; - - GeoPoint(): - latitude(0), - longitude(0), - altitude(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_latitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_latitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_latitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_latitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_longitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_longitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_longitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_longitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->longitude); - union { - double real; - uint64_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_altitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_altitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_altitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_altitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->altitude); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - union { - double real; - uint64_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/GeoPoint"; }; - virtual const char * getMD5() override { return "c48027a852aeff972be80478ff38e81a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPointStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPointStamped.h deleted file mode 100644 index 0d7f40bc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPointStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geographic_msgs_GeoPointStamped_h -#define _ROS_geographic_msgs_GeoPointStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geographic_msgs/GeoPoint.h" - -namespace geographic_msgs -{ - - class GeoPointStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geographic_msgs::GeoPoint _position_type; - _position_type position; - - GeoPointStamped(): - header(), - position() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->position.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->position.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/GeoPointStamped"; }; - virtual const char * getMD5() override { return "ea50d268b03080563c330351a21edc89"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPose.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPose.h deleted file mode 100644 index a87ef842..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPose.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geographic_msgs_GeoPose_h -#define _ROS_geographic_msgs_GeoPose_h - -#include -#include -#include -#include "ros/msg.h" -#include "geographic_msgs/GeoPoint.h" -#include "geometry_msgs/Quaternion.h" - -namespace geographic_msgs -{ - - class GeoPose : public ros::Msg - { - public: - typedef geographic_msgs::GeoPoint _position_type; - _position_type position; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - - GeoPose(): - position(), - orientation() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->position.serialize(outbuffer + offset); - offset += this->orientation.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->position.deserialize(inbuffer + offset); - offset += this->orientation.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/GeoPose"; }; - virtual const char * getMD5() override { return "778680b5172de58b7c057d973576c784"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoseStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoseStamped.h deleted file mode 100644 index 2d5e6e8b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeoPoseStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geographic_msgs_GeoPoseStamped_h -#define _ROS_geographic_msgs_GeoPoseStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geographic_msgs/GeoPose.h" - -namespace geographic_msgs -{ - - class GeoPoseStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geographic_msgs::GeoPose _pose_type; - _pose_type pose; - - GeoPoseStamped(): - header(), - pose() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->pose.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->pose.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/GeoPoseStamped"; }; - virtual const char * getMD5() override { return "cc409c8ed6064d8a846fa207bf3fba6b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMap.h deleted file mode 100644 index cfbf7a68..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMap.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_geographic_msgs_GeographicMap_h -#define _ROS_geographic_msgs_GeographicMap_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/BoundingBox.h" -#include "geographic_msgs/WayPoint.h" -#include "geographic_msgs/MapFeature.h" -#include "geographic_msgs/KeyValue.h" - -namespace geographic_msgs -{ - - class GeographicMap : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uuid_msgs::UniqueID _id_type; - _id_type id; - typedef geographic_msgs::BoundingBox _bounds_type; - _bounds_type bounds; - uint32_t points_length; - typedef geographic_msgs::WayPoint _points_type; - _points_type st_points; - _points_type * points; - uint32_t features_length; - typedef geographic_msgs::MapFeature _features_type; - _features_type st_features; - _features_type * features; - uint32_t props_length; - typedef geographic_msgs::KeyValue _props_type; - _props_type st_props; - _props_type * props; - - GeographicMap(): - header(), - id(), - bounds(), - points_length(0), st_points(), points(nullptr), - features_length(0), st_features(), features(nullptr), - props_length(0), st_props(), props(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->id.serialize(outbuffer + offset); - offset += this->bounds.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->features_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->features_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->features_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->features_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->features_length); - for( uint32_t i = 0; i < features_length; i++){ - offset += this->features[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->props_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->props_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->props_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->props_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->props_length); - for( uint32_t i = 0; i < props_length; i++){ - offset += this->props[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->id.deserialize(inbuffer + offset); - offset += this->bounds.deserialize(inbuffer + offset); - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (geographic_msgs::WayPoint*)realloc(this->points, points_lengthT * sizeof(geographic_msgs::WayPoint)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(geographic_msgs::WayPoint)); - } - uint32_t features_lengthT = ((uint32_t) (*(inbuffer + offset))); - features_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - features_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - features_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->features_length); - if(features_lengthT > features_length) - this->features = (geographic_msgs::MapFeature*)realloc(this->features, features_lengthT * sizeof(geographic_msgs::MapFeature)); - features_length = features_lengthT; - for( uint32_t i = 0; i < features_length; i++){ - offset += this->st_features.deserialize(inbuffer + offset); - memcpy( &(this->features[i]), &(this->st_features), sizeof(geographic_msgs::MapFeature)); - } - uint32_t props_lengthT = ((uint32_t) (*(inbuffer + offset))); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->props_length); - if(props_lengthT > props_length) - this->props = (geographic_msgs::KeyValue*)realloc(this->props, props_lengthT * sizeof(geographic_msgs::KeyValue)); - props_length = props_lengthT; - for( uint32_t i = 0; i < props_length; i++){ - offset += this->st_props.deserialize(inbuffer + offset); - memcpy( &(this->props[i]), &(this->st_props), sizeof(geographic_msgs::KeyValue)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/GeographicMap"; }; - virtual const char * getMD5() override { return "0f4ce6d2ebf9ac9c7c4f3308f6ae0731"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMapChanges.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMapChanges.h deleted file mode 100644 index a0368db9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GeographicMapChanges.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _ROS_geographic_msgs_GeographicMapChanges_h -#define _ROS_geographic_msgs_GeographicMapChanges_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geographic_msgs/GeographicMap.h" -#include "uuid_msgs/UniqueID.h" - -namespace geographic_msgs -{ - - class GeographicMapChanges : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geographic_msgs::GeographicMap _diffs_type; - _diffs_type diffs; - uint32_t deletes_length; - typedef uuid_msgs::UniqueID _deletes_type; - _deletes_type st_deletes; - _deletes_type * deletes; - - GeographicMapChanges(): - header(), - diffs(), - deletes_length(0), st_deletes(), deletes(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->diffs.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->deletes_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->deletes_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->deletes_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->deletes_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->deletes_length); - for( uint32_t i = 0; i < deletes_length; i++){ - offset += this->deletes[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->diffs.deserialize(inbuffer + offset); - uint32_t deletes_lengthT = ((uint32_t) (*(inbuffer + offset))); - deletes_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - deletes_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - deletes_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->deletes_length); - if(deletes_lengthT > deletes_length) - this->deletes = (uuid_msgs::UniqueID*)realloc(this->deletes, deletes_lengthT * sizeof(uuid_msgs::UniqueID)); - deletes_length = deletes_lengthT; - for( uint32_t i = 0; i < deletes_length; i++){ - offset += this->st_deletes.deserialize(inbuffer + offset); - memcpy( &(this->deletes[i]), &(this->st_deletes), sizeof(uuid_msgs::UniqueID)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/GeographicMapChanges"; }; - virtual const char * getMD5() override { return "4fd027f54298203ec12aa1c4b20e6cb8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeoPath.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeoPath.h deleted file mode 100644 index 4f105c3f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeoPath.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef _ROS_SERVICE_GetGeoPath_h -#define _ROS_SERVICE_GetGeoPath_h -#include -#include -#include -#include "ros/msg.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/GeoPoint.h" -#include "geographic_msgs/GeoPath.h" - -namespace geographic_msgs -{ - -static const char GETGEOPATH[] = "geographic_msgs/GetGeoPath"; - - class GetGeoPathRequest : public ros::Msg - { - public: - typedef geographic_msgs::GeoPoint _start_type; - _start_type start; - typedef geographic_msgs::GeoPoint _goal_type; - _goal_type goal; - - GetGeoPathRequest(): - start(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->start.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->start.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETGEOPATH; }; - virtual const char * getMD5() override { return "cad6de11e4ae4ca568785186e1f99f89"; }; - - }; - - class GetGeoPathResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_type; - _status_type status; - typedef geographic_msgs::GeoPath _plan_type; - _plan_type plan; - typedef uuid_msgs::UniqueID _network_type; - _network_type network; - typedef uuid_msgs::UniqueID _start_seg_type; - _start_seg_type start_seg; - typedef uuid_msgs::UniqueID _goal_seg_type; - _goal_seg_type goal_seg; - typedef double _distance_type; - _distance_type distance; - - GetGeoPathResponse(): - success(0), - status(""), - plan(), - network(), - start_seg(), - goal_seg(), - distance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status = strlen(this->status); - varToArr(outbuffer + offset, length_status); - offset += 4; - memcpy(outbuffer + offset, this->status, length_status); - offset += length_status; - offset += this->plan.serialize(outbuffer + offset); - offset += this->network.serialize(outbuffer + offset); - offset += this->start_seg.serialize(outbuffer + offset); - offset += this->goal_seg.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_distance; - u_distance.real = this->distance; - *(outbuffer + offset + 0) = (u_distance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_distance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_distance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_distance.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_distance.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_distance.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_distance.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_distance.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->distance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status; - arrToVar(length_status, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status-1]=0; - this->status = (char *)(inbuffer + offset-1); - offset += length_status; - offset += this->plan.deserialize(inbuffer + offset); - offset += this->network.deserialize(inbuffer + offset); - offset += this->start_seg.deserialize(inbuffer + offset); - offset += this->goal_seg.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_distance; - u_distance.base = 0; - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_distance.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->distance = u_distance.real; - offset += sizeof(this->distance); - return offset; - } - - virtual const char * getType() override { return GETGEOPATH; }; - virtual const char * getMD5() override { return "0562f4b72e4d5b8e5fa142bd7363638c"; }; - - }; - - class GetGeoPath { - public: - typedef GetGeoPathRequest Request; - typedef GetGeoPathResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeographicMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeographicMap.h deleted file mode 100644 index ccb15871..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetGeographicMap.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_SERVICE_GetGeographicMap_h -#define _ROS_SERVICE_GetGeographicMap_h -#include -#include -#include -#include "ros/msg.h" -#include "geographic_msgs/BoundingBox.h" -#include "geographic_msgs/GeographicMap.h" - -namespace geographic_msgs -{ - -static const char GETGEOGRAPHICMAP[] = "geographic_msgs/GetGeographicMap"; - - class GetGeographicMapRequest : public ros::Msg - { - public: - typedef const char* _url_type; - _url_type url; - typedef geographic_msgs::BoundingBox _bounds_type; - _bounds_type bounds; - - GetGeographicMapRequest(): - url(""), - bounds() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_url = strlen(this->url); - varToArr(outbuffer + offset, length_url); - offset += 4; - memcpy(outbuffer + offset, this->url, length_url); - offset += length_url; - offset += this->bounds.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_url; - arrToVar(length_url, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_url; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_url-1]=0; - this->url = (char *)(inbuffer + offset-1); - offset += length_url; - offset += this->bounds.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETGEOGRAPHICMAP; }; - virtual const char * getMD5() override { return "505cc89008cb1745810d2ee4ea646d6e"; }; - - }; - - class GetGeographicMapResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_type; - _status_type status; - typedef geographic_msgs::GeographicMap _map_type; - _map_type map; - - GetGeographicMapResponse(): - success(0), - status(""), - map() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status = strlen(this->status); - varToArr(outbuffer + offset, length_status); - offset += 4; - memcpy(outbuffer + offset, this->status, length_status); - offset += length_status; - offset += this->map.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status; - arrToVar(length_status, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status-1]=0; - this->status = (char *)(inbuffer + offset-1); - offset += length_status; - offset += this->map.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETGEOGRAPHICMAP; }; - virtual const char * getMD5() override { return "0910332806c65953a4f4252eb780811a"; }; - - }; - - class GetGeographicMap { - public: - typedef GetGeographicMapRequest Request; - typedef GetGeographicMapResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetRoutePlan.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetRoutePlan.h deleted file mode 100644 index bd9b6b7d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/GetRoutePlan.h +++ /dev/null @@ -1,127 +0,0 @@ -#ifndef _ROS_SERVICE_GetRoutePlan_h -#define _ROS_SERVICE_GetRoutePlan_h -#include -#include -#include -#include "ros/msg.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/RoutePath.h" - -namespace geographic_msgs -{ - -static const char GETROUTEPLAN[] = "geographic_msgs/GetRoutePlan"; - - class GetRoutePlanRequest : public ros::Msg - { - public: - typedef uuid_msgs::UniqueID _network_type; - _network_type network; - typedef uuid_msgs::UniqueID _start_type; - _start_type start; - typedef uuid_msgs::UniqueID _goal_type; - _goal_type goal; - - GetRoutePlanRequest(): - network(), - start(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->network.serialize(outbuffer + offset); - offset += this->start.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->network.deserialize(inbuffer + offset); - offset += this->start.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETROUTEPLAN; }; - virtual const char * getMD5() override { return "e56ac34268c6d575dabb30f42da4a47a"; }; - - }; - - class GetRoutePlanResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_type; - _status_type status; - typedef geographic_msgs::RoutePath _plan_type; - _plan_type plan; - - GetRoutePlanResponse(): - success(0), - status(""), - plan() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status = strlen(this->status); - varToArr(outbuffer + offset, length_status); - offset += 4; - memcpy(outbuffer + offset, this->status, length_status); - offset += length_status; - offset += this->plan.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status; - arrToVar(length_status, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status-1]=0; - this->status = (char *)(inbuffer + offset-1); - offset += length_status; - offset += this->plan.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETROUTEPLAN; }; - virtual const char * getMD5() override { return "28ee54f0ccb2ab28b46048ebc6fa5aff"; }; - - }; - - class GetRoutePlan { - public: - typedef GetRoutePlanRequest Request; - typedef GetRoutePlanResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/KeyValue.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/KeyValue.h deleted file mode 100644 index 8ef9190f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/KeyValue.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef _ROS_geographic_msgs_KeyValue_h -#define _ROS_geographic_msgs_KeyValue_h - -#include -#include -#include -#include "ros/msg.h" - -namespace geographic_msgs -{ - - class KeyValue : public ros::Msg - { - public: - typedef const char* _key_type; - _key_type key; - typedef const char* _value_type; - _value_type value; - - KeyValue(): - key(""), - value("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_key = strlen(this->key); - varToArr(outbuffer + offset, length_key); - offset += 4; - memcpy(outbuffer + offset, this->key, length_key); - offset += length_key; - uint32_t length_value = strlen(this->value); - varToArr(outbuffer + offset, length_value); - offset += 4; - memcpy(outbuffer + offset, this->value, length_value); - offset += length_value; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_key; - arrToVar(length_key, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_key; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_key-1]=0; - this->key = (char *)(inbuffer + offset-1); - offset += length_key; - uint32_t length_value; - arrToVar(length_value, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_value; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_value-1]=0; - this->value = (char *)(inbuffer + offset-1); - offset += length_value; - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/KeyValue"; }; - virtual const char * getMD5() override { return "cf57fdc6617a881a88c16e768132149c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/MapFeature.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/MapFeature.h deleted file mode 100644 index bfd10c48..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/MapFeature.h +++ /dev/null @@ -1,95 +0,0 @@ -#ifndef _ROS_geographic_msgs_MapFeature_h -#define _ROS_geographic_msgs_MapFeature_h - -#include -#include -#include -#include "ros/msg.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/KeyValue.h" - -namespace geographic_msgs -{ - - class MapFeature : public ros::Msg - { - public: - typedef uuid_msgs::UniqueID _id_type; - _id_type id; - uint32_t components_length; - typedef uuid_msgs::UniqueID _components_type; - _components_type st_components; - _components_type * components; - uint32_t props_length; - typedef geographic_msgs::KeyValue _props_type; - _props_type st_props; - _props_type * props; - - MapFeature(): - id(), - components_length(0), st_components(), components(nullptr), - props_length(0), st_props(), props(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->id.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->components_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->components_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->components_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->components_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->components_length); - for( uint32_t i = 0; i < components_length; i++){ - offset += this->components[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->props_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->props_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->props_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->props_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->props_length); - for( uint32_t i = 0; i < props_length; i++){ - offset += this->props[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->id.deserialize(inbuffer + offset); - uint32_t components_lengthT = ((uint32_t) (*(inbuffer + offset))); - components_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - components_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - components_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->components_length); - if(components_lengthT > components_length) - this->components = (uuid_msgs::UniqueID*)realloc(this->components, components_lengthT * sizeof(uuid_msgs::UniqueID)); - components_length = components_lengthT; - for( uint32_t i = 0; i < components_length; i++){ - offset += this->st_components.deserialize(inbuffer + offset); - memcpy( &(this->components[i]), &(this->st_components), sizeof(uuid_msgs::UniqueID)); - } - uint32_t props_lengthT = ((uint32_t) (*(inbuffer + offset))); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->props_length); - if(props_lengthT > props_length) - this->props = (geographic_msgs::KeyValue*)realloc(this->props, props_lengthT * sizeof(geographic_msgs::KeyValue)); - props_length = props_lengthT; - for( uint32_t i = 0; i < props_length; i++){ - offset += this->st_props.deserialize(inbuffer + offset); - memcpy( &(this->props[i]), &(this->st_props), sizeof(geographic_msgs::KeyValue)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/MapFeature"; }; - virtual const char * getMD5() override { return "e2505ace5e8da8a15b610eaf62bdefae"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteNetwork.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteNetwork.h deleted file mode 100644 index 5390dac3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteNetwork.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_geographic_msgs_RouteNetwork_h -#define _ROS_geographic_msgs_RouteNetwork_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/BoundingBox.h" -#include "geographic_msgs/WayPoint.h" -#include "geographic_msgs/RouteSegment.h" -#include "geographic_msgs/KeyValue.h" - -namespace geographic_msgs -{ - - class RouteNetwork : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uuid_msgs::UniqueID _id_type; - _id_type id; - typedef geographic_msgs::BoundingBox _bounds_type; - _bounds_type bounds; - uint32_t points_length; - typedef geographic_msgs::WayPoint _points_type; - _points_type st_points; - _points_type * points; - uint32_t segments_length; - typedef geographic_msgs::RouteSegment _segments_type; - _segments_type st_segments; - _segments_type * segments; - uint32_t props_length; - typedef geographic_msgs::KeyValue _props_type; - _props_type st_props; - _props_type * props; - - RouteNetwork(): - header(), - id(), - bounds(), - points_length(0), st_points(), points(nullptr), - segments_length(0), st_segments(), segments(nullptr), - props_length(0), st_props(), props(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->id.serialize(outbuffer + offset); - offset += this->bounds.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->segments_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->segments_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->segments_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->segments_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->segments_length); - for( uint32_t i = 0; i < segments_length; i++){ - offset += this->segments[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->props_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->props_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->props_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->props_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->props_length); - for( uint32_t i = 0; i < props_length; i++){ - offset += this->props[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->id.deserialize(inbuffer + offset); - offset += this->bounds.deserialize(inbuffer + offset); - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (geographic_msgs::WayPoint*)realloc(this->points, points_lengthT * sizeof(geographic_msgs::WayPoint)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(geographic_msgs::WayPoint)); - } - uint32_t segments_lengthT = ((uint32_t) (*(inbuffer + offset))); - segments_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - segments_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - segments_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->segments_length); - if(segments_lengthT > segments_length) - this->segments = (geographic_msgs::RouteSegment*)realloc(this->segments, segments_lengthT * sizeof(geographic_msgs::RouteSegment)); - segments_length = segments_lengthT; - for( uint32_t i = 0; i < segments_length; i++){ - offset += this->st_segments.deserialize(inbuffer + offset); - memcpy( &(this->segments[i]), &(this->st_segments), sizeof(geographic_msgs::RouteSegment)); - } - uint32_t props_lengthT = ((uint32_t) (*(inbuffer + offset))); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->props_length); - if(props_lengthT > props_length) - this->props = (geographic_msgs::KeyValue*)realloc(this->props, props_lengthT * sizeof(geographic_msgs::KeyValue)); - props_length = props_lengthT; - for( uint32_t i = 0; i < props_length; i++){ - offset += this->st_props.deserialize(inbuffer + offset); - memcpy( &(this->props[i]), &(this->st_props), sizeof(geographic_msgs::KeyValue)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/RouteNetwork"; }; - virtual const char * getMD5() override { return "fd717c0a34a7c954deed32c6847f30a8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RoutePath.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RoutePath.h deleted file mode 100644 index 8a9371cb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RoutePath.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef _ROS_geographic_msgs_RoutePath_h -#define _ROS_geographic_msgs_RoutePath_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/KeyValue.h" - -namespace geographic_msgs -{ - - class RoutePath : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uuid_msgs::UniqueID _network_type; - _network_type network; - uint32_t segments_length; - typedef uuid_msgs::UniqueID _segments_type; - _segments_type st_segments; - _segments_type * segments; - uint32_t props_length; - typedef geographic_msgs::KeyValue _props_type; - _props_type st_props; - _props_type * props; - - RoutePath(): - header(), - network(), - segments_length(0), st_segments(), segments(nullptr), - props_length(0), st_props(), props(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->network.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->segments_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->segments_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->segments_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->segments_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->segments_length); - for( uint32_t i = 0; i < segments_length; i++){ - offset += this->segments[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->props_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->props_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->props_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->props_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->props_length); - for( uint32_t i = 0; i < props_length; i++){ - offset += this->props[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->network.deserialize(inbuffer + offset); - uint32_t segments_lengthT = ((uint32_t) (*(inbuffer + offset))); - segments_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - segments_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - segments_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->segments_length); - if(segments_lengthT > segments_length) - this->segments = (uuid_msgs::UniqueID*)realloc(this->segments, segments_lengthT * sizeof(uuid_msgs::UniqueID)); - segments_length = segments_lengthT; - for( uint32_t i = 0; i < segments_length; i++){ - offset += this->st_segments.deserialize(inbuffer + offset); - memcpy( &(this->segments[i]), &(this->st_segments), sizeof(uuid_msgs::UniqueID)); - } - uint32_t props_lengthT = ((uint32_t) (*(inbuffer + offset))); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->props_length); - if(props_lengthT > props_length) - this->props = (geographic_msgs::KeyValue*)realloc(this->props, props_lengthT * sizeof(geographic_msgs::KeyValue)); - props_length = props_lengthT; - for( uint32_t i = 0; i < props_length; i++){ - offset += this->st_props.deserialize(inbuffer + offset); - memcpy( &(this->props[i]), &(this->st_props), sizeof(geographic_msgs::KeyValue)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/RoutePath"; }; - virtual const char * getMD5() override { return "0aa2dd809a8091bdb4466dfefecbb8cf"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteSegment.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteSegment.h deleted file mode 100644 index 83b1e876..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/RouteSegment.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _ROS_geographic_msgs_RouteSegment_h -#define _ROS_geographic_msgs_RouteSegment_h - -#include -#include -#include -#include "ros/msg.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/KeyValue.h" - -namespace geographic_msgs -{ - - class RouteSegment : public ros::Msg - { - public: - typedef uuid_msgs::UniqueID _id_type; - _id_type id; - typedef uuid_msgs::UniqueID _start_type; - _start_type start; - typedef uuid_msgs::UniqueID _end_type; - _end_type end; - uint32_t props_length; - typedef geographic_msgs::KeyValue _props_type; - _props_type st_props; - _props_type * props; - - RouteSegment(): - id(), - start(), - end(), - props_length(0), st_props(), props(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->id.serialize(outbuffer + offset); - offset += this->start.serialize(outbuffer + offset); - offset += this->end.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->props_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->props_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->props_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->props_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->props_length); - for( uint32_t i = 0; i < props_length; i++){ - offset += this->props[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->id.deserialize(inbuffer + offset); - offset += this->start.deserialize(inbuffer + offset); - offset += this->end.deserialize(inbuffer + offset); - uint32_t props_lengthT = ((uint32_t) (*(inbuffer + offset))); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->props_length); - if(props_lengthT > props_length) - this->props = (geographic_msgs::KeyValue*)realloc(this->props, props_lengthT * sizeof(geographic_msgs::KeyValue)); - props_length = props_lengthT; - for( uint32_t i = 0; i < props_length; i++){ - offset += this->st_props.deserialize(inbuffer + offset); - memcpy( &(this->props[i]), &(this->st_props), sizeof(geographic_msgs::KeyValue)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/RouteSegment"; }; - virtual const char * getMD5() override { return "8583d1e2ddf1891c3934a5d2ed9a799c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/UpdateGeographicMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/UpdateGeographicMap.h deleted file mode 100644 index b0122ed3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/UpdateGeographicMap.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef _ROS_SERVICE_UpdateGeographicMap_h -#define _ROS_SERVICE_UpdateGeographicMap_h -#include -#include -#include -#include "ros/msg.h" -#include "geographic_msgs/GeographicMapChanges.h" - -namespace geographic_msgs -{ - -static const char UPDATEGEOGRAPHICMAP[] = "geographic_msgs/UpdateGeographicMap"; - - class UpdateGeographicMapRequest : public ros::Msg - { - public: - typedef geographic_msgs::GeographicMapChanges _updates_type; - _updates_type updates; - - UpdateGeographicMapRequest(): - updates() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->updates.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->updates.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return UPDATEGEOGRAPHICMAP; }; - virtual const char * getMD5() override { return "8d8da723a1fadc5f7621a18b4e72fc3b"; }; - - }; - - class UpdateGeographicMapResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_type; - _status_type status; - - UpdateGeographicMapResponse(): - success(0), - status("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status = strlen(this->status); - varToArr(outbuffer + offset, length_status); - offset += 4; - memcpy(outbuffer + offset, this->status, length_status); - offset += length_status; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status; - arrToVar(length_status, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status-1]=0; - this->status = (char *)(inbuffer + offset-1); - offset += length_status; - return offset; - } - - virtual const char * getType() override { return UPDATEGEOGRAPHICMAP; }; - virtual const char * getMD5() override { return "38b8954d32a849f31d78416b12bff5d1"; }; - - }; - - class UpdateGeographicMap { - public: - typedef UpdateGeographicMapRequest Request; - typedef UpdateGeographicMapResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/WayPoint.h b/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/WayPoint.h deleted file mode 100644 index 9c71b3d0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geographic_msgs/WayPoint.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _ROS_geographic_msgs_WayPoint_h -#define _ROS_geographic_msgs_WayPoint_h - -#include -#include -#include -#include "ros/msg.h" -#include "uuid_msgs/UniqueID.h" -#include "geographic_msgs/GeoPoint.h" -#include "geographic_msgs/KeyValue.h" - -namespace geographic_msgs -{ - - class WayPoint : public ros::Msg - { - public: - typedef uuid_msgs::UniqueID _id_type; - _id_type id; - typedef geographic_msgs::GeoPoint _position_type; - _position_type position; - uint32_t props_length; - typedef geographic_msgs::KeyValue _props_type; - _props_type st_props; - _props_type * props; - - WayPoint(): - id(), - position(), - props_length(0), st_props(), props(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->id.serialize(outbuffer + offset); - offset += this->position.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->props_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->props_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->props_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->props_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->props_length); - for( uint32_t i = 0; i < props_length; i++){ - offset += this->props[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->id.deserialize(inbuffer + offset); - offset += this->position.deserialize(inbuffer + offset); - uint32_t props_lengthT = ((uint32_t) (*(inbuffer + offset))); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - props_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->props_length); - if(props_lengthT > props_length) - this->props = (geographic_msgs::KeyValue*)realloc(this->props, props_lengthT * sizeof(geographic_msgs::KeyValue)); - props_length = props_lengthT; - for( uint32_t i = 0; i < props_length; i++){ - offset += this->st_props.deserialize(inbuffer + offset); - memcpy( &(this->props[i]), &(this->st_props), sizeof(geographic_msgs::KeyValue)); - } - return offset; - } - - virtual const char * getType() override { return "geographic_msgs/WayPoint"; }; - virtual const char * getMD5() override { return "ef04f823aef332455a49eaec3f1761b7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Accel.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Accel.h deleted file mode 100644 index efd9bcba..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Accel.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _ROS_geometry_msgs_Accel_h -#define _ROS_geometry_msgs_Accel_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Vector3.h" - -namespace geometry_msgs -{ - - class Accel : public ros::Msg - { - public: - typedef geometry_msgs::Vector3 _linear_type; - _linear_type linear; - typedef geometry_msgs::Vector3 _angular_type; - _angular_type angular; - - Accel(): - linear(), - angular() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->linear.serialize(outbuffer + offset); - offset += this->angular.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->linear.deserialize(inbuffer + offset); - offset += this->angular.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Accel"; }; - virtual const char * getMD5() override { return "9f195f881246fdfa2798d1d3eebca84a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelStamped.h deleted file mode 100644 index 0923e3ec..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_AccelStamped_h -#define _ROS_geometry_msgs_AccelStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Accel.h" - -namespace geometry_msgs -{ - - class AccelStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Accel _accel_type; - _accel_type accel; - - AccelStamped(): - header(), - accel() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->accel.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->accel.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/AccelStamped"; }; - virtual const char * getMD5() override { return "d8a98a5d81351b6eb0578c78557e7659"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovariance.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovariance.h deleted file mode 100644 index ddd594eb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovariance.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _ROS_geometry_msgs_AccelWithCovariance_h -#define _ROS_geometry_msgs_AccelWithCovariance_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Accel.h" - -namespace geometry_msgs -{ - - class AccelWithCovariance : public ros::Msg - { - public: - typedef geometry_msgs::Accel _accel_type; - _accel_type accel; - double covariance[36]; - - AccelWithCovariance(): - accel(), - covariance() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->accel.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 36; i++){ - union { - double real; - uint64_t base; - } u_covariancei; - u_covariancei.real = this->covariance[i]; - *(outbuffer + offset + 0) = (u_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->covariance[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->accel.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 36; i++){ - union { - double real; - uint64_t base; - } u_covariancei; - u_covariancei.base = 0; - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->covariance[i] = u_covariancei.real; - offset += sizeof(this->covariance[i]); - } - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/AccelWithCovariance"; }; - virtual const char * getMD5() override { return "ad5a718d699c6be72a02b8d6a139f334"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovarianceStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovarianceStamped.h deleted file mode 100644 index dbc01a4c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/AccelWithCovarianceStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_AccelWithCovarianceStamped_h -#define _ROS_geometry_msgs_AccelWithCovarianceStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/AccelWithCovariance.h" - -namespace geometry_msgs -{ - - class AccelWithCovarianceStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::AccelWithCovariance _accel_type; - _accel_type accel; - - AccelWithCovarianceStamped(): - header(), - accel() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->accel.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->accel.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/AccelWithCovarianceStamped"; }; - virtual const char * getMD5() override { return "96adb295225031ec8d57fb4251b0a886"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Inertia.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Inertia.h deleted file mode 100644 index 115eeef5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Inertia.h +++ /dev/null @@ -1,268 +0,0 @@ -#ifndef _ROS_geometry_msgs_Inertia_h -#define _ROS_geometry_msgs_Inertia_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Vector3.h" - -namespace geometry_msgs -{ - - class Inertia : public ros::Msg - { - public: - typedef double _m_type; - _m_type m; - typedef geometry_msgs::Vector3 _com_type; - _com_type com; - typedef double _ixx_type; - _ixx_type ixx; - typedef double _ixy_type; - _ixy_type ixy; - typedef double _ixz_type; - _ixz_type ixz; - typedef double _iyy_type; - _iyy_type iyy; - typedef double _iyz_type; - _iyz_type iyz; - typedef double _izz_type; - _izz_type izz; - - Inertia(): - m(0), - com(), - ixx(0), - ixy(0), - ixz(0), - iyy(0), - iyz(0), - izz(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_m; - u_m.real = this->m; - *(outbuffer + offset + 0) = (u_m.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_m.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_m.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_m.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_m.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_m.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_m.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_m.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->m); - offset += this->com.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_ixx; - u_ixx.real = this->ixx; - *(outbuffer + offset + 0) = (u_ixx.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixx.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixx.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixx.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixx.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixx.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixx.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixx.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixx); - union { - double real; - uint64_t base; - } u_ixy; - u_ixy.real = this->ixy; - *(outbuffer + offset + 0) = (u_ixy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixy.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixy.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixy.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixy.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixy.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixy); - union { - double real; - uint64_t base; - } u_ixz; - u_ixz.real = this->ixz; - *(outbuffer + offset + 0) = (u_ixz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ixz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ixz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ixz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_ixz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_ixz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_ixz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_ixz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->ixz); - union { - double real; - uint64_t base; - } u_iyy; - u_iyy.real = this->iyy; - *(outbuffer + offset + 0) = (u_iyy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iyy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iyy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iyy.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_iyy.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_iyy.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_iyy.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_iyy.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->iyy); - union { - double real; - uint64_t base; - } u_iyz; - u_iyz.real = this->iyz; - *(outbuffer + offset + 0) = (u_iyz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iyz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iyz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iyz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_iyz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_iyz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_iyz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_iyz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->iyz); - union { - double real; - uint64_t base; - } u_izz; - u_izz.real = this->izz; - *(outbuffer + offset + 0) = (u_izz.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_izz.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_izz.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_izz.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_izz.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_izz.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_izz.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_izz.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->izz); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_m; - u_m.base = 0; - u_m.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_m.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_m.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_m.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_m.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_m.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_m.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_m.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->m = u_m.real; - offset += sizeof(this->m); - offset += this->com.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_ixx; - u_ixx.base = 0; - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixx = u_ixx.real; - offset += sizeof(this->ixx); - union { - double real; - uint64_t base; - } u_ixy; - u_ixy.base = 0; - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixy = u_ixy.real; - offset += sizeof(this->ixy); - union { - double real; - uint64_t base; - } u_ixz; - u_ixz.base = 0; - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->ixz = u_ixz.real; - offset += sizeof(this->ixz); - union { - double real; - uint64_t base; - } u_iyy; - u_iyy.base = 0; - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->iyy = u_iyy.real; - offset += sizeof(this->iyy); - union { - double real; - uint64_t base; - } u_iyz; - u_iyz.base = 0; - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->iyz = u_iyz.real; - offset += sizeof(this->iyz); - union { - double real; - uint64_t base; - } u_izz; - u_izz.base = 0; - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_izz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->izz = u_izz.real; - offset += sizeof(this->izz); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Inertia"; }; - virtual const char * getMD5() override { return "1d26e4bb6c83ff141c5cf0d883c2b0fe"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/InertiaStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/InertiaStamped.h deleted file mode 100644 index 5f287cc2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/InertiaStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_InertiaStamped_h -#define _ROS_geometry_msgs_InertiaStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Inertia.h" - -namespace geometry_msgs -{ - - class InertiaStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Inertia _inertia_type; - _inertia_type inertia; - - InertiaStamped(): - header(), - inertia() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->inertia.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->inertia.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/InertiaStamped"; }; - virtual const char * getMD5() override { return "ddee48caeab5a966c5e8d166654a9ac7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point.h deleted file mode 100644 index 59d22e0d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_geometry_msgs_Point_h -#define _ROS_geometry_msgs_Point_h - -#include -#include -#include -#include "ros/msg.h" - -namespace geometry_msgs -{ - - class Point : public ros::Msg - { - public: - typedef double _x_type; - _x_type x; - typedef double _y_type; - _y_type y; - typedef double _z_type; - _z_type z; - - Point(): - x(0), - y(0), - z(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.real = this->z; - *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->z); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x = u_x.real; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y = u_y.real; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.base = 0; - u_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->z = u_z.real; - offset += sizeof(this->z); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Point"; }; - virtual const char * getMD5() override { return "4a842b65f413084dc2b10fb484ea7f17"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point32.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point32.h deleted file mode 100644 index 6f8565bb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Point32.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef _ROS_geometry_msgs_Point32_h -#define _ROS_geometry_msgs_Point32_h - -#include -#include -#include -#include "ros/msg.h" - -namespace geometry_msgs -{ - - class Point32 : public ros::Msg - { - public: - typedef float _x_type; - _x_type x; - typedef float _y_type; - _y_type y; - typedef float _z_type; - _z_type z; - - Point32(): - x(0), - y(0), - z(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_z; - u_z.real = this->z; - *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->z); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->x = u_x.real; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->y = u_y.real; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_z; - u_z.base = 0; - u_z.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->z = u_z.real; - offset += sizeof(this->z); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Point32"; }; - virtual const char * getMD5() override { return "cc153912f1453b708d221682bc23d9ac"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PointStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PointStamped.h deleted file mode 100644 index e9efeda4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PointStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_PointStamped_h -#define _ROS_geometry_msgs_PointStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Point.h" - -namespace geometry_msgs -{ - - class PointStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Point _point_type; - _point_type point; - - PointStamped(): - header(), - point() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->point.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->point.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/PointStamped"; }; - virtual const char * getMD5() override { return "c63aecb41bfdfd6b7e1fac37c7cbe7bf"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Polygon.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Polygon.h deleted file mode 100644 index 80329af4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Polygon.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ROS_geometry_msgs_Polygon_h -#define _ROS_geometry_msgs_Polygon_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Point32.h" - -namespace geometry_msgs -{ - - class Polygon : public ros::Msg - { - public: - uint32_t points_length; - typedef geometry_msgs::Point32 _points_type; - _points_type st_points; - _points_type * points; - - Polygon(): - points_length(0), st_points(), points(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (geometry_msgs::Point32*)realloc(this->points, points_lengthT * sizeof(geometry_msgs::Point32)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(geometry_msgs::Point32)); - } - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Polygon"; }; - virtual const char * getMD5() override { return "cd60a26494a087f577976f0329fa120e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PolygonStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PolygonStamped.h deleted file mode 100644 index c3971bb3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PolygonStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_PolygonStamped_h -#define _ROS_geometry_msgs_PolygonStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Polygon.h" - -namespace geometry_msgs -{ - - class PolygonStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Polygon _polygon_type; - _polygon_type polygon; - - PolygonStamped(): - header(), - polygon() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->polygon.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->polygon.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/PolygonStamped"; }; - virtual const char * getMD5() override { return "c6be8f7dc3bee7fe9e8d296070f53340"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose.h deleted file mode 100644 index f2e3429d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_Pose_h -#define _ROS_geometry_msgs_Pose_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Point.h" -#include "geometry_msgs/Quaternion.h" - -namespace geometry_msgs -{ - - class Pose : public ros::Msg - { - public: - typedef geometry_msgs::Point _position_type; - _position_type position; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - - Pose(): - position(), - orientation() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->position.serialize(outbuffer + offset); - offset += this->orientation.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->position.deserialize(inbuffer + offset); - offset += this->orientation.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Pose"; }; - virtual const char * getMD5() override { return "e45d45a5a1ce597b249e23fb30fc871f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose2D.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose2D.h deleted file mode 100644 index d3737ac0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Pose2D.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_geometry_msgs_Pose2D_h -#define _ROS_geometry_msgs_Pose2D_h - -#include -#include -#include -#include "ros/msg.h" - -namespace geometry_msgs -{ - - class Pose2D : public ros::Msg - { - public: - typedef double _x_type; - _x_type x; - typedef double _y_type; - _y_type y; - typedef double _theta_type; - _theta_type theta; - - Pose2D(): - x(0), - y(0), - theta(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_theta; - u_theta.real = this->theta; - *(outbuffer + offset + 0) = (u_theta.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_theta.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_theta.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_theta.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_theta.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_theta.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_theta.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_theta.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->theta); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x = u_x.real; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y = u_y.real; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_theta; - u_theta.base = 0; - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_theta.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->theta = u_theta.real; - offset += sizeof(this->theta); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Pose2D"; }; - virtual const char * getMD5() override { return "938fa65709584ad8e77d238529be13b8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseArray.h deleted file mode 100644 index b2a56623..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseArray.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_geometry_msgs_PoseArray_h -#define _ROS_geometry_msgs_PoseArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" - -namespace geometry_msgs -{ - - class PoseArray : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t poses_length; - typedef geometry_msgs::Pose _poses_type; - _poses_type st_poses; - _poses_type * poses; - - PoseArray(): - header(), - poses_length(0), st_poses(), poses(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->poses_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->poses_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->poses_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->poses_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->poses_length); - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->poses[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t poses_lengthT = ((uint32_t) (*(inbuffer + offset))); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->poses_length); - if(poses_lengthT > poses_length) - this->poses = (geometry_msgs::Pose*)realloc(this->poses, poses_lengthT * sizeof(geometry_msgs::Pose)); - poses_length = poses_lengthT; - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->st_poses.deserialize(inbuffer + offset); - memcpy( &(this->poses[i]), &(this->st_poses), sizeof(geometry_msgs::Pose)); - } - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/PoseArray"; }; - virtual const char * getMD5() override { return "916c28c5764443f268b296bb671b9d97"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseStamped.h deleted file mode 100644 index 5cbf005a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_PoseStamped_h -#define _ROS_geometry_msgs_PoseStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" - -namespace geometry_msgs -{ - - class PoseStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - - PoseStamped(): - header(), - pose() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->pose.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->pose.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/PoseStamped"; }; - virtual const char * getMD5() override { return "d3812c3cbc69362b77dc0b19b345f8f5"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovariance.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovariance.h deleted file mode 100644 index c567b452..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovariance.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _ROS_geometry_msgs_PoseWithCovariance_h -#define _ROS_geometry_msgs_PoseWithCovariance_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Pose.h" - -namespace geometry_msgs -{ - - class PoseWithCovariance : public ros::Msg - { - public: - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - double covariance[36]; - - PoseWithCovariance(): - pose(), - covariance() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->pose.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 36; i++){ - union { - double real; - uint64_t base; - } u_covariancei; - u_covariancei.real = this->covariance[i]; - *(outbuffer + offset + 0) = (u_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->covariance[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->pose.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 36; i++){ - union { - double real; - uint64_t base; - } u_covariancei; - u_covariancei.base = 0; - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->covariance[i] = u_covariancei.real; - offset += sizeof(this->covariance[i]); - } - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/PoseWithCovariance"; }; - virtual const char * getMD5() override { return "c23e848cf1b7533a8d7c259073a97e6f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovarianceStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovarianceStamped.h deleted file mode 100644 index 9a040e3d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/PoseWithCovarianceStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_PoseWithCovarianceStamped_h -#define _ROS_geometry_msgs_PoseWithCovarianceStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/PoseWithCovariance.h" - -namespace geometry_msgs -{ - - class PoseWithCovarianceStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::PoseWithCovariance _pose_type; - _pose_type pose; - - PoseWithCovarianceStamped(): - header(), - pose() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->pose.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->pose.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/PoseWithCovarianceStamped"; }; - virtual const char * getMD5() override { return "953b798c0f514ff060a53a3498ce6246"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Quaternion.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Quaternion.h deleted file mode 100644 index 4b31dc71..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Quaternion.h +++ /dev/null @@ -1,166 +0,0 @@ -#ifndef _ROS_geometry_msgs_Quaternion_h -#define _ROS_geometry_msgs_Quaternion_h - -#include -#include -#include -#include "ros/msg.h" - -namespace geometry_msgs -{ - - class Quaternion : public ros::Msg - { - public: - typedef double _x_type; - _x_type x; - typedef double _y_type; - _y_type y; - typedef double _z_type; - _z_type z; - typedef double _w_type; - _w_type w; - - Quaternion(): - x(0), - y(0), - z(0), - w(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.real = this->z; - *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->z); - union { - double real; - uint64_t base; - } u_w; - u_w.real = this->w; - *(outbuffer + offset + 0) = (u_w.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_w.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_w.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_w.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_w.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_w.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_w.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_w.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->w); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x = u_x.real; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y = u_y.real; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.base = 0; - u_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->z = u_z.real; - offset += sizeof(this->z); - union { - double real; - uint64_t base; - } u_w; - u_w.base = 0; - u_w.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_w.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_w.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_w.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_w.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_w.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_w.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_w.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->w = u_w.real; - offset += sizeof(this->w); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Quaternion"; }; - virtual const char * getMD5() override { return "a779879fadf0160734f906b8c19c7004"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/QuaternionStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/QuaternionStamped.h deleted file mode 100644 index 14bfe0b4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/QuaternionStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_QuaternionStamped_h -#define _ROS_geometry_msgs_QuaternionStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Quaternion.h" - -namespace geometry_msgs -{ - - class QuaternionStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Quaternion _quaternion_type; - _quaternion_type quaternion; - - QuaternionStamped(): - header(), - quaternion() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->quaternion.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->quaternion.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/QuaternionStamped"; }; - virtual const char * getMD5() override { return "e57f1e547e0e1fd13504588ffc8334e2"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Transform.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Transform.h deleted file mode 100644 index c1c7575f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Transform.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_Transform_h -#define _ROS_geometry_msgs_Transform_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Vector3.h" -#include "geometry_msgs/Quaternion.h" - -namespace geometry_msgs -{ - - class Transform : public ros::Msg - { - public: - typedef geometry_msgs::Vector3 _translation_type; - _translation_type translation; - typedef geometry_msgs::Quaternion _rotation_type; - _rotation_type rotation; - - Transform(): - translation(), - rotation() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->translation.serialize(outbuffer + offset); - offset += this->rotation.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->translation.deserialize(inbuffer + offset); - offset += this->rotation.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Transform"; }; - virtual const char * getMD5() override { return "ac9eff44abf714214112b05d54a3cf9b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TransformStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TransformStamped.h deleted file mode 100644 index 2cb1e9d8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TransformStamped.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef _ROS_geometry_msgs_TransformStamped_h -#define _ROS_geometry_msgs_TransformStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Transform.h" - -namespace geometry_msgs -{ - - class TransformStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _child_frame_id_type; - _child_frame_id_type child_frame_id; - typedef geometry_msgs::Transform _transform_type; - _transform_type transform; - - TransformStamped(): - header(), - child_frame_id(""), - transform() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_child_frame_id = strlen(this->child_frame_id); - varToArr(outbuffer + offset, length_child_frame_id); - offset += 4; - memcpy(outbuffer + offset, this->child_frame_id, length_child_frame_id); - offset += length_child_frame_id; - offset += this->transform.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_child_frame_id; - arrToVar(length_child_frame_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_child_frame_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_child_frame_id-1]=0; - this->child_frame_id = (char *)(inbuffer + offset-1); - offset += length_child_frame_id; - offset += this->transform.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/TransformStamped"; }; - virtual const char * getMD5() override { return "b5764a33bfeb3588febc2682852579b0"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Twist.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Twist.h deleted file mode 100644 index 4861a595..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Twist.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _ROS_geometry_msgs_Twist_h -#define _ROS_geometry_msgs_Twist_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Vector3.h" - -namespace geometry_msgs -{ - - class Twist : public ros::Msg - { - public: - typedef geometry_msgs::Vector3 _linear_type; - _linear_type linear; - typedef geometry_msgs::Vector3 _angular_type; - _angular_type angular; - - Twist(): - linear(), - angular() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->linear.serialize(outbuffer + offset); - offset += this->angular.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->linear.deserialize(inbuffer + offset); - offset += this->angular.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Twist"; }; - virtual const char * getMD5() override { return "9f195f881246fdfa2798d1d3eebca84a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistStamped.h deleted file mode 100644 index b8a873fa..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_TwistStamped_h -#define _ROS_geometry_msgs_TwistStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Twist.h" - -namespace geometry_msgs -{ - - class TwistStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Twist _twist_type; - _twist_type twist; - - TwistStamped(): - header(), - twist() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->twist.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->twist.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/TwistStamped"; }; - virtual const char * getMD5() override { return "98d34b0043a2093cf9d9345ab6eef12e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovariance.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovariance.h deleted file mode 100644 index b97a0213..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovariance.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _ROS_geometry_msgs_TwistWithCovariance_h -#define _ROS_geometry_msgs_TwistWithCovariance_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Twist.h" - -namespace geometry_msgs -{ - - class TwistWithCovariance : public ros::Msg - { - public: - typedef geometry_msgs::Twist _twist_type; - _twist_type twist; - double covariance[36]; - - TwistWithCovariance(): - twist(), - covariance() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->twist.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 36; i++){ - union { - double real; - uint64_t base; - } u_covariancei; - u_covariancei.real = this->covariance[i]; - *(outbuffer + offset + 0) = (u_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->covariance[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->twist.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 36; i++){ - union { - double real; - uint64_t base; - } u_covariancei; - u_covariancei.base = 0; - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->covariance[i] = u_covariancei.real; - offset += sizeof(this->covariance[i]); - } - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/TwistWithCovariance"; }; - virtual const char * getMD5() override { return "1fe8a28e6890a4cc3ae4c3ca5c7d82e6"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovarianceStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovarianceStamped.h deleted file mode 100644 index dfa7ef58..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/TwistWithCovarianceStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_TwistWithCovarianceStamped_h -#define _ROS_geometry_msgs_TwistWithCovarianceStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/TwistWithCovariance.h" - -namespace geometry_msgs -{ - - class TwistWithCovarianceStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::TwistWithCovariance _twist_type; - _twist_type twist; - - TwistWithCovarianceStamped(): - header(), - twist() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->twist.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->twist.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/TwistWithCovarianceStamped"; }; - virtual const char * getMD5() override { return "8927a1a12fb2607ceea095b2dc440a96"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3.h deleted file mode 100644 index cbc3b65d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_geometry_msgs_Vector3_h -#define _ROS_geometry_msgs_Vector3_h - -#include -#include -#include -#include "ros/msg.h" - -namespace geometry_msgs -{ - - class Vector3 : public ros::Msg - { - public: - typedef double _x_type; - _x_type x; - typedef double _y_type; - _y_type y; - typedef double _z_type; - _z_type z; - - Vector3(): - x(0), - y(0), - z(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.real = this->z; - *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->z); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x = u_x.real; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y = u_y.real; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.base = 0; - u_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->z = u_z.real; - offset += sizeof(this->z); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Vector3"; }; - virtual const char * getMD5() override { return "4a842b65f413084dc2b10fb484ea7f17"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3Stamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3Stamped.h deleted file mode 100644 index 12050327..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Vector3Stamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_Vector3Stamped_h -#define _ROS_geometry_msgs_Vector3Stamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Vector3.h" - -namespace geometry_msgs -{ - - class Vector3Stamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Vector3 _vector_type; - _vector_type vector; - - Vector3Stamped(): - header(), - vector() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->vector.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->vector.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Vector3Stamped"; }; - virtual const char * getMD5() override { return "7b324c7325e683bf02a9b14b01090ec7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Wrench.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Wrench.h deleted file mode 100644 index d0a9c26f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/Wrench.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _ROS_geometry_msgs_Wrench_h -#define _ROS_geometry_msgs_Wrench_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Vector3.h" - -namespace geometry_msgs -{ - - class Wrench : public ros::Msg - { - public: - typedef geometry_msgs::Vector3 _force_type; - _force_type force; - typedef geometry_msgs::Vector3 _torque_type; - _torque_type torque; - - Wrench(): - force(), - torque() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->force.serialize(outbuffer + offset); - offset += this->torque.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->force.deserialize(inbuffer + offset); - offset += this->torque.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/Wrench"; }; - virtual const char * getMD5() override { return "4f539cf138b23283b520fd271b567936"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/WrenchStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/WrenchStamped.h deleted file mode 100644 index d13c0d77..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/geometry_msgs/WrenchStamped.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_geometry_msgs_WrenchStamped_h -#define _ROS_geometry_msgs_WrenchStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Wrench.h" - -namespace geometry_msgs -{ - - class WrenchStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Wrench _wrench_type; - _wrench_type wrench; - - WrenchStamped(): - header(), - wrench() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->wrench.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->wrench.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "geometry_msgs/WrenchStamped"; }; - virtual const char * getMD5() override { return "d78d3cb249ce23087ade7e7d0c40cfa7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans.h b/firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans.h deleted file mode 100644 index 43d92b8c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef _ROS_SERVICE_AssembleScans_h -#define _ROS_SERVICE_AssembleScans_h -#include -#include -#include -#include "ros/msg.h" -#include "sensor_msgs/PointCloud.h" -#include "ros/time.h" - -namespace laser_assembler -{ - -static const char ASSEMBLESCANS[] = "laser_assembler/AssembleScans"; - - class AssembleScansRequest : public ros::Msg - { - public: - typedef ros::Time _begin_type; - _begin_type begin; - typedef ros::Time _end_type; - _end_type end; - - AssembleScansRequest(): - begin(), - end() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->begin.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->begin.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->begin.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->begin.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->begin.sec); - *(outbuffer + offset + 0) = (this->begin.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->begin.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->begin.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->begin.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->begin.nsec); - *(outbuffer + offset + 0) = (this->end.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->end.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->end.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->end.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->end.sec); - *(outbuffer + offset + 0) = (this->end.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->end.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->end.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->end.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->end.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->begin.sec = ((uint32_t) (*(inbuffer + offset))); - this->begin.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->begin.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->begin.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->begin.sec); - this->begin.nsec = ((uint32_t) (*(inbuffer + offset))); - this->begin.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->begin.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->begin.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->begin.nsec); - this->end.sec = ((uint32_t) (*(inbuffer + offset))); - this->end.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->end.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->end.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->end.sec); - this->end.nsec = ((uint32_t) (*(inbuffer + offset))); - this->end.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->end.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->end.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->end.nsec); - return offset; - } - - virtual const char * getType() override { return ASSEMBLESCANS; }; - virtual const char * getMD5() override { return "b341004f74e15bf5e1b2053a9183bdc7"; }; - - }; - - class AssembleScansResponse : public ros::Msg - { - public: - typedef sensor_msgs::PointCloud _cloud_type; - _cloud_type cloud; - - AssembleScansResponse(): - cloud() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->cloud.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->cloud.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return ASSEMBLESCANS; }; - virtual const char * getMD5() override { return "4217b28a903e4ad7869a83b3653110ff"; }; - - }; - - class AssembleScans { - public: - typedef AssembleScansRequest Request; - typedef AssembleScansResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans2.h b/firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans2.h deleted file mode 100644 index f7ed1ad1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/laser_assembler/AssembleScans2.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef _ROS_SERVICE_AssembleScans2_h -#define _ROS_SERVICE_AssembleScans2_h -#include -#include -#include -#include "ros/msg.h" -#include "sensor_msgs/PointCloud2.h" -#include "ros/time.h" - -namespace laser_assembler -{ - -static const char ASSEMBLESCANS2[] = "laser_assembler/AssembleScans2"; - - class AssembleScans2Request : public ros::Msg - { - public: - typedef ros::Time _begin_type; - _begin_type begin; - typedef ros::Time _end_type; - _end_type end; - - AssembleScans2Request(): - begin(), - end() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->begin.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->begin.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->begin.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->begin.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->begin.sec); - *(outbuffer + offset + 0) = (this->begin.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->begin.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->begin.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->begin.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->begin.nsec); - *(outbuffer + offset + 0) = (this->end.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->end.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->end.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->end.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->end.sec); - *(outbuffer + offset + 0) = (this->end.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->end.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->end.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->end.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->end.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->begin.sec = ((uint32_t) (*(inbuffer + offset))); - this->begin.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->begin.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->begin.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->begin.sec); - this->begin.nsec = ((uint32_t) (*(inbuffer + offset))); - this->begin.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->begin.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->begin.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->begin.nsec); - this->end.sec = ((uint32_t) (*(inbuffer + offset))); - this->end.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->end.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->end.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->end.sec); - this->end.nsec = ((uint32_t) (*(inbuffer + offset))); - this->end.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->end.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->end.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->end.nsec); - return offset; - } - - virtual const char * getType() override { return ASSEMBLESCANS2; }; - virtual const char * getMD5() override { return "b341004f74e15bf5e1b2053a9183bdc7"; }; - - }; - - class AssembleScans2Response : public ros::Msg - { - public: - typedef sensor_msgs::PointCloud2 _cloud_type; - _cloud_type cloud; - - AssembleScans2Response(): - cloud() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->cloud.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->cloud.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return ASSEMBLESCANS2; }; - virtual const char * getMD5() override { return "96cec5374164b3b3d1d7ef5d7628a7ed"; }; - - }; - - class AssembleScans2 { - public: - typedef AssembleScans2Request Request; - typedef AssembleScans2Response Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetMapROI.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetMapROI.h deleted file mode 100644 index 1bce26f8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetMapROI.h +++ /dev/null @@ -1,204 +0,0 @@ -#ifndef _ROS_SERVICE_GetMapROI_h -#define _ROS_SERVICE_GetMapROI_h -#include -#include -#include -#include "ros/msg.h" -#include "nav_msgs/OccupancyGrid.h" - -namespace map_msgs -{ - -static const char GETMAPROI[] = "map_msgs/GetMapROI"; - - class GetMapROIRequest : public ros::Msg - { - public: - typedef double _x_type; - _x_type x; - typedef double _y_type; - _y_type y; - typedef double _l_x_type; - _l_x_type l_x; - typedef double _l_y_type; - _l_y_type l_y; - - GetMapROIRequest(): - x(0), - y(0), - l_x(0), - l_y(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_l_x; - u_l_x.real = this->l_x; - *(outbuffer + offset + 0) = (u_l_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_l_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_l_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_l_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_l_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_l_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_l_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_l_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->l_x); - union { - double real; - uint64_t base; - } u_l_y; - u_l_y.real = this->l_y; - *(outbuffer + offset + 0) = (u_l_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_l_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_l_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_l_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_l_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_l_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_l_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_l_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->l_y); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x = u_x.real; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y = u_y.real; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_l_x; - u_l_x.base = 0; - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->l_x = u_l_x.real; - offset += sizeof(this->l_x); - union { - double real; - uint64_t base; - } u_l_y; - u_l_y.base = 0; - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->l_y = u_l_y.real; - offset += sizeof(this->l_y); - return offset; - } - - virtual const char * getType() override { return GETMAPROI; }; - virtual const char * getMD5() override { return "43c2ff8f45af555c0eaf070c401e9a47"; }; - - }; - - class GetMapROIResponse : public ros::Msg - { - public: - typedef nav_msgs::OccupancyGrid _sub_map_type; - _sub_map_type sub_map; - - GetMapROIResponse(): - sub_map() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->sub_map.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->sub_map.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETMAPROI; }; - virtual const char * getMD5() override { return "4d1986519c00d81967d2891a606b234c"; }; - - }; - - class GetMapROI { - public: - typedef GetMapROIRequest Request; - typedef GetMapROIResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMap.h deleted file mode 100644 index f24f6e1f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMap.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _ROS_SERVICE_GetPointMap_h -#define _ROS_SERVICE_GetPointMap_h -#include -#include -#include -#include "ros/msg.h" -#include "sensor_msgs/PointCloud2.h" - -namespace map_msgs -{ - -static const char GETPOINTMAP[] = "map_msgs/GetPointMap"; - - class GetPointMapRequest : public ros::Msg - { - public: - - GetPointMapRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return GETPOINTMAP; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class GetPointMapResponse : public ros::Msg - { - public: - typedef sensor_msgs::PointCloud2 _map_type; - _map_type map; - - GetPointMapResponse(): - map() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->map.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->map.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETPOINTMAP; }; - virtual const char * getMD5() override { return "b84fbb39505086eb6a62d933c75cb7b4"; }; - - }; - - class GetPointMap { - public: - typedef GetPointMapRequest Request; - typedef GetPointMapResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMapROI.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMapROI.h deleted file mode 100644 index 3b6b23ac..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/GetPointMapROI.h +++ /dev/null @@ -1,300 +0,0 @@ -#ifndef _ROS_SERVICE_GetPointMapROI_h -#define _ROS_SERVICE_GetPointMapROI_h -#include -#include -#include -#include "ros/msg.h" -#include "sensor_msgs/PointCloud2.h" - -namespace map_msgs -{ - -static const char GETPOINTMAPROI[] = "map_msgs/GetPointMapROI"; - - class GetPointMapROIRequest : public ros::Msg - { - public: - typedef double _x_type; - _x_type x; - typedef double _y_type; - _y_type y; - typedef double _z_type; - _z_type z; - typedef double _r_type; - _r_type r; - typedef double _l_x_type; - _l_x_type l_x; - typedef double _l_y_type; - _l_y_type l_y; - typedef double _l_z_type; - _l_z_type l_z; - - GetPointMapROIRequest(): - x(0), - y(0), - z(0), - r(0), - l_x(0), - l_y(0), - l_z(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.real = this->z; - *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->z); - union { - double real; - uint64_t base; - } u_r; - u_r.real = this->r; - *(outbuffer + offset + 0) = (u_r.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_r.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_r.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_r.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_r.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->r); - union { - double real; - uint64_t base; - } u_l_x; - u_l_x.real = this->l_x; - *(outbuffer + offset + 0) = (u_l_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_l_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_l_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_l_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_l_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_l_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_l_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_l_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->l_x); - union { - double real; - uint64_t base; - } u_l_y; - u_l_y.real = this->l_y; - *(outbuffer + offset + 0) = (u_l_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_l_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_l_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_l_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_l_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_l_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_l_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_l_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->l_y); - union { - double real; - uint64_t base; - } u_l_z; - u_l_z.real = this->l_z; - *(outbuffer + offset + 0) = (u_l_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_l_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_l_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_l_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_l_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_l_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_l_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_l_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->l_z); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x = u_x.real; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y = u_y.real; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_z; - u_z.base = 0; - u_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->z = u_z.real; - offset += sizeof(this->z); - union { - double real; - uint64_t base; - } u_r; - u_r.base = 0; - u_r.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_r.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_r.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_r.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_r.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->r = u_r.real; - offset += sizeof(this->r); - union { - double real; - uint64_t base; - } u_l_x; - u_l_x.base = 0; - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_l_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->l_x = u_l_x.real; - offset += sizeof(this->l_x); - union { - double real; - uint64_t base; - } u_l_y; - u_l_y.base = 0; - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_l_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->l_y = u_l_y.real; - offset += sizeof(this->l_y); - union { - double real; - uint64_t base; - } u_l_z; - u_l_z.base = 0; - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_l_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->l_z = u_l_z.real; - offset += sizeof(this->l_z); - return offset; - } - - virtual const char * getType() override { return GETPOINTMAPROI; }; - virtual const char * getMD5() override { return "895f7e437a9a6dd225316872b187a303"; }; - - }; - - class GetPointMapROIResponse : public ros::Msg - { - public: - typedef sensor_msgs::PointCloud2 _sub_map_type; - _sub_map_type sub_map; - - GetPointMapROIResponse(): - sub_map() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->sub_map.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->sub_map.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETPOINTMAPROI; }; - virtual const char * getMD5() override { return "313769f8b0e724525c6463336cbccd63"; }; - - }; - - class GetPointMapROI { - public: - typedef GetPointMapROIRequest Request; - typedef GetPointMapROIResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/OccupancyGridUpdate.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/OccupancyGridUpdate.h deleted file mode 100644 index e95cd408..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/OccupancyGridUpdate.h +++ /dev/null @@ -1,156 +0,0 @@ -#ifndef _ROS_map_msgs_OccupancyGridUpdate_h -#define _ROS_map_msgs_OccupancyGridUpdate_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace map_msgs -{ - - class OccupancyGridUpdate : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef int32_t _x_type; - _x_type x; - typedef int32_t _y_type; - _y_type y; - typedef uint32_t _width_type; - _width_type width; - typedef uint32_t _height_type; - _height_type height; - uint32_t data_length; - typedef int8_t _data_type; - _data_type st_data; - _data_type * data; - - OccupancyGridUpdate(): - header(), - x(0), - y(0), - width(0), - height(0), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - int32_t real; - uint32_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->x); - union { - int32_t real; - uint32_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->y); - *(outbuffer + offset + 0) = (this->width >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->width >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->width >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->width >> (8 * 3)) & 0xFF; - offset += sizeof(this->width); - *(outbuffer + offset + 0) = (this->height >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->height >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->height >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->height >> (8 * 3)) & 0xFF; - offset += sizeof(this->height); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - int32_t real; - uint32_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->x = u_x.real; - offset += sizeof(this->x); - union { - int32_t real; - uint32_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->y = u_y.real; - offset += sizeof(this->y); - this->width = ((uint32_t) (*(inbuffer + offset))); - this->width |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->width |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->width |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->width); - this->height = ((uint32_t) (*(inbuffer + offset))); - this->height |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->height |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->height |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->height); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (int8_t*)realloc(this->data, data_lengthT * sizeof(int8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(int8_t)); - } - return offset; - } - - virtual const char * getType() override { return "map_msgs/OccupancyGridUpdate"; }; - virtual const char * getMD5() override { return "b295be292b335c34718bd939deebe1c9"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/PointCloud2Update.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/PointCloud2Update.h deleted file mode 100644 index 245662e2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/PointCloud2Update.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef _ROS_map_msgs_PointCloud2Update_h -#define _ROS_map_msgs_PointCloud2Update_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "sensor_msgs/PointCloud2.h" - -namespace map_msgs -{ - - class PointCloud2Update : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint32_t _type_type; - _type_type type; - typedef sensor_msgs::PointCloud2 _points_type; - _points_type points; - enum { ADD = 0 }; - enum { DELETE = 1 }; - - PointCloud2Update(): - header(), - type(0), - points() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->type >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->type >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->type >> (8 * 3)) & 0xFF; - offset += sizeof(this->type); - offset += this->points.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->type = ((uint32_t) (*(inbuffer + offset))); - this->type |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->type |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->type |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->type); - offset += this->points.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "map_msgs/PointCloud2Update"; }; - virtual const char * getMD5() override { return "6c58e4f249ae9cd2b24fb1ee0f99195e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMap.h deleted file mode 100644 index 16f6c5ea..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMap.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_map_msgs_ProjectedMap_h -#define _ROS_map_msgs_ProjectedMap_h - -#include -#include -#include -#include "ros/msg.h" -#include "nav_msgs/OccupancyGrid.h" - -namespace map_msgs -{ - - class ProjectedMap : public ros::Msg - { - public: - typedef nav_msgs::OccupancyGrid _map_type; - _map_type map; - typedef double _min_z_type; - _min_z_type min_z; - typedef double _max_z_type; - _max_z_type max_z; - - ProjectedMap(): - map(), - min_z(0), - max_z(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->map.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_min_z; - u_min_z.real = this->min_z; - *(outbuffer + offset + 0) = (u_min_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_min_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_min_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_min_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_min_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_min_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_min_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_min_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->min_z); - union { - double real; - uint64_t base; - } u_max_z; - u_max_z.real = this->max_z; - *(outbuffer + offset + 0) = (u_max_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_max_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_max_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_max_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_max_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->max_z); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->map.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_min_z; - u_min_z.base = 0; - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->min_z = u_min_z.real; - offset += sizeof(this->min_z); - union { - double real; - uint64_t base; - } u_max_z; - u_max_z.base = 0; - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->max_z = u_max_z.real; - offset += sizeof(this->max_z); - return offset; - } - - virtual const char * getType() override { return "map_msgs/ProjectedMap"; }; - virtual const char * getMD5() override { return "7bbe8f96e45089681dc1ea7d023cbfca"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapInfo.h deleted file mode 100644 index 18efefba..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapInfo.h +++ /dev/null @@ -1,247 +0,0 @@ -#ifndef _ROS_map_msgs_ProjectedMapInfo_h -#define _ROS_map_msgs_ProjectedMapInfo_h - -#include -#include -#include -#include "ros/msg.h" - -namespace map_msgs -{ - - class ProjectedMapInfo : public ros::Msg - { - public: - typedef const char* _frame_id_type; - _frame_id_type frame_id; - typedef double _x_type; - _x_type x; - typedef double _y_type; - _y_type y; - typedef double _width_type; - _width_type width; - typedef double _height_type; - _height_type height; - typedef double _min_z_type; - _min_z_type min_z; - typedef double _max_z_type; - _max_z_type max_z; - - ProjectedMapInfo(): - frame_id(""), - x(0), - y(0), - width(0), - height(0), - min_z(0), - max_z(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_frame_id = strlen(this->frame_id); - varToArr(outbuffer + offset, length_frame_id); - offset += 4; - memcpy(outbuffer + offset, this->frame_id, length_frame_id); - offset += length_frame_id; - union { - double real; - uint64_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_width; - u_width.real = this->width; - *(outbuffer + offset + 0) = (u_width.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_width.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_width.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_width.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_width.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_width.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_width.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_width.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->width); - union { - double real; - uint64_t base; - } u_height; - u_height.real = this->height; - *(outbuffer + offset + 0) = (u_height.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_height.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_height.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_height.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_height.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_height.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_height.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_height.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->height); - union { - double real; - uint64_t base; - } u_min_z; - u_min_z.real = this->min_z; - *(outbuffer + offset + 0) = (u_min_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_min_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_min_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_min_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_min_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_min_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_min_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_min_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->min_z); - union { - double real; - uint64_t base; - } u_max_z; - u_max_z.real = this->max_z; - *(outbuffer + offset + 0) = (u_max_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_z.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_max_z.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_max_z.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_max_z.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_max_z.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->max_z); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_frame_id; - arrToVar(length_frame_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_frame_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_frame_id-1]=0; - this->frame_id = (char *)(inbuffer + offset-1); - offset += length_frame_id; - union { - double real; - uint64_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x = u_x.real; - offset += sizeof(this->x); - union { - double real; - uint64_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y = u_y.real; - offset += sizeof(this->y); - union { - double real; - uint64_t base; - } u_width; - u_width.base = 0; - u_width.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_width.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_width.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_width.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_width.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_width.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_width.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_width.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->width = u_width.real; - offset += sizeof(this->width); - union { - double real; - uint64_t base; - } u_height; - u_height.base = 0; - u_height.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_height.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_height.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_height.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_height.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_height.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_height.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_height.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->height = u_height.real; - offset += sizeof(this->height); - union { - double real; - uint64_t base; - } u_min_z; - u_min_z.base = 0; - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->min_z = u_min_z.real; - offset += sizeof(this->min_z); - union { - double real; - uint64_t base; - } u_max_z; - u_max_z.base = 0; - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->max_z = u_max_z.real; - offset += sizeof(this->max_z); - return offset; - } - - virtual const char * getType() override { return "map_msgs/ProjectedMapInfo"; }; - virtual const char * getMD5() override { return "2dc10595ae94de23f22f8a6d2a0eef7a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapsInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapsInfo.h deleted file mode 100644 index d2a9aa68..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/ProjectedMapsInfo.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_SERVICE_ProjectedMapsInfo_h -#define _ROS_SERVICE_ProjectedMapsInfo_h -#include -#include -#include -#include "ros/msg.h" -#include "map_msgs/ProjectedMapInfo.h" - -namespace map_msgs -{ - -static const char PROJECTEDMAPSINFO[] = "map_msgs/ProjectedMapsInfo"; - - class ProjectedMapsInfoRequest : public ros::Msg - { - public: - uint32_t projected_maps_info_length; - typedef map_msgs::ProjectedMapInfo _projected_maps_info_type; - _projected_maps_info_type st_projected_maps_info; - _projected_maps_info_type * projected_maps_info; - - ProjectedMapsInfoRequest(): - projected_maps_info_length(0), st_projected_maps_info(), projected_maps_info(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->projected_maps_info_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->projected_maps_info_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->projected_maps_info_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->projected_maps_info_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->projected_maps_info_length); - for( uint32_t i = 0; i < projected_maps_info_length; i++){ - offset += this->projected_maps_info[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t projected_maps_info_lengthT = ((uint32_t) (*(inbuffer + offset))); - projected_maps_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - projected_maps_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - projected_maps_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->projected_maps_info_length); - if(projected_maps_info_lengthT > projected_maps_info_length) - this->projected_maps_info = (map_msgs::ProjectedMapInfo*)realloc(this->projected_maps_info, projected_maps_info_lengthT * sizeof(map_msgs::ProjectedMapInfo)); - projected_maps_info_length = projected_maps_info_lengthT; - for( uint32_t i = 0; i < projected_maps_info_length; i++){ - offset += this->st_projected_maps_info.deserialize(inbuffer + offset); - memcpy( &(this->projected_maps_info[i]), &(this->st_projected_maps_info), sizeof(map_msgs::ProjectedMapInfo)); - } - return offset; - } - - virtual const char * getType() override { return PROJECTEDMAPSINFO; }; - virtual const char * getMD5() override { return "d7980a33202421c8cd74565e57a4d229"; }; - - }; - - class ProjectedMapsInfoResponse : public ros::Msg - { - public: - - ProjectedMapsInfoResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return PROJECTEDMAPSINFO; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class ProjectedMapsInfo { - public: - typedef ProjectedMapsInfoRequest Request; - typedef ProjectedMapsInfoResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SaveMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SaveMap.h deleted file mode 100644 index 96352411..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SaveMap.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _ROS_SERVICE_SaveMap_h -#define _ROS_SERVICE_SaveMap_h -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/String.h" - -namespace map_msgs -{ - -static const char SAVEMAP[] = "map_msgs/SaveMap"; - - class SaveMapRequest : public ros::Msg - { - public: - typedef std_msgs::String _filename_type; - _filename_type filename; - - SaveMapRequest(): - filename() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->filename.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->filename.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SAVEMAP; }; - virtual const char * getMD5() override { return "716e25f9d9dc76ceba197f93cbf05dc7"; }; - - }; - - class SaveMapResponse : public ros::Msg - { - public: - - SaveMapResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return SAVEMAP; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class SaveMap { - public: - typedef SaveMapRequest Request; - typedef SaveMapResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SetMapProjections.h b/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SetMapProjections.h deleted file mode 100644 index e237a14f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/map_msgs/SetMapProjections.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_SERVICE_SetMapProjections_h -#define _ROS_SERVICE_SetMapProjections_h -#include -#include -#include -#include "ros/msg.h" -#include "map_msgs/ProjectedMapInfo.h" - -namespace map_msgs -{ - -static const char SETMAPPROJECTIONS[] = "map_msgs/SetMapProjections"; - - class SetMapProjectionsRequest : public ros::Msg - { - public: - - SetMapProjectionsRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return SETMAPPROJECTIONS; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class SetMapProjectionsResponse : public ros::Msg - { - public: - uint32_t projected_maps_info_length; - typedef map_msgs::ProjectedMapInfo _projected_maps_info_type; - _projected_maps_info_type st_projected_maps_info; - _projected_maps_info_type * projected_maps_info; - - SetMapProjectionsResponse(): - projected_maps_info_length(0), st_projected_maps_info(), projected_maps_info(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->projected_maps_info_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->projected_maps_info_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->projected_maps_info_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->projected_maps_info_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->projected_maps_info_length); - for( uint32_t i = 0; i < projected_maps_info_length; i++){ - offset += this->projected_maps_info[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t projected_maps_info_lengthT = ((uint32_t) (*(inbuffer + offset))); - projected_maps_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - projected_maps_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - projected_maps_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->projected_maps_info_length); - if(projected_maps_info_lengthT > projected_maps_info_length) - this->projected_maps_info = (map_msgs::ProjectedMapInfo*)realloc(this->projected_maps_info, projected_maps_info_lengthT * sizeof(map_msgs::ProjectedMapInfo)); - projected_maps_info_length = projected_maps_info_lengthT; - for( uint32_t i = 0; i < projected_maps_info_length; i++){ - offset += this->st_projected_maps_info.deserialize(inbuffer + offset); - memcpy( &(this->projected_maps_info[i]), &(this->st_projected_maps_info), sizeof(map_msgs::ProjectedMapInfo)); - } - return offset; - } - - virtual const char * getType() override { return SETMAPPROJECTIONS; }; - virtual const char * getMD5() override { return "d7980a33202421c8cd74565e57a4d229"; }; - - }; - - class SetMapProjections { - public: - typedef SetMapProjectionsRequest Request; - typedef SetMapProjectionsResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ADSBVehicle.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ADSBVehicle.h deleted file mode 100644 index 8dfeee55..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ADSBVehicle.h +++ /dev/null @@ -1,322 +0,0 @@ -#ifndef _ROS_mavros_msgs_ADSBVehicle_h -#define _ROS_mavros_msgs_ADSBVehicle_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "ros/duration.h" - -namespace mavros_msgs -{ - - class ADSBVehicle : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint32_t _ICAO_address_type; - _ICAO_address_type ICAO_address; - typedef const char* _callsign_type; - _callsign_type callsign; - typedef double _latitude_type; - _latitude_type latitude; - typedef double _longitude_type; - _longitude_type longitude; - typedef float _altitude_type; - _altitude_type altitude; - typedef float _heading_type; - _heading_type heading; - typedef float _hor_velocity_type; - _hor_velocity_type hor_velocity; - typedef float _ver_velocity_type; - _ver_velocity_type ver_velocity; - typedef uint8_t _altitude_type_type; - _altitude_type_type altitude_type; - typedef uint8_t _emitter_type_type; - _emitter_type_type emitter_type; - typedef ros::Duration _tslc_type; - _tslc_type tslc; - typedef uint16_t _flags_type; - _flags_type flags; - typedef uint16_t _squawk_type; - _squawk_type squawk; - enum { ALT_PRESSURE_QNH = 0 }; - enum { ALT_GEOMETRIC = 1 }; - enum { EMITTER_NO_INFO = 0 }; - enum { EMITTER_LIGHT = 1 }; - enum { EMITTER_SMALL = 2 }; - enum { EMITTER_LARGE = 3 }; - enum { EMITTER_HIGH_VORTEX_LARGE = 4 }; - enum { EMITTER_HEAVY = 5 }; - enum { EMITTER_HIGHLY_MANUV = 6 }; - enum { EMITTER_ROTOCRAFT = 7 }; - enum { EMITTER_UNASSIGNED = 8 }; - enum { EMITTER_GLIDER = 9 }; - enum { EMITTER_LIGHTER_AIR = 10 }; - enum { EMITTER_PARACHUTE = 11 }; - enum { EMITTER_ULTRA_LIGHT = 12 }; - enum { EMITTER_UNASSIGNED2 = 13 }; - enum { EMITTER_UAV = 14 }; - enum { EMITTER_SPACE = 15 }; - enum { EMITTER_UNASSGINED3 = 16 }; - enum { EMITTER_EMERGENCY_SURFACE = 17 }; - enum { EMITTER_SERVICE_SURFACE = 18 }; - enum { EMITTER_POINT_OBSTACLE = 19 }; - enum { FLAG_VALID_COORDS = 1 }; - enum { FLAG_VALID_ALTITUDE = 2 }; - enum { FLAG_VALID_HEADING = 4 }; - enum { FLAG_VALID_VELOCITY = 8 }; - enum { FLAG_VALID_CALLSIGN = 16 }; - enum { FLAG_VALID_SQUAWK = 32 }; - enum { FLAG_SIMULATED = 64 }; - enum { FLAG_VERTICAL_VELOCITY_VALID = 128 }; - enum { FLAG_BARO_VALID = 256 }; - enum { FLAG_SOURCE_UAT = 32768 }; - - ADSBVehicle(): - header(), - ICAO_address(0), - callsign(""), - latitude(0), - longitude(0), - altitude(0), - heading(0), - hor_velocity(0), - ver_velocity(0), - altitude_type(0), - emitter_type(0), - tslc(), - flags(0), - squawk(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->ICAO_address >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ICAO_address >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->ICAO_address >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->ICAO_address >> (8 * 3)) & 0xFF; - offset += sizeof(this->ICAO_address); - uint32_t length_callsign = strlen(this->callsign); - varToArr(outbuffer + offset, length_callsign); - offset += 4; - memcpy(outbuffer + offset, this->callsign, length_callsign); - offset += length_callsign; - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_latitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_latitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_latitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_latitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_longitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_longitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_longitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_longitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->altitude); - union { - float real; - uint32_t base; - } u_heading; - u_heading.real = this->heading; - *(outbuffer + offset + 0) = (u_heading.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_heading.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_heading.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_heading.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->heading); - union { - float real; - uint32_t base; - } u_hor_velocity; - u_hor_velocity.real = this->hor_velocity; - *(outbuffer + offset + 0) = (u_hor_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_hor_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_hor_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_hor_velocity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->hor_velocity); - union { - float real; - uint32_t base; - } u_ver_velocity; - u_ver_velocity.real = this->ver_velocity; - *(outbuffer + offset + 0) = (u_ver_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ver_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ver_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ver_velocity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->ver_velocity); - *(outbuffer + offset + 0) = (this->altitude_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->altitude_type); - *(outbuffer + offset + 0) = (this->emitter_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->emitter_type); - *(outbuffer + offset + 0) = (this->tslc.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->tslc.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->tslc.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->tslc.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->tslc.sec); - *(outbuffer + offset + 0) = (this->tslc.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->tslc.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->tslc.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->tslc.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->tslc.nsec); - *(outbuffer + offset + 0) = (this->flags >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->flags >> (8 * 1)) & 0xFF; - offset += sizeof(this->flags); - *(outbuffer + offset + 0) = (this->squawk >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->squawk >> (8 * 1)) & 0xFF; - offset += sizeof(this->squawk); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->ICAO_address = ((uint32_t) (*(inbuffer + offset))); - this->ICAO_address |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->ICAO_address |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->ICAO_address |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->ICAO_address); - uint32_t length_callsign; - arrToVar(length_callsign, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_callsign; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_callsign-1]=0; - this->callsign = (char *)(inbuffer + offset-1); - offset += length_callsign; - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - union { - float real; - uint32_t base; - } u_heading; - u_heading.base = 0; - u_heading.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_heading.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_heading.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_heading.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->heading = u_heading.real; - offset += sizeof(this->heading); - union { - float real; - uint32_t base; - } u_hor_velocity; - u_hor_velocity.base = 0; - u_hor_velocity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_hor_velocity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_hor_velocity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_hor_velocity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->hor_velocity = u_hor_velocity.real; - offset += sizeof(this->hor_velocity); - union { - float real; - uint32_t base; - } u_ver_velocity; - u_ver_velocity.base = 0; - u_ver_velocity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ver_velocity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ver_velocity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ver_velocity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->ver_velocity = u_ver_velocity.real; - offset += sizeof(this->ver_velocity); - this->altitude_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->altitude_type); - this->emitter_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->emitter_type); - this->tslc.sec = ((uint32_t) (*(inbuffer + offset))); - this->tslc.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->tslc.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->tslc.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->tslc.sec); - this->tslc.nsec = ((uint32_t) (*(inbuffer + offset))); - this->tslc.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->tslc.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->tslc.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->tslc.nsec); - this->flags = ((uint16_t) (*(inbuffer + offset))); - this->flags |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->flags); - this->squawk = ((uint16_t) (*(inbuffer + offset))); - this->squawk |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->squawk); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ADSBVehicle"; }; - virtual const char * getMD5() override { return "d532685113a66fcc6ba0e6363ace0244"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ActuatorControl.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ActuatorControl.h deleted file mode 100644 index 6bea678c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ActuatorControl.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _ROS_mavros_msgs_ActuatorControl_h -#define _ROS_mavros_msgs_ActuatorControl_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class ActuatorControl : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _group_mix_type; - _group_mix_type group_mix; - float controls[8]; - enum { PX4_MIX_FLIGHT_CONTROL = 0 }; - enum { PX4_MIX_FLIGHT_CONTROL_VTOL_ALT = 1 }; - enum { PX4_MIX_PAYLOAD = 2 }; - enum { PX4_MIX_MANUAL_PASSTHROUGH = 3 }; - - ActuatorControl(): - header(), - group_mix(0), - controls() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->group_mix >> (8 * 0)) & 0xFF; - offset += sizeof(this->group_mix); - for( uint32_t i = 0; i < 8; i++){ - union { - float real; - uint32_t base; - } u_controlsi; - u_controlsi.real = this->controls[i]; - *(outbuffer + offset + 0) = (u_controlsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_controlsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_controlsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_controlsi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->controls[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->group_mix = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->group_mix); - for( uint32_t i = 0; i < 8; i++){ - union { - float real; - uint32_t base; - } u_controlsi; - u_controlsi.base = 0; - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->controls[i] = u_controlsi.real; - offset += sizeof(this->controls[i]); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ActuatorControl"; }; - virtual const char * getMD5() override { return "9eea0a80c88944fe2fb67f3b3768854b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Altitude.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Altitude.h deleted file mode 100644 index 6fb005f8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Altitude.h +++ /dev/null @@ -1,188 +0,0 @@ -#ifndef _ROS_mavros_msgs_Altitude_h -#define _ROS_mavros_msgs_Altitude_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class Altitude : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _monotonic_type; - _monotonic_type monotonic; - typedef float _amsl_type; - _amsl_type amsl; - typedef float _local_type; - _local_type local; - typedef float _relative_type; - _relative_type relative; - typedef float _terrain_type; - _terrain_type terrain; - typedef float _bottom_clearance_type; - _bottom_clearance_type bottom_clearance; - - Altitude(): - header(), - monotonic(0), - amsl(0), - local(0), - relative(0), - terrain(0), - bottom_clearance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_monotonic; - u_monotonic.real = this->monotonic; - *(outbuffer + offset + 0) = (u_monotonic.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_monotonic.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_monotonic.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_monotonic.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->monotonic); - union { - float real; - uint32_t base; - } u_amsl; - u_amsl.real = this->amsl; - *(outbuffer + offset + 0) = (u_amsl.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_amsl.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_amsl.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_amsl.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->amsl); - union { - float real; - uint32_t base; - } u_local; - u_local.real = this->local; - *(outbuffer + offset + 0) = (u_local.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_local.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_local.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_local.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->local); - union { - float real; - uint32_t base; - } u_relative; - u_relative.real = this->relative; - *(outbuffer + offset + 0) = (u_relative.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_relative.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_relative.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_relative.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->relative); - union { - float real; - uint32_t base; - } u_terrain; - u_terrain.real = this->terrain; - *(outbuffer + offset + 0) = (u_terrain.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_terrain.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_terrain.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_terrain.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->terrain); - union { - float real; - uint32_t base; - } u_bottom_clearance; - u_bottom_clearance.real = this->bottom_clearance; - *(outbuffer + offset + 0) = (u_bottom_clearance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_bottom_clearance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_bottom_clearance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_bottom_clearance.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->bottom_clearance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_monotonic; - u_monotonic.base = 0; - u_monotonic.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_monotonic.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_monotonic.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_monotonic.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->monotonic = u_monotonic.real; - offset += sizeof(this->monotonic); - union { - float real; - uint32_t base; - } u_amsl; - u_amsl.base = 0; - u_amsl.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_amsl.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_amsl.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_amsl.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->amsl = u_amsl.real; - offset += sizeof(this->amsl); - union { - float real; - uint32_t base; - } u_local; - u_local.base = 0; - u_local.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_local.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_local.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_local.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->local = u_local.real; - offset += sizeof(this->local); - union { - float real; - uint32_t base; - } u_relative; - u_relative.base = 0; - u_relative.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_relative.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_relative.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_relative.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->relative = u_relative.real; - offset += sizeof(this->relative); - union { - float real; - uint32_t base; - } u_terrain; - u_terrain.base = 0; - u_terrain.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_terrain.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_terrain.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_terrain.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->terrain = u_terrain.real; - offset += sizeof(this->terrain); - union { - float real; - uint32_t base; - } u_bottom_clearance; - u_bottom_clearance.base = 0; - u_bottom_clearance.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_bottom_clearance.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_bottom_clearance.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_bottom_clearance.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->bottom_clearance = u_bottom_clearance.real; - offset += sizeof(this->bottom_clearance); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Altitude"; }; - virtual const char * getMD5() override { return "1296a05dc5b6160be0ae04ba9ed3a3fa"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/AttitudeTarget.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/AttitudeTarget.h deleted file mode 100644 index 3c86b120..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/AttitudeTarget.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef _ROS_mavros_msgs_AttitudeTarget_h -#define _ROS_mavros_msgs_AttitudeTarget_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Quaternion.h" -#include "geometry_msgs/Vector3.h" - -namespace mavros_msgs -{ - - class AttitudeTarget : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _type_mask_type; - _type_mask_type type_mask; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - typedef geometry_msgs::Vector3 _body_rate_type; - _body_rate_type body_rate; - typedef float _thrust_type; - _thrust_type thrust; - enum { IGNORE_ROLL_RATE = 1 }; - enum { IGNORE_PITCH_RATE = 2 }; - enum { IGNORE_YAW_RATE = 4 }; - enum { IGNORE_THRUST = 64 }; - enum { IGNORE_ATTITUDE = 128 }; - - AttitudeTarget(): - header(), - type_mask(0), - orientation(), - body_rate(), - thrust(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->type_mask >> (8 * 0)) & 0xFF; - offset += sizeof(this->type_mask); - offset += this->orientation.serialize(outbuffer + offset); - offset += this->body_rate.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_thrust; - u_thrust.real = this->thrust; - *(outbuffer + offset + 0) = (u_thrust.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_thrust.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_thrust.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_thrust.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->thrust); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->type_mask = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type_mask); - offset += this->orientation.deserialize(inbuffer + offset); - offset += this->body_rate.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_thrust; - u_thrust.base = 0; - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->thrust = u_thrust.real; - offset += sizeof(this->thrust); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/AttitudeTarget"; }; - virtual const char * getMD5() override { return "456f3af666b22ccd0222ea053a86b548"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/BatteryStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/BatteryStatus.h deleted file mode 100644 index 8f5139ac..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/BatteryStatus.h +++ /dev/null @@ -1,116 +0,0 @@ -#ifndef _ROS_mavros_msgs_BatteryStatus_h -#define _ROS_mavros_msgs_BatteryStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class BatteryStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _voltage_type; - _voltage_type voltage; - typedef float _current_type; - _current_type current; - typedef float _remaining_type; - _remaining_type remaining; - - BatteryStatus(): - header(), - voltage(0), - current(0), - remaining(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.real = this->voltage; - *(outbuffer + offset + 0) = (u_voltage.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_voltage.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_voltage.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_voltage.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_current; - u_current.real = this->current; - *(outbuffer + offset + 0) = (u_current.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_current.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_current.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_current.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->current); - union { - float real; - uint32_t base; - } u_remaining; - u_remaining.real = this->remaining; - *(outbuffer + offset + 0) = (u_remaining.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_remaining.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_remaining.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_remaining.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->remaining); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.base = 0; - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->voltage = u_voltage.real; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_current; - u_current.base = 0; - u_current.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->current = u_current.real; - offset += sizeof(this->current); - union { - float real; - uint32_t base; - } u_remaining; - u_remaining.base = 0; - u_remaining.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_remaining.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_remaining.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_remaining.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->remaining = u_remaining.real; - offset += sizeof(this->remaining); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/BatteryStatus"; }; - virtual const char * getMD5() override { return "8ba4ae7c602c5ae6a7e8f3ffb652dc5f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CamIMUStamp.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CamIMUStamp.h deleted file mode 100644 index 9c73f789..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CamIMUStamp.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef _ROS_mavros_msgs_CamIMUStamp_h -#define _ROS_mavros_msgs_CamIMUStamp_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" - -namespace mavros_msgs -{ - - class CamIMUStamp : public ros::Msg - { - public: - typedef ros::Time _frame_stamp_type; - _frame_stamp_type frame_stamp; - typedef int32_t _frame_seq_id_type; - _frame_seq_id_type frame_seq_id; - - CamIMUStamp(): - frame_stamp(), - frame_seq_id(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->frame_stamp.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->frame_stamp.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->frame_stamp.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->frame_stamp.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->frame_stamp.sec); - *(outbuffer + offset + 0) = (this->frame_stamp.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->frame_stamp.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->frame_stamp.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->frame_stamp.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->frame_stamp.nsec); - union { - int32_t real; - uint32_t base; - } u_frame_seq_id; - u_frame_seq_id.real = this->frame_seq_id; - *(outbuffer + offset + 0) = (u_frame_seq_id.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_frame_seq_id.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_frame_seq_id.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_frame_seq_id.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->frame_seq_id); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->frame_stamp.sec = ((uint32_t) (*(inbuffer + offset))); - this->frame_stamp.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->frame_stamp.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->frame_stamp.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->frame_stamp.sec); - this->frame_stamp.nsec = ((uint32_t) (*(inbuffer + offset))); - this->frame_stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->frame_stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->frame_stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->frame_stamp.nsec); - union { - int32_t real; - uint32_t base; - } u_frame_seq_id; - u_frame_seq_id.base = 0; - u_frame_seq_id.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_frame_seq_id.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_frame_seq_id.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_frame_seq_id.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->frame_seq_id = u_frame_seq_id.real; - offset += sizeof(this->frame_seq_id); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/CamIMUStamp"; }; - virtual const char * getMD5() override { return "ac22af9031671dd528a56f12d0986660"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CameraImageCaptured.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CameraImageCaptured.h deleted file mode 100644 index 51850568..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CameraImageCaptured.h +++ /dev/null @@ -1,139 +0,0 @@ -#ifndef _ROS_mavros_msgs_CameraImageCaptured_h -#define _ROS_mavros_msgs_CameraImageCaptured_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Quaternion.h" -#include "geographic_msgs/GeoPoint.h" - -namespace mavros_msgs -{ - - class CameraImageCaptured : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - typedef geographic_msgs::GeoPoint _geo_type; - _geo_type geo; - typedef float _relative_alt_type; - _relative_alt_type relative_alt; - typedef int32_t _image_index_type; - _image_index_type image_index; - typedef int8_t _capture_result_type; - _capture_result_type capture_result; - typedef const char* _file_url_type; - _file_url_type file_url; - - CameraImageCaptured(): - header(), - orientation(), - geo(), - relative_alt(0), - image_index(0), - capture_result(0), - file_url("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->orientation.serialize(outbuffer + offset); - offset += this->geo.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_relative_alt; - u_relative_alt.real = this->relative_alt; - *(outbuffer + offset + 0) = (u_relative_alt.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_relative_alt.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_relative_alt.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_relative_alt.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->relative_alt); - union { - int32_t real; - uint32_t base; - } u_image_index; - u_image_index.real = this->image_index; - *(outbuffer + offset + 0) = (u_image_index.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_image_index.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_image_index.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_image_index.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->image_index); - union { - int8_t real; - uint8_t base; - } u_capture_result; - u_capture_result.real = this->capture_result; - *(outbuffer + offset + 0) = (u_capture_result.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->capture_result); - uint32_t length_file_url = strlen(this->file_url); - varToArr(outbuffer + offset, length_file_url); - offset += 4; - memcpy(outbuffer + offset, this->file_url, length_file_url); - offset += length_file_url; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->orientation.deserialize(inbuffer + offset); - offset += this->geo.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_relative_alt; - u_relative_alt.base = 0; - u_relative_alt.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_relative_alt.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_relative_alt.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_relative_alt.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->relative_alt = u_relative_alt.real; - offset += sizeof(this->relative_alt); - union { - int32_t real; - uint32_t base; - } u_image_index; - u_image_index.base = 0; - u_image_index.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_image_index.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_image_index.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_image_index.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->image_index = u_image_index.real; - offset += sizeof(this->image_index); - union { - int8_t real; - uint8_t base; - } u_capture_result; - u_capture_result.base = 0; - u_capture_result.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->capture_result = u_capture_result.real; - offset += sizeof(this->capture_result); - uint32_t length_file_url; - arrToVar(length_file_url, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_url; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_url-1]=0; - this->file_url = (char *)(inbuffer + offset-1); - offset += length_file_url; - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/CameraImageCaptured"; }; - virtual const char * getMD5() override { return "9559d135fc7e5e91d3f1b819ebcd7556"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CellularStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CellularStatus.h deleted file mode 100644 index 679e8f22..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CellularStatus.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef _ROS_mavros_msgs_CellularStatus_h -#define _ROS_mavros_msgs_CellularStatus_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class CellularStatus : public ros::Msg - { - public: - typedef uint8_t _status_type; - _status_type status; - typedef uint8_t _failure_reason_type; - _failure_reason_type failure_reason; - typedef uint8_t _type_type; - _type_type type; - typedef uint8_t _quality_type; - _quality_type quality; - typedef uint16_t _mcc_type; - _mcc_type mcc; - typedef uint16_t _mnc_type; - _mnc_type mnc; - typedef uint16_t _lac_type; - _lac_type lac; - - CellularStatus(): - status(0), - failure_reason(0), - type(0), - quality(0), - mcc(0), - mnc(0), - lac(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->status >> (8 * 0)) & 0xFF; - offset += sizeof(this->status); - *(outbuffer + offset + 0) = (this->failure_reason >> (8 * 0)) & 0xFF; - offset += sizeof(this->failure_reason); - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - *(outbuffer + offset + 0) = (this->quality >> (8 * 0)) & 0xFF; - offset += sizeof(this->quality); - *(outbuffer + offset + 0) = (this->mcc >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->mcc >> (8 * 1)) & 0xFF; - offset += sizeof(this->mcc); - *(outbuffer + offset + 0) = (this->mnc >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->mnc >> (8 * 1)) & 0xFF; - offset += sizeof(this->mnc); - *(outbuffer + offset + 0) = (this->lac >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->lac >> (8 * 1)) & 0xFF; - offset += sizeof(this->lac); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->status = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->status); - this->failure_reason = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->failure_reason); - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - this->quality = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->quality); - this->mcc = ((uint16_t) (*(inbuffer + offset))); - this->mcc |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->mcc); - this->mnc = ((uint16_t) (*(inbuffer + offset))); - this->mnc |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->mnc); - this->lac = ((uint16_t) (*(inbuffer + offset))); - this->lac |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->lac); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/CellularStatus"; }; - virtual const char * getMD5() override { return "a474bdb9df111b4e16fab4c29f7a6956"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandAck.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandAck.h deleted file mode 100644 index ba812f01..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandAck.h +++ /dev/null @@ -1,131 +0,0 @@ -#ifndef _ROS_SERVICE_CommandAck_h -#define _ROS_SERVICE_CommandAck_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDACK[] = "mavros_msgs/CommandAck"; - - class CommandAckRequest : public ros::Msg - { - public: - typedef uint16_t _command_type; - _command_type command; - typedef uint8_t _result_type; - _result_type result; - typedef uint8_t _progress_type; - _progress_type progress; - typedef uint32_t _result_param2_type; - _result_param2_type result_param2; - - CommandAckRequest(): - command(0), - result(0), - progress(0), - result_param2(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->command >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->command >> (8 * 1)) & 0xFF; - offset += sizeof(this->command); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - *(outbuffer + offset + 0) = (this->progress >> (8 * 0)) & 0xFF; - offset += sizeof(this->progress); - *(outbuffer + offset + 0) = (this->result_param2 >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->result_param2 >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->result_param2 >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->result_param2 >> (8 * 3)) & 0xFF; - offset += sizeof(this->result_param2); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->command = ((uint16_t) (*(inbuffer + offset))); - this->command |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->command); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - this->progress = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->progress); - this->result_param2 = ((uint32_t) (*(inbuffer + offset))); - this->result_param2 |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->result_param2 |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->result_param2 |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->result_param2); - return offset; - } - - virtual const char * getType() override { return COMMANDACK; }; - virtual const char * getMD5() override { return "1972b10ca14298d11f768e548d4d9e68"; }; - - }; - - class CommandAckResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandAckResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDACK; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandAck { - public: - typedef CommandAckRequest Request; - typedef CommandAckResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandBool.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandBool.h deleted file mode 100644 index df3a2b46..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandBool.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef _ROS_SERVICE_CommandBool_h -#define _ROS_SERVICE_CommandBool_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDBOOL[] = "mavros_msgs/CommandBool"; - - class CommandBoolRequest : public ros::Msg - { - public: - typedef bool _value_type; - _value_type value; - - CommandBoolRequest(): - value(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_value; - u_value.real = this->value; - *(outbuffer + offset + 0) = (u_value.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->value); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_value; - u_value.base = 0; - u_value.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->value = u_value.real; - offset += sizeof(this->value); - return offset; - } - - virtual const char * getType() override { return COMMANDBOOL; }; - virtual const char * getMD5() override { return "e431d687bf4b2c65fbd94b12ae0cb5d9"; }; - - }; - - class CommandBoolResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandBoolResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDBOOL; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandBool { - public: - typedef CommandBoolRequest Request; - typedef CommandBoolResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandCode.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandCode.h deleted file mode 100644 index 4acfa63c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandCode.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef _ROS_mavros_msgs_CommandCode_h -#define _ROS_mavros_msgs_CommandCode_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class CommandCode : public ros::Msg - { - public: - enum { AIRFRAME_CONFIGURATION = 2520 }; - enum { ARM_AUTHORIZATION_REQUEST = 3001 }; - enum { COMPONENT_ARM_DISARM = 400 }; - enum { CONDITION_DELAY = 112 }; - enum { CONDITION_CHANGE_ALT = 113 }; - enum { CONDITION_DISTANCE = 114 }; - enum { CONDITION_YAW = 115 }; - enum { CONDITION_LAST = 159 }; - enum { CONTROL_HIGH_LATENCY = 2600 }; - enum { DO_FOLLOW = 32 }; - enum { DO_FOLLOW_REPOSITION = 33 }; - enum { DO_SET_MODE = 176 }; - enum { DO_JUMP = 177 }; - enum { DO_CHANGE_SPEED = 178 }; - enum { DO_SET_HOME = 179 }; - enum { DO_SET_PARAMETER = 180 }; - enum { DO_SET_RELAY = 181 }; - enum { DO_REPEAT_RELAY = 182 }; - enum { DO_SET_SERVO = 183 }; - enum { DO_REPEAT_SERVO = 184 }; - enum { DO_FLIGHTTERMINATION = 185 }; - enum { DO_CHANGE_ALTITUDE = 186 }; - enum { DO_LAND_START = 189 }; - enum { DO_RALLY_LAND = 190 }; - enum { DO_GO_AROUND = 191 }; - enum { DO_REPOSITION = 192 }; - enum { DO_PAUSE_CONTINUE = 193 }; - enum { DO_SET_REVERSE = 194 }; - enum { DO_SET_ROI_LOCATION = 195 }; - enum { DO_SET_ROI_WPNEXT_OFFSET = 196 }; - enum { DO_SET_ROI_NONE = 197 }; - enum { DO_SET_ROI_SYSID = 198 }; - enum { DO_CONTROL_VIDEO = 200 }; - enum { DO_SET_ROI = 201 }; - enum { DO_DIGICAM_CONFIGURE = 202 }; - enum { DO_DIGICAM_CONTROL = 203 }; - enum { DO_MOUNT_CONFIGURE = 204 }; - enum { DO_MOUNT_CONTROL = 205 }; - enum { DO_SET_CAM_TRIGG_DIST = 206 }; - enum { DO_FENCE_ENABLE = 207 }; - enum { DO_PARACHUTE = 208 }; - enum { DO_MOTOR_TEST = 209 }; - enum { DO_INVERTED_FLIGHT = 210 }; - enum { DO_GRIPPER = 211 }; - enum { DO_AUTOTUNE_ENABLE = 212 }; - enum { DO_SET_CAM_TRIGG_INTERVAL = 214 }; - enum { DO_MOUNT_CONTROL_QUAT = 220 }; - enum { DO_GUIDED_MASTER = 221 }; - enum { DO_GUIDED_LIMITS = 222 }; - enum { DO_ENGINE_CONTROL = 223 }; - enum { DO_SET_MISSION_CURRENT = 224 }; - enum { DO_LAST = 240 }; - enum { DO_JUMP_TAG = 601 }; - enum { DO_TRIGGER_CONTROL = 2003 }; - enum { DO_VTOL_TRANSITION = 3000 }; - enum { DO_ADSB_OUT_IDENT = 10001 }; - enum { DO_WINCH = 42600 }; - enum { FIXED_MAG_CAL_YAW = 42006 }; - enum { GET_HOME_POSITION = 410 }; - enum { GET_MESSAGE_INTERVAL = 510 }; - enum { IMAGE_START_CAPTURE = 2000 }; - enum { IMAGE_STOP_CAPTURE = 2001 }; - enum { JUMP_TAG = 600 }; - enum { LOGGING_START = 2510 }; - enum { LOGGING_STOP = 2511 }; - enum { MISSION_START = 300 }; - enum { NAV_WAYPOINT = 16 }; - enum { NAV_LOITER_UNLIM = 17 }; - enum { NAV_LOITER_TURNS = 18 }; - enum { NAV_LOITER_TIME = 19 }; - enum { NAV_RETURN_TO_LAUNCH = 20 }; - enum { NAV_LAND = 21 }; - enum { NAV_TAKEOFF = 22 }; - enum { NAV_LAND_LOCAL = 23 }; - enum { NAV_TAKEOFF_LOCAL = 24 }; - enum { NAV_FOLLOW = 25 }; - enum { NAV_CONTINUE_AND_CHANGE_ALT = 30 }; - enum { NAV_LOITER_TO_ALT = 31 }; - enum { NAV_ROI = 80 }; - enum { NAV_PATHPLANNING = 81 }; - enum { NAV_SPLINE_WAYPOINT = 82 }; - enum { NAV_VTOL_TAKEOFF = 84 }; - enum { NAV_VTOL_LAND = 85 }; - enum { NAV_GUIDED_ENABLE = 92 }; - enum { NAV_DELAY = 93 }; - enum { NAV_PAYLOAD_PLACE = 94 }; - enum { NAV_LAST = 95 }; - enum { NAV_SET_YAW_SPEED = 213 }; - enum { NAV_FENCE_RETURN_POINT = 5000 }; - enum { NAV_FENCE_POLYGON_VERTEX_INCLUSION = 5001 }; - enum { NAV_FENCE_POLYGON_VERTEX_EXCLUSION = 5002 }; - enum { NAV_FENCE_CIRCLE_INCLUSION = 5003 }; - enum { NAV_FENCE_CIRCLE_EXCLUSION = 5004 }; - enum { NAV_RALLY_POINT = 5100 }; - enum { OBLIQUE_SURVEY = 260 }; - enum { OVERRIDE_GOTO = 252 }; - enum { PANORAMA_CREATE = 2800 }; - enum { PAYLOAD_PREPARE_DEPLOY = 30001 }; - enum { PAYLOAD_CONTROL_DEPLOY = 30002 }; - enum { PREFLIGHT_CALIBRATION = 241 }; - enum { PREFLIGHT_SET_SENSOR_OFFSETS = 242 }; - enum { PREFLIGHT_UAVCAN = 243 }; - enum { PREFLIGHT_STORAGE = 245 }; - enum { PREFLIGHT_REBOOT_SHUTDOWN = 246 }; - enum { REQUEST_MESSAGE = 512 }; - enum { REQUEST_PROTOCOL_VERSION = 519 }; - enum { REQUEST_AUTOPILOT_CAPABILITIES = 520 }; - enum { REQUEST_CAMERA_INFORMATION = 521 }; - enum { REQUEST_CAMERA_SETTINGS = 522 }; - enum { REQUEST_STORAGE_INFORMATION = 525 }; - enum { REQUEST_CAMERA_CAPTURE_STATUS = 527 }; - enum { REQUEST_FLIGHT_INFORMATION = 528 }; - enum { REQUEST_VIDEO_STREAM_INFORMATION = 2504 }; - enum { REQUEST_VIDEO_STREAM_STATUS = 2505 }; - enum { RESET_CAMERA_SETTINGS = 529 }; - enum { RUN_PREARM_CHECKS = 401 }; - enum { SET_MESSAGE_INTERVAL = 511 }; - enum { SET_CAMERA_MODE = 530 }; - enum { SET_GUIDED_SUBMODE_STANDARD = 4000 }; - enum { SET_GUIDED_SUBMODE_CIRCLE = 4001 }; - enum { START_RX_PAIR = 500 }; - enum { STORAGE_FORMAT = 526 }; - enum { UAVCAN_GET_NODE_INFO = 5200 }; - enum { VIDEO_START_CAPTURE = 2500 }; - enum { VIDEO_STOP_CAPTURE = 2501 }; - enum { VIDEO_START_STREAMING = 2502 }; - enum { VIDEO_STOP_STREAMING = 2503 }; - - CommandCode() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/CommandCode"; }; - virtual const char * getMD5() override { return "ca752c43f2b771d01f4565fb87c197e3"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandHome.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandHome.h deleted file mode 100644 index fac2cc35..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandHome.h +++ /dev/null @@ -1,209 +0,0 @@ -#ifndef _ROS_SERVICE_CommandHome_h -#define _ROS_SERVICE_CommandHome_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDHOME[] = "mavros_msgs/CommandHome"; - - class CommandHomeRequest : public ros::Msg - { - public: - typedef bool _current_gps_type; - _current_gps_type current_gps; - typedef float _yaw_type; - _yaw_type yaw; - typedef float _latitude_type; - _latitude_type latitude; - typedef float _longitude_type; - _longitude_type longitude; - typedef float _altitude_type; - _altitude_type altitude; - - CommandHomeRequest(): - current_gps(0), - yaw(0), - latitude(0), - longitude(0), - altitude(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_current_gps; - u_current_gps.real = this->current_gps; - *(outbuffer + offset + 0) = (u_current_gps.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->current_gps); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.real = this->yaw; - *(outbuffer + offset + 0) = (u_yaw.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->latitude); - union { - float real; - uint32_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->altitude); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_current_gps; - u_current_gps.base = 0; - u_current_gps.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->current_gps = u_current_gps.real; - offset += sizeof(this->current_gps); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.base = 0; - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw = u_yaw.real; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - float real; - uint32_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - return offset; - } - - virtual const char * getType() override { return COMMANDHOME; }; - virtual const char * getMD5() override { return "af3ed5fc0724380793eba353ee384c9a"; }; - - }; - - class CommandHomeResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandHomeResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDHOME; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandHome { - public: - typedef CommandHomeRequest Request; - typedef CommandHomeResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandInt.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandInt.h deleted file mode 100644 index ea1b7a9a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandInt.h +++ /dev/null @@ -1,304 +0,0 @@ -#ifndef _ROS_SERVICE_CommandInt_h -#define _ROS_SERVICE_CommandInt_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDINT[] = "mavros_msgs/CommandInt"; - - class CommandIntRequest : public ros::Msg - { - public: - typedef bool _broadcast_type; - _broadcast_type broadcast; - typedef uint8_t _frame_type; - _frame_type frame; - typedef uint16_t _command_type; - _command_type command; - typedef uint8_t _current_type; - _current_type current; - typedef uint8_t _autocontinue_type; - _autocontinue_type autocontinue; - typedef float _param1_type; - _param1_type param1; - typedef float _param2_type; - _param2_type param2; - typedef float _param3_type; - _param3_type param3; - typedef float _param4_type; - _param4_type param4; - typedef int32_t _x_type; - _x_type x; - typedef int32_t _y_type; - _y_type y; - typedef float _z_type; - _z_type z; - - CommandIntRequest(): - broadcast(0), - frame(0), - command(0), - current(0), - autocontinue(0), - param1(0), - param2(0), - param3(0), - param4(0), - x(0), - y(0), - z(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_broadcast; - u_broadcast.real = this->broadcast; - *(outbuffer + offset + 0) = (u_broadcast.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->broadcast); - *(outbuffer + offset + 0) = (this->frame >> (8 * 0)) & 0xFF; - offset += sizeof(this->frame); - *(outbuffer + offset + 0) = (this->command >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->command >> (8 * 1)) & 0xFF; - offset += sizeof(this->command); - *(outbuffer + offset + 0) = (this->current >> (8 * 0)) & 0xFF; - offset += sizeof(this->current); - *(outbuffer + offset + 0) = (this->autocontinue >> (8 * 0)) & 0xFF; - offset += sizeof(this->autocontinue); - union { - float real; - uint32_t base; - } u_param1; - u_param1.real = this->param1; - *(outbuffer + offset + 0) = (u_param1.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param1.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param1.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param1.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param1); - union { - float real; - uint32_t base; - } u_param2; - u_param2.real = this->param2; - *(outbuffer + offset + 0) = (u_param2.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param2.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param2.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param2.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param2); - union { - float real; - uint32_t base; - } u_param3; - u_param3.real = this->param3; - *(outbuffer + offset + 0) = (u_param3.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param3.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param3.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param3.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param3); - union { - float real; - uint32_t base; - } u_param4; - u_param4.real = this->param4; - *(outbuffer + offset + 0) = (u_param4.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param4.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param4.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param4.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param4); - union { - int32_t real; - uint32_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->x); - union { - int32_t real; - uint32_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_z; - u_z.real = this->z; - *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->z); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_broadcast; - u_broadcast.base = 0; - u_broadcast.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->broadcast = u_broadcast.real; - offset += sizeof(this->broadcast); - this->frame = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->frame); - this->command = ((uint16_t) (*(inbuffer + offset))); - this->command |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->command); - this->current = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->current); - this->autocontinue = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->autocontinue); - union { - float real; - uint32_t base; - } u_param1; - u_param1.base = 0; - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param1 = u_param1.real; - offset += sizeof(this->param1); - union { - float real; - uint32_t base; - } u_param2; - u_param2.base = 0; - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param2 = u_param2.real; - offset += sizeof(this->param2); - union { - float real; - uint32_t base; - } u_param3; - u_param3.base = 0; - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param3 = u_param3.real; - offset += sizeof(this->param3); - union { - float real; - uint32_t base; - } u_param4; - u_param4.base = 0; - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param4 = u_param4.real; - offset += sizeof(this->param4); - union { - int32_t real; - uint32_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->x = u_x.real; - offset += sizeof(this->x); - union { - int32_t real; - uint32_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->y = u_y.real; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_z; - u_z.base = 0; - u_z.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->z = u_z.real; - offset += sizeof(this->z); - return offset; - } - - virtual const char * getType() override { return COMMANDINT; }; - virtual const char * getMD5() override { return "6165959012c47e0f665b640c1ab12391"; }; - - }; - - class CommandIntResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - CommandIntResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return COMMANDINT; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class CommandInt { - public: - typedef CommandIntRequest Request; - typedef CommandIntResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandLong.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandLong.h deleted file mode 100644 index c463d47a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandLong.h +++ /dev/null @@ -1,297 +0,0 @@ -#ifndef _ROS_SERVICE_CommandLong_h -#define _ROS_SERVICE_CommandLong_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDLONG[] = "mavros_msgs/CommandLong"; - - class CommandLongRequest : public ros::Msg - { - public: - typedef bool _broadcast_type; - _broadcast_type broadcast; - typedef uint16_t _command_type; - _command_type command; - typedef uint8_t _confirmation_type; - _confirmation_type confirmation; - typedef float _param1_type; - _param1_type param1; - typedef float _param2_type; - _param2_type param2; - typedef float _param3_type; - _param3_type param3; - typedef float _param4_type; - _param4_type param4; - typedef float _param5_type; - _param5_type param5; - typedef float _param6_type; - _param6_type param6; - typedef float _param7_type; - _param7_type param7; - - CommandLongRequest(): - broadcast(0), - command(0), - confirmation(0), - param1(0), - param2(0), - param3(0), - param4(0), - param5(0), - param6(0), - param7(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_broadcast; - u_broadcast.real = this->broadcast; - *(outbuffer + offset + 0) = (u_broadcast.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->broadcast); - *(outbuffer + offset + 0) = (this->command >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->command >> (8 * 1)) & 0xFF; - offset += sizeof(this->command); - *(outbuffer + offset + 0) = (this->confirmation >> (8 * 0)) & 0xFF; - offset += sizeof(this->confirmation); - union { - float real; - uint32_t base; - } u_param1; - u_param1.real = this->param1; - *(outbuffer + offset + 0) = (u_param1.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param1.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param1.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param1.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param1); - union { - float real; - uint32_t base; - } u_param2; - u_param2.real = this->param2; - *(outbuffer + offset + 0) = (u_param2.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param2.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param2.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param2.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param2); - union { - float real; - uint32_t base; - } u_param3; - u_param3.real = this->param3; - *(outbuffer + offset + 0) = (u_param3.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param3.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param3.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param3.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param3); - union { - float real; - uint32_t base; - } u_param4; - u_param4.real = this->param4; - *(outbuffer + offset + 0) = (u_param4.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param4.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param4.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param4.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param4); - union { - float real; - uint32_t base; - } u_param5; - u_param5.real = this->param5; - *(outbuffer + offset + 0) = (u_param5.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param5.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param5.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param5.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param5); - union { - float real; - uint32_t base; - } u_param6; - u_param6.real = this->param6; - *(outbuffer + offset + 0) = (u_param6.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param6.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param6.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param6.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param6); - union { - float real; - uint32_t base; - } u_param7; - u_param7.real = this->param7; - *(outbuffer + offset + 0) = (u_param7.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param7.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param7.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param7.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param7); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_broadcast; - u_broadcast.base = 0; - u_broadcast.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->broadcast = u_broadcast.real; - offset += sizeof(this->broadcast); - this->command = ((uint16_t) (*(inbuffer + offset))); - this->command |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->command); - this->confirmation = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->confirmation); - union { - float real; - uint32_t base; - } u_param1; - u_param1.base = 0; - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param1 = u_param1.real; - offset += sizeof(this->param1); - union { - float real; - uint32_t base; - } u_param2; - u_param2.base = 0; - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param2 = u_param2.real; - offset += sizeof(this->param2); - union { - float real; - uint32_t base; - } u_param3; - u_param3.base = 0; - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param3 = u_param3.real; - offset += sizeof(this->param3); - union { - float real; - uint32_t base; - } u_param4; - u_param4.base = 0; - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param4 = u_param4.real; - offset += sizeof(this->param4); - union { - float real; - uint32_t base; - } u_param5; - u_param5.base = 0; - u_param5.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param5.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param5.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param5.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param5 = u_param5.real; - offset += sizeof(this->param5); - union { - float real; - uint32_t base; - } u_param6; - u_param6.base = 0; - u_param6.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param6.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param6.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param6.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param6 = u_param6.real; - offset += sizeof(this->param6); - union { - float real; - uint32_t base; - } u_param7; - u_param7.base = 0; - u_param7.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param7.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param7.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param7.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param7 = u_param7.real; - offset += sizeof(this->param7); - return offset; - } - - virtual const char * getType() override { return COMMANDLONG; }; - virtual const char * getMD5() override { return "0ad16dd8ca2c8f209bfc6c32c71c0dd8"; }; - - }; - - class CommandLongResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandLongResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDLONG; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandLong { - public: - typedef CommandLongRequest Request; - typedef CommandLongResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTOL.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTOL.h deleted file mode 100644 index c6281591..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTOL.h +++ /dev/null @@ -1,215 +0,0 @@ -#ifndef _ROS_SERVICE_CommandTOL_h -#define _ROS_SERVICE_CommandTOL_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDTOL[] = "mavros_msgs/CommandTOL"; - - class CommandTOLRequest : public ros::Msg - { - public: - typedef float _min_pitch_type; - _min_pitch_type min_pitch; - typedef float _yaw_type; - _yaw_type yaw; - typedef float _latitude_type; - _latitude_type latitude; - typedef float _longitude_type; - _longitude_type longitude; - typedef float _altitude_type; - _altitude_type altitude; - - CommandTOLRequest(): - min_pitch(0), - yaw(0), - latitude(0), - longitude(0), - altitude(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_min_pitch; - u_min_pitch.real = this->min_pitch; - *(outbuffer + offset + 0) = (u_min_pitch.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_min_pitch.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_min_pitch.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_min_pitch.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->min_pitch); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.real = this->yaw; - *(outbuffer + offset + 0) = (u_yaw.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->latitude); - union { - float real; - uint32_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->altitude); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_min_pitch; - u_min_pitch.base = 0; - u_min_pitch.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_min_pitch.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_min_pitch.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_min_pitch.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->min_pitch = u_min_pitch.real; - offset += sizeof(this->min_pitch); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.base = 0; - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw = u_yaw.real; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - float real; - uint32_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - return offset; - } - - virtual const char * getType() override { return COMMANDTOL; }; - virtual const char * getMD5() override { return "5aec7e34bcfe9ec68949aebae7bcd1ec"; }; - - }; - - class CommandTOLResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandTOLResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDTOL; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandTOL { - public: - typedef CommandTOLRequest Request; - typedef CommandTOLResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerControl.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerControl.h deleted file mode 100644 index 4006fc48..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerControl.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef _ROS_SERVICE_CommandTriggerControl_h -#define _ROS_SERVICE_CommandTriggerControl_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDTRIGGERCONTROL[] = "mavros_msgs/CommandTriggerControl"; - - class CommandTriggerControlRequest : public ros::Msg - { - public: - typedef bool _trigger_enable_type; - _trigger_enable_type trigger_enable; - typedef bool _sequence_reset_type; - _sequence_reset_type sequence_reset; - typedef bool _trigger_pause_type; - _trigger_pause_type trigger_pause; - - CommandTriggerControlRequest(): - trigger_enable(0), - sequence_reset(0), - trigger_pause(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_trigger_enable; - u_trigger_enable.real = this->trigger_enable; - *(outbuffer + offset + 0) = (u_trigger_enable.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->trigger_enable); - union { - bool real; - uint8_t base; - } u_sequence_reset; - u_sequence_reset.real = this->sequence_reset; - *(outbuffer + offset + 0) = (u_sequence_reset.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->sequence_reset); - union { - bool real; - uint8_t base; - } u_trigger_pause; - u_trigger_pause.real = this->trigger_pause; - *(outbuffer + offset + 0) = (u_trigger_pause.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->trigger_pause); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_trigger_enable; - u_trigger_enable.base = 0; - u_trigger_enable.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->trigger_enable = u_trigger_enable.real; - offset += sizeof(this->trigger_enable); - union { - bool real; - uint8_t base; - } u_sequence_reset; - u_sequence_reset.base = 0; - u_sequence_reset.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->sequence_reset = u_sequence_reset.real; - offset += sizeof(this->sequence_reset); - union { - bool real; - uint8_t base; - } u_trigger_pause; - u_trigger_pause.base = 0; - u_trigger_pause.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->trigger_pause = u_trigger_pause.real; - offset += sizeof(this->trigger_pause); - return offset; - } - - virtual const char * getType() override { return COMMANDTRIGGERCONTROL; }; - virtual const char * getMD5() override { return "5231f3f21be52f9682a8e030770339a5"; }; - - }; - - class CommandTriggerControlResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandTriggerControlResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDTRIGGERCONTROL; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandTriggerControl { - public: - typedef CommandTriggerControlRequest Request; - typedef CommandTriggerControlResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerInterval.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerInterval.h deleted file mode 100644 index f06ab864..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandTriggerInterval.h +++ /dev/null @@ -1,143 +0,0 @@ -#ifndef _ROS_SERVICE_CommandTriggerInterval_h -#define _ROS_SERVICE_CommandTriggerInterval_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char COMMANDTRIGGERINTERVAL[] = "mavros_msgs/CommandTriggerInterval"; - - class CommandTriggerIntervalRequest : public ros::Msg - { - public: - typedef float _cycle_time_type; - _cycle_time_type cycle_time; - typedef float _integration_time_type; - _integration_time_type integration_time; - - CommandTriggerIntervalRequest(): - cycle_time(0), - integration_time(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_cycle_time; - u_cycle_time.real = this->cycle_time; - *(outbuffer + offset + 0) = (u_cycle_time.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_cycle_time.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_cycle_time.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_cycle_time.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->cycle_time); - union { - float real; - uint32_t base; - } u_integration_time; - u_integration_time.real = this->integration_time; - *(outbuffer + offset + 0) = (u_integration_time.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_integration_time.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_integration_time.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_integration_time.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->integration_time); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_cycle_time; - u_cycle_time.base = 0; - u_cycle_time.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_cycle_time.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_cycle_time.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_cycle_time.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->cycle_time = u_cycle_time.real; - offset += sizeof(this->cycle_time); - union { - float real; - uint32_t base; - } u_integration_time; - u_integration_time.base = 0; - u_integration_time.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_integration_time.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_integration_time.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_integration_time.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->integration_time = u_integration_time.real; - offset += sizeof(this->integration_time); - return offset; - } - - virtual const char * getType() override { return COMMANDTRIGGERINTERVAL; }; - virtual const char * getMD5() override { return "54f6167a076ced593aa096ea6eb1a519"; }; - - }; - - class CommandTriggerIntervalResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandTriggerIntervalResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDTRIGGERINTERVAL; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandTriggerInterval { - public: - typedef CommandTriggerIntervalRequest Request; - typedef CommandTriggerIntervalResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandVtolTransition.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandVtolTransition.h deleted file mode 100644 index 8e21a178..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CommandVtolTransition.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef _ROS_SERVICE_CommandVtolTransition_h -#define _ROS_SERVICE_CommandVtolTransition_h -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - -static const char COMMANDVTOLTRANSITION[] = "mavros_msgs/CommandVtolTransition"; - - class CommandVtolTransitionRequest : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _state_type; - _state_type state; - enum { STATE_MC = 3 }; - enum { STATE_FW = 4 }; - - CommandVtolTransitionRequest(): - header(), - state(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->state >> (8 * 0)) & 0xFF; - offset += sizeof(this->state); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->state = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->state); - return offset; - } - - virtual const char * getType() override { return COMMANDVTOLTRANSITION; }; - virtual const char * getMD5() override { return "0f073c606cdf8c014b856a5033900f3e"; }; - - }; - - class CommandVtolTransitionResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - CommandVtolTransitionResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return COMMANDVTOLTRANSITION; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class CommandVtolTransition { - public: - typedef CommandVtolTransitionRequest Request; - typedef CommandVtolTransitionResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CompanionProcessStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CompanionProcessStatus.h deleted file mode 100644 index 76abdbd9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/CompanionProcessStatus.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef _ROS_mavros_msgs_CompanionProcessStatus_h -#define _ROS_mavros_msgs_CompanionProcessStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class CompanionProcessStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _state_type; - _state_type state; - typedef uint8_t _component_type; - _component_type component; - enum { MAV_STATE_UNINIT = 0 }; - enum { MAV_STATE_BOOT = 1 }; - enum { MAV_STATE_CALIBRATING = 2 }; - enum { MAV_STATE_STANDBY = 3 }; - enum { MAV_STATE_ACTIVE = 4 }; - enum { MAV_STATE_CRITICAL = 5 }; - enum { MAV_STATE_EMERGENCY = 6 }; - enum { MAV_STATE_POWEROFF = 7 }; - enum { MAV_STATE_FLIGHT_TERMINATION = 8 }; - enum { MAV_COMP_ID_OBSTACLE_AVOIDANCE = 196 }; - enum { MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY = 197 }; - - CompanionProcessStatus(): - header(), - state(0), - component(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->state >> (8 * 0)) & 0xFF; - offset += sizeof(this->state); - *(outbuffer + offset + 0) = (this->component >> (8 * 0)) & 0xFF; - offset += sizeof(this->component); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->state = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->state); - this->component = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->component); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/CompanionProcessStatus"; }; - virtual const char * getMD5() override { return "b6dd787fcd873e87778987b1845f4cb5"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/DebugValue.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/DebugValue.h deleted file mode 100644 index f7966b46..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/DebugValue.h +++ /dev/null @@ -1,213 +0,0 @@ -#ifndef _ROS_mavros_msgs_DebugValue_h -#define _ROS_mavros_msgs_DebugValue_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class DebugValue : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef int32_t _index_type; - _index_type index; - typedef int32_t _array_id_type; - _array_id_type array_id; - typedef const char* _name_type; - _name_type name; - typedef float _value_float_type; - _value_float_type value_float; - typedef int32_t _value_int_type; - _value_int_type value_int; - uint32_t data_length; - typedef float _data_type; - _data_type st_data; - _data_type * data; - typedef uint8_t _type_type; - _type_type type; - enum { TYPE_DEBUG = 0 }; - enum { TYPE_DEBUG_VECT = 1 }; - enum { TYPE_DEBUG_FLOAT_ARRAY = 2 }; - enum { TYPE_NAMED_VALUE_FLOAT = 3 }; - enum { TYPE_NAMED_VALUE_INT = 4 }; - - DebugValue(): - header(), - index(0), - array_id(0), - name(""), - value_float(0), - value_int(0), - data_length(0), st_data(), data(nullptr), - type(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - int32_t real; - uint32_t base; - } u_index; - u_index.real = this->index; - *(outbuffer + offset + 0) = (u_index.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_index.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_index.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_index.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->index); - union { - int32_t real; - uint32_t base; - } u_array_id; - u_array_id.real = this->array_id; - *(outbuffer + offset + 0) = (u_array_id.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_array_id.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_array_id.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_array_id.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->array_id); - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - union { - float real; - uint32_t base; - } u_value_float; - u_value_float.real = this->value_float; - *(outbuffer + offset + 0) = (u_value_float.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_value_float.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_value_float.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_value_float.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->value_float); - union { - int32_t real; - uint32_t base; - } u_value_int; - u_value_int.real = this->value_int; - *(outbuffer + offset + 0) = (u_value_int.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_value_int.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_value_int.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_value_int.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->value_int); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - float real; - uint32_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->data[i]); - } - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - int32_t real; - uint32_t base; - } u_index; - u_index.base = 0; - u_index.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_index.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_index.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_index.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->index = u_index.real; - offset += sizeof(this->index); - union { - int32_t real; - uint32_t base; - } u_array_id; - u_array_id.base = 0; - u_array_id.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_array_id.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_array_id.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_array_id.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->array_id = u_array_id.real; - offset += sizeof(this->array_id); - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - union { - float real; - uint32_t base; - } u_value_float; - u_value_float.base = 0; - u_value_float.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_value_float.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_value_float.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_value_float.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->value_float = u_value_float.real; - offset += sizeof(this->value_float); - union { - int32_t real; - uint32_t base; - } u_value_int; - u_value_int.base = 0; - u_value_int.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_value_int.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_value_int.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_value_int.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->value_int = u_value_int.real; - offset += sizeof(this->value_int); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (float*)realloc(this->data, data_lengthT * sizeof(float)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - float real; - uint32_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(float)); - } - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/DebugValue"; }; - virtual const char * getMD5() override { return "a385507a0141af80b5f68662747f1e68"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfo.h deleted file mode 100644 index 0294cdb4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfo.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef _ROS_mavros_msgs_ESCInfo_h -#define _ROS_mavros_msgs_ESCInfo_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "mavros_msgs/ESCInfoItem.h" - -namespace mavros_msgs -{ - - class ESCInfo : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint16_t _counter_type; - _counter_type counter; - typedef uint8_t _count_type; - _count_type count; - typedef uint8_t _connection_type_type; - _connection_type_type connection_type; - typedef uint8_t _info_type; - _info_type info; - uint32_t esc_info_length; - typedef mavros_msgs::ESCInfoItem _esc_info_type; - _esc_info_type st_esc_info; - _esc_info_type * esc_info; - - ESCInfo(): - header(), - counter(0), - count(0), - connection_type(0), - info(0), - esc_info_length(0), st_esc_info(), esc_info(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->counter >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->counter >> (8 * 1)) & 0xFF; - offset += sizeof(this->counter); - *(outbuffer + offset + 0) = (this->count >> (8 * 0)) & 0xFF; - offset += sizeof(this->count); - *(outbuffer + offset + 0) = (this->connection_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->connection_type); - *(outbuffer + offset + 0) = (this->info >> (8 * 0)) & 0xFF; - offset += sizeof(this->info); - *(outbuffer + offset + 0) = (this->esc_info_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->esc_info_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->esc_info_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->esc_info_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->esc_info_length); - for( uint32_t i = 0; i < esc_info_length; i++){ - offset += this->esc_info[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->counter = ((uint16_t) (*(inbuffer + offset))); - this->counter |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->counter); - this->count = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->count); - this->connection_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->connection_type); - this->info = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->info); - uint32_t esc_info_lengthT = ((uint32_t) (*(inbuffer + offset))); - esc_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - esc_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - esc_info_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->esc_info_length); - if(esc_info_lengthT > esc_info_length) - this->esc_info = (mavros_msgs::ESCInfoItem*)realloc(this->esc_info, esc_info_lengthT * sizeof(mavros_msgs::ESCInfoItem)); - esc_info_length = esc_info_lengthT; - for( uint32_t i = 0; i < esc_info_length; i++){ - offset += this->st_esc_info.deserialize(inbuffer + offset); - memcpy( &(this->esc_info[i]), &(this->st_esc_info), sizeof(mavros_msgs::ESCInfoItem)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ESCInfo"; }; - virtual const char * getMD5() override { return "63fa145856ba5b9bdcaf4b1f55eaa549"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfoItem.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfoItem.h deleted file mode 100644 index 3c92c60d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCInfoItem.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef _ROS_mavros_msgs_ESCInfoItem_h -#define _ROS_mavros_msgs_ESCInfoItem_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class ESCInfoItem : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint16_t _failure_flags_type; - _failure_flags_type failure_flags; - typedef uint32_t _error_count_type; - _error_count_type error_count; - typedef int32_t _temperature_type; - _temperature_type temperature; - - ESCInfoItem(): - header(), - failure_flags(0), - error_count(0), - temperature(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->failure_flags >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->failure_flags >> (8 * 1)) & 0xFF; - offset += sizeof(this->failure_flags); - *(outbuffer + offset + 0) = (this->error_count >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->error_count >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->error_count >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->error_count >> (8 * 3)) & 0xFF; - offset += sizeof(this->error_count); - union { - int32_t real; - uint32_t base; - } u_temperature; - u_temperature.real = this->temperature; - *(outbuffer + offset + 0) = (u_temperature.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_temperature.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_temperature.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_temperature.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->temperature); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->failure_flags = ((uint16_t) (*(inbuffer + offset))); - this->failure_flags |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->failure_flags); - this->error_count = ((uint32_t) (*(inbuffer + offset))); - this->error_count |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->error_count |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->error_count |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->error_count); - union { - int32_t real; - uint32_t base; - } u_temperature; - u_temperature.base = 0; - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->temperature = u_temperature.real; - offset += sizeof(this->temperature); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ESCInfoItem"; }; - virtual const char * getMD5() override { return "968983ff768dda90f04c5aa11caf6e74"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatus.h deleted file mode 100644 index c8ec2a52..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatus.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_mavros_msgs_ESCStatus_h -#define _ROS_mavros_msgs_ESCStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "mavros_msgs/ESCStatusItem.h" - -namespace mavros_msgs -{ - - class ESCStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t esc_status_length; - typedef mavros_msgs::ESCStatusItem _esc_status_type; - _esc_status_type st_esc_status; - _esc_status_type * esc_status; - - ESCStatus(): - header(), - esc_status_length(0), st_esc_status(), esc_status(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->esc_status_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->esc_status_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->esc_status_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->esc_status_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->esc_status_length); - for( uint32_t i = 0; i < esc_status_length; i++){ - offset += this->esc_status[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t esc_status_lengthT = ((uint32_t) (*(inbuffer + offset))); - esc_status_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - esc_status_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - esc_status_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->esc_status_length); - if(esc_status_lengthT > esc_status_length) - this->esc_status = (mavros_msgs::ESCStatusItem*)realloc(this->esc_status, esc_status_lengthT * sizeof(mavros_msgs::ESCStatusItem)); - esc_status_length = esc_status_lengthT; - for( uint32_t i = 0; i < esc_status_length; i++){ - offset += this->st_esc_status.deserialize(inbuffer + offset); - memcpy( &(this->esc_status[i]), &(this->st_esc_status), sizeof(mavros_msgs::ESCStatusItem)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ESCStatus"; }; - virtual const char * getMD5() override { return "145d49eaf5cfecbdfd50ae4a22fe82d4"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatusItem.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatusItem.h deleted file mode 100644 index a21bd06a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCStatusItem.h +++ /dev/null @@ -1,116 +0,0 @@ -#ifndef _ROS_mavros_msgs_ESCStatusItem_h -#define _ROS_mavros_msgs_ESCStatusItem_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class ESCStatusItem : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef int32_t _rpm_type; - _rpm_type rpm; - typedef float _voltage_type; - _voltage_type voltage; - typedef float _current_type; - _current_type current; - - ESCStatusItem(): - header(), - rpm(0), - voltage(0), - current(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - int32_t real; - uint32_t base; - } u_rpm; - u_rpm.real = this->rpm; - *(outbuffer + offset + 0) = (u_rpm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_rpm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_rpm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_rpm.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->rpm); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.real = this->voltage; - *(outbuffer + offset + 0) = (u_voltage.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_voltage.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_voltage.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_voltage.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_current; - u_current.real = this->current; - *(outbuffer + offset + 0) = (u_current.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_current.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_current.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_current.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->current); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - int32_t real; - uint32_t base; - } u_rpm; - u_rpm.base = 0; - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->rpm = u_rpm.real; - offset += sizeof(this->rpm); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.base = 0; - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->voltage = u_voltage.real; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_current; - u_current.base = 0; - u_current.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->current = u_current.real; - offset += sizeof(this->current); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ESCStatusItem"; }; - virtual const char * getMD5() override { return "70651ef564857ec47d6e23206e2f7145"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetry.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetry.h deleted file mode 100644 index 2b32775b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetry.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_mavros_msgs_ESCTelemetry_h -#define _ROS_mavros_msgs_ESCTelemetry_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "mavros_msgs/ESCTelemetryItem.h" - -namespace mavros_msgs -{ - - class ESCTelemetry : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t esc_telemetry_length; - typedef mavros_msgs::ESCTelemetryItem _esc_telemetry_type; - _esc_telemetry_type st_esc_telemetry; - _esc_telemetry_type * esc_telemetry; - - ESCTelemetry(): - header(), - esc_telemetry_length(0), st_esc_telemetry(), esc_telemetry(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->esc_telemetry_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->esc_telemetry_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->esc_telemetry_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->esc_telemetry_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->esc_telemetry_length); - for( uint32_t i = 0; i < esc_telemetry_length; i++){ - offset += this->esc_telemetry[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t esc_telemetry_lengthT = ((uint32_t) (*(inbuffer + offset))); - esc_telemetry_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - esc_telemetry_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - esc_telemetry_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->esc_telemetry_length); - if(esc_telemetry_lengthT > esc_telemetry_length) - this->esc_telemetry = (mavros_msgs::ESCTelemetryItem*)realloc(this->esc_telemetry, esc_telemetry_lengthT * sizeof(mavros_msgs::ESCTelemetryItem)); - esc_telemetry_length = esc_telemetry_lengthT; - for( uint32_t i = 0; i < esc_telemetry_length; i++){ - offset += this->st_esc_telemetry.deserialize(inbuffer + offset); - memcpy( &(this->esc_telemetry[i]), &(this->st_esc_telemetry), sizeof(mavros_msgs::ESCTelemetryItem)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ESCTelemetry"; }; - virtual const char * getMD5() override { return "7b1fb252ca6aa175fe8dd23d029b3362"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetryItem.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetryItem.h deleted file mode 100644 index 47716898..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ESCTelemetryItem.h +++ /dev/null @@ -1,173 +0,0 @@ -#ifndef _ROS_mavros_msgs_ESCTelemetryItem_h -#define _ROS_mavros_msgs_ESCTelemetryItem_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class ESCTelemetryItem : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _temperature_type; - _temperature_type temperature; - typedef float _voltage_type; - _voltage_type voltage; - typedef float _current_type; - _current_type current; - typedef float _totalcurrent_type; - _totalcurrent_type totalcurrent; - typedef int32_t _rpm_type; - _rpm_type rpm; - typedef uint16_t _count_type; - _count_type count; - - ESCTelemetryItem(): - header(), - temperature(0), - voltage(0), - current(0), - totalcurrent(0), - rpm(0), - count(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_temperature; - u_temperature.real = this->temperature; - *(outbuffer + offset + 0) = (u_temperature.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_temperature.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_temperature.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_temperature.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->temperature); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.real = this->voltage; - *(outbuffer + offset + 0) = (u_voltage.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_voltage.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_voltage.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_voltage.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_current; - u_current.real = this->current; - *(outbuffer + offset + 0) = (u_current.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_current.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_current.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_current.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->current); - union { - float real; - uint32_t base; - } u_totalcurrent; - u_totalcurrent.real = this->totalcurrent; - *(outbuffer + offset + 0) = (u_totalcurrent.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_totalcurrent.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_totalcurrent.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_totalcurrent.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->totalcurrent); - union { - int32_t real; - uint32_t base; - } u_rpm; - u_rpm.real = this->rpm; - *(outbuffer + offset + 0) = (u_rpm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_rpm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_rpm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_rpm.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->rpm); - *(outbuffer + offset + 0) = (this->count >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->count >> (8 * 1)) & 0xFF; - offset += sizeof(this->count); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_temperature; - u_temperature.base = 0; - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->temperature = u_temperature.real; - offset += sizeof(this->temperature); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.base = 0; - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->voltage = u_voltage.real; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_current; - u_current.base = 0; - u_current.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->current = u_current.real; - offset += sizeof(this->current); - union { - float real; - uint32_t base; - } u_totalcurrent; - u_totalcurrent.base = 0; - u_totalcurrent.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_totalcurrent.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_totalcurrent.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_totalcurrent.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->totalcurrent = u_totalcurrent.real; - offset += sizeof(this->totalcurrent); - union { - int32_t real; - uint32_t base; - } u_rpm; - u_rpm.base = 0; - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_rpm.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->rpm = u_rpm.real; - offset += sizeof(this->rpm); - this->count = ((uint16_t) (*(inbuffer + offset))); - this->count |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->count); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ESCTelemetryItem"; }; - virtual const char * getMD5() override { return "a135c5d0c71a3bade75476291a42a6df"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/EstimatorStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/EstimatorStatus.h deleted file mode 100644 index 4cb7f0e2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/EstimatorStatus.h +++ /dev/null @@ -1,260 +0,0 @@ -#ifndef _ROS_mavros_msgs_EstimatorStatus_h -#define _ROS_mavros_msgs_EstimatorStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class EstimatorStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef bool _attitude_status_flag_type; - _attitude_status_flag_type attitude_status_flag; - typedef bool _velocity_horiz_status_flag_type; - _velocity_horiz_status_flag_type velocity_horiz_status_flag; - typedef bool _velocity_vert_status_flag_type; - _velocity_vert_status_flag_type velocity_vert_status_flag; - typedef bool _pos_horiz_rel_status_flag_type; - _pos_horiz_rel_status_flag_type pos_horiz_rel_status_flag; - typedef bool _pos_horiz_abs_status_flag_type; - _pos_horiz_abs_status_flag_type pos_horiz_abs_status_flag; - typedef bool _pos_vert_abs_status_flag_type; - _pos_vert_abs_status_flag_type pos_vert_abs_status_flag; - typedef bool _pos_vert_agl_status_flag_type; - _pos_vert_agl_status_flag_type pos_vert_agl_status_flag; - typedef bool _const_pos_mode_status_flag_type; - _const_pos_mode_status_flag_type const_pos_mode_status_flag; - typedef bool _pred_pos_horiz_rel_status_flag_type; - _pred_pos_horiz_rel_status_flag_type pred_pos_horiz_rel_status_flag; - typedef bool _pred_pos_horiz_abs_status_flag_type; - _pred_pos_horiz_abs_status_flag_type pred_pos_horiz_abs_status_flag; - typedef bool _gps_glitch_status_flag_type; - _gps_glitch_status_flag_type gps_glitch_status_flag; - typedef bool _accel_error_status_flag_type; - _accel_error_status_flag_type accel_error_status_flag; - - EstimatorStatus(): - header(), - attitude_status_flag(0), - velocity_horiz_status_flag(0), - velocity_vert_status_flag(0), - pos_horiz_rel_status_flag(0), - pos_horiz_abs_status_flag(0), - pos_vert_abs_status_flag(0), - pos_vert_agl_status_flag(0), - const_pos_mode_status_flag(0), - pred_pos_horiz_rel_status_flag(0), - pred_pos_horiz_abs_status_flag(0), - gps_glitch_status_flag(0), - accel_error_status_flag(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_attitude_status_flag; - u_attitude_status_flag.real = this->attitude_status_flag; - *(outbuffer + offset + 0) = (u_attitude_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->attitude_status_flag); - union { - bool real; - uint8_t base; - } u_velocity_horiz_status_flag; - u_velocity_horiz_status_flag.real = this->velocity_horiz_status_flag; - *(outbuffer + offset + 0) = (u_velocity_horiz_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->velocity_horiz_status_flag); - union { - bool real; - uint8_t base; - } u_velocity_vert_status_flag; - u_velocity_vert_status_flag.real = this->velocity_vert_status_flag; - *(outbuffer + offset + 0) = (u_velocity_vert_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->velocity_vert_status_flag); - union { - bool real; - uint8_t base; - } u_pos_horiz_rel_status_flag; - u_pos_horiz_rel_status_flag.real = this->pos_horiz_rel_status_flag; - *(outbuffer + offset + 0) = (u_pos_horiz_rel_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->pos_horiz_rel_status_flag); - union { - bool real; - uint8_t base; - } u_pos_horiz_abs_status_flag; - u_pos_horiz_abs_status_flag.real = this->pos_horiz_abs_status_flag; - *(outbuffer + offset + 0) = (u_pos_horiz_abs_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->pos_horiz_abs_status_flag); - union { - bool real; - uint8_t base; - } u_pos_vert_abs_status_flag; - u_pos_vert_abs_status_flag.real = this->pos_vert_abs_status_flag; - *(outbuffer + offset + 0) = (u_pos_vert_abs_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->pos_vert_abs_status_flag); - union { - bool real; - uint8_t base; - } u_pos_vert_agl_status_flag; - u_pos_vert_agl_status_flag.real = this->pos_vert_agl_status_flag; - *(outbuffer + offset + 0) = (u_pos_vert_agl_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->pos_vert_agl_status_flag); - union { - bool real; - uint8_t base; - } u_const_pos_mode_status_flag; - u_const_pos_mode_status_flag.real = this->const_pos_mode_status_flag; - *(outbuffer + offset + 0) = (u_const_pos_mode_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->const_pos_mode_status_flag); - union { - bool real; - uint8_t base; - } u_pred_pos_horiz_rel_status_flag; - u_pred_pos_horiz_rel_status_flag.real = this->pred_pos_horiz_rel_status_flag; - *(outbuffer + offset + 0) = (u_pred_pos_horiz_rel_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->pred_pos_horiz_rel_status_flag); - union { - bool real; - uint8_t base; - } u_pred_pos_horiz_abs_status_flag; - u_pred_pos_horiz_abs_status_flag.real = this->pred_pos_horiz_abs_status_flag; - *(outbuffer + offset + 0) = (u_pred_pos_horiz_abs_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->pred_pos_horiz_abs_status_flag); - union { - bool real; - uint8_t base; - } u_gps_glitch_status_flag; - u_gps_glitch_status_flag.real = this->gps_glitch_status_flag; - *(outbuffer + offset + 0) = (u_gps_glitch_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->gps_glitch_status_flag); - union { - bool real; - uint8_t base; - } u_accel_error_status_flag; - u_accel_error_status_flag.real = this->accel_error_status_flag; - *(outbuffer + offset + 0) = (u_accel_error_status_flag.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->accel_error_status_flag); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_attitude_status_flag; - u_attitude_status_flag.base = 0; - u_attitude_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->attitude_status_flag = u_attitude_status_flag.real; - offset += sizeof(this->attitude_status_flag); - union { - bool real; - uint8_t base; - } u_velocity_horiz_status_flag; - u_velocity_horiz_status_flag.base = 0; - u_velocity_horiz_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->velocity_horiz_status_flag = u_velocity_horiz_status_flag.real; - offset += sizeof(this->velocity_horiz_status_flag); - union { - bool real; - uint8_t base; - } u_velocity_vert_status_flag; - u_velocity_vert_status_flag.base = 0; - u_velocity_vert_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->velocity_vert_status_flag = u_velocity_vert_status_flag.real; - offset += sizeof(this->velocity_vert_status_flag); - union { - bool real; - uint8_t base; - } u_pos_horiz_rel_status_flag; - u_pos_horiz_rel_status_flag.base = 0; - u_pos_horiz_rel_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->pos_horiz_rel_status_flag = u_pos_horiz_rel_status_flag.real; - offset += sizeof(this->pos_horiz_rel_status_flag); - union { - bool real; - uint8_t base; - } u_pos_horiz_abs_status_flag; - u_pos_horiz_abs_status_flag.base = 0; - u_pos_horiz_abs_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->pos_horiz_abs_status_flag = u_pos_horiz_abs_status_flag.real; - offset += sizeof(this->pos_horiz_abs_status_flag); - union { - bool real; - uint8_t base; - } u_pos_vert_abs_status_flag; - u_pos_vert_abs_status_flag.base = 0; - u_pos_vert_abs_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->pos_vert_abs_status_flag = u_pos_vert_abs_status_flag.real; - offset += sizeof(this->pos_vert_abs_status_flag); - union { - bool real; - uint8_t base; - } u_pos_vert_agl_status_flag; - u_pos_vert_agl_status_flag.base = 0; - u_pos_vert_agl_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->pos_vert_agl_status_flag = u_pos_vert_agl_status_flag.real; - offset += sizeof(this->pos_vert_agl_status_flag); - union { - bool real; - uint8_t base; - } u_const_pos_mode_status_flag; - u_const_pos_mode_status_flag.base = 0; - u_const_pos_mode_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->const_pos_mode_status_flag = u_const_pos_mode_status_flag.real; - offset += sizeof(this->const_pos_mode_status_flag); - union { - bool real; - uint8_t base; - } u_pred_pos_horiz_rel_status_flag; - u_pred_pos_horiz_rel_status_flag.base = 0; - u_pred_pos_horiz_rel_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->pred_pos_horiz_rel_status_flag = u_pred_pos_horiz_rel_status_flag.real; - offset += sizeof(this->pred_pos_horiz_rel_status_flag); - union { - bool real; - uint8_t base; - } u_pred_pos_horiz_abs_status_flag; - u_pred_pos_horiz_abs_status_flag.base = 0; - u_pred_pos_horiz_abs_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->pred_pos_horiz_abs_status_flag = u_pred_pos_horiz_abs_status_flag.real; - offset += sizeof(this->pred_pos_horiz_abs_status_flag); - union { - bool real; - uint8_t base; - } u_gps_glitch_status_flag; - u_gps_glitch_status_flag.base = 0; - u_gps_glitch_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->gps_glitch_status_flag = u_gps_glitch_status_flag.real; - offset += sizeof(this->gps_glitch_status_flag); - union { - bool real; - uint8_t base; - } u_accel_error_status_flag; - u_accel_error_status_flag.base = 0; - u_accel_error_status_flag.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->accel_error_status_flag = u_accel_error_status_flag.real; - offset += sizeof(this->accel_error_status_flag); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/EstimatorStatus"; }; - virtual const char * getMD5() override { return "39dbcc4be3f04b68422f784827c47dd5"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ExtendedState.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ExtendedState.h deleted file mode 100644 index 4d9e02bc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ExtendedState.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _ROS_mavros_msgs_ExtendedState_h -#define _ROS_mavros_msgs_ExtendedState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class ExtendedState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _vtol_state_type; - _vtol_state_type vtol_state; - typedef uint8_t _landed_state_type; - _landed_state_type landed_state; - enum { VTOL_STATE_UNDEFINED = 0 }; - enum { VTOL_STATE_TRANSITION_TO_FW = 1 }; - enum { VTOL_STATE_TRANSITION_TO_MC = 2 }; - enum { VTOL_STATE_MC = 3 }; - enum { VTOL_STATE_FW = 4 }; - enum { LANDED_STATE_UNDEFINED = 0 }; - enum { LANDED_STATE_ON_GROUND = 1 }; - enum { LANDED_STATE_IN_AIR = 2 }; - enum { LANDED_STATE_TAKEOFF = 3 }; - enum { LANDED_STATE_LANDING = 4 }; - - ExtendedState(): - header(), - vtol_state(0), - landed_state(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->vtol_state >> (8 * 0)) & 0xFF; - offset += sizeof(this->vtol_state); - *(outbuffer + offset + 0) = (this->landed_state >> (8 * 0)) & 0xFF; - offset += sizeof(this->landed_state); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->vtol_state = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->vtol_state); - this->landed_state = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->landed_state); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ExtendedState"; }; - virtual const char * getMD5() override { return "ae780b1800fe17b917369d21b90058bd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileChecksum.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileChecksum.h deleted file mode 100644 index 5139629d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileChecksum.h +++ /dev/null @@ -1,142 +0,0 @@ -#ifndef _ROS_SERVICE_FileChecksum_h -#define _ROS_SERVICE_FileChecksum_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILECHECKSUM[] = "mavros_msgs/FileChecksum"; - - class FileChecksumRequest : public ros::Msg - { - public: - typedef const char* _file_path_type; - _file_path_type file_path; - - FileChecksumRequest(): - file_path("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_file_path = strlen(this->file_path); - varToArr(outbuffer + offset, length_file_path); - offset += 4; - memcpy(outbuffer + offset, this->file_path, length_file_path); - offset += length_file_path; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_file_path; - arrToVar(length_file_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_path-1]=0; - this->file_path = (char *)(inbuffer + offset-1); - offset += length_file_path; - return offset; - } - - virtual const char * getType() override { return FILECHECKSUM; }; - virtual const char * getMD5() override { return "a1f82596372c52a517e1fe32d1e998e8"; }; - - }; - - class FileChecksumResponse : public ros::Msg - { - public: - typedef uint32_t _crc32_type; - _crc32_type crc32; - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileChecksumResponse(): - crc32(0), - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->crc32 >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->crc32 >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->crc32 >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->crc32 >> (8 * 3)) & 0xFF; - offset += sizeof(this->crc32); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->crc32 = ((uint32_t) (*(inbuffer + offset))); - this->crc32 |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->crc32 |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->crc32 |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->crc32); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILECHECKSUM; }; - virtual const char * getMD5() override { return "8ecf737b97670b745ca39c7b185cc756"; }; - - }; - - class FileChecksum { - public: - typedef FileChecksumRequest Request; - typedef FileChecksumResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileClose.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileClose.h deleted file mode 100644 index a00fe180..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileClose.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef _ROS_SERVICE_FileClose_h -#define _ROS_SERVICE_FileClose_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILECLOSE[] = "mavros_msgs/FileClose"; - - class FileCloseRequest : public ros::Msg - { - public: - typedef const char* _file_path_type; - _file_path_type file_path; - - FileCloseRequest(): - file_path("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_file_path = strlen(this->file_path); - varToArr(outbuffer + offset, length_file_path); - offset += 4; - memcpy(outbuffer + offset, this->file_path, length_file_path); - offset += length_file_path; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_file_path; - arrToVar(length_file_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_path-1]=0; - this->file_path = (char *)(inbuffer + offset-1); - offset += length_file_path; - return offset; - } - - virtual const char * getType() override { return FILECLOSE; }; - virtual const char * getMD5() override { return "a1f82596372c52a517e1fe32d1e998e8"; }; - - }; - - class FileCloseResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileCloseResponse(): - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILECLOSE; }; - virtual const char * getMD5() override { return "85394f2e941a8937ac567a617f06157f"; }; - - }; - - class FileClose { - public: - typedef FileCloseRequest Request; - typedef FileCloseResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileEntry.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileEntry.h deleted file mode 100644 index b9909eda..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileEntry.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _ROS_mavros_msgs_FileEntry_h -#define _ROS_mavros_msgs_FileEntry_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class FileEntry : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef uint8_t _type_type; - _type_type type; - typedef uint64_t _size_type; - _size_type size; - enum { TYPE_FILE = 0 }; - enum { TYPE_DIRECTORY = 1 }; - - FileEntry(): - name(""), - type(0), - size(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - *(outbuffer + offset + 0) = (this->size >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->size >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->size >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->size >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->size >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->size >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->size >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->size >> (8 * 7)) & 0xFF; - offset += sizeof(this->size); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - this->size = ((uint64_t) (*(inbuffer + offset))); - this->size |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->size |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->size |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->size |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->size |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->size |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->size |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->size); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/FileEntry"; }; - virtual const char * getMD5() override { return "5ed706bccb946c5b3a5087569cc53ac3"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileList.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileList.h deleted file mode 100644 index 557b553f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileList.h +++ /dev/null @@ -1,155 +0,0 @@ -#ifndef _ROS_SERVICE_FileList_h -#define _ROS_SERVICE_FileList_h -#include -#include -#include -#include "ros/msg.h" -#include "mavros_msgs/FileEntry.h" - -namespace mavros_msgs -{ - -static const char FILELIST[] = "mavros_msgs/FileList"; - - class FileListRequest : public ros::Msg - { - public: - typedef const char* _dir_path_type; - _dir_path_type dir_path; - - FileListRequest(): - dir_path("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_dir_path = strlen(this->dir_path); - varToArr(outbuffer + offset, length_dir_path); - offset += 4; - memcpy(outbuffer + offset, this->dir_path, length_dir_path); - offset += length_dir_path; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_dir_path; - arrToVar(length_dir_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_dir_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_dir_path-1]=0; - this->dir_path = (char *)(inbuffer + offset-1); - offset += length_dir_path; - return offset; - } - - virtual const char * getType() override { return FILELIST; }; - virtual const char * getMD5() override { return "401d5cf5f836aaa9ebdc0897f75da874"; }; - - }; - - class FileListResponse : public ros::Msg - { - public: - uint32_t list_length; - typedef mavros_msgs::FileEntry _list_type; - _list_type st_list; - _list_type * list; - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileListResponse(): - list_length(0), st_list(), list(nullptr), - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->list_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->list_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->list_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->list_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->list_length); - for( uint32_t i = 0; i < list_length; i++){ - offset += this->list[i].serialize(outbuffer + offset); - } - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t list_lengthT = ((uint32_t) (*(inbuffer + offset))); - list_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - list_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - list_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->list_length); - if(list_lengthT > list_length) - this->list = (mavros_msgs::FileEntry*)realloc(this->list, list_lengthT * sizeof(mavros_msgs::FileEntry)); - list_length = list_lengthT; - for( uint32_t i = 0; i < list_length; i++){ - offset += this->st_list.deserialize(inbuffer + offset); - memcpy( &(this->list[i]), &(this->st_list), sizeof(mavros_msgs::FileEntry)); - } - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILELIST; }; - virtual const char * getMD5() override { return "3cf4be333d40be8a08832e3b61ed4336"; }; - - }; - - class FileList { - public: - typedef FileListRequest Request; - typedef FileListResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileMakeDir.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileMakeDir.h deleted file mode 100644 index aae8b2f8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileMakeDir.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef _ROS_SERVICE_FileMakeDir_h -#define _ROS_SERVICE_FileMakeDir_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILEMAKEDIR[] = "mavros_msgs/FileMakeDir"; - - class FileMakeDirRequest : public ros::Msg - { - public: - typedef const char* _dir_path_type; - _dir_path_type dir_path; - - FileMakeDirRequest(): - dir_path("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_dir_path = strlen(this->dir_path); - varToArr(outbuffer + offset, length_dir_path); - offset += 4; - memcpy(outbuffer + offset, this->dir_path, length_dir_path); - offset += length_dir_path; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_dir_path; - arrToVar(length_dir_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_dir_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_dir_path-1]=0; - this->dir_path = (char *)(inbuffer + offset-1); - offset += length_dir_path; - return offset; - } - - virtual const char * getType() override { return FILEMAKEDIR; }; - virtual const char * getMD5() override { return "401d5cf5f836aaa9ebdc0897f75da874"; }; - - }; - - class FileMakeDirResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileMakeDirResponse(): - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILEMAKEDIR; }; - virtual const char * getMD5() override { return "85394f2e941a8937ac567a617f06157f"; }; - - }; - - class FileMakeDir { - public: - typedef FileMakeDirRequest Request; - typedef FileMakeDirResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileOpen.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileOpen.h deleted file mode 100644 index e7c5fcb1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileOpen.h +++ /dev/null @@ -1,152 +0,0 @@ -#ifndef _ROS_SERVICE_FileOpen_h -#define _ROS_SERVICE_FileOpen_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILEOPEN[] = "mavros_msgs/FileOpen"; - - class FileOpenRequest : public ros::Msg - { - public: - typedef const char* _file_path_type; - _file_path_type file_path; - typedef uint8_t _mode_type; - _mode_type mode; - enum { MODE_READ = 0 }; - enum { MODE_WRITE = 1 }; - enum { MODE_CREATE = 2 }; - - FileOpenRequest(): - file_path(""), - mode(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_file_path = strlen(this->file_path); - varToArr(outbuffer + offset, length_file_path); - offset += 4; - memcpy(outbuffer + offset, this->file_path, length_file_path); - offset += length_file_path; - *(outbuffer + offset + 0) = (this->mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->mode); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_file_path; - arrToVar(length_file_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_path-1]=0; - this->file_path = (char *)(inbuffer + offset-1); - offset += length_file_path; - this->mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->mode); - return offset; - } - - virtual const char * getType() override { return FILEOPEN; }; - virtual const char * getMD5() override { return "5d3365f008508e7b1c9862cdbc4459de"; }; - - }; - - class FileOpenResponse : public ros::Msg - { - public: - typedef uint32_t _size_type; - _size_type size; - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileOpenResponse(): - size(0), - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->size >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->size >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->size >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->size >> (8 * 3)) & 0xFF; - offset += sizeof(this->size); - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->size = ((uint32_t) (*(inbuffer + offset))); - this->size |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->size |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->size |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->size); - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILEOPEN; }; - virtual const char * getMD5() override { return "0ff9b1d5b96094ef5adccef61431a04f"; }; - - }; - - class FileOpen { - public: - typedef FileOpenRequest Request; - typedef FileOpenResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRead.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRead.h deleted file mode 100644 index 469d1cd5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRead.h +++ /dev/null @@ -1,198 +0,0 @@ -#ifndef _ROS_SERVICE_FileRead_h -#define _ROS_SERVICE_FileRead_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILEREAD[] = "mavros_msgs/FileRead"; - - class FileReadRequest : public ros::Msg - { - public: - typedef const char* _file_path_type; - _file_path_type file_path; - typedef uint64_t _offset_type; - _offset_type offset; - typedef uint64_t _size_type; - _size_type size; - - FileReadRequest(): - file_path(""), - offset(0), - size(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_file_path = strlen(this->file_path); - varToArr(outbuffer + offset, length_file_path); - offset += 4; - memcpy(outbuffer + offset, this->file_path, length_file_path); - offset += length_file_path; - *(outbuffer + offset + 0) = (this->offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->offset >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->offset >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->offset >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->offset >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->offset >> (8 * 7)) & 0xFF; - offset += sizeof(this->offset); - *(outbuffer + offset + 0) = (this->size >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->size >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->size >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->size >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->size >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->size >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->size >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->size >> (8 * 7)) & 0xFF; - offset += sizeof(this->size); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_file_path; - arrToVar(length_file_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_path-1]=0; - this->file_path = (char *)(inbuffer + offset-1); - offset += length_file_path; - this->offset = ((uint64_t) (*(inbuffer + offset))); - this->offset |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->offset |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->offset |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->offset |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->offset |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->offset |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->offset |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->offset); - this->size = ((uint64_t) (*(inbuffer + offset))); - this->size |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->size |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->size |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->size |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->size |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->size |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->size |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->size); - return offset; - } - - virtual const char * getType() override { return FILEREAD; }; - virtual const char * getMD5() override { return "c83da8c18af06c9d7d1b66667fa2bb6b"; }; - - }; - - class FileReadResponse : public ros::Msg - { - public: - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileReadResponse(): - data_length(0), st_data(), data(nullptr), - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILEREAD; }; - virtual const char * getMD5() override { return "729aa1e22d45390356095d59a2993cb4"; }; - - }; - - class FileRead { - public: - typedef FileReadRequest Request; - typedef FileReadResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemove.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemove.h deleted file mode 100644 index 07a38c83..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemove.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef _ROS_SERVICE_FileRemove_h -#define _ROS_SERVICE_FileRemove_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILEREMOVE[] = "mavros_msgs/FileRemove"; - - class FileRemoveRequest : public ros::Msg - { - public: - typedef const char* _file_path_type; - _file_path_type file_path; - - FileRemoveRequest(): - file_path("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_file_path = strlen(this->file_path); - varToArr(outbuffer + offset, length_file_path); - offset += 4; - memcpy(outbuffer + offset, this->file_path, length_file_path); - offset += length_file_path; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_file_path; - arrToVar(length_file_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_path-1]=0; - this->file_path = (char *)(inbuffer + offset-1); - offset += length_file_path; - return offset; - } - - virtual const char * getType() override { return FILEREMOVE; }; - virtual const char * getMD5() override { return "a1f82596372c52a517e1fe32d1e998e8"; }; - - }; - - class FileRemoveResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileRemoveResponse(): - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILEREMOVE; }; - virtual const char * getMD5() override { return "85394f2e941a8937ac567a617f06157f"; }; - - }; - - class FileRemove { - public: - typedef FileRemoveRequest Request; - typedef FileRemoveResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemoveDir.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemoveDir.h deleted file mode 100644 index 17a69073..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRemoveDir.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef _ROS_SERVICE_FileRemoveDir_h -#define _ROS_SERVICE_FileRemoveDir_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILEREMOVEDIR[] = "mavros_msgs/FileRemoveDir"; - - class FileRemoveDirRequest : public ros::Msg - { - public: - typedef const char* _dir_path_type; - _dir_path_type dir_path; - - FileRemoveDirRequest(): - dir_path("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_dir_path = strlen(this->dir_path); - varToArr(outbuffer + offset, length_dir_path); - offset += 4; - memcpy(outbuffer + offset, this->dir_path, length_dir_path); - offset += length_dir_path; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_dir_path; - arrToVar(length_dir_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_dir_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_dir_path-1]=0; - this->dir_path = (char *)(inbuffer + offset-1); - offset += length_dir_path; - return offset; - } - - virtual const char * getType() override { return FILEREMOVEDIR; }; - virtual const char * getMD5() override { return "401d5cf5f836aaa9ebdc0897f75da874"; }; - - }; - - class FileRemoveDirResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileRemoveDirResponse(): - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILEREMOVEDIR; }; - virtual const char * getMD5() override { return "85394f2e941a8937ac567a617f06157f"; }; - - }; - - class FileRemoveDir { - public: - typedef FileRemoveDirRequest Request; - typedef FileRemoveDirResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRename.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRename.h deleted file mode 100644 index 6538f8b8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileRename.h +++ /dev/null @@ -1,146 +0,0 @@ -#ifndef _ROS_SERVICE_FileRename_h -#define _ROS_SERVICE_FileRename_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILERENAME[] = "mavros_msgs/FileRename"; - - class FileRenameRequest : public ros::Msg - { - public: - typedef const char* _old_path_type; - _old_path_type old_path; - typedef const char* _new_path_type; - _new_path_type new_path; - - FileRenameRequest(): - old_path(""), - new_path("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_old_path = strlen(this->old_path); - varToArr(outbuffer + offset, length_old_path); - offset += 4; - memcpy(outbuffer + offset, this->old_path, length_old_path); - offset += length_old_path; - uint32_t length_new_path = strlen(this->new_path); - varToArr(outbuffer + offset, length_new_path); - offset += 4; - memcpy(outbuffer + offset, this->new_path, length_new_path); - offset += length_new_path; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_old_path; - arrToVar(length_old_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_old_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_old_path-1]=0; - this->old_path = (char *)(inbuffer + offset-1); - offset += length_old_path; - uint32_t length_new_path; - arrToVar(length_new_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_new_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_new_path-1]=0; - this->new_path = (char *)(inbuffer + offset-1); - offset += length_new_path; - return offset; - } - - virtual const char * getType() override { return FILERENAME; }; - virtual const char * getMD5() override { return "e4a29684c4f7a3290a1bec0a9de2ed01"; }; - - }; - - class FileRenameResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileRenameResponse(): - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILERENAME; }; - virtual const char * getMD5() override { return "85394f2e941a8937ac567a617f06157f"; }; - - }; - - class FileRename { - public: - typedef FileRenameRequest Request; - typedef FileRenameResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileTruncate.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileTruncate.h deleted file mode 100644 index b7e4299e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileTruncate.h +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef _ROS_SERVICE_FileTruncate_h -#define _ROS_SERVICE_FileTruncate_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILETRUNCATE[] = "mavros_msgs/FileTruncate"; - - class FileTruncateRequest : public ros::Msg - { - public: - typedef const char* _file_path_type; - _file_path_type file_path; - typedef uint64_t _length_type; - _length_type length; - - FileTruncateRequest(): - file_path(""), - length(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_file_path = strlen(this->file_path); - varToArr(outbuffer + offset, length_file_path); - offset += 4; - memcpy(outbuffer + offset, this->file_path, length_file_path); - offset += length_file_path; - *(outbuffer + offset + 0) = (this->length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->length >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->length >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->length >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->length >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->length >> (8 * 7)) & 0xFF; - offset += sizeof(this->length); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_file_path; - arrToVar(length_file_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_path-1]=0; - this->file_path = (char *)(inbuffer + offset-1); - offset += length_file_path; - this->length = ((uint64_t) (*(inbuffer + offset))); - this->length |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->length |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->length |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->length |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->length |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->length |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->length |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->length); - return offset; - } - - virtual const char * getType() override { return FILETRUNCATE; }; - virtual const char * getMD5() override { return "8153dbfb1601dd12c2e69aba3171d186"; }; - - }; - - class FileTruncateResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileTruncateResponse(): - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILETRUNCATE; }; - virtual const char * getMD5() override { return "85394f2e941a8937ac567a617f06157f"; }; - - }; - - class FileTruncate { - public: - typedef FileTruncateRequest Request; - typedef FileTruncateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileWrite.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileWrite.h deleted file mode 100644 index 03e9366d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/FileWrite.h +++ /dev/null @@ -1,177 +0,0 @@ -#ifndef _ROS_SERVICE_FileWrite_h -#define _ROS_SERVICE_FileWrite_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char FILEWRITE[] = "mavros_msgs/FileWrite"; - - class FileWriteRequest : public ros::Msg - { - public: - typedef const char* _file_path_type; - _file_path_type file_path; - typedef uint64_t _offset_type; - _offset_type offset; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - - FileWriteRequest(): - file_path(""), - offset(0), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_file_path = strlen(this->file_path); - varToArr(outbuffer + offset, length_file_path); - offset += 4; - memcpy(outbuffer + offset, this->file_path, length_file_path); - offset += length_file_path; - *(outbuffer + offset + 0) = (this->offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->offset >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->offset >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->offset >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->offset >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->offset >> (8 * 7)) & 0xFF; - offset += sizeof(this->offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_file_path; - arrToVar(length_file_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file_path-1]=0; - this->file_path = (char *)(inbuffer + offset-1); - offset += length_file_path; - this->offset = ((uint64_t) (*(inbuffer + offset))); - this->offset |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->offset |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->offset |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->offset |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->offset |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->offset |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->offset |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - return offset; - } - - virtual const char * getType() override { return FILEWRITE; }; - virtual const char * getMD5() override { return "cf1a270aa1398f3f1fac1649fe2275ef"; }; - - }; - - class FileWriteResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef int32_t _r_errno_type; - _r_errno_type r_errno; - - FileWriteResponse(): - success(0), - r_errno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.real = this->r_errno; - *(outbuffer + offset + 0) = (u_r_errno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r_errno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r_errno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r_errno.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r_errno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - union { - int32_t real; - uint32_t base; - } u_r_errno; - u_r_errno.base = 0; - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r_errno.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r_errno = u_r_errno.real; - offset += sizeof(this->r_errno); - return offset; - } - - virtual const char * getType() override { return FILEWRITE; }; - virtual const char * getMD5() override { return "85394f2e941a8937ac567a617f06157f"; }; - - }; - - class FileWrite { - public: - typedef FileWriteRequest Request; - typedef FileWriteResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSINPUT.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSINPUT.h deleted file mode 100644 index d0d4b58c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSINPUT.h +++ /dev/null @@ -1,378 +0,0 @@ -#ifndef _ROS_mavros_msgs_GPSINPUT_h -#define _ROS_mavros_msgs_GPSINPUT_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class GPSINPUT : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _fix_type_type; - _fix_type_type fix_type; - typedef uint8_t _gps_id_type; - _gps_id_type gps_id; - typedef uint16_t _ignore_flags_type; - _ignore_flags_type ignore_flags; - typedef uint32_t _time_week_ms_type; - _time_week_ms_type time_week_ms; - typedef uint16_t _time_week_type; - _time_week_type time_week; - typedef int32_t _lat_type; - _lat_type lat; - typedef int32_t _lon_type; - _lon_type lon; - typedef float _alt_type; - _alt_type alt; - typedef float _hdop_type; - _hdop_type hdop; - typedef float _vdop_type; - _vdop_type vdop; - typedef float _vn_type; - _vn_type vn; - typedef float _ve_type; - _ve_type ve; - typedef float _vd_type; - _vd_type vd; - typedef float _speed_accuracy_type; - _speed_accuracy_type speed_accuracy; - typedef float _horiz_accuracy_type; - _horiz_accuracy_type horiz_accuracy; - typedef float _vert_accuracy_type; - _vert_accuracy_type vert_accuracy; - typedef uint8_t _satellites_visible_type; - _satellites_visible_type satellites_visible; - typedef uint16_t _yaw_type; - _yaw_type yaw; - enum { GPS_FIX_TYPE_NO_GPS = 0 }; - enum { GPS_FIX_TYPE_NO_FIX = 1 }; - enum { GPS_FIX_TYPE_2D_FIX = 2 }; - enum { GPS_FIX_TYPE_3D_FIX = 3 }; - enum { GPS_FIX_TYPE_DGPS = 4 }; - enum { GPS_FIX_TYPE_RTK_FLOATR = 5 }; - enum { GPS_FIX_TYPE_RTK_FIXEDR = 6 }; - enum { GPS_FIX_TYPE_STATIC = 7 }; - enum { GPS_FIX_TYPE_PPP = 8 }; - - GPSINPUT(): - header(), - fix_type(0), - gps_id(0), - ignore_flags(0), - time_week_ms(0), - time_week(0), - lat(0), - lon(0), - alt(0), - hdop(0), - vdop(0), - vn(0), - ve(0), - vd(0), - speed_accuracy(0), - horiz_accuracy(0), - vert_accuracy(0), - satellites_visible(0), - yaw(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->fix_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->fix_type); - *(outbuffer + offset + 0) = (this->gps_id >> (8 * 0)) & 0xFF; - offset += sizeof(this->gps_id); - *(outbuffer + offset + 0) = (this->ignore_flags >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ignore_flags >> (8 * 1)) & 0xFF; - offset += sizeof(this->ignore_flags); - *(outbuffer + offset + 0) = (this->time_week_ms >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_week_ms >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_week_ms >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_week_ms >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_week_ms); - *(outbuffer + offset + 0) = (this->time_week >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_week >> (8 * 1)) & 0xFF; - offset += sizeof(this->time_week); - union { - int32_t real; - uint32_t base; - } u_lat; - u_lat.real = this->lat; - *(outbuffer + offset + 0) = (u_lat.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lat.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lat.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lat.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->lat); - union { - int32_t real; - uint32_t base; - } u_lon; - u_lon.real = this->lon; - *(outbuffer + offset + 0) = (u_lon.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lon.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lon.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lon.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->lon); - union { - float real; - uint32_t base; - } u_alt; - u_alt.real = this->alt; - *(outbuffer + offset + 0) = (u_alt.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_alt.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_alt.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_alt.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->alt); - union { - float real; - uint32_t base; - } u_hdop; - u_hdop.real = this->hdop; - *(outbuffer + offset + 0) = (u_hdop.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_hdop.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_hdop.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_hdop.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->hdop); - union { - float real; - uint32_t base; - } u_vdop; - u_vdop.real = this->vdop; - *(outbuffer + offset + 0) = (u_vdop.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_vdop.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_vdop.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_vdop.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->vdop); - union { - float real; - uint32_t base; - } u_vn; - u_vn.real = this->vn; - *(outbuffer + offset + 0) = (u_vn.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_vn.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_vn.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_vn.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->vn); - union { - float real; - uint32_t base; - } u_ve; - u_ve.real = this->ve; - *(outbuffer + offset + 0) = (u_ve.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ve.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ve.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ve.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->ve); - union { - float real; - uint32_t base; - } u_vd; - u_vd.real = this->vd; - *(outbuffer + offset + 0) = (u_vd.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_vd.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_vd.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_vd.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->vd); - union { - float real; - uint32_t base; - } u_speed_accuracy; - u_speed_accuracy.real = this->speed_accuracy; - *(outbuffer + offset + 0) = (u_speed_accuracy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_speed_accuracy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_speed_accuracy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_speed_accuracy.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->speed_accuracy); - union { - float real; - uint32_t base; - } u_horiz_accuracy; - u_horiz_accuracy.real = this->horiz_accuracy; - *(outbuffer + offset + 0) = (u_horiz_accuracy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_horiz_accuracy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_horiz_accuracy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_horiz_accuracy.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->horiz_accuracy); - union { - float real; - uint32_t base; - } u_vert_accuracy; - u_vert_accuracy.real = this->vert_accuracy; - *(outbuffer + offset + 0) = (u_vert_accuracy.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_vert_accuracy.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_vert_accuracy.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_vert_accuracy.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->vert_accuracy); - *(outbuffer + offset + 0) = (this->satellites_visible >> (8 * 0)) & 0xFF; - offset += sizeof(this->satellites_visible); - *(outbuffer + offset + 0) = (this->yaw >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->yaw >> (8 * 1)) & 0xFF; - offset += sizeof(this->yaw); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->fix_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->fix_type); - this->gps_id = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->gps_id); - this->ignore_flags = ((uint16_t) (*(inbuffer + offset))); - this->ignore_flags |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->ignore_flags); - this->time_week_ms = ((uint32_t) (*(inbuffer + offset))); - this->time_week_ms |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_week_ms |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_week_ms |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_week_ms); - this->time_week = ((uint16_t) (*(inbuffer + offset))); - this->time_week |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->time_week); - union { - int32_t real; - uint32_t base; - } u_lat; - u_lat.base = 0; - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->lat = u_lat.real; - offset += sizeof(this->lat); - union { - int32_t real; - uint32_t base; - } u_lon; - u_lon.base = 0; - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->lon = u_lon.real; - offset += sizeof(this->lon); - union { - float real; - uint32_t base; - } u_alt; - u_alt.base = 0; - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->alt = u_alt.real; - offset += sizeof(this->alt); - union { - float real; - uint32_t base; - } u_hdop; - u_hdop.base = 0; - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->hdop = u_hdop.real; - offset += sizeof(this->hdop); - union { - float real; - uint32_t base; - } u_vdop; - u_vdop.base = 0; - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->vdop = u_vdop.real; - offset += sizeof(this->vdop); - union { - float real; - uint32_t base; - } u_vn; - u_vn.base = 0; - u_vn.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_vn.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_vn.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_vn.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->vn = u_vn.real; - offset += sizeof(this->vn); - union { - float real; - uint32_t base; - } u_ve; - u_ve.base = 0; - u_ve.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ve.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ve.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ve.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->ve = u_ve.real; - offset += sizeof(this->ve); - union { - float real; - uint32_t base; - } u_vd; - u_vd.base = 0; - u_vd.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_vd.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_vd.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_vd.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->vd = u_vd.real; - offset += sizeof(this->vd); - union { - float real; - uint32_t base; - } u_speed_accuracy; - u_speed_accuracy.base = 0; - u_speed_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_speed_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_speed_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_speed_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->speed_accuracy = u_speed_accuracy.real; - offset += sizeof(this->speed_accuracy); - union { - float real; - uint32_t base; - } u_horiz_accuracy; - u_horiz_accuracy.base = 0; - u_horiz_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_horiz_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_horiz_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_horiz_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->horiz_accuracy = u_horiz_accuracy.real; - offset += sizeof(this->horiz_accuracy); - union { - float real; - uint32_t base; - } u_vert_accuracy; - u_vert_accuracy.base = 0; - u_vert_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_vert_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_vert_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_vert_accuracy.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->vert_accuracy = u_vert_accuracy.real; - offset += sizeof(this->vert_accuracy); - this->satellites_visible = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->satellites_visible); - this->yaw = ((uint16_t) (*(inbuffer + offset))); - this->yaw |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->yaw); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/GPSINPUT"; }; - virtual const char * getMD5() override { return "928ef4ffec7b9af7c6e4748f0542b6a0"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRAW.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRAW.h deleted file mode 100644 index ba1d321a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRAW.h +++ /dev/null @@ -1,291 +0,0 @@ -#ifndef _ROS_mavros_msgs_GPSRAW_h -#define _ROS_mavros_msgs_GPSRAW_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class GPSRAW : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _fix_type_type; - _fix_type_type fix_type; - typedef int32_t _lat_type; - _lat_type lat; - typedef int32_t _lon_type; - _lon_type lon; - typedef int32_t _alt_type; - _alt_type alt; - typedef uint16_t _eph_type; - _eph_type eph; - typedef uint16_t _epv_type; - _epv_type epv; - typedef uint16_t _vel_type; - _vel_type vel; - typedef uint16_t _cog_type; - _cog_type cog; - typedef uint8_t _satellites_visible_type; - _satellites_visible_type satellites_visible; - typedef int32_t _alt_ellipsoid_type; - _alt_ellipsoid_type alt_ellipsoid; - typedef uint32_t _h_acc_type; - _h_acc_type h_acc; - typedef uint32_t _v_acc_type; - _v_acc_type v_acc; - typedef uint32_t _vel_acc_type; - _vel_acc_type vel_acc; - typedef int32_t _hdg_acc_type; - _hdg_acc_type hdg_acc; - typedef uint16_t _yaw_type; - _yaw_type yaw; - typedef uint8_t _dgps_numch_type; - _dgps_numch_type dgps_numch; - typedef uint32_t _dgps_age_type; - _dgps_age_type dgps_age; - enum { GPS_FIX_TYPE_NO_GPS = 0 }; - enum { GPS_FIX_TYPE_NO_FIX = 1 }; - enum { GPS_FIX_TYPE_2D_FIX = 2 }; - enum { GPS_FIX_TYPE_3D_FIX = 3 }; - enum { GPS_FIX_TYPE_DGPS = 4 }; - enum { GPS_FIX_TYPE_RTK_FLOATR = 5 }; - enum { GPS_FIX_TYPE_RTK_FIXEDR = 6 }; - enum { GPS_FIX_TYPE_STATIC = 7 }; - enum { GPS_FIX_TYPE_PPP = 8 }; - - GPSRAW(): - header(), - fix_type(0), - lat(0), - lon(0), - alt(0), - eph(0), - epv(0), - vel(0), - cog(0), - satellites_visible(0), - alt_ellipsoid(0), - h_acc(0), - v_acc(0), - vel_acc(0), - hdg_acc(0), - yaw(0), - dgps_numch(0), - dgps_age(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->fix_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->fix_type); - union { - int32_t real; - uint32_t base; - } u_lat; - u_lat.real = this->lat; - *(outbuffer + offset + 0) = (u_lat.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lat.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lat.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lat.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->lat); - union { - int32_t real; - uint32_t base; - } u_lon; - u_lon.real = this->lon; - *(outbuffer + offset + 0) = (u_lon.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lon.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lon.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lon.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->lon); - union { - int32_t real; - uint32_t base; - } u_alt; - u_alt.real = this->alt; - *(outbuffer + offset + 0) = (u_alt.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_alt.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_alt.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_alt.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->alt); - *(outbuffer + offset + 0) = (this->eph >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->eph >> (8 * 1)) & 0xFF; - offset += sizeof(this->eph); - *(outbuffer + offset + 0) = (this->epv >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->epv >> (8 * 1)) & 0xFF; - offset += sizeof(this->epv); - *(outbuffer + offset + 0) = (this->vel >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vel >> (8 * 1)) & 0xFF; - offset += sizeof(this->vel); - *(outbuffer + offset + 0) = (this->cog >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->cog >> (8 * 1)) & 0xFF; - offset += sizeof(this->cog); - *(outbuffer + offset + 0) = (this->satellites_visible >> (8 * 0)) & 0xFF; - offset += sizeof(this->satellites_visible); - union { - int32_t real; - uint32_t base; - } u_alt_ellipsoid; - u_alt_ellipsoid.real = this->alt_ellipsoid; - *(outbuffer + offset + 0) = (u_alt_ellipsoid.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_alt_ellipsoid.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_alt_ellipsoid.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_alt_ellipsoid.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->alt_ellipsoid); - *(outbuffer + offset + 0) = (this->h_acc >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->h_acc >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->h_acc >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->h_acc >> (8 * 3)) & 0xFF; - offset += sizeof(this->h_acc); - *(outbuffer + offset + 0) = (this->v_acc >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->v_acc >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->v_acc >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->v_acc >> (8 * 3)) & 0xFF; - offset += sizeof(this->v_acc); - *(outbuffer + offset + 0) = (this->vel_acc >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vel_acc >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->vel_acc >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->vel_acc >> (8 * 3)) & 0xFF; - offset += sizeof(this->vel_acc); - union { - int32_t real; - uint32_t base; - } u_hdg_acc; - u_hdg_acc.real = this->hdg_acc; - *(outbuffer + offset + 0) = (u_hdg_acc.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_hdg_acc.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_hdg_acc.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_hdg_acc.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->hdg_acc); - *(outbuffer + offset + 0) = (this->yaw >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->yaw >> (8 * 1)) & 0xFF; - offset += sizeof(this->yaw); - *(outbuffer + offset + 0) = (this->dgps_numch >> (8 * 0)) & 0xFF; - offset += sizeof(this->dgps_numch); - *(outbuffer + offset + 0) = (this->dgps_age >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->dgps_age >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->dgps_age >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->dgps_age >> (8 * 3)) & 0xFF; - offset += sizeof(this->dgps_age); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->fix_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->fix_type); - union { - int32_t real; - uint32_t base; - } u_lat; - u_lat.base = 0; - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lat.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->lat = u_lat.real; - offset += sizeof(this->lat); - union { - int32_t real; - uint32_t base; - } u_lon; - u_lon.base = 0; - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lon.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->lon = u_lon.real; - offset += sizeof(this->lon); - union { - int32_t real; - uint32_t base; - } u_alt; - u_alt.base = 0; - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->alt = u_alt.real; - offset += sizeof(this->alt); - this->eph = ((uint16_t) (*(inbuffer + offset))); - this->eph |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->eph); - this->epv = ((uint16_t) (*(inbuffer + offset))); - this->epv |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->epv); - this->vel = ((uint16_t) (*(inbuffer + offset))); - this->vel |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->vel); - this->cog = ((uint16_t) (*(inbuffer + offset))); - this->cog |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->cog); - this->satellites_visible = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->satellites_visible); - union { - int32_t real; - uint32_t base; - } u_alt_ellipsoid; - u_alt_ellipsoid.base = 0; - u_alt_ellipsoid.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_alt_ellipsoid.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_alt_ellipsoid.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_alt_ellipsoid.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->alt_ellipsoid = u_alt_ellipsoid.real; - offset += sizeof(this->alt_ellipsoid); - this->h_acc = ((uint32_t) (*(inbuffer + offset))); - this->h_acc |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->h_acc |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->h_acc |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->h_acc); - this->v_acc = ((uint32_t) (*(inbuffer + offset))); - this->v_acc |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->v_acc |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->v_acc |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->v_acc); - this->vel_acc = ((uint32_t) (*(inbuffer + offset))); - this->vel_acc |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->vel_acc |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->vel_acc |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->vel_acc); - union { - int32_t real; - uint32_t base; - } u_hdg_acc; - u_hdg_acc.base = 0; - u_hdg_acc.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_hdg_acc.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_hdg_acc.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_hdg_acc.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->hdg_acc = u_hdg_acc.real; - offset += sizeof(this->hdg_acc); - this->yaw = ((uint16_t) (*(inbuffer + offset))); - this->yaw |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->yaw); - this->dgps_numch = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->dgps_numch); - this->dgps_age = ((uint32_t) (*(inbuffer + offset))); - this->dgps_age |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->dgps_age |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->dgps_age |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->dgps_age); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/GPSRAW"; }; - virtual const char * getMD5() override { return "58a85dbc1516a2d4302f256cca54bbbf"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRTK.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRTK.h deleted file mode 100644 index 868f18a3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GPSRTK.h +++ /dev/null @@ -1,214 +0,0 @@ -#ifndef _ROS_mavros_msgs_GPSRTK_h -#define _ROS_mavros_msgs_GPSRTK_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class GPSRTK : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _rtk_receiver_id_type; - _rtk_receiver_id_type rtk_receiver_id; - typedef int16_t _wn_type; - _wn_type wn; - typedef uint32_t _tow_type; - _tow_type tow; - typedef uint8_t _rtk_health_type; - _rtk_health_type rtk_health; - typedef uint8_t _rtk_rate_type; - _rtk_rate_type rtk_rate; - typedef uint8_t _nsats_type; - _nsats_type nsats; - typedef int32_t _baseline_a_type; - _baseline_a_type baseline_a; - typedef int32_t _baseline_b_type; - _baseline_b_type baseline_b; - typedef int32_t _baseline_c_type; - _baseline_c_type baseline_c; - typedef uint32_t _accuracy_type; - _accuracy_type accuracy; - typedef int32_t _iar_num_hypotheses_type; - _iar_num_hypotheses_type iar_num_hypotheses; - - GPSRTK(): - header(), - rtk_receiver_id(0), - wn(0), - tow(0), - rtk_health(0), - rtk_rate(0), - nsats(0), - baseline_a(0), - baseline_b(0), - baseline_c(0), - accuracy(0), - iar_num_hypotheses(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->rtk_receiver_id >> (8 * 0)) & 0xFF; - offset += sizeof(this->rtk_receiver_id); - union { - int16_t real; - uint16_t base; - } u_wn; - u_wn.real = this->wn; - *(outbuffer + offset + 0) = (u_wn.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_wn.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->wn); - *(outbuffer + offset + 0) = (this->tow >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->tow >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->tow >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->tow >> (8 * 3)) & 0xFF; - offset += sizeof(this->tow); - *(outbuffer + offset + 0) = (this->rtk_health >> (8 * 0)) & 0xFF; - offset += sizeof(this->rtk_health); - *(outbuffer + offset + 0) = (this->rtk_rate >> (8 * 0)) & 0xFF; - offset += sizeof(this->rtk_rate); - *(outbuffer + offset + 0) = (this->nsats >> (8 * 0)) & 0xFF; - offset += sizeof(this->nsats); - union { - int32_t real; - uint32_t base; - } u_baseline_a; - u_baseline_a.real = this->baseline_a; - *(outbuffer + offset + 0) = (u_baseline_a.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_baseline_a.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_baseline_a.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_baseline_a.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->baseline_a); - union { - int32_t real; - uint32_t base; - } u_baseline_b; - u_baseline_b.real = this->baseline_b; - *(outbuffer + offset + 0) = (u_baseline_b.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_baseline_b.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_baseline_b.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_baseline_b.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->baseline_b); - union { - int32_t real; - uint32_t base; - } u_baseline_c; - u_baseline_c.real = this->baseline_c; - *(outbuffer + offset + 0) = (u_baseline_c.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_baseline_c.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_baseline_c.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_baseline_c.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->baseline_c); - *(outbuffer + offset + 0) = (this->accuracy >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->accuracy >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->accuracy >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->accuracy >> (8 * 3)) & 0xFF; - offset += sizeof(this->accuracy); - union { - int32_t real; - uint32_t base; - } u_iar_num_hypotheses; - u_iar_num_hypotheses.real = this->iar_num_hypotheses; - *(outbuffer + offset + 0) = (u_iar_num_hypotheses.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iar_num_hypotheses.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iar_num_hypotheses.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iar_num_hypotheses.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->iar_num_hypotheses); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->rtk_receiver_id = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rtk_receiver_id); - union { - int16_t real; - uint16_t base; - } u_wn; - u_wn.base = 0; - u_wn.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_wn.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->wn = u_wn.real; - offset += sizeof(this->wn); - this->tow = ((uint32_t) (*(inbuffer + offset))); - this->tow |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->tow |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->tow |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->tow); - this->rtk_health = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rtk_health); - this->rtk_rate = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rtk_rate); - this->nsats = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->nsats); - union { - int32_t real; - uint32_t base; - } u_baseline_a; - u_baseline_a.base = 0; - u_baseline_a.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_baseline_a.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_baseline_a.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_baseline_a.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->baseline_a = u_baseline_a.real; - offset += sizeof(this->baseline_a); - union { - int32_t real; - uint32_t base; - } u_baseline_b; - u_baseline_b.base = 0; - u_baseline_b.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_baseline_b.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_baseline_b.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_baseline_b.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->baseline_b = u_baseline_b.real; - offset += sizeof(this->baseline_b); - union { - int32_t real; - uint32_t base; - } u_baseline_c; - u_baseline_c.base = 0; - u_baseline_c.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_baseline_c.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_baseline_c.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_baseline_c.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->baseline_c = u_baseline_c.real; - offset += sizeof(this->baseline_c); - this->accuracy = ((uint32_t) (*(inbuffer + offset))); - this->accuracy |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->accuracy |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->accuracy |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->accuracy); - union { - int32_t real; - uint32_t base; - } u_iar_num_hypotheses; - u_iar_num_hypotheses.base = 0; - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->iar_num_hypotheses = u_iar_num_hypotheses.real; - offset += sizeof(this->iar_num_hypotheses); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/GPSRTK"; }; - virtual const char * getMD5() override { return "ab2651768aa6464b60b7bc8ae031e017"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GlobalPositionTarget.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GlobalPositionTarget.h deleted file mode 100644 index 98cb0728..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/GlobalPositionTarget.h +++ /dev/null @@ -1,222 +0,0 @@ -#ifndef _ROS_mavros_msgs_GlobalPositionTarget_h -#define _ROS_mavros_msgs_GlobalPositionTarget_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Vector3.h" - -namespace mavros_msgs -{ - - class GlobalPositionTarget : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _coordinate_frame_type; - _coordinate_frame_type coordinate_frame; - typedef uint16_t _type_mask_type; - _type_mask_type type_mask; - typedef double _latitude_type; - _latitude_type latitude; - typedef double _longitude_type; - _longitude_type longitude; - typedef float _altitude_type; - _altitude_type altitude; - typedef geometry_msgs::Vector3 _velocity_type; - _velocity_type velocity; - typedef geometry_msgs::Vector3 _acceleration_or_force_type; - _acceleration_or_force_type acceleration_or_force; - typedef float _yaw_type; - _yaw_type yaw; - typedef float _yaw_rate_type; - _yaw_rate_type yaw_rate; - enum { FRAME_GLOBAL_INT = 5 }; - enum { FRAME_GLOBAL_REL_ALT = 6 }; - enum { FRAME_GLOBAL_TERRAIN_ALT = 11 }; - enum { IGNORE_LATITUDE = 1 }; - enum { IGNORE_LONGITUDE = 2 }; - enum { IGNORE_ALTITUDE = 4 }; - enum { IGNORE_VX = 8 }; - enum { IGNORE_VY = 16 }; - enum { IGNORE_VZ = 32 }; - enum { IGNORE_AFX = 64 }; - enum { IGNORE_AFY = 128 }; - enum { IGNORE_AFZ = 256 }; - enum { FORCE = 512 }; - enum { IGNORE_YAW = 1024 }; - enum { IGNORE_YAW_RATE = 2048 }; - - GlobalPositionTarget(): - header(), - coordinate_frame(0), - type_mask(0), - latitude(0), - longitude(0), - altitude(0), - velocity(), - acceleration_or_force(), - yaw(0), - yaw_rate(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->coordinate_frame >> (8 * 0)) & 0xFF; - offset += sizeof(this->coordinate_frame); - *(outbuffer + offset + 0) = (this->type_mask >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->type_mask >> (8 * 1)) & 0xFF; - offset += sizeof(this->type_mask); - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_latitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_latitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_latitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_latitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_longitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_longitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_longitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_longitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->altitude); - offset += this->velocity.serialize(outbuffer + offset); - offset += this->acceleration_or_force.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.real = this->yaw; - *(outbuffer + offset + 0) = (u_yaw.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_yaw_rate; - u_yaw_rate.real = this->yaw_rate; - *(outbuffer + offset + 0) = (u_yaw_rate.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw_rate.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw_rate.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw_rate.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw_rate); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->coordinate_frame = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->coordinate_frame); - this->type_mask = ((uint16_t) (*(inbuffer + offset))); - this->type_mask |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->type_mask); - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - offset += this->velocity.deserialize(inbuffer + offset); - offset += this->acceleration_or_force.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.base = 0; - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw = u_yaw.real; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_yaw_rate; - u_yaw_rate.base = 0; - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw_rate = u_yaw_rate.real; - offset += sizeof(this->yaw_rate); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/GlobalPositionTarget"; }; - virtual const char * getMD5() override { return "076ded0190b9e045f9c55264659ef102"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilActuatorControls.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilActuatorControls.h deleted file mode 100644 index 513d2e30..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilActuatorControls.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef _ROS_mavros_msgs_HilActuatorControls_h -#define _ROS_mavros_msgs_HilActuatorControls_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class HilActuatorControls : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - float controls[16]; - typedef uint8_t _mode_type; - _mode_type mode; - typedef uint64_t _flags_type; - _flags_type flags; - - HilActuatorControls(): - header(), - controls(), - mode(0), - flags(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 16; i++){ - union { - float real; - uint32_t base; - } u_controlsi; - u_controlsi.real = this->controls[i]; - *(outbuffer + offset + 0) = (u_controlsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_controlsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_controlsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_controlsi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->controls[i]); - } - *(outbuffer + offset + 0) = (this->mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->mode); - *(outbuffer + offset + 0) = (this->flags >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->flags >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->flags >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->flags >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->flags >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->flags >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->flags >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->flags >> (8 * 7)) & 0xFF; - offset += sizeof(this->flags); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 16; i++){ - union { - float real; - uint32_t base; - } u_controlsi; - u_controlsi.base = 0; - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_controlsi.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->controls[i] = u_controlsi.real; - offset += sizeof(this->controls[i]); - } - this->mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->mode); - this->flags = ((uint64_t) (*(inbuffer + offset))); - this->flags |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->flags |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->flags |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->flags |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->flags |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->flags |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->flags |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->flags); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/HilActuatorControls"; }; - virtual const char * getMD5() override { return "18482e8ef0330ac2fc9a0421be1d11c3"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilControls.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilControls.h deleted file mode 100644 index 87688282..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilControls.h +++ /dev/null @@ -1,250 +0,0 @@ -#ifndef _ROS_mavros_msgs_HilControls_h -#define _ROS_mavros_msgs_HilControls_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class HilControls : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _roll_ailerons_type; - _roll_ailerons_type roll_ailerons; - typedef float _pitch_elevator_type; - _pitch_elevator_type pitch_elevator; - typedef float _yaw_rudder_type; - _yaw_rudder_type yaw_rudder; - typedef float _throttle_type; - _throttle_type throttle; - typedef float _aux1_type; - _aux1_type aux1; - typedef float _aux2_type; - _aux2_type aux2; - typedef float _aux3_type; - _aux3_type aux3; - typedef float _aux4_type; - _aux4_type aux4; - typedef uint8_t _mode_type; - _mode_type mode; - typedef uint8_t _nav_mode_type; - _nav_mode_type nav_mode; - - HilControls(): - header(), - roll_ailerons(0), - pitch_elevator(0), - yaw_rudder(0), - throttle(0), - aux1(0), - aux2(0), - aux3(0), - aux4(0), - mode(0), - nav_mode(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_roll_ailerons; - u_roll_ailerons.real = this->roll_ailerons; - *(outbuffer + offset + 0) = (u_roll_ailerons.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_roll_ailerons.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_roll_ailerons.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_roll_ailerons.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->roll_ailerons); - union { - float real; - uint32_t base; - } u_pitch_elevator; - u_pitch_elevator.real = this->pitch_elevator; - *(outbuffer + offset + 0) = (u_pitch_elevator.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_pitch_elevator.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_pitch_elevator.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_pitch_elevator.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->pitch_elevator); - union { - float real; - uint32_t base; - } u_yaw_rudder; - u_yaw_rudder.real = this->yaw_rudder; - *(outbuffer + offset + 0) = (u_yaw_rudder.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw_rudder.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw_rudder.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw_rudder.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw_rudder); - union { - float real; - uint32_t base; - } u_throttle; - u_throttle.real = this->throttle; - *(outbuffer + offset + 0) = (u_throttle.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_throttle.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_throttle.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_throttle.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->throttle); - union { - float real; - uint32_t base; - } u_aux1; - u_aux1.real = this->aux1; - *(outbuffer + offset + 0) = (u_aux1.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_aux1.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_aux1.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_aux1.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->aux1); - union { - float real; - uint32_t base; - } u_aux2; - u_aux2.real = this->aux2; - *(outbuffer + offset + 0) = (u_aux2.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_aux2.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_aux2.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_aux2.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->aux2); - union { - float real; - uint32_t base; - } u_aux3; - u_aux3.real = this->aux3; - *(outbuffer + offset + 0) = (u_aux3.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_aux3.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_aux3.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_aux3.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->aux3); - union { - float real; - uint32_t base; - } u_aux4; - u_aux4.real = this->aux4; - *(outbuffer + offset + 0) = (u_aux4.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_aux4.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_aux4.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_aux4.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->aux4); - *(outbuffer + offset + 0) = (this->mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->mode); - *(outbuffer + offset + 0) = (this->nav_mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->nav_mode); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_roll_ailerons; - u_roll_ailerons.base = 0; - u_roll_ailerons.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_roll_ailerons.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_roll_ailerons.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_roll_ailerons.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->roll_ailerons = u_roll_ailerons.real; - offset += sizeof(this->roll_ailerons); - union { - float real; - uint32_t base; - } u_pitch_elevator; - u_pitch_elevator.base = 0; - u_pitch_elevator.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_pitch_elevator.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_pitch_elevator.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_pitch_elevator.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->pitch_elevator = u_pitch_elevator.real; - offset += sizeof(this->pitch_elevator); - union { - float real; - uint32_t base; - } u_yaw_rudder; - u_yaw_rudder.base = 0; - u_yaw_rudder.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw_rudder.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw_rudder.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw_rudder.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw_rudder = u_yaw_rudder.real; - offset += sizeof(this->yaw_rudder); - union { - float real; - uint32_t base; - } u_throttle; - u_throttle.base = 0; - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->throttle = u_throttle.real; - offset += sizeof(this->throttle); - union { - float real; - uint32_t base; - } u_aux1; - u_aux1.base = 0; - u_aux1.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_aux1.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_aux1.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_aux1.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->aux1 = u_aux1.real; - offset += sizeof(this->aux1); - union { - float real; - uint32_t base; - } u_aux2; - u_aux2.base = 0; - u_aux2.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_aux2.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_aux2.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_aux2.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->aux2 = u_aux2.real; - offset += sizeof(this->aux2); - union { - float real; - uint32_t base; - } u_aux3; - u_aux3.base = 0; - u_aux3.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_aux3.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_aux3.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_aux3.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->aux3 = u_aux3.real; - offset += sizeof(this->aux3); - union { - float real; - uint32_t base; - } u_aux4; - u_aux4.base = 0; - u_aux4.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_aux4.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_aux4.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_aux4.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->aux4 = u_aux4.real; - offset += sizeof(this->aux4); - this->mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->mode); - this->nav_mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->nav_mode); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/HilControls"; }; - virtual const char * getMD5() override { return "698148349c3a2e5720afcae2d934acca"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilGPS.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilGPS.h deleted file mode 100644 index 4937a62f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilGPS.h +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef _ROS_mavros_msgs_HilGPS_h -#define _ROS_mavros_msgs_HilGPS_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geographic_msgs/GeoPoint.h" - -namespace mavros_msgs -{ - - class HilGPS : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _fix_type_type; - _fix_type_type fix_type; - typedef geographic_msgs::GeoPoint _geo_type; - _geo_type geo; - typedef uint16_t _eph_type; - _eph_type eph; - typedef uint16_t _epv_type; - _epv_type epv; - typedef uint16_t _vel_type; - _vel_type vel; - typedef int16_t _vn_type; - _vn_type vn; - typedef int16_t _ve_type; - _ve_type ve; - typedef int16_t _vd_type; - _vd_type vd; - typedef uint16_t _cog_type; - _cog_type cog; - typedef uint8_t _satellites_visible_type; - _satellites_visible_type satellites_visible; - - HilGPS(): - header(), - fix_type(0), - geo(), - eph(0), - epv(0), - vel(0), - vn(0), - ve(0), - vd(0), - cog(0), - satellites_visible(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->fix_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->fix_type); - offset += this->geo.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->eph >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->eph >> (8 * 1)) & 0xFF; - offset += sizeof(this->eph); - *(outbuffer + offset + 0) = (this->epv >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->epv >> (8 * 1)) & 0xFF; - offset += sizeof(this->epv); - *(outbuffer + offset + 0) = (this->vel >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vel >> (8 * 1)) & 0xFF; - offset += sizeof(this->vel); - union { - int16_t real; - uint16_t base; - } u_vn; - u_vn.real = this->vn; - *(outbuffer + offset + 0) = (u_vn.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_vn.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->vn); - union { - int16_t real; - uint16_t base; - } u_ve; - u_ve.real = this->ve; - *(outbuffer + offset + 0) = (u_ve.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ve.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->ve); - union { - int16_t real; - uint16_t base; - } u_vd; - u_vd.real = this->vd; - *(outbuffer + offset + 0) = (u_vd.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_vd.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->vd); - *(outbuffer + offset + 0) = (this->cog >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->cog >> (8 * 1)) & 0xFF; - offset += sizeof(this->cog); - *(outbuffer + offset + 0) = (this->satellites_visible >> (8 * 0)) & 0xFF; - offset += sizeof(this->satellites_visible); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->fix_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->fix_type); - offset += this->geo.deserialize(inbuffer + offset); - this->eph = ((uint16_t) (*(inbuffer + offset))); - this->eph |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->eph); - this->epv = ((uint16_t) (*(inbuffer + offset))); - this->epv |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->epv); - this->vel = ((uint16_t) (*(inbuffer + offset))); - this->vel |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->vel); - union { - int16_t real; - uint16_t base; - } u_vn; - u_vn.base = 0; - u_vn.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_vn.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->vn = u_vn.real; - offset += sizeof(this->vn); - union { - int16_t real; - uint16_t base; - } u_ve; - u_ve.base = 0; - u_ve.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ve.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->ve = u_ve.real; - offset += sizeof(this->ve); - union { - int16_t real; - uint16_t base; - } u_vd; - u_vd.base = 0; - u_vd.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_vd.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->vd = u_vd.real; - offset += sizeof(this->vd); - this->cog = ((uint16_t) (*(inbuffer + offset))); - this->cog |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->cog); - this->satellites_visible = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->satellites_visible); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/HilGPS"; }; - virtual const char * getMD5() override { return "313b3baf2319db196fa18376a4900a7b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilSensor.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilSensor.h deleted file mode 100644 index 0bd62dd3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilSensor.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef _ROS_mavros_msgs_HilSensor_h -#define _ROS_mavros_msgs_HilSensor_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Vector3.h" - -namespace mavros_msgs -{ - - class HilSensor : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Vector3 _acc_type; - _acc_type acc; - typedef geometry_msgs::Vector3 _gyro_type; - _gyro_type gyro; - typedef geometry_msgs::Vector3 _mag_type; - _mag_type mag; - typedef float _abs_pressure_type; - _abs_pressure_type abs_pressure; - typedef float _diff_pressure_type; - _diff_pressure_type diff_pressure; - typedef float _pressure_alt_type; - _pressure_alt_type pressure_alt; - typedef float _temperature_type; - _temperature_type temperature; - typedef uint32_t _fields_updated_type; - _fields_updated_type fields_updated; - - HilSensor(): - header(), - acc(), - gyro(), - mag(), - abs_pressure(0), - diff_pressure(0), - pressure_alt(0), - temperature(0), - fields_updated(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->acc.serialize(outbuffer + offset); - offset += this->gyro.serialize(outbuffer + offset); - offset += this->mag.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_abs_pressure; - u_abs_pressure.real = this->abs_pressure; - *(outbuffer + offset + 0) = (u_abs_pressure.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_abs_pressure.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_abs_pressure.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_abs_pressure.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->abs_pressure); - union { - float real; - uint32_t base; - } u_diff_pressure; - u_diff_pressure.real = this->diff_pressure; - *(outbuffer + offset + 0) = (u_diff_pressure.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_diff_pressure.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_diff_pressure.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_diff_pressure.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->diff_pressure); - union { - float real; - uint32_t base; - } u_pressure_alt; - u_pressure_alt.real = this->pressure_alt; - *(outbuffer + offset + 0) = (u_pressure_alt.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_pressure_alt.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_pressure_alt.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_pressure_alt.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->pressure_alt); - union { - float real; - uint32_t base; - } u_temperature; - u_temperature.real = this->temperature; - *(outbuffer + offset + 0) = (u_temperature.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_temperature.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_temperature.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_temperature.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->temperature); - *(outbuffer + offset + 0) = (this->fields_updated >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->fields_updated >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->fields_updated >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->fields_updated >> (8 * 3)) & 0xFF; - offset += sizeof(this->fields_updated); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->acc.deserialize(inbuffer + offset); - offset += this->gyro.deserialize(inbuffer + offset); - offset += this->mag.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_abs_pressure; - u_abs_pressure.base = 0; - u_abs_pressure.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_abs_pressure.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_abs_pressure.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_abs_pressure.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->abs_pressure = u_abs_pressure.real; - offset += sizeof(this->abs_pressure); - union { - float real; - uint32_t base; - } u_diff_pressure; - u_diff_pressure.base = 0; - u_diff_pressure.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_diff_pressure.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_diff_pressure.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_diff_pressure.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->diff_pressure = u_diff_pressure.real; - offset += sizeof(this->diff_pressure); - union { - float real; - uint32_t base; - } u_pressure_alt; - u_pressure_alt.base = 0; - u_pressure_alt.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_pressure_alt.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_pressure_alt.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_pressure_alt.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->pressure_alt = u_pressure_alt.real; - offset += sizeof(this->pressure_alt); - union { - float real; - uint32_t base; - } u_temperature; - u_temperature.base = 0; - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->temperature = u_temperature.real; - offset += sizeof(this->temperature); - this->fields_updated = ((uint32_t) (*(inbuffer + offset))); - this->fields_updated |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->fields_updated |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->fields_updated |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->fields_updated); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/HilSensor"; }; - virtual const char * getMD5() override { return "2a892891e5c40d6dd1066bf1f394b5dc"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilStateQuaternion.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilStateQuaternion.h deleted file mode 100644 index d6c80a95..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HilStateQuaternion.h +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef _ROS_mavros_msgs_HilStateQuaternion_h -#define _ROS_mavros_msgs_HilStateQuaternion_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Quaternion.h" -#include "geometry_msgs/Vector3.h" -#include "geographic_msgs/GeoPoint.h" - -namespace mavros_msgs -{ - - class HilStateQuaternion : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - typedef geometry_msgs::Vector3 _angular_velocity_type; - _angular_velocity_type angular_velocity; - typedef geometry_msgs::Vector3 _linear_acceleration_type; - _linear_acceleration_type linear_acceleration; - typedef geometry_msgs::Vector3 _linear_velocity_type; - _linear_velocity_type linear_velocity; - typedef geographic_msgs::GeoPoint _geo_type; - _geo_type geo; - typedef float _ind_airspeed_type; - _ind_airspeed_type ind_airspeed; - typedef float _true_airspeed_type; - _true_airspeed_type true_airspeed; - - HilStateQuaternion(): - header(), - orientation(), - angular_velocity(), - linear_acceleration(), - linear_velocity(), - geo(), - ind_airspeed(0), - true_airspeed(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->orientation.serialize(outbuffer + offset); - offset += this->angular_velocity.serialize(outbuffer + offset); - offset += this->linear_acceleration.serialize(outbuffer + offset); - offset += this->linear_velocity.serialize(outbuffer + offset); - offset += this->geo.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_ind_airspeed; - u_ind_airspeed.real = this->ind_airspeed; - *(outbuffer + offset + 0) = (u_ind_airspeed.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_ind_airspeed.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_ind_airspeed.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_ind_airspeed.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->ind_airspeed); - union { - float real; - uint32_t base; - } u_true_airspeed; - u_true_airspeed.real = this->true_airspeed; - *(outbuffer + offset + 0) = (u_true_airspeed.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_true_airspeed.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_true_airspeed.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_true_airspeed.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->true_airspeed); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->orientation.deserialize(inbuffer + offset); - offset += this->angular_velocity.deserialize(inbuffer + offset); - offset += this->linear_acceleration.deserialize(inbuffer + offset); - offset += this->linear_velocity.deserialize(inbuffer + offset); - offset += this->geo.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_ind_airspeed; - u_ind_airspeed.base = 0; - u_ind_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_ind_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_ind_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_ind_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->ind_airspeed = u_ind_airspeed.real; - offset += sizeof(this->ind_airspeed); - union { - float real; - uint32_t base; - } u_true_airspeed; - u_true_airspeed.base = 0; - u_true_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_true_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_true_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_true_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->true_airspeed = u_true_airspeed.real; - offset += sizeof(this->true_airspeed); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/HilStateQuaternion"; }; - virtual const char * getMD5() override { return "c858c0f05d4ab30256be7c53edee8e3c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HomePosition.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HomePosition.h deleted file mode 100644 index 6813ab13..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/HomePosition.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _ROS_mavros_msgs_HomePosition_h -#define _ROS_mavros_msgs_HomePosition_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geographic_msgs/GeoPoint.h" -#include "geometry_msgs/Point.h" -#include "geometry_msgs/Quaternion.h" -#include "geometry_msgs/Vector3.h" - -namespace mavros_msgs -{ - - class HomePosition : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geographic_msgs::GeoPoint _geo_type; - _geo_type geo; - typedef geometry_msgs::Point _position_type; - _position_type position; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - typedef geometry_msgs::Vector3 _approach_type; - _approach_type approach; - - HomePosition(): - header(), - geo(), - position(), - orientation(), - approach() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->geo.serialize(outbuffer + offset); - offset += this->position.serialize(outbuffer + offset); - offset += this->orientation.serialize(outbuffer + offset); - offset += this->approach.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->geo.deserialize(inbuffer + offset); - offset += this->position.deserialize(inbuffer + offset); - offset += this->orientation.deserialize(inbuffer + offset); - offset += this->approach.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/HomePosition"; }; - virtual const char * getMD5() override { return "c1167922de8c97acdb0ec714c1dba774"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LandingTarget.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LandingTarget.h deleted file mode 100644 index 9055f211..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LandingTarget.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef _ROS_mavros_msgs_LandingTarget_h -#define _ROS_mavros_msgs_LandingTarget_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" - -namespace mavros_msgs -{ - - class LandingTarget : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _target_num_type; - _target_num_type target_num; - typedef uint8_t _frame_type; - _frame_type frame; - float angle[2]; - typedef float _distance_type; - _distance_type distance; - float size[2]; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef uint8_t _type_type; - _type_type type; - enum { GLOBAL = 0 }; - enum { LOCAL_NED = 2 }; - enum { MISSION = 3 }; - enum { GLOBAL_RELATIVE_ALT = 4 }; - enum { LOCAL_ENU = 5 }; - enum { GLOBAL_INT = 6 }; - enum { GLOBAL_RELATIVE_ALT_INT = 7 }; - enum { LOCAL_OFFSET_NED = 8 }; - enum { BODY_NED = 9 }; - enum { BODY_OFFSET_NED = 10 }; - enum { GLOBAL_TERRAIN_ALT = 11 }; - enum { GLOBAL_TERRAIN_ALT_INT = 12 }; - enum { LIGHT_BEACON = 0 }; - enum { RADIO_BEACON = 1 }; - enum { VISION_FIDUCIAL = 2 }; - enum { VISION_OTHER = 3 }; - - LandingTarget(): - header(), - target_num(0), - frame(0), - angle(), - distance(0), - size(), - pose(), - type(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->target_num >> (8 * 0)) & 0xFF; - offset += sizeof(this->target_num); - *(outbuffer + offset + 0) = (this->frame >> (8 * 0)) & 0xFF; - offset += sizeof(this->frame); - for( uint32_t i = 0; i < 2; i++){ - union { - float real; - uint32_t base; - } u_anglei; - u_anglei.real = this->angle[i]; - *(outbuffer + offset + 0) = (u_anglei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_anglei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_anglei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_anglei.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angle[i]); - } - union { - float real; - uint32_t base; - } u_distance; - u_distance.real = this->distance; - *(outbuffer + offset + 0) = (u_distance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_distance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_distance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_distance.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->distance); - for( uint32_t i = 0; i < 2; i++){ - union { - float real; - uint32_t base; - } u_sizei; - u_sizei.real = this->size[i]; - *(outbuffer + offset + 0) = (u_sizei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sizei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sizei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sizei.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->size[i]); - } - offset += this->pose.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->target_num = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->target_num); - this->frame = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->frame); - for( uint32_t i = 0; i < 2; i++){ - union { - float real; - uint32_t base; - } u_anglei; - u_anglei.base = 0; - u_anglei.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_anglei.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_anglei.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_anglei.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angle[i] = u_anglei.real; - offset += sizeof(this->angle[i]); - } - union { - float real; - uint32_t base; - } u_distance; - u_distance.base = 0; - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->distance = u_distance.real; - offset += sizeof(this->distance); - for( uint32_t i = 0; i < 2; i++){ - union { - float real; - uint32_t base; - } u_sizei; - u_sizei.base = 0; - u_sizei.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sizei.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sizei.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sizei.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->size[i] = u_sizei.real; - offset += sizeof(this->size[i]); - } - offset += this->pose.deserialize(inbuffer + offset); - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/LandingTarget"; }; - virtual const char * getMD5() override { return "76548ee08437914830bb7319d04d5490"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogData.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogData.h deleted file mode 100644 index c94ee606..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogData.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef _ROS_mavros_msgs_LogData_h -#define _ROS_mavros_msgs_LogData_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class LogData : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint16_t _id_type; - _id_type id; - typedef uint32_t _offset_type; - _offset_type offset; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - - LogData(): - header(), - id(0), - offset(0), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->id >> (8 * 1)) & 0xFF; - offset += sizeof(this->id); - *(outbuffer + offset + 0) = (this->offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->offset >> (8 * 3)) & 0xFF; - offset += sizeof(this->offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->id = ((uint16_t) (*(inbuffer + offset))); - this->id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->id); - this->offset = ((uint32_t) (*(inbuffer + offset))); - this->offset |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->offset |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->offset |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/LogData"; }; - virtual const char * getMD5() override { return "ccaa27ba630f8f5d02c287763eb1e91b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogEntry.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogEntry.h deleted file mode 100644 index 05f936f4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogEntry.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_mavros_msgs_LogEntry_h -#define _ROS_mavros_msgs_LogEntry_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "ros/time.h" - -namespace mavros_msgs -{ - - class LogEntry : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint16_t _id_type; - _id_type id; - typedef uint16_t _num_logs_type; - _num_logs_type num_logs; - typedef uint16_t _last_log_num_type; - _last_log_num_type last_log_num; - typedef ros::Time _time_utc_type; - _time_utc_type time_utc; - typedef uint32_t _size_type; - _size_type size; - - LogEntry(): - header(), - id(0), - num_logs(0), - last_log_num(0), - time_utc(), - size(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->id >> (8 * 1)) & 0xFF; - offset += sizeof(this->id); - *(outbuffer + offset + 0) = (this->num_logs >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->num_logs >> (8 * 1)) & 0xFF; - offset += sizeof(this->num_logs); - *(outbuffer + offset + 0) = (this->last_log_num >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->last_log_num >> (8 * 1)) & 0xFF; - offset += sizeof(this->last_log_num); - *(outbuffer + offset + 0) = (this->time_utc.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_utc.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_utc.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_utc.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_utc.sec); - *(outbuffer + offset + 0) = (this->time_utc.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_utc.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_utc.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_utc.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_utc.nsec); - *(outbuffer + offset + 0) = (this->size >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->size >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->size >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->size >> (8 * 3)) & 0xFF; - offset += sizeof(this->size); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->id = ((uint16_t) (*(inbuffer + offset))); - this->id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->id); - this->num_logs = ((uint16_t) (*(inbuffer + offset))); - this->num_logs |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->num_logs); - this->last_log_num = ((uint16_t) (*(inbuffer + offset))); - this->last_log_num |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->last_log_num); - this->time_utc.sec = ((uint32_t) (*(inbuffer + offset))); - this->time_utc.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_utc.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_utc.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_utc.sec); - this->time_utc.nsec = ((uint32_t) (*(inbuffer + offset))); - this->time_utc.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_utc.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_utc.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_utc.nsec); - this->size = ((uint32_t) (*(inbuffer + offset))); - this->size |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->size |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->size |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->size); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/LogEntry"; }; - virtual const char * getMD5() override { return "a1428fc1ec4b2bfc8ab0c0ead7cce571"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestData.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestData.h deleted file mode 100644 index 520bfce2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestData.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef _ROS_SERVICE_LogRequestData_h -#define _ROS_SERVICE_LogRequestData_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char LOGREQUESTDATA[] = "mavros_msgs/LogRequestData"; - - class LogRequestDataRequest : public ros::Msg - { - public: - typedef uint16_t _id_type; - _id_type id; - typedef uint32_t _offset_type; - _offset_type offset; - typedef uint32_t _count_type; - _count_type count; - - LogRequestDataRequest(): - id(0), - offset(0), - count(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->id >> (8 * 1)) & 0xFF; - offset += sizeof(this->id); - *(outbuffer + offset + 0) = (this->offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->offset >> (8 * 3)) & 0xFF; - offset += sizeof(this->offset); - *(outbuffer + offset + 0) = (this->count >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->count >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->count >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->count >> (8 * 3)) & 0xFF; - offset += sizeof(this->count); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->id = ((uint16_t) (*(inbuffer + offset))); - this->id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->id); - this->offset = ((uint32_t) (*(inbuffer + offset))); - this->offset |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->offset |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->offset |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->offset); - this->count = ((uint32_t) (*(inbuffer + offset))); - this->count |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->count |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->count |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->count); - return offset; - } - - virtual const char * getType() override { return LOGREQUESTDATA; }; - virtual const char * getMD5() override { return "9bd5fb12d79dcd29b3f845d7dd682415"; }; - - }; - - class LogRequestDataResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - LogRequestDataResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return LOGREQUESTDATA; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class LogRequestData { - public: - typedef LogRequestDataRequest Request; - typedef LogRequestDataResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestEnd.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestEnd.h deleted file mode 100644 index fa26ceaf..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestEnd.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_SERVICE_LogRequestEnd_h -#define _ROS_SERVICE_LogRequestEnd_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char LOGREQUESTEND[] = "mavros_msgs/LogRequestEnd"; - - class LogRequestEndRequest : public ros::Msg - { - public: - - LogRequestEndRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return LOGREQUESTEND; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class LogRequestEndResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - LogRequestEndResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return LOGREQUESTEND; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class LogRequestEnd { - public: - typedef LogRequestEndRequest Request; - typedef LogRequestEndResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestList.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestList.h deleted file mode 100644 index 0a1a572e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/LogRequestList.h +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef _ROS_SERVICE_LogRequestList_h -#define _ROS_SERVICE_LogRequestList_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char LOGREQUESTLIST[] = "mavros_msgs/LogRequestList"; - - class LogRequestListRequest : public ros::Msg - { - public: - typedef uint16_t _start_type; - _start_type start; - typedef uint16_t _end_type; - _end_type end; - - LogRequestListRequest(): - start(0), - end(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->start >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->start >> (8 * 1)) & 0xFF; - offset += sizeof(this->start); - *(outbuffer + offset + 0) = (this->end >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->end >> (8 * 1)) & 0xFF; - offset += sizeof(this->end); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->start = ((uint16_t) (*(inbuffer + offset))); - this->start |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->start); - this->end = ((uint16_t) (*(inbuffer + offset))); - this->end |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->end); - return offset; - } - - virtual const char * getType() override { return LOGREQUESTLIST; }; - virtual const char * getMD5() override { return "43d5acd48e3ef1843fa7f45876501c02"; }; - - }; - - class LogRequestListResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - LogRequestListResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return LOGREQUESTLIST; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class LogRequestList { - public: - typedef LogRequestListRequest Request; - typedef LogRequestListResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MagnetometerReporter.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MagnetometerReporter.h deleted file mode 100644 index 6eef0bab..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MagnetometerReporter.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef _ROS_mavros_msgs_MagnetometerReporter_h -#define _ROS_mavros_msgs_MagnetometerReporter_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class MagnetometerReporter : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _report_type; - _report_type report; - typedef float _confidence_type; - _confidence_type confidence; - - MagnetometerReporter(): - header(), - report(0), - confidence(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->report >> (8 * 0)) & 0xFF; - offset += sizeof(this->report); - union { - float real; - uint32_t base; - } u_confidence; - u_confidence.real = this->confidence; - *(outbuffer + offset + 0) = (u_confidence.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_confidence.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_confidence.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_confidence.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->confidence); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->report = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->report); - union { - float real; - uint32_t base; - } u_confidence; - u_confidence.base = 0; - u_confidence.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_confidence.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_confidence.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_confidence.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->confidence = u_confidence.real; - offset += sizeof(this->confidence); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/MagnetometerReporter"; }; - virtual const char * getMD5() override { return "c1014202c8f02f171d3d0eef42920a2e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ManualControl.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ManualControl.h deleted file mode 100644 index 0e6b75c4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ManualControl.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef _ROS_mavros_msgs_ManualControl_h -#define _ROS_mavros_msgs_ManualControl_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class ManualControl : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _x_type; - _x_type x; - typedef float _y_type; - _y_type y; - typedef float _z_type; - _z_type z; - typedef float _r_type; - _r_type r; - typedef uint16_t _buttons_type; - _buttons_type buttons; - - ManualControl(): - header(), - x(0), - y(0), - z(0), - r(0), - buttons(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_z; - u_z.real = this->z; - *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->z); - union { - float real; - uint32_t base; - } u_r; - u_r.real = this->r; - *(outbuffer + offset + 0) = (u_r.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r); - *(outbuffer + offset + 0) = (this->buttons >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->buttons >> (8 * 1)) & 0xFF; - offset += sizeof(this->buttons); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->x = u_x.real; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->y = u_y.real; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_z; - u_z.base = 0; - u_z.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->z = u_z.real; - offset += sizeof(this->z); - union { - float real; - uint32_t base; - } u_r; - u_r.base = 0; - u_r.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r = u_r.real; - offset += sizeof(this->r); - this->buttons = ((uint16_t) (*(inbuffer + offset))); - this->buttons |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->buttons); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ManualControl"; }; - virtual const char * getMD5() override { return "c41e3298484ea98e05ac502ce55af59f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Mavlink.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Mavlink.h deleted file mode 100644 index ca4f0787..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Mavlink.h +++ /dev/null @@ -1,195 +0,0 @@ -#ifndef _ROS_mavros_msgs_Mavlink_h -#define _ROS_mavros_msgs_Mavlink_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class Mavlink : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _framing_status_type; - _framing_status_type framing_status; - typedef uint8_t _magic_type; - _magic_type magic; - typedef uint8_t _len_type; - _len_type len; - typedef uint8_t _incompat_flags_type; - _incompat_flags_type incompat_flags; - typedef uint8_t _compat_flags_type; - _compat_flags_type compat_flags; - typedef uint8_t _seq_type; - _seq_type seq; - typedef uint8_t _sysid_type; - _sysid_type sysid; - typedef uint8_t _compid_type; - _compid_type compid; - typedef uint32_t _msgid_type; - _msgid_type msgid; - typedef uint16_t _checksum_type; - _checksum_type checksum; - uint32_t payload64_length; - typedef uint64_t _payload64_type; - _payload64_type st_payload64; - _payload64_type * payload64; - uint32_t signature_length; - typedef uint8_t _signature_type; - _signature_type st_signature; - _signature_type * signature; - enum { FRAMING_OK = 1 }; - enum { FRAMING_BAD_CRC = 2 }; - enum { FRAMING_BAD_SIGNATURE = 3 }; - enum { MAVLINK_V10 = 254 }; - enum { MAVLINK_V20 = 253 }; - - Mavlink(): - header(), - framing_status(0), - magic(0), - len(0), - incompat_flags(0), - compat_flags(0), - seq(0), - sysid(0), - compid(0), - msgid(0), - checksum(0), - payload64_length(0), st_payload64(), payload64(nullptr), - signature_length(0), st_signature(), signature(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->framing_status >> (8 * 0)) & 0xFF; - offset += sizeof(this->framing_status); - *(outbuffer + offset + 0) = (this->magic >> (8 * 0)) & 0xFF; - offset += sizeof(this->magic); - *(outbuffer + offset + 0) = (this->len >> (8 * 0)) & 0xFF; - offset += sizeof(this->len); - *(outbuffer + offset + 0) = (this->incompat_flags >> (8 * 0)) & 0xFF; - offset += sizeof(this->incompat_flags); - *(outbuffer + offset + 0) = (this->compat_flags >> (8 * 0)) & 0xFF; - offset += sizeof(this->compat_flags); - *(outbuffer + offset + 0) = (this->seq >> (8 * 0)) & 0xFF; - offset += sizeof(this->seq); - *(outbuffer + offset + 0) = (this->sysid >> (8 * 0)) & 0xFF; - offset += sizeof(this->sysid); - *(outbuffer + offset + 0) = (this->compid >> (8 * 0)) & 0xFF; - offset += sizeof(this->compid); - *(outbuffer + offset + 0) = (this->msgid >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->msgid >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->msgid >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->msgid >> (8 * 3)) & 0xFF; - offset += sizeof(this->msgid); - *(outbuffer + offset + 0) = (this->checksum >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->checksum >> (8 * 1)) & 0xFF; - offset += sizeof(this->checksum); - *(outbuffer + offset + 0) = (this->payload64_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->payload64_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->payload64_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->payload64_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->payload64_length); - for( uint32_t i = 0; i < payload64_length; i++){ - *(outbuffer + offset + 0) = (this->payload64[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->payload64[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->payload64[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->payload64[i] >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->payload64[i] >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->payload64[i] >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->payload64[i] >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->payload64[i] >> (8 * 7)) & 0xFF; - offset += sizeof(this->payload64[i]); - } - *(outbuffer + offset + 0) = (this->signature_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->signature_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->signature_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->signature_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->signature_length); - for( uint32_t i = 0; i < signature_length; i++){ - *(outbuffer + offset + 0) = (this->signature[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->signature[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->framing_status = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->framing_status); - this->magic = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->magic); - this->len = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->len); - this->incompat_flags = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->incompat_flags); - this->compat_flags = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->compat_flags); - this->seq = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->seq); - this->sysid = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->sysid); - this->compid = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->compid); - this->msgid = ((uint32_t) (*(inbuffer + offset))); - this->msgid |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->msgid |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->msgid |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->msgid); - this->checksum = ((uint16_t) (*(inbuffer + offset))); - this->checksum |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->checksum); - uint32_t payload64_lengthT = ((uint32_t) (*(inbuffer + offset))); - payload64_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - payload64_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - payload64_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->payload64_length); - if(payload64_lengthT > payload64_length) - this->payload64 = (uint64_t*)realloc(this->payload64, payload64_lengthT * sizeof(uint64_t)); - payload64_length = payload64_lengthT; - for( uint32_t i = 0; i < payload64_length; i++){ - this->st_payload64 = ((uint64_t) (*(inbuffer + offset))); - this->st_payload64 |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->st_payload64 |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->st_payload64 |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_payload64 |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->st_payload64 |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->st_payload64 |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->st_payload64 |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->st_payload64); - memcpy( &(this->payload64[i]), &(this->st_payload64), sizeof(uint64_t)); - } - uint32_t signature_lengthT = ((uint32_t) (*(inbuffer + offset))); - signature_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - signature_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - signature_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->signature_length); - if(signature_lengthT > signature_length) - this->signature = (uint8_t*)realloc(this->signature, signature_lengthT * sizeof(uint8_t)); - signature_length = signature_lengthT; - for( uint32_t i = 0; i < signature_length; i++){ - this->st_signature = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_signature); - memcpy( &(this->signature[i]), &(this->st_signature), sizeof(uint8_t)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Mavlink"; }; - virtual const char * getMD5() override { return "41093e1fd0f3eea1da2aa33a177e5ba6"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MessageInterval.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MessageInterval.h deleted file mode 100644 index 9bf59412..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MessageInterval.h +++ /dev/null @@ -1,125 +0,0 @@ -#ifndef _ROS_SERVICE_MessageInterval_h -#define _ROS_SERVICE_MessageInterval_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char MESSAGEINTERVAL[] = "mavros_msgs/MessageInterval"; - - class MessageIntervalRequest : public ros::Msg - { - public: - typedef uint32_t _message_id_type; - _message_id_type message_id; - typedef float _message_rate_type; - _message_rate_type message_rate; - - MessageIntervalRequest(): - message_id(0), - message_rate(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->message_id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->message_id >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->message_id >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->message_id >> (8 * 3)) & 0xFF; - offset += sizeof(this->message_id); - union { - float real; - uint32_t base; - } u_message_rate; - u_message_rate.real = this->message_rate; - *(outbuffer + offset + 0) = (u_message_rate.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_message_rate.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_message_rate.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_message_rate.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->message_rate); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->message_id = ((uint32_t) (*(inbuffer + offset))); - this->message_id |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->message_id |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->message_id |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->message_id); - union { - float real; - uint32_t base; - } u_message_rate; - u_message_rate.base = 0; - u_message_rate.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_message_rate.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_message_rate.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_message_rate.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->message_rate = u_message_rate.real; - offset += sizeof(this->message_rate); - return offset; - } - - virtual const char * getType() override { return MESSAGEINTERVAL; }; - virtual const char * getMD5() override { return "e0211a7928924521de24f3981706be52"; }; - - }; - - class MessageIntervalResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - MessageIntervalResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return MESSAGEINTERVAL; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class MessageInterval { - public: - typedef MessageIntervalRequest Request; - typedef MessageIntervalResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountConfigure.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountConfigure.h deleted file mode 100644 index d9560011..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountConfigure.h +++ /dev/null @@ -1,191 +0,0 @@ -#ifndef _ROS_SERVICE_MountConfigure_h -#define _ROS_SERVICE_MountConfigure_h -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - -static const char MOUNTCONFIGURE[] = "mavros_msgs/MountConfigure"; - - class MountConfigureRequest : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _mode_type; - _mode_type mode; - typedef bool _stabilize_roll_type; - _stabilize_roll_type stabilize_roll; - typedef bool _stabilize_pitch_type; - _stabilize_pitch_type stabilize_pitch; - typedef bool _stabilize_yaw_type; - _stabilize_yaw_type stabilize_yaw; - typedef uint8_t _roll_input_type; - _roll_input_type roll_input; - typedef uint8_t _pitch_input_type; - _pitch_input_type pitch_input; - typedef uint8_t _yaw_input_type; - _yaw_input_type yaw_input; - enum { MODE_RETRACT = 0 }; - enum { MODE_NEUTRAL = 1 }; - enum { MODE_MAVLINK_TARGETING = 2 }; - enum { MODE_RC_TARGETING = 3 }; - enum { MODE_GPS_POINT = 4 }; - enum { INPUT_ANGLE_BODY_FRAME = 0 }; - enum { INPUT_ANGULAR_RATE = 1 }; - enum { INPUT_ANGLE_ABSOLUTE_FRAME = 2 }; - - MountConfigureRequest(): - header(), - mode(0), - stabilize_roll(0), - stabilize_pitch(0), - stabilize_yaw(0), - roll_input(0), - pitch_input(0), - yaw_input(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->mode); - union { - bool real; - uint8_t base; - } u_stabilize_roll; - u_stabilize_roll.real = this->stabilize_roll; - *(outbuffer + offset + 0) = (u_stabilize_roll.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->stabilize_roll); - union { - bool real; - uint8_t base; - } u_stabilize_pitch; - u_stabilize_pitch.real = this->stabilize_pitch; - *(outbuffer + offset + 0) = (u_stabilize_pitch.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->stabilize_pitch); - union { - bool real; - uint8_t base; - } u_stabilize_yaw; - u_stabilize_yaw.real = this->stabilize_yaw; - *(outbuffer + offset + 0) = (u_stabilize_yaw.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->stabilize_yaw); - *(outbuffer + offset + 0) = (this->roll_input >> (8 * 0)) & 0xFF; - offset += sizeof(this->roll_input); - *(outbuffer + offset + 0) = (this->pitch_input >> (8 * 0)) & 0xFF; - offset += sizeof(this->pitch_input); - *(outbuffer + offset + 0) = (this->yaw_input >> (8 * 0)) & 0xFF; - offset += sizeof(this->yaw_input); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->mode); - union { - bool real; - uint8_t base; - } u_stabilize_roll; - u_stabilize_roll.base = 0; - u_stabilize_roll.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->stabilize_roll = u_stabilize_roll.real; - offset += sizeof(this->stabilize_roll); - union { - bool real; - uint8_t base; - } u_stabilize_pitch; - u_stabilize_pitch.base = 0; - u_stabilize_pitch.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->stabilize_pitch = u_stabilize_pitch.real; - offset += sizeof(this->stabilize_pitch); - union { - bool real; - uint8_t base; - } u_stabilize_yaw; - u_stabilize_yaw.base = 0; - u_stabilize_yaw.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->stabilize_yaw = u_stabilize_yaw.real; - offset += sizeof(this->stabilize_yaw); - this->roll_input = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->roll_input); - this->pitch_input = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->pitch_input); - this->yaw_input = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->yaw_input); - return offset; - } - - virtual const char * getType() override { return MOUNTCONFIGURE; }; - virtual const char * getMD5() override { return "6abfbffc4f7b14d5b05955b1813ae50e"; }; - - }; - - class MountConfigureResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint8_t _result_type; - _result_type result; - - MountConfigureResponse(): - success(0), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return MOUNTCONFIGURE; }; - virtual const char * getMD5() override { return "1cd894375e4e3d2861d2222772894fdb"; }; - - }; - - class MountConfigure { - public: - typedef MountConfigureRequest Request; - typedef MountConfigureResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountControl.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountControl.h deleted file mode 100644 index 4587afbf..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/MountControl.h +++ /dev/null @@ -1,200 +0,0 @@ -#ifndef _ROS_mavros_msgs_MountControl_h -#define _ROS_mavros_msgs_MountControl_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class MountControl : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _mode_type; - _mode_type mode; - typedef float _pitch_type; - _pitch_type pitch; - typedef float _roll_type; - _roll_type roll; - typedef float _yaw_type; - _yaw_type yaw; - typedef float _altitude_type; - _altitude_type altitude; - typedef float _latitude_type; - _latitude_type latitude; - typedef float _longitude_type; - _longitude_type longitude; - enum { MAV_MOUNT_MODE_RETRACT = 0 }; - enum { MAV_MOUNT_MODE_NEUTRAL = 1 }; - enum { MAV_MOUNT_MODE_MAVLINK_TARGETING = 2 }; - enum { MAV_MOUNT_MODE_RC_TARGETING = 3 }; - enum { MAV_MOUNT_MODE_GPS_POINT = 4 }; - - MountControl(): - header(), - mode(0), - pitch(0), - roll(0), - yaw(0), - altitude(0), - latitude(0), - longitude(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->mode); - union { - float real; - uint32_t base; - } u_pitch; - u_pitch.real = this->pitch; - *(outbuffer + offset + 0) = (u_pitch.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_pitch.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_pitch.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_pitch.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->pitch); - union { - float real; - uint32_t base; - } u_roll; - u_roll.real = this->roll; - *(outbuffer + offset + 0) = (u_roll.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_roll.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_roll.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_roll.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->roll); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.real = this->yaw; - *(outbuffer + offset + 0) = (u_yaw.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->altitude); - union { - float real; - uint32_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->latitude); - union { - float real; - uint32_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->longitude); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->mode); - union { - float real; - uint32_t base; - } u_pitch; - u_pitch.base = 0; - u_pitch.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_pitch.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_pitch.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_pitch.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->pitch = u_pitch.real; - offset += sizeof(this->pitch); - union { - float real; - uint32_t base; - } u_roll; - u_roll.base = 0; - u_roll.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_roll.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_roll.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_roll.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->roll = u_roll.real; - offset += sizeof(this->roll); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.base = 0; - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw = u_yaw.real; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - union { - float real; - uint32_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - float real; - uint32_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/MountControl"; }; - virtual const char * getMD5() override { return "214cf13a68b4fed9e2a77b1b436f144e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/NavControllerOutput.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/NavControllerOutput.h deleted file mode 100644 index 5998ae7e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/NavControllerOutput.h +++ /dev/null @@ -1,213 +0,0 @@ -#ifndef _ROS_mavros_msgs_NavControllerOutput_h -#define _ROS_mavros_msgs_NavControllerOutput_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class NavControllerOutput : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _nav_roll_type; - _nav_roll_type nav_roll; - typedef float _nav_pitch_type; - _nav_pitch_type nav_pitch; - typedef int16_t _nav_bearing_type; - _nav_bearing_type nav_bearing; - typedef int16_t _target_bearing_type; - _target_bearing_type target_bearing; - typedef uint16_t _wp_dist_type; - _wp_dist_type wp_dist; - typedef float _alt_error_type; - _alt_error_type alt_error; - typedef float _aspd_error_type; - _aspd_error_type aspd_error; - typedef float _xtrack_error_type; - _xtrack_error_type xtrack_error; - - NavControllerOutput(): - header(), - nav_roll(0), - nav_pitch(0), - nav_bearing(0), - target_bearing(0), - wp_dist(0), - alt_error(0), - aspd_error(0), - xtrack_error(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_nav_roll; - u_nav_roll.real = this->nav_roll; - *(outbuffer + offset + 0) = (u_nav_roll.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_nav_roll.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_nav_roll.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_nav_roll.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->nav_roll); - union { - float real; - uint32_t base; - } u_nav_pitch; - u_nav_pitch.real = this->nav_pitch; - *(outbuffer + offset + 0) = (u_nav_pitch.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_nav_pitch.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_nav_pitch.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_nav_pitch.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->nav_pitch); - union { - int16_t real; - uint16_t base; - } u_nav_bearing; - u_nav_bearing.real = this->nav_bearing; - *(outbuffer + offset + 0) = (u_nav_bearing.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_nav_bearing.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->nav_bearing); - union { - int16_t real; - uint16_t base; - } u_target_bearing; - u_target_bearing.real = this->target_bearing; - *(outbuffer + offset + 0) = (u_target_bearing.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_target_bearing.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->target_bearing); - *(outbuffer + offset + 0) = (this->wp_dist >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wp_dist >> (8 * 1)) & 0xFF; - offset += sizeof(this->wp_dist); - union { - float real; - uint32_t base; - } u_alt_error; - u_alt_error.real = this->alt_error; - *(outbuffer + offset + 0) = (u_alt_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_alt_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_alt_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_alt_error.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->alt_error); - union { - float real; - uint32_t base; - } u_aspd_error; - u_aspd_error.real = this->aspd_error; - *(outbuffer + offset + 0) = (u_aspd_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_aspd_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_aspd_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_aspd_error.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->aspd_error); - union { - float real; - uint32_t base; - } u_xtrack_error; - u_xtrack_error.real = this->xtrack_error; - *(outbuffer + offset + 0) = (u_xtrack_error.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_xtrack_error.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_xtrack_error.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_xtrack_error.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->xtrack_error); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_nav_roll; - u_nav_roll.base = 0; - u_nav_roll.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_nav_roll.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_nav_roll.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_nav_roll.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->nav_roll = u_nav_roll.real; - offset += sizeof(this->nav_roll); - union { - float real; - uint32_t base; - } u_nav_pitch; - u_nav_pitch.base = 0; - u_nav_pitch.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_nav_pitch.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_nav_pitch.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_nav_pitch.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->nav_pitch = u_nav_pitch.real; - offset += sizeof(this->nav_pitch); - union { - int16_t real; - uint16_t base; - } u_nav_bearing; - u_nav_bearing.base = 0; - u_nav_bearing.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_nav_bearing.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->nav_bearing = u_nav_bearing.real; - offset += sizeof(this->nav_bearing); - union { - int16_t real; - uint16_t base; - } u_target_bearing; - u_target_bearing.base = 0; - u_target_bearing.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_target_bearing.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->target_bearing = u_target_bearing.real; - offset += sizeof(this->target_bearing); - this->wp_dist = ((uint16_t) (*(inbuffer + offset))); - this->wp_dist |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->wp_dist); - union { - float real; - uint32_t base; - } u_alt_error; - u_alt_error.base = 0; - u_alt_error.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_alt_error.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_alt_error.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_alt_error.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->alt_error = u_alt_error.real; - offset += sizeof(this->alt_error); - union { - float real; - uint32_t base; - } u_aspd_error; - u_aspd_error.base = 0; - u_aspd_error.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_aspd_error.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_aspd_error.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_aspd_error.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->aspd_error = u_aspd_error.real; - offset += sizeof(this->aspd_error); - union { - float real; - uint32_t base; - } u_xtrack_error; - u_xtrack_error.base = 0; - u_xtrack_error.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_xtrack_error.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_xtrack_error.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_xtrack_error.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->xtrack_error = u_xtrack_error.real; - offset += sizeof(this->xtrack_error); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/NavControllerOutput"; }; - virtual const char * getMD5() override { return "f6340c9bb79e3ac2a6142ce592e66756"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OnboardComputerStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OnboardComputerStatus.h deleted file mode 100644 index a08f9500..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OnboardComputerStatus.h +++ /dev/null @@ -1,327 +0,0 @@ -#ifndef _ROS_mavros_msgs_OnboardComputerStatus_h -#define _ROS_mavros_msgs_OnboardComputerStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class OnboardComputerStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _component_type; - _component_type component; - typedef uint32_t _uptime_type; - _uptime_type uptime; - typedef uint8_t _type_type; - _type_type type; - uint8_t cpu_cores[8]; - uint8_t cpu_combined[10]; - uint8_t gpu_cores[4]; - uint8_t gpu_combined[10]; - typedef int8_t _temperature_board_type; - _temperature_board_type temperature_board; - int8_t temperature_core[8]; - int16_t fan_speed[4]; - typedef uint32_t _ram_usage_type; - _ram_usage_type ram_usage; - typedef uint32_t _ram_total_type; - _ram_total_type ram_total; - uint32_t storage_type[4]; - uint32_t storage_usage[4]; - uint32_t storage_total[4]; - uint32_t link_type[6]; - uint32_t link_tx_rate[6]; - uint32_t link_rx_rate[6]; - uint32_t link_tx_max[6]; - uint32_t link_rx_max[6]; - - OnboardComputerStatus(): - header(), - component(0), - uptime(0), - type(0), - cpu_cores(), - cpu_combined(), - gpu_cores(), - gpu_combined(), - temperature_board(0), - temperature_core(), - fan_speed(), - ram_usage(0), - ram_total(0), - storage_type(), - storage_usage(), - storage_total(), - link_type(), - link_tx_rate(), - link_rx_rate(), - link_tx_max(), - link_rx_max() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->component >> (8 * 0)) & 0xFF; - offset += sizeof(this->component); - *(outbuffer + offset + 0) = (this->uptime >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->uptime >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->uptime >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->uptime >> (8 * 3)) & 0xFF; - offset += sizeof(this->uptime); - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - for( uint32_t i = 0; i < 8; i++){ - *(outbuffer + offset + 0) = (this->cpu_cores[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->cpu_cores[i]); - } - for( uint32_t i = 0; i < 10; i++){ - *(outbuffer + offset + 0) = (this->cpu_combined[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->cpu_combined[i]); - } - for( uint32_t i = 0; i < 4; i++){ - *(outbuffer + offset + 0) = (this->gpu_cores[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->gpu_cores[i]); - } - for( uint32_t i = 0; i < 10; i++){ - *(outbuffer + offset + 0) = (this->gpu_combined[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->gpu_combined[i]); - } - union { - int8_t real; - uint8_t base; - } u_temperature_board; - u_temperature_board.real = this->temperature_board; - *(outbuffer + offset + 0) = (u_temperature_board.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->temperature_board); - for( uint32_t i = 0; i < 8; i++){ - union { - int8_t real; - uint8_t base; - } u_temperature_corei; - u_temperature_corei.real = this->temperature_core[i]; - *(outbuffer + offset + 0) = (u_temperature_corei.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->temperature_core[i]); - } - for( uint32_t i = 0; i < 4; i++){ - union { - int16_t real; - uint16_t base; - } u_fan_speedi; - u_fan_speedi.real = this->fan_speed[i]; - *(outbuffer + offset + 0) = (u_fan_speedi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_fan_speedi.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->fan_speed[i]); - } - *(outbuffer + offset + 0) = (this->ram_usage >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ram_usage >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->ram_usage >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->ram_usage >> (8 * 3)) & 0xFF; - offset += sizeof(this->ram_usage); - *(outbuffer + offset + 0) = (this->ram_total >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ram_total >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->ram_total >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->ram_total >> (8 * 3)) & 0xFF; - offset += sizeof(this->ram_total); - for( uint32_t i = 0; i < 4; i++){ - *(outbuffer + offset + 0) = (this->storage_type[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->storage_type[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->storage_type[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->storage_type[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->storage_type[i]); - } - for( uint32_t i = 0; i < 4; i++){ - *(outbuffer + offset + 0) = (this->storage_usage[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->storage_usage[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->storage_usage[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->storage_usage[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->storage_usage[i]); - } - for( uint32_t i = 0; i < 4; i++){ - *(outbuffer + offset + 0) = (this->storage_total[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->storage_total[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->storage_total[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->storage_total[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->storage_total[i]); - } - for( uint32_t i = 0; i < 6; i++){ - *(outbuffer + offset + 0) = (this->link_type[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->link_type[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->link_type[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->link_type[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->link_type[i]); - } - for( uint32_t i = 0; i < 6; i++){ - *(outbuffer + offset + 0) = (this->link_tx_rate[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->link_tx_rate[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->link_tx_rate[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->link_tx_rate[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->link_tx_rate[i]); - } - for( uint32_t i = 0; i < 6; i++){ - *(outbuffer + offset + 0) = (this->link_rx_rate[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->link_rx_rate[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->link_rx_rate[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->link_rx_rate[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->link_rx_rate[i]); - } - for( uint32_t i = 0; i < 6; i++){ - *(outbuffer + offset + 0) = (this->link_tx_max[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->link_tx_max[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->link_tx_max[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->link_tx_max[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->link_tx_max[i]); - } - for( uint32_t i = 0; i < 6; i++){ - *(outbuffer + offset + 0) = (this->link_rx_max[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->link_rx_max[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->link_rx_max[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->link_rx_max[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->link_rx_max[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->component = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->component); - this->uptime = ((uint32_t) (*(inbuffer + offset))); - this->uptime |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->uptime |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->uptime |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->uptime); - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - for( uint32_t i = 0; i < 8; i++){ - this->cpu_cores[i] = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->cpu_cores[i]); - } - for( uint32_t i = 0; i < 10; i++){ - this->cpu_combined[i] = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->cpu_combined[i]); - } - for( uint32_t i = 0; i < 4; i++){ - this->gpu_cores[i] = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->gpu_cores[i]); - } - for( uint32_t i = 0; i < 10; i++){ - this->gpu_combined[i] = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->gpu_combined[i]); - } - union { - int8_t real; - uint8_t base; - } u_temperature_board; - u_temperature_board.base = 0; - u_temperature_board.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->temperature_board = u_temperature_board.real; - offset += sizeof(this->temperature_board); - for( uint32_t i = 0; i < 8; i++){ - union { - int8_t real; - uint8_t base; - } u_temperature_corei; - u_temperature_corei.base = 0; - u_temperature_corei.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->temperature_core[i] = u_temperature_corei.real; - offset += sizeof(this->temperature_core[i]); - } - for( uint32_t i = 0; i < 4; i++){ - union { - int16_t real; - uint16_t base; - } u_fan_speedi; - u_fan_speedi.base = 0; - u_fan_speedi.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_fan_speedi.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->fan_speed[i] = u_fan_speedi.real; - offset += sizeof(this->fan_speed[i]); - } - this->ram_usage = ((uint32_t) (*(inbuffer + offset))); - this->ram_usage |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->ram_usage |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->ram_usage |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->ram_usage); - this->ram_total = ((uint32_t) (*(inbuffer + offset))); - this->ram_total |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->ram_total |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->ram_total |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->ram_total); - for( uint32_t i = 0; i < 4; i++){ - this->storage_type[i] = ((uint32_t) (*(inbuffer + offset))); - this->storage_type[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->storage_type[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->storage_type[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->storage_type[i]); - } - for( uint32_t i = 0; i < 4; i++){ - this->storage_usage[i] = ((uint32_t) (*(inbuffer + offset))); - this->storage_usage[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->storage_usage[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->storage_usage[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->storage_usage[i]); - } - for( uint32_t i = 0; i < 4; i++){ - this->storage_total[i] = ((uint32_t) (*(inbuffer + offset))); - this->storage_total[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->storage_total[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->storage_total[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->storage_total[i]); - } - for( uint32_t i = 0; i < 6; i++){ - this->link_type[i] = ((uint32_t) (*(inbuffer + offset))); - this->link_type[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->link_type[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->link_type[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->link_type[i]); - } - for( uint32_t i = 0; i < 6; i++){ - this->link_tx_rate[i] = ((uint32_t) (*(inbuffer + offset))); - this->link_tx_rate[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->link_tx_rate[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->link_tx_rate[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->link_tx_rate[i]); - } - for( uint32_t i = 0; i < 6; i++){ - this->link_rx_rate[i] = ((uint32_t) (*(inbuffer + offset))); - this->link_rx_rate[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->link_rx_rate[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->link_rx_rate[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->link_rx_rate[i]); - } - for( uint32_t i = 0; i < 6; i++){ - this->link_tx_max[i] = ((uint32_t) (*(inbuffer + offset))); - this->link_tx_max[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->link_tx_max[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->link_tx_max[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->link_tx_max[i]); - } - for( uint32_t i = 0; i < 6; i++){ - this->link_rx_max[i] = ((uint32_t) (*(inbuffer + offset))); - this->link_rx_max[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->link_rx_max[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->link_rx_max[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->link_rx_max[i]); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/OnboardComputerStatus"; }; - virtual const char * getMD5() override { return "aebe864fac2952ca9de45a2b65875a60"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OpticalFlowRad.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OpticalFlowRad.h deleted file mode 100644 index 3b9f7fc2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OpticalFlowRad.h +++ /dev/null @@ -1,241 +0,0 @@ -#ifndef _ROS_mavros_msgs_OpticalFlowRad_h -#define _ROS_mavros_msgs_OpticalFlowRad_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class OpticalFlowRad : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint32_t _integration_time_us_type; - _integration_time_us_type integration_time_us; - typedef float _integrated_x_type; - _integrated_x_type integrated_x; - typedef float _integrated_y_type; - _integrated_y_type integrated_y; - typedef float _integrated_xgyro_type; - _integrated_xgyro_type integrated_xgyro; - typedef float _integrated_ygyro_type; - _integrated_ygyro_type integrated_ygyro; - typedef float _integrated_zgyro_type; - _integrated_zgyro_type integrated_zgyro; - typedef int16_t _temperature_type; - _temperature_type temperature; - typedef uint8_t _quality_type; - _quality_type quality; - typedef uint32_t _time_delta_distance_us_type; - _time_delta_distance_us_type time_delta_distance_us; - typedef float _distance_type; - _distance_type distance; - - OpticalFlowRad(): - header(), - integration_time_us(0), - integrated_x(0), - integrated_y(0), - integrated_xgyro(0), - integrated_ygyro(0), - integrated_zgyro(0), - temperature(0), - quality(0), - time_delta_distance_us(0), - distance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->integration_time_us >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->integration_time_us >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->integration_time_us >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->integration_time_us >> (8 * 3)) & 0xFF; - offset += sizeof(this->integration_time_us); - union { - float real; - uint32_t base; - } u_integrated_x; - u_integrated_x.real = this->integrated_x; - *(outbuffer + offset + 0) = (u_integrated_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_integrated_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_integrated_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_integrated_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->integrated_x); - union { - float real; - uint32_t base; - } u_integrated_y; - u_integrated_y.real = this->integrated_y; - *(outbuffer + offset + 0) = (u_integrated_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_integrated_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_integrated_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_integrated_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->integrated_y); - union { - float real; - uint32_t base; - } u_integrated_xgyro; - u_integrated_xgyro.real = this->integrated_xgyro; - *(outbuffer + offset + 0) = (u_integrated_xgyro.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_integrated_xgyro.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_integrated_xgyro.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_integrated_xgyro.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->integrated_xgyro); - union { - float real; - uint32_t base; - } u_integrated_ygyro; - u_integrated_ygyro.real = this->integrated_ygyro; - *(outbuffer + offset + 0) = (u_integrated_ygyro.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_integrated_ygyro.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_integrated_ygyro.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_integrated_ygyro.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->integrated_ygyro); - union { - float real; - uint32_t base; - } u_integrated_zgyro; - u_integrated_zgyro.real = this->integrated_zgyro; - *(outbuffer + offset + 0) = (u_integrated_zgyro.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_integrated_zgyro.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_integrated_zgyro.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_integrated_zgyro.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->integrated_zgyro); - union { - int16_t real; - uint16_t base; - } u_temperature; - u_temperature.real = this->temperature; - *(outbuffer + offset + 0) = (u_temperature.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_temperature.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->temperature); - *(outbuffer + offset + 0) = (this->quality >> (8 * 0)) & 0xFF; - offset += sizeof(this->quality); - *(outbuffer + offset + 0) = (this->time_delta_distance_us >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_delta_distance_us >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_delta_distance_us >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_delta_distance_us >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_delta_distance_us); - union { - float real; - uint32_t base; - } u_distance; - u_distance.real = this->distance; - *(outbuffer + offset + 0) = (u_distance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_distance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_distance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_distance.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->distance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->integration_time_us = ((uint32_t) (*(inbuffer + offset))); - this->integration_time_us |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->integration_time_us |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->integration_time_us |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->integration_time_us); - union { - float real; - uint32_t base; - } u_integrated_x; - u_integrated_x.base = 0; - u_integrated_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_integrated_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_integrated_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_integrated_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->integrated_x = u_integrated_x.real; - offset += sizeof(this->integrated_x); - union { - float real; - uint32_t base; - } u_integrated_y; - u_integrated_y.base = 0; - u_integrated_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_integrated_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_integrated_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_integrated_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->integrated_y = u_integrated_y.real; - offset += sizeof(this->integrated_y); - union { - float real; - uint32_t base; - } u_integrated_xgyro; - u_integrated_xgyro.base = 0; - u_integrated_xgyro.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_integrated_xgyro.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_integrated_xgyro.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_integrated_xgyro.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->integrated_xgyro = u_integrated_xgyro.real; - offset += sizeof(this->integrated_xgyro); - union { - float real; - uint32_t base; - } u_integrated_ygyro; - u_integrated_ygyro.base = 0; - u_integrated_ygyro.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_integrated_ygyro.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_integrated_ygyro.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_integrated_ygyro.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->integrated_ygyro = u_integrated_ygyro.real; - offset += sizeof(this->integrated_ygyro); - union { - float real; - uint32_t base; - } u_integrated_zgyro; - u_integrated_zgyro.base = 0; - u_integrated_zgyro.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_integrated_zgyro.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_integrated_zgyro.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_integrated_zgyro.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->integrated_zgyro = u_integrated_zgyro.real; - offset += sizeof(this->integrated_zgyro); - union { - int16_t real; - uint16_t base; - } u_temperature; - u_temperature.base = 0; - u_temperature.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_temperature.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->temperature = u_temperature.real; - offset += sizeof(this->temperature); - this->quality = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->quality); - this->time_delta_distance_us = ((uint32_t) (*(inbuffer + offset))); - this->time_delta_distance_us |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_delta_distance_us |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_delta_distance_us |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_delta_distance_us); - union { - float real; - uint32_t base; - } u_distance; - u_distance.base = 0; - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_distance.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->distance = u_distance.real; - offset += sizeof(this->distance); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/OpticalFlowRad"; }; - virtual const char * getMD5() override { return "65d93e03c6188c7ee30415b2a39ad40d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OverrideRCIn.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OverrideRCIn.h deleted file mode 100644 index 5ff4ceb6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/OverrideRCIn.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _ROS_mavros_msgs_OverrideRCIn_h -#define _ROS_mavros_msgs_OverrideRCIn_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class OverrideRCIn : public ros::Msg - { - public: - uint16_t channels[18]; - enum { CHAN_RELEASE = 0 }; - enum { CHAN_NOCHANGE = 65535 }; - - OverrideRCIn(): - channels() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - for( uint32_t i = 0; i < 18; i++){ - *(outbuffer + offset + 0) = (this->channels[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->channels[i] >> (8 * 1)) & 0xFF; - offset += sizeof(this->channels[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - for( uint32_t i = 0; i < 18; i++){ - this->channels[i] = ((uint16_t) (*(inbuffer + offset))); - this->channels[i] |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->channels[i]); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/OverrideRCIn"; }; - virtual const char * getMD5() override { return "fd1e1c08fa504ec32737c41f45223398"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Param.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Param.h deleted file mode 100644 index 01882aae..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Param.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _ROS_mavros_msgs_Param_h -#define _ROS_mavros_msgs_Param_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "mavros_msgs/ParamValue.h" - -namespace mavros_msgs -{ - - class Param : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _param_id_type; - _param_id_type param_id; - typedef mavros_msgs::ParamValue _value_type; - _value_type value; - typedef uint16_t _param_index_type; - _param_index_type param_index; - typedef uint16_t _param_count_type; - _param_count_type param_count; - - Param(): - header(), - param_id(""), - value(), - param_index(0), - param_count(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_param_id = strlen(this->param_id); - varToArr(outbuffer + offset, length_param_id); - offset += 4; - memcpy(outbuffer + offset, this->param_id, length_param_id); - offset += length_param_id; - offset += this->value.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->param_index >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->param_index >> (8 * 1)) & 0xFF; - offset += sizeof(this->param_index); - *(outbuffer + offset + 0) = (this->param_count >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->param_count >> (8 * 1)) & 0xFF; - offset += sizeof(this->param_count); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_param_id; - arrToVar(length_param_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_param_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_param_id-1]=0; - this->param_id = (char *)(inbuffer + offset-1); - offset += length_param_id; - offset += this->value.deserialize(inbuffer + offset); - this->param_index = ((uint16_t) (*(inbuffer + offset))); - this->param_index |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->param_index); - this->param_count = ((uint16_t) (*(inbuffer + offset))); - this->param_count |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->param_count); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Param"; }; - virtual const char * getMD5() override { return "62165a8f212050223dda9583b0f22c3c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamGet.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamGet.h deleted file mode 100644 index 57f6a852..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamGet.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef _ROS_SERVICE_ParamGet_h -#define _ROS_SERVICE_ParamGet_h -#include -#include -#include -#include "ros/msg.h" -#include "mavros_msgs/ParamValue.h" - -namespace mavros_msgs -{ - -static const char PARAMGET[] = "mavros_msgs/ParamGet"; - - class ParamGetRequest : public ros::Msg - { - public: - typedef const char* _param_id_type; - _param_id_type param_id; - - ParamGetRequest(): - param_id("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_param_id = strlen(this->param_id); - varToArr(outbuffer + offset, length_param_id); - offset += 4; - memcpy(outbuffer + offset, this->param_id, length_param_id); - offset += length_param_id; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_param_id; - arrToVar(length_param_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_param_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_param_id-1]=0; - this->param_id = (char *)(inbuffer + offset-1); - offset += length_param_id; - return offset; - } - - virtual const char * getType() override { return PARAMGET; }; - virtual const char * getMD5() override { return "a0c8304d59f465712790120c3fc4b7d0"; }; - - }; - - class ParamGetResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef mavros_msgs::ParamValue _value_type; - _value_type value; - - ParamGetResponse(): - success(0), - value() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - offset += this->value.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - offset += this->value.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return PARAMGET; }; - virtual const char * getMD5() override { return "790d22b22b9dbf32a8e8d55578e25477"; }; - - }; - - class ParamGet { - public: - typedef ParamGetRequest Request; - typedef ParamGetResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPull.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPull.h deleted file mode 100644 index 5fe8251f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPull.h +++ /dev/null @@ -1,119 +0,0 @@ -#ifndef _ROS_SERVICE_ParamPull_h -#define _ROS_SERVICE_ParamPull_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char PARAMPULL[] = "mavros_msgs/ParamPull"; - - class ParamPullRequest : public ros::Msg - { - public: - typedef bool _force_pull_type; - _force_pull_type force_pull; - - ParamPullRequest(): - force_pull(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_force_pull; - u_force_pull.real = this->force_pull; - *(outbuffer + offset + 0) = (u_force_pull.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->force_pull); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_force_pull; - u_force_pull.base = 0; - u_force_pull.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->force_pull = u_force_pull.real; - offset += sizeof(this->force_pull); - return offset; - } - - virtual const char * getType() override { return PARAMPULL; }; - virtual const char * getMD5() override { return "16415b4e049d3f92df764eeb461102b7"; }; - - }; - - class ParamPullResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint32_t _param_received_type; - _param_received_type param_received; - - ParamPullResponse(): - success(0), - param_received(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->param_received >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->param_received >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->param_received >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->param_received >> (8 * 3)) & 0xFF; - offset += sizeof(this->param_received); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->param_received = ((uint32_t) (*(inbuffer + offset))); - this->param_received |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->param_received |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->param_received |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->param_received); - return offset; - } - - virtual const char * getType() override { return PARAMPULL; }; - virtual const char * getMD5() override { return "5601e883220b149a3209512e966299f0"; }; - - }; - - class ParamPull { - public: - typedef ParamPullRequest Request; - typedef ParamPullResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPush.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPush.h deleted file mode 100644 index 3c390f43..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamPush.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef _ROS_SERVICE_ParamPush_h -#define _ROS_SERVICE_ParamPush_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char PARAMPUSH[] = "mavros_msgs/ParamPush"; - - class ParamPushRequest : public ros::Msg - { - public: - - ParamPushRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return PARAMPUSH; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class ParamPushResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint32_t _param_transfered_type; - _param_transfered_type param_transfered; - - ParamPushResponse(): - success(0), - param_transfered(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->param_transfered >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->param_transfered >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->param_transfered >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->param_transfered >> (8 * 3)) & 0xFF; - offset += sizeof(this->param_transfered); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->param_transfered = ((uint32_t) (*(inbuffer + offset))); - this->param_transfered |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->param_transfered |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->param_transfered |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->param_transfered); - return offset; - } - - virtual const char * getType() override { return PARAMPUSH; }; - virtual const char * getMD5() override { return "d3fc4d8cefa193382985a92a041a2a3d"; }; - - }; - - class ParamPush { - public: - typedef ParamPushRequest Request; - typedef ParamPushResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamSet.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamSet.h deleted file mode 100644 index cb3115e4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamSet.h +++ /dev/null @@ -1,116 +0,0 @@ -#ifndef _ROS_SERVICE_ParamSet_h -#define _ROS_SERVICE_ParamSet_h -#include -#include -#include -#include "ros/msg.h" -#include "mavros_msgs/ParamValue.h" - -namespace mavros_msgs -{ - -static const char PARAMSET[] = "mavros_msgs/ParamSet"; - - class ParamSetRequest : public ros::Msg - { - public: - typedef const char* _param_id_type; - _param_id_type param_id; - typedef mavros_msgs::ParamValue _value_type; - _value_type value; - - ParamSetRequest(): - param_id(""), - value() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_param_id = strlen(this->param_id); - varToArr(outbuffer + offset, length_param_id); - offset += 4; - memcpy(outbuffer + offset, this->param_id, length_param_id); - offset += length_param_id; - offset += this->value.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_param_id; - arrToVar(length_param_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_param_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_param_id-1]=0; - this->param_id = (char *)(inbuffer + offset-1); - offset += length_param_id; - offset += this->value.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return PARAMSET; }; - virtual const char * getMD5() override { return "4a17f346bc27984b348c799c674a04d9"; }; - - }; - - class ParamSetResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef mavros_msgs::ParamValue _value_type; - _value_type value; - - ParamSetResponse(): - success(0), - value() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - offset += this->value.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - offset += this->value.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return PARAMSET; }; - virtual const char * getMD5() override { return "790d22b22b9dbf32a8e8d55578e25477"; }; - - }; - - class ParamSet { - public: - typedef ParamSetRequest Request; - typedef ParamSetResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamValue.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamValue.h deleted file mode 100644 index a0425dff..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/ParamValue.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _ROS_mavros_msgs_ParamValue_h -#define _ROS_mavros_msgs_ParamValue_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class ParamValue : public ros::Msg - { - public: - typedef int64_t _integer_type; - _integer_type integer; - typedef double _real_type; - _real_type real; - - ParamValue(): - integer(0), - real(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_integer; - u_integer.real = this->integer; - *(outbuffer + offset + 0) = (u_integer.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_integer.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_integer.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_integer.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_integer.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_integer.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_integer.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_integer.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->integer); - union { - double real; - uint64_t base; - } u_real; - u_real.real = this->real; - *(outbuffer + offset + 0) = (u_real.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_real.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_real.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_real.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_real.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_real.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_real.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_real.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->real); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_integer; - u_integer.base = 0; - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_integer.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->integer = u_integer.real; - offset += sizeof(this->integer); - union { - double real; - uint64_t base; - } u_real; - u_real.base = 0; - u_real.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_real.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_real.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_real.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_real.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_real.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_real.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_real.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->real = u_real.real; - offset += sizeof(this->real); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/ParamValue"; }; - virtual const char * getMD5() override { return "e2cb1c7a0f6ef0c62d450cd9362c980d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PlayTuneV2.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PlayTuneV2.h deleted file mode 100644 index 438e46e8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PlayTuneV2.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ROS_mavros_msgs_PlayTuneV2_h -#define _ROS_mavros_msgs_PlayTuneV2_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class PlayTuneV2 : public ros::Msg - { - public: - typedef uint8_t _format_type; - _format_type format; - typedef const char* _tune_type; - _tune_type tune; - enum { QBASIC1_1 = 1 }; - enum { MML_MODERN = 2 }; - - PlayTuneV2(): - format(0), - tune("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->format >> (8 * 0)) & 0xFF; - offset += sizeof(this->format); - uint32_t length_tune = strlen(this->tune); - varToArr(outbuffer + offset, length_tune); - offset += 4; - memcpy(outbuffer + offset, this->tune, length_tune); - offset += length_tune; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->format = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->format); - uint32_t length_tune; - arrToVar(length_tune, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_tune; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_tune-1]=0; - this->tune = (char *)(inbuffer + offset-1); - offset += length_tune; - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/PlayTuneV2"; }; - virtual const char * getMD5() override { return "177f99ce3572342a75a8b5cdefc8286e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PositionTarget.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PositionTarget.h deleted file mode 100644 index 12397df4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/PositionTarget.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef _ROS_mavros_msgs_PositionTarget_h -#define _ROS_mavros_msgs_PositionTarget_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Point.h" -#include "geometry_msgs/Vector3.h" - -namespace mavros_msgs -{ - - class PositionTarget : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _coordinate_frame_type; - _coordinate_frame_type coordinate_frame; - typedef uint16_t _type_mask_type; - _type_mask_type type_mask; - typedef geometry_msgs::Point _position_type; - _position_type position; - typedef geometry_msgs::Vector3 _velocity_type; - _velocity_type velocity; - typedef geometry_msgs::Vector3 _acceleration_or_force_type; - _acceleration_or_force_type acceleration_or_force; - typedef float _yaw_type; - _yaw_type yaw; - typedef float _yaw_rate_type; - _yaw_rate_type yaw_rate; - enum { FRAME_LOCAL_NED = 1 }; - enum { FRAME_LOCAL_OFFSET_NED = 7 }; - enum { FRAME_BODY_NED = 8 }; - enum { FRAME_BODY_OFFSET_NED = 9 }; - enum { IGNORE_PX = 1 }; - enum { IGNORE_PY = 2 }; - enum { IGNORE_PZ = 4 }; - enum { IGNORE_VX = 8 }; - enum { IGNORE_VY = 16 }; - enum { IGNORE_VZ = 32 }; - enum { IGNORE_AFX = 64 }; - enum { IGNORE_AFY = 128 }; - enum { IGNORE_AFZ = 256 }; - enum { FORCE = 512 }; - enum { IGNORE_YAW = 1024 }; - enum { IGNORE_YAW_RATE = 2048 }; - - PositionTarget(): - header(), - coordinate_frame(0), - type_mask(0), - position(), - velocity(), - acceleration_or_force(), - yaw(0), - yaw_rate(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->coordinate_frame >> (8 * 0)) & 0xFF; - offset += sizeof(this->coordinate_frame); - *(outbuffer + offset + 0) = (this->type_mask >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->type_mask >> (8 * 1)) & 0xFF; - offset += sizeof(this->type_mask); - offset += this->position.serialize(outbuffer + offset); - offset += this->velocity.serialize(outbuffer + offset); - offset += this->acceleration_or_force.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.real = this->yaw; - *(outbuffer + offset + 0) = (u_yaw.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_yaw_rate; - u_yaw_rate.real = this->yaw_rate; - *(outbuffer + offset + 0) = (u_yaw_rate.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_yaw_rate.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_yaw_rate.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_yaw_rate.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->yaw_rate); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->coordinate_frame = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->coordinate_frame); - this->type_mask = ((uint16_t) (*(inbuffer + offset))); - this->type_mask |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->type_mask); - offset += this->position.deserialize(inbuffer + offset); - offset += this->velocity.deserialize(inbuffer + offset); - offset += this->acceleration_or_force.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_yaw; - u_yaw.base = 0; - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw = u_yaw.real; - offset += sizeof(this->yaw); - union { - float real; - uint32_t base; - } u_yaw_rate; - u_yaw_rate.base = 0; - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_yaw_rate.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->yaw_rate = u_yaw_rate.real; - offset += sizeof(this->yaw_rate); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/PositionTarget"; }; - virtual const char * getMD5() override { return "dedb0081aaf8cb20209737746bb49117"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCIn.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCIn.h deleted file mode 100644 index 88110e88..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCIn.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _ROS_mavros_msgs_RCIn_h -#define _ROS_mavros_msgs_RCIn_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class RCIn : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _rssi_type; - _rssi_type rssi; - uint32_t channels_length; - typedef uint16_t _channels_type; - _channels_type st_channels; - _channels_type * channels; - - RCIn(): - header(), - rssi(0), - channels_length(0), st_channels(), channels(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->rssi >> (8 * 0)) & 0xFF; - offset += sizeof(this->rssi); - *(outbuffer + offset + 0) = (this->channels_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->channels_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->channels_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->channels_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->channels_length); - for( uint32_t i = 0; i < channels_length; i++){ - *(outbuffer + offset + 0) = (this->channels[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->channels[i] >> (8 * 1)) & 0xFF; - offset += sizeof(this->channels[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->rssi = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rssi); - uint32_t channels_lengthT = ((uint32_t) (*(inbuffer + offset))); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->channels_length); - if(channels_lengthT > channels_length) - this->channels = (uint16_t*)realloc(this->channels, channels_lengthT * sizeof(uint16_t)); - channels_length = channels_lengthT; - for( uint32_t i = 0; i < channels_length; i++){ - this->st_channels = ((uint16_t) (*(inbuffer + offset))); - this->st_channels |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->st_channels); - memcpy( &(this->channels[i]), &(this->st_channels), sizeof(uint16_t)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/RCIn"; }; - virtual const char * getMD5() override { return "1c3eafdb5efbcda3c334e1788bbcfe39"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCOut.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCOut.h deleted file mode 100644 index 7744beb1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RCOut.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _ROS_mavros_msgs_RCOut_h -#define _ROS_mavros_msgs_RCOut_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class RCOut : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t channels_length; - typedef uint16_t _channels_type; - _channels_type st_channels; - _channels_type * channels; - - RCOut(): - header(), - channels_length(0), st_channels(), channels(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->channels_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->channels_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->channels_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->channels_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->channels_length); - for( uint32_t i = 0; i < channels_length; i++){ - *(outbuffer + offset + 0) = (this->channels[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->channels[i] >> (8 * 1)) & 0xFF; - offset += sizeof(this->channels[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t channels_lengthT = ((uint32_t) (*(inbuffer + offset))); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->channels_length); - if(channels_lengthT > channels_length) - this->channels = (uint16_t*)realloc(this->channels, channels_lengthT * sizeof(uint16_t)); - channels_length = channels_lengthT; - for( uint32_t i = 0; i < channels_length; i++){ - this->st_channels = ((uint16_t) (*(inbuffer + offset))); - this->st_channels |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->st_channels); - memcpy( &(this->channels[i]), &(this->st_channels), sizeof(uint16_t)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/RCOut"; }; - virtual const char * getMD5() override { return "52cacf104bab5ae3b103cfe176590713"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTCM.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTCM.h deleted file mode 100644 index 69ad95a6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTCM.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef _ROS_mavros_msgs_RTCM_h -#define _ROS_mavros_msgs_RTCM_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class RTCM : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - - RTCM(): - header(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/RTCM"; }; - virtual const char * getMD5() override { return "8903b686ebe5db3477e83c6d0bb149f8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTKBaseline.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTKBaseline.h deleted file mode 100644 index ec45d4b0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RTKBaseline.h +++ /dev/null @@ -1,225 +0,0 @@ -#ifndef _ROS_mavros_msgs_RTKBaseline_h -#define _ROS_mavros_msgs_RTKBaseline_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class RTKBaseline : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint32_t _time_last_baseline_ms_type; - _time_last_baseline_ms_type time_last_baseline_ms; - typedef uint8_t _rtk_receiver_id_type; - _rtk_receiver_id_type rtk_receiver_id; - typedef uint16_t _wn_type; - _wn_type wn; - typedef uint32_t _tow_type; - _tow_type tow; - typedef uint8_t _rtk_health_type; - _rtk_health_type rtk_health; - typedef uint8_t _rtk_rate_type; - _rtk_rate_type rtk_rate; - typedef uint8_t _nsats_type; - _nsats_type nsats; - typedef uint8_t _baseline_coords_type_type; - _baseline_coords_type_type baseline_coords_type; - typedef int32_t _baseline_a_mm_type; - _baseline_a_mm_type baseline_a_mm; - typedef int32_t _baseline_b_mm_type; - _baseline_b_mm_type baseline_b_mm; - typedef int32_t _baseline_c_mm_type; - _baseline_c_mm_type baseline_c_mm; - typedef uint32_t _accuracy_type; - _accuracy_type accuracy; - typedef int32_t _iar_num_hypotheses_type; - _iar_num_hypotheses_type iar_num_hypotheses; - enum { RTK_BASELINE_COORDINATE_SYSTEM_ECEF = 0 }; - enum { RTK_BASELINE_COORDINATE_SYSTEM_NED = 1 }; - - RTKBaseline(): - header(), - time_last_baseline_ms(0), - rtk_receiver_id(0), - wn(0), - tow(0), - rtk_health(0), - rtk_rate(0), - nsats(0), - baseline_coords_type(0), - baseline_a_mm(0), - baseline_b_mm(0), - baseline_c_mm(0), - accuracy(0), - iar_num_hypotheses(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->time_last_baseline_ms >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_last_baseline_ms >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_last_baseline_ms >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_last_baseline_ms >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_last_baseline_ms); - *(outbuffer + offset + 0) = (this->rtk_receiver_id >> (8 * 0)) & 0xFF; - offset += sizeof(this->rtk_receiver_id); - *(outbuffer + offset + 0) = (this->wn >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wn >> (8 * 1)) & 0xFF; - offset += sizeof(this->wn); - *(outbuffer + offset + 0) = (this->tow >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->tow >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->tow >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->tow >> (8 * 3)) & 0xFF; - offset += sizeof(this->tow); - *(outbuffer + offset + 0) = (this->rtk_health >> (8 * 0)) & 0xFF; - offset += sizeof(this->rtk_health); - *(outbuffer + offset + 0) = (this->rtk_rate >> (8 * 0)) & 0xFF; - offset += sizeof(this->rtk_rate); - *(outbuffer + offset + 0) = (this->nsats >> (8 * 0)) & 0xFF; - offset += sizeof(this->nsats); - *(outbuffer + offset + 0) = (this->baseline_coords_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->baseline_coords_type); - union { - int32_t real; - uint32_t base; - } u_baseline_a_mm; - u_baseline_a_mm.real = this->baseline_a_mm; - *(outbuffer + offset + 0) = (u_baseline_a_mm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_baseline_a_mm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_baseline_a_mm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_baseline_a_mm.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->baseline_a_mm); - union { - int32_t real; - uint32_t base; - } u_baseline_b_mm; - u_baseline_b_mm.real = this->baseline_b_mm; - *(outbuffer + offset + 0) = (u_baseline_b_mm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_baseline_b_mm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_baseline_b_mm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_baseline_b_mm.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->baseline_b_mm); - union { - int32_t real; - uint32_t base; - } u_baseline_c_mm; - u_baseline_c_mm.real = this->baseline_c_mm; - *(outbuffer + offset + 0) = (u_baseline_c_mm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_baseline_c_mm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_baseline_c_mm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_baseline_c_mm.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->baseline_c_mm); - *(outbuffer + offset + 0) = (this->accuracy >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->accuracy >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->accuracy >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->accuracy >> (8 * 3)) & 0xFF; - offset += sizeof(this->accuracy); - union { - int32_t real; - uint32_t base; - } u_iar_num_hypotheses; - u_iar_num_hypotheses.real = this->iar_num_hypotheses; - *(outbuffer + offset + 0) = (u_iar_num_hypotheses.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_iar_num_hypotheses.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_iar_num_hypotheses.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_iar_num_hypotheses.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->iar_num_hypotheses); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->time_last_baseline_ms = ((uint32_t) (*(inbuffer + offset))); - this->time_last_baseline_ms |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_last_baseline_ms |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_last_baseline_ms |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_last_baseline_ms); - this->rtk_receiver_id = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rtk_receiver_id); - this->wn = ((uint16_t) (*(inbuffer + offset))); - this->wn |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->wn); - this->tow = ((uint32_t) (*(inbuffer + offset))); - this->tow |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->tow |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->tow |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->tow); - this->rtk_health = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rtk_health); - this->rtk_rate = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rtk_rate); - this->nsats = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->nsats); - this->baseline_coords_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->baseline_coords_type); - union { - int32_t real; - uint32_t base; - } u_baseline_a_mm; - u_baseline_a_mm.base = 0; - u_baseline_a_mm.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_baseline_a_mm.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_baseline_a_mm.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_baseline_a_mm.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->baseline_a_mm = u_baseline_a_mm.real; - offset += sizeof(this->baseline_a_mm); - union { - int32_t real; - uint32_t base; - } u_baseline_b_mm; - u_baseline_b_mm.base = 0; - u_baseline_b_mm.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_baseline_b_mm.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_baseline_b_mm.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_baseline_b_mm.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->baseline_b_mm = u_baseline_b_mm.real; - offset += sizeof(this->baseline_b_mm); - union { - int32_t real; - uint32_t base; - } u_baseline_c_mm; - u_baseline_c_mm.base = 0; - u_baseline_c_mm.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_baseline_c_mm.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_baseline_c_mm.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_baseline_c_mm.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->baseline_c_mm = u_baseline_c_mm.real; - offset += sizeof(this->baseline_c_mm); - this->accuracy = ((uint32_t) (*(inbuffer + offset))); - this->accuracy |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->accuracy |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->accuracy |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->accuracy); - union { - int32_t real; - uint32_t base; - } u_iar_num_hypotheses; - u_iar_num_hypotheses.base = 0; - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_iar_num_hypotheses.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->iar_num_hypotheses = u_iar_num_hypotheses.real; - offset += sizeof(this->iar_num_hypotheses); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/RTKBaseline"; }; - virtual const char * getMD5() override { return "bd5852b76aa13136cec34a65089dfdb2"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RadioStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RadioStatus.h deleted file mode 100644 index 13df7c04..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/RadioStatus.h +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef _ROS_mavros_msgs_RadioStatus_h -#define _ROS_mavros_msgs_RadioStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class RadioStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _rssi_type; - _rssi_type rssi; - typedef uint8_t _remrssi_type; - _remrssi_type remrssi; - typedef uint8_t _txbuf_type; - _txbuf_type txbuf; - typedef uint8_t _noise_type; - _noise_type noise; - typedef uint8_t _remnoise_type; - _remnoise_type remnoise; - typedef uint16_t _rxerrors_type; - _rxerrors_type rxerrors; - typedef uint16_t _fixed_type; - _fixed_type fixed; - typedef float _rssi_dbm_type; - _rssi_dbm_type rssi_dbm; - typedef float _remrssi_dbm_type; - _remrssi_dbm_type remrssi_dbm; - - RadioStatus(): - header(), - rssi(0), - remrssi(0), - txbuf(0), - noise(0), - remnoise(0), - rxerrors(0), - fixed(0), - rssi_dbm(0), - remrssi_dbm(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->rssi >> (8 * 0)) & 0xFF; - offset += sizeof(this->rssi); - *(outbuffer + offset + 0) = (this->remrssi >> (8 * 0)) & 0xFF; - offset += sizeof(this->remrssi); - *(outbuffer + offset + 0) = (this->txbuf >> (8 * 0)) & 0xFF; - offset += sizeof(this->txbuf); - *(outbuffer + offset + 0) = (this->noise >> (8 * 0)) & 0xFF; - offset += sizeof(this->noise); - *(outbuffer + offset + 0) = (this->remnoise >> (8 * 0)) & 0xFF; - offset += sizeof(this->remnoise); - *(outbuffer + offset + 0) = (this->rxerrors >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->rxerrors >> (8 * 1)) & 0xFF; - offset += sizeof(this->rxerrors); - *(outbuffer + offset + 0) = (this->fixed >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->fixed >> (8 * 1)) & 0xFF; - offset += sizeof(this->fixed); - union { - float real; - uint32_t base; - } u_rssi_dbm; - u_rssi_dbm.real = this->rssi_dbm; - *(outbuffer + offset + 0) = (u_rssi_dbm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_rssi_dbm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_rssi_dbm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_rssi_dbm.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->rssi_dbm); - union { - float real; - uint32_t base; - } u_remrssi_dbm; - u_remrssi_dbm.real = this->remrssi_dbm; - *(outbuffer + offset + 0) = (u_remrssi_dbm.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_remrssi_dbm.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_remrssi_dbm.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_remrssi_dbm.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->remrssi_dbm); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->rssi = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->rssi); - this->remrssi = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->remrssi); - this->txbuf = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->txbuf); - this->noise = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->noise); - this->remnoise = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->remnoise); - this->rxerrors = ((uint16_t) (*(inbuffer + offset))); - this->rxerrors |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->rxerrors); - this->fixed = ((uint16_t) (*(inbuffer + offset))); - this->fixed |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->fixed); - union { - float real; - uint32_t base; - } u_rssi_dbm; - u_rssi_dbm.base = 0; - u_rssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_rssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_rssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_rssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->rssi_dbm = u_rssi_dbm.real; - offset += sizeof(this->rssi_dbm); - union { - float real; - uint32_t base; - } u_remrssi_dbm; - u_remrssi_dbm.base = 0; - u_remrssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_remrssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_remrssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_remrssi_dbm.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->remrssi_dbm = u_remrssi_dbm.real; - offset += sizeof(this->remrssi_dbm); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/RadioStatus"; }; - virtual const char * getMD5() override { return "04e4a879bb2687140da50a1a821e2190"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMavFrame.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMavFrame.h deleted file mode 100644 index b6630532..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMavFrame.h +++ /dev/null @@ -1,117 +0,0 @@ -#ifndef _ROS_SERVICE_SetMavFrame_h -#define _ROS_SERVICE_SetMavFrame_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char SETMAVFRAME[] = "mavros_msgs/SetMavFrame"; - - class SetMavFrameRequest : public ros::Msg - { - public: - typedef uint8_t _mav_frame_type; - _mav_frame_type mav_frame; - enum { FRAME_GLOBAL = 0 }; - enum { FRAME_LOCAL_NED = 1 }; - enum { FRAME_MISSION = 2 }; - enum { FRAME_GLOBAL_RELATIVE_ALT = 3 }; - enum { FRAME_LOCAL_ENU = 4 }; - enum { FRAME_GLOBAL_INT = 5 }; - enum { FRAME_GLOBAL_RELATIVE_ALT_INT = 6 }; - enum { FRAME_LOCAL_OFFSET_NED = 7 }; - enum { FRAME_BODY_NED = 8 }; - enum { FRAME_BODY_OFFSET_NED = 9 }; - enum { FRAME_GLOBAL_TERRAIN_ALT = 10 }; - enum { FRAME_GLOBAL_TERRAIN_ALT_INT = 11 }; - enum { FRAME_BODY_FRD = 12 }; - enum { FRAME_RESERVED_13 = 13 }; - enum { FRAME_RESERVED_14 = 14 }; - enum { FRAME_RESERVED_15 = 15 }; - enum { FRAME_RESERVED_16 = 16 }; - enum { FRAME_RESERVED_17 = 17 }; - enum { FRAME_RESERVED_18 = 18 }; - enum { FRAME_RESERVED_19 = 19 }; - enum { FRAME_LOCAL_FRD = 20 }; - enum { FRAME_LOCAL_FLU = 21 }; - - SetMavFrameRequest(): - mav_frame(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->mav_frame >> (8 * 0)) & 0xFF; - offset += sizeof(this->mav_frame); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->mav_frame = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->mav_frame); - return offset; - } - - virtual const char * getType() override { return SETMAVFRAME; }; - virtual const char * getMD5() override { return "10d9e03dcd8d648e58b34bad2a28091f"; }; - - }; - - class SetMavFrameResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - SetMavFrameResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return SETMAVFRAME; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class SetMavFrame { - public: - typedef SetMavFrameRequest Request; - typedef SetMavFrameResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMode.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMode.h deleted file mode 100644 index a9cc53b2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/SetMode.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef _ROS_SERVICE_SetMode_h -#define _ROS_SERVICE_SetMode_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char SETMODE[] = "mavros_msgs/SetMode"; - - class SetModeRequest : public ros::Msg - { - public: - typedef uint8_t _base_mode_type; - _base_mode_type base_mode; - typedef const char* _custom_mode_type; - _custom_mode_type custom_mode; - enum { MAV_MODE_PREFLIGHT = 0 }; - enum { MAV_MODE_STABILIZE_DISARMED = 80 }; - enum { MAV_MODE_STABILIZE_ARMED = 208 }; - enum { MAV_MODE_MANUAL_DISARMED = 64 }; - enum { MAV_MODE_MANUAL_ARMED = 192 }; - enum { MAV_MODE_GUIDED_DISARMED = 88 }; - enum { MAV_MODE_GUIDED_ARMED = 216 }; - enum { MAV_MODE_AUTO_DISARMED = 92 }; - enum { MAV_MODE_AUTO_ARMED = 220 }; - enum { MAV_MODE_TEST_DISARMED = 66 }; - enum { MAV_MODE_TEST_ARMED = 194 }; - - SetModeRequest(): - base_mode(0), - custom_mode("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->base_mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->base_mode); - uint32_t length_custom_mode = strlen(this->custom_mode); - varToArr(outbuffer + offset, length_custom_mode); - offset += 4; - memcpy(outbuffer + offset, this->custom_mode, length_custom_mode); - offset += length_custom_mode; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->base_mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->base_mode); - uint32_t length_custom_mode; - arrToVar(length_custom_mode, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_custom_mode; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_custom_mode-1]=0; - this->custom_mode = (char *)(inbuffer + offset-1); - offset += length_custom_mode; - return offset; - } - - virtual const char * getType() override { return SETMODE; }; - virtual const char * getMD5() override { return "d770431847cad3a8f50a81ec70ddf0e2"; }; - - }; - - class SetModeResponse : public ros::Msg - { - public: - typedef bool _mode_sent_type; - _mode_sent_type mode_sent; - - SetModeResponse(): - mode_sent(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_mode_sent; - u_mode_sent.real = this->mode_sent; - *(outbuffer + offset + 0) = (u_mode_sent.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->mode_sent); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_mode_sent; - u_mode_sent.base = 0; - u_mode_sent.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->mode_sent = u_mode_sent.real; - offset += sizeof(this->mode_sent); - return offset; - } - - virtual const char * getType() override { return SETMODE; }; - virtual const char * getMD5() override { return "a70bfe6329ecf8f8d858daa6f3db7655"; }; - - }; - - class SetMode { - public: - typedef SetModeRequest Request; - typedef SetModeResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/State.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/State.h deleted file mode 100644 index 5cd4ebfd..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/State.h +++ /dev/null @@ -1,202 +0,0 @@ -#ifndef _ROS_mavros_msgs_State_h -#define _ROS_mavros_msgs_State_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class State : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef bool _connected_type; - _connected_type connected; - typedef bool _armed_type; - _armed_type armed; - typedef bool _guided_type; - _guided_type guided; - typedef bool _manual_input_type; - _manual_input_type manual_input; - typedef const char* _mode_type; - _mode_type mode; - typedef uint8_t _system_status_type; - _system_status_type system_status; - enum { MODE_APM_PLANE_MANUAL = MANUAL }; - enum { MODE_APM_PLANE_CIRCLE = CIRCLE }; - enum { MODE_APM_PLANE_STABILIZE = STABILIZE }; - enum { MODE_APM_PLANE_TRAINING = TRAINING }; - enum { MODE_APM_PLANE_ACRO = ACRO }; - enum { MODE_APM_PLANE_FBWA = FBWA }; - enum { MODE_APM_PLANE_FBWB = FBWB }; - enum { MODE_APM_PLANE_CRUISE = CRUISE }; - enum { MODE_APM_PLANE_AUTOTUNE = AUTOTUNE }; - enum { MODE_APM_PLANE_AUTO = AUTO }; - enum { MODE_APM_PLANE_RTL = RTL }; - enum { MODE_APM_PLANE_LOITER = LOITER }; - enum { MODE_APM_PLANE_LAND = LAND }; - enum { MODE_APM_PLANE_GUIDED = GUIDED }; - enum { MODE_APM_PLANE_INITIALISING = INITIALISING }; - enum { MODE_APM_PLANE_QSTABILIZE = QSTABILIZE }; - enum { MODE_APM_PLANE_QHOVER = QHOVER }; - enum { MODE_APM_PLANE_QLOITER = QLOITER }; - enum { MODE_APM_PLANE_QLAND = QLAND }; - enum { MODE_APM_PLANE_QRTL = QRTL }; - enum { MODE_APM_COPTER_STABILIZE = STABILIZE }; - enum { MODE_APM_COPTER_ACRO = ACRO }; - enum { MODE_APM_COPTER_ALT_HOLD = ALT_HOLD }; - enum { MODE_APM_COPTER_AUTO = AUTO }; - enum { MODE_APM_COPTER_GUIDED = GUIDED }; - enum { MODE_APM_COPTER_LOITER = LOITER }; - enum { MODE_APM_COPTER_RTL = RTL }; - enum { MODE_APM_COPTER_CIRCLE = CIRCLE }; - enum { MODE_APM_COPTER_POSITION = POSITION }; - enum { MODE_APM_COPTER_LAND = LAND }; - enum { MODE_APM_COPTER_OF_LOITER = OF_LOITER }; - enum { MODE_APM_COPTER_DRIFT = DRIFT }; - enum { MODE_APM_COPTER_SPORT = SPORT }; - enum { MODE_APM_COPTER_FLIP = FLIP }; - enum { MODE_APM_COPTER_AUTOTUNE = AUTOTUNE }; - enum { MODE_APM_COPTER_POSHOLD = POSHOLD }; - enum { MODE_APM_COPTER_BRAKE = BRAKE }; - enum { MODE_APM_COPTER_THROW = THROW }; - enum { MODE_APM_COPTER_AVOID_ADSB = AVOID_ADSB }; - enum { MODE_APM_COPTER_GUIDED_NOGPS = GUIDED_NOGPS }; - enum { MODE_APM_ROVER_MANUAL = MANUAL }; - enum { MODE_APM_ROVER_LEARNING = LEARNING }; - enum { MODE_APM_ROVER_STEERING = STEERING }; - enum { MODE_APM_ROVER_HOLD = HOLD }; - enum { MODE_APM_ROVER_AUTO = AUTO }; - enum { MODE_APM_ROVER_RTL = RTL }; - enum { MODE_APM_ROVER_GUIDED = GUIDED }; - enum { MODE_APM_ROVER_INITIALISING = INITIALISING }; - enum { MODE_PX4_MANUAL = MANUAL }; - enum { MODE_PX4_ACRO = ACRO }; - enum { MODE_PX4_ALTITUDE = ALTCTL }; - enum { MODE_PX4_POSITION = POSCTL }; - enum { MODE_PX4_OFFBOARD = OFFBOARD }; - enum { MODE_PX4_STABILIZED = STABILIZED }; - enum { MODE_PX4_RATTITUDE = RATTITUDE }; - enum { MODE_PX4_MISSION = AUTO.MISSION }; - enum { MODE_PX4_LOITER = AUTO.LOITER }; - enum { MODE_PX4_RTL = AUTO.RTL }; - enum { MODE_PX4_LAND = AUTO.LAND }; - enum { MODE_PX4_RTGS = AUTO.RTGS }; - enum { MODE_PX4_READY = AUTO.READY }; - enum { MODE_PX4_TAKEOFF = AUTO.TAKEOFF }; - - State(): - header(), - connected(0), - armed(0), - guided(0), - manual_input(0), - mode(""), - system_status(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_connected; - u_connected.real = this->connected; - *(outbuffer + offset + 0) = (u_connected.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->connected); - union { - bool real; - uint8_t base; - } u_armed; - u_armed.real = this->armed; - *(outbuffer + offset + 0) = (u_armed.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->armed); - union { - bool real; - uint8_t base; - } u_guided; - u_guided.real = this->guided; - *(outbuffer + offset + 0) = (u_guided.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->guided); - union { - bool real; - uint8_t base; - } u_manual_input; - u_manual_input.real = this->manual_input; - *(outbuffer + offset + 0) = (u_manual_input.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->manual_input); - uint32_t length_mode = strlen(this->mode); - varToArr(outbuffer + offset, length_mode); - offset += 4; - memcpy(outbuffer + offset, this->mode, length_mode); - offset += length_mode; - *(outbuffer + offset + 0) = (this->system_status >> (8 * 0)) & 0xFF; - offset += sizeof(this->system_status); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_connected; - u_connected.base = 0; - u_connected.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->connected = u_connected.real; - offset += sizeof(this->connected); - union { - bool real; - uint8_t base; - } u_armed; - u_armed.base = 0; - u_armed.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->armed = u_armed.real; - offset += sizeof(this->armed); - union { - bool real; - uint8_t base; - } u_guided; - u_guided.base = 0; - u_guided.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->guided = u_guided.real; - offset += sizeof(this->guided); - union { - bool real; - uint8_t base; - } u_manual_input; - u_manual_input.base = 0; - u_manual_input.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->manual_input = u_manual_input.real; - offset += sizeof(this->manual_input); - uint32_t length_mode; - arrToVar(length_mode, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_mode; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_mode-1]=0; - this->mode = (char *)(inbuffer + offset-1); - offset += length_mode; - this->system_status = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->system_status); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/State"; }; - virtual const char * getMD5() override { return "65cd0a9fff993b062b91e354554ec7e9"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StatusText.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StatusText.h deleted file mode 100644 index 35b44134..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StatusText.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _ROS_mavros_msgs_StatusText_h -#define _ROS_mavros_msgs_StatusText_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class StatusText : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _severity_type; - _severity_type severity; - typedef const char* _text_type; - _text_type text; - enum { EMERGENCY = 0 }; - enum { ALERT = 1 }; - enum { CRITICAL = 2 }; - enum { ERROR = 3 }; - enum { WARNING = 4 }; - enum { NOTICE = 5 }; - enum { INFO = 6 }; - enum { DEBUG = 7 }; - - StatusText(): - header(), - severity(0), - text("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->severity >> (8 * 0)) & 0xFF; - offset += sizeof(this->severity); - uint32_t length_text = strlen(this->text); - varToArr(outbuffer + offset, length_text); - offset += 4; - memcpy(outbuffer + offset, this->text, length_text); - offset += length_text; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->severity = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->severity); - uint32_t length_text; - arrToVar(length_text, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_text; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_text-1]=0; - this->text = (char *)(inbuffer + offset-1); - offset += length_text; - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/StatusText"; }; - virtual const char * getMD5() override { return "6cfd33cd09e4abf5841d7be3c770a969"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StreamRate.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StreamRate.h deleted file mode 100644 index 492b313a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/StreamRate.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef _ROS_SERVICE_StreamRate_h -#define _ROS_SERVICE_StreamRate_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char STREAMRATE[] = "mavros_msgs/StreamRate"; - - class StreamRateRequest : public ros::Msg - { - public: - typedef uint8_t _stream_id_type; - _stream_id_type stream_id; - typedef uint16_t _message_rate_type; - _message_rate_type message_rate; - typedef bool _on_off_type; - _on_off_type on_off; - enum { STREAM_ALL = 0 }; - enum { STREAM_RAW_SENSORS = 1 }; - enum { STREAM_EXTENDED_STATUS = 2 }; - enum { STREAM_RC_CHANNELS = 3 }; - enum { STREAM_RAW_CONTROLLER = 4 }; - enum { STREAM_POSITION = 6 }; - enum { STREAM_EXTRA1 = 10 }; - enum { STREAM_EXTRA2 = 11 }; - enum { STREAM_EXTRA3 = 12 }; - - StreamRateRequest(): - stream_id(0), - message_rate(0), - on_off(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->stream_id >> (8 * 0)) & 0xFF; - offset += sizeof(this->stream_id); - *(outbuffer + offset + 0) = (this->message_rate >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->message_rate >> (8 * 1)) & 0xFF; - offset += sizeof(this->message_rate); - union { - bool real; - uint8_t base; - } u_on_off; - u_on_off.real = this->on_off; - *(outbuffer + offset + 0) = (u_on_off.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->on_off); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->stream_id = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->stream_id); - this->message_rate = ((uint16_t) (*(inbuffer + offset))); - this->message_rate |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->message_rate); - union { - bool real; - uint8_t base; - } u_on_off; - u_on_off.base = 0; - u_on_off.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->on_off = u_on_off.real; - offset += sizeof(this->on_off); - return offset; - } - - virtual const char * getType() override { return STREAMRATE; }; - virtual const char * getMD5() override { return "d12f7661724c8ba25f67ba597bb7d039"; }; - - }; - - class StreamRateResponse : public ros::Msg - { - public: - - StreamRateResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return STREAMRATE; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class StreamRate { - public: - typedef StreamRateRequest Request; - typedef StreamRateResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TerrainReport.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TerrainReport.h deleted file mode 100644 index 44f3d5d9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TerrainReport.h +++ /dev/null @@ -1,183 +0,0 @@ -#ifndef _ROS_mavros_msgs_TerrainReport_h -#define _ROS_mavros_msgs_TerrainReport_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class TerrainReport : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _latitude_type; - _latitude_type latitude; - typedef double _longitude_type; - _longitude_type longitude; - typedef uint16_t _spacing_type; - _spacing_type spacing; - typedef float _terrain_height_type; - _terrain_height_type terrain_height; - typedef float _current_height_type; - _current_height_type current_height; - typedef uint16_t _pending_type; - _pending_type pending; - typedef uint16_t _loaded_type; - _loaded_type loaded; - - TerrainReport(): - header(), - latitude(0), - longitude(0), - spacing(0), - terrain_height(0), - current_height(0), - pending(0), - loaded(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_latitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_latitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_latitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_latitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_longitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_longitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_longitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_longitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->longitude); - *(outbuffer + offset + 0) = (this->spacing >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->spacing >> (8 * 1)) & 0xFF; - offset += sizeof(this->spacing); - union { - float real; - uint32_t base; - } u_terrain_height; - u_terrain_height.real = this->terrain_height; - *(outbuffer + offset + 0) = (u_terrain_height.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_terrain_height.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_terrain_height.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_terrain_height.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->terrain_height); - union { - float real; - uint32_t base; - } u_current_height; - u_current_height.real = this->current_height; - *(outbuffer + offset + 0) = (u_current_height.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_current_height.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_current_height.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_current_height.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->current_height); - *(outbuffer + offset + 0) = (this->pending >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->pending >> (8 * 1)) & 0xFF; - offset += sizeof(this->pending); - *(outbuffer + offset + 0) = (this->loaded >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->loaded >> (8 * 1)) & 0xFF; - offset += sizeof(this->loaded); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - this->spacing = ((uint16_t) (*(inbuffer + offset))); - this->spacing |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->spacing); - union { - float real; - uint32_t base; - } u_terrain_height; - u_terrain_height.base = 0; - u_terrain_height.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_terrain_height.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_terrain_height.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_terrain_height.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->terrain_height = u_terrain_height.real; - offset += sizeof(this->terrain_height); - union { - float real; - uint32_t base; - } u_current_height; - u_current_height.base = 0; - u_current_height.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_current_height.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_current_height.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_current_height.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->current_height = u_current_height.real; - offset += sizeof(this->current_height); - this->pending = ((uint16_t) (*(inbuffer + offset))); - this->pending |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->pending); - this->loaded = ((uint16_t) (*(inbuffer + offset))); - this->loaded |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->loaded); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/TerrainReport"; }; - virtual const char * getMD5() override { return "f658be3a775aa38d678b427733ae0139"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Thrust.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Thrust.h deleted file mode 100644 index dd29b125..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Thrust.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _ROS_mavros_msgs_Thrust_h -#define _ROS_mavros_msgs_Thrust_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class Thrust : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _thrust_type; - _thrust_type thrust; - - Thrust(): - header(), - thrust(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_thrust; - u_thrust.real = this->thrust; - *(outbuffer + offset + 0) = (u_thrust.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_thrust.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_thrust.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_thrust.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->thrust); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_thrust; - u_thrust.base = 0; - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_thrust.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->thrust = u_thrust.real; - offset += sizeof(this->thrust); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Thrust"; }; - virtual const char * getMD5() override { return "c61da3a8868a8b502eaf0b0abd839f57"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TimesyncStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TimesyncStatus.h deleted file mode 100644 index caed174e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/TimesyncStatus.h +++ /dev/null @@ -1,153 +0,0 @@ -#ifndef _ROS_mavros_msgs_TimesyncStatus_h -#define _ROS_mavros_msgs_TimesyncStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class TimesyncStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint64_t _remote_timestamp_ns_type; - _remote_timestamp_ns_type remote_timestamp_ns; - typedef int64_t _observed_offset_ns_type; - _observed_offset_ns_type observed_offset_ns; - typedef int64_t _estimated_offset_ns_type; - _estimated_offset_ns_type estimated_offset_ns; - typedef float _round_trip_time_ms_type; - _round_trip_time_ms_type round_trip_time_ms; - - TimesyncStatus(): - header(), - remote_timestamp_ns(0), - observed_offset_ns(0), - estimated_offset_ns(0), - round_trip_time_ms(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->remote_timestamp_ns >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->remote_timestamp_ns >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->remote_timestamp_ns >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->remote_timestamp_ns >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->remote_timestamp_ns >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->remote_timestamp_ns >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->remote_timestamp_ns >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->remote_timestamp_ns >> (8 * 7)) & 0xFF; - offset += sizeof(this->remote_timestamp_ns); - union { - int64_t real; - uint64_t base; - } u_observed_offset_ns; - u_observed_offset_ns.real = this->observed_offset_ns; - *(outbuffer + offset + 0) = (u_observed_offset_ns.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_observed_offset_ns.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_observed_offset_ns.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_observed_offset_ns.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_observed_offset_ns.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_observed_offset_ns.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_observed_offset_ns.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_observed_offset_ns.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->observed_offset_ns); - union { - int64_t real; - uint64_t base; - } u_estimated_offset_ns; - u_estimated_offset_ns.real = this->estimated_offset_ns; - *(outbuffer + offset + 0) = (u_estimated_offset_ns.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_estimated_offset_ns.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_estimated_offset_ns.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_estimated_offset_ns.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_estimated_offset_ns.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_estimated_offset_ns.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_estimated_offset_ns.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_estimated_offset_ns.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->estimated_offset_ns); - union { - float real; - uint32_t base; - } u_round_trip_time_ms; - u_round_trip_time_ms.real = this->round_trip_time_ms; - *(outbuffer + offset + 0) = (u_round_trip_time_ms.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_round_trip_time_ms.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_round_trip_time_ms.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_round_trip_time_ms.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->round_trip_time_ms); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->remote_timestamp_ns = ((uint64_t) (*(inbuffer + offset))); - this->remote_timestamp_ns |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->remote_timestamp_ns |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->remote_timestamp_ns |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->remote_timestamp_ns |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->remote_timestamp_ns |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->remote_timestamp_ns |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->remote_timestamp_ns |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->remote_timestamp_ns); - union { - int64_t real; - uint64_t base; - } u_observed_offset_ns; - u_observed_offset_ns.base = 0; - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_observed_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->observed_offset_ns = u_observed_offset_ns.real; - offset += sizeof(this->observed_offset_ns); - union { - int64_t real; - uint64_t base; - } u_estimated_offset_ns; - u_estimated_offset_ns.base = 0; - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_estimated_offset_ns.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->estimated_offset_ns = u_estimated_offset_ns.real; - offset += sizeof(this->estimated_offset_ns); - union { - float real; - uint32_t base; - } u_round_trip_time_ms; - u_round_trip_time_ms.base = 0; - u_round_trip_time_ms.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_round_trip_time_ms.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_round_trip_time_ms.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_round_trip_time_ms.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->round_trip_time_ms = u_round_trip_time_ms.real; - offset += sizeof(this->round_trip_time_ms); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/TimesyncStatus"; }; - virtual const char * getMD5() override { return "021ec8044e747bea518b441f374ba64b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Trajectory.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Trajectory.h deleted file mode 100644 index f6df7897..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Trajectory.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef _ROS_mavros_msgs_Trajectory_h -#define _ROS_mavros_msgs_Trajectory_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "mavros_msgs/PositionTarget.h" - -namespace mavros_msgs -{ - - class Trajectory : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _type_type; - _type_type type; - typedef mavros_msgs::PositionTarget _point_1_type; - _point_1_type point_1; - typedef mavros_msgs::PositionTarget _point_2_type; - _point_2_type point_2; - typedef mavros_msgs::PositionTarget _point_3_type; - _point_3_type point_3; - typedef mavros_msgs::PositionTarget _point_4_type; - _point_4_type point_4; - typedef mavros_msgs::PositionTarget _point_5_type; - _point_5_type point_5; - uint8_t point_valid[5]; - uint16_t command[5]; - float time_horizon[5]; - enum { MAV_TRAJECTORY_REPRESENTATION_WAYPOINTS = 0 }; - enum { MAV_TRAJECTORY_REPRESENTATION_BEZIER = 1 }; - - Trajectory(): - header(), - type(0), - point_1(), - point_2(), - point_3(), - point_4(), - point_5(), - point_valid(), - command(), - time_horizon() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - offset += this->point_1.serialize(outbuffer + offset); - offset += this->point_2.serialize(outbuffer + offset); - offset += this->point_3.serialize(outbuffer + offset); - offset += this->point_4.serialize(outbuffer + offset); - offset += this->point_5.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 5; i++){ - *(outbuffer + offset + 0) = (this->point_valid[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->point_valid[i]); - } - for( uint32_t i = 0; i < 5; i++){ - *(outbuffer + offset + 0) = (this->command[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->command[i] >> (8 * 1)) & 0xFF; - offset += sizeof(this->command[i]); - } - for( uint32_t i = 0; i < 5; i++){ - union { - float real; - uint32_t base; - } u_time_horizoni; - u_time_horizoni.real = this->time_horizon[i]; - *(outbuffer + offset + 0) = (u_time_horizoni.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_time_horizoni.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_time_horizoni.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_time_horizoni.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_horizon[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - offset += this->point_1.deserialize(inbuffer + offset); - offset += this->point_2.deserialize(inbuffer + offset); - offset += this->point_3.deserialize(inbuffer + offset); - offset += this->point_4.deserialize(inbuffer + offset); - offset += this->point_5.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 5; i++){ - this->point_valid[i] = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->point_valid[i]); - } - for( uint32_t i = 0; i < 5; i++){ - this->command[i] = ((uint16_t) (*(inbuffer + offset))); - this->command[i] |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->command[i]); - } - for( uint32_t i = 0; i < 5; i++){ - union { - float real; - uint32_t base; - } u_time_horizoni; - u_time_horizoni.base = 0; - u_time_horizoni.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_time_horizoni.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_time_horizoni.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_time_horizoni.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->time_horizon[i] = u_time_horizoni.real; - offset += sizeof(this->time_horizon[i]); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Trajectory"; }; - virtual const char * getMD5() override { return "477b47a103394ad6be940e5705f338e8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Tunnel.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Tunnel.h deleted file mode 100644 index b15ec7af..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Tunnel.h +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef _ROS_mavros_msgs_Tunnel_h -#define _ROS_mavros_msgs_Tunnel_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class Tunnel : public ros::Msg - { - public: - typedef uint8_t _target_system_type; - _target_system_type target_system; - typedef uint8_t _target_component_type; - _target_component_type target_component; - typedef uint16_t _payload_type_type; - _payload_type_type payload_type; - typedef uint8_t _payload_length_type; - _payload_length_type payload_length; - uint8_t payload[128]; - enum { PAYLOAD_TYPE_UNKNOWN = 0 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED0 = 200 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED1 = 201 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED2 = 202 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED3 = 203 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED4 = 204 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED5 = 205 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED6 = 206 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED7 = 207 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED8 = 208 }; - enum { PAYLOAD_TYPE_STORM32_RESERVED9 = 209 }; - - Tunnel(): - target_system(0), - target_component(0), - payload_type(0), - payload_length(0), - payload() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->target_system >> (8 * 0)) & 0xFF; - offset += sizeof(this->target_system); - *(outbuffer + offset + 0) = (this->target_component >> (8 * 0)) & 0xFF; - offset += sizeof(this->target_component); - *(outbuffer + offset + 0) = (this->payload_type >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->payload_type >> (8 * 1)) & 0xFF; - offset += sizeof(this->payload_type); - *(outbuffer + offset + 0) = (this->payload_length >> (8 * 0)) & 0xFF; - offset += sizeof(this->payload_length); - for( uint32_t i = 0; i < 128; i++){ - *(outbuffer + offset + 0) = (this->payload[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->payload[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->target_system = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->target_system); - this->target_component = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->target_component); - this->payload_type = ((uint16_t) (*(inbuffer + offset))); - this->payload_type |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->payload_type); - this->payload_length = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->payload_length); - for( uint32_t i = 0; i < 128; i++){ - this->payload[i] = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->payload[i]); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Tunnel"; }; - virtual const char * getMD5() override { return "6d8c215067d3b319bbb219c37c1ebc5d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VFR_HUD.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VFR_HUD.h deleted file mode 100644 index e0987500..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VFR_HUD.h +++ /dev/null @@ -1,184 +0,0 @@ -#ifndef _ROS_mavros_msgs_VFR_HUD_h -#define _ROS_mavros_msgs_VFR_HUD_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class VFR_HUD : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _airspeed_type; - _airspeed_type airspeed; - typedef float _groundspeed_type; - _groundspeed_type groundspeed; - typedef int16_t _heading_type; - _heading_type heading; - typedef float _throttle_type; - _throttle_type throttle; - typedef float _altitude_type; - _altitude_type altitude; - typedef float _climb_type; - _climb_type climb; - - VFR_HUD(): - header(), - airspeed(0), - groundspeed(0), - heading(0), - throttle(0), - altitude(0), - climb(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_airspeed; - u_airspeed.real = this->airspeed; - *(outbuffer + offset + 0) = (u_airspeed.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_airspeed.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_airspeed.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_airspeed.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->airspeed); - union { - float real; - uint32_t base; - } u_groundspeed; - u_groundspeed.real = this->groundspeed; - *(outbuffer + offset + 0) = (u_groundspeed.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_groundspeed.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_groundspeed.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_groundspeed.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->groundspeed); - union { - int16_t real; - uint16_t base; - } u_heading; - u_heading.real = this->heading; - *(outbuffer + offset + 0) = (u_heading.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_heading.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->heading); - union { - float real; - uint32_t base; - } u_throttle; - u_throttle.real = this->throttle; - *(outbuffer + offset + 0) = (u_throttle.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_throttle.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_throttle.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_throttle.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->throttle); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->altitude); - union { - float real; - uint32_t base; - } u_climb; - u_climb.real = this->climb; - *(outbuffer + offset + 0) = (u_climb.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_climb.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_climb.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_climb.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->climb); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_airspeed; - u_airspeed.base = 0; - u_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_airspeed.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->airspeed = u_airspeed.real; - offset += sizeof(this->airspeed); - union { - float real; - uint32_t base; - } u_groundspeed; - u_groundspeed.base = 0; - u_groundspeed.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_groundspeed.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_groundspeed.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_groundspeed.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->groundspeed = u_groundspeed.real; - offset += sizeof(this->groundspeed); - union { - int16_t real; - uint16_t base; - } u_heading; - u_heading.base = 0; - u_heading.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_heading.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->heading = u_heading.real; - offset += sizeof(this->heading); - union { - float real; - uint32_t base; - } u_throttle; - u_throttle.base = 0; - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_throttle.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->throttle = u_throttle.real; - offset += sizeof(this->throttle); - union { - float real; - uint32_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - union { - float real; - uint32_t base; - } u_climb; - u_climb.base = 0; - u_climb.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_climb.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_climb.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_climb.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->climb = u_climb.real; - offset += sizeof(this->climb); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/VFR_HUD"; }; - virtual const char * getMD5() override { return "1f55e210c3d39fe105d44d8dc963655f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfo.h deleted file mode 100644 index 55d1d8f7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfo.h +++ /dev/null @@ -1,267 +0,0 @@ -#ifndef _ROS_mavros_msgs_VehicleInfo_h -#define _ROS_mavros_msgs_VehicleInfo_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class VehicleInfo : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _available_info_type; - _available_info_type available_info; - typedef uint8_t _sysid_type; - _sysid_type sysid; - typedef uint8_t _compid_type; - _compid_type compid; - typedef uint8_t _autopilot_type; - _autopilot_type autopilot; - typedef uint8_t _type_type; - _type_type type; - typedef uint8_t _system_status_type; - _system_status_type system_status; - typedef uint8_t _base_mode_type; - _base_mode_type base_mode; - typedef uint32_t _custom_mode_type; - _custom_mode_type custom_mode; - typedef const char* _mode_type; - _mode_type mode; - typedef uint32_t _mode_id_type; - _mode_id_type mode_id; - typedef uint64_t _capabilities_type; - _capabilities_type capabilities; - typedef uint32_t _flight_sw_version_type; - _flight_sw_version_type flight_sw_version; - typedef uint32_t _middleware_sw_version_type; - _middleware_sw_version_type middleware_sw_version; - typedef uint32_t _os_sw_version_type; - _os_sw_version_type os_sw_version; - typedef uint32_t _board_version_type; - _board_version_type board_version; - typedef const char* _flight_custom_version_type; - _flight_custom_version_type flight_custom_version; - typedef uint16_t _vendor_id_type; - _vendor_id_type vendor_id; - typedef uint16_t _product_id_type; - _product_id_type product_id; - typedef uint64_t _uid_type; - _uid_type uid; - enum { HAVE_INFO_HEARTBEAT = 1 }; - enum { HAVE_INFO_AUTOPILOT_VERSION = 2 }; - - VehicleInfo(): - header(), - available_info(0), - sysid(0), - compid(0), - autopilot(0), - type(0), - system_status(0), - base_mode(0), - custom_mode(0), - mode(""), - mode_id(0), - capabilities(0), - flight_sw_version(0), - middleware_sw_version(0), - os_sw_version(0), - board_version(0), - flight_custom_version(""), - vendor_id(0), - product_id(0), - uid(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->available_info >> (8 * 0)) & 0xFF; - offset += sizeof(this->available_info); - *(outbuffer + offset + 0) = (this->sysid >> (8 * 0)) & 0xFF; - offset += sizeof(this->sysid); - *(outbuffer + offset + 0) = (this->compid >> (8 * 0)) & 0xFF; - offset += sizeof(this->compid); - *(outbuffer + offset + 0) = (this->autopilot >> (8 * 0)) & 0xFF; - offset += sizeof(this->autopilot); - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - *(outbuffer + offset + 0) = (this->system_status >> (8 * 0)) & 0xFF; - offset += sizeof(this->system_status); - *(outbuffer + offset + 0) = (this->base_mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->base_mode); - *(outbuffer + offset + 0) = (this->custom_mode >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->custom_mode >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->custom_mode >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->custom_mode >> (8 * 3)) & 0xFF; - offset += sizeof(this->custom_mode); - uint32_t length_mode = strlen(this->mode); - varToArr(outbuffer + offset, length_mode); - offset += 4; - memcpy(outbuffer + offset, this->mode, length_mode); - offset += length_mode; - *(outbuffer + offset + 0) = (this->mode_id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->mode_id >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->mode_id >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->mode_id >> (8 * 3)) & 0xFF; - offset += sizeof(this->mode_id); - *(outbuffer + offset + 0) = (this->capabilities >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->capabilities >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->capabilities >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->capabilities >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->capabilities >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->capabilities >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->capabilities >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->capabilities >> (8 * 7)) & 0xFF; - offset += sizeof(this->capabilities); - *(outbuffer + offset + 0) = (this->flight_sw_version >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->flight_sw_version >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->flight_sw_version >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->flight_sw_version >> (8 * 3)) & 0xFF; - offset += sizeof(this->flight_sw_version); - *(outbuffer + offset + 0) = (this->middleware_sw_version >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->middleware_sw_version >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->middleware_sw_version >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->middleware_sw_version >> (8 * 3)) & 0xFF; - offset += sizeof(this->middleware_sw_version); - *(outbuffer + offset + 0) = (this->os_sw_version >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->os_sw_version >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->os_sw_version >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->os_sw_version >> (8 * 3)) & 0xFF; - offset += sizeof(this->os_sw_version); - *(outbuffer + offset + 0) = (this->board_version >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->board_version >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->board_version >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->board_version >> (8 * 3)) & 0xFF; - offset += sizeof(this->board_version); - uint32_t length_flight_custom_version = strlen(this->flight_custom_version); - varToArr(outbuffer + offset, length_flight_custom_version); - offset += 4; - memcpy(outbuffer + offset, this->flight_custom_version, length_flight_custom_version); - offset += length_flight_custom_version; - *(outbuffer + offset + 0) = (this->vendor_id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vendor_id >> (8 * 1)) & 0xFF; - offset += sizeof(this->vendor_id); - *(outbuffer + offset + 0) = (this->product_id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->product_id >> (8 * 1)) & 0xFF; - offset += sizeof(this->product_id); - *(outbuffer + offset + 0) = (this->uid >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->uid >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->uid >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->uid >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->uid >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->uid >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->uid >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->uid >> (8 * 7)) & 0xFF; - offset += sizeof(this->uid); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->available_info = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->available_info); - this->sysid = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->sysid); - this->compid = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->compid); - this->autopilot = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->autopilot); - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - this->system_status = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->system_status); - this->base_mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->base_mode); - this->custom_mode = ((uint32_t) (*(inbuffer + offset))); - this->custom_mode |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->custom_mode |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->custom_mode |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->custom_mode); - uint32_t length_mode; - arrToVar(length_mode, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_mode; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_mode-1]=0; - this->mode = (char *)(inbuffer + offset-1); - offset += length_mode; - this->mode_id = ((uint32_t) (*(inbuffer + offset))); - this->mode_id |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->mode_id |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->mode_id |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->mode_id); - this->capabilities = ((uint64_t) (*(inbuffer + offset))); - this->capabilities |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->capabilities |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->capabilities |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->capabilities |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->capabilities |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->capabilities |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->capabilities |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->capabilities); - this->flight_sw_version = ((uint32_t) (*(inbuffer + offset))); - this->flight_sw_version |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->flight_sw_version |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->flight_sw_version |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->flight_sw_version); - this->middleware_sw_version = ((uint32_t) (*(inbuffer + offset))); - this->middleware_sw_version |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->middleware_sw_version |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->middleware_sw_version |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->middleware_sw_version); - this->os_sw_version = ((uint32_t) (*(inbuffer + offset))); - this->os_sw_version |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->os_sw_version |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->os_sw_version |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->os_sw_version); - this->board_version = ((uint32_t) (*(inbuffer + offset))); - this->board_version |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->board_version |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->board_version |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->board_version); - uint32_t length_flight_custom_version; - arrToVar(length_flight_custom_version, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_flight_custom_version; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_flight_custom_version-1]=0; - this->flight_custom_version = (char *)(inbuffer + offset-1); - offset += length_flight_custom_version; - this->vendor_id = ((uint16_t) (*(inbuffer + offset))); - this->vendor_id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->vendor_id); - this->product_id = ((uint16_t) (*(inbuffer + offset))); - this->product_id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->product_id); - this->uid = ((uint64_t) (*(inbuffer + offset))); - this->uid |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->uid |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->uid |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->uid |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->uid |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->uid |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->uid |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->uid); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/VehicleInfo"; }; - virtual const char * getMD5() override { return "9afa55616f5936bd9469d7d85c523ac1"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfoGet.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfoGet.h deleted file mode 100644 index 9d7bc7d8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/VehicleInfoGet.h +++ /dev/null @@ -1,148 +0,0 @@ -#ifndef _ROS_SERVICE_VehicleInfoGet_h -#define _ROS_SERVICE_VehicleInfoGet_h -#include -#include -#include -#include "ros/msg.h" -#include "mavros_msgs/VehicleInfo.h" - -namespace mavros_msgs -{ - -static const char VEHICLEINFOGET[] = "mavros_msgs/VehicleInfoGet"; - - class VehicleInfoGetRequest : public ros::Msg - { - public: - typedef uint8_t _sysid_type; - _sysid_type sysid; - typedef uint8_t _compid_type; - _compid_type compid; - typedef bool _get_all_type; - _get_all_type get_all; - enum { GET_MY_SYSID = 0 }; - enum { GET_MY_COMPID = 0 }; - - VehicleInfoGetRequest(): - sysid(0), - compid(0), - get_all(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->sysid >> (8 * 0)) & 0xFF; - offset += sizeof(this->sysid); - *(outbuffer + offset + 0) = (this->compid >> (8 * 0)) & 0xFF; - offset += sizeof(this->compid); - union { - bool real; - uint8_t base; - } u_get_all; - u_get_all.real = this->get_all; - *(outbuffer + offset + 0) = (u_get_all.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->get_all); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->sysid = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->sysid); - this->compid = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->compid); - union { - bool real; - uint8_t base; - } u_get_all; - u_get_all.base = 0; - u_get_all.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->get_all = u_get_all.real; - offset += sizeof(this->get_all); - return offset; - } - - virtual const char * getType() override { return VEHICLEINFOGET; }; - virtual const char * getMD5() override { return "c1911e97179d4b379a979e2ab8e01e5c"; }; - - }; - - class VehicleInfoGetResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - uint32_t vehicles_length; - typedef mavros_msgs::VehicleInfo _vehicles_type; - _vehicles_type st_vehicles; - _vehicles_type * vehicles; - - VehicleInfoGetResponse(): - success(0), - vehicles_length(0), st_vehicles(), vehicles(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->vehicles_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vehicles_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->vehicles_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->vehicles_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->vehicles_length); - for( uint32_t i = 0; i < vehicles_length; i++){ - offset += this->vehicles[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t vehicles_lengthT = ((uint32_t) (*(inbuffer + offset))); - vehicles_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - vehicles_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - vehicles_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->vehicles_length); - if(vehicles_lengthT > vehicles_length) - this->vehicles = (mavros_msgs::VehicleInfo*)realloc(this->vehicles, vehicles_lengthT * sizeof(mavros_msgs::VehicleInfo)); - vehicles_length = vehicles_lengthT; - for( uint32_t i = 0; i < vehicles_length; i++){ - offset += this->st_vehicles.deserialize(inbuffer + offset); - memcpy( &(this->vehicles[i]), &(this->st_vehicles), sizeof(mavros_msgs::VehicleInfo)); - } - return offset; - } - - virtual const char * getType() override { return VEHICLEINFOGET; }; - virtual const char * getMD5() override { return "7b33b68f66a6b66456d3bed6fe1dfda0"; }; - - }; - - class VehicleInfoGet { - public: - typedef VehicleInfoGetRequest Request; - typedef VehicleInfoGetResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Vibration.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Vibration.h deleted file mode 100644 index a2639305..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Vibration.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef _ROS_mavros_msgs_Vibration_h -#define _ROS_mavros_msgs_Vibration_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Vector3.h" - -namespace mavros_msgs -{ - - class Vibration : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Vector3 _vibration_type; - _vibration_type vibration; - float clipping[3]; - - Vibration(): - header(), - vibration(), - clipping() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->vibration.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 3; i++){ - union { - float real; - uint32_t base; - } u_clippingi; - u_clippingi.real = this->clipping[i]; - *(outbuffer + offset + 0) = (u_clippingi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_clippingi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_clippingi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_clippingi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->clipping[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->vibration.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 3; i++){ - union { - float real; - uint32_t base; - } u_clippingi; - u_clippingi.base = 0; - u_clippingi.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_clippingi.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_clippingi.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_clippingi.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->clipping[i] = u_clippingi.real; - offset += sizeof(this->clipping[i]); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Vibration"; }; - virtual const char * getMD5() override { return "eb92bf9b7aa735dfcd06b3ede5027d02"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Waypoint.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Waypoint.h deleted file mode 100644 index 8d36be32..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/Waypoint.h +++ /dev/null @@ -1,304 +0,0 @@ -#ifndef _ROS_mavros_msgs_Waypoint_h -#define _ROS_mavros_msgs_Waypoint_h - -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - - class Waypoint : public ros::Msg - { - public: - typedef uint8_t _frame_type; - _frame_type frame; - typedef uint16_t _command_type; - _command_type command; - typedef bool _is_current_type; - _is_current_type is_current; - typedef bool _autocontinue_type; - _autocontinue_type autocontinue; - typedef float _param1_type; - _param1_type param1; - typedef float _param2_type; - _param2_type param2; - typedef float _param3_type; - _param3_type param3; - typedef float _param4_type; - _param4_type param4; - typedef double _x_lat_type; - _x_lat_type x_lat; - typedef double _y_long_type; - _y_long_type y_long; - typedef double _z_alt_type; - _z_alt_type z_alt; - enum { FRAME_GLOBAL = 0 }; - enum { FRAME_LOCAL_NED = 1 }; - enum { FRAME_MISSION = 2 }; - enum { FRAME_GLOBAL_REL_ALT = 3 }; - enum { FRAME_LOCAL_ENU = 4 }; - enum { FRAME_GLOBAL_INT = 5 }; - enum { FRAME_GLOBAL_RELATIVE_ALT_INT = 6 }; - enum { FRAME_LOCAL_OFFSET_NED = 7 }; - enum { FRAME_BODY_NED = 8 }; - enum { FRAME_BODY_OFFSET_NED = 9 }; - enum { FRAME_GLOBAL_TERRAIN_ALT = 10 }; - enum { FRAME_GLOBAL_TERRAIN_ALT_INT = 11 }; - enum { FRAME_BODY_FRD = 12 }; - enum { FRAME_RESERVED_13 = 13 }; - enum { FRAME_RESERVED_14 = 14 }; - enum { FRAME_RESERVED_15 = 15 }; - enum { FRAME_RESERVED_16 = 16 }; - enum { FRAME_RESERVED_17 = 17 }; - enum { FRAME_RESERVED_18 = 18 }; - enum { FRAME_RESERVED_19 = 19 }; - enum { FRAME_LOCAL_FRD = 20 }; - enum { FRAME_LOCAL_FLU = 21 }; - - Waypoint(): - frame(0), - command(0), - is_current(0), - autocontinue(0), - param1(0), - param2(0), - param3(0), - param4(0), - x_lat(0), - y_long(0), - z_alt(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->frame >> (8 * 0)) & 0xFF; - offset += sizeof(this->frame); - *(outbuffer + offset + 0) = (this->command >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->command >> (8 * 1)) & 0xFF; - offset += sizeof(this->command); - union { - bool real; - uint8_t base; - } u_is_current; - u_is_current.real = this->is_current; - *(outbuffer + offset + 0) = (u_is_current.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_current); - union { - bool real; - uint8_t base; - } u_autocontinue; - u_autocontinue.real = this->autocontinue; - *(outbuffer + offset + 0) = (u_autocontinue.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->autocontinue); - union { - float real; - uint32_t base; - } u_param1; - u_param1.real = this->param1; - *(outbuffer + offset + 0) = (u_param1.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param1.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param1.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param1.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param1); - union { - float real; - uint32_t base; - } u_param2; - u_param2.real = this->param2; - *(outbuffer + offset + 0) = (u_param2.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param2.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param2.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param2.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param2); - union { - float real; - uint32_t base; - } u_param3; - u_param3.real = this->param3; - *(outbuffer + offset + 0) = (u_param3.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param3.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param3.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param3.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param3); - union { - float real; - uint32_t base; - } u_param4; - u_param4.real = this->param4; - *(outbuffer + offset + 0) = (u_param4.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_param4.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_param4.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_param4.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->param4); - union { - double real; - uint64_t base; - } u_x_lat; - u_x_lat.real = this->x_lat; - *(outbuffer + offset + 0) = (u_x_lat.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x_lat.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x_lat.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x_lat.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_x_lat.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_x_lat.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_x_lat.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_x_lat.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->x_lat); - union { - double real; - uint64_t base; - } u_y_long; - u_y_long.real = this->y_long; - *(outbuffer + offset + 0) = (u_y_long.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y_long.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y_long.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y_long.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_y_long.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_y_long.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_y_long.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_y_long.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->y_long); - union { - double real; - uint64_t base; - } u_z_alt; - u_z_alt.real = this->z_alt; - *(outbuffer + offset + 0) = (u_z_alt.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_z_alt.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_z_alt.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_z_alt.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_z_alt.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_z_alt.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_z_alt.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_z_alt.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->z_alt); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->frame = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->frame); - this->command = ((uint16_t) (*(inbuffer + offset))); - this->command |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->command); - union { - bool real; - uint8_t base; - } u_is_current; - u_is_current.base = 0; - u_is_current.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->is_current = u_is_current.real; - offset += sizeof(this->is_current); - union { - bool real; - uint8_t base; - } u_autocontinue; - u_autocontinue.base = 0; - u_autocontinue.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->autocontinue = u_autocontinue.real; - offset += sizeof(this->autocontinue); - union { - float real; - uint32_t base; - } u_param1; - u_param1.base = 0; - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param1.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param1 = u_param1.real; - offset += sizeof(this->param1); - union { - float real; - uint32_t base; - } u_param2; - u_param2.base = 0; - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param2.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param2 = u_param2.real; - offset += sizeof(this->param2); - union { - float real; - uint32_t base; - } u_param3; - u_param3.base = 0; - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param3.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param3 = u_param3.real; - offset += sizeof(this->param3); - union { - float real; - uint32_t base; - } u_param4; - u_param4.base = 0; - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_param4.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->param4 = u_param4.real; - offset += sizeof(this->param4); - union { - double real; - uint64_t base; - } u_x_lat; - u_x_lat.base = 0; - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_x_lat.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->x_lat = u_x_lat.real; - offset += sizeof(this->x_lat); - union { - double real; - uint64_t base; - } u_y_long; - u_y_long.base = 0; - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_y_long.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->y_long = u_y_long.real; - offset += sizeof(this->y_long); - union { - double real; - uint64_t base; - } u_z_alt; - u_z_alt.base = 0; - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_z_alt.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->z_alt = u_z_alt.real; - offset += sizeof(this->z_alt); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/Waypoint"; }; - virtual const char * getMD5() override { return "f7090ce9f0c7ad0665de1ddadfd11ace"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointClear.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointClear.h deleted file mode 100644 index abe8829a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointClear.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_SERVICE_WaypointClear_h -#define _ROS_SERVICE_WaypointClear_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char WAYPOINTCLEAR[] = "mavros_msgs/WaypointClear"; - - class WaypointClearRequest : public ros::Msg - { - public: - - WaypointClearRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return WAYPOINTCLEAR; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class WaypointClearResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - WaypointClearResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return WAYPOINTCLEAR; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class WaypointClear { - public: - typedef WaypointClearRequest Request; - typedef WaypointClearResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointList.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointList.h deleted file mode 100644 index a85510b0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointList.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _ROS_mavros_msgs_WaypointList_h -#define _ROS_mavros_msgs_WaypointList_h - -#include -#include -#include -#include "ros/msg.h" -#include "mavros_msgs/Waypoint.h" - -namespace mavros_msgs -{ - - class WaypointList : public ros::Msg - { - public: - typedef uint16_t _current_seq_type; - _current_seq_type current_seq; - uint32_t waypoints_length; - typedef mavros_msgs::Waypoint _waypoints_type; - _waypoints_type st_waypoints; - _waypoints_type * waypoints; - - WaypointList(): - current_seq(0), - waypoints_length(0), st_waypoints(), waypoints(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->current_seq >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->current_seq >> (8 * 1)) & 0xFF; - offset += sizeof(this->current_seq); - *(outbuffer + offset + 0) = (this->waypoints_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->waypoints_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->waypoints_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->waypoints_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->waypoints_length); - for( uint32_t i = 0; i < waypoints_length; i++){ - offset += this->waypoints[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->current_seq = ((uint16_t) (*(inbuffer + offset))); - this->current_seq |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->current_seq); - uint32_t waypoints_lengthT = ((uint32_t) (*(inbuffer + offset))); - waypoints_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - waypoints_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - waypoints_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->waypoints_length); - if(waypoints_lengthT > waypoints_length) - this->waypoints = (mavros_msgs::Waypoint*)realloc(this->waypoints, waypoints_lengthT * sizeof(mavros_msgs::Waypoint)); - waypoints_length = waypoints_lengthT; - for( uint32_t i = 0; i < waypoints_length; i++){ - offset += this->st_waypoints.deserialize(inbuffer + offset); - memcpy( &(this->waypoints[i]), &(this->st_waypoints), sizeof(mavros_msgs::Waypoint)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/WaypointList"; }; - virtual const char * getMD5() override { return "0605a2df153acd9a4a4823385ed81b57"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPull.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPull.h deleted file mode 100644 index 87b649b2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPull.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef _ROS_SERVICE_WaypointPull_h -#define _ROS_SERVICE_WaypointPull_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char WAYPOINTPULL[] = "mavros_msgs/WaypointPull"; - - class WaypointPullRequest : public ros::Msg - { - public: - - WaypointPullRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return WAYPOINTPULL; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class WaypointPullResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint32_t _wp_received_type; - _wp_received_type wp_received; - - WaypointPullResponse(): - success(0), - wp_received(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->wp_received >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wp_received >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->wp_received >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->wp_received >> (8 * 3)) & 0xFF; - offset += sizeof(this->wp_received); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->wp_received = ((uint32_t) (*(inbuffer + offset))); - this->wp_received |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->wp_received |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->wp_received |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->wp_received); - return offset; - } - - virtual const char * getType() override { return WAYPOINTPULL; }; - virtual const char * getMD5() override { return "a8d9ecef8fb37028d2db2a9aa4ed7e79"; }; - - }; - - class WaypointPull { - public: - typedef WaypointPullRequest Request; - typedef WaypointPullResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPush.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPush.h deleted file mode 100644 index 630a6860..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointPush.h +++ /dev/null @@ -1,136 +0,0 @@ -#ifndef _ROS_SERVICE_WaypointPush_h -#define _ROS_SERVICE_WaypointPush_h -#include -#include -#include -#include "ros/msg.h" -#include "mavros_msgs/Waypoint.h" - -namespace mavros_msgs -{ - -static const char WAYPOINTPUSH[] = "mavros_msgs/WaypointPush"; - - class WaypointPushRequest : public ros::Msg - { - public: - typedef uint16_t _start_index_type; - _start_index_type start_index; - uint32_t waypoints_length; - typedef mavros_msgs::Waypoint _waypoints_type; - _waypoints_type st_waypoints; - _waypoints_type * waypoints; - - WaypointPushRequest(): - start_index(0), - waypoints_length(0), st_waypoints(), waypoints(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->start_index >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->start_index >> (8 * 1)) & 0xFF; - offset += sizeof(this->start_index); - *(outbuffer + offset + 0) = (this->waypoints_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->waypoints_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->waypoints_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->waypoints_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->waypoints_length); - for( uint32_t i = 0; i < waypoints_length; i++){ - offset += this->waypoints[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->start_index = ((uint16_t) (*(inbuffer + offset))); - this->start_index |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->start_index); - uint32_t waypoints_lengthT = ((uint32_t) (*(inbuffer + offset))); - waypoints_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - waypoints_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - waypoints_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->waypoints_length); - if(waypoints_lengthT > waypoints_length) - this->waypoints = (mavros_msgs::Waypoint*)realloc(this->waypoints, waypoints_lengthT * sizeof(mavros_msgs::Waypoint)); - waypoints_length = waypoints_lengthT; - for( uint32_t i = 0; i < waypoints_length; i++){ - offset += this->st_waypoints.deserialize(inbuffer + offset); - memcpy( &(this->waypoints[i]), &(this->st_waypoints), sizeof(mavros_msgs::Waypoint)); - } - return offset; - } - - virtual const char * getType() override { return WAYPOINTPUSH; }; - virtual const char * getMD5() override { return "b97216c84680b216429bf6c603ab2e03"; }; - - }; - - class WaypointPushResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef uint32_t _wp_transfered_type; - _wp_transfered_type wp_transfered; - - WaypointPushResponse(): - success(0), - wp_transfered(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - *(outbuffer + offset + 0) = (this->wp_transfered >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wp_transfered >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->wp_transfered >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->wp_transfered >> (8 * 3)) & 0xFF; - offset += sizeof(this->wp_transfered); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - this->wp_transfered = ((uint32_t) (*(inbuffer + offset))); - this->wp_transfered |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->wp_transfered |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->wp_transfered |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->wp_transfered); - return offset; - } - - virtual const char * getType() override { return WAYPOINTPUSH; }; - virtual const char * getMD5() override { return "90e0074a42480231d34eed864d14365e"; }; - - }; - - class WaypointPush { - public: - typedef WaypointPushRequest Request; - typedef WaypointPushResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointReached.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointReached.h deleted file mode 100644 index 75db90e7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointReached.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef _ROS_mavros_msgs_WaypointReached_h -#define _ROS_mavros_msgs_WaypointReached_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class WaypointReached : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint16_t _wp_seq_type; - _wp_seq_type wp_seq; - - WaypointReached(): - header(), - wp_seq(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->wp_seq >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wp_seq >> (8 * 1)) & 0xFF; - offset += sizeof(this->wp_seq); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->wp_seq = ((uint16_t) (*(inbuffer + offset))); - this->wp_seq |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->wp_seq); - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/WaypointReached"; }; - virtual const char * getMD5() override { return "1cf64d072d9f6aa0a6715922bdde6a35"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointSetCurrent.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointSetCurrent.h deleted file mode 100644 index a413a6f2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WaypointSetCurrent.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef _ROS_SERVICE_WaypointSetCurrent_h -#define _ROS_SERVICE_WaypointSetCurrent_h -#include -#include -#include -#include "ros/msg.h" - -namespace mavros_msgs -{ - -static const char WAYPOINTSETCURRENT[] = "mavros_msgs/WaypointSetCurrent"; - - class WaypointSetCurrentRequest : public ros::Msg - { - public: - typedef uint16_t _wp_seq_type; - _wp_seq_type wp_seq; - - WaypointSetCurrentRequest(): - wp_seq(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->wp_seq >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wp_seq >> (8 * 1)) & 0xFF; - offset += sizeof(this->wp_seq); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->wp_seq = ((uint16_t) (*(inbuffer + offset))); - this->wp_seq |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->wp_seq); - return offset; - } - - virtual const char * getType() override { return WAYPOINTSETCURRENT; }; - virtual const char * getMD5() override { return "9541369175e0776b0fef1c988db6840f"; }; - - }; - - class WaypointSetCurrentResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - WaypointSetCurrentResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return WAYPOINTSETCURRENT; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class WaypointSetCurrent { - public: - typedef WaypointSetCurrentRequest Request; - typedef WaypointSetCurrentResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WheelOdomStamped.h b/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WheelOdomStamped.h deleted file mode 100644 index 26568e62..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/mavros_msgs/WheelOdomStamped.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_mavros_msgs_WheelOdomStamped_h -#define _ROS_mavros_msgs_WheelOdomStamped_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace mavros_msgs -{ - - class WheelOdomStamped : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t data_length; - typedef double _data_type; - _data_type st_data; - _data_type * data; - - WheelOdomStamped(): - header(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - double real; - uint64_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_datai.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_datai.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_datai.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_datai.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (double*)realloc(this->data, data_lengthT * sizeof(double)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - double real; - uint64_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return "mavros_msgs/WheelOdomStamped"; }; - virtual const char * getMD5() override { return "fb60495edd59d3fcf90e173153ae8a9a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMap.h deleted file mode 100644 index 8b67e922..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMap.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _ROS_SERVICE_GetMap_h -#define _ROS_SERVICE_GetMap_h -#include -#include -#include -#include "ros/msg.h" -#include "nav_msgs/OccupancyGrid.h" - -namespace nav_msgs -{ - -static const char GETMAP[] = "nav_msgs/GetMap"; - - class GetMapRequest : public ros::Msg - { - public: - - GetMapRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return GETMAP; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class GetMapResponse : public ros::Msg - { - public: - typedef nav_msgs::OccupancyGrid _map_type; - _map_type map; - - GetMapResponse(): - map() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->map.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->map.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETMAP; }; - virtual const char * getMD5() override { return "6cdd0a18e0aff5b0a3ca2326a89b54ff"; }; - - }; - - class GetMap { - public: - typedef GetMapRequest Request; - typedef GetMapResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapAction.h deleted file mode 100644 index 2d43e0fd..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_nav_msgs_GetMapAction_h -#define _ROS_nav_msgs_GetMapAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "nav_msgs/GetMapActionGoal.h" -#include "nav_msgs/GetMapActionResult.h" -#include "nav_msgs/GetMapActionFeedback.h" - -namespace nav_msgs -{ - - class GetMapAction : public ros::Msg - { - public: - typedef nav_msgs::GetMapActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef nav_msgs::GetMapActionResult _action_result_type; - _action_result_type action_result; - typedef nav_msgs::GetMapActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - GetMapAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GetMapAction"; }; - virtual const char * getMD5() override { return "e611ad23fbf237c031b7536416dc7cd7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionFeedback.h deleted file mode 100644 index 4c9d5097..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_nav_msgs_GetMapActionFeedback_h -#define _ROS_nav_msgs_GetMapActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "nav_msgs/GetMapFeedback.h" - -namespace nav_msgs -{ - - class GetMapActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef nav_msgs::GetMapFeedback _feedback_type; - _feedback_type feedback; - - GetMapActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GetMapActionFeedback"; }; - virtual const char * getMD5() override { return "aae20e09065c3809e8a8e87c4c8953fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionGoal.h deleted file mode 100644 index e5295fca..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_nav_msgs_GetMapActionGoal_h -#define _ROS_nav_msgs_GetMapActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "nav_msgs/GetMapGoal.h" - -namespace nav_msgs -{ - - class GetMapActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef nav_msgs::GetMapGoal _goal_type; - _goal_type goal; - - GetMapActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GetMapActionGoal"; }; - virtual const char * getMD5() override { return "4b30be6cd12b9e72826df56b481f40e0"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionResult.h deleted file mode 100644 index 6bc705ab..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_nav_msgs_GetMapActionResult_h -#define _ROS_nav_msgs_GetMapActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "nav_msgs/GetMapResult.h" - -namespace nav_msgs -{ - - class GetMapActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef nav_msgs::GetMapResult _result_type; - _result_type result; - - GetMapActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GetMapActionResult"; }; - virtual const char * getMD5() override { return "ac66e5b9a79bb4bbd33dab245236c892"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapFeedback.h deleted file mode 100644 index 1c01027d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapFeedback.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_nav_msgs_GetMapFeedback_h -#define _ROS_nav_msgs_GetMapFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace nav_msgs -{ - - class GetMapFeedback : public ros::Msg - { - public: - - GetMapFeedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GetMapFeedback"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapGoal.h deleted file mode 100644 index 322c3aaa..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapGoal.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_nav_msgs_GetMapGoal_h -#define _ROS_nav_msgs_GetMapGoal_h - -#include -#include -#include -#include "ros/msg.h" - -namespace nav_msgs -{ - - class GetMapGoal : public ros::Msg - { - public: - - GetMapGoal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GetMapGoal"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapResult.h deleted file mode 100644 index 8648d885..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetMapResult.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _ROS_nav_msgs_GetMapResult_h -#define _ROS_nav_msgs_GetMapResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "nav_msgs/OccupancyGrid.h" - -namespace nav_msgs -{ - - class GetMapResult : public ros::Msg - { - public: - typedef nav_msgs::OccupancyGrid _map_type; - _map_type map; - - GetMapResult(): - map() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->map.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->map.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GetMapResult"; }; - virtual const char * getMD5() override { return "6cdd0a18e0aff5b0a3ca2326a89b54ff"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetPlan.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetPlan.h deleted file mode 100644 index def17933..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GetPlan.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef _ROS_SERVICE_GetPlan_h -#define _ROS_SERVICE_GetPlan_h -#include -#include -#include -#include "ros/msg.h" -#include "nav_msgs/Path.h" -#include "geometry_msgs/PoseStamped.h" - -namespace nav_msgs -{ - -static const char GETPLAN[] = "nav_msgs/GetPlan"; - - class GetPlanRequest : public ros::Msg - { - public: - typedef geometry_msgs::PoseStamped _start_type; - _start_type start; - typedef geometry_msgs::PoseStamped _goal_type; - _goal_type goal; - typedef float _tolerance_type; - _tolerance_type tolerance; - - GetPlanRequest(): - start(), - goal(), - tolerance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->start.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_tolerance; - u_tolerance.real = this->tolerance; - *(outbuffer + offset + 0) = (u_tolerance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_tolerance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_tolerance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_tolerance.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->tolerance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->start.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_tolerance; - u_tolerance.base = 0; - u_tolerance.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_tolerance.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_tolerance.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_tolerance.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->tolerance = u_tolerance.real; - offset += sizeof(this->tolerance); - return offset; - } - - virtual const char * getType() override { return GETPLAN; }; - virtual const char * getMD5() override { return "e25a43e0752bcca599a8c2eef8282df8"; }; - - }; - - class GetPlanResponse : public ros::Msg - { - public: - typedef nav_msgs::Path _plan_type; - _plan_type plan; - - GetPlanResponse(): - plan() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->plan.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->plan.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETPLAN; }; - virtual const char * getMD5() override { return "0002bc113c0259d71f6cf8cbc9430e18"; }; - - }; - - class GetPlan { - public: - typedef GetPlanRequest Request; - typedef GetPlanResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GridCells.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GridCells.h deleted file mode 100644 index fee31c11..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/GridCells.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef _ROS_nav_msgs_GridCells_h -#define _ROS_nav_msgs_GridCells_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Point.h" - -namespace nav_msgs -{ - - class GridCells : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _cell_width_type; - _cell_width_type cell_width; - typedef float _cell_height_type; - _cell_height_type cell_height; - uint32_t cells_length; - typedef geometry_msgs::Point _cells_type; - _cells_type st_cells; - _cells_type * cells; - - GridCells(): - header(), - cell_width(0), - cell_height(0), - cells_length(0), st_cells(), cells(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_cell_width; - u_cell_width.real = this->cell_width; - *(outbuffer + offset + 0) = (u_cell_width.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_cell_width.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_cell_width.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_cell_width.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->cell_width); - union { - float real; - uint32_t base; - } u_cell_height; - u_cell_height.real = this->cell_height; - *(outbuffer + offset + 0) = (u_cell_height.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_cell_height.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_cell_height.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_cell_height.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->cell_height); - *(outbuffer + offset + 0) = (this->cells_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->cells_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->cells_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->cells_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->cells_length); - for( uint32_t i = 0; i < cells_length; i++){ - offset += this->cells[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_cell_width; - u_cell_width.base = 0; - u_cell_width.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_cell_width.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_cell_width.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_cell_width.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->cell_width = u_cell_width.real; - offset += sizeof(this->cell_width); - union { - float real; - uint32_t base; - } u_cell_height; - u_cell_height.base = 0; - u_cell_height.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_cell_height.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_cell_height.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_cell_height.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->cell_height = u_cell_height.real; - offset += sizeof(this->cell_height); - uint32_t cells_lengthT = ((uint32_t) (*(inbuffer + offset))); - cells_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - cells_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - cells_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->cells_length); - if(cells_lengthT > cells_length) - this->cells = (geometry_msgs::Point*)realloc(this->cells, cells_lengthT * sizeof(geometry_msgs::Point)); - cells_length = cells_lengthT; - for( uint32_t i = 0; i < cells_length; i++){ - offset += this->st_cells.deserialize(inbuffer + offset); - memcpy( &(this->cells[i]), &(this->st_cells), sizeof(geometry_msgs::Point)); - } - return offset; - } - - virtual const char * getType() override { return "nav_msgs/GridCells"; }; - virtual const char * getMD5() override { return "b9e4f5df6d28e272ebde00a3994830f5"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/LoadMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/LoadMap.h deleted file mode 100644 index db182794..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/LoadMap.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef _ROS_SERVICE_LoadMap_h -#define _ROS_SERVICE_LoadMap_h -#include -#include -#include -#include "ros/msg.h" -#include "nav_msgs/OccupancyGrid.h" - -namespace nav_msgs -{ - -static const char LOADMAP[] = "nav_msgs/LoadMap"; - - class LoadMapRequest : public ros::Msg - { - public: - typedef const char* _map_url_type; - _map_url_type map_url; - - LoadMapRequest(): - map_url("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_map_url = strlen(this->map_url); - varToArr(outbuffer + offset, length_map_url); - offset += 4; - memcpy(outbuffer + offset, this->map_url, length_map_url); - offset += length_map_url; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_map_url; - arrToVar(length_map_url, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_map_url; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_map_url-1]=0; - this->map_url = (char *)(inbuffer + offset-1); - offset += length_map_url; - return offset; - } - - virtual const char * getType() override { return LOADMAP; }; - virtual const char * getMD5() override { return "3813ba1ae85fbcd4dc88c90f1426b90b"; }; - - }; - - class LoadMapResponse : public ros::Msg - { - public: - typedef nav_msgs::OccupancyGrid _map_type; - _map_type map; - typedef uint8_t _result_type; - _result_type result; - enum { RESULT_SUCCESS = 0 }; - enum { RESULT_MAP_DOES_NOT_EXIST = 1 }; - enum { RESULT_INVALID_MAP_DATA = 2 }; - enum { RESULT_INVALID_MAP_METADATA = 3 }; - enum { RESULT_UNDEFINED_FAILURE = 255 }; - - LoadMapResponse(): - map(), - result(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->map.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->result >> (8 * 0)) & 0xFF; - offset += sizeof(this->result); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->map.deserialize(inbuffer + offset); - this->result = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->result); - return offset; - } - - virtual const char * getType() override { return LOADMAP; }; - virtual const char * getMD5() override { return "079b9c828e9f7c1918bf86932fd7267e"; }; - - }; - - class LoadMap { - public: - typedef LoadMapRequest Request; - typedef LoadMapResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/MapMetaData.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/MapMetaData.h deleted file mode 100644 index 77f6ff94..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/MapMetaData.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef _ROS_nav_msgs_MapMetaData_h -#define _ROS_nav_msgs_MapMetaData_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" -#include "geometry_msgs/Pose.h" - -namespace nav_msgs -{ - - class MapMetaData : public ros::Msg - { - public: - typedef ros::Time _map_load_time_type; - _map_load_time_type map_load_time; - typedef float _resolution_type; - _resolution_type resolution; - typedef uint32_t _width_type; - _width_type width; - typedef uint32_t _height_type; - _height_type height; - typedef geometry_msgs::Pose _origin_type; - _origin_type origin; - - MapMetaData(): - map_load_time(), - resolution(0), - width(0), - height(0), - origin() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->map_load_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->map_load_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->map_load_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->map_load_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->map_load_time.sec); - *(outbuffer + offset + 0) = (this->map_load_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->map_load_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->map_load_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->map_load_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->map_load_time.nsec); - union { - float real; - uint32_t base; - } u_resolution; - u_resolution.real = this->resolution; - *(outbuffer + offset + 0) = (u_resolution.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_resolution.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_resolution.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_resolution.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->resolution); - *(outbuffer + offset + 0) = (this->width >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->width >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->width >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->width >> (8 * 3)) & 0xFF; - offset += sizeof(this->width); - *(outbuffer + offset + 0) = (this->height >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->height >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->height >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->height >> (8 * 3)) & 0xFF; - offset += sizeof(this->height); - offset += this->origin.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->map_load_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->map_load_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->map_load_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->map_load_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->map_load_time.sec); - this->map_load_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->map_load_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->map_load_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->map_load_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->map_load_time.nsec); - union { - float real; - uint32_t base; - } u_resolution; - u_resolution.base = 0; - u_resolution.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_resolution.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_resolution.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_resolution.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->resolution = u_resolution.real; - offset += sizeof(this->resolution); - this->width = ((uint32_t) (*(inbuffer + offset))); - this->width |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->width |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->width |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->width); - this->height = ((uint32_t) (*(inbuffer + offset))); - this->height |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->height |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->height |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->height); - offset += this->origin.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "nav_msgs/MapMetaData"; }; - virtual const char * getMD5() override { return "10cfc8a2818024d3248802c00c95f11b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/OccupancyGrid.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/OccupancyGrid.h deleted file mode 100644 index 3f74f70d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/OccupancyGrid.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_nav_msgs_OccupancyGrid_h -#define _ROS_nav_msgs_OccupancyGrid_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "nav_msgs/MapMetaData.h" - -namespace nav_msgs -{ - - class OccupancyGrid : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef nav_msgs::MapMetaData _info_type; - _info_type info; - uint32_t data_length; - typedef int8_t _data_type; - _data_type st_data; - _data_type * data; - - OccupancyGrid(): - header(), - info(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->info.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->info.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (int8_t*)realloc(this->data, data_lengthT * sizeof(int8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(int8_t)); - } - return offset; - } - - virtual const char * getType() override { return "nav_msgs/OccupancyGrid"; }; - virtual const char * getMD5() override { return "3381f2d731d4076ec5c71b0759edbe4e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Odometry.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Odometry.h deleted file mode 100644 index d013330c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Odometry.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _ROS_nav_msgs_Odometry_h -#define _ROS_nav_msgs_Odometry_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/PoseWithCovariance.h" -#include "geometry_msgs/TwistWithCovariance.h" - -namespace nav_msgs -{ - - class Odometry : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _child_frame_id_type; - _child_frame_id_type child_frame_id; - typedef geometry_msgs::PoseWithCovariance _pose_type; - _pose_type pose; - typedef geometry_msgs::TwistWithCovariance _twist_type; - _twist_type twist; - - Odometry(): - header(), - child_frame_id(""), - pose(), - twist() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_child_frame_id = strlen(this->child_frame_id); - varToArr(outbuffer + offset, length_child_frame_id); - offset += 4; - memcpy(outbuffer + offset, this->child_frame_id, length_child_frame_id); - offset += length_child_frame_id; - offset += this->pose.serialize(outbuffer + offset); - offset += this->twist.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_child_frame_id; - arrToVar(length_child_frame_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_child_frame_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_child_frame_id-1]=0; - this->child_frame_id = (char *)(inbuffer + offset-1); - offset += length_child_frame_id; - offset += this->pose.deserialize(inbuffer + offset); - offset += this->twist.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "nav_msgs/Odometry"; }; - virtual const char * getMD5() override { return "cd5e73d190d741a2f92e81eda573aca7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Path.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Path.h deleted file mode 100644 index 32313545..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/Path.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_nav_msgs_Path_h -#define _ROS_nav_msgs_Path_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/PoseStamped.h" - -namespace nav_msgs -{ - - class Path : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t poses_length; - typedef geometry_msgs::PoseStamped _poses_type; - _poses_type st_poses; - _poses_type * poses; - - Path(): - header(), - poses_length(0), st_poses(), poses(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->poses_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->poses_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->poses_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->poses_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->poses_length); - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->poses[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t poses_lengthT = ((uint32_t) (*(inbuffer + offset))); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->poses_length); - if(poses_lengthT > poses_length) - this->poses = (geometry_msgs::PoseStamped*)realloc(this->poses, poses_lengthT * sizeof(geometry_msgs::PoseStamped)); - poses_length = poses_lengthT; - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->st_poses.deserialize(inbuffer + offset); - memcpy( &(this->poses[i]), &(this->st_poses), sizeof(geometry_msgs::PoseStamped)); - } - return offset; - } - - virtual const char * getType() override { return "nav_msgs/Path"; }; - virtual const char * getMD5() override { return "6227e2b7e9cce15051f669a5e197bbf7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/SetMap.h b/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/SetMap.h deleted file mode 100644 index f829f8c6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nav_msgs/SetMap.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef _ROS_SERVICE_SetMap_h -#define _ROS_SERVICE_SetMap_h -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/PoseWithCovarianceStamped.h" -#include "nav_msgs/OccupancyGrid.h" - -namespace nav_msgs -{ - -static const char SETMAP[] = "nav_msgs/SetMap"; - - class SetMapRequest : public ros::Msg - { - public: - typedef nav_msgs::OccupancyGrid _map_type; - _map_type map; - typedef geometry_msgs::PoseWithCovarianceStamped _initial_pose_type; - _initial_pose_type initial_pose; - - SetMapRequest(): - map(), - initial_pose() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->map.serialize(outbuffer + offset); - offset += this->initial_pose.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->map.deserialize(inbuffer + offset); - offset += this->initial_pose.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SETMAP; }; - virtual const char * getMD5() override { return "91149a20d7be299b87c340df8cc94fd4"; }; - - }; - - class SetMapResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - SetMapResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return SETMAP; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class SetMap { - public: - typedef SetMapRequest Request; - typedef SetMapResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgga.h b/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgga.h deleted file mode 100644 index 3cec7c95..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgga.h +++ /dev/null @@ -1,353 +0,0 @@ -#ifndef _ROS_nmea_msgs_Gpgga_h -#define _ROS_nmea_msgs_Gpgga_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace nmea_msgs -{ - - class Gpgga : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _message_id_type; - _message_id_type message_id; - typedef double _utc_seconds_type; - _utc_seconds_type utc_seconds; - typedef double _lat_type; - _lat_type lat; - typedef double _lon_type; - _lon_type lon; - typedef const char* _lat_dir_type; - _lat_dir_type lat_dir; - typedef const char* _lon_dir_type; - _lon_dir_type lon_dir; - typedef uint32_t _gps_qual_type; - _gps_qual_type gps_qual; - typedef uint32_t _num_sats_type; - _num_sats_type num_sats; - typedef float _hdop_type; - _hdop_type hdop; - typedef float _alt_type; - _alt_type alt; - typedef const char* _altitude_units_type; - _altitude_units_type altitude_units; - typedef float _undulation_type; - _undulation_type undulation; - typedef const char* _undulation_units_type; - _undulation_units_type undulation_units; - typedef uint32_t _diff_age_type; - _diff_age_type diff_age; - typedef const char* _station_id_type; - _station_id_type station_id; - - Gpgga(): - header(), - message_id(""), - utc_seconds(0), - lat(0), - lon(0), - lat_dir(""), - lon_dir(""), - gps_qual(0), - num_sats(0), - hdop(0), - alt(0), - altitude_units(""), - undulation(0), - undulation_units(""), - diff_age(0), - station_id("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_message_id = strlen(this->message_id); - varToArr(outbuffer + offset, length_message_id); - offset += 4; - memcpy(outbuffer + offset, this->message_id, length_message_id); - offset += length_message_id; - union { - double real; - uint64_t base; - } u_utc_seconds; - u_utc_seconds.real = this->utc_seconds; - *(outbuffer + offset + 0) = (u_utc_seconds.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_utc_seconds.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_utc_seconds.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_utc_seconds.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_utc_seconds.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_utc_seconds.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_utc_seconds.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_utc_seconds.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->utc_seconds); - union { - double real; - uint64_t base; - } u_lat; - u_lat.real = this->lat; - *(outbuffer + offset + 0) = (u_lat.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lat.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lat.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lat.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_lat.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_lat.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_lat.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_lat.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->lat); - union { - double real; - uint64_t base; - } u_lon; - u_lon.real = this->lon; - *(outbuffer + offset + 0) = (u_lon.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lon.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lon.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lon.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_lon.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_lon.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_lon.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_lon.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->lon); - uint32_t length_lat_dir = strlen(this->lat_dir); - varToArr(outbuffer + offset, length_lat_dir); - offset += 4; - memcpy(outbuffer + offset, this->lat_dir, length_lat_dir); - offset += length_lat_dir; - uint32_t length_lon_dir = strlen(this->lon_dir); - varToArr(outbuffer + offset, length_lon_dir); - offset += 4; - memcpy(outbuffer + offset, this->lon_dir, length_lon_dir); - offset += length_lon_dir; - *(outbuffer + offset + 0) = (this->gps_qual >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->gps_qual >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->gps_qual >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->gps_qual >> (8 * 3)) & 0xFF; - offset += sizeof(this->gps_qual); - *(outbuffer + offset + 0) = (this->num_sats >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->num_sats >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->num_sats >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->num_sats >> (8 * 3)) & 0xFF; - offset += sizeof(this->num_sats); - union { - float real; - uint32_t base; - } u_hdop; - u_hdop.real = this->hdop; - *(outbuffer + offset + 0) = (u_hdop.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_hdop.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_hdop.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_hdop.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->hdop); - union { - float real; - uint32_t base; - } u_alt; - u_alt.real = this->alt; - *(outbuffer + offset + 0) = (u_alt.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_alt.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_alt.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_alt.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->alt); - uint32_t length_altitude_units = strlen(this->altitude_units); - varToArr(outbuffer + offset, length_altitude_units); - offset += 4; - memcpy(outbuffer + offset, this->altitude_units, length_altitude_units); - offset += length_altitude_units; - union { - float real; - uint32_t base; - } u_undulation; - u_undulation.real = this->undulation; - *(outbuffer + offset + 0) = (u_undulation.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_undulation.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_undulation.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_undulation.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->undulation); - uint32_t length_undulation_units = strlen(this->undulation_units); - varToArr(outbuffer + offset, length_undulation_units); - offset += 4; - memcpy(outbuffer + offset, this->undulation_units, length_undulation_units); - offset += length_undulation_units; - *(outbuffer + offset + 0) = (this->diff_age >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->diff_age >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->diff_age >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->diff_age >> (8 * 3)) & 0xFF; - offset += sizeof(this->diff_age); - uint32_t length_station_id = strlen(this->station_id); - varToArr(outbuffer + offset, length_station_id); - offset += 4; - memcpy(outbuffer + offset, this->station_id, length_station_id); - offset += length_station_id; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_message_id; - arrToVar(length_message_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message_id-1]=0; - this->message_id = (char *)(inbuffer + offset-1); - offset += length_message_id; - union { - double real; - uint64_t base; - } u_utc_seconds; - u_utc_seconds.base = 0; - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->utc_seconds = u_utc_seconds.real; - offset += sizeof(this->utc_seconds); - union { - double real; - uint64_t base; - } u_lat; - u_lat.base = 0; - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->lat = u_lat.real; - offset += sizeof(this->lat); - union { - double real; - uint64_t base; - } u_lon; - u_lon.base = 0; - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->lon = u_lon.real; - offset += sizeof(this->lon); - uint32_t length_lat_dir; - arrToVar(length_lat_dir, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_lat_dir; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_lat_dir-1]=0; - this->lat_dir = (char *)(inbuffer + offset-1); - offset += length_lat_dir; - uint32_t length_lon_dir; - arrToVar(length_lon_dir, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_lon_dir; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_lon_dir-1]=0; - this->lon_dir = (char *)(inbuffer + offset-1); - offset += length_lon_dir; - this->gps_qual = ((uint32_t) (*(inbuffer + offset))); - this->gps_qual |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->gps_qual |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->gps_qual |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->gps_qual); - this->num_sats = ((uint32_t) (*(inbuffer + offset))); - this->num_sats |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->num_sats |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->num_sats |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->num_sats); - union { - float real; - uint32_t base; - } u_hdop; - u_hdop.base = 0; - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->hdop = u_hdop.real; - offset += sizeof(this->hdop); - union { - float real; - uint32_t base; - } u_alt; - u_alt.base = 0; - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_alt.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->alt = u_alt.real; - offset += sizeof(this->alt); - uint32_t length_altitude_units; - arrToVar(length_altitude_units, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_altitude_units; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_altitude_units-1]=0; - this->altitude_units = (char *)(inbuffer + offset-1); - offset += length_altitude_units; - union { - float real; - uint32_t base; - } u_undulation; - u_undulation.base = 0; - u_undulation.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_undulation.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_undulation.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_undulation.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->undulation = u_undulation.real; - offset += sizeof(this->undulation); - uint32_t length_undulation_units; - arrToVar(length_undulation_units, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_undulation_units; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_undulation_units-1]=0; - this->undulation_units = (char *)(inbuffer + offset-1); - offset += length_undulation_units; - this->diff_age = ((uint32_t) (*(inbuffer + offset))); - this->diff_age |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->diff_age |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->diff_age |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->diff_age); - uint32_t length_station_id; - arrToVar(length_station_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_station_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_station_id-1]=0; - this->station_id = (char *)(inbuffer + offset-1); - offset += length_station_id; - return offset; - } - - virtual const char * getType() override { return "nmea_msgs/Gpgga"; }; - virtual const char * getMD5() override { return "8f51cb504898f39d8ad9f698f0b6f9cd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsa.h b/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsa.h deleted file mode 100644 index cc9b0cdb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsa.h +++ /dev/null @@ -1,184 +0,0 @@ -#ifndef _ROS_nmea_msgs_Gpgsa_h -#define _ROS_nmea_msgs_Gpgsa_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace nmea_msgs -{ - - class Gpgsa : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _message_id_type; - _message_id_type message_id; - typedef const char* _auto_manual_mode_type; - _auto_manual_mode_type auto_manual_mode; - typedef uint8_t _fix_mode_type; - _fix_mode_type fix_mode; - uint32_t sv_ids_length; - typedef uint8_t _sv_ids_type; - _sv_ids_type st_sv_ids; - _sv_ids_type * sv_ids; - typedef float _pdop_type; - _pdop_type pdop; - typedef float _hdop_type; - _hdop_type hdop; - typedef float _vdop_type; - _vdop_type vdop; - - Gpgsa(): - header(), - message_id(""), - auto_manual_mode(""), - fix_mode(0), - sv_ids_length(0), st_sv_ids(), sv_ids(nullptr), - pdop(0), - hdop(0), - vdop(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_message_id = strlen(this->message_id); - varToArr(outbuffer + offset, length_message_id); - offset += 4; - memcpy(outbuffer + offset, this->message_id, length_message_id); - offset += length_message_id; - uint32_t length_auto_manual_mode = strlen(this->auto_manual_mode); - varToArr(outbuffer + offset, length_auto_manual_mode); - offset += 4; - memcpy(outbuffer + offset, this->auto_manual_mode, length_auto_manual_mode); - offset += length_auto_manual_mode; - *(outbuffer + offset + 0) = (this->fix_mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->fix_mode); - *(outbuffer + offset + 0) = (this->sv_ids_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->sv_ids_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->sv_ids_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->sv_ids_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->sv_ids_length); - for( uint32_t i = 0; i < sv_ids_length; i++){ - *(outbuffer + offset + 0) = (this->sv_ids[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->sv_ids[i]); - } - union { - float real; - uint32_t base; - } u_pdop; - u_pdop.real = this->pdop; - *(outbuffer + offset + 0) = (u_pdop.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_pdop.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_pdop.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_pdop.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->pdop); - union { - float real; - uint32_t base; - } u_hdop; - u_hdop.real = this->hdop; - *(outbuffer + offset + 0) = (u_hdop.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_hdop.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_hdop.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_hdop.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->hdop); - union { - float real; - uint32_t base; - } u_vdop; - u_vdop.real = this->vdop; - *(outbuffer + offset + 0) = (u_vdop.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_vdop.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_vdop.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_vdop.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->vdop); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_message_id; - arrToVar(length_message_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message_id-1]=0; - this->message_id = (char *)(inbuffer + offset-1); - offset += length_message_id; - uint32_t length_auto_manual_mode; - arrToVar(length_auto_manual_mode, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_auto_manual_mode; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_auto_manual_mode-1]=0; - this->auto_manual_mode = (char *)(inbuffer + offset-1); - offset += length_auto_manual_mode; - this->fix_mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->fix_mode); - uint32_t sv_ids_lengthT = ((uint32_t) (*(inbuffer + offset))); - sv_ids_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - sv_ids_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - sv_ids_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->sv_ids_length); - if(sv_ids_lengthT > sv_ids_length) - this->sv_ids = (uint8_t*)realloc(this->sv_ids, sv_ids_lengthT * sizeof(uint8_t)); - sv_ids_length = sv_ids_lengthT; - for( uint32_t i = 0; i < sv_ids_length; i++){ - this->st_sv_ids = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_sv_ids); - memcpy( &(this->sv_ids[i]), &(this->st_sv_ids), sizeof(uint8_t)); - } - union { - float real; - uint32_t base; - } u_pdop; - u_pdop.base = 0; - u_pdop.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_pdop.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_pdop.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_pdop.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->pdop = u_pdop.real; - offset += sizeof(this->pdop); - union { - float real; - uint32_t base; - } u_hdop; - u_hdop.base = 0; - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_hdop.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->hdop = u_hdop.real; - offset += sizeof(this->hdop); - union { - float real; - uint32_t base; - } u_vdop; - u_vdop.base = 0; - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_vdop.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->vdop = u_vdop.real; - offset += sizeof(this->vdop); - return offset; - } - - virtual const char * getType() override { return "nmea_msgs/Gpgsa"; }; - virtual const char * getMD5() override { return "94a6ef4a36d322374b16097a5d03433e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsv.h b/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsv.h deleted file mode 100644 index 2163fa90..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gpgsv.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_nmea_msgs_Gpgsv_h -#define _ROS_nmea_msgs_Gpgsv_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "nmea_msgs/GpgsvSatellite.h" - -namespace nmea_msgs -{ - - class Gpgsv : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _message_id_type; - _message_id_type message_id; - typedef uint8_t _n_msgs_type; - _n_msgs_type n_msgs; - typedef uint8_t _msg_number_type; - _msg_number_type msg_number; - typedef uint8_t _n_satellites_type; - _n_satellites_type n_satellites; - uint32_t satellites_length; - typedef nmea_msgs::GpgsvSatellite _satellites_type; - _satellites_type st_satellites; - _satellites_type * satellites; - - Gpgsv(): - header(), - message_id(""), - n_msgs(0), - msg_number(0), - n_satellites(0), - satellites_length(0), st_satellites(), satellites(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_message_id = strlen(this->message_id); - varToArr(outbuffer + offset, length_message_id); - offset += 4; - memcpy(outbuffer + offset, this->message_id, length_message_id); - offset += length_message_id; - *(outbuffer + offset + 0) = (this->n_msgs >> (8 * 0)) & 0xFF; - offset += sizeof(this->n_msgs); - *(outbuffer + offset + 0) = (this->msg_number >> (8 * 0)) & 0xFF; - offset += sizeof(this->msg_number); - *(outbuffer + offset + 0) = (this->n_satellites >> (8 * 0)) & 0xFF; - offset += sizeof(this->n_satellites); - *(outbuffer + offset + 0) = (this->satellites_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->satellites_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->satellites_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->satellites_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->satellites_length); - for( uint32_t i = 0; i < satellites_length; i++){ - offset += this->satellites[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_message_id; - arrToVar(length_message_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message_id-1]=0; - this->message_id = (char *)(inbuffer + offset-1); - offset += length_message_id; - this->n_msgs = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->n_msgs); - this->msg_number = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->msg_number); - this->n_satellites = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->n_satellites); - uint32_t satellites_lengthT = ((uint32_t) (*(inbuffer + offset))); - satellites_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - satellites_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - satellites_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->satellites_length); - if(satellites_lengthT > satellites_length) - this->satellites = (nmea_msgs::GpgsvSatellite*)realloc(this->satellites, satellites_lengthT * sizeof(nmea_msgs::GpgsvSatellite)); - satellites_length = satellites_lengthT; - for( uint32_t i = 0; i < satellites_length; i++){ - offset += this->st_satellites.deserialize(inbuffer + offset); - memcpy( &(this->satellites[i]), &(this->st_satellites), sizeof(nmea_msgs::GpgsvSatellite)); - } - return offset; - } - - virtual const char * getType() override { return "nmea_msgs/Gpgsv"; }; - virtual const char * getMD5() override { return "6f34bebc32fe085313c942a96fd39c77"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/GpgsvSatellite.h b/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/GpgsvSatellite.h deleted file mode 100644 index d94b19e0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/GpgsvSatellite.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _ROS_nmea_msgs_GpgsvSatellite_h -#define _ROS_nmea_msgs_GpgsvSatellite_h - -#include -#include -#include -#include "ros/msg.h" - -namespace nmea_msgs -{ - - class GpgsvSatellite : public ros::Msg - { - public: - typedef uint8_t _prn_type; - _prn_type prn; - typedef uint8_t _elevation_type; - _elevation_type elevation; - typedef uint16_t _azimuth_type; - _azimuth_type azimuth; - typedef int8_t _snr_type; - _snr_type snr; - - GpgsvSatellite(): - prn(0), - elevation(0), - azimuth(0), - snr(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->prn >> (8 * 0)) & 0xFF; - offset += sizeof(this->prn); - *(outbuffer + offset + 0) = (this->elevation >> (8 * 0)) & 0xFF; - offset += sizeof(this->elevation); - *(outbuffer + offset + 0) = (this->azimuth >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->azimuth >> (8 * 1)) & 0xFF; - offset += sizeof(this->azimuth); - union { - int8_t real; - uint8_t base; - } u_snr; - u_snr.real = this->snr; - *(outbuffer + offset + 0) = (u_snr.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->snr); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->prn = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->prn); - this->elevation = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->elevation); - this->azimuth = ((uint16_t) (*(inbuffer + offset))); - this->azimuth |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->azimuth); - union { - int8_t real; - uint8_t base; - } u_snr; - u_snr.base = 0; - u_snr.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->snr = u_snr.real; - offset += sizeof(this->snr); - return offset; - } - - virtual const char * getType() override { return "nmea_msgs/GpgsvSatellite"; }; - virtual const char * getMD5() override { return "d862f2ce05a26a83264a8add99c7b668"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gprmc.h b/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gprmc.h deleted file mode 100644 index 54c7883b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Gprmc.h +++ /dev/null @@ -1,331 +0,0 @@ -#ifndef _ROS_nmea_msgs_Gprmc_h -#define _ROS_nmea_msgs_Gprmc_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace nmea_msgs -{ - - class Gprmc : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _message_id_type; - _message_id_type message_id; - typedef double _utc_seconds_type; - _utc_seconds_type utc_seconds; - typedef const char* _position_status_type; - _position_status_type position_status; - typedef double _lat_type; - _lat_type lat; - typedef double _lon_type; - _lon_type lon; - typedef const char* _lat_dir_type; - _lat_dir_type lat_dir; - typedef const char* _lon_dir_type; - _lon_dir_type lon_dir; - typedef float _speed_type; - _speed_type speed; - typedef float _track_type; - _track_type track; - typedef const char* _date_type; - _date_type date; - typedef float _mag_var_type; - _mag_var_type mag_var; - typedef const char* _mag_var_direction_type; - _mag_var_direction_type mag_var_direction; - typedef const char* _mode_indicator_type; - _mode_indicator_type mode_indicator; - - Gprmc(): - header(), - message_id(""), - utc_seconds(0), - position_status(""), - lat(0), - lon(0), - lat_dir(""), - lon_dir(""), - speed(0), - track(0), - date(""), - mag_var(0), - mag_var_direction(""), - mode_indicator("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_message_id = strlen(this->message_id); - varToArr(outbuffer + offset, length_message_id); - offset += 4; - memcpy(outbuffer + offset, this->message_id, length_message_id); - offset += length_message_id; - union { - double real; - uint64_t base; - } u_utc_seconds; - u_utc_seconds.real = this->utc_seconds; - *(outbuffer + offset + 0) = (u_utc_seconds.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_utc_seconds.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_utc_seconds.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_utc_seconds.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_utc_seconds.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_utc_seconds.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_utc_seconds.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_utc_seconds.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->utc_seconds); - uint32_t length_position_status = strlen(this->position_status); - varToArr(outbuffer + offset, length_position_status); - offset += 4; - memcpy(outbuffer + offset, this->position_status, length_position_status); - offset += length_position_status; - union { - double real; - uint64_t base; - } u_lat; - u_lat.real = this->lat; - *(outbuffer + offset + 0) = (u_lat.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lat.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lat.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lat.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_lat.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_lat.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_lat.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_lat.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->lat); - union { - double real; - uint64_t base; - } u_lon; - u_lon.real = this->lon; - *(outbuffer + offset + 0) = (u_lon.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_lon.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_lon.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_lon.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_lon.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_lon.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_lon.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_lon.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->lon); - uint32_t length_lat_dir = strlen(this->lat_dir); - varToArr(outbuffer + offset, length_lat_dir); - offset += 4; - memcpy(outbuffer + offset, this->lat_dir, length_lat_dir); - offset += length_lat_dir; - uint32_t length_lon_dir = strlen(this->lon_dir); - varToArr(outbuffer + offset, length_lon_dir); - offset += 4; - memcpy(outbuffer + offset, this->lon_dir, length_lon_dir); - offset += length_lon_dir; - union { - float real; - uint32_t base; - } u_speed; - u_speed.real = this->speed; - *(outbuffer + offset + 0) = (u_speed.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_speed.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_speed.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_speed.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->speed); - union { - float real; - uint32_t base; - } u_track; - u_track.real = this->track; - *(outbuffer + offset + 0) = (u_track.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_track.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_track.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_track.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->track); - uint32_t length_date = strlen(this->date); - varToArr(outbuffer + offset, length_date); - offset += 4; - memcpy(outbuffer + offset, this->date, length_date); - offset += length_date; - union { - float real; - uint32_t base; - } u_mag_var; - u_mag_var.real = this->mag_var; - *(outbuffer + offset + 0) = (u_mag_var.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_mag_var.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_mag_var.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_mag_var.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->mag_var); - uint32_t length_mag_var_direction = strlen(this->mag_var_direction); - varToArr(outbuffer + offset, length_mag_var_direction); - offset += 4; - memcpy(outbuffer + offset, this->mag_var_direction, length_mag_var_direction); - offset += length_mag_var_direction; - uint32_t length_mode_indicator = strlen(this->mode_indicator); - varToArr(outbuffer + offset, length_mode_indicator); - offset += 4; - memcpy(outbuffer + offset, this->mode_indicator, length_mode_indicator); - offset += length_mode_indicator; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_message_id; - arrToVar(length_message_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message_id-1]=0; - this->message_id = (char *)(inbuffer + offset-1); - offset += length_message_id; - union { - double real; - uint64_t base; - } u_utc_seconds; - u_utc_seconds.base = 0; - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_utc_seconds.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->utc_seconds = u_utc_seconds.real; - offset += sizeof(this->utc_seconds); - uint32_t length_position_status; - arrToVar(length_position_status, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_position_status; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_position_status-1]=0; - this->position_status = (char *)(inbuffer + offset-1); - offset += length_position_status; - union { - double real; - uint64_t base; - } u_lat; - u_lat.base = 0; - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_lat.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->lat = u_lat.real; - offset += sizeof(this->lat); - union { - double real; - uint64_t base; - } u_lon; - u_lon.base = 0; - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_lon.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->lon = u_lon.real; - offset += sizeof(this->lon); - uint32_t length_lat_dir; - arrToVar(length_lat_dir, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_lat_dir; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_lat_dir-1]=0; - this->lat_dir = (char *)(inbuffer + offset-1); - offset += length_lat_dir; - uint32_t length_lon_dir; - arrToVar(length_lon_dir, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_lon_dir; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_lon_dir-1]=0; - this->lon_dir = (char *)(inbuffer + offset-1); - offset += length_lon_dir; - union { - float real; - uint32_t base; - } u_speed; - u_speed.base = 0; - u_speed.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_speed.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_speed.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_speed.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->speed = u_speed.real; - offset += sizeof(this->speed); - union { - float real; - uint32_t base; - } u_track; - u_track.base = 0; - u_track.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_track.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_track.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_track.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->track = u_track.real; - offset += sizeof(this->track); - uint32_t length_date; - arrToVar(length_date, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_date; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_date-1]=0; - this->date = (char *)(inbuffer + offset-1); - offset += length_date; - union { - float real; - uint32_t base; - } u_mag_var; - u_mag_var.base = 0; - u_mag_var.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_mag_var.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_mag_var.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_mag_var.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->mag_var = u_mag_var.real; - offset += sizeof(this->mag_var); - uint32_t length_mag_var_direction; - arrToVar(length_mag_var_direction, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_mag_var_direction; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_mag_var_direction-1]=0; - this->mag_var_direction = (char *)(inbuffer + offset-1); - offset += length_mag_var_direction; - uint32_t length_mode_indicator; - arrToVar(length_mode_indicator, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_mode_indicator; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_mode_indicator-1]=0; - this->mode_indicator = (char *)(inbuffer + offset-1); - offset += length_mode_indicator; - return offset; - } - - virtual const char * getType() override { return "nmea_msgs/Gprmc"; }; - virtual const char * getMD5() override { return "02533bac67f17457b2e3538525ba1aae"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Sentence.h b/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Sentence.h deleted file mode 100644 index c81e8ea4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nmea_msgs/Sentence.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _ROS_nmea_msgs_Sentence_h -#define _ROS_nmea_msgs_Sentence_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace nmea_msgs -{ - - class Sentence : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _sentence_type; - _sentence_type sentence; - - Sentence(): - header(), - sentence("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_sentence = strlen(this->sentence); - varToArr(outbuffer + offset, length_sentence); - offset += 4; - memcpy(outbuffer + offset, this->sentence, length_sentence); - offset += length_sentence; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_sentence; - arrToVar(length_sentence, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_sentence; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_sentence-1]=0; - this->sentence = (char *)(inbuffer + offset-1); - offset += length_sentence; - return offset; - } - - virtual const char * getType() override { return "nmea_msgs/Sentence"; }; - virtual const char * getMD5() override { return "9f221efc5f4b3bac7ce4af102b32308b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletList.h b/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletList.h deleted file mode 100644 index 5e57b501..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletList.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef _ROS_SERVICE_NodeletList_h -#define _ROS_SERVICE_NodeletList_h -#include -#include -#include -#include "ros/msg.h" - -namespace nodelet -{ - -static const char NODELETLIST[] = "nodelet/NodeletList"; - - class NodeletListRequest : public ros::Msg - { - public: - - NodeletListRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return NODELETLIST; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class NodeletListResponse : public ros::Msg - { - public: - uint32_t nodelets_length; - typedef char* _nodelets_type; - _nodelets_type st_nodelets; - _nodelets_type * nodelets; - - NodeletListResponse(): - nodelets_length(0), st_nodelets(), nodelets(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->nodelets_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->nodelets_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->nodelets_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->nodelets_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->nodelets_length); - for( uint32_t i = 0; i < nodelets_length; i++){ - uint32_t length_nodeletsi = strlen(this->nodelets[i]); - varToArr(outbuffer + offset, length_nodeletsi); - offset += 4; - memcpy(outbuffer + offset, this->nodelets[i], length_nodeletsi); - offset += length_nodeletsi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t nodelets_lengthT = ((uint32_t) (*(inbuffer + offset))); - nodelets_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - nodelets_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - nodelets_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->nodelets_length); - if(nodelets_lengthT > nodelets_length) - this->nodelets = (char**)realloc(this->nodelets, nodelets_lengthT * sizeof(char*)); - nodelets_length = nodelets_lengthT; - for( uint32_t i = 0; i < nodelets_length; i++){ - uint32_t length_st_nodelets; - arrToVar(length_st_nodelets, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_nodelets; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_nodelets-1]=0; - this->st_nodelets = (char *)(inbuffer + offset-1); - offset += length_st_nodelets; - memcpy( &(this->nodelets[i]), &(this->st_nodelets), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return NODELETLIST; }; - virtual const char * getMD5() override { return "99c7b10e794f5600b8030e697e946ca7"; }; - - }; - - class NodeletList { - public: - typedef NodeletListRequest Request; - typedef NodeletListResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletLoad.h b/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletLoad.h deleted file mode 100644 index 832aa3c3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletLoad.h +++ /dev/null @@ -1,250 +0,0 @@ -#ifndef _ROS_SERVICE_NodeletLoad_h -#define _ROS_SERVICE_NodeletLoad_h -#include -#include -#include -#include "ros/msg.h" - -namespace nodelet -{ - -static const char NODELETLOAD[] = "nodelet/NodeletLoad"; - - class NodeletLoadRequest : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef const char* _type_type; - _type_type type; - uint32_t remap_source_args_length; - typedef char* _remap_source_args_type; - _remap_source_args_type st_remap_source_args; - _remap_source_args_type * remap_source_args; - uint32_t remap_target_args_length; - typedef char* _remap_target_args_type; - _remap_target_args_type st_remap_target_args; - _remap_target_args_type * remap_target_args; - uint32_t my_argv_length; - typedef char* _my_argv_type; - _my_argv_type st_my_argv; - _my_argv_type * my_argv; - typedef const char* _bond_id_type; - _bond_id_type bond_id; - - NodeletLoadRequest(): - name(""), - type(""), - remap_source_args_length(0), st_remap_source_args(), remap_source_args(nullptr), - remap_target_args_length(0), st_remap_target_args(), remap_target_args(nullptr), - my_argv_length(0), st_my_argv(), my_argv(nullptr), - bond_id("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_type = strlen(this->type); - varToArr(outbuffer + offset, length_type); - offset += 4; - memcpy(outbuffer + offset, this->type, length_type); - offset += length_type; - *(outbuffer + offset + 0) = (this->remap_source_args_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->remap_source_args_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->remap_source_args_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->remap_source_args_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->remap_source_args_length); - for( uint32_t i = 0; i < remap_source_args_length; i++){ - uint32_t length_remap_source_argsi = strlen(this->remap_source_args[i]); - varToArr(outbuffer + offset, length_remap_source_argsi); - offset += 4; - memcpy(outbuffer + offset, this->remap_source_args[i], length_remap_source_argsi); - offset += length_remap_source_argsi; - } - *(outbuffer + offset + 0) = (this->remap_target_args_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->remap_target_args_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->remap_target_args_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->remap_target_args_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->remap_target_args_length); - for( uint32_t i = 0; i < remap_target_args_length; i++){ - uint32_t length_remap_target_argsi = strlen(this->remap_target_args[i]); - varToArr(outbuffer + offset, length_remap_target_argsi); - offset += 4; - memcpy(outbuffer + offset, this->remap_target_args[i], length_remap_target_argsi); - offset += length_remap_target_argsi; - } - *(outbuffer + offset + 0) = (this->my_argv_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->my_argv_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->my_argv_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->my_argv_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->my_argv_length); - for( uint32_t i = 0; i < my_argv_length; i++){ - uint32_t length_my_argvi = strlen(this->my_argv[i]); - varToArr(outbuffer + offset, length_my_argvi); - offset += 4; - memcpy(outbuffer + offset, this->my_argv[i], length_my_argvi); - offset += length_my_argvi; - } - uint32_t length_bond_id = strlen(this->bond_id); - varToArr(outbuffer + offset, length_bond_id); - offset += 4; - memcpy(outbuffer + offset, this->bond_id, length_bond_id); - offset += length_bond_id; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_type; - arrToVar(length_type, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_type; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_type-1]=0; - this->type = (char *)(inbuffer + offset-1); - offset += length_type; - uint32_t remap_source_args_lengthT = ((uint32_t) (*(inbuffer + offset))); - remap_source_args_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - remap_source_args_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - remap_source_args_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->remap_source_args_length); - if(remap_source_args_lengthT > remap_source_args_length) - this->remap_source_args = (char**)realloc(this->remap_source_args, remap_source_args_lengthT * sizeof(char*)); - remap_source_args_length = remap_source_args_lengthT; - for( uint32_t i = 0; i < remap_source_args_length; i++){ - uint32_t length_st_remap_source_args; - arrToVar(length_st_remap_source_args, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_remap_source_args; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_remap_source_args-1]=0; - this->st_remap_source_args = (char *)(inbuffer + offset-1); - offset += length_st_remap_source_args; - memcpy( &(this->remap_source_args[i]), &(this->st_remap_source_args), sizeof(char*)); - } - uint32_t remap_target_args_lengthT = ((uint32_t) (*(inbuffer + offset))); - remap_target_args_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - remap_target_args_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - remap_target_args_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->remap_target_args_length); - if(remap_target_args_lengthT > remap_target_args_length) - this->remap_target_args = (char**)realloc(this->remap_target_args, remap_target_args_lengthT * sizeof(char*)); - remap_target_args_length = remap_target_args_lengthT; - for( uint32_t i = 0; i < remap_target_args_length; i++){ - uint32_t length_st_remap_target_args; - arrToVar(length_st_remap_target_args, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_remap_target_args; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_remap_target_args-1]=0; - this->st_remap_target_args = (char *)(inbuffer + offset-1); - offset += length_st_remap_target_args; - memcpy( &(this->remap_target_args[i]), &(this->st_remap_target_args), sizeof(char*)); - } - uint32_t my_argv_lengthT = ((uint32_t) (*(inbuffer + offset))); - my_argv_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - my_argv_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - my_argv_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->my_argv_length); - if(my_argv_lengthT > my_argv_length) - this->my_argv = (char**)realloc(this->my_argv, my_argv_lengthT * sizeof(char*)); - my_argv_length = my_argv_lengthT; - for( uint32_t i = 0; i < my_argv_length; i++){ - uint32_t length_st_my_argv; - arrToVar(length_st_my_argv, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_my_argv; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_my_argv-1]=0; - this->st_my_argv = (char *)(inbuffer + offset-1); - offset += length_st_my_argv; - memcpy( &(this->my_argv[i]), &(this->st_my_argv), sizeof(char*)); - } - uint32_t length_bond_id; - arrToVar(length_bond_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_bond_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_bond_id-1]=0; - this->bond_id = (char *)(inbuffer + offset-1); - offset += length_bond_id; - return offset; - } - - virtual const char * getType() override { return NODELETLOAD; }; - virtual const char * getMD5() override { return "c6e28cc4d2e259249d96cfb50658fbec"; }; - - }; - - class NodeletLoadResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - NodeletLoadResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return NODELETLOAD; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class NodeletLoad { - public: - typedef NodeletLoadRequest Request; - typedef NodeletLoadResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletUnload.h b/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletUnload.h deleted file mode 100644 index dc964ff8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/nodelet/NodeletUnload.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef _ROS_SERVICE_NodeletUnload_h -#define _ROS_SERVICE_NodeletUnload_h -#include -#include -#include -#include "ros/msg.h" - -namespace nodelet -{ - -static const char NODELETUNLOAD[] = "nodelet/NodeletUnload"; - - class NodeletUnloadRequest : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - - NodeletUnloadRequest(): - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return NODELETUNLOAD; }; - virtual const char * getMD5() override { return "c1f3d28f1b044c871e6eff2e9fc3c667"; }; - - }; - - class NodeletUnloadResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - NodeletUnloadResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return NODELETUNLOAD; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class NodeletUnload { - public: - typedef NodeletUnloadRequest Request; - typedef NodeletUnloadResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/ModelCoefficients.h b/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/ModelCoefficients.h deleted file mode 100644 index c9e373c0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/ModelCoefficients.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_pcl_msgs_ModelCoefficients_h -#define _ROS_pcl_msgs_ModelCoefficients_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace pcl_msgs -{ - - class ModelCoefficients : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t values_length; - typedef float _values_type; - _values_type st_values; - _values_type * values; - - ModelCoefficients(): - header(), - values_length(0), st_values(), values(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->values_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->values_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->values_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->values_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->values_length); - for( uint32_t i = 0; i < values_length; i++){ - union { - float real; - uint32_t base; - } u_valuesi; - u_valuesi.real = this->values[i]; - *(outbuffer + offset + 0) = (u_valuesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_valuesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_valuesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_valuesi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->values[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t values_lengthT = ((uint32_t) (*(inbuffer + offset))); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->values_length); - if(values_lengthT > values_length) - this->values = (float*)realloc(this->values, values_lengthT * sizeof(float)); - values_length = values_lengthT; - for( uint32_t i = 0; i < values_length; i++){ - union { - float real; - uint32_t base; - } u_st_values; - u_st_values.base = 0; - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_values = u_st_values.real; - offset += sizeof(this->st_values); - memcpy( &(this->values[i]), &(this->st_values), sizeof(float)); - } - return offset; - } - - virtual const char * getType() override { return "pcl_msgs/ModelCoefficients"; }; - virtual const char * getMD5() override { return "ca27dea75e72cb894cd36f9e5005e93e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PointIndices.h b/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PointIndices.h deleted file mode 100644 index 22dc955c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PointIndices.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_pcl_msgs_PointIndices_h -#define _ROS_pcl_msgs_PointIndices_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace pcl_msgs -{ - - class PointIndices : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t indices_length; - typedef int32_t _indices_type; - _indices_type st_indices; - _indices_type * indices; - - PointIndices(): - header(), - indices_length(0), st_indices(), indices(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->indices_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->indices_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->indices_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->indices_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->indices_length); - for( uint32_t i = 0; i < indices_length; i++){ - union { - int32_t real; - uint32_t base; - } u_indicesi; - u_indicesi.real = this->indices[i]; - *(outbuffer + offset + 0) = (u_indicesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_indicesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_indicesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_indicesi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->indices[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t indices_lengthT = ((uint32_t) (*(inbuffer + offset))); - indices_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - indices_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - indices_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->indices_length); - if(indices_lengthT > indices_length) - this->indices = (int32_t*)realloc(this->indices, indices_lengthT * sizeof(int32_t)); - indices_length = indices_lengthT; - for( uint32_t i = 0; i < indices_length; i++){ - union { - int32_t real; - uint32_t base; - } u_st_indices; - u_st_indices.base = 0; - u_st_indices.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_indices.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_indices.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_indices.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_indices = u_st_indices.real; - offset += sizeof(this->st_indices); - memcpy( &(this->indices[i]), &(this->st_indices), sizeof(int32_t)); - } - return offset; - } - - virtual const char * getType() override { return "pcl_msgs/PointIndices"; }; - virtual const char * getMD5() override { return "458c7998b7eaf99908256472e273b3d4"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PolygonMesh.h b/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PolygonMesh.h deleted file mode 100644 index 41c45c3a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/PolygonMesh.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _ROS_pcl_msgs_PolygonMesh_h -#define _ROS_pcl_msgs_PolygonMesh_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "sensor_msgs/PointCloud2.h" -#include "pcl_msgs/Vertices.h" - -namespace pcl_msgs -{ - - class PolygonMesh : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef sensor_msgs::PointCloud2 _cloud_type; - _cloud_type cloud; - uint32_t polygons_length; - typedef pcl_msgs::Vertices _polygons_type; - _polygons_type st_polygons; - _polygons_type * polygons; - - PolygonMesh(): - header(), - cloud(), - polygons_length(0), st_polygons(), polygons(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->cloud.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->polygons_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->polygons_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->polygons_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->polygons_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->polygons_length); - for( uint32_t i = 0; i < polygons_length; i++){ - offset += this->polygons[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->cloud.deserialize(inbuffer + offset); - uint32_t polygons_lengthT = ((uint32_t) (*(inbuffer + offset))); - polygons_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - polygons_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - polygons_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->polygons_length); - if(polygons_lengthT > polygons_length) - this->polygons = (pcl_msgs::Vertices*)realloc(this->polygons, polygons_lengthT * sizeof(pcl_msgs::Vertices)); - polygons_length = polygons_lengthT; - for( uint32_t i = 0; i < polygons_length; i++){ - offset += this->st_polygons.deserialize(inbuffer + offset); - memcpy( &(this->polygons[i]), &(this->st_polygons), sizeof(pcl_msgs::Vertices)); - } - return offset; - } - - virtual const char * getType() override { return "pcl_msgs/PolygonMesh"; }; - virtual const char * getMD5() override { return "45a5fc6ad2cde8489600a790acc9a38a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/UpdateFilename.h b/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/UpdateFilename.h deleted file mode 100644 index 7a3534d9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/UpdateFilename.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef _ROS_SERVICE_UpdateFilename_h -#define _ROS_SERVICE_UpdateFilename_h -#include -#include -#include -#include "ros/msg.h" - -namespace pcl_msgs -{ - -static const char UPDATEFILENAME[] = "pcl_msgs/UpdateFilename"; - - class UpdateFilenameRequest : public ros::Msg - { - public: - typedef const char* _filename_type; - _filename_type filename; - - UpdateFilenameRequest(): - filename("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_filename = strlen(this->filename); - varToArr(outbuffer + offset, length_filename); - offset += 4; - memcpy(outbuffer + offset, this->filename, length_filename); - offset += length_filename; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_filename; - arrToVar(length_filename, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_filename; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_filename-1]=0; - this->filename = (char *)(inbuffer + offset-1); - offset += length_filename; - return offset; - } - - virtual const char * getType() override { return UPDATEFILENAME; }; - virtual const char * getMD5() override { return "030824f52a0628ead956fb9d67e66ae9"; }; - - }; - - class UpdateFilenameResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - UpdateFilenameResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return UPDATEFILENAME; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class UpdateFilename { - public: - typedef UpdateFilenameRequest Request; - typedef UpdateFilenameResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/Vertices.h b/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/Vertices.h deleted file mode 100644 index 02b05e6e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/pcl_msgs/Vertices.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef _ROS_pcl_msgs_Vertices_h -#define _ROS_pcl_msgs_Vertices_h - -#include -#include -#include -#include "ros/msg.h" - -namespace pcl_msgs -{ - - class Vertices : public ros::Msg - { - public: - uint32_t vertices_length; - typedef uint32_t _vertices_type; - _vertices_type st_vertices; - _vertices_type * vertices; - - Vertices(): - vertices_length(0), st_vertices(), vertices(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->vertices_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vertices_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->vertices_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->vertices_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->vertices_length); - for( uint32_t i = 0; i < vertices_length; i++){ - *(outbuffer + offset + 0) = (this->vertices[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vertices[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->vertices[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->vertices[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->vertices[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t vertices_lengthT = ((uint32_t) (*(inbuffer + offset))); - vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->vertices_length); - if(vertices_lengthT > vertices_length) - this->vertices = (uint32_t*)realloc(this->vertices, vertices_lengthT * sizeof(uint32_t)); - vertices_length = vertices_lengthT; - for( uint32_t i = 0; i < vertices_length; i++){ - this->st_vertices = ((uint32_t) (*(inbuffer + offset))); - this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->st_vertices); - memcpy( &(this->vertices[i]), &(this->st_vertices), sizeof(uint32_t)); - } - return offset; - } - - virtual const char * getType() override { return "pcl_msgs/Vertices"; }; - virtual const char * getMD5() override { return "39bd7b1c23763ddd1b882b97cb7cfe11"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/polled_camera/GetPolledImage.h b/firmware/libraries/Rosserial_Arduino_Library/src/polled_camera/GetPolledImage.h deleted file mode 100644 index 0011042d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/polled_camera/GetPolledImage.h +++ /dev/null @@ -1,202 +0,0 @@ -#ifndef _ROS_SERVICE_GetPolledImage_h -#define _ROS_SERVICE_GetPolledImage_h -#include -#include -#include -#include "ros/msg.h" -#include "ros/duration.h" -#include "ros/time.h" -#include "sensor_msgs/RegionOfInterest.h" - -namespace polled_camera -{ - -static const char GETPOLLEDIMAGE[] = "polled_camera/GetPolledImage"; - - class GetPolledImageRequest : public ros::Msg - { - public: - typedef const char* _response_namespace_type; - _response_namespace_type response_namespace; - typedef ros::Duration _timeout_type; - _timeout_type timeout; - typedef uint32_t _binning_x_type; - _binning_x_type binning_x; - typedef uint32_t _binning_y_type; - _binning_y_type binning_y; - typedef sensor_msgs::RegionOfInterest _roi_type; - _roi_type roi; - - GetPolledImageRequest(): - response_namespace(""), - timeout(), - binning_x(0), - binning_y(0), - roi() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_response_namespace = strlen(this->response_namespace); - varToArr(outbuffer + offset, length_response_namespace); - offset += 4; - memcpy(outbuffer + offset, this->response_namespace, length_response_namespace); - offset += length_response_namespace; - *(outbuffer + offset + 0) = (this->timeout.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timeout.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timeout.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timeout.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timeout.sec); - *(outbuffer + offset + 0) = (this->timeout.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timeout.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timeout.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timeout.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timeout.nsec); - *(outbuffer + offset + 0) = (this->binning_x >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->binning_x >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->binning_x >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->binning_x >> (8 * 3)) & 0xFF; - offset += sizeof(this->binning_x); - *(outbuffer + offset + 0) = (this->binning_y >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->binning_y >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->binning_y >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->binning_y >> (8 * 3)) & 0xFF; - offset += sizeof(this->binning_y); - offset += this->roi.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_response_namespace; - arrToVar(length_response_namespace, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_response_namespace; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_response_namespace-1]=0; - this->response_namespace = (char *)(inbuffer + offset-1); - offset += length_response_namespace; - this->timeout.sec = ((uint32_t) (*(inbuffer + offset))); - this->timeout.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timeout.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timeout.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timeout.sec); - this->timeout.nsec = ((uint32_t) (*(inbuffer + offset))); - this->timeout.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timeout.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timeout.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timeout.nsec); - this->binning_x = ((uint32_t) (*(inbuffer + offset))); - this->binning_x |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->binning_x |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->binning_x |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->binning_x); - this->binning_y = ((uint32_t) (*(inbuffer + offset))); - this->binning_y |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->binning_y |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->binning_y |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->binning_y); - offset += this->roi.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return GETPOLLEDIMAGE; }; - virtual const char * getMD5() override { return "c77ed43e530fd48e9e7a2a93845e154c"; }; - - }; - - class GetPolledImageResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - typedef ros::Time _stamp_type; - _stamp_type stamp; - - GetPolledImageResponse(): - success(0), - status_message(""), - stamp() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - *(outbuffer + offset + 0) = (this->stamp.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp.sec); - *(outbuffer + offset + 0) = (this->stamp.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - this->stamp.sec = ((uint32_t) (*(inbuffer + offset))); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp.sec); - this->stamp.nsec = ((uint32_t) (*(inbuffer + offset))); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp.nsec); - return offset; - } - - virtual const char * getType() override { return GETPOLLEDIMAGE; }; - virtual const char * getMD5() override { return "dbf1f851bc511800e6129ccd5a3542ab"; }; - - }; - - class GetPolledImage { - public: - typedef GetPolledImageRequest Request; - typedef GetPolledImageResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/DeviceInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/DeviceInfo.h deleted file mode 100644 index 4867227f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/DeviceInfo.h +++ /dev/null @@ -1,172 +0,0 @@ -#ifndef _ROS_SERVICE_DeviceInfo_h -#define _ROS_SERVICE_DeviceInfo_h -#include -#include -#include -#include "ros/msg.h" - -namespace realsense2_camera -{ - -static const char DEVICEINFO[] = "realsense2_camera/DeviceInfo"; - - class DeviceInfoRequest : public ros::Msg - { - public: - - DeviceInfoRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return DEVICEINFO; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class DeviceInfoResponse : public ros::Msg - { - public: - typedef const char* _device_name_type; - _device_name_type device_name; - typedef const char* _serial_number_type; - _serial_number_type serial_number; - typedef const char* _firmware_version_type; - _firmware_version_type firmware_version; - typedef const char* _usb_type_descriptor_type; - _usb_type_descriptor_type usb_type_descriptor; - typedef const char* _firmware_update_id_type; - _firmware_update_id_type firmware_update_id; - typedef const char* _sensors_type; - _sensors_type sensors; - - DeviceInfoResponse(): - device_name(""), - serial_number(""), - firmware_version(""), - usb_type_descriptor(""), - firmware_update_id(""), - sensors("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_device_name = strlen(this->device_name); - varToArr(outbuffer + offset, length_device_name); - offset += 4; - memcpy(outbuffer + offset, this->device_name, length_device_name); - offset += length_device_name; - uint32_t length_serial_number = strlen(this->serial_number); - varToArr(outbuffer + offset, length_serial_number); - offset += 4; - memcpy(outbuffer + offset, this->serial_number, length_serial_number); - offset += length_serial_number; - uint32_t length_firmware_version = strlen(this->firmware_version); - varToArr(outbuffer + offset, length_firmware_version); - offset += 4; - memcpy(outbuffer + offset, this->firmware_version, length_firmware_version); - offset += length_firmware_version; - uint32_t length_usb_type_descriptor = strlen(this->usb_type_descriptor); - varToArr(outbuffer + offset, length_usb_type_descriptor); - offset += 4; - memcpy(outbuffer + offset, this->usb_type_descriptor, length_usb_type_descriptor); - offset += length_usb_type_descriptor; - uint32_t length_firmware_update_id = strlen(this->firmware_update_id); - varToArr(outbuffer + offset, length_firmware_update_id); - offset += 4; - memcpy(outbuffer + offset, this->firmware_update_id, length_firmware_update_id); - offset += length_firmware_update_id; - uint32_t length_sensors = strlen(this->sensors); - varToArr(outbuffer + offset, length_sensors); - offset += 4; - memcpy(outbuffer + offset, this->sensors, length_sensors); - offset += length_sensors; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_device_name; - arrToVar(length_device_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_device_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_device_name-1]=0; - this->device_name = (char *)(inbuffer + offset-1); - offset += length_device_name; - uint32_t length_serial_number; - arrToVar(length_serial_number, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_serial_number; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_serial_number-1]=0; - this->serial_number = (char *)(inbuffer + offset-1); - offset += length_serial_number; - uint32_t length_firmware_version; - arrToVar(length_firmware_version, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_firmware_version; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_firmware_version-1]=0; - this->firmware_version = (char *)(inbuffer + offset-1); - offset += length_firmware_version; - uint32_t length_usb_type_descriptor; - arrToVar(length_usb_type_descriptor, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_usb_type_descriptor; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_usb_type_descriptor-1]=0; - this->usb_type_descriptor = (char *)(inbuffer + offset-1); - offset += length_usb_type_descriptor; - uint32_t length_firmware_update_id; - arrToVar(length_firmware_update_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_firmware_update_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_firmware_update_id-1]=0; - this->firmware_update_id = (char *)(inbuffer + offset-1); - offset += length_firmware_update_id; - uint32_t length_sensors; - arrToVar(length_sensors, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_sensors; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_sensors-1]=0; - this->sensors = (char *)(inbuffer + offset-1); - offset += length_sensors; - return offset; - } - - virtual const char * getType() override { return DEVICEINFO; }; - virtual const char * getMD5() override { return "914e9cfa74a4f66f08c3fe1016943c1b"; }; - - }; - - class DeviceInfo { - public: - typedef DeviceInfoRequest Request; - typedef DeviceInfoResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Extrinsics.h b/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Extrinsics.h deleted file mode 100644 index 787e00a4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Extrinsics.h +++ /dev/null @@ -1,114 +0,0 @@ -#ifndef _ROS_realsense2_camera_Extrinsics_h -#define _ROS_realsense2_camera_Extrinsics_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace realsense2_camera -{ - - class Extrinsics : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - double rotation[9]; - double translation[3]; - - Extrinsics(): - header(), - rotation(), - translation() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_rotationi; - u_rotationi.real = this->rotation[i]; - *(outbuffer + offset + 0) = (u_rotationi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_rotationi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_rotationi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_rotationi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_rotationi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_rotationi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_rotationi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_rotationi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->rotation[i]); - } - for( uint32_t i = 0; i < 3; i++){ - union { - double real; - uint64_t base; - } u_translationi; - u_translationi.real = this->translation[i]; - *(outbuffer + offset + 0) = (u_translationi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_translationi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_translationi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_translationi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_translationi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_translationi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_translationi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_translationi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->translation[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_rotationi; - u_rotationi.base = 0; - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_rotationi.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->rotation[i] = u_rotationi.real; - offset += sizeof(this->rotation[i]); - } - for( uint32_t i = 0; i < 3; i++){ - union { - double real; - uint64_t base; - } u_translationi; - u_translationi.base = 0; - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_translationi.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->translation[i] = u_translationi.real; - offset += sizeof(this->translation[i]); - } - return offset; - } - - virtual const char * getType() override { return "realsense2_camera/Extrinsics"; }; - virtual const char * getMD5() override { return "3627b43073f4cd5dd6dc179a49eda2ad"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/IMUInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/IMUInfo.h deleted file mode 100644 index ad4b652d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/IMUInfo.h +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef _ROS_realsense2_camera_IMUInfo_h -#define _ROS_realsense2_camera_IMUInfo_h - -#include -#include -#include -#include "ros/msg.h" - -namespace realsense2_camera -{ - - class IMUInfo : public ros::Msg - { - public: - typedef const char* _frame_id_type; - _frame_id_type frame_id; - double data[12]; - double noise_variances[3]; - double bias_variances[3]; - - IMUInfo(): - frame_id(""), - data(), - noise_variances(), - bias_variances() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_frame_id = strlen(this->frame_id); - varToArr(outbuffer + offset, length_frame_id); - offset += 4; - memcpy(outbuffer + offset, this->frame_id, length_frame_id); - offset += length_frame_id; - for( uint32_t i = 0; i < 12; i++){ - union { - double real; - uint64_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_datai.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_datai.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_datai.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_datai.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->data[i]); - } - for( uint32_t i = 0; i < 3; i++){ - union { - double real; - uint64_t base; - } u_noise_variancesi; - u_noise_variancesi.real = this->noise_variances[i]; - *(outbuffer + offset + 0) = (u_noise_variancesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_noise_variancesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_noise_variancesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_noise_variancesi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_noise_variancesi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_noise_variancesi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_noise_variancesi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_noise_variancesi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->noise_variances[i]); - } - for( uint32_t i = 0; i < 3; i++){ - union { - double real; - uint64_t base; - } u_bias_variancesi; - u_bias_variancesi.real = this->bias_variances[i]; - *(outbuffer + offset + 0) = (u_bias_variancesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_bias_variancesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_bias_variancesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_bias_variancesi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_bias_variancesi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_bias_variancesi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_bias_variancesi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_bias_variancesi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->bias_variances[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_frame_id; - arrToVar(length_frame_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_frame_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_frame_id-1]=0; - this->frame_id = (char *)(inbuffer + offset-1); - offset += length_frame_id; - for( uint32_t i = 0; i < 12; i++){ - union { - double real; - uint64_t base; - } u_datai; - u_datai.base = 0; - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_datai.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->data[i] = u_datai.real; - offset += sizeof(this->data[i]); - } - for( uint32_t i = 0; i < 3; i++){ - union { - double real; - uint64_t base; - } u_noise_variancesi; - u_noise_variancesi.base = 0; - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_noise_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->noise_variances[i] = u_noise_variancesi.real; - offset += sizeof(this->noise_variances[i]); - } - for( uint32_t i = 0; i < 3; i++){ - union { - double real; - uint64_t base; - } u_bias_variancesi; - u_bias_variancesi.base = 0; - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_bias_variancesi.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->bias_variances[i] = u_bias_variancesi.real; - offset += sizeof(this->bias_variances[i]); - } - return offset; - } - - virtual const char * getType() override { return "realsense2_camera/IMUInfo"; }; - virtual const char * getMD5() override { return "a02adb3a99530b11ba18a16f40f9512a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Metadata.h b/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Metadata.h deleted file mode 100644 index 01a7c42a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/realsense2_camera/Metadata.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _ROS_realsense2_camera_Metadata_h -#define _ROS_realsense2_camera_Metadata_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace realsense2_camera -{ - - class Metadata : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _json_data_type; - _json_data_type json_data; - - Metadata(): - header(), - json_data("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_json_data = strlen(this->json_data); - varToArr(outbuffer + offset, length_json_data); - offset += 4; - memcpy(outbuffer + offset, this->json_data, length_json_data); - offset += length_json_data; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_json_data; - arrToVar(length_json_data, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_json_data; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_json_data-1]=0; - this->json_data = (char *)(inbuffer + offset-1); - offset += length_json_data; - return offset; - } - - virtual const char * getType() override { return "realsense2_camera/Metadata"; }; - virtual const char * getMD5() override { return "4966ca002be16ee67fe4dbfb2f354787"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros.h deleted file mode 100644 index 8a2c7131..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _ROS_H_ -#define _ROS_H_ - -#include "ros/node_handle.h" - -#if defined(ESP8266) or defined(ESP32) or defined(ROSSERIAL_ARDUINO_TCP) - #include "ArduinoTcpHardware.h" -#else - #include "ArduinoHardware.h" -#endif - -namespace ros -{ -#if defined(__AVR_ATmega8__) or defined(__AVR_ATmega168__) - /* downsize our buffers */ - typedef NodeHandle_ NodeHandle; - -#elif defined(__AVR_ATmega328P__) - - typedef NodeHandle_ NodeHandle; - -#elif defined(SPARK) - - typedef NodeHandle_ NodeHandle; - -#else - - typedef NodeHandle_ NodeHandle; // default 25, 25, 512, 512 - -#endif -} - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/duration.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/duration.h deleted file mode 100644 index 5ec6d900..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/duration.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _ROS_DURATION_H_ -#define _ROS_DURATION_H_ - -#include -#include - -namespace ros -{ - -void normalizeSecNSecSigned(int32_t& sec, int32_t& nsec); - -class Duration -{ -public: - int32_t sec, nsec; - - Duration() : sec(0), nsec(0) {} - Duration(int32_t _sec, int32_t _nsec) : sec(_sec), nsec(_nsec) - { - normalizeSecNSecSigned(sec, nsec); - } - - double toSec() const - { - return (double)sec + 1e-9 * (double)nsec; - }; - void fromSec(double t) - { - sec = (uint32_t) floor(t); - nsec = (uint32_t) round((t - sec) * 1e9); - }; - - Duration& operator+=(const Duration &rhs); - Duration& operator-=(const Duration &rhs); - Duration& operator*=(double scale); -}; - -} - -#endif - diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/msg.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/msg.h deleted file mode 100644 index b9f62012..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/msg.h +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _ROS_MSG_H_ -#define _ROS_MSG_H_ - -#include -#include -#include - -namespace ros -{ - -/* Base Message Type */ -class Msg -{ -public: - virtual int serialize(unsigned char *outbuffer) const = 0; - virtual int deserialize(unsigned char *data) = 0; - virtual const char * getType() = 0; - virtual const char * getMD5() = 0; - - /** - * @brief This tricky function handles promoting a 32bit float to a 64bit - * double, so that AVR can publish messages containing float64 - * fields, despite AVR having no native support for double. - * - * @param[out] outbuffer pointer for buffer to serialize to. - * @param[in] f value to serialize. - * - * @return number of bytes to advance the buffer pointer. - * - */ - static int serializeAvrFloat64(unsigned char* outbuffer, const float f) - { - int32_t val; - memcpy(&val, &f, sizeof(val)); - - int16_t exp = ((val >> 23) & 255); - uint32_t mantissa = val & 0x7FFFFF; - - if (exp == 255) - { - exp = 2047; // Special value for NaN, infinity etc. - } - else if (exp != 0) - { - exp += 1023 - 127; // Normal case - } - else if (!mantissa) - { - exp = 0; // Zero - } - else - { - // Denormalized value in float, will fit as normalized value in double - exp += 1023 - 127; - mantissa <<= 1; - while (!(mantissa & 0x800000)) - { - mantissa <<= 1; - exp--; - } - mantissa &= 0x7FFFFF; - } - - *(outbuffer++) = 0; - *(outbuffer++) = 0; - *(outbuffer++) = 0; - *(outbuffer++) = (mantissa << 5) & 0xff; - *(outbuffer++) = (mantissa >> 3) & 0xff; - *(outbuffer++) = (mantissa >> 11) & 0xff; - *(outbuffer++) = ((exp << 4) & 0xF0) | ((mantissa >> 19) & 0x0F); - *(outbuffer++) = (exp >> 4) & 0x7F; - - // Mark negative bit as necessary. - if (f < 0) - { - *(outbuffer - 1) |= 0x80; - } - - return 8; - } - - /** - * @brief This tricky function handles demoting a 64bit double to a - * 32bit float, so that AVR can understand messages containing - * float64 fields, despite AVR having no native support for double. - * - * @param[in] inbuffer pointer for buffer to deserialize from. - * @param[out] f pointer to place the deserialized value in. - * - * @return number of bytes to advance the buffer pointer. - */ - static int deserializeAvrFloat64(const unsigned char* inbuffer, float* f) - { - int16_t exp; - uint32_t mantissa; - - // Skip lowest 24 bits - inbuffer += 3; - - // Copy truncated mantissa. - mantissa = ((uint32_t)(*(inbuffer++)) >> 4 & 0x0F); - mantissa |= ((uint32_t)(*(inbuffer++)) & 0xff) << 4; - mantissa |= ((uint32_t)(*(inbuffer++)) & 0xff) << 12; - mantissa |= ((uint32_t)(*inbuffer) & 0x0f) << 20; - - // Copy exponent. - exp = ((uint32_t)(*(inbuffer++)) & 0xf0) >> 4; - exp |= ((uint32_t)(*inbuffer) & 0x7f) << 4; - - if (exp == 2047) - { - exp = 255; // NaN, infinity etc. - } - else if (exp - 1023 > 127) - { - exp = 255; - mantissa = 0; // Too large for float, convert to infinity - } - else if (exp - 1023 >= -126) - { - exp -= 1023 - 127; // Normal case - } - else if (exp - 1023 < -150) - { - exp = 0; // Too small or zero - } - else - { - // Have to convert to denormalized representation for float - mantissa |= 0x1000000; - mantissa >>= ((-126 + 1023) - exp); - exp = 0; - } - - // Round off mantissa - if (mantissa != 0xFFFFFF) - mantissa += 1; - - mantissa >>= 1; - - // Put mantissa and exponent into place - uint32_t val = mantissa; - val |= static_cast(exp) << 23; - - // Copy negative sign. - val |= (static_cast(*(inbuffer++)) & 0x80) << 24; - - memcpy(f, &val, sizeof(val)); - return 8; - } - - // Copy data from variable into a byte array - template - static void varToArr(A arr, const V var) - { - for (size_t i = 0; i < sizeof(V); i++) - arr[i] = (var >> (8 * i)); - } - - // Copy data from a byte array into variable - template - static void arrToVar(V& var, const A arr) - { - var = 0; - for (size_t i = 0; i < sizeof(V); i++) - var |= (arr[i] << (8 * i)); - } - -}; - -} // namespace ros - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/node_handle.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/node_handle.h deleted file mode 100644 index 32a3562c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/node_handle.h +++ /dev/null @@ -1,644 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_NODE_HANDLE_H_ -#define ROS_NODE_HANDLE_H_ - -#include - -#include "std_msgs/Time.h" -#include "rosserial_msgs/TopicInfo.h" -#include "rosserial_msgs/Log.h" -#include "rosserial_msgs/RequestParam.h" - -#include "ros/msg.h" - -namespace ros -{ - -class NodeHandleBase_ -{ -public: - virtual int publish(int id, const Msg* msg) = 0; - virtual int spinOnce() = 0; - virtual bool connected() = 0; -}; -} - -#include "ros/publisher.h" -#include "ros/subscriber.h" -#include "ros/service_server.h" -#include "ros/service_client.h" - -namespace ros -{ - -const int SPIN_OK = 0; -const int SPIN_ERR = -1; -const int SPIN_TIMEOUT = -2; - -const uint8_t SYNC_SECONDS = 5; -const uint8_t MODE_FIRST_FF = 0; -/* - * The second sync byte is a protocol version. It's value is 0xff for the first - * version of the rosserial protocol (used up to hydro), 0xfe for the second version - * (introduced in hydro), 0xfd for the next, and so on. Its purpose is to enable - * detection of mismatched protocol versions (e.g. hydro rosserial_python with groovy - * rosserial_arduino. It must be changed in both this file and in - * rosserial_python/src/rosserial_python/SerialClient.py - */ -const uint8_t MODE_PROTOCOL_VER = 1; -const uint8_t PROTOCOL_VER1 = 0xff; // through groovy -const uint8_t PROTOCOL_VER2 = 0xfe; // in hydro -const uint8_t PROTOCOL_VER = PROTOCOL_VER2; -const uint8_t MODE_SIZE_L = 2; -const uint8_t MODE_SIZE_H = 3; -const uint8_t MODE_SIZE_CHECKSUM = 4; // checksum for msg size received from size L and H -const uint8_t MODE_TOPIC_L = 5; // waiting for topic id -const uint8_t MODE_TOPIC_H = 6; -const uint8_t MODE_MESSAGE = 7; -const uint8_t MODE_MSG_CHECKSUM = 8; // checksum for msg and topic id - - -const uint8_t SERIAL_MSG_TIMEOUT = 20; // 20 milliseconds to recieve all of message data - -using rosserial_msgs::TopicInfo; - -/* Node Handle */ -template -class NodeHandle_ : public NodeHandleBase_ -{ -protected: - Hardware hardware_{}; - - /* time used for syncing */ - uint32_t rt_time{0}; - - /* used for computing current time */ - uint32_t sec_offset{0}, nsec_offset{0}; - - /* Spinonce maximum work timeout */ - uint32_t spin_timeout_{0}; - - uint8_t message_in[INPUT_SIZE] = {0}; - uint8_t message_out[OUTPUT_SIZE] = {0}; - - Publisher * publishers[MAX_PUBLISHERS] = {nullptr}; - Subscriber_ * subscribers[MAX_SUBSCRIBERS] {nullptr}; - - /* - * Setup Functions - */ -public: - Hardware* getHardware() - { - return &hardware_; - } - - /* Start serial, initialize buffers */ - void initNode() - { - hardware_.init(); - mode_ = 0; - bytes_ = 0; - index_ = 0; - topic_ = 0; - }; - - /* Start a named port, which may be network server IP, initialize buffers */ - void initNode(char *portName) - { - hardware_.init(portName); - mode_ = 0; - bytes_ = 0; - index_ = 0; - topic_ = 0; - }; - - /** - * @brief Sets the maximum time in millisconds that spinOnce() can work. - * This will not effect the processing of the buffer, as spinOnce processes - * one byte at a time. It simply sets the maximum time that one call can - * process for. You can choose to clear the buffer if that is beneficial if - * SPIN_TIMEOUT is returned from spinOnce(). - * @param timeout The timeout in milliseconds that spinOnce will function. - */ - void setSpinTimeout(const uint32_t& timeout) - { - spin_timeout_ = timeout; - } - -protected: - // State machine variables for spinOnce - int mode_{0}; - int bytes_{0}; - int topic_{0}; - int index_{0}; - int checksum_{0}; - - bool configured_{false}; - - /* used for syncing the time */ - uint32_t last_sync_time{0}; - uint32_t last_sync_receive_time{0}; - uint32_t last_msg_timeout_time{0}; - -public: - /* This function goes in your loop() function, it handles - * serial input and callbacks for subscribers. - */ - - - virtual int spinOnce() override - { - /* restart if timed out */ - uint32_t c_time = hardware_.time(); - if ((c_time - last_sync_receive_time) > (SYNC_SECONDS * 2200)) - { - configured_ = false; - } - - /* reset if message has timed out */ - if (mode_ != MODE_FIRST_FF) - { - if (c_time > last_msg_timeout_time) - { - mode_ = MODE_FIRST_FF; - } - } - - /* while available buffer, read data */ - while (true) - { - // If a timeout has been specified, check how long spinOnce has been running. - if (spin_timeout_ > 0) - { - // If the maximum processing timeout has been exceeded, exit with error. - // The next spinOnce can continue where it left off, or optionally - // based on the application in use, the hardware buffer could be flushed - // and start fresh. - if ((hardware_.time() - c_time) > spin_timeout_) - { - // Exit the spin, processing timeout exceeded. - return SPIN_TIMEOUT; - } - } - int data = hardware_.read(); - if (data < 0) - break; - checksum_ += data; - if (mode_ == MODE_MESSAGE) /* message data being recieved */ - { - message_in[index_++] = data; - bytes_--; - if (bytes_ == 0) /* is message complete? if so, checksum */ - mode_ = MODE_MSG_CHECKSUM; - } - else if (mode_ == MODE_FIRST_FF) - { - if (data == 0xff) - { - mode_++; - last_msg_timeout_time = c_time + SERIAL_MSG_TIMEOUT; - } - else if (hardware_.time() - c_time > (SYNC_SECONDS * 1000)) - { - /* We have been stuck in spinOnce too long, return error */ - configured_ = false; - return SPIN_TIMEOUT; - } - } - else if (mode_ == MODE_PROTOCOL_VER) - { - if (data == PROTOCOL_VER) - { - mode_++; - } - else - { - mode_ = MODE_FIRST_FF; - if (configured_ == false) - requestSyncTime(); /* send a msg back showing our protocol version */ - } - } - else if (mode_ == MODE_SIZE_L) /* bottom half of message size */ - { - bytes_ = data; - index_ = 0; - mode_++; - checksum_ = data; /* first byte for calculating size checksum */ - } - else if (mode_ == MODE_SIZE_H) /* top half of message size */ - { - bytes_ += data << 8; - mode_++; - } - else if (mode_ == MODE_SIZE_CHECKSUM) - { - if ((checksum_ % 256) == 255) - mode_++; - else - mode_ = MODE_FIRST_FF; /* Abandon the frame if the msg len is wrong */ - } - else if (mode_ == MODE_TOPIC_L) /* bottom half of topic id */ - { - topic_ = data; - mode_++; - checksum_ = data; /* first byte included in checksum */ - } - else if (mode_ == MODE_TOPIC_H) /* top half of topic id */ - { - topic_ += data << 8; - mode_ = MODE_MESSAGE; - if (bytes_ == 0) - mode_ = MODE_MSG_CHECKSUM; - } - else if (mode_ == MODE_MSG_CHECKSUM) /* do checksum */ - { - mode_ = MODE_FIRST_FF; - if ((checksum_ % 256) == 255) - { - if (topic_ == TopicInfo::ID_PUBLISHER) - { - requestSyncTime(); - negotiateTopics(); - last_sync_time = c_time; - last_sync_receive_time = c_time; - return SPIN_ERR; - } - else if (topic_ == TopicInfo::ID_TIME) - { - syncTime(message_in); - } - else if (topic_ == TopicInfo::ID_PARAMETER_REQUEST) - { - req_param_resp.deserialize(message_in); - param_received = true; - } - else if (topic_ == TopicInfo::ID_TX_STOP) - { - configured_ = false; - } - else - { - if (subscribers[topic_ - 100]) - subscribers[topic_ - 100]->callback(message_in); - } - } - } - } - - /* occasionally sync time */ - if (configured_ && ((c_time - last_sync_time) > (SYNC_SECONDS * 500))) - { - requestSyncTime(); - last_sync_time = c_time; - } - - return SPIN_OK; - } - - - /* Are we connected to the PC? */ - virtual bool connected() override - { - return configured_; - }; - - /******************************************************************** - * Time functions - */ - - void requestSyncTime() - { - std_msgs::Time t; - publish(TopicInfo::ID_TIME, &t); - rt_time = hardware_.time(); - } - - void syncTime(uint8_t * data) - { - std_msgs::Time t; - uint32_t offset = hardware_.time() - rt_time; - - t.deserialize(data); - t.data.sec += offset / 1000; - t.data.nsec += (offset % 1000) * 1000000UL; - - this->setNow(t.data); - last_sync_receive_time = hardware_.time(); - } - - Time now() - { - uint32_t ms = hardware_.time(); - Time current_time; - current_time.sec = ms / 1000 + sec_offset; - current_time.nsec = (ms % 1000) * 1000000UL + nsec_offset; - normalizeSecNSec(current_time.sec, current_time.nsec); - return current_time; - } - - void setNow(const Time & new_now) - { - uint32_t ms = hardware_.time(); - sec_offset = new_now.sec - ms / 1000 - 1; - nsec_offset = new_now.nsec - (ms % 1000) * 1000000UL + 1000000000UL; - normalizeSecNSec(sec_offset, nsec_offset); - } - - /******************************************************************** - * Topic Management - */ - - /* Register a new publisher */ - bool advertise(Publisher & p) - { - for (int i = 0; i < MAX_PUBLISHERS; i++) - { - if (publishers[i] == 0) // empty slot - { - publishers[i] = &p; - p.id_ = i + 100 + MAX_SUBSCRIBERS; - p.nh_ = this; - return true; - } - } - return false; - } - - /* Register a new subscriber */ - bool subscribe(Subscriber_& s) - { - for (int i = 0; i < MAX_SUBSCRIBERS; i++) - { - if (subscribers[i] == 0) // empty slot - { - subscribers[i] = &s; - s.id_ = i + 100; - return true; - } - } - return false; - } - - /* Register a new Service Server */ - template - bool advertiseService(ServiceServer& srv) - { - bool v = advertise(srv.pub); - bool w = subscribe(srv); - return v && w; - } - - /* Register a new Service Client */ - template - bool serviceClient(ServiceClient& srv) - { - bool v = advertise(srv.pub); - bool w = subscribe(srv); - return v && w; - } - - void negotiateTopics() - { - rosserial_msgs::TopicInfo ti; - int i; - for (i = 0; i < MAX_PUBLISHERS; i++) - { - if (publishers[i] != 0) // non-empty slot - { - ti.topic_id = publishers[i]->id_; - ti.topic_name = (char *) publishers[i]->topic_; - ti.message_type = (char *) publishers[i]->msg_->getType(); - ti.md5sum = (char *) publishers[i]->msg_->getMD5(); - ti.buffer_size = OUTPUT_SIZE; - publish(publishers[i]->getEndpointType(), &ti); - } - } - for (i = 0; i < MAX_SUBSCRIBERS; i++) - { - if (subscribers[i] != 0) // non-empty slot - { - ti.topic_id = subscribers[i]->id_; - ti.topic_name = (char *) subscribers[i]->topic_; - ti.message_type = (char *) subscribers[i]->getMsgType(); - ti.md5sum = (char *) subscribers[i]->getMsgMD5(); - ti.buffer_size = INPUT_SIZE; - publish(subscribers[i]->getEndpointType(), &ti); - } - } - configured_ = true; - } - - virtual int publish(int id, const Msg * msg) override - { - if (id >= 100 && !configured_) - return 0; - - /* serialize message */ - int l = msg->serialize(message_out + 7); - - /* setup the header */ - message_out[0] = 0xff; - message_out[1] = PROTOCOL_VER; - message_out[2] = (uint8_t)((uint16_t)l & 255); - message_out[3] = (uint8_t)((uint16_t)l >> 8); - message_out[4] = 255 - ((message_out[2] + message_out[3]) % 256); - message_out[5] = (uint8_t)((int16_t)id & 255); - message_out[6] = (uint8_t)((int16_t)id >> 8); - - /* calculate checksum */ - int chk = 0; - for (int i = 5; i < l + 7; i++) - chk += message_out[i]; - l += 7; - message_out[l++] = 255 - (chk % 256); - - if (l <= OUTPUT_SIZE) - { - hardware_.write(message_out, l); - return l; - } - else - { - logerror("Message from device dropped: message larger than buffer."); - return -1; - } - } - - /******************************************************************** - * Logging - */ - -protected: - void log(char byte, const char * msg) - { - rosserial_msgs::Log l; - l.level = byte; - l.msg = (char*)msg; - publish(rosserial_msgs::TopicInfo::ID_LOG, &l); - } - -public: - void logdebug(const char* msg) - { - log(rosserial_msgs::Log::ROSDEBUG, msg); - } - void loginfo(const char * msg) - { - log(rosserial_msgs::Log::INFO, msg); - } - void logwarn(const char *msg) - { - log(rosserial_msgs::Log::WARN, msg); - } - void logerror(const char*msg) - { - log(rosserial_msgs::Log::ERROR, msg); - } - void logfatal(const char*msg) - { - log(rosserial_msgs::Log::FATAL, msg); - } - - /******************************************************************** - * Parameters - */ - -protected: - bool param_received{false}; - rosserial_msgs::RequestParamResponse req_param_resp{}; - - bool requestParam(const char * name, int time_out = 1000) - { - param_received = false; - rosserial_msgs::RequestParamRequest req; - req.name = (char*)name; - publish(TopicInfo::ID_PARAMETER_REQUEST, &req); - uint32_t end_time = hardware_.time() + time_out; - while (!param_received) - { - spinOnce(); - if (hardware_.time() > end_time) - { - logwarn("Failed to get param: timeout expired"); - return false; - } - } - return true; - } - -public: - bool getParam(const char* name, int* param, int length = 1, int timeout = 1000) - { - if (requestParam(name, timeout)) - { - if (length == req_param_resp.ints_length) - { - //copy it over - for (int i = 0; i < length; i++) - param[i] = req_param_resp.ints[i]; - return true; - } - else - { - logwarn("Failed to get param: length mismatch"); - } - } - return false; - } - bool getParam(const char* name, float* param, int length = 1, int timeout = 1000) - { - if (requestParam(name, timeout)) - { - if (length == req_param_resp.floats_length) - { - //copy it over - for (int i = 0; i < length; i++) - param[i] = req_param_resp.floats[i]; - return true; - } - else - { - logwarn("Failed to get param: length mismatch"); - } - } - return false; - } - bool getParam(const char* name, char** param, int length = 1, int timeout = 1000) - { - if (requestParam(name, timeout)) - { - if (length == req_param_resp.strings_length) - { - //copy it over - for (int i = 0; i < length; i++) - strcpy(param[i], req_param_resp.strings[i]); - return true; - } - else - { - logwarn("Failed to get param: length mismatch"); - } - } - return false; - } - bool getParam(const char* name, bool* param, int length = 1, int timeout = 1000) - { - if (requestParam(name, timeout)) - { - if (length == req_param_resp.ints_length) - { - //copy it over - for (int i = 0; i < length; i++) - param[i] = req_param_resp.ints[i]; - return true; - } - else - { - logwarn("Failed to get param: length mismatch"); - } - } - return false; - } -}; - -} - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/publisher.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/publisher.h deleted file mode 100644 index 6fd3b7a5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/publisher.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _ROS_PUBLISHER_H_ -#define _ROS_PUBLISHER_H_ - -#include "rosserial_msgs/TopicInfo.h" -#include "ros/node_handle.h" - -namespace ros -{ - -/* Generic Publisher */ -class Publisher -{ -public: - Publisher(const char * topic_name, Msg * msg, int endpoint = rosserial_msgs::TopicInfo::ID_PUBLISHER) : - topic_(topic_name), - msg_(msg), - endpoint_(endpoint) {}; - - int publish(const Msg * msg) - { - return nh_->publish(id_, msg); - }; - int getEndpointType() - { - return endpoint_; - } - - const char * topic_; - Msg *msg_; - // id_ and no_ are set by NodeHandle when we advertise - int id_; - NodeHandleBase_* nh_; - -private: - int endpoint_; -}; - -} - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/service_client.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/service_client.h deleted file mode 100644 index 0b7e17b8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/service_client.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _ROS_SERVICE_CLIENT_H_ -#define _ROS_SERVICE_CLIENT_H_ - -#include "rosserial_msgs/TopicInfo.h" - -#include "ros/publisher.h" -#include "ros/subscriber.h" - -namespace ros -{ - -template -class ServiceClient : public Subscriber_ -{ -public: - ServiceClient(const char* topic_name) : - pub(topic_name, &req, rosserial_msgs::TopicInfo::ID_SERVICE_CLIENT + rosserial_msgs::TopicInfo::ID_PUBLISHER) - { - this->topic_ = topic_name; - this->waiting = true; - } - - virtual void call(const MReq & request, MRes & response) override - { - if (!pub.nh_->connected()) return; - ret = &response; - waiting = true; - pub.publish(&request); - while (waiting && pub.nh_->connected()) - if (pub.nh_->spinOnce() < 0) break; - } - - // these refer to the subscriber - virtual void callback(unsigned char *data) override - { - ret->deserialize(data); - waiting = false; - } - virtual const char * getMsgType() override - { - return this->resp.getType(); - } - virtual const char * getMsgMD5() override - { - return this->resp.getMD5(); - } - virtual int getEndpointType() override - { - return rosserial_msgs::TopicInfo::ID_SERVICE_CLIENT + rosserial_msgs::TopicInfo::ID_SUBSCRIBER; - } - - MReq req; - MRes resp; - MRes * ret; - bool waiting; - Publisher pub; -}; - -} - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/service_server.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/service_server.h deleted file mode 100644 index 46d2bd77..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/service_server.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _ROS_SERVICE_SERVER_H_ -#define _ROS_SERVICE_SERVER_H_ - -#include "rosserial_msgs/TopicInfo.h" - -#include "ros/publisher.h" -#include "ros/subscriber.h" - -namespace ros -{ - -template -class ServiceServer : public Subscriber_ -{ -public: - typedef void(ObjT::*CallbackT)(const MReq&, MRes&); - - ServiceServer(const char* topic_name, CallbackT cb, ObjT* obj) : - pub(topic_name, &resp, rosserial_msgs::TopicInfo::ID_SERVICE_SERVER + rosserial_msgs::TopicInfo::ID_PUBLISHER), - obj_(obj) - { - this->topic_ = topic_name; - this->cb_ = cb; - } - - // these refer to the subscriber - virtual void callback(unsigned char *data) override - { - req.deserialize(data); - (obj_->*cb_)(req, resp); - pub.publish(&resp); - } - virtual const char * getMsgType() override - { - return this->req.getType(); - } - virtual const char * getMsgMD5() override - { - return this->req.getMD5(); - } - virtual int getEndpointType() override - { - return rosserial_msgs::TopicInfo::ID_SERVICE_SERVER + rosserial_msgs::TopicInfo::ID_SUBSCRIBER; - } - - MReq req; - MRes resp; - Publisher pub; -private: - CallbackT cb_; - ObjT* obj_; -}; - -template -class ServiceServer : public Subscriber_ -{ -public: - typedef void(*CallbackT)(const MReq&, MRes&); - - ServiceServer(const char* topic_name, CallbackT cb) : - pub(topic_name, &resp, rosserial_msgs::TopicInfo::ID_SERVICE_SERVER + rosserial_msgs::TopicInfo::ID_PUBLISHER) - { - this->topic_ = topic_name; - this->cb_ = cb; - } - - // these refer to the subscriber - virtual void callback(unsigned char *data) override - { - req.deserialize(data); - cb_(req, resp); - pub.publish(&resp); - } - virtual const char * getMsgType() override - { - return this->req.getType(); - } - virtual const char * getMsgMD5() override - { - return this->req.getMD5(); - } - virtual int getEndpointType() override - { - return rosserial_msgs::TopicInfo::ID_SERVICE_SERVER + rosserial_msgs::TopicInfo::ID_SUBSCRIBER; - } - - MReq req; - MRes resp; - Publisher pub; -private: - CallbackT cb_; -}; - -} - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/subscriber.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/subscriber.h deleted file mode 100644 index b37e6372..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/subscriber.h +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_SUBSCRIBER_H_ -#define ROS_SUBSCRIBER_H_ - -#include "rosserial_msgs/TopicInfo.h" - -namespace ros -{ - -/* Base class for objects subscribers. */ -class Subscriber_ -{ -public: - virtual void callback(unsigned char *data) = 0; - virtual int getEndpointType() = 0; - - // id_ is set by NodeHandle when we advertise - int id_; - - virtual const char * getMsgType() = 0; - virtual const char * getMsgMD5() = 0; - const char * topic_; -}; - -/* Bound function subscriber. */ -template -class Subscriber: public Subscriber_ -{ -public: - typedef void(ObjT::*CallbackT)(const MsgT&); - MsgT msg; - - Subscriber(const char * topic_name, CallbackT cb, ObjT* obj, int endpoint = rosserial_msgs::TopicInfo::ID_SUBSCRIBER) : - cb_(cb), - obj_(obj), - endpoint_(endpoint) - { - topic_ = topic_name; - }; - - virtual void callback(unsigned char* data) override - { - msg.deserialize(data); - (obj_->*cb_)(msg); - } - - virtual const char * getMsgType() override - { - return this->msg.getType(); - } - virtual const char * getMsgMD5() override - { - return this->msg.getMD5(); - } - virtual int getEndpointType() override - { - return endpoint_; - } - -private: - CallbackT cb_; - ObjT* obj_; - int endpoint_; -}; - -/* Standalone function subscriber. */ -template -class Subscriber: public Subscriber_ -{ -public: - typedef void(*CallbackT)(const MsgT&); - MsgT msg; - - Subscriber(const char * topic_name, CallbackT cb, int endpoint = rosserial_msgs::TopicInfo::ID_SUBSCRIBER) : - cb_(cb), - endpoint_(endpoint) - { - topic_ = topic_name; - }; - - virtual void callback(unsigned char* data) override - { - msg.deserialize(data); - this->cb_(msg); - } - - virtual const char * getMsgType() override - { - return this->msg.getType(); - } - virtual const char * getMsgMD5() override - { - return this->msg.getMD5(); - } - virtual int getEndpointType() override - { - return endpoint_; - } - -private: - CallbackT cb_; - int endpoint_; -}; - -} - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/ros/time.h b/firmware/libraries/Rosserial_Arduino_Library/src/ros/time.h deleted file mode 100644 index e6af33c2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/ros/time.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_TIME_H_ -#define ROS_TIME_H_ - -#include "ros/duration.h" -#include -#include - -namespace ros -{ -void normalizeSecNSec(uint32_t &sec, uint32_t &nsec); - -class Time -{ -public: - uint32_t sec, nsec; - - Time() : sec(0), nsec(0) {} - Time(uint32_t _sec, uint32_t _nsec) : sec(_sec), nsec(_nsec) - { - normalizeSecNSec(sec, nsec); - } - - double toSec() const - { - return (double)sec + 1e-9 * (double)nsec; - }; - void fromSec(double t) - { - sec = (uint32_t) floor(t); - nsec = (uint32_t) round((t - sec) * 1e9); - }; - - uint32_t toNsec() - { - return (uint32_t)sec * 1000000000ull + (uint32_t)nsec; - }; - Time& fromNSec(int32_t t); - - Time& operator +=(const Duration &rhs); - Time& operator -=(const Duration &rhs); - Duration operator -(const Time &rhs) const; - - static Time now(); - static void setNow(Time & new_now); -}; - -} - -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Empty.h b/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Empty.h deleted file mode 100644 index f612e403..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Empty.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_SERVICE_Empty_h -#define _ROS_SERVICE_Empty_h -#include -#include -#include -#include "ros/msg.h" - -namespace roscpp -{ - -static const char EMPTY[] = "roscpp/Empty"; - - class EmptyRequest : public ros::Msg - { - public: - - EmptyRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return EMPTY; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class EmptyResponse : public ros::Msg - { - public: - - EmptyResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return EMPTY; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class Empty { - public: - typedef EmptyRequest Request; - typedef EmptyResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/GetLoggers.h b/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/GetLoggers.h deleted file mode 100644 index 3b2425c0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/GetLoggers.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_SERVICE_GetLoggers_h -#define _ROS_SERVICE_GetLoggers_h -#include -#include -#include -#include "ros/msg.h" -#include "roscpp/Logger.h" - -namespace roscpp -{ - -static const char GETLOGGERS[] = "roscpp/GetLoggers"; - - class GetLoggersRequest : public ros::Msg - { - public: - - GetLoggersRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return GETLOGGERS; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class GetLoggersResponse : public ros::Msg - { - public: - uint32_t loggers_length; - typedef roscpp::Logger _loggers_type; - _loggers_type st_loggers; - _loggers_type * loggers; - - GetLoggersResponse(): - loggers_length(0), st_loggers(), loggers(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->loggers_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->loggers_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->loggers_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->loggers_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->loggers_length); - for( uint32_t i = 0; i < loggers_length; i++){ - offset += this->loggers[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t loggers_lengthT = ((uint32_t) (*(inbuffer + offset))); - loggers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - loggers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - loggers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->loggers_length); - if(loggers_lengthT > loggers_length) - this->loggers = (roscpp::Logger*)realloc(this->loggers, loggers_lengthT * sizeof(roscpp::Logger)); - loggers_length = loggers_lengthT; - for( uint32_t i = 0; i < loggers_length; i++){ - offset += this->st_loggers.deserialize(inbuffer + offset); - memcpy( &(this->loggers[i]), &(this->st_loggers), sizeof(roscpp::Logger)); - } - return offset; - } - - virtual const char * getType() override { return GETLOGGERS; }; - virtual const char * getMD5() override { return "32e97e85527d4678a8f9279894bb64b0"; }; - - }; - - class GetLoggers { - public: - typedef GetLoggersRequest Request; - typedef GetLoggersResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Logger.h b/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Logger.h deleted file mode 100644 index a9f55da5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/Logger.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef _ROS_roscpp_Logger_h -#define _ROS_roscpp_Logger_h - -#include -#include -#include -#include "ros/msg.h" - -namespace roscpp -{ - - class Logger : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef const char* _level_type; - _level_type level; - - Logger(): - name(""), - level("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_level = strlen(this->level); - varToArr(outbuffer + offset, length_level); - offset += 4; - memcpy(outbuffer + offset, this->level, length_level); - offset += length_level; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_level; - arrToVar(length_level, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_level; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_level-1]=0; - this->level = (char *)(inbuffer + offset-1); - offset += length_level; - return offset; - } - - virtual const char * getType() override { return "roscpp/Logger"; }; - virtual const char * getMD5() override { return "a6069a2ff40db7bd32143dd66e1f408e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/SetLoggerLevel.h b/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/SetLoggerLevel.h deleted file mode 100644 index bbee8b3e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp/SetLoggerLevel.h +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef _ROS_SERVICE_SetLoggerLevel_h -#define _ROS_SERVICE_SetLoggerLevel_h -#include -#include -#include -#include "ros/msg.h" - -namespace roscpp -{ - -static const char SETLOGGERLEVEL[] = "roscpp/SetLoggerLevel"; - - class SetLoggerLevelRequest : public ros::Msg - { - public: - typedef const char* _logger_type; - _logger_type logger; - typedef const char* _level_type; - _level_type level; - - SetLoggerLevelRequest(): - logger(""), - level("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_logger = strlen(this->logger); - varToArr(outbuffer + offset, length_logger); - offset += 4; - memcpy(outbuffer + offset, this->logger, length_logger); - offset += length_logger; - uint32_t length_level = strlen(this->level); - varToArr(outbuffer + offset, length_level); - offset += 4; - memcpy(outbuffer + offset, this->level, length_level); - offset += length_level; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_logger; - arrToVar(length_logger, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_logger; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_logger-1]=0; - this->logger = (char *)(inbuffer + offset-1); - offset += length_logger; - uint32_t length_level; - arrToVar(length_level, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_level; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_level-1]=0; - this->level = (char *)(inbuffer + offset-1); - offset += length_level; - return offset; - } - - virtual const char * getType() override { return SETLOGGERLEVEL; }; - virtual const char * getMD5() override { return "51da076440d78ca1684d36c868df61ea"; }; - - }; - - class SetLoggerLevelResponse : public ros::Msg - { - public: - - SetLoggerLevelResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return SETLOGGERLEVEL; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class SetLoggerLevel { - public: - typedef SetLoggerLevelRequest Request; - typedef SetLoggerLevelResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp_tutorials/TwoInts.h b/firmware/libraries/Rosserial_Arduino_Library/src/roscpp_tutorials/TwoInts.h deleted file mode 100644 index 1ae3a176..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/roscpp_tutorials/TwoInts.h +++ /dev/null @@ -1,166 +0,0 @@ -#ifndef _ROS_SERVICE_TwoInts_h -#define _ROS_SERVICE_TwoInts_h -#include -#include -#include -#include "ros/msg.h" - -namespace roscpp_tutorials -{ - -static const char TWOINTS[] = "roscpp_tutorials/TwoInts"; - - class TwoIntsRequest : public ros::Msg - { - public: - typedef int64_t _a_type; - _a_type a; - typedef int64_t _b_type; - _b_type b; - - TwoIntsRequest(): - a(0), - b(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.real = this->a; - *(outbuffer + offset + 0) = (u_a.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_a.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_a.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_a.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_a.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_a.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_a.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_a.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->a); - union { - int64_t real; - uint64_t base; - } u_b; - u_b.real = this->b; - *(outbuffer + offset + 0) = (u_b.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_b.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_b.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_b.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_b.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_b.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_b.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_b.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->b); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.base = 0; - u_a.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->a = u_a.real; - offset += sizeof(this->a); - union { - int64_t real; - uint64_t base; - } u_b; - u_b.base = 0; - u_b.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->b = u_b.real; - offset += sizeof(this->b); - return offset; - } - - virtual const char * getType() override { return TWOINTS; }; - virtual const char * getMD5() override { return "36d09b846be0b371c5f190354dd3153e"; }; - - }; - - class TwoIntsResponse : public ros::Msg - { - public: - typedef int64_t _sum_type; - _sum_type sum; - - TwoIntsResponse(): - sum(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_sum; - u_sum.real = this->sum; - *(outbuffer + offset + 0) = (u_sum.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sum.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sum.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sum.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_sum.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_sum.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_sum.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_sum.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->sum); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_sum; - u_sum.base = 0; - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->sum = u_sum.real; - offset += sizeof(this->sum); - return offset; - } - - virtual const char * getType() override { return TWOINTS; }; - virtual const char * getMD5() override { return "b88405221c77b1878a3cbbfff53428d7"; }; - - }; - - class TwoInts { - public: - typedef TwoIntsRequest Request; - typedef TwoIntsResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Clock.h b/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Clock.h deleted file mode 100644 index 57e5db41..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Clock.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_rosgraph_msgs_Clock_h -#define _ROS_rosgraph_msgs_Clock_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" - -namespace rosgraph_msgs -{ - - class Clock : public ros::Msg - { - public: - typedef ros::Time _clock_type; - _clock_type clock; - - Clock(): - clock() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->clock.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->clock.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->clock.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->clock.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->clock.sec); - *(outbuffer + offset + 0) = (this->clock.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->clock.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->clock.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->clock.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->clock.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->clock.sec = ((uint32_t) (*(inbuffer + offset))); - this->clock.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->clock.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->clock.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->clock.sec); - this->clock.nsec = ((uint32_t) (*(inbuffer + offset))); - this->clock.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->clock.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->clock.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->clock.nsec); - return offset; - } - - virtual const char * getType() override { return "rosgraph_msgs/Clock"; }; - virtual const char * getMD5() override { return "a9c97c1d230cfc112e270351a944ee47"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Log.h b/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Log.h deleted file mode 100644 index 2c3d58ca..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/Log.h +++ /dev/null @@ -1,185 +0,0 @@ -#ifndef _ROS_rosgraph_msgs_Log_h -#define _ROS_rosgraph_msgs_Log_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace rosgraph_msgs -{ - - class Log : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef int8_t _level_type; - _level_type level; - typedef const char* _name_type; - _name_type name; - typedef const char* _msg_type; - _msg_type msg; - typedef const char* _file_type; - _file_type file; - typedef const char* _function_type; - _function_type function; - typedef uint32_t _line_type; - _line_type line; - uint32_t topics_length; - typedef char* _topics_type; - _topics_type st_topics; - _topics_type * topics; - enum { DEBUG = 1 }; - enum { INFO = 2 }; - enum { WARN = 4 }; - enum { ERROR = 8 }; - enum { FATAL = 16 }; - - Log(): - header(), - level(0), - name(""), - msg(""), - file(""), - function(""), - line(0), - topics_length(0), st_topics(), topics(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - int8_t real; - uint8_t base; - } u_level; - u_level.real = this->level; - *(outbuffer + offset + 0) = (u_level.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->level); - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_msg = strlen(this->msg); - varToArr(outbuffer + offset, length_msg); - offset += 4; - memcpy(outbuffer + offset, this->msg, length_msg); - offset += length_msg; - uint32_t length_file = strlen(this->file); - varToArr(outbuffer + offset, length_file); - offset += 4; - memcpy(outbuffer + offset, this->file, length_file); - offset += length_file; - uint32_t length_function = strlen(this->function); - varToArr(outbuffer + offset, length_function); - offset += 4; - memcpy(outbuffer + offset, this->function, length_function); - offset += length_function; - *(outbuffer + offset + 0) = (this->line >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->line >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->line >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->line >> (8 * 3)) & 0xFF; - offset += sizeof(this->line); - *(outbuffer + offset + 0) = (this->topics_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->topics_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->topics_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->topics_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->topics_length); - for( uint32_t i = 0; i < topics_length; i++){ - uint32_t length_topicsi = strlen(this->topics[i]); - varToArr(outbuffer + offset, length_topicsi); - offset += 4; - memcpy(outbuffer + offset, this->topics[i], length_topicsi); - offset += length_topicsi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - int8_t real; - uint8_t base; - } u_level; - u_level.base = 0; - u_level.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->level = u_level.real; - offset += sizeof(this->level); - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_msg; - arrToVar(length_msg, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_msg; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_msg-1]=0; - this->msg = (char *)(inbuffer + offset-1); - offset += length_msg; - uint32_t length_file; - arrToVar(length_file, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_file; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_file-1]=0; - this->file = (char *)(inbuffer + offset-1); - offset += length_file; - uint32_t length_function; - arrToVar(length_function, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_function; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_function-1]=0; - this->function = (char *)(inbuffer + offset-1); - offset += length_function; - this->line = ((uint32_t) (*(inbuffer + offset))); - this->line |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->line |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->line |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->line); - uint32_t topics_lengthT = ((uint32_t) (*(inbuffer + offset))); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->topics_length); - if(topics_lengthT > topics_length) - this->topics = (char**)realloc(this->topics, topics_lengthT * sizeof(char*)); - topics_length = topics_lengthT; - for( uint32_t i = 0; i < topics_length; i++){ - uint32_t length_st_topics; - arrToVar(length_st_topics, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_topics; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_topics-1]=0; - this->st_topics = (char *)(inbuffer + offset-1); - offset += length_st_topics; - memcpy( &(this->topics[i]), &(this->st_topics), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return "rosgraph_msgs/Log"; }; - virtual const char * getMD5() override { return "acffd30cd6b6de30f120938c17c593fb"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/TopicStatistics.h b/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/TopicStatistics.h deleted file mode 100644 index b0a89af7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rosgraph_msgs/TopicStatistics.h +++ /dev/null @@ -1,347 +0,0 @@ -#ifndef _ROS_rosgraph_msgs_TopicStatistics_h -#define _ROS_rosgraph_msgs_TopicStatistics_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" -#include "ros/duration.h" - -namespace rosgraph_msgs -{ - - class TopicStatistics : public ros::Msg - { - public: - typedef const char* _topic_type; - _topic_type topic; - typedef const char* _node_pub_type; - _node_pub_type node_pub; - typedef const char* _node_sub_type; - _node_sub_type node_sub; - typedef ros::Time _window_start_type; - _window_start_type window_start; - typedef ros::Time _window_stop_type; - _window_stop_type window_stop; - typedef int32_t _delivered_msgs_type; - _delivered_msgs_type delivered_msgs; - typedef int32_t _dropped_msgs_type; - _dropped_msgs_type dropped_msgs; - typedef int32_t _traffic_type; - _traffic_type traffic; - typedef ros::Duration _period_mean_type; - _period_mean_type period_mean; - typedef ros::Duration _period_stddev_type; - _period_stddev_type period_stddev; - typedef ros::Duration _period_max_type; - _period_max_type period_max; - typedef ros::Duration _stamp_age_mean_type; - _stamp_age_mean_type stamp_age_mean; - typedef ros::Duration _stamp_age_stddev_type; - _stamp_age_stddev_type stamp_age_stddev; - typedef ros::Duration _stamp_age_max_type; - _stamp_age_max_type stamp_age_max; - - TopicStatistics(): - topic(""), - node_pub(""), - node_sub(""), - window_start(), - window_stop(), - delivered_msgs(0), - dropped_msgs(0), - traffic(0), - period_mean(), - period_stddev(), - period_max(), - stamp_age_mean(), - stamp_age_stddev(), - stamp_age_max() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_topic = strlen(this->topic); - varToArr(outbuffer + offset, length_topic); - offset += 4; - memcpy(outbuffer + offset, this->topic, length_topic); - offset += length_topic; - uint32_t length_node_pub = strlen(this->node_pub); - varToArr(outbuffer + offset, length_node_pub); - offset += 4; - memcpy(outbuffer + offset, this->node_pub, length_node_pub); - offset += length_node_pub; - uint32_t length_node_sub = strlen(this->node_sub); - varToArr(outbuffer + offset, length_node_sub); - offset += 4; - memcpy(outbuffer + offset, this->node_sub, length_node_sub); - offset += length_node_sub; - *(outbuffer + offset + 0) = (this->window_start.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->window_start.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->window_start.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->window_start.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->window_start.sec); - *(outbuffer + offset + 0) = (this->window_start.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->window_start.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->window_start.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->window_start.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->window_start.nsec); - *(outbuffer + offset + 0) = (this->window_stop.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->window_stop.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->window_stop.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->window_stop.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->window_stop.sec); - *(outbuffer + offset + 0) = (this->window_stop.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->window_stop.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->window_stop.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->window_stop.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->window_stop.nsec); - union { - int32_t real; - uint32_t base; - } u_delivered_msgs; - u_delivered_msgs.real = this->delivered_msgs; - *(outbuffer + offset + 0) = (u_delivered_msgs.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_delivered_msgs.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_delivered_msgs.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_delivered_msgs.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->delivered_msgs); - union { - int32_t real; - uint32_t base; - } u_dropped_msgs; - u_dropped_msgs.real = this->dropped_msgs; - *(outbuffer + offset + 0) = (u_dropped_msgs.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_dropped_msgs.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_dropped_msgs.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_dropped_msgs.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->dropped_msgs); - union { - int32_t real; - uint32_t base; - } u_traffic; - u_traffic.real = this->traffic; - *(outbuffer + offset + 0) = (u_traffic.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_traffic.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_traffic.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_traffic.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->traffic); - *(outbuffer + offset + 0) = (this->period_mean.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->period_mean.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->period_mean.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->period_mean.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->period_mean.sec); - *(outbuffer + offset + 0) = (this->period_mean.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->period_mean.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->period_mean.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->period_mean.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->period_mean.nsec); - *(outbuffer + offset + 0) = (this->period_stddev.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->period_stddev.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->period_stddev.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->period_stddev.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->period_stddev.sec); - *(outbuffer + offset + 0) = (this->period_stddev.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->period_stddev.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->period_stddev.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->period_stddev.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->period_stddev.nsec); - *(outbuffer + offset + 0) = (this->period_max.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->period_max.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->period_max.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->period_max.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->period_max.sec); - *(outbuffer + offset + 0) = (this->period_max.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->period_max.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->period_max.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->period_max.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->period_max.nsec); - *(outbuffer + offset + 0) = (this->stamp_age_mean.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp_age_mean.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp_age_mean.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp_age_mean.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp_age_mean.sec); - *(outbuffer + offset + 0) = (this->stamp_age_mean.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp_age_mean.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp_age_mean.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp_age_mean.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp_age_mean.nsec); - *(outbuffer + offset + 0) = (this->stamp_age_stddev.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp_age_stddev.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp_age_stddev.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp_age_stddev.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp_age_stddev.sec); - *(outbuffer + offset + 0) = (this->stamp_age_stddev.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp_age_stddev.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp_age_stddev.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp_age_stddev.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp_age_stddev.nsec); - *(outbuffer + offset + 0) = (this->stamp_age_max.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp_age_max.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp_age_max.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp_age_max.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp_age_max.sec); - *(outbuffer + offset + 0) = (this->stamp_age_max.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp_age_max.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp_age_max.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp_age_max.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp_age_max.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_topic; - arrToVar(length_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic-1]=0; - this->topic = (char *)(inbuffer + offset-1); - offset += length_topic; - uint32_t length_node_pub; - arrToVar(length_node_pub, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_node_pub; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_node_pub-1]=0; - this->node_pub = (char *)(inbuffer + offset-1); - offset += length_node_pub; - uint32_t length_node_sub; - arrToVar(length_node_sub, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_node_sub; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_node_sub-1]=0; - this->node_sub = (char *)(inbuffer + offset-1); - offset += length_node_sub; - this->window_start.sec = ((uint32_t) (*(inbuffer + offset))); - this->window_start.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->window_start.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->window_start.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->window_start.sec); - this->window_start.nsec = ((uint32_t) (*(inbuffer + offset))); - this->window_start.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->window_start.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->window_start.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->window_start.nsec); - this->window_stop.sec = ((uint32_t) (*(inbuffer + offset))); - this->window_stop.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->window_stop.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->window_stop.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->window_stop.sec); - this->window_stop.nsec = ((uint32_t) (*(inbuffer + offset))); - this->window_stop.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->window_stop.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->window_stop.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->window_stop.nsec); - union { - int32_t real; - uint32_t base; - } u_delivered_msgs; - u_delivered_msgs.base = 0; - u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->delivered_msgs = u_delivered_msgs.real; - offset += sizeof(this->delivered_msgs); - union { - int32_t real; - uint32_t base; - } u_dropped_msgs; - u_dropped_msgs.base = 0; - u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->dropped_msgs = u_dropped_msgs.real; - offset += sizeof(this->dropped_msgs); - union { - int32_t real; - uint32_t base; - } u_traffic; - u_traffic.base = 0; - u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->traffic = u_traffic.real; - offset += sizeof(this->traffic); - this->period_mean.sec = ((uint32_t) (*(inbuffer + offset))); - this->period_mean.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->period_mean.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->period_mean.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->period_mean.sec); - this->period_mean.nsec = ((uint32_t) (*(inbuffer + offset))); - this->period_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->period_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->period_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->period_mean.nsec); - this->period_stddev.sec = ((uint32_t) (*(inbuffer + offset))); - this->period_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->period_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->period_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->period_stddev.sec); - this->period_stddev.nsec = ((uint32_t) (*(inbuffer + offset))); - this->period_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->period_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->period_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->period_stddev.nsec); - this->period_max.sec = ((uint32_t) (*(inbuffer + offset))); - this->period_max.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->period_max.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->period_max.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->period_max.sec); - this->period_max.nsec = ((uint32_t) (*(inbuffer + offset))); - this->period_max.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->period_max.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->period_max.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->period_max.nsec); - this->stamp_age_mean.sec = ((uint32_t) (*(inbuffer + offset))); - this->stamp_age_mean.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp_age_mean.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp_age_mean.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp_age_mean.sec); - this->stamp_age_mean.nsec = ((uint32_t) (*(inbuffer + offset))); - this->stamp_age_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp_age_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp_age_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp_age_mean.nsec); - this->stamp_age_stddev.sec = ((uint32_t) (*(inbuffer + offset))); - this->stamp_age_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp_age_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp_age_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp_age_stddev.sec); - this->stamp_age_stddev.nsec = ((uint32_t) (*(inbuffer + offset))); - this->stamp_age_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp_age_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp_age_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp_age_stddev.nsec); - this->stamp_age_max.sec = ((uint32_t) (*(inbuffer + offset))); - this->stamp_age_max.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp_age_max.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp_age_max.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp_age_max.sec); - this->stamp_age_max.nsec = ((uint32_t) (*(inbuffer + offset))); - this->stamp_age_max.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp_age_max.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp_age_max.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp_age_max.nsec); - return offset; - } - - virtual const char * getType() override { return "rosgraph_msgs/TopicStatistics"; }; - virtual const char * getMD5() override { return "10152ed868c5097a5e2e4a89d7daa710"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/AddTwoInts.h b/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/AddTwoInts.h deleted file mode 100644 index f02f833c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/AddTwoInts.h +++ /dev/null @@ -1,166 +0,0 @@ -#ifndef _ROS_SERVICE_AddTwoInts_h -#define _ROS_SERVICE_AddTwoInts_h -#include -#include -#include -#include "ros/msg.h" - -namespace rospy_tutorials -{ - -static const char ADDTWOINTS[] = "rospy_tutorials/AddTwoInts"; - - class AddTwoIntsRequest : public ros::Msg - { - public: - typedef int64_t _a_type; - _a_type a; - typedef int64_t _b_type; - _b_type b; - - AddTwoIntsRequest(): - a(0), - b(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.real = this->a; - *(outbuffer + offset + 0) = (u_a.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_a.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_a.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_a.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_a.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_a.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_a.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_a.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->a); - union { - int64_t real; - uint64_t base; - } u_b; - u_b.real = this->b; - *(outbuffer + offset + 0) = (u_b.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_b.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_b.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_b.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_b.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_b.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_b.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_b.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->b); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.base = 0; - u_a.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->a = u_a.real; - offset += sizeof(this->a); - union { - int64_t real; - uint64_t base; - } u_b; - u_b.base = 0; - u_b.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_b.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->b = u_b.real; - offset += sizeof(this->b); - return offset; - } - - virtual const char * getType() override { return ADDTWOINTS; }; - virtual const char * getMD5() override { return "36d09b846be0b371c5f190354dd3153e"; }; - - }; - - class AddTwoIntsResponse : public ros::Msg - { - public: - typedef int64_t _sum_type; - _sum_type sum; - - AddTwoIntsResponse(): - sum(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_sum; - u_sum.real = this->sum; - *(outbuffer + offset + 0) = (u_sum.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sum.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sum.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sum.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_sum.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_sum.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_sum.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_sum.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->sum); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_sum; - u_sum.base = 0; - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_sum.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->sum = u_sum.real; - offset += sizeof(this->sum); - return offset; - } - - virtual const char * getType() override { return ADDTWOINTS; }; - virtual const char * getMD5() override { return "b88405221c77b1878a3cbbfff53428d7"; }; - - }; - - class AddTwoInts { - public: - typedef AddTwoIntsRequest Request; - typedef AddTwoIntsResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/BadTwoInts.h b/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/BadTwoInts.h deleted file mode 100644 index 24a449fd..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/BadTwoInts.h +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef _ROS_SERVICE_BadTwoInts_h -#define _ROS_SERVICE_BadTwoInts_h -#include -#include -#include -#include "ros/msg.h" - -namespace rospy_tutorials -{ - -static const char BADTWOINTS[] = "rospy_tutorials/BadTwoInts"; - - class BadTwoIntsRequest : public ros::Msg - { - public: - typedef int64_t _a_type; - _a_type a; - typedef int32_t _b_type; - _b_type b; - - BadTwoIntsRequest(): - a(0), - b(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.real = this->a; - *(outbuffer + offset + 0) = (u_a.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_a.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_a.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_a.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_a.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_a.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_a.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_a.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->a); - union { - int32_t real; - uint32_t base; - } u_b; - u_b.real = this->b; - *(outbuffer + offset + 0) = (u_b.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_b.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_b.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_b.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->b); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_a; - u_a.base = 0; - u_a.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_a.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->a = u_a.real; - offset += sizeof(this->a); - union { - int32_t real; - uint32_t base; - } u_b; - u_b.base = 0; - u_b.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_b.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_b.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_b.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->b = u_b.real; - offset += sizeof(this->b); - return offset; - } - - virtual const char * getType() override { return BADTWOINTS; }; - virtual const char * getMD5() override { return "29bb5c7dea8bf822f53e94b0ee5a3a56"; }; - - }; - - class BadTwoIntsResponse : public ros::Msg - { - public: - typedef int32_t _sum_type; - _sum_type sum; - - BadTwoIntsResponse(): - sum(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_sum; - u_sum.real = this->sum; - *(outbuffer + offset + 0) = (u_sum.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_sum.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_sum.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_sum.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->sum); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_sum; - u_sum.base = 0; - u_sum.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_sum.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_sum.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_sum.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->sum = u_sum.real; - offset += sizeof(this->sum); - return offset; - } - - virtual const char * getType() override { return BADTWOINTS; }; - virtual const char * getMD5() override { return "0ba699c25c9418c0366f3595c0c8e8ec"; }; - - }; - - class BadTwoInts { - public: - typedef BadTwoIntsRequest Request; - typedef BadTwoIntsResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/Floats.h b/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/Floats.h deleted file mode 100644 index 77027c5b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/Floats.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _ROS_rospy_tutorials_Floats_h -#define _ROS_rospy_tutorials_Floats_h - -#include -#include -#include -#include "ros/msg.h" - -namespace rospy_tutorials -{ - - class Floats : public ros::Msg - { - public: - uint32_t data_length; - typedef float _data_type; - _data_type st_data; - _data_type * data; - - Floats(): - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - float real; - uint32_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (float*)realloc(this->data, data_lengthT * sizeof(float)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - float real; - uint32_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(float)); - } - return offset; - } - - virtual const char * getType() override { return "rospy_tutorials/Floats"; }; - virtual const char * getMD5() override { return "420cd38b6b071cd49f2970c3e2cee511"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/HeaderString.h b/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/HeaderString.h deleted file mode 100644 index 762014f5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rospy_tutorials/HeaderString.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _ROS_rospy_tutorials_HeaderString_h -#define _ROS_rospy_tutorials_HeaderString_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace rospy_tutorials -{ - - class HeaderString : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _data_type; - _data_type data; - - HeaderString(): - header(), - data("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_data = strlen(this->data); - varToArr(outbuffer + offset, length_data); - offset += 4; - memcpy(outbuffer + offset, this->data, length_data); - offset += length_data; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_data; - arrToVar(length_data, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_data; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_data-1]=0; - this->data = (char *)(inbuffer + offset-1); - offset += length_data; - return offset; - } - - virtual const char * getType() override { return "rospy_tutorials/HeaderString"; }; - virtual const char * getMD5() override { return "c99a9440709e4d4a9716d55b8270d5e7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/Log.h b/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/Log.h deleted file mode 100644 index 0aad0bd9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/Log.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef _ROS_rosserial_msgs_Log_h -#define _ROS_rosserial_msgs_Log_h - -#include -#include -#include -#include "ros/msg.h" - -namespace rosserial_msgs -{ - - class Log : public ros::Msg - { - public: - typedef uint8_t _level_type; - _level_type level; - typedef const char* _msg_type; - _msg_type msg; - enum { ROSDEBUG = 0 }; - enum { INFO = 1 }; - enum { WARN = 2 }; - enum { ERROR = 3 }; - enum { FATAL = 4 }; - - Log(): - level(0), - msg("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->level >> (8 * 0)) & 0xFF; - offset += sizeof(this->level); - uint32_t length_msg = strlen(this->msg); - varToArr(outbuffer + offset, length_msg); - offset += 4; - memcpy(outbuffer + offset, this->msg, length_msg); - offset += length_msg; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->level = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->level); - uint32_t length_msg; - arrToVar(length_msg, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_msg; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_msg-1]=0; - this->msg = (char *)(inbuffer + offset-1); - offset += length_msg; - return offset; - } - - virtual const char * getType() override { return "rosserial_msgs/Log"; }; - virtual const char * getMD5() override { return "11abd731c25933261cd6183bd12d6295"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/RequestParam.h b/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/RequestParam.h deleted file mode 100644 index 179608d9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/RequestParam.h +++ /dev/null @@ -1,212 +0,0 @@ -#ifndef _ROS_SERVICE_RequestParam_h -#define _ROS_SERVICE_RequestParam_h -#include -#include -#include -#include "ros/msg.h" - -namespace rosserial_msgs -{ - -static const char REQUESTPARAM[] = "rosserial_msgs/RequestParam"; - - class RequestParamRequest : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - - RequestParamRequest(): - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return REQUESTPARAM; }; - virtual const char * getMD5() override { return "c1f3d28f1b044c871e6eff2e9fc3c667"; }; - - }; - - class RequestParamResponse : public ros::Msg - { - public: - uint32_t ints_length; - typedef int32_t _ints_type; - _ints_type st_ints; - _ints_type * ints; - uint32_t floats_length; - typedef float _floats_type; - _floats_type st_floats; - _floats_type * floats; - uint32_t strings_length; - typedef char* _strings_type; - _strings_type st_strings; - _strings_type * strings; - - RequestParamResponse(): - ints_length(0), st_ints(), ints(nullptr), - floats_length(0), st_floats(), floats(nullptr), - strings_length(0), st_strings(), strings(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->ints_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ints_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->ints_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->ints_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->ints_length); - for( uint32_t i = 0; i < ints_length; i++){ - union { - int32_t real; - uint32_t base; - } u_intsi; - u_intsi.real = this->ints[i]; - *(outbuffer + offset + 0) = (u_intsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_intsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_intsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_intsi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->ints[i]); - } - *(outbuffer + offset + 0) = (this->floats_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->floats_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->floats_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->floats_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->floats_length); - for( uint32_t i = 0; i < floats_length; i++){ - union { - float real; - uint32_t base; - } u_floatsi; - u_floatsi.real = this->floats[i]; - *(outbuffer + offset + 0) = (u_floatsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_floatsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_floatsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_floatsi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->floats[i]); - } - *(outbuffer + offset + 0) = (this->strings_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->strings_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->strings_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->strings_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->strings_length); - for( uint32_t i = 0; i < strings_length; i++){ - uint32_t length_stringsi = strlen(this->strings[i]); - varToArr(outbuffer + offset, length_stringsi); - offset += 4; - memcpy(outbuffer + offset, this->strings[i], length_stringsi); - offset += length_stringsi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t ints_lengthT = ((uint32_t) (*(inbuffer + offset))); - ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->ints_length); - if(ints_lengthT > ints_length) - this->ints = (int32_t*)realloc(this->ints, ints_lengthT * sizeof(int32_t)); - ints_length = ints_lengthT; - for( uint32_t i = 0; i < ints_length; i++){ - union { - int32_t real; - uint32_t base; - } u_st_ints; - u_st_ints.base = 0; - u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_ints = u_st_ints.real; - offset += sizeof(this->st_ints); - memcpy( &(this->ints[i]), &(this->st_ints), sizeof(int32_t)); - } - uint32_t floats_lengthT = ((uint32_t) (*(inbuffer + offset))); - floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->floats_length); - if(floats_lengthT > floats_length) - this->floats = (float*)realloc(this->floats, floats_lengthT * sizeof(float)); - floats_length = floats_lengthT; - for( uint32_t i = 0; i < floats_length; i++){ - union { - float real; - uint32_t base; - } u_st_floats; - u_st_floats.base = 0; - u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_floats = u_st_floats.real; - offset += sizeof(this->st_floats); - memcpy( &(this->floats[i]), &(this->st_floats), sizeof(float)); - } - uint32_t strings_lengthT = ((uint32_t) (*(inbuffer + offset))); - strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->strings_length); - if(strings_lengthT > strings_length) - this->strings = (char**)realloc(this->strings, strings_lengthT * sizeof(char*)); - strings_length = strings_lengthT; - for( uint32_t i = 0; i < strings_length; i++){ - uint32_t length_st_strings; - arrToVar(length_st_strings, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_strings; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_strings-1]=0; - this->st_strings = (char *)(inbuffer + offset-1); - offset += length_st_strings; - memcpy( &(this->strings[i]), &(this->st_strings), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return REQUESTPARAM; }; - virtual const char * getMD5() override { return "9f0e98bda65981986ddf53afa7a40e49"; }; - - }; - - class RequestParam { - public: - typedef RequestParamRequest Request; - typedef RequestParamResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/TopicInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/TopicInfo.h deleted file mode 100644 index fd9cafd0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rosserial_msgs/TopicInfo.h +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef _ROS_rosserial_msgs_TopicInfo_h -#define _ROS_rosserial_msgs_TopicInfo_h - -#include -#include -#include -#include "ros/msg.h" - -namespace rosserial_msgs -{ - - class TopicInfo : public ros::Msg - { - public: - typedef uint16_t _topic_id_type; - _topic_id_type topic_id; - typedef const char* _topic_name_type; - _topic_name_type topic_name; - typedef const char* _message_type_type; - _message_type_type message_type; - typedef const char* _md5sum_type; - _md5sum_type md5sum; - typedef int32_t _buffer_size_type; - _buffer_size_type buffer_size; - enum { ID_PUBLISHER = 0 }; - enum { ID_SUBSCRIBER = 1 }; - enum { ID_SERVICE_SERVER = 2 }; - enum { ID_SERVICE_CLIENT = 4 }; - enum { ID_PARAMETER_REQUEST = 6 }; - enum { ID_LOG = 7 }; - enum { ID_TIME = 10 }; - enum { ID_TX_STOP = 11 }; - - TopicInfo(): - topic_id(0), - topic_name(""), - message_type(""), - md5sum(""), - buffer_size(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->topic_id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->topic_id >> (8 * 1)) & 0xFF; - offset += sizeof(this->topic_id); - uint32_t length_topic_name = strlen(this->topic_name); - varToArr(outbuffer + offset, length_topic_name); - offset += 4; - memcpy(outbuffer + offset, this->topic_name, length_topic_name); - offset += length_topic_name; - uint32_t length_message_type = strlen(this->message_type); - varToArr(outbuffer + offset, length_message_type); - offset += 4; - memcpy(outbuffer + offset, this->message_type, length_message_type); - offset += length_message_type; - uint32_t length_md5sum = strlen(this->md5sum); - varToArr(outbuffer + offset, length_md5sum); - offset += 4; - memcpy(outbuffer + offset, this->md5sum, length_md5sum); - offset += length_md5sum; - union { - int32_t real; - uint32_t base; - } u_buffer_size; - u_buffer_size.real = this->buffer_size; - *(outbuffer + offset + 0) = (u_buffer_size.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_buffer_size.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_buffer_size.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_buffer_size.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->buffer_size); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->topic_id = ((uint16_t) (*(inbuffer + offset))); - this->topic_id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->topic_id); - uint32_t length_topic_name; - arrToVar(length_topic_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic_name-1]=0; - this->topic_name = (char *)(inbuffer + offset-1); - offset += length_topic_name; - uint32_t length_message_type; - arrToVar(length_message_type, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message_type; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message_type-1]=0; - this->message_type = (char *)(inbuffer + offset-1); - offset += length_message_type; - uint32_t length_md5sum; - arrToVar(length_md5sum, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_md5sum; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_md5sum-1]=0; - this->md5sum = (char *)(inbuffer + offset-1); - offset += length_md5sum; - union { - int32_t real; - uint32_t base; - } u_buffer_size; - u_buffer_size.base = 0; - u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->buffer_size = u_buffer_size.real; - offset += sizeof(this->buffer_size); - return offset; - } - - virtual const char * getType() override { return "rosserial_msgs/TopicInfo"; }; - virtual const char * getMD5() override { return "0ad51f88fc44892f8c10684077646005"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/rviz/SendFilePath.h b/firmware/libraries/Rosserial_Arduino_Library/src/rviz/SendFilePath.h deleted file mode 100644 index 733c5041..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/rviz/SendFilePath.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef _ROS_SERVICE_SendFilePath_h -#define _ROS_SERVICE_SendFilePath_h -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/String.h" - -namespace rviz -{ - -static const char SENDFILEPATH[] = "rviz/SendFilePath"; - - class SendFilePathRequest : public ros::Msg - { - public: - typedef std_msgs::String _path_type; - _path_type path; - - SendFilePathRequest(): - path() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->path.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->path.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SENDFILEPATH; }; - virtual const char * getMD5() override { return "8a631822f6e3078667af5e13f8ab06b7"; }; - - }; - - class SendFilePathResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - - SendFilePathResponse(): - success(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - return offset; - } - - virtual const char * getType() override { return SENDFILEPATH; }; - virtual const char * getMD5() override { return "358e233cde0c8a8bcfea4ce193f8fc15"; }; - - }; - - class SendFilePath { - public: - typedef SendFilePathRequest Request; - typedef SendFilePathResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/BatteryState.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/BatteryState.h deleted file mode 100644 index c34a6520..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/BatteryState.h +++ /dev/null @@ -1,394 +0,0 @@ -#ifndef _ROS_sensor_msgs_BatteryState_h -#define _ROS_sensor_msgs_BatteryState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class BatteryState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _voltage_type; - _voltage_type voltage; - typedef float _temperature_type; - _temperature_type temperature; - typedef float _current_type; - _current_type current; - typedef float _charge_type; - _charge_type charge; - typedef float _capacity_type; - _capacity_type capacity; - typedef float _design_capacity_type; - _design_capacity_type design_capacity; - typedef float _percentage_type; - _percentage_type percentage; - typedef uint8_t _power_supply_status_type; - _power_supply_status_type power_supply_status; - typedef uint8_t _power_supply_health_type; - _power_supply_health_type power_supply_health; - typedef uint8_t _power_supply_technology_type; - _power_supply_technology_type power_supply_technology; - typedef bool _present_type; - _present_type present; - uint32_t cell_voltage_length; - typedef float _cell_voltage_type; - _cell_voltage_type st_cell_voltage; - _cell_voltage_type * cell_voltage; - uint32_t cell_temperature_length; - typedef float _cell_temperature_type; - _cell_temperature_type st_cell_temperature; - _cell_temperature_type * cell_temperature; - typedef const char* _location_type; - _location_type location; - typedef const char* _serial_number_type; - _serial_number_type serial_number; - enum { POWER_SUPPLY_STATUS_UNKNOWN = 0 }; - enum { POWER_SUPPLY_STATUS_CHARGING = 1 }; - enum { POWER_SUPPLY_STATUS_DISCHARGING = 2 }; - enum { POWER_SUPPLY_STATUS_NOT_CHARGING = 3 }; - enum { POWER_SUPPLY_STATUS_FULL = 4 }; - enum { POWER_SUPPLY_HEALTH_UNKNOWN = 0 }; - enum { POWER_SUPPLY_HEALTH_GOOD = 1 }; - enum { POWER_SUPPLY_HEALTH_OVERHEAT = 2 }; - enum { POWER_SUPPLY_HEALTH_DEAD = 3 }; - enum { POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 }; - enum { POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 }; - enum { POWER_SUPPLY_HEALTH_COLD = 6 }; - enum { POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 }; - enum { POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 }; - enum { POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 }; - enum { POWER_SUPPLY_TECHNOLOGY_NIMH = 1 }; - enum { POWER_SUPPLY_TECHNOLOGY_LION = 2 }; - enum { POWER_SUPPLY_TECHNOLOGY_LIPO = 3 }; - enum { POWER_SUPPLY_TECHNOLOGY_LIFE = 4 }; - enum { POWER_SUPPLY_TECHNOLOGY_NICD = 5 }; - enum { POWER_SUPPLY_TECHNOLOGY_LIMN = 6 }; - - BatteryState(): - header(), - voltage(0), - temperature(0), - current(0), - charge(0), - capacity(0), - design_capacity(0), - percentage(0), - power_supply_status(0), - power_supply_health(0), - power_supply_technology(0), - present(0), - cell_voltage_length(0), st_cell_voltage(), cell_voltage(nullptr), - cell_temperature_length(0), st_cell_temperature(), cell_temperature(nullptr), - location(""), - serial_number("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.real = this->voltage; - *(outbuffer + offset + 0) = (u_voltage.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_voltage.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_voltage.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_voltage.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_temperature; - u_temperature.real = this->temperature; - *(outbuffer + offset + 0) = (u_temperature.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_temperature.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_temperature.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_temperature.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->temperature); - union { - float real; - uint32_t base; - } u_current; - u_current.real = this->current; - *(outbuffer + offset + 0) = (u_current.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_current.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_current.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_current.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->current); - union { - float real; - uint32_t base; - } u_charge; - u_charge.real = this->charge; - *(outbuffer + offset + 0) = (u_charge.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_charge.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_charge.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_charge.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->charge); - union { - float real; - uint32_t base; - } u_capacity; - u_capacity.real = this->capacity; - *(outbuffer + offset + 0) = (u_capacity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_capacity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_capacity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_capacity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->capacity); - union { - float real; - uint32_t base; - } u_design_capacity; - u_design_capacity.real = this->design_capacity; - *(outbuffer + offset + 0) = (u_design_capacity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_design_capacity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_design_capacity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_design_capacity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->design_capacity); - union { - float real; - uint32_t base; - } u_percentage; - u_percentage.real = this->percentage; - *(outbuffer + offset + 0) = (u_percentage.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_percentage.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_percentage.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_percentage.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->percentage); - *(outbuffer + offset + 0) = (this->power_supply_status >> (8 * 0)) & 0xFF; - offset += sizeof(this->power_supply_status); - *(outbuffer + offset + 0) = (this->power_supply_health >> (8 * 0)) & 0xFF; - offset += sizeof(this->power_supply_health); - *(outbuffer + offset + 0) = (this->power_supply_technology >> (8 * 0)) & 0xFF; - offset += sizeof(this->power_supply_technology); - union { - bool real; - uint8_t base; - } u_present; - u_present.real = this->present; - *(outbuffer + offset + 0) = (u_present.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->present); - *(outbuffer + offset + 0) = (this->cell_voltage_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->cell_voltage_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->cell_voltage_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->cell_voltage_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->cell_voltage_length); - for( uint32_t i = 0; i < cell_voltage_length; i++){ - union { - float real; - uint32_t base; - } u_cell_voltagei; - u_cell_voltagei.real = this->cell_voltage[i]; - *(outbuffer + offset + 0) = (u_cell_voltagei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_cell_voltagei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_cell_voltagei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_cell_voltagei.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->cell_voltage[i]); - } - *(outbuffer + offset + 0) = (this->cell_temperature_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->cell_temperature_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->cell_temperature_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->cell_temperature_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->cell_temperature_length); - for( uint32_t i = 0; i < cell_temperature_length; i++){ - union { - float real; - uint32_t base; - } u_cell_temperaturei; - u_cell_temperaturei.real = this->cell_temperature[i]; - *(outbuffer + offset + 0) = (u_cell_temperaturei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_cell_temperaturei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_cell_temperaturei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_cell_temperaturei.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->cell_temperature[i]); - } - uint32_t length_location = strlen(this->location); - varToArr(outbuffer + offset, length_location); - offset += 4; - memcpy(outbuffer + offset, this->location, length_location); - offset += length_location; - uint32_t length_serial_number = strlen(this->serial_number); - varToArr(outbuffer + offset, length_serial_number); - offset += 4; - memcpy(outbuffer + offset, this->serial_number, length_serial_number); - offset += length_serial_number; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_voltage; - u_voltage.base = 0; - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_voltage.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->voltage = u_voltage.real; - offset += sizeof(this->voltage); - union { - float real; - uint32_t base; - } u_temperature; - u_temperature.base = 0; - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_temperature.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->temperature = u_temperature.real; - offset += sizeof(this->temperature); - union { - float real; - uint32_t base; - } u_current; - u_current.base = 0; - u_current.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_current.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->current = u_current.real; - offset += sizeof(this->current); - union { - float real; - uint32_t base; - } u_charge; - u_charge.base = 0; - u_charge.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_charge.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_charge.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_charge.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->charge = u_charge.real; - offset += sizeof(this->charge); - union { - float real; - uint32_t base; - } u_capacity; - u_capacity.base = 0; - u_capacity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_capacity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_capacity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_capacity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->capacity = u_capacity.real; - offset += sizeof(this->capacity); - union { - float real; - uint32_t base; - } u_design_capacity; - u_design_capacity.base = 0; - u_design_capacity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_design_capacity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_design_capacity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_design_capacity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->design_capacity = u_design_capacity.real; - offset += sizeof(this->design_capacity); - union { - float real; - uint32_t base; - } u_percentage; - u_percentage.base = 0; - u_percentage.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_percentage.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_percentage.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_percentage.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->percentage = u_percentage.real; - offset += sizeof(this->percentage); - this->power_supply_status = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->power_supply_status); - this->power_supply_health = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->power_supply_health); - this->power_supply_technology = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->power_supply_technology); - union { - bool real; - uint8_t base; - } u_present; - u_present.base = 0; - u_present.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->present = u_present.real; - offset += sizeof(this->present); - uint32_t cell_voltage_lengthT = ((uint32_t) (*(inbuffer + offset))); - cell_voltage_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - cell_voltage_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - cell_voltage_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->cell_voltage_length); - if(cell_voltage_lengthT > cell_voltage_length) - this->cell_voltage = (float*)realloc(this->cell_voltage, cell_voltage_lengthT * sizeof(float)); - cell_voltage_length = cell_voltage_lengthT; - for( uint32_t i = 0; i < cell_voltage_length; i++){ - union { - float real; - uint32_t base; - } u_st_cell_voltage; - u_st_cell_voltage.base = 0; - u_st_cell_voltage.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_cell_voltage.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_cell_voltage.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_cell_voltage.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_cell_voltage = u_st_cell_voltage.real; - offset += sizeof(this->st_cell_voltage); - memcpy( &(this->cell_voltage[i]), &(this->st_cell_voltage), sizeof(float)); - } - uint32_t cell_temperature_lengthT = ((uint32_t) (*(inbuffer + offset))); - cell_temperature_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - cell_temperature_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - cell_temperature_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->cell_temperature_length); - if(cell_temperature_lengthT > cell_temperature_length) - this->cell_temperature = (float*)realloc(this->cell_temperature, cell_temperature_lengthT * sizeof(float)); - cell_temperature_length = cell_temperature_lengthT; - for( uint32_t i = 0; i < cell_temperature_length; i++){ - union { - float real; - uint32_t base; - } u_st_cell_temperature; - u_st_cell_temperature.base = 0; - u_st_cell_temperature.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_cell_temperature.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_cell_temperature.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_cell_temperature.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_cell_temperature = u_st_cell_temperature.real; - offset += sizeof(this->st_cell_temperature); - memcpy( &(this->cell_temperature[i]), &(this->st_cell_temperature), sizeof(float)); - } - uint32_t length_location; - arrToVar(length_location, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_location; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_location-1]=0; - this->location = (char *)(inbuffer + offset-1); - offset += length_location; - uint32_t length_serial_number; - arrToVar(length_serial_number, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_serial_number; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_serial_number-1]=0; - this->serial_number = (char *)(inbuffer + offset-1); - offset += length_serial_number; - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/BatteryState"; }; - virtual const char * getMD5() override { return "4ddae7f048e32fda22cac764685e3974"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CameraInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CameraInfo.h deleted file mode 100644 index bf16e40f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CameraInfo.h +++ /dev/null @@ -1,276 +0,0 @@ -#ifndef _ROS_sensor_msgs_CameraInfo_h -#define _ROS_sensor_msgs_CameraInfo_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "sensor_msgs/RegionOfInterest.h" - -namespace sensor_msgs -{ - - class CameraInfo : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint32_t _height_type; - _height_type height; - typedef uint32_t _width_type; - _width_type width; - typedef const char* _distortion_model_type; - _distortion_model_type distortion_model; - uint32_t D_length; - typedef double _D_type; - _D_type st_D; - _D_type * D; - double K[9]; - double R[9]; - double P[12]; - typedef uint32_t _binning_x_type; - _binning_x_type binning_x; - typedef uint32_t _binning_y_type; - _binning_y_type binning_y; - typedef sensor_msgs::RegionOfInterest _roi_type; - _roi_type roi; - - CameraInfo(): - header(), - height(0), - width(0), - distortion_model(""), - D_length(0), st_D(), D(nullptr), - K(), - R(), - P(), - binning_x(0), - binning_y(0), - roi() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->height >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->height >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->height >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->height >> (8 * 3)) & 0xFF; - offset += sizeof(this->height); - *(outbuffer + offset + 0) = (this->width >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->width >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->width >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->width >> (8 * 3)) & 0xFF; - offset += sizeof(this->width); - uint32_t length_distortion_model = strlen(this->distortion_model); - varToArr(outbuffer + offset, length_distortion_model); - offset += 4; - memcpy(outbuffer + offset, this->distortion_model, length_distortion_model); - offset += length_distortion_model; - *(outbuffer + offset + 0) = (this->D_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->D_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->D_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->D_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->D_length); - for( uint32_t i = 0; i < D_length; i++){ - union { - double real; - uint64_t base; - } u_Di; - u_Di.real = this->D[i]; - *(outbuffer + offset + 0) = (u_Di.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_Di.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_Di.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_Di.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_Di.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_Di.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_Di.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_Di.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->D[i]); - } - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_Ki; - u_Ki.real = this->K[i]; - *(outbuffer + offset + 0) = (u_Ki.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_Ki.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_Ki.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_Ki.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_Ki.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_Ki.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_Ki.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_Ki.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->K[i]); - } - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_Ri; - u_Ri.real = this->R[i]; - *(outbuffer + offset + 0) = (u_Ri.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_Ri.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_Ri.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_Ri.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_Ri.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_Ri.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_Ri.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_Ri.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->R[i]); - } - for( uint32_t i = 0; i < 12; i++){ - union { - double real; - uint64_t base; - } u_Pi; - u_Pi.real = this->P[i]; - *(outbuffer + offset + 0) = (u_Pi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_Pi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_Pi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_Pi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_Pi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_Pi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_Pi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_Pi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->P[i]); - } - *(outbuffer + offset + 0) = (this->binning_x >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->binning_x >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->binning_x >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->binning_x >> (8 * 3)) & 0xFF; - offset += sizeof(this->binning_x); - *(outbuffer + offset + 0) = (this->binning_y >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->binning_y >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->binning_y >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->binning_y >> (8 * 3)) & 0xFF; - offset += sizeof(this->binning_y); - offset += this->roi.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->height = ((uint32_t) (*(inbuffer + offset))); - this->height |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->height |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->height |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->height); - this->width = ((uint32_t) (*(inbuffer + offset))); - this->width |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->width |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->width |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->width); - uint32_t length_distortion_model; - arrToVar(length_distortion_model, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_distortion_model; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_distortion_model-1]=0; - this->distortion_model = (char *)(inbuffer + offset-1); - offset += length_distortion_model; - uint32_t D_lengthT = ((uint32_t) (*(inbuffer + offset))); - D_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - D_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - D_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->D_length); - if(D_lengthT > D_length) - this->D = (double*)realloc(this->D, D_lengthT * sizeof(double)); - D_length = D_lengthT; - for( uint32_t i = 0; i < D_length; i++){ - union { - double real; - uint64_t base; - } u_st_D; - u_st_D.base = 0; - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_D.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_D = u_st_D.real; - offset += sizeof(this->st_D); - memcpy( &(this->D[i]), &(this->st_D), sizeof(double)); - } - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_Ki; - u_Ki.base = 0; - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_Ki.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->K[i] = u_Ki.real; - offset += sizeof(this->K[i]); - } - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_Ri; - u_Ri.base = 0; - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_Ri.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->R[i] = u_Ri.real; - offset += sizeof(this->R[i]); - } - for( uint32_t i = 0; i < 12; i++){ - union { - double real; - uint64_t base; - } u_Pi; - u_Pi.base = 0; - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_Pi.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->P[i] = u_Pi.real; - offset += sizeof(this->P[i]); - } - this->binning_x = ((uint32_t) (*(inbuffer + offset))); - this->binning_x |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->binning_x |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->binning_x |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->binning_x); - this->binning_y = ((uint32_t) (*(inbuffer + offset))); - this->binning_y |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->binning_y |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->binning_y |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->binning_y); - offset += this->roi.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/CameraInfo"; }; - virtual const char * getMD5() override { return "c9a58c1b0b154e0e6da7578cb991d214"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/ChannelFloat32.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/ChannelFloat32.h deleted file mode 100644 index 20e68484..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/ChannelFloat32.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef _ROS_sensor_msgs_ChannelFloat32_h -#define _ROS_sensor_msgs_ChannelFloat32_h - -#include -#include -#include -#include "ros/msg.h" - -namespace sensor_msgs -{ - - class ChannelFloat32 : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - uint32_t values_length; - typedef float _values_type; - _values_type st_values; - _values_type * values; - - ChannelFloat32(): - name(""), - values_length(0), st_values(), values(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - *(outbuffer + offset + 0) = (this->values_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->values_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->values_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->values_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->values_length); - for( uint32_t i = 0; i < values_length; i++){ - union { - float real; - uint32_t base; - } u_valuesi; - u_valuesi.real = this->values[i]; - *(outbuffer + offset + 0) = (u_valuesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_valuesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_valuesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_valuesi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->values[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t values_lengthT = ((uint32_t) (*(inbuffer + offset))); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - values_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->values_length); - if(values_lengthT > values_length) - this->values = (float*)realloc(this->values, values_lengthT * sizeof(float)); - values_length = values_lengthT; - for( uint32_t i = 0; i < values_length; i++){ - union { - float real; - uint32_t base; - } u_st_values; - u_st_values.base = 0; - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_values.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_values = u_st_values.real; - offset += sizeof(this->st_values); - memcpy( &(this->values[i]), &(this->st_values), sizeof(float)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/ChannelFloat32"; }; - virtual const char * getMD5() override { return "3d40139cdd33dfedcb71ffeeeb42ae7f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CompressedImage.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CompressedImage.h deleted file mode 100644 index ece9b21a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/CompressedImage.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_sensor_msgs_CompressedImage_h -#define _ROS_sensor_msgs_CompressedImage_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class CompressedImage : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _format_type; - _format_type format; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - - CompressedImage(): - header(), - format(""), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_format = strlen(this->format); - varToArr(outbuffer + offset, length_format); - offset += 4; - memcpy(outbuffer + offset, this->format, length_format); - offset += length_format; - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_format; - arrToVar(length_format, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_format; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_format-1]=0; - this->format = (char *)(inbuffer + offset-1); - offset += length_format; - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/CompressedImage"; }; - virtual const char * getMD5() override { return "8f7a12909da2c9d3332d540a0977563f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/FluidPressure.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/FluidPressure.h deleted file mode 100644 index 0879ba67..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/FluidPressure.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_sensor_msgs_FluidPressure_h -#define _ROS_sensor_msgs_FluidPressure_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class FluidPressure : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _fluid_pressure_type; - _fluid_pressure_type fluid_pressure; - typedef double _variance_type; - _variance_type variance; - - FluidPressure(): - header(), - fluid_pressure(0), - variance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_fluid_pressure; - u_fluid_pressure.real = this->fluid_pressure; - *(outbuffer + offset + 0) = (u_fluid_pressure.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_fluid_pressure.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_fluid_pressure.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_fluid_pressure.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_fluid_pressure.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_fluid_pressure.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_fluid_pressure.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_fluid_pressure.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->fluid_pressure); - union { - double real; - uint64_t base; - } u_variance; - u_variance.real = this->variance; - *(outbuffer + offset + 0) = (u_variance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_variance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_variance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_variance.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_variance.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_variance.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_variance.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_variance.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->variance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_fluid_pressure; - u_fluid_pressure.base = 0; - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_fluid_pressure.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->fluid_pressure = u_fluid_pressure.real; - offset += sizeof(this->fluid_pressure); - union { - double real; - uint64_t base; - } u_variance; - u_variance.base = 0; - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->variance = u_variance.real; - offset += sizeof(this->variance); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/FluidPressure"; }; - virtual const char * getMD5() override { return "804dc5cea1c5306d6a2eb80b9833befe"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Illuminance.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Illuminance.h deleted file mode 100644 index 058d90e6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Illuminance.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_sensor_msgs_Illuminance_h -#define _ROS_sensor_msgs_Illuminance_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class Illuminance : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _illuminance_type; - _illuminance_type illuminance; - typedef double _variance_type; - _variance_type variance; - - Illuminance(): - header(), - illuminance(0), - variance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_illuminance; - u_illuminance.real = this->illuminance; - *(outbuffer + offset + 0) = (u_illuminance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_illuminance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_illuminance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_illuminance.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_illuminance.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_illuminance.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_illuminance.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_illuminance.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->illuminance); - union { - double real; - uint64_t base; - } u_variance; - u_variance.real = this->variance; - *(outbuffer + offset + 0) = (u_variance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_variance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_variance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_variance.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_variance.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_variance.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_variance.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_variance.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->variance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_illuminance; - u_illuminance.base = 0; - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_illuminance.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->illuminance = u_illuminance.real; - offset += sizeof(this->illuminance); - union { - double real; - uint64_t base; - } u_variance; - u_variance.base = 0; - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->variance = u_variance.real; - offset += sizeof(this->variance); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/Illuminance"; }; - virtual const char * getMD5() override { return "8cf5febb0952fca9d650c3d11a81a188"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Image.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Image.h deleted file mode 100644 index 4ed8efff..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Image.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_sensor_msgs_Image_h -#define _ROS_sensor_msgs_Image_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class Image : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint32_t _height_type; - _height_type height; - typedef uint32_t _width_type; - _width_type width; - typedef const char* _encoding_type; - _encoding_type encoding; - typedef uint8_t _is_bigendian_type; - _is_bigendian_type is_bigendian; - typedef uint32_t _step_type; - _step_type step; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - - Image(): - header(), - height(0), - width(0), - encoding(""), - is_bigendian(0), - step(0), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->height >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->height >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->height >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->height >> (8 * 3)) & 0xFF; - offset += sizeof(this->height); - *(outbuffer + offset + 0) = (this->width >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->width >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->width >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->width >> (8 * 3)) & 0xFF; - offset += sizeof(this->width); - uint32_t length_encoding = strlen(this->encoding); - varToArr(outbuffer + offset, length_encoding); - offset += 4; - memcpy(outbuffer + offset, this->encoding, length_encoding); - offset += length_encoding; - *(outbuffer + offset + 0) = (this->is_bigendian >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_bigendian); - *(outbuffer + offset + 0) = (this->step >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->step >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->step >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->step >> (8 * 3)) & 0xFF; - offset += sizeof(this->step); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->height = ((uint32_t) (*(inbuffer + offset))); - this->height |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->height |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->height |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->height); - this->width = ((uint32_t) (*(inbuffer + offset))); - this->width |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->width |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->width |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->width); - uint32_t length_encoding; - arrToVar(length_encoding, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_encoding; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_encoding-1]=0; - this->encoding = (char *)(inbuffer + offset-1); - offset += length_encoding; - this->is_bigendian = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->is_bigendian); - this->step = ((uint32_t) (*(inbuffer + offset))); - this->step |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->step |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->step |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->step); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/Image"; }; - virtual const char * getMD5() override { return "060021388200f6f0f447d0fcd9c64743"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Imu.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Imu.h deleted file mode 100644 index c2e5af7e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Imu.h +++ /dev/null @@ -1,166 +0,0 @@ -#ifndef _ROS_sensor_msgs_Imu_h -#define _ROS_sensor_msgs_Imu_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Quaternion.h" -#include "geometry_msgs/Vector3.h" - -namespace sensor_msgs -{ - - class Imu : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - double orientation_covariance[9]; - typedef geometry_msgs::Vector3 _angular_velocity_type; - _angular_velocity_type angular_velocity; - double angular_velocity_covariance[9]; - typedef geometry_msgs::Vector3 _linear_acceleration_type; - _linear_acceleration_type linear_acceleration; - double linear_acceleration_covariance[9]; - - Imu(): - header(), - orientation(), - orientation_covariance(), - angular_velocity(), - angular_velocity_covariance(), - linear_acceleration(), - linear_acceleration_covariance() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->orientation.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_orientation_covariancei; - u_orientation_covariancei.real = this->orientation_covariance[i]; - *(outbuffer + offset + 0) = (u_orientation_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_orientation_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_orientation_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_orientation_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_orientation_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_orientation_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_orientation_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_orientation_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->orientation_covariance[i]); - } - offset += this->angular_velocity.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_angular_velocity_covariancei; - u_angular_velocity_covariancei.real = this->angular_velocity_covariance[i]; - *(outbuffer + offset + 0) = (u_angular_velocity_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angular_velocity_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angular_velocity_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angular_velocity_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_angular_velocity_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_angular_velocity_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_angular_velocity_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_angular_velocity_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->angular_velocity_covariance[i]); - } - offset += this->linear_acceleration.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_linear_acceleration_covariancei; - u_linear_acceleration_covariancei.real = this->linear_acceleration_covariance[i]; - *(outbuffer + offset + 0) = (u_linear_acceleration_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_linear_acceleration_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_linear_acceleration_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_linear_acceleration_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_linear_acceleration_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_linear_acceleration_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_linear_acceleration_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_linear_acceleration_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->linear_acceleration_covariance[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->orientation.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_orientation_covariancei; - u_orientation_covariancei.base = 0; - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_orientation_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->orientation_covariance[i] = u_orientation_covariancei.real; - offset += sizeof(this->orientation_covariance[i]); - } - offset += this->angular_velocity.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_angular_velocity_covariancei; - u_angular_velocity_covariancei.base = 0; - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_angular_velocity_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->angular_velocity_covariance[i] = u_angular_velocity_covariancei.real; - offset += sizeof(this->angular_velocity_covariance[i]); - } - offset += this->linear_acceleration.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_linear_acceleration_covariancei; - u_linear_acceleration_covariancei.base = 0; - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_linear_acceleration_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->linear_acceleration_covariance[i] = u_linear_acceleration_covariancei.real; - offset += sizeof(this->linear_acceleration_covariance[i]); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/Imu"; }; - virtual const char * getMD5() override { return "6a62c6daae103f4ff57a132d6f95cec2"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JointState.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JointState.h deleted file mode 100644 index e42c3a8a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JointState.h +++ /dev/null @@ -1,237 +0,0 @@ -#ifndef _ROS_sensor_msgs_JointState_h -#define _ROS_sensor_msgs_JointState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class JointState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t name_length; - typedef char* _name_type; - _name_type st_name; - _name_type * name; - uint32_t position_length; - typedef double _position_type; - _position_type st_position; - _position_type * position; - uint32_t velocity_length; - typedef double _velocity_type; - _velocity_type st_velocity; - _velocity_type * velocity; - uint32_t effort_length; - typedef double _effort_type; - _effort_type st_effort; - _effort_type * effort; - - JointState(): - header(), - name_length(0), st_name(), name(nullptr), - position_length(0), st_position(), position(nullptr), - velocity_length(0), st_velocity(), velocity(nullptr), - effort_length(0), st_effort(), effort(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->name_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->name_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->name_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->name_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->name_length); - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_namei = strlen(this->name[i]); - varToArr(outbuffer + offset, length_namei); - offset += 4; - memcpy(outbuffer + offset, this->name[i], length_namei); - offset += length_namei; - } - *(outbuffer + offset + 0) = (this->position_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->position_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->position_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->position_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->position_length); - for( uint32_t i = 0; i < position_length; i++){ - union { - double real; - uint64_t base; - } u_positioni; - u_positioni.real = this->position[i]; - *(outbuffer + offset + 0) = (u_positioni.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_positioni.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_positioni.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_positioni.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_positioni.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_positioni.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_positioni.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_positioni.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position[i]); - } - *(outbuffer + offset + 0) = (this->velocity_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->velocity_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->velocity_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->velocity_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->velocity_length); - for( uint32_t i = 0; i < velocity_length; i++){ - union { - double real; - uint64_t base; - } u_velocityi; - u_velocityi.real = this->velocity[i]; - *(outbuffer + offset + 0) = (u_velocityi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_velocityi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_velocityi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_velocityi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_velocityi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_velocityi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_velocityi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_velocityi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->velocity[i]); - } - *(outbuffer + offset + 0) = (this->effort_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->effort_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->effort_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->effort_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->effort_length); - for( uint32_t i = 0; i < effort_length; i++){ - union { - double real; - uint64_t base; - } u_efforti; - u_efforti.real = this->effort[i]; - *(outbuffer + offset + 0) = (u_efforti.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_efforti.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_efforti.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_efforti.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_efforti.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_efforti.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_efforti.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_efforti.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->effort[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t name_lengthT = ((uint32_t) (*(inbuffer + offset))); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - name_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->name_length); - if(name_lengthT > name_length) - this->name = (char**)realloc(this->name, name_lengthT * sizeof(char*)); - name_length = name_lengthT; - for( uint32_t i = 0; i < name_length; i++){ - uint32_t length_st_name; - arrToVar(length_st_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_name-1]=0; - this->st_name = (char *)(inbuffer + offset-1); - offset += length_st_name; - memcpy( &(this->name[i]), &(this->st_name), sizeof(char*)); - } - uint32_t position_lengthT = ((uint32_t) (*(inbuffer + offset))); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - position_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->position_length); - if(position_lengthT > position_length) - this->position = (double*)realloc(this->position, position_lengthT * sizeof(double)); - position_length = position_lengthT; - for( uint32_t i = 0; i < position_length; i++){ - union { - double real; - uint64_t base; - } u_st_position; - u_st_position.base = 0; - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_position = u_st_position.real; - offset += sizeof(this->st_position); - memcpy( &(this->position[i]), &(this->st_position), sizeof(double)); - } - uint32_t velocity_lengthT = ((uint32_t) (*(inbuffer + offset))); - velocity_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - velocity_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - velocity_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->velocity_length); - if(velocity_lengthT > velocity_length) - this->velocity = (double*)realloc(this->velocity, velocity_lengthT * sizeof(double)); - velocity_length = velocity_lengthT; - for( uint32_t i = 0; i < velocity_length; i++){ - union { - double real; - uint64_t base; - } u_st_velocity; - u_st_velocity.base = 0; - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_velocity.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_velocity = u_st_velocity.real; - offset += sizeof(this->st_velocity); - memcpy( &(this->velocity[i]), &(this->st_velocity), sizeof(double)); - } - uint32_t effort_lengthT = ((uint32_t) (*(inbuffer + offset))); - effort_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - effort_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - effort_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->effort_length); - if(effort_lengthT > effort_length) - this->effort = (double*)realloc(this->effort, effort_lengthT * sizeof(double)); - effort_length = effort_lengthT; - for( uint32_t i = 0; i < effort_length; i++){ - union { - double real; - uint64_t base; - } u_st_effort; - u_st_effort.base = 0; - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_effort = u_st_effort.real; - offset += sizeof(this->st_effort); - memcpy( &(this->effort[i]), &(this->st_effort), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/JointState"; }; - virtual const char * getMD5() override { return "3066dcd76a6cfaef579bd0f34173e9fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Joy.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Joy.h deleted file mode 100644 index d5de20ed..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Joy.h +++ /dev/null @@ -1,132 +0,0 @@ -#ifndef _ROS_sensor_msgs_Joy_h -#define _ROS_sensor_msgs_Joy_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class Joy : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t axes_length; - typedef float _axes_type; - _axes_type st_axes; - _axes_type * axes; - uint32_t buttons_length; - typedef int32_t _buttons_type; - _buttons_type st_buttons; - _buttons_type * buttons; - - Joy(): - header(), - axes_length(0), st_axes(), axes(nullptr), - buttons_length(0), st_buttons(), buttons(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->axes_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->axes_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->axes_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->axes_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->axes_length); - for( uint32_t i = 0; i < axes_length; i++){ - union { - float real; - uint32_t base; - } u_axesi; - u_axesi.real = this->axes[i]; - *(outbuffer + offset + 0) = (u_axesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_axesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_axesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_axesi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->axes[i]); - } - *(outbuffer + offset + 0) = (this->buttons_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->buttons_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->buttons_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->buttons_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->buttons_length); - for( uint32_t i = 0; i < buttons_length; i++){ - union { - int32_t real; - uint32_t base; - } u_buttonsi; - u_buttonsi.real = this->buttons[i]; - *(outbuffer + offset + 0) = (u_buttonsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_buttonsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_buttonsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_buttonsi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->buttons[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t axes_lengthT = ((uint32_t) (*(inbuffer + offset))); - axes_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - axes_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - axes_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->axes_length); - if(axes_lengthT > axes_length) - this->axes = (float*)realloc(this->axes, axes_lengthT * sizeof(float)); - axes_length = axes_lengthT; - for( uint32_t i = 0; i < axes_length; i++){ - union { - float real; - uint32_t base; - } u_st_axes; - u_st_axes.base = 0; - u_st_axes.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_axes.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_axes.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_axes.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_axes = u_st_axes.real; - offset += sizeof(this->st_axes); - memcpy( &(this->axes[i]), &(this->st_axes), sizeof(float)); - } - uint32_t buttons_lengthT = ((uint32_t) (*(inbuffer + offset))); - buttons_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - buttons_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - buttons_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->buttons_length); - if(buttons_lengthT > buttons_length) - this->buttons = (int32_t*)realloc(this->buttons, buttons_lengthT * sizeof(int32_t)); - buttons_length = buttons_lengthT; - for( uint32_t i = 0; i < buttons_length; i++){ - union { - int32_t real; - uint32_t base; - } u_st_buttons; - u_st_buttons.base = 0; - u_st_buttons.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_buttons.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_buttons.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_buttons.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_buttons = u_st_buttons.real; - offset += sizeof(this->st_buttons); - memcpy( &(this->buttons[i]), &(this->st_buttons), sizeof(int32_t)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/Joy"; }; - virtual const char * getMD5() override { return "5a9ea5f83505693b71e785041e67a8bb"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedback.h deleted file mode 100644 index e00085ab..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedback.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _ROS_sensor_msgs_JoyFeedback_h -#define _ROS_sensor_msgs_JoyFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace sensor_msgs -{ - - class JoyFeedback : public ros::Msg - { - public: - typedef uint8_t _type_type; - _type_type type; - typedef uint8_t _id_type; - _id_type id; - typedef float _intensity_type; - _intensity_type intensity; - enum { TYPE_LED = 0 }; - enum { TYPE_RUMBLE = 1 }; - enum { TYPE_BUZZER = 2 }; - - JoyFeedback(): - type(0), - id(0), - intensity(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - *(outbuffer + offset + 0) = (this->id >> (8 * 0)) & 0xFF; - offset += sizeof(this->id); - union { - float real; - uint32_t base; - } u_intensity; - u_intensity.real = this->intensity; - *(outbuffer + offset + 0) = (u_intensity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_intensity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_intensity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_intensity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->intensity); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - this->id = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->id); - union { - float real; - uint32_t base; - } u_intensity; - u_intensity.base = 0; - u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_intensity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->intensity = u_intensity.real; - offset += sizeof(this->intensity); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/JoyFeedback"; }; - virtual const char * getMD5() override { return "f4dcd73460360d98f36e55ee7f2e46f1"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedbackArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedbackArray.h deleted file mode 100644 index 0e570207..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/JoyFeedbackArray.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ROS_sensor_msgs_JoyFeedbackArray_h -#define _ROS_sensor_msgs_JoyFeedbackArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "sensor_msgs/JoyFeedback.h" - -namespace sensor_msgs -{ - - class JoyFeedbackArray : public ros::Msg - { - public: - uint32_t array_length; - typedef sensor_msgs::JoyFeedback _array_type; - _array_type st_array; - _array_type * array; - - JoyFeedbackArray(): - array_length(0), st_array(), array(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->array_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->array_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->array_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->array_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->array_length); - for( uint32_t i = 0; i < array_length; i++){ - offset += this->array[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t array_lengthT = ((uint32_t) (*(inbuffer + offset))); - array_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - array_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - array_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->array_length); - if(array_lengthT > array_length) - this->array = (sensor_msgs::JoyFeedback*)realloc(this->array, array_lengthT * sizeof(sensor_msgs::JoyFeedback)); - array_length = array_lengthT; - for( uint32_t i = 0; i < array_length; i++){ - offset += this->st_array.deserialize(inbuffer + offset); - memcpy( &(this->array[i]), &(this->st_array), sizeof(sensor_msgs::JoyFeedback)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/JoyFeedbackArray"; }; - virtual const char * getMD5() override { return "cde5730a895b1fc4dee6f91b754b213d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserEcho.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserEcho.h deleted file mode 100644 index 359bc864..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserEcho.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _ROS_sensor_msgs_LaserEcho_h -#define _ROS_sensor_msgs_LaserEcho_h - -#include -#include -#include -#include "ros/msg.h" - -namespace sensor_msgs -{ - - class LaserEcho : public ros::Msg - { - public: - uint32_t echoes_length; - typedef float _echoes_type; - _echoes_type st_echoes; - _echoes_type * echoes; - - LaserEcho(): - echoes_length(0), st_echoes(), echoes(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->echoes_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->echoes_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->echoes_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->echoes_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->echoes_length); - for( uint32_t i = 0; i < echoes_length; i++){ - union { - float real; - uint32_t base; - } u_echoesi; - u_echoesi.real = this->echoes[i]; - *(outbuffer + offset + 0) = (u_echoesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_echoesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_echoesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_echoesi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->echoes[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t echoes_lengthT = ((uint32_t) (*(inbuffer + offset))); - echoes_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - echoes_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - echoes_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->echoes_length); - if(echoes_lengthT > echoes_length) - this->echoes = (float*)realloc(this->echoes, echoes_lengthT * sizeof(float)); - echoes_length = echoes_lengthT; - for( uint32_t i = 0; i < echoes_length; i++){ - union { - float real; - uint32_t base; - } u_st_echoes; - u_st_echoes.base = 0; - u_st_echoes.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_echoes.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_echoes.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_echoes.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_echoes = u_st_echoes.real; - offset += sizeof(this->st_echoes); - memcpy( &(this->echoes[i]), &(this->st_echoes), sizeof(float)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/LaserEcho"; }; - virtual const char * getMD5() override { return "8bc5ae449b200fba4d552b4225586696"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserScan.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserScan.h deleted file mode 100644 index 5257b02e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/LaserScan.h +++ /dev/null @@ -1,300 +0,0 @@ -#ifndef _ROS_sensor_msgs_LaserScan_h -#define _ROS_sensor_msgs_LaserScan_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class LaserScan : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _angle_min_type; - _angle_min_type angle_min; - typedef float _angle_max_type; - _angle_max_type angle_max; - typedef float _angle_increment_type; - _angle_increment_type angle_increment; - typedef float _time_increment_type; - _time_increment_type time_increment; - typedef float _scan_time_type; - _scan_time_type scan_time; - typedef float _range_min_type; - _range_min_type range_min; - typedef float _range_max_type; - _range_max_type range_max; - uint32_t ranges_length; - typedef float _ranges_type; - _ranges_type st_ranges; - _ranges_type * ranges; - uint32_t intensities_length; - typedef float _intensities_type; - _intensities_type st_intensities; - _intensities_type * intensities; - - LaserScan(): - header(), - angle_min(0), - angle_max(0), - angle_increment(0), - time_increment(0), - scan_time(0), - range_min(0), - range_max(0), - ranges_length(0), st_ranges(), ranges(nullptr), - intensities_length(0), st_intensities(), intensities(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_angle_min; - u_angle_min.real = this->angle_min; - *(outbuffer + offset + 0) = (u_angle_min.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angle_min.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angle_min.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angle_min.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angle_min); - union { - float real; - uint32_t base; - } u_angle_max; - u_angle_max.real = this->angle_max; - *(outbuffer + offset + 0) = (u_angle_max.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angle_max.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angle_max.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angle_max.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angle_max); - union { - float real; - uint32_t base; - } u_angle_increment; - u_angle_increment.real = this->angle_increment; - *(outbuffer + offset + 0) = (u_angle_increment.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angle_increment.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angle_increment.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angle_increment.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angle_increment); - union { - float real; - uint32_t base; - } u_time_increment; - u_time_increment.real = this->time_increment; - *(outbuffer + offset + 0) = (u_time_increment.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_time_increment.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_time_increment.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_time_increment.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_increment); - union { - float real; - uint32_t base; - } u_scan_time; - u_scan_time.real = this->scan_time; - *(outbuffer + offset + 0) = (u_scan_time.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_scan_time.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_scan_time.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_scan_time.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->scan_time); - union { - float real; - uint32_t base; - } u_range_min; - u_range_min.real = this->range_min; - *(outbuffer + offset + 0) = (u_range_min.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_range_min.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_range_min.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_range_min.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->range_min); - union { - float real; - uint32_t base; - } u_range_max; - u_range_max.real = this->range_max; - *(outbuffer + offset + 0) = (u_range_max.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_range_max.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_range_max.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_range_max.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->range_max); - *(outbuffer + offset + 0) = (this->ranges_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ranges_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->ranges_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->ranges_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->ranges_length); - for( uint32_t i = 0; i < ranges_length; i++){ - union { - float real; - uint32_t base; - } u_rangesi; - u_rangesi.real = this->ranges[i]; - *(outbuffer + offset + 0) = (u_rangesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_rangesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_rangesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_rangesi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->ranges[i]); - } - *(outbuffer + offset + 0) = (this->intensities_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->intensities_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->intensities_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->intensities_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->intensities_length); - for( uint32_t i = 0; i < intensities_length; i++){ - union { - float real; - uint32_t base; - } u_intensitiesi; - u_intensitiesi.real = this->intensities[i]; - *(outbuffer + offset + 0) = (u_intensitiesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_intensitiesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_intensitiesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_intensitiesi.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->intensities[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_angle_min; - u_angle_min.base = 0; - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angle_min = u_angle_min.real; - offset += sizeof(this->angle_min); - union { - float real; - uint32_t base; - } u_angle_max; - u_angle_max.base = 0; - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angle_max = u_angle_max.real; - offset += sizeof(this->angle_max); - union { - float real; - uint32_t base; - } u_angle_increment; - u_angle_increment.base = 0; - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angle_increment = u_angle_increment.real; - offset += sizeof(this->angle_increment); - union { - float real; - uint32_t base; - } u_time_increment; - u_time_increment.base = 0; - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->time_increment = u_time_increment.real; - offset += sizeof(this->time_increment); - union { - float real; - uint32_t base; - } u_scan_time; - u_scan_time.base = 0; - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->scan_time = u_scan_time.real; - offset += sizeof(this->scan_time); - union { - float real; - uint32_t base; - } u_range_min; - u_range_min.base = 0; - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->range_min = u_range_min.real; - offset += sizeof(this->range_min); - union { - float real; - uint32_t base; - } u_range_max; - u_range_max.base = 0; - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->range_max = u_range_max.real; - offset += sizeof(this->range_max); - uint32_t ranges_lengthT = ((uint32_t) (*(inbuffer + offset))); - ranges_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - ranges_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - ranges_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->ranges_length); - if(ranges_lengthT > ranges_length) - this->ranges = (float*)realloc(this->ranges, ranges_lengthT * sizeof(float)); - ranges_length = ranges_lengthT; - for( uint32_t i = 0; i < ranges_length; i++){ - union { - float real; - uint32_t base; - } u_st_ranges; - u_st_ranges.base = 0; - u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_ranges.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_ranges = u_st_ranges.real; - offset += sizeof(this->st_ranges); - memcpy( &(this->ranges[i]), &(this->st_ranges), sizeof(float)); - } - uint32_t intensities_lengthT = ((uint32_t) (*(inbuffer + offset))); - intensities_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - intensities_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - intensities_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->intensities_length); - if(intensities_lengthT > intensities_length) - this->intensities = (float*)realloc(this->intensities, intensities_lengthT * sizeof(float)); - intensities_length = intensities_lengthT; - for( uint32_t i = 0; i < intensities_length; i++){ - union { - float real; - uint32_t base; - } u_st_intensities; - u_st_intensities.base = 0; - u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_intensities.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_intensities = u_st_intensities.real; - offset += sizeof(this->st_intensities); - memcpy( &(this->intensities[i]), &(this->st_intensities), sizeof(float)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/LaserScan"; }; - virtual const char * getMD5() override { return "90c7ef2dc6895d81024acba2ac42f369"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MagneticField.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MagneticField.h deleted file mode 100644 index 454da5c9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MagneticField.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _ROS_sensor_msgs_MagneticField_h -#define _ROS_sensor_msgs_MagneticField_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Vector3.h" - -namespace sensor_msgs -{ - - class MagneticField : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Vector3 _magnetic_field_type; - _magnetic_field_type magnetic_field; - double magnetic_field_covariance[9]; - - MagneticField(): - header(), - magnetic_field(), - magnetic_field_covariance() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->magnetic_field.serialize(outbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_magnetic_field_covariancei; - u_magnetic_field_covariancei.real = this->magnetic_field_covariance[i]; - *(outbuffer + offset + 0) = (u_magnetic_field_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_magnetic_field_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_magnetic_field_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_magnetic_field_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_magnetic_field_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_magnetic_field_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_magnetic_field_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_magnetic_field_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->magnetic_field_covariance[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->magnetic_field.deserialize(inbuffer + offset); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_magnetic_field_covariancei; - u_magnetic_field_covariancei.base = 0; - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_magnetic_field_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->magnetic_field_covariance[i] = u_magnetic_field_covariancei.real; - offset += sizeof(this->magnetic_field_covariance[i]); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/MagneticField"; }; - virtual const char * getMD5() override { return "2f3b0b43eed0c9501de0fa3ff89a45aa"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiDOFJointState.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiDOFJointState.h deleted file mode 100644 index e7f3fd52..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiDOFJointState.h +++ /dev/null @@ -1,159 +0,0 @@ -#ifndef _ROS_sensor_msgs_MultiDOFJointState_h -#define _ROS_sensor_msgs_MultiDOFJointState_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Transform.h" -#include "geometry_msgs/Twist.h" -#include "geometry_msgs/Wrench.h" - -namespace sensor_msgs -{ - - class MultiDOFJointState : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - uint32_t transforms_length; - typedef geometry_msgs::Transform _transforms_type; - _transforms_type st_transforms; - _transforms_type * transforms; - uint32_t twist_length; - typedef geometry_msgs::Twist _twist_type; - _twist_type st_twist; - _twist_type * twist; - uint32_t wrench_length; - typedef geometry_msgs::Wrench _wrench_type; - _wrench_type st_wrench; - _wrench_type * wrench; - - MultiDOFJointState(): - header(), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - transforms_length(0), st_transforms(), transforms(nullptr), - twist_length(0), st_twist(), twist(nullptr), - wrench_length(0), st_wrench(), wrench(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - *(outbuffer + offset + 0) = (this->transforms_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->transforms_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->transforms_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->transforms_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->transforms_length); - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->transforms[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->twist_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->twist_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->twist_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->twist_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->twist_length); - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->twist[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->wrench_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->wrench_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->wrench_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->wrench_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->wrench_length); - for( uint32_t i = 0; i < wrench_length; i++){ - offset += this->wrench[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - uint32_t transforms_lengthT = ((uint32_t) (*(inbuffer + offset))); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->transforms_length); - if(transforms_lengthT > transforms_length) - this->transforms = (geometry_msgs::Transform*)realloc(this->transforms, transforms_lengthT * sizeof(geometry_msgs::Transform)); - transforms_length = transforms_lengthT; - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->st_transforms.deserialize(inbuffer + offset); - memcpy( &(this->transforms[i]), &(this->st_transforms), sizeof(geometry_msgs::Transform)); - } - uint32_t twist_lengthT = ((uint32_t) (*(inbuffer + offset))); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - twist_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->twist_length); - if(twist_lengthT > twist_length) - this->twist = (geometry_msgs::Twist*)realloc(this->twist, twist_lengthT * sizeof(geometry_msgs::Twist)); - twist_length = twist_lengthT; - for( uint32_t i = 0; i < twist_length; i++){ - offset += this->st_twist.deserialize(inbuffer + offset); - memcpy( &(this->twist[i]), &(this->st_twist), sizeof(geometry_msgs::Twist)); - } - uint32_t wrench_lengthT = ((uint32_t) (*(inbuffer + offset))); - wrench_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - wrench_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - wrench_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->wrench_length); - if(wrench_lengthT > wrench_length) - this->wrench = (geometry_msgs::Wrench*)realloc(this->wrench, wrench_lengthT * sizeof(geometry_msgs::Wrench)); - wrench_length = wrench_lengthT; - for( uint32_t i = 0; i < wrench_length; i++){ - offset += this->st_wrench.deserialize(inbuffer + offset); - memcpy( &(this->wrench[i]), &(this->st_wrench), sizeof(geometry_msgs::Wrench)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/MultiDOFJointState"; }; - virtual const char * getMD5() override { return "690f272f0640d2631c305eeb8301e59d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiEchoLaserScan.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiEchoLaserScan.h deleted file mode 100644 index 725e5e22..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/MultiEchoLaserScan.h +++ /dev/null @@ -1,263 +0,0 @@ -#ifndef _ROS_sensor_msgs_MultiEchoLaserScan_h -#define _ROS_sensor_msgs_MultiEchoLaserScan_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "sensor_msgs/LaserEcho.h" - -namespace sensor_msgs -{ - - class MultiEchoLaserScan : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef float _angle_min_type; - _angle_min_type angle_min; - typedef float _angle_max_type; - _angle_max_type angle_max; - typedef float _angle_increment_type; - _angle_increment_type angle_increment; - typedef float _time_increment_type; - _time_increment_type time_increment; - typedef float _scan_time_type; - _scan_time_type scan_time; - typedef float _range_min_type; - _range_min_type range_min; - typedef float _range_max_type; - _range_max_type range_max; - uint32_t ranges_length; - typedef sensor_msgs::LaserEcho _ranges_type; - _ranges_type st_ranges; - _ranges_type * ranges; - uint32_t intensities_length; - typedef sensor_msgs::LaserEcho _intensities_type; - _intensities_type st_intensities; - _intensities_type * intensities; - - MultiEchoLaserScan(): - header(), - angle_min(0), - angle_max(0), - angle_increment(0), - time_increment(0), - scan_time(0), - range_min(0), - range_max(0), - ranges_length(0), st_ranges(), ranges(nullptr), - intensities_length(0), st_intensities(), intensities(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_angle_min; - u_angle_min.real = this->angle_min; - *(outbuffer + offset + 0) = (u_angle_min.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angle_min.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angle_min.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angle_min.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angle_min); - union { - float real; - uint32_t base; - } u_angle_max; - u_angle_max.real = this->angle_max; - *(outbuffer + offset + 0) = (u_angle_max.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angle_max.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angle_max.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angle_max.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angle_max); - union { - float real; - uint32_t base; - } u_angle_increment; - u_angle_increment.real = this->angle_increment; - *(outbuffer + offset + 0) = (u_angle_increment.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angle_increment.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angle_increment.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angle_increment.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angle_increment); - union { - float real; - uint32_t base; - } u_time_increment; - u_time_increment.real = this->time_increment; - *(outbuffer + offset + 0) = (u_time_increment.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_time_increment.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_time_increment.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_time_increment.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_increment); - union { - float real; - uint32_t base; - } u_scan_time; - u_scan_time.real = this->scan_time; - *(outbuffer + offset + 0) = (u_scan_time.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_scan_time.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_scan_time.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_scan_time.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->scan_time); - union { - float real; - uint32_t base; - } u_range_min; - u_range_min.real = this->range_min; - *(outbuffer + offset + 0) = (u_range_min.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_range_min.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_range_min.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_range_min.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->range_min); - union { - float real; - uint32_t base; - } u_range_max; - u_range_max.real = this->range_max; - *(outbuffer + offset + 0) = (u_range_max.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_range_max.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_range_max.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_range_max.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->range_max); - *(outbuffer + offset + 0) = (this->ranges_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->ranges_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->ranges_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->ranges_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->ranges_length); - for( uint32_t i = 0; i < ranges_length; i++){ - offset += this->ranges[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->intensities_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->intensities_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->intensities_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->intensities_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->intensities_length); - for( uint32_t i = 0; i < intensities_length; i++){ - offset += this->intensities[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_angle_min; - u_angle_min.base = 0; - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angle_min.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angle_min = u_angle_min.real; - offset += sizeof(this->angle_min); - union { - float real; - uint32_t base; - } u_angle_max; - u_angle_max.base = 0; - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angle_max.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angle_max = u_angle_max.real; - offset += sizeof(this->angle_max); - union { - float real; - uint32_t base; - } u_angle_increment; - u_angle_increment.base = 0; - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angle_increment.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angle_increment = u_angle_increment.real; - offset += sizeof(this->angle_increment); - union { - float real; - uint32_t base; - } u_time_increment; - u_time_increment.base = 0; - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_time_increment.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->time_increment = u_time_increment.real; - offset += sizeof(this->time_increment); - union { - float real; - uint32_t base; - } u_scan_time; - u_scan_time.base = 0; - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_scan_time.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->scan_time = u_scan_time.real; - offset += sizeof(this->scan_time); - union { - float real; - uint32_t base; - } u_range_min; - u_range_min.base = 0; - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_range_min.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->range_min = u_range_min.real; - offset += sizeof(this->range_min); - union { - float real; - uint32_t base; - } u_range_max; - u_range_max.base = 0; - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_range_max.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->range_max = u_range_max.real; - offset += sizeof(this->range_max); - uint32_t ranges_lengthT = ((uint32_t) (*(inbuffer + offset))); - ranges_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - ranges_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - ranges_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->ranges_length); - if(ranges_lengthT > ranges_length) - this->ranges = (sensor_msgs::LaserEcho*)realloc(this->ranges, ranges_lengthT * sizeof(sensor_msgs::LaserEcho)); - ranges_length = ranges_lengthT; - for( uint32_t i = 0; i < ranges_length; i++){ - offset += this->st_ranges.deserialize(inbuffer + offset); - memcpy( &(this->ranges[i]), &(this->st_ranges), sizeof(sensor_msgs::LaserEcho)); - } - uint32_t intensities_lengthT = ((uint32_t) (*(inbuffer + offset))); - intensities_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - intensities_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - intensities_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->intensities_length); - if(intensities_lengthT > intensities_length) - this->intensities = (sensor_msgs::LaserEcho*)realloc(this->intensities, intensities_lengthT * sizeof(sensor_msgs::LaserEcho)); - intensities_length = intensities_lengthT; - for( uint32_t i = 0; i < intensities_length; i++){ - offset += this->st_intensities.deserialize(inbuffer + offset); - memcpy( &(this->intensities[i]), &(this->st_intensities), sizeof(sensor_msgs::LaserEcho)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/MultiEchoLaserScan"; }; - virtual const char * getMD5() override { return "6fefb0c6da89d7c8abe4b339f5c2f8fb"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatFix.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatFix.h deleted file mode 100644 index ba1745a9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatFix.h +++ /dev/null @@ -1,192 +0,0 @@ -#ifndef _ROS_sensor_msgs_NavSatFix_h -#define _ROS_sensor_msgs_NavSatFix_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "sensor_msgs/NavSatStatus.h" - -namespace sensor_msgs -{ - - class NavSatFix : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef sensor_msgs::NavSatStatus _status_type; - _status_type status; - typedef double _latitude_type; - _latitude_type latitude; - typedef double _longitude_type; - _longitude_type longitude; - typedef double _altitude_type; - _altitude_type altitude; - double position_covariance[9]; - typedef uint8_t _position_covariance_type_type; - _position_covariance_type_type position_covariance_type; - enum { COVARIANCE_TYPE_UNKNOWN = 0 }; - enum { COVARIANCE_TYPE_APPROXIMATED = 1 }; - enum { COVARIANCE_TYPE_DIAGONAL_KNOWN = 2 }; - enum { COVARIANCE_TYPE_KNOWN = 3 }; - - NavSatFix(): - header(), - status(), - latitude(0), - longitude(0), - altitude(0), - position_covariance(), - position_covariance_type(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.real = this->latitude; - *(outbuffer + offset + 0) = (u_latitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_latitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_latitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_latitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_latitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_latitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_latitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_latitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.real = this->longitude; - *(outbuffer + offset + 0) = (u_longitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_longitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_longitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_longitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_longitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_longitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_longitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_longitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->longitude); - union { - double real; - uint64_t base; - } u_altitude; - u_altitude.real = this->altitude; - *(outbuffer + offset + 0) = (u_altitude.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_altitude.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_altitude.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_altitude.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_altitude.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_altitude.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_altitude.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_altitude.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->altitude); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_position_covariancei; - u_position_covariancei.real = this->position_covariance[i]; - *(outbuffer + offset + 0) = (u_position_covariancei.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_position_covariancei.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_position_covariancei.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_position_covariancei.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_position_covariancei.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_position_covariancei.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_position_covariancei.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_position_covariancei.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->position_covariance[i]); - } - *(outbuffer + offset + 0) = (this->position_covariance_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->position_covariance_type); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_latitude; - u_latitude.base = 0; - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_latitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->latitude = u_latitude.real; - offset += sizeof(this->latitude); - union { - double real; - uint64_t base; - } u_longitude; - u_longitude.base = 0; - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_longitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->longitude = u_longitude.real; - offset += sizeof(this->longitude); - union { - double real; - uint64_t base; - } u_altitude; - u_altitude.base = 0; - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_altitude.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->altitude = u_altitude.real; - offset += sizeof(this->altitude); - for( uint32_t i = 0; i < 9; i++){ - union { - double real; - uint64_t base; - } u_position_covariancei; - u_position_covariancei.base = 0; - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_position_covariancei.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->position_covariance[i] = u_position_covariancei.real; - offset += sizeof(this->position_covariance[i]); - } - this->position_covariance_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->position_covariance_type); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/NavSatFix"; }; - virtual const char * getMD5() override { return "2d3a8cd499b9b4a0249fb98fd05cfa48"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatStatus.h deleted file mode 100644 index 3fa7a295..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/NavSatStatus.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _ROS_sensor_msgs_NavSatStatus_h -#define _ROS_sensor_msgs_NavSatStatus_h - -#include -#include -#include -#include "ros/msg.h" - -namespace sensor_msgs -{ - - class NavSatStatus : public ros::Msg - { - public: - typedef int8_t _status_type; - _status_type status; - typedef uint16_t _service_type; - _service_type service; - enum { STATUS_NO_FIX = -1 }; - enum { STATUS_FIX = 0 }; - enum { STATUS_SBAS_FIX = 1 }; - enum { STATUS_GBAS_FIX = 2 }; - enum { SERVICE_GPS = 1 }; - enum { SERVICE_GLONASS = 2 }; - enum { SERVICE_COMPASS = 4 }; - enum { SERVICE_GALILEO = 8 }; - - NavSatStatus(): - status(0), - service(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_status; - u_status.real = this->status; - *(outbuffer + offset + 0) = (u_status.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->status); - *(outbuffer + offset + 0) = (this->service >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->service >> (8 * 1)) & 0xFF; - offset += sizeof(this->service); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_status; - u_status.base = 0; - u_status.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->status = u_status.real; - offset += sizeof(this->status); - this->service = ((uint16_t) (*(inbuffer + offset))); - this->service |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->service); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/NavSatStatus"; }; - virtual const char * getMD5() override { return "331cdbddfa4bc96ffc3b9ad98900a54c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud.h deleted file mode 100644 index b19f1eaf..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_sensor_msgs_PointCloud_h -#define _ROS_sensor_msgs_PointCloud_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Point32.h" -#include "sensor_msgs/ChannelFloat32.h" - -namespace sensor_msgs -{ - - class PointCloud : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t points_length; - typedef geometry_msgs::Point32 _points_type; - _points_type st_points; - _points_type * points; - uint32_t channels_length; - typedef sensor_msgs::ChannelFloat32 _channels_type; - _channels_type st_channels; - _channels_type * channels; - - PointCloud(): - header(), - points_length(0), st_points(), points(nullptr), - channels_length(0), st_channels(), channels(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->channels_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->channels_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->channels_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->channels_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->channels_length); - for( uint32_t i = 0; i < channels_length; i++){ - offset += this->channels[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (geometry_msgs::Point32*)realloc(this->points, points_lengthT * sizeof(geometry_msgs::Point32)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(geometry_msgs::Point32)); - } - uint32_t channels_lengthT = ((uint32_t) (*(inbuffer + offset))); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - channels_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->channels_length); - if(channels_lengthT > channels_length) - this->channels = (sensor_msgs::ChannelFloat32*)realloc(this->channels, channels_lengthT * sizeof(sensor_msgs::ChannelFloat32)); - channels_length = channels_lengthT; - for( uint32_t i = 0; i < channels_length; i++){ - offset += this->st_channels.deserialize(inbuffer + offset); - memcpy( &(this->channels[i]), &(this->st_channels), sizeof(sensor_msgs::ChannelFloat32)); - } - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/PointCloud"; }; - virtual const char * getMD5() override { return "d8e9c3f5afbdd8a130fd1d2763945fca"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud2.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud2.h deleted file mode 100644 index f2a25303..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointCloud2.h +++ /dev/null @@ -1,185 +0,0 @@ -#ifndef _ROS_sensor_msgs_PointCloud2_h -#define _ROS_sensor_msgs_PointCloud2_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "sensor_msgs/PointField.h" - -namespace sensor_msgs -{ - - class PointCloud2 : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint32_t _height_type; - _height_type height; - typedef uint32_t _width_type; - _width_type width; - uint32_t fields_length; - typedef sensor_msgs::PointField _fields_type; - _fields_type st_fields; - _fields_type * fields; - typedef bool _is_bigendian_type; - _is_bigendian_type is_bigendian; - typedef uint32_t _point_step_type; - _point_step_type point_step; - typedef uint32_t _row_step_type; - _row_step_type row_step; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - typedef bool _is_dense_type; - _is_dense_type is_dense; - - PointCloud2(): - header(), - height(0), - width(0), - fields_length(0), st_fields(), fields(nullptr), - is_bigendian(0), - point_step(0), - row_step(0), - data_length(0), st_data(), data(nullptr), - is_dense(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->height >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->height >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->height >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->height >> (8 * 3)) & 0xFF; - offset += sizeof(this->height); - *(outbuffer + offset + 0) = (this->width >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->width >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->width >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->width >> (8 * 3)) & 0xFF; - offset += sizeof(this->width); - *(outbuffer + offset + 0) = (this->fields_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->fields_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->fields_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->fields_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->fields_length); - for( uint32_t i = 0; i < fields_length; i++){ - offset += this->fields[i].serialize(outbuffer + offset); - } - union { - bool real; - uint8_t base; - } u_is_bigendian; - u_is_bigendian.real = this->is_bigendian; - *(outbuffer + offset + 0) = (u_is_bigendian.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_bigendian); - *(outbuffer + offset + 0) = (this->point_step >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->point_step >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->point_step >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->point_step >> (8 * 3)) & 0xFF; - offset += sizeof(this->point_step); - *(outbuffer + offset + 0) = (this->row_step >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->row_step >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->row_step >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->row_step >> (8 * 3)) & 0xFF; - offset += sizeof(this->row_step); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - union { - bool real; - uint8_t base; - } u_is_dense; - u_is_dense.real = this->is_dense; - *(outbuffer + offset + 0) = (u_is_dense.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->is_dense); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->height = ((uint32_t) (*(inbuffer + offset))); - this->height |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->height |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->height |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->height); - this->width = ((uint32_t) (*(inbuffer + offset))); - this->width |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->width |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->width |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->width); - uint32_t fields_lengthT = ((uint32_t) (*(inbuffer + offset))); - fields_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - fields_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - fields_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->fields_length); - if(fields_lengthT > fields_length) - this->fields = (sensor_msgs::PointField*)realloc(this->fields, fields_lengthT * sizeof(sensor_msgs::PointField)); - fields_length = fields_lengthT; - for( uint32_t i = 0; i < fields_length; i++){ - offset += this->st_fields.deserialize(inbuffer + offset); - memcpy( &(this->fields[i]), &(this->st_fields), sizeof(sensor_msgs::PointField)); - } - union { - bool real; - uint8_t base; - } u_is_bigendian; - u_is_bigendian.base = 0; - u_is_bigendian.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->is_bigendian = u_is_bigendian.real; - offset += sizeof(this->is_bigendian); - this->point_step = ((uint32_t) (*(inbuffer + offset))); - this->point_step |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->point_step |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->point_step |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->point_step); - this->row_step = ((uint32_t) (*(inbuffer + offset))); - this->row_step |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->row_step |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->row_step |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->row_step); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - union { - bool real; - uint8_t base; - } u_is_dense; - u_is_dense.base = 0; - u_is_dense.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->is_dense = u_is_dense.real; - offset += sizeof(this->is_dense); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/PointCloud2"; }; - virtual const char * getMD5() override { return "1158d486dd51d683ce2f1be655c3c181"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointField.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointField.h deleted file mode 100644 index 307b3332..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/PointField.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_sensor_msgs_PointField_h -#define _ROS_sensor_msgs_PointField_h - -#include -#include -#include -#include "ros/msg.h" - -namespace sensor_msgs -{ - - class PointField : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef uint32_t _offset_type; - _offset_type offset; - typedef uint8_t _datatype_type; - _datatype_type datatype; - typedef uint32_t _count_type; - _count_type count; - enum { INT8 = 1 }; - enum { UINT8 = 2 }; - enum { INT16 = 3 }; - enum { UINT16 = 4 }; - enum { INT32 = 5 }; - enum { UINT32 = 6 }; - enum { FLOAT32 = 7 }; - enum { FLOAT64 = 8 }; - - PointField(): - name(""), - offset(0), - datatype(0), - count(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - *(outbuffer + offset + 0) = (this->offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->offset >> (8 * 3)) & 0xFF; - offset += sizeof(this->offset); - *(outbuffer + offset + 0) = (this->datatype >> (8 * 0)) & 0xFF; - offset += sizeof(this->datatype); - *(outbuffer + offset + 0) = (this->count >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->count >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->count >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->count >> (8 * 3)) & 0xFF; - offset += sizeof(this->count); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - this->offset = ((uint32_t) (*(inbuffer + offset))); - this->offset |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->offset |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->offset |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->offset); - this->datatype = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->datatype); - this->count = ((uint32_t) (*(inbuffer + offset))); - this->count |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->count |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->count |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->count); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/PointField"; }; - virtual const char * getMD5() override { return "268eacb2962780ceac86cbd17e328150"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Range.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Range.h deleted file mode 100644 index cae1cfca..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Range.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef _ROS_sensor_msgs_Range_h -#define _ROS_sensor_msgs_Range_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class Range : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef uint8_t _radiation_type_type; - _radiation_type_type radiation_type; - typedef float _field_of_view_type; - _field_of_view_type field_of_view; - typedef float _min_range_type; - _min_range_type min_range; - typedef float _max_range_type; - _max_range_type max_range; - typedef float _range_type; - _range_type range; - enum { ULTRASOUND = 0 }; - enum { INFRARED = 1 }; - - Range(): - header(), - radiation_type(0), - field_of_view(0), - min_range(0), - max_range(0), - range(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->radiation_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->radiation_type); - union { - float real; - uint32_t base; - } u_field_of_view; - u_field_of_view.real = this->field_of_view; - *(outbuffer + offset + 0) = (u_field_of_view.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_field_of_view.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_field_of_view.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_field_of_view.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->field_of_view); - union { - float real; - uint32_t base; - } u_min_range; - u_min_range.real = this->min_range; - *(outbuffer + offset + 0) = (u_min_range.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_min_range.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_min_range.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_min_range.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->min_range); - union { - float real; - uint32_t base; - } u_max_range; - u_max_range.real = this->max_range; - *(outbuffer + offset + 0) = (u_max_range.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_range.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_range.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_range.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->max_range); - union { - float real; - uint32_t base; - } u_range; - u_range.real = this->range; - *(outbuffer + offset + 0) = (u_range.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_range.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_range.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_range.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->range); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->radiation_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->radiation_type); - union { - float real; - uint32_t base; - } u_field_of_view; - u_field_of_view.base = 0; - u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_field_of_view.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->field_of_view = u_field_of_view.real; - offset += sizeof(this->field_of_view); - union { - float real; - uint32_t base; - } u_min_range; - u_min_range.base = 0; - u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_min_range.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->min_range = u_min_range.real; - offset += sizeof(this->min_range); - union { - float real; - uint32_t base; - } u_max_range; - u_max_range.base = 0; - u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_range.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->max_range = u_max_range.real; - offset += sizeof(this->max_range); - union { - float real; - uint32_t base; - } u_range; - u_range.base = 0; - u_range.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_range.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_range.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_range.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->range = u_range.real; - offset += sizeof(this->range); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/Range"; }; - virtual const char * getMD5() override { return "c005c34273dc426c67a020a87bc24148"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RegionOfInterest.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RegionOfInterest.h deleted file mode 100644 index 73548557..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RegionOfInterest.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_sensor_msgs_RegionOfInterest_h -#define _ROS_sensor_msgs_RegionOfInterest_h - -#include -#include -#include -#include "ros/msg.h" - -namespace sensor_msgs -{ - - class RegionOfInterest : public ros::Msg - { - public: - typedef uint32_t _x_offset_type; - _x_offset_type x_offset; - typedef uint32_t _y_offset_type; - _y_offset_type y_offset; - typedef uint32_t _height_type; - _height_type height; - typedef uint32_t _width_type; - _width_type width; - typedef bool _do_rectify_type; - _do_rectify_type do_rectify; - - RegionOfInterest(): - x_offset(0), - y_offset(0), - height(0), - width(0), - do_rectify(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->x_offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->x_offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->x_offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->x_offset >> (8 * 3)) & 0xFF; - offset += sizeof(this->x_offset); - *(outbuffer + offset + 0) = (this->y_offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->y_offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->y_offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->y_offset >> (8 * 3)) & 0xFF; - offset += sizeof(this->y_offset); - *(outbuffer + offset + 0) = (this->height >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->height >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->height >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->height >> (8 * 3)) & 0xFF; - offset += sizeof(this->height); - *(outbuffer + offset + 0) = (this->width >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->width >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->width >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->width >> (8 * 3)) & 0xFF; - offset += sizeof(this->width); - union { - bool real; - uint8_t base; - } u_do_rectify; - u_do_rectify.real = this->do_rectify; - *(outbuffer + offset + 0) = (u_do_rectify.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->do_rectify); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->x_offset = ((uint32_t) (*(inbuffer + offset))); - this->x_offset |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->x_offset |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->x_offset |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->x_offset); - this->y_offset = ((uint32_t) (*(inbuffer + offset))); - this->y_offset |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->y_offset |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->y_offset |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->y_offset); - this->height = ((uint32_t) (*(inbuffer + offset))); - this->height |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->height |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->height |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->height); - this->width = ((uint32_t) (*(inbuffer + offset))); - this->width |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->width |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->width |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->width); - union { - bool real; - uint8_t base; - } u_do_rectify; - u_do_rectify.base = 0; - u_do_rectify.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->do_rectify = u_do_rectify.real; - offset += sizeof(this->do_rectify); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/RegionOfInterest"; }; - virtual const char * getMD5() override { return "bdb633039d588fcccb441a4d43ccfe09"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RelativeHumidity.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RelativeHumidity.h deleted file mode 100644 index ffa5058c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/RelativeHumidity.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_sensor_msgs_RelativeHumidity_h -#define _ROS_sensor_msgs_RelativeHumidity_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class RelativeHumidity : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _relative_humidity_type; - _relative_humidity_type relative_humidity; - typedef double _variance_type; - _variance_type variance; - - RelativeHumidity(): - header(), - relative_humidity(0), - variance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_relative_humidity; - u_relative_humidity.real = this->relative_humidity; - *(outbuffer + offset + 0) = (u_relative_humidity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_relative_humidity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_relative_humidity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_relative_humidity.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_relative_humidity.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_relative_humidity.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_relative_humidity.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_relative_humidity.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->relative_humidity); - union { - double real; - uint64_t base; - } u_variance; - u_variance.real = this->variance; - *(outbuffer + offset + 0) = (u_variance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_variance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_variance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_variance.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_variance.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_variance.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_variance.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_variance.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->variance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_relative_humidity; - u_relative_humidity.base = 0; - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_relative_humidity.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->relative_humidity = u_relative_humidity.real; - offset += sizeof(this->relative_humidity); - union { - double real; - uint64_t base; - } u_variance; - u_variance.base = 0; - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->variance = u_variance.real; - offset += sizeof(this->variance); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/RelativeHumidity"; }; - virtual const char * getMD5() override { return "8730015b05955b7e992ce29a2678d90f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/SetCameraInfo.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/SetCameraInfo.h deleted file mode 100644 index 1c23c950..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/SetCameraInfo.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef _ROS_SERVICE_SetCameraInfo_h -#define _ROS_SERVICE_SetCameraInfo_h -#include -#include -#include -#include "ros/msg.h" -#include "sensor_msgs/CameraInfo.h" - -namespace sensor_msgs -{ - -static const char SETCAMERAINFO[] = "sensor_msgs/SetCameraInfo"; - - class SetCameraInfoRequest : public ros::Msg - { - public: - typedef sensor_msgs::CameraInfo _camera_info_type; - _camera_info_type camera_info; - - SetCameraInfoRequest(): - camera_info() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->camera_info.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->camera_info.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return SETCAMERAINFO; }; - virtual const char * getMD5() override { return "ee34be01fdeee563d0d99cd594d5581d"; }; - - }; - - class SetCameraInfoResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _status_message_type; - _status_message_type status_message; - - SetCameraInfoResponse(): - success(0), - status_message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_status_message = strlen(this->status_message); - varToArr(outbuffer + offset, length_status_message); - offset += 4; - memcpy(outbuffer + offset, this->status_message, length_status_message); - offset += length_status_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_status_message; - arrToVar(length_status_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_status_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_status_message-1]=0; - this->status_message = (char *)(inbuffer + offset-1); - offset += length_status_message; - return offset; - } - - virtual const char * getType() override { return SETCAMERAINFO; }; - virtual const char * getMD5() override { return "2ec6f3eff0161f4257b808b12bc830c2"; }; - - }; - - class SetCameraInfo { - public: - typedef SetCameraInfoRequest Request; - typedef SetCameraInfoResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Temperature.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Temperature.h deleted file mode 100644 index ee9193a6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/Temperature.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_sensor_msgs_Temperature_h -#define _ROS_sensor_msgs_Temperature_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace sensor_msgs -{ - - class Temperature : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef double _temperature_type; - _temperature_type temperature; - typedef double _variance_type; - _variance_type variance; - - Temperature(): - header(), - temperature(0), - variance(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - union { - double real; - uint64_t base; - } u_temperature; - u_temperature.real = this->temperature; - *(outbuffer + offset + 0) = (u_temperature.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_temperature.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_temperature.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_temperature.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_temperature.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_temperature.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_temperature.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_temperature.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->temperature); - union { - double real; - uint64_t base; - } u_variance; - u_variance.real = this->variance; - *(outbuffer + offset + 0) = (u_variance.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_variance.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_variance.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_variance.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_variance.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_variance.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_variance.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_variance.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->variance); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - union { - double real; - uint64_t base; - } u_temperature; - u_temperature.base = 0; - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_temperature.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->temperature = u_temperature.real; - offset += sizeof(this->temperature); - union { - double real; - uint64_t base; - } u_variance; - u_variance.base = 0; - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_variance.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->variance = u_variance.real; - offset += sizeof(this->variance); - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/Temperature"; }; - virtual const char * getMD5() override { return "ff71b307acdbe7c871a5a6d7ed359100"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/TimeReference.h b/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/TimeReference.h deleted file mode 100644 index 2e2abb55..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/sensor_msgs/TimeReference.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _ROS_sensor_msgs_TimeReference_h -#define _ROS_sensor_msgs_TimeReference_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "ros/time.h" - -namespace sensor_msgs -{ - - class TimeReference : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef ros::Time _time_ref_type; - _time_ref_type time_ref; - typedef const char* _source_type; - _source_type source; - - TimeReference(): - header(), - time_ref(), - source("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->time_ref.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_ref.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_ref.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_ref.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_ref.sec); - *(outbuffer + offset + 0) = (this->time_ref.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_ref.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_ref.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_ref.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_ref.nsec); - uint32_t length_source = strlen(this->source); - varToArr(outbuffer + offset, length_source); - offset += 4; - memcpy(outbuffer + offset, this->source, length_source); - offset += length_source; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - this->time_ref.sec = ((uint32_t) (*(inbuffer + offset))); - this->time_ref.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_ref.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_ref.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_ref.sec); - this->time_ref.nsec = ((uint32_t) (*(inbuffer + offset))); - this->time_ref.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_ref.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_ref.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_ref.nsec); - uint32_t length_source; - arrToVar(length_source, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_source; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_source-1]=0; - this->source = (char *)(inbuffer + offset-1); - offset += length_source; - return offset; - } - - virtual const char * getType() override { return "sensor_msgs/TimeReference"; }; - virtual const char * getMD5() override { return "fded64a0265108ba86c3d38fb11c0c16"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Mesh.h b/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Mesh.h deleted file mode 100644 index 9c06eef0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Mesh.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef _ROS_shape_msgs_Mesh_h -#define _ROS_shape_msgs_Mesh_h - -#include -#include -#include -#include "ros/msg.h" -#include "shape_msgs/MeshTriangle.h" -#include "geometry_msgs/Point.h" - -namespace shape_msgs -{ - - class Mesh : public ros::Msg - { - public: - uint32_t triangles_length; - typedef shape_msgs::MeshTriangle _triangles_type; - _triangles_type st_triangles; - _triangles_type * triangles; - uint32_t vertices_length; - typedef geometry_msgs::Point _vertices_type; - _vertices_type st_vertices; - _vertices_type * vertices; - - Mesh(): - triangles_length(0), st_triangles(), triangles(nullptr), - vertices_length(0), st_vertices(), vertices(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->triangles_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->triangles_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->triangles_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->triangles_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->triangles_length); - for( uint32_t i = 0; i < triangles_length; i++){ - offset += this->triangles[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->vertices_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vertices_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->vertices_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->vertices_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->vertices_length); - for( uint32_t i = 0; i < vertices_length; i++){ - offset += this->vertices[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t triangles_lengthT = ((uint32_t) (*(inbuffer + offset))); - triangles_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - triangles_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - triangles_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->triangles_length); - if(triangles_lengthT > triangles_length) - this->triangles = (shape_msgs::MeshTriangle*)realloc(this->triangles, triangles_lengthT * sizeof(shape_msgs::MeshTriangle)); - triangles_length = triangles_lengthT; - for( uint32_t i = 0; i < triangles_length; i++){ - offset += this->st_triangles.deserialize(inbuffer + offset); - memcpy( &(this->triangles[i]), &(this->st_triangles), sizeof(shape_msgs::MeshTriangle)); - } - uint32_t vertices_lengthT = ((uint32_t) (*(inbuffer + offset))); - vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->vertices_length); - if(vertices_lengthT > vertices_length) - this->vertices = (geometry_msgs::Point*)realloc(this->vertices, vertices_lengthT * sizeof(geometry_msgs::Point)); - vertices_length = vertices_lengthT; - for( uint32_t i = 0; i < vertices_length; i++){ - offset += this->st_vertices.deserialize(inbuffer + offset); - memcpy( &(this->vertices[i]), &(this->st_vertices), sizeof(geometry_msgs::Point)); - } - return offset; - } - - virtual const char * getType() override { return "shape_msgs/Mesh"; }; - virtual const char * getMD5() override { return "1ffdae9486cd3316a121c578b47a85cc"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/MeshTriangle.h b/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/MeshTriangle.h deleted file mode 100644 index 93dcf173..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/MeshTriangle.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef _ROS_shape_msgs_MeshTriangle_h -#define _ROS_shape_msgs_MeshTriangle_h - -#include -#include -#include -#include "ros/msg.h" - -namespace shape_msgs -{ - - class MeshTriangle : public ros::Msg - { - public: - uint32_t vertex_indices[3]; - - MeshTriangle(): - vertex_indices() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - for( uint32_t i = 0; i < 3; i++){ - *(outbuffer + offset + 0) = (this->vertex_indices[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->vertex_indices[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->vertex_indices[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->vertex_indices[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->vertex_indices[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - for( uint32_t i = 0; i < 3; i++){ - this->vertex_indices[i] = ((uint32_t) (*(inbuffer + offset))); - this->vertex_indices[i] |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->vertex_indices[i] |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->vertex_indices[i] |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->vertex_indices[i]); - } - return offset; - } - - virtual const char * getType() override { return "shape_msgs/MeshTriangle"; }; - virtual const char * getMD5() override { return "23688b2e6d2de3d32fe8af104a903253"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Plane.h b/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Plane.h deleted file mode 100644 index 289af2ab..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/Plane.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _ROS_shape_msgs_Plane_h -#define _ROS_shape_msgs_Plane_h - -#include -#include -#include -#include "ros/msg.h" - -namespace shape_msgs -{ - - class Plane : public ros::Msg - { - public: - double coef[4]; - - Plane(): - coef() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - for( uint32_t i = 0; i < 4; i++){ - union { - double real; - uint64_t base; - } u_coefi; - u_coefi.real = this->coef[i]; - *(outbuffer + offset + 0) = (u_coefi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_coefi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_coefi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_coefi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_coefi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_coefi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_coefi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_coefi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->coef[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - for( uint32_t i = 0; i < 4; i++){ - union { - double real; - uint64_t base; - } u_coefi; - u_coefi.base = 0; - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_coefi.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->coef[i] = u_coefi.real; - offset += sizeof(this->coef[i]); - } - return offset; - } - - virtual const char * getType() override { return "shape_msgs/Plane"; }; - virtual const char * getMD5() override { return "2c1b92ed8f31492f8e73f6a4a44ca796"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/SolidPrimitive.h b/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/SolidPrimitive.h deleted file mode 100644 index 9cf5afec..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/shape_msgs/SolidPrimitive.h +++ /dev/null @@ -1,109 +0,0 @@ -#ifndef _ROS_shape_msgs_SolidPrimitive_h -#define _ROS_shape_msgs_SolidPrimitive_h - -#include -#include -#include -#include "ros/msg.h" - -namespace shape_msgs -{ - - class SolidPrimitive : public ros::Msg - { - public: - typedef uint8_t _type_type; - _type_type type; - uint32_t dimensions_length; - typedef double _dimensions_type; - _dimensions_type st_dimensions; - _dimensions_type * dimensions; - enum { BOX = 1 }; - enum { SPHERE = 2 }; - enum { CYLINDER = 3 }; - enum { CONE = 4 }; - enum { BOX_X = 0 }; - enum { BOX_Y = 1 }; - enum { BOX_Z = 2 }; - enum { SPHERE_RADIUS = 0 }; - enum { CYLINDER_HEIGHT = 0 }; - enum { CYLINDER_RADIUS = 1 }; - enum { CONE_HEIGHT = 0 }; - enum { CONE_RADIUS = 1 }; - - SolidPrimitive(): - type(0), - dimensions_length(0), st_dimensions(), dimensions(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - *(outbuffer + offset + 0) = (this->dimensions_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->dimensions_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->dimensions_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->dimensions_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->dimensions_length); - for( uint32_t i = 0; i < dimensions_length; i++){ - union { - double real; - uint64_t base; - } u_dimensionsi; - u_dimensionsi.real = this->dimensions[i]; - *(outbuffer + offset + 0) = (u_dimensionsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_dimensionsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_dimensionsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_dimensionsi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_dimensionsi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_dimensionsi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_dimensionsi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_dimensionsi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->dimensions[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - uint32_t dimensions_lengthT = ((uint32_t) (*(inbuffer + offset))); - dimensions_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - dimensions_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - dimensions_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->dimensions_length); - if(dimensions_lengthT > dimensions_length) - this->dimensions = (double*)realloc(this->dimensions, dimensions_lengthT * sizeof(double)); - dimensions_length = dimensions_lengthT; - for( uint32_t i = 0; i < dimensions_length; i++){ - union { - double real; - uint64_t base; - } u_st_dimensions; - u_st_dimensions.base = 0; - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_dimensions.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_dimensions = u_st_dimensions.real; - offset += sizeof(this->st_dimensions); - memcpy( &(this->dimensions[i]), &(this->st_dimensions), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return "shape_msgs/SolidPrimitive"; }; - virtual const char * getMD5() override { return "d8f8cbc74c5ff283fca29569ccefb45d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerInitialStatusCmd.h b/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerInitialStatusCmd.h deleted file mode 100644 index 0e9b9e40..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerInitialStatusCmd.h +++ /dev/null @@ -1,109 +0,0 @@ -#ifndef _ROS_smach_msgs_SmachContainerInitialStatusCmd_h -#define _ROS_smach_msgs_SmachContainerInitialStatusCmd_h - -#include -#include -#include -#include "ros/msg.h" - -namespace smach_msgs -{ - - class SmachContainerInitialStatusCmd : public ros::Msg - { - public: - typedef const char* _path_type; - _path_type path; - uint32_t initial_states_length; - typedef char* _initial_states_type; - _initial_states_type st_initial_states; - _initial_states_type * initial_states; - typedef const char* _local_data_type; - _local_data_type local_data; - - SmachContainerInitialStatusCmd(): - path(""), - initial_states_length(0), st_initial_states(), initial_states(nullptr), - local_data("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_path = strlen(this->path); - varToArr(outbuffer + offset, length_path); - offset += 4; - memcpy(outbuffer + offset, this->path, length_path); - offset += length_path; - *(outbuffer + offset + 0) = (this->initial_states_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->initial_states_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->initial_states_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->initial_states_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->initial_states_length); - for( uint32_t i = 0; i < initial_states_length; i++){ - uint32_t length_initial_statesi = strlen(this->initial_states[i]); - varToArr(outbuffer + offset, length_initial_statesi); - offset += 4; - memcpy(outbuffer + offset, this->initial_states[i], length_initial_statesi); - offset += length_initial_statesi; - } - uint32_t length_local_data = strlen(this->local_data); - varToArr(outbuffer + offset, length_local_data); - offset += 4; - memcpy(outbuffer + offset, this->local_data, length_local_data); - offset += length_local_data; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_path; - arrToVar(length_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_path-1]=0; - this->path = (char *)(inbuffer + offset-1); - offset += length_path; - uint32_t initial_states_lengthT = ((uint32_t) (*(inbuffer + offset))); - initial_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - initial_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - initial_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->initial_states_length); - if(initial_states_lengthT > initial_states_length) - this->initial_states = (char**)realloc(this->initial_states, initial_states_lengthT * sizeof(char*)); - initial_states_length = initial_states_lengthT; - for( uint32_t i = 0; i < initial_states_length; i++){ - uint32_t length_st_initial_states; - arrToVar(length_st_initial_states, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_initial_states; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_initial_states-1]=0; - this->st_initial_states = (char *)(inbuffer + offset-1); - offset += length_st_initial_states; - memcpy( &(this->initial_states[i]), &(this->st_initial_states), sizeof(char*)); - } - uint32_t length_local_data; - arrToVar(length_local_data, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_local_data; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_local_data-1]=0; - this->local_data = (char *)(inbuffer + offset-1); - offset += length_local_data; - return offset; - } - - virtual const char * getType() override { return "smach_msgs/SmachContainerInitialStatusCmd"; }; - virtual const char * getMD5() override { return "45f8cf31fc29b829db77f23001f788d6"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStatus.h b/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStatus.h deleted file mode 100644 index daf317a8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStatus.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef _ROS_smach_msgs_SmachContainerStatus_h -#define _ROS_smach_msgs_SmachContainerStatus_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace smach_msgs -{ - - class SmachContainerStatus : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _path_type; - _path_type path; - uint32_t initial_states_length; - typedef char* _initial_states_type; - _initial_states_type st_initial_states; - _initial_states_type * initial_states; - uint32_t active_states_length; - typedef char* _active_states_type; - _active_states_type st_active_states; - _active_states_type * active_states; - typedef const char* _local_data_type; - _local_data_type local_data; - typedef const char* _info_type; - _info_type info; - - SmachContainerStatus(): - header(), - path(""), - initial_states_length(0), st_initial_states(), initial_states(nullptr), - active_states_length(0), st_active_states(), active_states(nullptr), - local_data(""), - info("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_path = strlen(this->path); - varToArr(outbuffer + offset, length_path); - offset += 4; - memcpy(outbuffer + offset, this->path, length_path); - offset += length_path; - *(outbuffer + offset + 0) = (this->initial_states_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->initial_states_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->initial_states_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->initial_states_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->initial_states_length); - for( uint32_t i = 0; i < initial_states_length; i++){ - uint32_t length_initial_statesi = strlen(this->initial_states[i]); - varToArr(outbuffer + offset, length_initial_statesi); - offset += 4; - memcpy(outbuffer + offset, this->initial_states[i], length_initial_statesi); - offset += length_initial_statesi; - } - *(outbuffer + offset + 0) = (this->active_states_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->active_states_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->active_states_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->active_states_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->active_states_length); - for( uint32_t i = 0; i < active_states_length; i++){ - uint32_t length_active_statesi = strlen(this->active_states[i]); - varToArr(outbuffer + offset, length_active_statesi); - offset += 4; - memcpy(outbuffer + offset, this->active_states[i], length_active_statesi); - offset += length_active_statesi; - } - uint32_t length_local_data = strlen(this->local_data); - varToArr(outbuffer + offset, length_local_data); - offset += 4; - memcpy(outbuffer + offset, this->local_data, length_local_data); - offset += length_local_data; - uint32_t length_info = strlen(this->info); - varToArr(outbuffer + offset, length_info); - offset += 4; - memcpy(outbuffer + offset, this->info, length_info); - offset += length_info; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_path; - arrToVar(length_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_path-1]=0; - this->path = (char *)(inbuffer + offset-1); - offset += length_path; - uint32_t initial_states_lengthT = ((uint32_t) (*(inbuffer + offset))); - initial_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - initial_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - initial_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->initial_states_length); - if(initial_states_lengthT > initial_states_length) - this->initial_states = (char**)realloc(this->initial_states, initial_states_lengthT * sizeof(char*)); - initial_states_length = initial_states_lengthT; - for( uint32_t i = 0; i < initial_states_length; i++){ - uint32_t length_st_initial_states; - arrToVar(length_st_initial_states, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_initial_states; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_initial_states-1]=0; - this->st_initial_states = (char *)(inbuffer + offset-1); - offset += length_st_initial_states; - memcpy( &(this->initial_states[i]), &(this->st_initial_states), sizeof(char*)); - } - uint32_t active_states_lengthT = ((uint32_t) (*(inbuffer + offset))); - active_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - active_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - active_states_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->active_states_length); - if(active_states_lengthT > active_states_length) - this->active_states = (char**)realloc(this->active_states, active_states_lengthT * sizeof(char*)); - active_states_length = active_states_lengthT; - for( uint32_t i = 0; i < active_states_length; i++){ - uint32_t length_st_active_states; - arrToVar(length_st_active_states, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_active_states; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_active_states-1]=0; - this->st_active_states = (char *)(inbuffer + offset-1); - offset += length_st_active_states; - memcpy( &(this->active_states[i]), &(this->st_active_states), sizeof(char*)); - } - uint32_t length_local_data; - arrToVar(length_local_data, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_local_data; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_local_data-1]=0; - this->local_data = (char *)(inbuffer + offset-1); - offset += length_local_data; - uint32_t length_info; - arrToVar(length_info, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_info; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_info-1]=0; - this->info = (char *)(inbuffer + offset-1); - offset += length_info; - return offset; - } - - virtual const char * getType() override { return "smach_msgs/SmachContainerStatus"; }; - virtual const char * getMD5() override { return "5ba2bb79ac19e3842d562a191f2a675b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStructure.h b/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStructure.h deleted file mode 100644 index 9fc29624..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/smach_msgs/SmachContainerStructure.h +++ /dev/null @@ -1,246 +0,0 @@ -#ifndef _ROS_smach_msgs_SmachContainerStructure_h -#define _ROS_smach_msgs_SmachContainerStructure_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace smach_msgs -{ - - class SmachContainerStructure : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _path_type; - _path_type path; - uint32_t children_length; - typedef char* _children_type; - _children_type st_children; - _children_type * children; - uint32_t internal_outcomes_length; - typedef char* _internal_outcomes_type; - _internal_outcomes_type st_internal_outcomes; - _internal_outcomes_type * internal_outcomes; - uint32_t outcomes_from_length; - typedef char* _outcomes_from_type; - _outcomes_from_type st_outcomes_from; - _outcomes_from_type * outcomes_from; - uint32_t outcomes_to_length; - typedef char* _outcomes_to_type; - _outcomes_to_type st_outcomes_to; - _outcomes_to_type * outcomes_to; - uint32_t container_outcomes_length; - typedef char* _container_outcomes_type; - _container_outcomes_type st_container_outcomes; - _container_outcomes_type * container_outcomes; - - SmachContainerStructure(): - header(), - path(""), - children_length(0), st_children(), children(nullptr), - internal_outcomes_length(0), st_internal_outcomes(), internal_outcomes(nullptr), - outcomes_from_length(0), st_outcomes_from(), outcomes_from(nullptr), - outcomes_to_length(0), st_outcomes_to(), outcomes_to(nullptr), - container_outcomes_length(0), st_container_outcomes(), container_outcomes(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_path = strlen(this->path); - varToArr(outbuffer + offset, length_path); - offset += 4; - memcpy(outbuffer + offset, this->path, length_path); - offset += length_path; - *(outbuffer + offset + 0) = (this->children_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->children_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->children_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->children_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->children_length); - for( uint32_t i = 0; i < children_length; i++){ - uint32_t length_childreni = strlen(this->children[i]); - varToArr(outbuffer + offset, length_childreni); - offset += 4; - memcpy(outbuffer + offset, this->children[i], length_childreni); - offset += length_childreni; - } - *(outbuffer + offset + 0) = (this->internal_outcomes_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->internal_outcomes_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->internal_outcomes_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->internal_outcomes_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->internal_outcomes_length); - for( uint32_t i = 0; i < internal_outcomes_length; i++){ - uint32_t length_internal_outcomesi = strlen(this->internal_outcomes[i]); - varToArr(outbuffer + offset, length_internal_outcomesi); - offset += 4; - memcpy(outbuffer + offset, this->internal_outcomes[i], length_internal_outcomesi); - offset += length_internal_outcomesi; - } - *(outbuffer + offset + 0) = (this->outcomes_from_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->outcomes_from_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->outcomes_from_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->outcomes_from_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->outcomes_from_length); - for( uint32_t i = 0; i < outcomes_from_length; i++){ - uint32_t length_outcomes_fromi = strlen(this->outcomes_from[i]); - varToArr(outbuffer + offset, length_outcomes_fromi); - offset += 4; - memcpy(outbuffer + offset, this->outcomes_from[i], length_outcomes_fromi); - offset += length_outcomes_fromi; - } - *(outbuffer + offset + 0) = (this->outcomes_to_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->outcomes_to_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->outcomes_to_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->outcomes_to_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->outcomes_to_length); - for( uint32_t i = 0; i < outcomes_to_length; i++){ - uint32_t length_outcomes_toi = strlen(this->outcomes_to[i]); - varToArr(outbuffer + offset, length_outcomes_toi); - offset += 4; - memcpy(outbuffer + offset, this->outcomes_to[i], length_outcomes_toi); - offset += length_outcomes_toi; - } - *(outbuffer + offset + 0) = (this->container_outcomes_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->container_outcomes_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->container_outcomes_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->container_outcomes_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->container_outcomes_length); - for( uint32_t i = 0; i < container_outcomes_length; i++){ - uint32_t length_container_outcomesi = strlen(this->container_outcomes[i]); - varToArr(outbuffer + offset, length_container_outcomesi); - offset += 4; - memcpy(outbuffer + offset, this->container_outcomes[i], length_container_outcomesi); - offset += length_container_outcomesi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_path; - arrToVar(length_path, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_path; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_path-1]=0; - this->path = (char *)(inbuffer + offset-1); - offset += length_path; - uint32_t children_lengthT = ((uint32_t) (*(inbuffer + offset))); - children_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - children_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - children_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->children_length); - if(children_lengthT > children_length) - this->children = (char**)realloc(this->children, children_lengthT * sizeof(char*)); - children_length = children_lengthT; - for( uint32_t i = 0; i < children_length; i++){ - uint32_t length_st_children; - arrToVar(length_st_children, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_children; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_children-1]=0; - this->st_children = (char *)(inbuffer + offset-1); - offset += length_st_children; - memcpy( &(this->children[i]), &(this->st_children), sizeof(char*)); - } - uint32_t internal_outcomes_lengthT = ((uint32_t) (*(inbuffer + offset))); - internal_outcomes_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - internal_outcomes_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - internal_outcomes_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->internal_outcomes_length); - if(internal_outcomes_lengthT > internal_outcomes_length) - this->internal_outcomes = (char**)realloc(this->internal_outcomes, internal_outcomes_lengthT * sizeof(char*)); - internal_outcomes_length = internal_outcomes_lengthT; - for( uint32_t i = 0; i < internal_outcomes_length; i++){ - uint32_t length_st_internal_outcomes; - arrToVar(length_st_internal_outcomes, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_internal_outcomes; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_internal_outcomes-1]=0; - this->st_internal_outcomes = (char *)(inbuffer + offset-1); - offset += length_st_internal_outcomes; - memcpy( &(this->internal_outcomes[i]), &(this->st_internal_outcomes), sizeof(char*)); - } - uint32_t outcomes_from_lengthT = ((uint32_t) (*(inbuffer + offset))); - outcomes_from_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - outcomes_from_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - outcomes_from_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->outcomes_from_length); - if(outcomes_from_lengthT > outcomes_from_length) - this->outcomes_from = (char**)realloc(this->outcomes_from, outcomes_from_lengthT * sizeof(char*)); - outcomes_from_length = outcomes_from_lengthT; - for( uint32_t i = 0; i < outcomes_from_length; i++){ - uint32_t length_st_outcomes_from; - arrToVar(length_st_outcomes_from, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_outcomes_from; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_outcomes_from-1]=0; - this->st_outcomes_from = (char *)(inbuffer + offset-1); - offset += length_st_outcomes_from; - memcpy( &(this->outcomes_from[i]), &(this->st_outcomes_from), sizeof(char*)); - } - uint32_t outcomes_to_lengthT = ((uint32_t) (*(inbuffer + offset))); - outcomes_to_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - outcomes_to_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - outcomes_to_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->outcomes_to_length); - if(outcomes_to_lengthT > outcomes_to_length) - this->outcomes_to = (char**)realloc(this->outcomes_to, outcomes_to_lengthT * sizeof(char*)); - outcomes_to_length = outcomes_to_lengthT; - for( uint32_t i = 0; i < outcomes_to_length; i++){ - uint32_t length_st_outcomes_to; - arrToVar(length_st_outcomes_to, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_outcomes_to; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_outcomes_to-1]=0; - this->st_outcomes_to = (char *)(inbuffer + offset-1); - offset += length_st_outcomes_to; - memcpy( &(this->outcomes_to[i]), &(this->st_outcomes_to), sizeof(char*)); - } - uint32_t container_outcomes_lengthT = ((uint32_t) (*(inbuffer + offset))); - container_outcomes_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - container_outcomes_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - container_outcomes_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->container_outcomes_length); - if(container_outcomes_lengthT > container_outcomes_length) - this->container_outcomes = (char**)realloc(this->container_outcomes, container_outcomes_lengthT * sizeof(char*)); - container_outcomes_length = container_outcomes_lengthT; - for( uint32_t i = 0; i < container_outcomes_length; i++){ - uint32_t length_st_container_outcomes; - arrToVar(length_st_container_outcomes, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_container_outcomes; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_container_outcomes-1]=0; - this->st_container_outcomes = (char *)(inbuffer + offset-1); - offset += length_st_container_outcomes; - memcpy( &(this->container_outcomes[i]), &(this->st_container_outcomes), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return "smach_msgs/SmachContainerStructure"; }; - virtual const char * getMD5() override { return "3d3d1e0d0f99779ee9e58101a5dcf7ea"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Bool.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Bool.h deleted file mode 100644 index b15f5816..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Bool.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_std_msgs_Bool_h -#define _ROS_std_msgs_Bool_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Bool : public ros::Msg - { - public: - typedef bool _data_type; - _data_type data; - - Bool(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Bool"; }; - virtual const char * getMD5() override { return "8b94c1b53db61fb6aed406028ad6332a"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Byte.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Byte.h deleted file mode 100644 index 22d88d5d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Byte.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_std_msgs_Byte_h -#define _ROS_std_msgs_Byte_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Byte : public ros::Msg - { - public: - typedef int8_t _data_type; - _data_type data; - - Byte(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Byte"; }; - virtual const char * getMD5() override { return "ad736a2e8818154c487bb80fe42ce43b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ByteMultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ByteMultiArray.h deleted file mode 100644 index 7283c0d4..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ByteMultiArray.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _ROS_std_msgs_ByteMultiArray_h -#define _ROS_std_msgs_ByteMultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class ByteMultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef int8_t _data_type; - _data_type st_data; - _data_type * data; - - ByteMultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (int8_t*)realloc(this->data, data_lengthT * sizeof(int8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(int8_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/ByteMultiArray"; }; - virtual const char * getMD5() override { return "70ea476cbcfd65ac2f68f3cda1e891fe"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Char.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Char.h deleted file mode 100644 index 300c0816..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Char.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _ROS_std_msgs_Char_h -#define _ROS_std_msgs_Char_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Char : public ros::Msg - { - public: - typedef uint8_t _data_type; - _data_type data; - - Char(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data >> (8 * 0)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Char"; }; - virtual const char * getMD5() override { return "1bf77f25acecdedba0e224b162199717"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ColorRGBA.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ColorRGBA.h deleted file mode 100644 index f43fe4e7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/ColorRGBA.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef _ROS_std_msgs_ColorRGBA_h -#define _ROS_std_msgs_ColorRGBA_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class ColorRGBA : public ros::Msg - { - public: - typedef float _r_type; - _r_type r; - typedef float _g_type; - _g_type g; - typedef float _b_type; - _b_type b; - typedef float _a_type; - _a_type a; - - ColorRGBA(): - r(0), - g(0), - b(0), - a(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_r; - u_r.real = this->r; - *(outbuffer + offset + 0) = (u_r.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_r.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_r.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_r.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->r); - union { - float real; - uint32_t base; - } u_g; - u_g.real = this->g; - *(outbuffer + offset + 0) = (u_g.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_g.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_g.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_g.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->g); - union { - float real; - uint32_t base; - } u_b; - u_b.real = this->b; - *(outbuffer + offset + 0) = (u_b.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_b.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_b.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_b.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->b); - union { - float real; - uint32_t base; - } u_a; - u_a.real = this->a; - *(outbuffer + offset + 0) = (u_a.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_a.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_a.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_a.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->a); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_r; - u_r.base = 0; - u_r.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_r.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_r.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_r.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->r = u_r.real; - offset += sizeof(this->r); - union { - float real; - uint32_t base; - } u_g; - u_g.base = 0; - u_g.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_g.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_g.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_g.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->g = u_g.real; - offset += sizeof(this->g); - union { - float real; - uint32_t base; - } u_b; - u_b.base = 0; - u_b.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_b.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_b.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_b.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->b = u_b.real; - offset += sizeof(this->b); - union { - float real; - uint32_t base; - } u_a; - u_a.base = 0; - u_a.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_a.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_a.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_a.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->a = u_a.real; - offset += sizeof(this->a); - return offset; - } - - virtual const char * getType() override { return "std_msgs/ColorRGBA"; }; - virtual const char * getMD5() override { return "a29a96539573343b1310c73607334b00"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Duration.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Duration.h deleted file mode 100644 index 583b9586..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Duration.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_std_msgs_Duration_h -#define _ROS_std_msgs_Duration_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/duration.h" - -namespace std_msgs -{ - - class Duration : public ros::Msg - { - public: - typedef ros::Duration _data_type; - _data_type data; - - Duration(): - data() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->data.sec); - *(outbuffer + offset + 0) = (this->data.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->data.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->data.sec = ((uint32_t) (*(inbuffer + offset))); - this->data.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->data.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data.sec); - this->data.nsec = ((uint32_t) (*(inbuffer + offset))); - this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data.nsec); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Duration"; }; - virtual const char * getMD5() override { return "3e286caf4241d664e55f3ad380e2ae46"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Empty.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Empty.h deleted file mode 100644 index 0e438c53..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Empty.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_std_msgs_Empty_h -#define _ROS_std_msgs_Empty_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Empty : public ros::Msg - { - public: - - Empty() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "std_msgs/Empty"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32.h deleted file mode 100644 index c6ff0404..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_std_msgs_Float32_h -#define _ROS_std_msgs_Float32_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Float32 : public ros::Msg - { - public: - typedef float _data_type; - _data_type data; - - Float32(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_data.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_data.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Float32"; }; - virtual const char * getMD5() override { return "73fcbf46b49191e672908e50842a83d4"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32MultiArray.h deleted file mode 100644 index b1fac6ac..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float32MultiArray.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_std_msgs_Float32MultiArray_h -#define _ROS_std_msgs_Float32MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class Float32MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef float _data_type; - _data_type st_data; - _data_type * data; - - Float32MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - float real; - uint32_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (float*)realloc(this->data, data_lengthT * sizeof(float)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - float real; - uint32_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(float)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/Float32MultiArray"; }; - virtual const char * getMD5() override { return "6a40e0ffa6a17a503ac3f8616991b1f6"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64.h deleted file mode 100644 index 00d8c81a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_std_msgs_Float64_h -#define _ROS_std_msgs_Float64_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Float64 : public ros::Msg - { - public: - typedef double _data_type; - _data_type data; - - Float64(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_data.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_data.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_data.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_data.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_data.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_data.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - double real; - uint64_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Float64"; }; - virtual const char * getMD5() override { return "fdb28210bfa9d7c91146260178d9a584"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64MultiArray.h deleted file mode 100644 index c7d5bbb5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Float64MultiArray.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_std_msgs_Float64MultiArray_h -#define _ROS_std_msgs_Float64MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class Float64MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef double _data_type; - _data_type st_data; - _data_type * data; - - Float64MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - double real; - uint64_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_datai.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_datai.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_datai.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_datai.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (double*)realloc(this->data, data_lengthT * sizeof(double)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - double real; - uint64_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(double)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/Float64MultiArray"; }; - virtual const char * getMD5() override { return "4b7d974086d4060e7db4613a7e6c3ba4"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Header.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Header.h deleted file mode 100644 index 04016295..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Header.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef _ROS_std_msgs_Header_h -#define _ROS_std_msgs_Header_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" - -namespace std_msgs -{ - - class Header : public ros::Msg - { - public: - typedef uint32_t _seq_type; - _seq_type seq; - typedef ros::Time _stamp_type; - _stamp_type stamp; - typedef const char* _frame_id_type; - _frame_id_type frame_id; - - Header(): - seq(0), - stamp(), - frame_id("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->seq >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->seq >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->seq >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->seq >> (8 * 3)) & 0xFF; - offset += sizeof(this->seq); - *(outbuffer + offset + 0) = (this->stamp.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp.sec); - *(outbuffer + offset + 0) = (this->stamp.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stamp.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stamp.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stamp.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->stamp.nsec); - uint32_t length_frame_id = strlen(this->frame_id); - varToArr(outbuffer + offset, length_frame_id); - offset += 4; - memcpy(outbuffer + offset, this->frame_id, length_frame_id); - offset += length_frame_id; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->seq = ((uint32_t) (*(inbuffer + offset))); - this->seq |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->seq |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->seq |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->seq); - this->stamp.sec = ((uint32_t) (*(inbuffer + offset))); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp.sec); - this->stamp.nsec = ((uint32_t) (*(inbuffer + offset))); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stamp.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stamp.nsec); - uint32_t length_frame_id; - arrToVar(length_frame_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_frame_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_frame_id-1]=0; - this->frame_id = (char *)(inbuffer + offset-1); - offset += length_frame_id; - return offset; - } - - virtual const char * getType() override { return "std_msgs/Header"; }; - virtual const char * getMD5() override { return "2176decaecbce78abc3b96ef049fabed"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16.h deleted file mode 100644 index cece808c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef _ROS_std_msgs_Int16_h -#define _ROS_std_msgs_Int16_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Int16 : public ros::Msg - { - public: - typedef int16_t _data_type; - _data_type data; - - Int16(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int16_t real; - uint16_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int16_t real; - uint16_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_data.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int16"; }; - virtual const char * getMD5() override { return "8524586e34fbd7cb1c08c5f5f1ca0e57"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16MultiArray.h deleted file mode 100644 index c134df12..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int16MultiArray.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _ROS_std_msgs_Int16MultiArray_h -#define _ROS_std_msgs_Int16MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class Int16MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef int16_t _data_type; - _data_type st_data; - _data_type * data; - - Int16MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - int16_t real; - uint16_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (int16_t*)realloc(this->data, data_lengthT * sizeof(int16_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - int16_t real; - uint16_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint16_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(int16_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int16MultiArray"; }; - virtual const char * getMD5() override { return "d9338d7f523fcb692fae9d0a0e9f067c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32.h deleted file mode 100644 index 6fe8cf93..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_std_msgs_Int32_h -#define _ROS_std_msgs_Int32_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Int32 : public ros::Msg - { - public: - typedef int32_t _data_type; - _data_type data; - - Int32(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_data.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_data.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int32"; }; - virtual const char * getMD5() override { return "da5909fbe378aeaf85e547e830cc1bb7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32MultiArray.h deleted file mode 100644 index 079ddaf0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int32MultiArray.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ROS_std_msgs_Int32MultiArray_h -#define _ROS_std_msgs_Int32MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class Int32MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef int32_t _data_type; - _data_type st_data; - _data_type * data; - - Int32MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - int32_t real; - uint32_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (int32_t*)realloc(this->data, data_lengthT * sizeof(int32_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - int32_t real; - uint32_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_data.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(int32_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int32MultiArray"; }; - virtual const char * getMD5() override { return "1d99f79f8b325b44fee908053e9c945b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64.h deleted file mode 100644 index fd07d9d1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_std_msgs_Int64_h -#define _ROS_std_msgs_Int64_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Int64 : public ros::Msg - { - public: - typedef int64_t _data_type; - _data_type data; - - Int64(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_data.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_data.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_data.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_data.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_data.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_data.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_data.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int64_t real; - uint64_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_data.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int64"; }; - virtual const char * getMD5() override { return "34add168574510e6e17f5d23ecc077ef"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64MultiArray.h deleted file mode 100644 index 7962e2e7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int64MultiArray.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _ROS_std_msgs_Int64MultiArray_h -#define _ROS_std_msgs_Int64MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class Int64MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef int64_t _data_type; - _data_type st_data; - _data_type * data; - - Int64MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - int64_t real; - uint64_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_datai.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_datai.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_datai.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_datai.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_datai.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_datai.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_datai.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (int64_t*)realloc(this->data, data_lengthT * sizeof(int64_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - int64_t real; - uint64_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_data.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(int64_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int64MultiArray"; }; - virtual const char * getMD5() override { return "54865aa6c65be0448113a2afc6a49270"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8.h deleted file mode 100644 index 54ff2f74..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_std_msgs_Int8_h -#define _ROS_std_msgs_Int8_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class Int8 : public ros::Msg - { - public: - typedef int8_t _data_type; - _data_type data; - - Int8(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int8_t real; - uint8_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int8"; }; - virtual const char * getMD5() override { return "27ffa0c9c4b8fb8492252bcad9e5c57b"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8MultiArray.h deleted file mode 100644 index 1ef42496..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Int8MultiArray.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _ROS_std_msgs_Int8MultiArray_h -#define _ROS_std_msgs_Int8MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class Int8MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef int8_t _data_type; - _data_type st_data; - _data_type * data; - - Int8MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_datai; - u_datai.real = this->data[i]; - *(outbuffer + offset + 0) = (u_datai.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (int8_t*)realloc(this->data, data_lengthT * sizeof(int8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - union { - int8_t real; - uint8_t base; - } u_st_data; - u_st_data.base = 0; - u_st_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->st_data = u_st_data.real; - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(int8_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/Int8MultiArray"; }; - virtual const char * getMD5() override { return "d7c1af35a1b4781bbe79e03dd94b7c13"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayDimension.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayDimension.h deleted file mode 100644 index 26bf3c80..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayDimension.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef _ROS_std_msgs_MultiArrayDimension_h -#define _ROS_std_msgs_MultiArrayDimension_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class MultiArrayDimension : public ros::Msg - { - public: - typedef const char* _label_type; - _label_type label; - typedef uint32_t _size_type; - _size_type size; - typedef uint32_t _stride_type; - _stride_type stride; - - MultiArrayDimension(): - label(""), - size(0), - stride(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_label = strlen(this->label); - varToArr(outbuffer + offset, length_label); - offset += 4; - memcpy(outbuffer + offset, this->label, length_label); - offset += length_label; - *(outbuffer + offset + 0) = (this->size >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->size >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->size >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->size >> (8 * 3)) & 0xFF; - offset += sizeof(this->size); - *(outbuffer + offset + 0) = (this->stride >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->stride >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->stride >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->stride >> (8 * 3)) & 0xFF; - offset += sizeof(this->stride); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_label; - arrToVar(length_label, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_label; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_label-1]=0; - this->label = (char *)(inbuffer + offset-1); - offset += length_label; - this->size = ((uint32_t) (*(inbuffer + offset))); - this->size |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->size |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->size |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->size); - this->stride = ((uint32_t) (*(inbuffer + offset))); - this->stride |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->stride |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->stride |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->stride); - return offset; - } - - virtual const char * getType() override { return "std_msgs/MultiArrayDimension"; }; - virtual const char * getMD5() override { return "4cd0c83a8683deae40ecdac60e53bfa8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayLayout.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayLayout.h deleted file mode 100644 index c33e07eb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/MultiArrayLayout.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef _ROS_std_msgs_MultiArrayLayout_h -#define _ROS_std_msgs_MultiArrayLayout_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayDimension.h" - -namespace std_msgs -{ - - class MultiArrayLayout : public ros::Msg - { - public: - uint32_t dim_length; - typedef std_msgs::MultiArrayDimension _dim_type; - _dim_type st_dim; - _dim_type * dim; - typedef uint32_t _data_offset_type; - _data_offset_type data_offset; - - MultiArrayLayout(): - dim_length(0), st_dim(), dim(nullptr), - data_offset(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->dim_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->dim_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->dim_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->dim_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->dim_length); - for( uint32_t i = 0; i < dim_length; i++){ - offset += this->dim[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->data_offset >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_offset >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_offset >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_offset >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t dim_lengthT = ((uint32_t) (*(inbuffer + offset))); - dim_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - dim_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - dim_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->dim_length); - if(dim_lengthT > dim_length) - this->dim = (std_msgs::MultiArrayDimension*)realloc(this->dim, dim_lengthT * sizeof(std_msgs::MultiArrayDimension)); - dim_length = dim_lengthT; - for( uint32_t i = 0; i < dim_length; i++){ - offset += this->st_dim.deserialize(inbuffer + offset); - memcpy( &(this->dim[i]), &(this->st_dim), sizeof(std_msgs::MultiArrayDimension)); - } - this->data_offset = ((uint32_t) (*(inbuffer + offset))); - this->data_offset |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data_offset |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->data_offset |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_offset); - return offset; - } - - virtual const char * getType() override { return "std_msgs/MultiArrayLayout"; }; - virtual const char * getMD5() override { return "0fed2a11c13e11c5571b4e2a995a91a3"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/String.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/String.h deleted file mode 100644 index 048fda61..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/String.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef _ROS_std_msgs_String_h -#define _ROS_std_msgs_String_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class String : public ros::Msg - { - public: - typedef const char* _data_type; - _data_type data; - - String(): - data("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_data = strlen(this->data); - varToArr(outbuffer + offset, length_data); - offset += 4; - memcpy(outbuffer + offset, this->data, length_data); - offset += length_data; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_data; - arrToVar(length_data, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_data; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_data-1]=0; - this->data = (char *)(inbuffer + offset-1); - offset += length_data; - return offset; - } - - virtual const char * getType() override { return "std_msgs/String"; }; - virtual const char * getMD5() override { return "992ce8a1687cec8c8bd883ec73ca41d1"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Time.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Time.h deleted file mode 100644 index 37c257aa..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/Time.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _ROS_std_msgs_Time_h -#define _ROS_std_msgs_Time_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" - -namespace std_msgs -{ - - class Time : public ros::Msg - { - public: - typedef ros::Time _data_type; - _data_type data; - - Time(): - data() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->data.sec); - *(outbuffer + offset + 0) = (this->data.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->data.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->data.sec = ((uint32_t) (*(inbuffer + offset))); - this->data.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->data.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data.sec); - this->data.nsec = ((uint32_t) (*(inbuffer + offset))); - this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data.nsec); - return offset; - } - - virtual const char * getType() override { return "std_msgs/Time"; }; - virtual const char * getMD5() override { return "cd7166c74c552c311fbcc2fe5a7bc289"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16.h deleted file mode 100644 index 539c703f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _ROS_std_msgs_UInt16_h -#define _ROS_std_msgs_UInt16_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class UInt16 : public ros::Msg - { - public: - typedef uint16_t _data_type; - _data_type data; - - UInt16(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data >> (8 * 1)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->data = ((uint16_t) (*(inbuffer + offset))); - this->data |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt16"; }; - virtual const char * getMD5() override { return "1df79edf208b629fe6b81923a544552d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16MultiArray.h deleted file mode 100644 index c9351f49..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt16MultiArray.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _ROS_std_msgs_UInt16MultiArray_h -#define _ROS_std_msgs_UInt16MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class UInt16MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef uint16_t _data_type; - _data_type st_data; - _data_type * data; - - UInt16MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data[i] >> (8 * 1)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint16_t*)realloc(this->data, data_lengthT * sizeof(uint16_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint16_t) (*(inbuffer + offset))); - this->st_data |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint16_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt16MultiArray"; }; - virtual const char * getMD5() override { return "52f264f1c973c4b73790d384c6cb4484"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32.h deleted file mode 100644 index f27318a7..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _ROS_std_msgs_UInt32_h -#define _ROS_std_msgs_UInt32_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class UInt32 : public ros::Msg - { - public: - typedef uint32_t _data_type; - _data_type data; - - UInt32(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data >> (8 * 3)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->data = ((uint32_t) (*(inbuffer + offset))); - this->data |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->data |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt32"; }; - virtual const char * getMD5() override { return "304a39449588c7f8ce2df6e8001c5fce"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32MultiArray.h deleted file mode 100644 index baae7b62..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt32MultiArray.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef _ROS_std_msgs_UInt32MultiArray_h -#define _ROS_std_msgs_UInt32MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class UInt32MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef uint32_t _data_type; - _data_type st_data; - _data_type * data; - - UInt32MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data[i] >> (8 * 3)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint32_t*)realloc(this->data, data_lengthT * sizeof(uint32_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint32_t) (*(inbuffer + offset))); - this->st_data |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->st_data |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->st_data |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint32_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt32MultiArray"; }; - virtual const char * getMD5() override { return "4d6a180abc9be191b96a7eda6c8a233d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64.h deleted file mode 100644 index da013b86..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef _ROS_std_msgs_UInt64_h -#define _ROS_std_msgs_UInt64_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class UInt64 : public ros::Msg - { - public: - typedef uint64_t _data_type; - _data_type data; - - UInt64(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->data >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->data >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->data >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->data >> (8 * 7)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->data = ((uint64_t) (*(inbuffer + offset))); - this->data |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->data |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->data |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->data |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->data |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->data |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->data |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt64"; }; - virtual const char * getMD5() override { return "1b2a79973e8bf53d7b53acb71299cb57"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64MultiArray.h deleted file mode 100644 index 0ac6cc21..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt64MultiArray.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _ROS_std_msgs_UInt64MultiArray_h -#define _ROS_std_msgs_UInt64MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class UInt64MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef uint64_t _data_type; - _data_type st_data; - _data_type * data; - - UInt64MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data[i] >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data[i] >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data[i] >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->data[i] >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->data[i] >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->data[i] >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->data[i] >> (8 * 7)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint64_t*)realloc(this->data, data_lengthT * sizeof(uint64_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint64_t) (*(inbuffer + offset))); - this->st_data |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->st_data |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->st_data |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->st_data |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->st_data |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->st_data |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->st_data |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint64_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt64MultiArray"; }; - virtual const char * getMD5() override { return "6088f127afb1d6c72927aa1247e945af"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8.h deleted file mode 100644 index 19962907..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _ROS_std_msgs_UInt8_h -#define _ROS_std_msgs_UInt8_h - -#include -#include -#include -#include "ros/msg.h" - -namespace std_msgs -{ - - class UInt8 : public ros::Msg - { - public: - typedef uint8_t _data_type; - _data_type data; - - UInt8(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->data >> (8 * 0)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt8"; }; - virtual const char * getMD5() override { return "7c8164229e7d2c17eb95e9231617fdee"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8MultiArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8MultiArray.h deleted file mode 100644 index ab9aab12..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_msgs/UInt8MultiArray.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef _ROS_std_msgs_UInt8MultiArray_h -#define _ROS_std_msgs_UInt8MultiArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/MultiArrayLayout.h" - -namespace std_msgs -{ - - class UInt8MultiArray : public ros::Msg - { - public: - typedef std_msgs::MultiArrayLayout _layout_type; - _layout_type layout; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - - UInt8MultiArray(): - layout(), - data_length(0), st_data(), data(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->layout.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->layout.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - return offset; - } - - virtual const char * getType() override { return "std_msgs/UInt8MultiArray"; }; - virtual const char * getMD5() override { return "82373f1612381bb6ee473b5cd6f5d89c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Empty.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Empty.h deleted file mode 100644 index b72d5f39..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Empty.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _ROS_SERVICE_Empty_h -#define _ROS_SERVICE_Empty_h -#include -#include -#include -#include "ros/msg.h" - -namespace std_srvs -{ - -static const char EMPTY[] = "std_srvs/Empty"; - - class EmptyRequest : public ros::Msg - { - public: - - EmptyRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return EMPTY; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class EmptyResponse : public ros::Msg - { - public: - - EmptyResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return EMPTY; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class Empty { - public: - typedef EmptyRequest Request; - typedef EmptyResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/SetBool.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/SetBool.h deleted file mode 100644 index 016cfef9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/SetBool.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef _ROS_SERVICE_SetBool_h -#define _ROS_SERVICE_SetBool_h -#include -#include -#include -#include "ros/msg.h" - -namespace std_srvs -{ - -static const char SETBOOL[] = "std_srvs/SetBool"; - - class SetBoolRequest : public ros::Msg - { - public: - typedef bool _data_type; - _data_type data; - - SetBoolRequest(): - data(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_data; - u_data.real = this->data; - *(outbuffer + offset + 0) = (u_data.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->data); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_data; - u_data.base = 0; - u_data.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->data = u_data.real; - offset += sizeof(this->data); - return offset; - } - - virtual const char * getType() override { return SETBOOL; }; - virtual const char * getMD5() override { return "8b94c1b53db61fb6aed406028ad6332a"; }; - - }; - - class SetBoolResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _message_type; - _message_type message; - - SetBoolResponse(): - success(0), - message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_message = strlen(this->message); - varToArr(outbuffer + offset, length_message); - offset += 4; - memcpy(outbuffer + offset, this->message, length_message); - offset += length_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_message; - arrToVar(length_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message-1]=0; - this->message = (char *)(inbuffer + offset-1); - offset += length_message; - return offset; - } - - virtual const char * getType() override { return SETBOOL; }; - virtual const char * getMD5() override { return "937c9679a518e3a18d831e57125ea522"; }; - - }; - - class SetBool { - public: - typedef SetBoolRequest Request; - typedef SetBoolResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Trigger.h b/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Trigger.h deleted file mode 100644 index 69bf6eba..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/std_srvs/Trigger.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef _ROS_SERVICE_Trigger_h -#define _ROS_SERVICE_Trigger_h -#include -#include -#include -#include "ros/msg.h" - -namespace std_srvs -{ - -static const char TRIGGER[] = "std_srvs/Trigger"; - - class TriggerRequest : public ros::Msg - { - public: - - TriggerRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return TRIGGER; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class TriggerResponse : public ros::Msg - { - public: - typedef bool _success_type; - _success_type success; - typedef const char* _message_type; - _message_type message; - - TriggerResponse(): - success(0), - message("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.real = this->success; - *(outbuffer + offset + 0) = (u_success.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->success); - uint32_t length_message = strlen(this->message); - varToArr(outbuffer + offset, length_message); - offset += 4; - memcpy(outbuffer + offset, this->message, length_message); - offset += length_message; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - bool real; - uint8_t base; - } u_success; - u_success.base = 0; - u_success.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->success = u_success.real; - offset += sizeof(this->success); - uint32_t length_message; - arrToVar(length_message, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_message; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_message-1]=0; - this->message = (char *)(inbuffer + offset-1); - offset += length_message; - return offset; - } - - virtual const char * getType() override { return TRIGGER; }; - virtual const char * getMD5() override { return "937c9679a518e3a18d831e57125ea522"; }; - - }; - - class Trigger { - public: - typedef TriggerRequest Request; - typedef TriggerResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/stereo_msgs/DisparityImage.h b/firmware/libraries/Rosserial_Arduino_Library/src/stereo_msgs/DisparityImage.h deleted file mode 100644 index e75608bc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/stereo_msgs/DisparityImage.h +++ /dev/null @@ -1,176 +0,0 @@ -#ifndef _ROS_stereo_msgs_DisparityImage_h -#define _ROS_stereo_msgs_DisparityImage_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "sensor_msgs/Image.h" -#include "sensor_msgs/RegionOfInterest.h" - -namespace stereo_msgs -{ - - class DisparityImage : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef sensor_msgs::Image _image_type; - _image_type image; - typedef float _f_type; - _f_type f; - typedef float _T_type; - _T_type T; - typedef sensor_msgs::RegionOfInterest _valid_window_type; - _valid_window_type valid_window; - typedef float _min_disparity_type; - _min_disparity_type min_disparity; - typedef float _max_disparity_type; - _max_disparity_type max_disparity; - typedef float _delta_d_type; - _delta_d_type delta_d; - - DisparityImage(): - header(), - image(), - f(0), - T(0), - valid_window(), - min_disparity(0), - max_disparity(0), - delta_d(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->image.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_f; - u_f.real = this->f; - *(outbuffer + offset + 0) = (u_f.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_f.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_f.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_f.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->f); - union { - float real; - uint32_t base; - } u_T; - u_T.real = this->T; - *(outbuffer + offset + 0) = (u_T.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_T.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_T.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_T.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->T); - offset += this->valid_window.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_min_disparity; - u_min_disparity.real = this->min_disparity; - *(outbuffer + offset + 0) = (u_min_disparity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_min_disparity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_min_disparity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_min_disparity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->min_disparity); - union { - float real; - uint32_t base; - } u_max_disparity; - u_max_disparity.real = this->max_disparity; - *(outbuffer + offset + 0) = (u_max_disparity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_max_disparity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_max_disparity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_max_disparity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->max_disparity); - union { - float real; - uint32_t base; - } u_delta_d; - u_delta_d.real = this->delta_d; - *(outbuffer + offset + 0) = (u_delta_d.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_delta_d.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_delta_d.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_delta_d.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->delta_d); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->image.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_f; - u_f.base = 0; - u_f.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_f.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_f.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_f.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->f = u_f.real; - offset += sizeof(this->f); - union { - float real; - uint32_t base; - } u_T; - u_T.base = 0; - u_T.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_T.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_T.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_T.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->T = u_T.real; - offset += sizeof(this->T); - offset += this->valid_window.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_min_disparity; - u_min_disparity.base = 0; - u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_min_disparity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->min_disparity = u_min_disparity.real; - offset += sizeof(this->min_disparity); - union { - float real; - uint32_t base; - } u_max_disparity; - u_max_disparity.base = 0; - u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_max_disparity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->max_disparity = u_max_disparity.real; - offset += sizeof(this->max_disparity); - union { - float real; - uint32_t base; - } u_delta_d; - u_delta_d.base = 0; - u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_delta_d.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->delta_d = u_delta_d.real; - offset += sizeof(this->delta_d); - return offset; - } - - virtual const char * getType() override { return "stereo_msgs/DisparityImage"; }; - virtual const char * getMD5() override { return "04a177815f75271039fa21f16acad8c9"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf/FrameGraph.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf/FrameGraph.h deleted file mode 100644 index 6cface95..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf/FrameGraph.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_FrameGraph_h -#define _ROS_SERVICE_FrameGraph_h -#include -#include -#include -#include "ros/msg.h" - -namespace tf -{ - -static const char FRAMEGRAPH[] = "tf/FrameGraph"; - - class FrameGraphRequest : public ros::Msg - { - public: - - FrameGraphRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return FRAMEGRAPH; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class FrameGraphResponse : public ros::Msg - { - public: - typedef const char* _dot_graph_type; - _dot_graph_type dot_graph; - - FrameGraphResponse(): - dot_graph("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_dot_graph = strlen(this->dot_graph); - varToArr(outbuffer + offset, length_dot_graph); - offset += 4; - memcpy(outbuffer + offset, this->dot_graph, length_dot_graph); - offset += length_dot_graph; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_dot_graph; - arrToVar(length_dot_graph, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_dot_graph; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_dot_graph-1]=0; - this->dot_graph = (char *)(inbuffer + offset-1); - offset += length_dot_graph; - return offset; - } - - virtual const char * getType() override { return FRAMEGRAPH; }; - virtual const char * getMD5() override { return "c4af9ac907e58e906eb0b6e3c58478c0"; }; - - }; - - class FrameGraph { - public: - typedef FrameGraphRequest Request; - typedef FrameGraphResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf/tf.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf/tf.h deleted file mode 100644 index 97858fe2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf/tf.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_TF_H_ -#define ROS_TF_H_ - -#include "geometry_msgs/TransformStamped.h" - -namespace tf -{ - -static inline geometry_msgs::Quaternion createQuaternionFromYaw(double yaw) -{ - geometry_msgs::Quaternion q; - q.x = 0; - q.y = 0; - q.z = sin(yaw * 0.5); - q.w = cos(yaw * 0.5); - return q; -} - -} - -#endif - diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf/tfMessage.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf/tfMessage.h deleted file mode 100644 index 5b8085fa..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf/tfMessage.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ROS_tf_tfMessage_h -#define _ROS_tf_tfMessage_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/TransformStamped.h" - -namespace tf -{ - - class tfMessage : public ros::Msg - { - public: - uint32_t transforms_length; - typedef geometry_msgs::TransformStamped _transforms_type; - _transforms_type st_transforms; - _transforms_type * transforms; - - tfMessage(): - transforms_length(0), st_transforms(), transforms(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->transforms_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->transforms_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->transforms_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->transforms_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->transforms_length); - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->transforms[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t transforms_lengthT = ((uint32_t) (*(inbuffer + offset))); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->transforms_length); - if(transforms_lengthT > transforms_length) - this->transforms = (geometry_msgs::TransformStamped*)realloc(this->transforms, transforms_lengthT * sizeof(geometry_msgs::TransformStamped)); - transforms_length = transforms_lengthT; - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->st_transforms.deserialize(inbuffer + offset); - memcpy( &(this->transforms[i]), &(this->st_transforms), sizeof(geometry_msgs::TransformStamped)); - } - return offset; - } - - virtual const char * getType() override { return "tf/tfMessage"; }; - virtual const char * getMD5() override { return "94810edda583a504dfda3829e70d7eec"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf/transform_broadcaster.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf/transform_broadcaster.h deleted file mode 100644 index 6c4e5fee..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf/transform_broadcaster.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ROS_TRANSFORM_BROADCASTER_H_ -#define ROS_TRANSFORM_BROADCASTER_H_ - -#include "ros.h" -#include "tfMessage.h" - -namespace tf -{ - -class TransformBroadcaster -{ -public: - TransformBroadcaster() : publisher_("/tf", &internal_msg) {} - - void init(ros::NodeHandle &nh) - { - nh.advertise(publisher_); - } - - void sendTransform(geometry_msgs::TransformStamped &transform) - { - internal_msg.transforms_length = 1; - internal_msg.transforms = &transform; - publisher_.publish(&internal_msg); - } - -private: - tf::tfMessage internal_msg; - ros::Publisher publisher_; -}; - -} - -#endif - diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/FrameGraph.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/FrameGraph.h deleted file mode 100644 index 504196ad..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/FrameGraph.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_FrameGraph_h -#define _ROS_SERVICE_FrameGraph_h -#include -#include -#include -#include "ros/msg.h" - -namespace tf2_msgs -{ - -static const char FRAMEGRAPH[] = "tf2_msgs/FrameGraph"; - - class FrameGraphRequest : public ros::Msg - { - public: - - FrameGraphRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return FRAMEGRAPH; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class FrameGraphResponse : public ros::Msg - { - public: - typedef const char* _frame_yaml_type; - _frame_yaml_type frame_yaml; - - FrameGraphResponse(): - frame_yaml("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_frame_yaml = strlen(this->frame_yaml); - varToArr(outbuffer + offset, length_frame_yaml); - offset += 4; - memcpy(outbuffer + offset, this->frame_yaml, length_frame_yaml); - offset += length_frame_yaml; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_frame_yaml; - arrToVar(length_frame_yaml, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_frame_yaml; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_frame_yaml-1]=0; - this->frame_yaml = (char *)(inbuffer + offset-1); - offset += length_frame_yaml; - return offset; - } - - virtual const char * getType() override { return FRAMEGRAPH; }; - virtual const char * getMD5() override { return "437ea58e9463815a0d511c7326b686b0"; }; - - }; - - class FrameGraph { - public: - typedef FrameGraphRequest Request; - typedef FrameGraphResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformAction.h deleted file mode 100644 index 869a1c42..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_tf2_msgs_LookupTransformAction_h -#define _ROS_tf2_msgs_LookupTransformAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "tf2_msgs/LookupTransformActionGoal.h" -#include "tf2_msgs/LookupTransformActionResult.h" -#include "tf2_msgs/LookupTransformActionFeedback.h" - -namespace tf2_msgs -{ - - class LookupTransformAction : public ros::Msg - { - public: - typedef tf2_msgs::LookupTransformActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef tf2_msgs::LookupTransformActionResult _action_result_type; - _action_result_type action_result; - typedef tf2_msgs::LookupTransformActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - LookupTransformAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/LookupTransformAction"; }; - virtual const char * getMD5() override { return "7ee01ba91a56c2245c610992dbaa3c37"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionFeedback.h deleted file mode 100644 index 69f7d182..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_tf2_msgs_LookupTransformActionFeedback_h -#define _ROS_tf2_msgs_LookupTransformActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "tf2_msgs/LookupTransformFeedback.h" - -namespace tf2_msgs -{ - - class LookupTransformActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef tf2_msgs::LookupTransformFeedback _feedback_type; - _feedback_type feedback; - - LookupTransformActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/LookupTransformActionFeedback"; }; - virtual const char * getMD5() override { return "aae20e09065c3809e8a8e87c4c8953fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionGoal.h deleted file mode 100644 index a6d13dfd..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_tf2_msgs_LookupTransformActionGoal_h -#define _ROS_tf2_msgs_LookupTransformActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "tf2_msgs/LookupTransformGoal.h" - -namespace tf2_msgs -{ - - class LookupTransformActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef tf2_msgs::LookupTransformGoal _goal_type; - _goal_type goal; - - LookupTransformActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/LookupTransformActionGoal"; }; - virtual const char * getMD5() override { return "f2e7bcdb75c847978d0351a13e699da5"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionResult.h deleted file mode 100644 index 14900f32..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_tf2_msgs_LookupTransformActionResult_h -#define _ROS_tf2_msgs_LookupTransformActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "tf2_msgs/LookupTransformResult.h" - -namespace tf2_msgs -{ - - class LookupTransformActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef tf2_msgs::LookupTransformResult _result_type; - _result_type result; - - LookupTransformActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/LookupTransformActionResult"; }; - virtual const char * getMD5() override { return "ac26ce75a41384fa8bb4dc10f491ab90"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformFeedback.h deleted file mode 100644 index b08b9b24..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformFeedback.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_tf2_msgs_LookupTransformFeedback_h -#define _ROS_tf2_msgs_LookupTransformFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace tf2_msgs -{ - - class LookupTransformFeedback : public ros::Msg - { - public: - - LookupTransformFeedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/LookupTransformFeedback"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformGoal.h deleted file mode 100644 index 57aaeb4e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformGoal.h +++ /dev/null @@ -1,178 +0,0 @@ -#ifndef _ROS_tf2_msgs_LookupTransformGoal_h -#define _ROS_tf2_msgs_LookupTransformGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/time.h" -#include "ros/duration.h" - -namespace tf2_msgs -{ - - class LookupTransformGoal : public ros::Msg - { - public: - typedef const char* _target_frame_type; - _target_frame_type target_frame; - typedef const char* _source_frame_type; - _source_frame_type source_frame; - typedef ros::Time _source_time_type; - _source_time_type source_time; - typedef ros::Duration _timeout_type; - _timeout_type timeout; - typedef ros::Time _target_time_type; - _target_time_type target_time; - typedef const char* _fixed_frame_type; - _fixed_frame_type fixed_frame; - typedef bool _advanced_type; - _advanced_type advanced; - - LookupTransformGoal(): - target_frame(""), - source_frame(""), - source_time(), - timeout(), - target_time(), - fixed_frame(""), - advanced(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_target_frame = strlen(this->target_frame); - varToArr(outbuffer + offset, length_target_frame); - offset += 4; - memcpy(outbuffer + offset, this->target_frame, length_target_frame); - offset += length_target_frame; - uint32_t length_source_frame = strlen(this->source_frame); - varToArr(outbuffer + offset, length_source_frame); - offset += 4; - memcpy(outbuffer + offset, this->source_frame, length_source_frame); - offset += length_source_frame; - *(outbuffer + offset + 0) = (this->source_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->source_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->source_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->source_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->source_time.sec); - *(outbuffer + offset + 0) = (this->source_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->source_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->source_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->source_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->source_time.nsec); - *(outbuffer + offset + 0) = (this->timeout.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timeout.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timeout.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timeout.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timeout.sec); - *(outbuffer + offset + 0) = (this->timeout.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->timeout.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->timeout.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->timeout.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->timeout.nsec); - *(outbuffer + offset + 0) = (this->target_time.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->target_time.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->target_time.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->target_time.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->target_time.sec); - *(outbuffer + offset + 0) = (this->target_time.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->target_time.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->target_time.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->target_time.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->target_time.nsec); - uint32_t length_fixed_frame = strlen(this->fixed_frame); - varToArr(outbuffer + offset, length_fixed_frame); - offset += 4; - memcpy(outbuffer + offset, this->fixed_frame, length_fixed_frame); - offset += length_fixed_frame; - union { - bool real; - uint8_t base; - } u_advanced; - u_advanced.real = this->advanced; - *(outbuffer + offset + 0) = (u_advanced.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->advanced); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_target_frame; - arrToVar(length_target_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_target_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_target_frame-1]=0; - this->target_frame = (char *)(inbuffer + offset-1); - offset += length_target_frame; - uint32_t length_source_frame; - arrToVar(length_source_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_source_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_source_frame-1]=0; - this->source_frame = (char *)(inbuffer + offset-1); - offset += length_source_frame; - this->source_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->source_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->source_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->source_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->source_time.sec); - this->source_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->source_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->source_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->source_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->source_time.nsec); - this->timeout.sec = ((uint32_t) (*(inbuffer + offset))); - this->timeout.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timeout.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timeout.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timeout.sec); - this->timeout.nsec = ((uint32_t) (*(inbuffer + offset))); - this->timeout.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->timeout.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->timeout.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->timeout.nsec); - this->target_time.sec = ((uint32_t) (*(inbuffer + offset))); - this->target_time.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->target_time.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->target_time.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->target_time.sec); - this->target_time.nsec = ((uint32_t) (*(inbuffer + offset))); - this->target_time.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->target_time.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->target_time.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->target_time.nsec); - uint32_t length_fixed_frame; - arrToVar(length_fixed_frame, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_fixed_frame; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_fixed_frame-1]=0; - this->fixed_frame = (char *)(inbuffer + offset-1); - offset += length_fixed_frame; - union { - bool real; - uint8_t base; - } u_advanced; - u_advanced.base = 0; - u_advanced.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->advanced = u_advanced.real; - offset += sizeof(this->advanced); - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/LookupTransformGoal"; }; - virtual const char * getMD5() override { return "35e3720468131d675a18bb6f3e5f22f8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformResult.h deleted file mode 100644 index c3f148b5..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/LookupTransformResult.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _ROS_tf2_msgs_LookupTransformResult_h -#define _ROS_tf2_msgs_LookupTransformResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/TransformStamped.h" -#include "tf2_msgs/TF2Error.h" - -namespace tf2_msgs -{ - - class LookupTransformResult : public ros::Msg - { - public: - typedef geometry_msgs::TransformStamped _transform_type; - _transform_type transform; - typedef tf2_msgs::TF2Error _error_type; - _error_type error; - - LookupTransformResult(): - transform(), - error() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->transform.serialize(outbuffer + offset); - offset += this->error.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->transform.deserialize(inbuffer + offset); - offset += this->error.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/LookupTransformResult"; }; - virtual const char * getMD5() override { return "3fe5db6a19ca9cfb675418c5ad875c36"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TF2Error.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TF2Error.h deleted file mode 100644 index cc3de492..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TF2Error.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef _ROS_tf2_msgs_TF2Error_h -#define _ROS_tf2_msgs_TF2Error_h - -#include -#include -#include -#include "ros/msg.h" - -namespace tf2_msgs -{ - - class TF2Error : public ros::Msg - { - public: - typedef uint8_t _error_type; - _error_type error; - typedef const char* _error_string_type; - _error_string_type error_string; - enum { NO_ERROR = 0 }; - enum { LOOKUP_ERROR = 1 }; - enum { CONNECTIVITY_ERROR = 2 }; - enum { EXTRAPOLATION_ERROR = 3 }; - enum { INVALID_ARGUMENT_ERROR = 4 }; - enum { TIMEOUT_ERROR = 5 }; - enum { TRANSFORM_ERROR = 6 }; - - TF2Error(): - error(0), - error_string("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->error >> (8 * 0)) & 0xFF; - offset += sizeof(this->error); - uint32_t length_error_string = strlen(this->error_string); - varToArr(outbuffer + offset, length_error_string); - offset += 4; - memcpy(outbuffer + offset, this->error_string, length_error_string); - offset += length_error_string; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->error = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->error); - uint32_t length_error_string; - arrToVar(length_error_string, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_error_string; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_error_string-1]=0; - this->error_string = (char *)(inbuffer + offset-1); - offset += length_error_string; - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/TF2Error"; }; - virtual const char * getMD5() override { return "bc6848fd6fd750c92e38575618a4917d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TFMessage.h b/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TFMessage.h deleted file mode 100644 index f55e34cb..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/tf2_msgs/TFMessage.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ROS_tf2_msgs_TFMessage_h -#define _ROS_tf2_msgs_TFMessage_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/TransformStamped.h" - -namespace tf2_msgs -{ - - class TFMessage : public ros::Msg - { - public: - uint32_t transforms_length; - typedef geometry_msgs::TransformStamped _transforms_type; - _transforms_type st_transforms; - _transforms_type * transforms; - - TFMessage(): - transforms_length(0), st_transforms(), transforms(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->transforms_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->transforms_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->transforms_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->transforms_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->transforms_length); - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->transforms[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t transforms_lengthT = ((uint32_t) (*(inbuffer + offset))); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->transforms_length); - if(transforms_lengthT > transforms_length) - this->transforms = (geometry_msgs::TransformStamped*)realloc(this->transforms, transforms_lengthT * sizeof(geometry_msgs::TransformStamped)); - transforms_length = transforms_lengthT; - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->st_transforms.deserialize(inbuffer + offset); - memcpy( &(this->transforms[i]), &(this->st_transforms), sizeof(geometry_msgs::TransformStamped)); - } - return offset; - } - - virtual const char * getType() override { return "tf2_msgs/TFMessage"; }; - virtual const char * getMD5() override { return "94810edda583a504dfda3829e70d7eec"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/theora_image_transport/Packet.h b/firmware/libraries/Rosserial_Arduino_Library/src/theora_image_transport/Packet.h deleted file mode 100644 index f4a16f65..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/theora_image_transport/Packet.h +++ /dev/null @@ -1,183 +0,0 @@ -#ifndef _ROS_theora_image_transport_Packet_h -#define _ROS_theora_image_transport_Packet_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" - -namespace theora_image_transport -{ - - class Packet : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t data_length; - typedef uint8_t _data_type; - _data_type st_data; - _data_type * data; - typedef int32_t _b_o_s_type; - _b_o_s_type b_o_s; - typedef int32_t _e_o_s_type; - _e_o_s_type e_o_s; - typedef int64_t _granulepos_type; - _granulepos_type granulepos; - typedef int64_t _packetno_type; - _packetno_type packetno; - - Packet(): - header(), - data_length(0), st_data(), data(nullptr), - b_o_s(0), - e_o_s(0), - granulepos(0), - packetno(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->data_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->data_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->data_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->data_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->data_length); - for( uint32_t i = 0; i < data_length; i++){ - *(outbuffer + offset + 0) = (this->data[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->data[i]); - } - union { - int32_t real; - uint32_t base; - } u_b_o_s; - u_b_o_s.real = this->b_o_s; - *(outbuffer + offset + 0) = (u_b_o_s.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_b_o_s.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_b_o_s.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_b_o_s.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->b_o_s); - union { - int32_t real; - uint32_t base; - } u_e_o_s; - u_e_o_s.real = this->e_o_s; - *(outbuffer + offset + 0) = (u_e_o_s.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_e_o_s.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_e_o_s.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_e_o_s.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->e_o_s); - union { - int64_t real; - uint64_t base; - } u_granulepos; - u_granulepos.real = this->granulepos; - *(outbuffer + offset + 0) = (u_granulepos.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_granulepos.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_granulepos.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_granulepos.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_granulepos.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_granulepos.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_granulepos.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_granulepos.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->granulepos); - union { - int64_t real; - uint64_t base; - } u_packetno; - u_packetno.real = this->packetno; - *(outbuffer + offset + 0) = (u_packetno.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_packetno.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_packetno.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_packetno.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_packetno.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_packetno.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_packetno.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_packetno.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->packetno); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t data_lengthT = ((uint32_t) (*(inbuffer + offset))); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - data_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->data_length); - if(data_lengthT > data_length) - this->data = (uint8_t*)realloc(this->data, data_lengthT * sizeof(uint8_t)); - data_length = data_lengthT; - for( uint32_t i = 0; i < data_length; i++){ - this->st_data = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->st_data); - memcpy( &(this->data[i]), &(this->st_data), sizeof(uint8_t)); - } - union { - int32_t real; - uint32_t base; - } u_b_o_s; - u_b_o_s.base = 0; - u_b_o_s.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_b_o_s.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_b_o_s.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_b_o_s.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->b_o_s = u_b_o_s.real; - offset += sizeof(this->b_o_s); - union { - int32_t real; - uint32_t base; - } u_e_o_s; - u_e_o_s.base = 0; - u_e_o_s.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_e_o_s.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_e_o_s.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_e_o_s.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->e_o_s = u_e_o_s.real; - offset += sizeof(this->e_o_s); - union { - int64_t real; - uint64_t base; - } u_granulepos; - u_granulepos.base = 0; - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_granulepos.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->granulepos = u_granulepos.real; - offset += sizeof(this->granulepos); - union { - int64_t real; - uint64_t base; - } u_packetno; - u_packetno.base = 0; - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_packetno.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->packetno = u_packetno.real; - offset += sizeof(this->packetno); - return offset; - } - - virtual const char * getType() override { return "theora_image_transport/Packet"; }; - virtual const char * getMD5() override { return "33ac4e14a7cff32e7e0d65f18bb410f3"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/time.cpp b/firmware/libraries/Rosserial_Arduino_Library/src/time.cpp deleted file mode 100644 index 47bb0a3b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/time.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Software License Agreement (BSD License) - * - * Copyright (c) 2011, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage, Inc. nor the names of its - * contributors may be used to endorse or promote prducts derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "ros/time.h" - -namespace ros -{ -void normalizeSecNSec(uint32_t& sec, uint32_t& nsec) -{ - uint32_t nsec_part = nsec % 1000000000UL; - uint32_t sec_part = nsec / 1000000000UL; - sec += sec_part; - nsec = nsec_part; -} - -Time& Time::fromNSec(int32_t t) -{ - sec = t / 1000000000; - nsec = t % 1000000000; - normalizeSecNSec(sec, nsec); - return *this; -} - -Time& Time::operator +=(const Duration &rhs) -{ - sec = sec - 1 + rhs.sec; - nsec = nsec + 1000000000UL + rhs.nsec; - normalizeSecNSec(sec, nsec); - return *this; -} - -Time& Time::operator -=(const Duration &rhs){ - sec = sec - 1 - rhs.sec; - nsec = nsec + 1000000000UL - rhs.nsec; - normalizeSecNSec(sec, nsec); - return *this; -} - -Duration Time::operator-(const Time &rhs) const { - // Note: Considers wrap around as a continuation of time, e.g., - // (0,0) - (0xFFFFFFFF, 0) = (1, 0) - Duration d; - d.sec = sec > rhs.sec ? sec - rhs.sec : -(rhs.sec - sec); - d.nsec = nsec > rhs.nsec ? nsec - rhs.nsec : -(rhs.nsec - nsec); - normalizeSecNSecSigned(d.sec, d.nsec); - return d; -} -} diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxAdd.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxAdd.h deleted file mode 100644 index 90ec122d..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxAdd.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_DemuxAdd_h -#define _ROS_SERVICE_DemuxAdd_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char DEMUXADD[] = "topic_tools/DemuxAdd"; - - class DemuxAddRequest : public ros::Msg - { - public: - typedef const char* _topic_type; - _topic_type topic; - - DemuxAddRequest(): - topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_topic = strlen(this->topic); - varToArr(outbuffer + offset, length_topic); - offset += 4; - memcpy(outbuffer + offset, this->topic, length_topic); - offset += length_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_topic; - arrToVar(length_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic-1]=0; - this->topic = (char *)(inbuffer + offset-1); - offset += length_topic; - return offset; - } - - virtual const char * getType() override { return DEMUXADD; }; - virtual const char * getMD5() override { return "d8f94bae31b356b24d0427f80426d0c3"; }; - - }; - - class DemuxAddResponse : public ros::Msg - { - public: - - DemuxAddResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return DEMUXADD; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class DemuxAdd { - public: - typedef DemuxAddRequest Request; - typedef DemuxAddResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxDelete.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxDelete.h deleted file mode 100644 index 50e95791..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxDelete.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_DemuxDelete_h -#define _ROS_SERVICE_DemuxDelete_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char DEMUXDELETE[] = "topic_tools/DemuxDelete"; - - class DemuxDeleteRequest : public ros::Msg - { - public: - typedef const char* _topic_type; - _topic_type topic; - - DemuxDeleteRequest(): - topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_topic = strlen(this->topic); - varToArr(outbuffer + offset, length_topic); - offset += 4; - memcpy(outbuffer + offset, this->topic, length_topic); - offset += length_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_topic; - arrToVar(length_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic-1]=0; - this->topic = (char *)(inbuffer + offset-1); - offset += length_topic; - return offset; - } - - virtual const char * getType() override { return DEMUXDELETE; }; - virtual const char * getMD5() override { return "d8f94bae31b356b24d0427f80426d0c3"; }; - - }; - - class DemuxDeleteResponse : public ros::Msg - { - public: - - DemuxDeleteResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return DEMUXDELETE; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class DemuxDelete { - public: - typedef DemuxDeleteRequest Request; - typedef DemuxDeleteResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxList.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxList.h deleted file mode 100644 index 82b00293..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxList.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef _ROS_SERVICE_DemuxList_h -#define _ROS_SERVICE_DemuxList_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char DEMUXLIST[] = "topic_tools/DemuxList"; - - class DemuxListRequest : public ros::Msg - { - public: - - DemuxListRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return DEMUXLIST; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class DemuxListResponse : public ros::Msg - { - public: - uint32_t topics_length; - typedef char* _topics_type; - _topics_type st_topics; - _topics_type * topics; - - DemuxListResponse(): - topics_length(0), st_topics(), topics(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->topics_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->topics_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->topics_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->topics_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->topics_length); - for( uint32_t i = 0; i < topics_length; i++){ - uint32_t length_topicsi = strlen(this->topics[i]); - varToArr(outbuffer + offset, length_topicsi); - offset += 4; - memcpy(outbuffer + offset, this->topics[i], length_topicsi); - offset += length_topicsi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t topics_lengthT = ((uint32_t) (*(inbuffer + offset))); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->topics_length); - if(topics_lengthT > topics_length) - this->topics = (char**)realloc(this->topics, topics_lengthT * sizeof(char*)); - topics_length = topics_lengthT; - for( uint32_t i = 0; i < topics_length; i++){ - uint32_t length_st_topics; - arrToVar(length_st_topics, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_topics; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_topics-1]=0; - this->st_topics = (char *)(inbuffer + offset-1); - offset += length_st_topics; - memcpy( &(this->topics[i]), &(this->st_topics), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return DEMUXLIST; }; - virtual const char * getMD5() override { return "b0eef9a05d4e829092fc2f2c3c2aad3d"; }; - - }; - - class DemuxList { - public: - typedef DemuxListRequest Request; - typedef DemuxListResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxSelect.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxSelect.h deleted file mode 100644 index 9d4fbd7a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/DemuxSelect.h +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef _ROS_SERVICE_DemuxSelect_h -#define _ROS_SERVICE_DemuxSelect_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char DEMUXSELECT[] = "topic_tools/DemuxSelect"; - - class DemuxSelectRequest : public ros::Msg - { - public: - typedef const char* _topic_type; - _topic_type topic; - - DemuxSelectRequest(): - topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_topic = strlen(this->topic); - varToArr(outbuffer + offset, length_topic); - offset += 4; - memcpy(outbuffer + offset, this->topic, length_topic); - offset += length_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_topic; - arrToVar(length_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic-1]=0; - this->topic = (char *)(inbuffer + offset-1); - offset += length_topic; - return offset; - } - - virtual const char * getType() override { return DEMUXSELECT; }; - virtual const char * getMD5() override { return "d8f94bae31b356b24d0427f80426d0c3"; }; - - }; - - class DemuxSelectResponse : public ros::Msg - { - public: - typedef const char* _prev_topic_type; - _prev_topic_type prev_topic; - - DemuxSelectResponse(): - prev_topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_prev_topic = strlen(this->prev_topic); - varToArr(outbuffer + offset, length_prev_topic); - offset += 4; - memcpy(outbuffer + offset, this->prev_topic, length_prev_topic); - offset += length_prev_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_prev_topic; - arrToVar(length_prev_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_prev_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_prev_topic-1]=0; - this->prev_topic = (char *)(inbuffer + offset-1); - offset += length_prev_topic; - return offset; - } - - virtual const char * getType() override { return DEMUXSELECT; }; - virtual const char * getMD5() override { return "3db0a473debdbafea387c9e49358c320"; }; - - }; - - class DemuxSelect { - public: - typedef DemuxSelectRequest Request; - typedef DemuxSelectResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxAdd.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxAdd.h deleted file mode 100644 index b629cd6c..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxAdd.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_MuxAdd_h -#define _ROS_SERVICE_MuxAdd_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char MUXADD[] = "topic_tools/MuxAdd"; - - class MuxAddRequest : public ros::Msg - { - public: - typedef const char* _topic_type; - _topic_type topic; - - MuxAddRequest(): - topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_topic = strlen(this->topic); - varToArr(outbuffer + offset, length_topic); - offset += 4; - memcpy(outbuffer + offset, this->topic, length_topic); - offset += length_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_topic; - arrToVar(length_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic-1]=0; - this->topic = (char *)(inbuffer + offset-1); - offset += length_topic; - return offset; - } - - virtual const char * getType() override { return MUXADD; }; - virtual const char * getMD5() override { return "d8f94bae31b356b24d0427f80426d0c3"; }; - - }; - - class MuxAddResponse : public ros::Msg - { - public: - - MuxAddResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return MUXADD; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class MuxAdd { - public: - typedef MuxAddRequest Request; - typedef MuxAddResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxDelete.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxDelete.h deleted file mode 100644 index 2194a565..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxDelete.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_MuxDelete_h -#define _ROS_SERVICE_MuxDelete_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char MUXDELETE[] = "topic_tools/MuxDelete"; - - class MuxDeleteRequest : public ros::Msg - { - public: - typedef const char* _topic_type; - _topic_type topic; - - MuxDeleteRequest(): - topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_topic = strlen(this->topic); - varToArr(outbuffer + offset, length_topic); - offset += 4; - memcpy(outbuffer + offset, this->topic, length_topic); - offset += length_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_topic; - arrToVar(length_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic-1]=0; - this->topic = (char *)(inbuffer + offset-1); - offset += length_topic; - return offset; - } - - virtual const char * getType() override { return MUXDELETE; }; - virtual const char * getMD5() override { return "d8f94bae31b356b24d0427f80426d0c3"; }; - - }; - - class MuxDeleteResponse : public ros::Msg - { - public: - - MuxDeleteResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return MUXDELETE; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class MuxDelete { - public: - typedef MuxDeleteRequest Request; - typedef MuxDeleteResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxList.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxList.h deleted file mode 100644 index 20af44f3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxList.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef _ROS_SERVICE_MuxList_h -#define _ROS_SERVICE_MuxList_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char MUXLIST[] = "topic_tools/MuxList"; - - class MuxListRequest : public ros::Msg - { - public: - - MuxListRequest() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return MUXLIST; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class MuxListResponse : public ros::Msg - { - public: - uint32_t topics_length; - typedef char* _topics_type; - _topics_type st_topics; - _topics_type * topics; - - MuxListResponse(): - topics_length(0), st_topics(), topics(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->topics_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->topics_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->topics_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->topics_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->topics_length); - for( uint32_t i = 0; i < topics_length; i++){ - uint32_t length_topicsi = strlen(this->topics[i]); - varToArr(outbuffer + offset, length_topicsi); - offset += 4; - memcpy(outbuffer + offset, this->topics[i], length_topicsi); - offset += length_topicsi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t topics_lengthT = ((uint32_t) (*(inbuffer + offset))); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - topics_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->topics_length); - if(topics_lengthT > topics_length) - this->topics = (char**)realloc(this->topics, topics_lengthT * sizeof(char*)); - topics_length = topics_lengthT; - for( uint32_t i = 0; i < topics_length; i++){ - uint32_t length_st_topics; - arrToVar(length_st_topics, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_topics; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_topics-1]=0; - this->st_topics = (char *)(inbuffer + offset-1); - offset += length_st_topics; - memcpy( &(this->topics[i]), &(this->st_topics), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return MUXLIST; }; - virtual const char * getMD5() override { return "b0eef9a05d4e829092fc2f2c3c2aad3d"; }; - - }; - - class MuxList { - public: - typedef MuxListRequest Request; - typedef MuxListResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxSelect.h b/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxSelect.h deleted file mode 100644 index 911741a6..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/topic_tools/MuxSelect.h +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef _ROS_SERVICE_MuxSelect_h -#define _ROS_SERVICE_MuxSelect_h -#include -#include -#include -#include "ros/msg.h" - -namespace topic_tools -{ - -static const char MUXSELECT[] = "topic_tools/MuxSelect"; - - class MuxSelectRequest : public ros::Msg - { - public: - typedef const char* _topic_type; - _topic_type topic; - - MuxSelectRequest(): - topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_topic = strlen(this->topic); - varToArr(outbuffer + offset, length_topic); - offset += 4; - memcpy(outbuffer + offset, this->topic, length_topic); - offset += length_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_topic; - arrToVar(length_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_topic-1]=0; - this->topic = (char *)(inbuffer + offset-1); - offset += length_topic; - return offset; - } - - virtual const char * getType() override { return MUXSELECT; }; - virtual const char * getMD5() override { return "d8f94bae31b356b24d0427f80426d0c3"; }; - - }; - - class MuxSelectResponse : public ros::Msg - { - public: - typedef const char* _prev_topic_type; - _prev_topic_type prev_topic; - - MuxSelectResponse(): - prev_topic("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_prev_topic = strlen(this->prev_topic); - varToArr(outbuffer + offset, length_prev_topic); - offset += 4; - memcpy(outbuffer + offset, this->prev_topic, length_prev_topic); - offset += length_prev_topic; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_prev_topic; - arrToVar(length_prev_topic, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_prev_topic; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_prev_topic-1]=0; - this->prev_topic = (char *)(inbuffer + offset-1); - offset += length_prev_topic; - return offset; - } - - virtual const char * getType() override { return MUXSELECT; }; - virtual const char * getMD5() override { return "3db0a473debdbafea387c9e49358c320"; }; - - }; - - class MuxSelect { - public: - typedef MuxSelectRequest Request; - typedef MuxSelectResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectory.h b/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectory.h deleted file mode 100644 index 6ad0590b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectory.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef _ROS_trajectory_msgs_JointTrajectory_h -#define _ROS_trajectory_msgs_JointTrajectory_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "trajectory_msgs/JointTrajectoryPoint.h" - -namespace trajectory_msgs -{ - - class JointTrajectory : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - uint32_t points_length; - typedef trajectory_msgs::JointTrajectoryPoint _points_type; - _points_type st_points; - _points_type * points; - - JointTrajectory(): - header(), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - points_length(0), st_points(), points(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (trajectory_msgs::JointTrajectoryPoint*)realloc(this->points, points_lengthT * sizeof(trajectory_msgs::JointTrajectoryPoint)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(trajectory_msgs::JointTrajectoryPoint)); - } - return offset; - } - - virtual const char * getType() override { return "trajectory_msgs/JointTrajectory"; }; - virtual const char * getMD5() override { return "65b4f94a94d1ed67169da35a02f33d3f"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectoryPoint.h b/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectoryPoint.h deleted file mode 100644 index 8fac9aa3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/JointTrajectoryPoint.h +++ /dev/null @@ -1,270 +0,0 @@ -#ifndef _ROS_trajectory_msgs_JointTrajectoryPoint_h -#define _ROS_trajectory_msgs_JointTrajectoryPoint_h - -#include -#include -#include -#include "ros/msg.h" -#include "ros/duration.h" - -namespace trajectory_msgs -{ - - class JointTrajectoryPoint : public ros::Msg - { - public: - uint32_t positions_length; - typedef double _positions_type; - _positions_type st_positions; - _positions_type * positions; - uint32_t velocities_length; - typedef double _velocities_type; - _velocities_type st_velocities; - _velocities_type * velocities; - uint32_t accelerations_length; - typedef double _accelerations_type; - _accelerations_type st_accelerations; - _accelerations_type * accelerations; - uint32_t effort_length; - typedef double _effort_type; - _effort_type st_effort; - _effort_type * effort; - typedef ros::Duration _time_from_start_type; - _time_from_start_type time_from_start; - - JointTrajectoryPoint(): - positions_length(0), st_positions(), positions(nullptr), - velocities_length(0), st_velocities(), velocities(nullptr), - accelerations_length(0), st_accelerations(), accelerations(nullptr), - effort_length(0), st_effort(), effort(nullptr), - time_from_start() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->positions_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->positions_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->positions_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->positions_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->positions_length); - for( uint32_t i = 0; i < positions_length; i++){ - union { - double real; - uint64_t base; - } u_positionsi; - u_positionsi.real = this->positions[i]; - *(outbuffer + offset + 0) = (u_positionsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_positionsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_positionsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_positionsi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_positionsi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_positionsi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_positionsi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_positionsi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->positions[i]); - } - *(outbuffer + offset + 0) = (this->velocities_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->velocities_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->velocities_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->velocities_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->velocities_length); - for( uint32_t i = 0; i < velocities_length; i++){ - union { - double real; - uint64_t base; - } u_velocitiesi; - u_velocitiesi.real = this->velocities[i]; - *(outbuffer + offset + 0) = (u_velocitiesi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_velocitiesi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_velocitiesi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_velocitiesi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_velocitiesi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_velocitiesi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_velocitiesi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_velocitiesi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->velocities[i]); - } - *(outbuffer + offset + 0) = (this->accelerations_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->accelerations_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->accelerations_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->accelerations_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->accelerations_length); - for( uint32_t i = 0; i < accelerations_length; i++){ - union { - double real; - uint64_t base; - } u_accelerationsi; - u_accelerationsi.real = this->accelerations[i]; - *(outbuffer + offset + 0) = (u_accelerationsi.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_accelerationsi.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_accelerationsi.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_accelerationsi.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_accelerationsi.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_accelerationsi.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_accelerationsi.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_accelerationsi.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->accelerations[i]); - } - *(outbuffer + offset + 0) = (this->effort_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->effort_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->effort_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->effort_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->effort_length); - for( uint32_t i = 0; i < effort_length; i++){ - union { - double real; - uint64_t base; - } u_efforti; - u_efforti.real = this->effort[i]; - *(outbuffer + offset + 0) = (u_efforti.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_efforti.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_efforti.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_efforti.base >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (u_efforti.base >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (u_efforti.base >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (u_efforti.base >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (u_efforti.base >> (8 * 7)) & 0xFF; - offset += sizeof(this->effort[i]); - } - *(outbuffer + offset + 0) = (this->time_from_start.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_from_start.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_from_start.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_from_start.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_from_start.sec); - *(outbuffer + offset + 0) = (this->time_from_start.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_from_start.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_from_start.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_from_start.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_from_start.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t positions_lengthT = ((uint32_t) (*(inbuffer + offset))); - positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - positions_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->positions_length); - if(positions_lengthT > positions_length) - this->positions = (double*)realloc(this->positions, positions_lengthT * sizeof(double)); - positions_length = positions_lengthT; - for( uint32_t i = 0; i < positions_length; i++){ - union { - double real; - uint64_t base; - } u_st_positions; - u_st_positions.base = 0; - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_positions.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_positions = u_st_positions.real; - offset += sizeof(this->st_positions); - memcpy( &(this->positions[i]), &(this->st_positions), sizeof(double)); - } - uint32_t velocities_lengthT = ((uint32_t) (*(inbuffer + offset))); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->velocities_length); - if(velocities_lengthT > velocities_length) - this->velocities = (double*)realloc(this->velocities, velocities_lengthT * sizeof(double)); - velocities_length = velocities_lengthT; - for( uint32_t i = 0; i < velocities_length; i++){ - union { - double real; - uint64_t base; - } u_st_velocities; - u_st_velocities.base = 0; - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_velocities.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_velocities = u_st_velocities.real; - offset += sizeof(this->st_velocities); - memcpy( &(this->velocities[i]), &(this->st_velocities), sizeof(double)); - } - uint32_t accelerations_lengthT = ((uint32_t) (*(inbuffer + offset))); - accelerations_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - accelerations_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - accelerations_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->accelerations_length); - if(accelerations_lengthT > accelerations_length) - this->accelerations = (double*)realloc(this->accelerations, accelerations_lengthT * sizeof(double)); - accelerations_length = accelerations_lengthT; - for( uint32_t i = 0; i < accelerations_length; i++){ - union { - double real; - uint64_t base; - } u_st_accelerations; - u_st_accelerations.base = 0; - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_accelerations.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_accelerations = u_st_accelerations.real; - offset += sizeof(this->st_accelerations); - memcpy( &(this->accelerations[i]), &(this->st_accelerations), sizeof(double)); - } - uint32_t effort_lengthT = ((uint32_t) (*(inbuffer + offset))); - effort_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - effort_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - effort_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->effort_length); - if(effort_lengthT > effort_length) - this->effort = (double*)realloc(this->effort, effort_lengthT * sizeof(double)); - effort_length = effort_lengthT; - for( uint32_t i = 0; i < effort_length; i++){ - union { - double real; - uint64_t base; - } u_st_effort; - u_st_effort.base = 0; - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - u_st_effort.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - this->st_effort = u_st_effort.real; - offset += sizeof(this->st_effort); - memcpy( &(this->effort[i]), &(this->st_effort), sizeof(double)); - } - this->time_from_start.sec = ((uint32_t) (*(inbuffer + offset))); - this->time_from_start.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_from_start.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_from_start.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_from_start.sec); - this->time_from_start.nsec = ((uint32_t) (*(inbuffer + offset))); - this->time_from_start.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_from_start.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_from_start.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_from_start.nsec); - return offset; - } - - virtual const char * getType() override { return "trajectory_msgs/JointTrajectoryPoint"; }; - virtual const char * getMD5() override { return "f3cd1e1c4d320c79d6985c904ae5dcd3"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectory.h b/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectory.h deleted file mode 100644 index a18e97a8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectory.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef _ROS_trajectory_msgs_MultiDOFJointTrajectory_h -#define _ROS_trajectory_msgs_MultiDOFJointTrajectory_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "trajectory_msgs/MultiDOFJointTrajectoryPoint.h" - -namespace trajectory_msgs -{ - - class MultiDOFJointTrajectory : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - uint32_t joint_names_length; - typedef char* _joint_names_type; - _joint_names_type st_joint_names; - _joint_names_type * joint_names; - uint32_t points_length; - typedef trajectory_msgs::MultiDOFJointTrajectoryPoint _points_type; - _points_type st_points; - _points_type * points; - - MultiDOFJointTrajectory(): - header(), - joint_names_length(0), st_joint_names(), joint_names(nullptr), - points_length(0), st_points(), points(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->joint_names_length); - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_joint_namesi = strlen(this->joint_names[i]); - varToArr(outbuffer + offset, length_joint_namesi); - offset += 4; - memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); - offset += length_joint_namesi; - } - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->joint_names_length); - if(joint_names_lengthT > joint_names_length) - this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); - joint_names_length = joint_names_lengthT; - for( uint32_t i = 0; i < joint_names_length; i++){ - uint32_t length_st_joint_names; - arrToVar(length_st_joint_names, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_joint_names-1]=0; - this->st_joint_names = (char *)(inbuffer + offset-1); - offset += length_st_joint_names; - memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); - } - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (trajectory_msgs::MultiDOFJointTrajectoryPoint*)realloc(this->points, points_lengthT * sizeof(trajectory_msgs::MultiDOFJointTrajectoryPoint)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(trajectory_msgs::MultiDOFJointTrajectoryPoint)); - } - return offset; - } - - virtual const char * getType() override { return "trajectory_msgs/MultiDOFJointTrajectory"; }; - virtual const char * getMD5() override { return "ef145a45a5f47b77b7f5cdde4b16c942"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectoryPoint.h b/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectoryPoint.h deleted file mode 100644 index 8c99683f..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/trajectory_msgs/MultiDOFJointTrajectoryPoint.h +++ /dev/null @@ -1,139 +0,0 @@ -#ifndef _ROS_trajectory_msgs_MultiDOFJointTrajectoryPoint_h -#define _ROS_trajectory_msgs_MultiDOFJointTrajectoryPoint_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Transform.h" -#include "geometry_msgs/Twist.h" -#include "ros/duration.h" - -namespace trajectory_msgs -{ - - class MultiDOFJointTrajectoryPoint : public ros::Msg - { - public: - uint32_t transforms_length; - typedef geometry_msgs::Transform _transforms_type; - _transforms_type st_transforms; - _transforms_type * transforms; - uint32_t velocities_length; - typedef geometry_msgs::Twist _velocities_type; - _velocities_type st_velocities; - _velocities_type * velocities; - uint32_t accelerations_length; - typedef geometry_msgs::Twist _accelerations_type; - _accelerations_type st_accelerations; - _accelerations_type * accelerations; - typedef ros::Duration _time_from_start_type; - _time_from_start_type time_from_start; - - MultiDOFJointTrajectoryPoint(): - transforms_length(0), st_transforms(), transforms(nullptr), - velocities_length(0), st_velocities(), velocities(nullptr), - accelerations_length(0), st_accelerations(), accelerations(nullptr), - time_from_start() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->transforms_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->transforms_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->transforms_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->transforms_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->transforms_length); - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->transforms[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->velocities_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->velocities_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->velocities_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->velocities_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->velocities_length); - for( uint32_t i = 0; i < velocities_length; i++){ - offset += this->velocities[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->accelerations_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->accelerations_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->accelerations_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->accelerations_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->accelerations_length); - for( uint32_t i = 0; i < accelerations_length; i++){ - offset += this->accelerations[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->time_from_start.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_from_start.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_from_start.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_from_start.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_from_start.sec); - *(outbuffer + offset + 0) = (this->time_from_start.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->time_from_start.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->time_from_start.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->time_from_start.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->time_from_start.nsec); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t transforms_lengthT = ((uint32_t) (*(inbuffer + offset))); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->transforms_length); - if(transforms_lengthT > transforms_length) - this->transforms = (geometry_msgs::Transform*)realloc(this->transforms, transforms_lengthT * sizeof(geometry_msgs::Transform)); - transforms_length = transforms_lengthT; - for( uint32_t i = 0; i < transforms_length; i++){ - offset += this->st_transforms.deserialize(inbuffer + offset); - memcpy( &(this->transforms[i]), &(this->st_transforms), sizeof(geometry_msgs::Transform)); - } - uint32_t velocities_lengthT = ((uint32_t) (*(inbuffer + offset))); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - velocities_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->velocities_length); - if(velocities_lengthT > velocities_length) - this->velocities = (geometry_msgs::Twist*)realloc(this->velocities, velocities_lengthT * sizeof(geometry_msgs::Twist)); - velocities_length = velocities_lengthT; - for( uint32_t i = 0; i < velocities_length; i++){ - offset += this->st_velocities.deserialize(inbuffer + offset); - memcpy( &(this->velocities[i]), &(this->st_velocities), sizeof(geometry_msgs::Twist)); - } - uint32_t accelerations_lengthT = ((uint32_t) (*(inbuffer + offset))); - accelerations_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - accelerations_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - accelerations_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->accelerations_length); - if(accelerations_lengthT > accelerations_length) - this->accelerations = (geometry_msgs::Twist*)realloc(this->accelerations, accelerations_lengthT * sizeof(geometry_msgs::Twist)); - accelerations_length = accelerations_lengthT; - for( uint32_t i = 0; i < accelerations_length; i++){ - offset += this->st_accelerations.deserialize(inbuffer + offset); - memcpy( &(this->accelerations[i]), &(this->st_accelerations), sizeof(geometry_msgs::Twist)); - } - this->time_from_start.sec = ((uint32_t) (*(inbuffer + offset))); - this->time_from_start.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_from_start.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_from_start.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_from_start.sec); - this->time_from_start.nsec = ((uint32_t) (*(inbuffer + offset))); - this->time_from_start.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->time_from_start.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->time_from_start.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->time_from_start.nsec); - return offset; - } - - virtual const char * getType() override { return "trajectory_msgs/MultiDOFJointTrajectoryPoint"; }; - virtual const char * getMD5() override { return "3ebe08d1abd5b65862d50e09430db776"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeAction.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeAction.h deleted file mode 100644 index 4239af15..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeAction.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_turtle_actionlib_ShapeAction_h -#define _ROS_turtle_actionlib_ShapeAction_h - -#include -#include -#include -#include "ros/msg.h" -#include "turtle_actionlib/ShapeActionGoal.h" -#include "turtle_actionlib/ShapeActionResult.h" -#include "turtle_actionlib/ShapeActionFeedback.h" - -namespace turtle_actionlib -{ - - class ShapeAction : public ros::Msg - { - public: - typedef turtle_actionlib::ShapeActionGoal _action_goal_type; - _action_goal_type action_goal; - typedef turtle_actionlib::ShapeActionResult _action_result_type; - _action_result_type action_result; - typedef turtle_actionlib::ShapeActionFeedback _action_feedback_type; - _action_feedback_type action_feedback; - - ShapeAction(): - action_goal(), - action_result(), - action_feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->action_goal.serialize(outbuffer + offset); - offset += this->action_result.serialize(outbuffer + offset); - offset += this->action_feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->action_goal.deserialize(inbuffer + offset); - offset += this->action_result.deserialize(inbuffer + offset); - offset += this->action_feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/ShapeAction"; }; - virtual const char * getMD5() override { return "d73b17d6237a925511f5d7727a1dc903"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionFeedback.h deleted file mode 100644 index 8f1122dc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionFeedback.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_turtle_actionlib_ShapeActionFeedback_h -#define _ROS_turtle_actionlib_ShapeActionFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "turtle_actionlib/ShapeFeedback.h" - -namespace turtle_actionlib -{ - - class ShapeActionFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef turtle_actionlib::ShapeFeedback _feedback_type; - _feedback_type feedback; - - ShapeActionFeedback(): - header(), - status(), - feedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->feedback.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->feedback.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/ShapeActionFeedback"; }; - virtual const char * getMD5() override { return "aae20e09065c3809e8a8e87c4c8953fd"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionGoal.h deleted file mode 100644 index bd0d19cc..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionGoal.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_turtle_actionlib_ShapeActionGoal_h -#define _ROS_turtle_actionlib_ShapeActionGoal_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalID.h" -#include "turtle_actionlib/ShapeGoal.h" - -namespace turtle_actionlib -{ - - class ShapeActionGoal : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalID _goal_id_type; - _goal_id_type goal_id; - typedef turtle_actionlib::ShapeGoal _goal_type; - _goal_type goal; - - ShapeActionGoal(): - header(), - goal_id(), - goal() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->goal_id.serialize(outbuffer + offset); - offset += this->goal.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->goal_id.deserialize(inbuffer + offset); - offset += this->goal.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/ShapeActionGoal"; }; - virtual const char * getMD5() override { return "dbfccd187f2ec9c593916447ffd6cc77"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionResult.h deleted file mode 100644 index a0079ae9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeActionResult.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef _ROS_turtle_actionlib_ShapeActionResult_h -#define _ROS_turtle_actionlib_ShapeActionResult_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "actionlib_msgs/GoalStatus.h" -#include "turtle_actionlib/ShapeResult.h" - -namespace turtle_actionlib -{ - - class ShapeActionResult : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef actionlib_msgs::GoalStatus _status_type; - _status_type status; - typedef turtle_actionlib::ShapeResult _result_type; - _result_type result; - - ShapeActionResult(): - header(), - status(), - result() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->status.serialize(outbuffer + offset); - offset += this->result.serialize(outbuffer + offset); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->status.deserialize(inbuffer + offset); - offset += this->result.deserialize(inbuffer + offset); - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/ShapeActionResult"; }; - virtual const char * getMD5() override { return "c8d13d5d140f1047a2e4d3bf5c045822"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeFeedback.h deleted file mode 100644 index 0f86541e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeFeedback.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ROS_turtle_actionlib_ShapeFeedback_h -#define _ROS_turtle_actionlib_ShapeFeedback_h - -#include -#include -#include -#include "ros/msg.h" - -namespace turtle_actionlib -{ - - class ShapeFeedback : public ros::Msg - { - public: - - ShapeFeedback() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/ShapeFeedback"; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeGoal.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeGoal.h deleted file mode 100644 index b40fd685..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeGoal.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef _ROS_turtle_actionlib_ShapeGoal_h -#define _ROS_turtle_actionlib_ShapeGoal_h - -#include -#include -#include -#include "ros/msg.h" - -namespace turtle_actionlib -{ - - class ShapeGoal : public ros::Msg - { - public: - typedef int32_t _edges_type; - _edges_type edges; - typedef float _radius_type; - _radius_type radius; - - ShapeGoal(): - edges(0), - radius(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_edges; - u_edges.real = this->edges; - *(outbuffer + offset + 0) = (u_edges.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_edges.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_edges.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_edges.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->edges); - union { - float real; - uint32_t base; - } u_radius; - u_radius.real = this->radius; - *(outbuffer + offset + 0) = (u_radius.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_radius.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_radius.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_radius.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->radius); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - int32_t real; - uint32_t base; - } u_edges; - u_edges.base = 0; - u_edges.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_edges.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_edges.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_edges.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->edges = u_edges.real; - offset += sizeof(this->edges); - union { - float real; - uint32_t base; - } u_radius; - u_radius.base = 0; - u_radius.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_radius.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_radius.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_radius.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->radius = u_radius.real; - offset += sizeof(this->radius); - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/ShapeGoal"; }; - virtual const char * getMD5() override { return "3b9202ab7292cebe5a95ab2bf6b9c091"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeResult.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeResult.h deleted file mode 100644 index deddd619..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/ShapeResult.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef _ROS_turtle_actionlib_ShapeResult_h -#define _ROS_turtle_actionlib_ShapeResult_h - -#include -#include -#include -#include "ros/msg.h" - -namespace turtle_actionlib -{ - - class ShapeResult : public ros::Msg - { - public: - typedef float _interior_angle_type; - _interior_angle_type interior_angle; - typedef float _apothem_type; - _apothem_type apothem; - - ShapeResult(): - interior_angle(0), - apothem(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_interior_angle; - u_interior_angle.real = this->interior_angle; - *(outbuffer + offset + 0) = (u_interior_angle.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_interior_angle.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_interior_angle.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_interior_angle.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->interior_angle); - union { - float real; - uint32_t base; - } u_apothem; - u_apothem.real = this->apothem; - *(outbuffer + offset + 0) = (u_apothem.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_apothem.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_apothem.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_apothem.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->apothem); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_interior_angle; - u_interior_angle.base = 0; - u_interior_angle.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_interior_angle.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_interior_angle.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_interior_angle.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->interior_angle = u_interior_angle.real; - offset += sizeof(this->interior_angle); - union { - float real; - uint32_t base; - } u_apothem; - u_apothem.base = 0; - u_apothem.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_apothem.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_apothem.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_apothem.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->apothem = u_apothem.real; - offset += sizeof(this->apothem); - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/ShapeResult"; }; - virtual const char * getMD5() override { return "b06c6e2225f820dbc644270387cd1a7c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/Velocity.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/Velocity.h deleted file mode 100644 index 1e62c28b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtle_actionlib/Velocity.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef _ROS_turtle_actionlib_Velocity_h -#define _ROS_turtle_actionlib_Velocity_h - -#include -#include -#include -#include "ros/msg.h" - -namespace turtle_actionlib -{ - - class Velocity : public ros::Msg - { - public: - typedef float _linear_type; - _linear_type linear; - typedef float _angular_type; - _angular_type angular; - - Velocity(): - linear(0), - angular(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_linear; - u_linear.real = this->linear; - *(outbuffer + offset + 0) = (u_linear.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_linear.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_linear.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_linear.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->linear); - union { - float real; - uint32_t base; - } u_angular; - u_angular.real = this->angular; - *(outbuffer + offset + 0) = (u_angular.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angular.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angular.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angular.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angular); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_linear; - u_linear.base = 0; - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->linear = u_linear.real; - offset += sizeof(this->linear); - union { - float real; - uint32_t base; - } u_angular; - u_angular.base = 0; - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angular = u_angular.real; - offset += sizeof(this->angular); - return offset; - } - - virtual const char * getType() override { return "turtle_actionlib/Velocity"; }; - virtual const char * getMD5() override { return "9d5c2dcd348ac8f76ce2a4307bd63a13"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Color.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Color.h deleted file mode 100644 index 1e26d3aa..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Color.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef _ROS_turtlesim_Color_h -#define _ROS_turtlesim_Color_h - -#include -#include -#include -#include "ros/msg.h" - -namespace turtlesim -{ - - class Color : public ros::Msg - { - public: - typedef uint8_t _r_type; - _r_type r; - typedef uint8_t _g_type; - _g_type g; - typedef uint8_t _b_type; - _b_type b; - - Color(): - r(0), - g(0), - b(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->r >> (8 * 0)) & 0xFF; - offset += sizeof(this->r); - *(outbuffer + offset + 0) = (this->g >> (8 * 0)) & 0xFF; - offset += sizeof(this->g); - *(outbuffer + offset + 0) = (this->b >> (8 * 0)) & 0xFF; - offset += sizeof(this->b); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->r = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->r); - this->g = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->g); - this->b = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->b); - return offset; - } - - virtual const char * getType() override { return "turtlesim/Color"; }; - virtual const char * getMD5() override { return "353891e354491c51aabe32df673fb446"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Kill.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Kill.h deleted file mode 100644 index fd98abe2..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Kill.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef _ROS_SERVICE_Kill_h -#define _ROS_SERVICE_Kill_h -#include -#include -#include -#include "ros/msg.h" - -namespace turtlesim -{ - -static const char KILL[] = "turtlesim/Kill"; - - class KillRequest : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - - KillRequest(): - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return KILL; }; - virtual const char * getMD5() override { return "c1f3d28f1b044c871e6eff2e9fc3c667"; }; - - }; - - class KillResponse : public ros::Msg - { - public: - - KillResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return KILL; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class Kill { - public: - typedef KillRequest Request; - typedef KillResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Pose.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Pose.h deleted file mode 100644 index 97fd863e..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Pose.h +++ /dev/null @@ -1,158 +0,0 @@ -#ifndef _ROS_turtlesim_Pose_h -#define _ROS_turtlesim_Pose_h - -#include -#include -#include -#include "ros/msg.h" - -namespace turtlesim -{ - - class Pose : public ros::Msg - { - public: - typedef float _x_type; - _x_type x; - typedef float _y_type; - _y_type y; - typedef float _theta_type; - _theta_type theta; - typedef float _linear_velocity_type; - _linear_velocity_type linear_velocity; - typedef float _angular_velocity_type; - _angular_velocity_type angular_velocity; - - Pose(): - x(0), - y(0), - theta(0), - linear_velocity(0), - angular_velocity(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_theta; - u_theta.real = this->theta; - *(outbuffer + offset + 0) = (u_theta.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_theta.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_theta.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_theta.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->theta); - union { - float real; - uint32_t base; - } u_linear_velocity; - u_linear_velocity.real = this->linear_velocity; - *(outbuffer + offset + 0) = (u_linear_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_linear_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_linear_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_linear_velocity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->linear_velocity); - union { - float real; - uint32_t base; - } u_angular_velocity; - u_angular_velocity.real = this->angular_velocity; - *(outbuffer + offset + 0) = (u_angular_velocity.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angular_velocity.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angular_velocity.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angular_velocity.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angular_velocity); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->x = u_x.real; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->y = u_y.real; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_theta; - u_theta.base = 0; - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->theta = u_theta.real; - offset += sizeof(this->theta); - union { - float real; - uint32_t base; - } u_linear_velocity; - u_linear_velocity.base = 0; - u_linear_velocity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_linear_velocity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_linear_velocity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_linear_velocity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->linear_velocity = u_linear_velocity.real; - offset += sizeof(this->linear_velocity); - union { - float real; - uint32_t base; - } u_angular_velocity; - u_angular_velocity.base = 0; - u_angular_velocity.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angular_velocity.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angular_velocity.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angular_velocity.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angular_velocity = u_angular_velocity.real; - offset += sizeof(this->angular_velocity); - return offset; - } - - virtual const char * getType() override { return "turtlesim/Pose"; }; - virtual const char * getMD5() override { return "863b248d5016ca62ea2e895ae5265cf9"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/SetPen.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/SetPen.h deleted file mode 100644 index 013a8f05..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/SetPen.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef _ROS_SERVICE_SetPen_h -#define _ROS_SERVICE_SetPen_h -#include -#include -#include -#include "ros/msg.h" - -namespace turtlesim -{ - -static const char SETPEN[] = "turtlesim/SetPen"; - - class SetPenRequest : public ros::Msg - { - public: - typedef uint8_t _r_type; - _r_type r; - typedef uint8_t _g_type; - _g_type g; - typedef uint8_t _b_type; - _b_type b; - typedef uint8_t _width_type; - _width_type width; - typedef uint8_t _off_type; - _off_type off; - - SetPenRequest(): - r(0), - g(0), - b(0), - width(0), - off(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->r >> (8 * 0)) & 0xFF; - offset += sizeof(this->r); - *(outbuffer + offset + 0) = (this->g >> (8 * 0)) & 0xFF; - offset += sizeof(this->g); - *(outbuffer + offset + 0) = (this->b >> (8 * 0)) & 0xFF; - offset += sizeof(this->b); - *(outbuffer + offset + 0) = (this->width >> (8 * 0)) & 0xFF; - offset += sizeof(this->width); - *(outbuffer + offset + 0) = (this->off >> (8 * 0)) & 0xFF; - offset += sizeof(this->off); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->r = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->r); - this->g = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->g); - this->b = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->b); - this->width = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->width); - this->off = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->off); - return offset; - } - - virtual const char * getType() override { return SETPEN; }; - virtual const char * getMD5() override { return "9f452acce566bf0c0954594f69a8e41b"; }; - - }; - - class SetPenResponse : public ros::Msg - { - public: - - SetPenResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return SETPEN; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class SetPen { - public: - typedef SetPenRequest Request; - typedef SetPenResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Spawn.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Spawn.h deleted file mode 100644 index 269097e9..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/Spawn.h +++ /dev/null @@ -1,176 +0,0 @@ -#ifndef _ROS_SERVICE_Spawn_h -#define _ROS_SERVICE_Spawn_h -#include -#include -#include -#include "ros/msg.h" - -namespace turtlesim -{ - -static const char SPAWN[] = "turtlesim/Spawn"; - - class SpawnRequest : public ros::Msg - { - public: - typedef float _x_type; - _x_type x; - typedef float _y_type; - _y_type y; - typedef float _theta_type; - _theta_type theta; - typedef const char* _name_type; - _name_type name; - - SpawnRequest(): - x(0), - y(0), - theta(0), - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_theta; - u_theta.real = this->theta; - *(outbuffer + offset + 0) = (u_theta.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_theta.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_theta.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_theta.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->theta); - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->x = u_x.real; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->y = u_y.real; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_theta; - u_theta.base = 0; - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->theta = u_theta.real; - offset += sizeof(this->theta); - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return SPAWN; }; - virtual const char * getMD5() override { return "57f001c49ab7b11d699f8606c1f4f7ff"; }; - - }; - - class SpawnResponse : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - - SpawnResponse(): - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return SPAWN; }; - virtual const char * getMD5() override { return "c1f3d28f1b044c871e6eff2e9fc3c667"; }; - - }; - - class Spawn { - public: - typedef SpawnRequest Request; - typedef SpawnResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportAbsolute.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportAbsolute.h deleted file mode 100644 index 63699656..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportAbsolute.h +++ /dev/null @@ -1,142 +0,0 @@ -#ifndef _ROS_SERVICE_TeleportAbsolute_h -#define _ROS_SERVICE_TeleportAbsolute_h -#include -#include -#include -#include "ros/msg.h" - -namespace turtlesim -{ - -static const char TELEPORTABSOLUTE[] = "turtlesim/TeleportAbsolute"; - - class TeleportAbsoluteRequest : public ros::Msg - { - public: - typedef float _x_type; - _x_type x; - typedef float _y_type; - _y_type y; - typedef float _theta_type; - _theta_type theta; - - TeleportAbsoluteRequest(): - x(0), - y(0), - theta(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.real = this->x; - *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.real = this->y; - *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_theta; - u_theta.real = this->theta; - *(outbuffer + offset + 0) = (u_theta.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_theta.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_theta.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_theta.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->theta); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_x; - u_x.base = 0; - u_x.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_x.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->x = u_x.real; - offset += sizeof(this->x); - union { - float real; - uint32_t base; - } u_y; - u_y.base = 0; - u_y.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_y.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->y = u_y.real; - offset += sizeof(this->y); - union { - float real; - uint32_t base; - } u_theta; - u_theta.base = 0; - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_theta.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->theta = u_theta.real; - offset += sizeof(this->theta); - return offset; - } - - virtual const char * getType() override { return TELEPORTABSOLUTE; }; - virtual const char * getMD5() override { return "a130bc60ee6513855dc62ea83fcc5b20"; }; - - }; - - class TeleportAbsoluteResponse : public ros::Msg - { - public: - - TeleportAbsoluteResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return TELEPORTABSOLUTE; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class TeleportAbsolute { - public: - typedef TeleportAbsoluteRequest Request; - typedef TeleportAbsoluteResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportRelative.h b/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportRelative.h deleted file mode 100644 index fa6667f3..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/turtlesim/TeleportRelative.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef _ROS_SERVICE_TeleportRelative_h -#define _ROS_SERVICE_TeleportRelative_h -#include -#include -#include -#include "ros/msg.h" - -namespace turtlesim -{ - -static const char TELEPORTRELATIVE[] = "turtlesim/TeleportRelative"; - - class TeleportRelativeRequest : public ros::Msg - { - public: - typedef float _linear_type; - _linear_type linear; - typedef float _angular_type; - _angular_type angular; - - TeleportRelativeRequest(): - linear(0), - angular(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_linear; - u_linear.real = this->linear; - *(outbuffer + offset + 0) = (u_linear.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_linear.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_linear.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_linear.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->linear); - union { - float real; - uint32_t base; - } u_angular; - u_angular.real = this->angular; - *(outbuffer + offset + 0) = (u_angular.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_angular.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_angular.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_angular.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->angular); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - union { - float real; - uint32_t base; - } u_linear; - u_linear.base = 0; - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_linear.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->linear = u_linear.real; - offset += sizeof(this->linear); - union { - float real; - uint32_t base; - } u_angular; - u_angular.base = 0; - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_angular.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->angular = u_angular.real; - offset += sizeof(this->angular); - return offset; - } - - virtual const char * getType() override { return TELEPORTRELATIVE; }; - virtual const char * getMD5() override { return "9d5c2dcd348ac8f76ce2a4307bd63a13"; }; - - }; - - class TeleportRelativeResponse : public ros::Msg - { - public: - - TeleportRelativeResponse() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - return offset; - } - - virtual const char * getType() override { return TELEPORTRELATIVE; }; - virtual const char * getMD5() override { return "d41d8cd98f00b204e9800998ecf8427e"; }; - - }; - - class TeleportRelative { - public: - typedef TeleportRelativeRequest Request; - typedef TeleportRelativeResponse Response; - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/uuid_msgs/UniqueID.h b/firmware/libraries/Rosserial_Arduino_Library/src/uuid_msgs/UniqueID.h deleted file mode 100644 index b35e693a..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/uuid_msgs/UniqueID.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _ROS_uuid_msgs_UniqueID_h -#define _ROS_uuid_msgs_UniqueID_h - -#include -#include -#include -#include "ros/msg.h" - -namespace uuid_msgs -{ - - class UniqueID : public ros::Msg - { - public: - uint8_t uuid[16]; - - UniqueID(): - uuid() - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - for( uint32_t i = 0; i < 16; i++){ - *(outbuffer + offset + 0) = (this->uuid[i] >> (8 * 0)) & 0xFF; - offset += sizeof(this->uuid[i]); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - for( uint32_t i = 0; i < 16; i++){ - this->uuid[i] = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->uuid[i]); - } - return offset; - } - - virtual const char * getType() override { return "uuid_msgs/UniqueID"; }; - virtual const char * getMD5() override { return "fec2a93b6f5367ee8112c9c0b41ff310"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/ImageMarker.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/ImageMarker.h deleted file mode 100644 index db13caf1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/ImageMarker.h +++ /dev/null @@ -1,262 +0,0 @@ -#ifndef _ROS_visualization_msgs_ImageMarker_h -#define _ROS_visualization_msgs_ImageMarker_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Point.h" -#include "std_msgs/ColorRGBA.h" -#include "ros/duration.h" - -namespace visualization_msgs -{ - - class ImageMarker : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _ns_type; - _ns_type ns; - typedef int32_t _id_type; - _id_type id; - typedef int32_t _type_type; - _type_type type; - typedef int32_t _action_type; - _action_type action; - typedef geometry_msgs::Point _position_type; - _position_type position; - typedef float _scale_type; - _scale_type scale; - typedef std_msgs::ColorRGBA _outline_color_type; - _outline_color_type outline_color; - typedef uint8_t _filled_type; - _filled_type filled; - typedef std_msgs::ColorRGBA _fill_color_type; - _fill_color_type fill_color; - typedef ros::Duration _lifetime_type; - _lifetime_type lifetime; - uint32_t points_length; - typedef geometry_msgs::Point _points_type; - _points_type st_points; - _points_type * points; - uint32_t outline_colors_length; - typedef std_msgs::ColorRGBA _outline_colors_type; - _outline_colors_type st_outline_colors; - _outline_colors_type * outline_colors; - enum { CIRCLE = 0 }; - enum { LINE_STRIP = 1 }; - enum { LINE_LIST = 2 }; - enum { POLYGON = 3 }; - enum { POINTS = 4 }; - enum { ADD = 0 }; - enum { REMOVE = 1 }; - - ImageMarker(): - header(), - ns(""), - id(0), - type(0), - action(0), - position(), - scale(0), - outline_color(), - filled(0), - fill_color(), - lifetime(), - points_length(0), st_points(), points(nullptr), - outline_colors_length(0), st_outline_colors(), outline_colors(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_ns = strlen(this->ns); - varToArr(outbuffer + offset, length_ns); - offset += 4; - memcpy(outbuffer + offset, this->ns, length_ns); - offset += length_ns; - union { - int32_t real; - uint32_t base; - } u_id; - u_id.real = this->id; - *(outbuffer + offset + 0) = (u_id.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_id.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_id.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_id.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->id); - union { - int32_t real; - uint32_t base; - } u_type; - u_type.real = this->type; - *(outbuffer + offset + 0) = (u_type.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_type.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_type.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_type.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->type); - union { - int32_t real; - uint32_t base; - } u_action; - u_action.real = this->action; - *(outbuffer + offset + 0) = (u_action.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_action.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_action.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_action.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->action); - offset += this->position.serialize(outbuffer + offset); - union { - float real; - uint32_t base; - } u_scale; - u_scale.real = this->scale; - *(outbuffer + offset + 0) = (u_scale.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_scale.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_scale.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_scale.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->scale); - offset += this->outline_color.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->filled >> (8 * 0)) & 0xFF; - offset += sizeof(this->filled); - offset += this->fill_color.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->lifetime.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->lifetime.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->lifetime.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->lifetime.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->lifetime.sec); - *(outbuffer + offset + 0) = (this->lifetime.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->lifetime.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->lifetime.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->lifetime.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->lifetime.nsec); - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->outline_colors_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->outline_colors_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->outline_colors_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->outline_colors_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->outline_colors_length); - for( uint32_t i = 0; i < outline_colors_length; i++){ - offset += this->outline_colors[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_ns; - arrToVar(length_ns, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_ns; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_ns-1]=0; - this->ns = (char *)(inbuffer + offset-1); - offset += length_ns; - union { - int32_t real; - uint32_t base; - } u_id; - u_id.base = 0; - u_id.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->id = u_id.real; - offset += sizeof(this->id); - union { - int32_t real; - uint32_t base; - } u_type; - u_type.base = 0; - u_type.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_type.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_type.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_type.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->type = u_type.real; - offset += sizeof(this->type); - union { - int32_t real; - uint32_t base; - } u_action; - u_action.base = 0; - u_action.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_action.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_action.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_action.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->action = u_action.real; - offset += sizeof(this->action); - offset += this->position.deserialize(inbuffer + offset); - union { - float real; - uint32_t base; - } u_scale; - u_scale.base = 0; - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->scale = u_scale.real; - offset += sizeof(this->scale); - offset += this->outline_color.deserialize(inbuffer + offset); - this->filled = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->filled); - offset += this->fill_color.deserialize(inbuffer + offset); - this->lifetime.sec = ((uint32_t) (*(inbuffer + offset))); - this->lifetime.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->lifetime.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->lifetime.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->lifetime.sec); - this->lifetime.nsec = ((uint32_t) (*(inbuffer + offset))); - this->lifetime.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->lifetime.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->lifetime.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->lifetime.nsec); - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (geometry_msgs::Point*)realloc(this->points, points_lengthT * sizeof(geometry_msgs::Point)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(geometry_msgs::Point)); - } - uint32_t outline_colors_lengthT = ((uint32_t) (*(inbuffer + offset))); - outline_colors_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - outline_colors_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - outline_colors_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->outline_colors_length); - if(outline_colors_lengthT > outline_colors_length) - this->outline_colors = (std_msgs::ColorRGBA*)realloc(this->outline_colors, outline_colors_lengthT * sizeof(std_msgs::ColorRGBA)); - outline_colors_length = outline_colors_lengthT; - for( uint32_t i = 0; i < outline_colors_length; i++){ - offset += this->st_outline_colors.deserialize(inbuffer + offset); - memcpy( &(this->outline_colors[i]), &(this->st_outline_colors), sizeof(std_msgs::ColorRGBA)); - } - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/ImageMarker"; }; - virtual const char * getMD5() override { return "1de93c67ec8858b831025a08fbf1b35c"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarker.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarker.h deleted file mode 100644 index 3cf69328..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarker.h +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef _ROS_visualization_msgs_InteractiveMarker_h -#define _ROS_visualization_msgs_InteractiveMarker_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" -#include "visualization_msgs/MenuEntry.h" -#include "visualization_msgs/InteractiveMarkerControl.h" - -namespace visualization_msgs -{ - - class InteractiveMarker : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef const char* _name_type; - _name_type name; - typedef const char* _description_type; - _description_type description; - typedef float _scale_type; - _scale_type scale; - uint32_t menu_entries_length; - typedef visualization_msgs::MenuEntry _menu_entries_type; - _menu_entries_type st_menu_entries; - _menu_entries_type * menu_entries; - uint32_t controls_length; - typedef visualization_msgs::InteractiveMarkerControl _controls_type; - _controls_type st_controls; - _controls_type * controls; - - InteractiveMarker(): - header(), - pose(), - name(""), - description(""), - scale(0), - menu_entries_length(0), st_menu_entries(), menu_entries(nullptr), - controls_length(0), st_controls(), controls(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->pose.serialize(outbuffer + offset); - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - uint32_t length_description = strlen(this->description); - varToArr(outbuffer + offset, length_description); - offset += 4; - memcpy(outbuffer + offset, this->description, length_description); - offset += length_description; - union { - float real; - uint32_t base; - } u_scale; - u_scale.real = this->scale; - *(outbuffer + offset + 0) = (u_scale.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_scale.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_scale.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_scale.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->scale); - *(outbuffer + offset + 0) = (this->menu_entries_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->menu_entries_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->menu_entries_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->menu_entries_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->menu_entries_length); - for( uint32_t i = 0; i < menu_entries_length; i++){ - offset += this->menu_entries[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->controls_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->controls_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->controls_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->controls_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->controls_length); - for( uint32_t i = 0; i < controls_length; i++){ - offset += this->controls[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->pose.deserialize(inbuffer + offset); - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - uint32_t length_description; - arrToVar(length_description, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_description; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_description-1]=0; - this->description = (char *)(inbuffer + offset-1); - offset += length_description; - union { - float real; - uint32_t base; - } u_scale; - u_scale.base = 0; - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_scale.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->scale = u_scale.real; - offset += sizeof(this->scale); - uint32_t menu_entries_lengthT = ((uint32_t) (*(inbuffer + offset))); - menu_entries_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - menu_entries_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - menu_entries_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->menu_entries_length); - if(menu_entries_lengthT > menu_entries_length) - this->menu_entries = (visualization_msgs::MenuEntry*)realloc(this->menu_entries, menu_entries_lengthT * sizeof(visualization_msgs::MenuEntry)); - menu_entries_length = menu_entries_lengthT; - for( uint32_t i = 0; i < menu_entries_length; i++){ - offset += this->st_menu_entries.deserialize(inbuffer + offset); - memcpy( &(this->menu_entries[i]), &(this->st_menu_entries), sizeof(visualization_msgs::MenuEntry)); - } - uint32_t controls_lengthT = ((uint32_t) (*(inbuffer + offset))); - controls_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - controls_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - controls_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->controls_length); - if(controls_lengthT > controls_length) - this->controls = (visualization_msgs::InteractiveMarkerControl*)realloc(this->controls, controls_lengthT * sizeof(visualization_msgs::InteractiveMarkerControl)); - controls_length = controls_lengthT; - for( uint32_t i = 0; i < controls_length; i++){ - offset += this->st_controls.deserialize(inbuffer + offset); - memcpy( &(this->controls[i]), &(this->st_controls), sizeof(visualization_msgs::InteractiveMarkerControl)); - } - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/InteractiveMarker"; }; - virtual const char * getMD5() override { return "dd86d22909d5a3364b384492e35c10af"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerControl.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerControl.h deleted file mode 100644 index a2680186..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerControl.h +++ /dev/null @@ -1,167 +0,0 @@ -#ifndef _ROS_visualization_msgs_InteractiveMarkerControl_h -#define _ROS_visualization_msgs_InteractiveMarkerControl_h - -#include -#include -#include -#include "ros/msg.h" -#include "geometry_msgs/Quaternion.h" -#include "visualization_msgs/Marker.h" - -namespace visualization_msgs -{ - - class InteractiveMarkerControl : public ros::Msg - { - public: - typedef const char* _name_type; - _name_type name; - typedef geometry_msgs::Quaternion _orientation_type; - _orientation_type orientation; - typedef uint8_t _orientation_mode_type; - _orientation_mode_type orientation_mode; - typedef uint8_t _interaction_mode_type; - _interaction_mode_type interaction_mode; - typedef bool _always_visible_type; - _always_visible_type always_visible; - uint32_t markers_length; - typedef visualization_msgs::Marker _markers_type; - _markers_type st_markers; - _markers_type * markers; - typedef bool _independent_marker_orientation_type; - _independent_marker_orientation_type independent_marker_orientation; - typedef const char* _description_type; - _description_type description; - enum { INHERIT = 0 }; - enum { FIXED = 1 }; - enum { VIEW_FACING = 2 }; - enum { NONE = 0 }; - enum { MENU = 1 }; - enum { BUTTON = 2 }; - enum { MOVE_AXIS = 3 }; - enum { MOVE_PLANE = 4 }; - enum { ROTATE_AXIS = 5 }; - enum { MOVE_ROTATE = 6 }; - enum { MOVE_3D = 7 }; - enum { ROTATE_3D = 8 }; - enum { MOVE_ROTATE_3D = 9 }; - - InteractiveMarkerControl(): - name(""), - orientation(), - orientation_mode(0), - interaction_mode(0), - always_visible(0), - markers_length(0), st_markers(), markers(nullptr), - independent_marker_orientation(0), - description("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - offset += this->orientation.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->orientation_mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->orientation_mode); - *(outbuffer + offset + 0) = (this->interaction_mode >> (8 * 0)) & 0xFF; - offset += sizeof(this->interaction_mode); - union { - bool real; - uint8_t base; - } u_always_visible; - u_always_visible.real = this->always_visible; - *(outbuffer + offset + 0) = (u_always_visible.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->always_visible); - *(outbuffer + offset + 0) = (this->markers_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->markers_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->markers_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->markers_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->markers_length); - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->markers[i].serialize(outbuffer + offset); - } - union { - bool real; - uint8_t base; - } u_independent_marker_orientation; - u_independent_marker_orientation.real = this->independent_marker_orientation; - *(outbuffer + offset + 0) = (u_independent_marker_orientation.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->independent_marker_orientation); - uint32_t length_description = strlen(this->description); - varToArr(outbuffer + offset, length_description); - offset += 4; - memcpy(outbuffer + offset, this->description, length_description); - offset += length_description; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - offset += this->orientation.deserialize(inbuffer + offset); - this->orientation_mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->orientation_mode); - this->interaction_mode = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->interaction_mode); - union { - bool real; - uint8_t base; - } u_always_visible; - u_always_visible.base = 0; - u_always_visible.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->always_visible = u_always_visible.real; - offset += sizeof(this->always_visible); - uint32_t markers_lengthT = ((uint32_t) (*(inbuffer + offset))); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->markers_length); - if(markers_lengthT > markers_length) - this->markers = (visualization_msgs::Marker*)realloc(this->markers, markers_lengthT * sizeof(visualization_msgs::Marker)); - markers_length = markers_lengthT; - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->st_markers.deserialize(inbuffer + offset); - memcpy( &(this->markers[i]), &(this->st_markers), sizeof(visualization_msgs::Marker)); - } - union { - bool real; - uint8_t base; - } u_independent_marker_orientation; - u_independent_marker_orientation.base = 0; - u_independent_marker_orientation.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->independent_marker_orientation = u_independent_marker_orientation.real; - offset += sizeof(this->independent_marker_orientation); - uint32_t length_description; - arrToVar(length_description, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_description; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_description-1]=0; - this->description = (char *)(inbuffer + offset-1); - offset += length_description; - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/InteractiveMarkerControl"; }; - virtual const char * getMD5() override { return "b3c81e785788195d1840b86c28da1aac"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerFeedback.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerFeedback.h deleted file mode 100644 index 807158a8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerFeedback.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef _ROS_visualization_msgs_InteractiveMarkerFeedback_h -#define _ROS_visualization_msgs_InteractiveMarkerFeedback_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" -#include "geometry_msgs/Point.h" - -namespace visualization_msgs -{ - - class InteractiveMarkerFeedback : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _client_id_type; - _client_id_type client_id; - typedef const char* _marker_name_type; - _marker_name_type marker_name; - typedef const char* _control_name_type; - _control_name_type control_name; - typedef uint8_t _event_type_type; - _event_type_type event_type; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef uint32_t _menu_entry_id_type; - _menu_entry_id_type menu_entry_id; - typedef geometry_msgs::Point _mouse_point_type; - _mouse_point_type mouse_point; - typedef bool _mouse_point_valid_type; - _mouse_point_valid_type mouse_point_valid; - enum { KEEP_ALIVE = 0 }; - enum { POSE_UPDATE = 1 }; - enum { MENU_SELECT = 2 }; - enum { BUTTON_CLICK = 3 }; - enum { MOUSE_DOWN = 4 }; - enum { MOUSE_UP = 5 }; - - InteractiveMarkerFeedback(): - header(), - client_id(""), - marker_name(""), - control_name(""), - event_type(0), - pose(), - menu_entry_id(0), - mouse_point(), - mouse_point_valid(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_client_id = strlen(this->client_id); - varToArr(outbuffer + offset, length_client_id); - offset += 4; - memcpy(outbuffer + offset, this->client_id, length_client_id); - offset += length_client_id; - uint32_t length_marker_name = strlen(this->marker_name); - varToArr(outbuffer + offset, length_marker_name); - offset += 4; - memcpy(outbuffer + offset, this->marker_name, length_marker_name); - offset += length_marker_name; - uint32_t length_control_name = strlen(this->control_name); - varToArr(outbuffer + offset, length_control_name); - offset += 4; - memcpy(outbuffer + offset, this->control_name, length_control_name); - offset += length_control_name; - *(outbuffer + offset + 0) = (this->event_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->event_type); - offset += this->pose.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->menu_entry_id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->menu_entry_id >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->menu_entry_id >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->menu_entry_id >> (8 * 3)) & 0xFF; - offset += sizeof(this->menu_entry_id); - offset += this->mouse_point.serialize(outbuffer + offset); - union { - bool real; - uint8_t base; - } u_mouse_point_valid; - u_mouse_point_valid.real = this->mouse_point_valid; - *(outbuffer + offset + 0) = (u_mouse_point_valid.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->mouse_point_valid); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_client_id; - arrToVar(length_client_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_client_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_client_id-1]=0; - this->client_id = (char *)(inbuffer + offset-1); - offset += length_client_id; - uint32_t length_marker_name; - arrToVar(length_marker_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_marker_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_marker_name-1]=0; - this->marker_name = (char *)(inbuffer + offset-1); - offset += length_marker_name; - uint32_t length_control_name; - arrToVar(length_control_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_control_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_control_name-1]=0; - this->control_name = (char *)(inbuffer + offset-1); - offset += length_control_name; - this->event_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->event_type); - offset += this->pose.deserialize(inbuffer + offset); - this->menu_entry_id = ((uint32_t) (*(inbuffer + offset))); - this->menu_entry_id |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->menu_entry_id |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->menu_entry_id |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->menu_entry_id); - offset += this->mouse_point.deserialize(inbuffer + offset); - union { - bool real; - uint8_t base; - } u_mouse_point_valid; - u_mouse_point_valid.base = 0; - u_mouse_point_valid.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->mouse_point_valid = u_mouse_point_valid.real; - offset += sizeof(this->mouse_point_valid); - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/InteractiveMarkerFeedback"; }; - virtual const char * getMD5() override { return "ab0f1eee058667e28c19ff3ffc3f4b78"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerInit.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerInit.h deleted file mode 100644 index 243f0f9b..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerInit.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _ROS_visualization_msgs_InteractiveMarkerInit_h -#define _ROS_visualization_msgs_InteractiveMarkerInit_h - -#include -#include -#include -#include "ros/msg.h" -#include "visualization_msgs/InteractiveMarker.h" - -namespace visualization_msgs -{ - - class InteractiveMarkerInit : public ros::Msg - { - public: - typedef const char* _server_id_type; - _server_id_type server_id; - typedef uint64_t _seq_num_type; - _seq_num_type seq_num; - uint32_t markers_length; - typedef visualization_msgs::InteractiveMarker _markers_type; - _markers_type st_markers; - _markers_type * markers; - - InteractiveMarkerInit(): - server_id(""), - seq_num(0), - markers_length(0), st_markers(), markers(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_server_id = strlen(this->server_id); - varToArr(outbuffer + offset, length_server_id); - offset += 4; - memcpy(outbuffer + offset, this->server_id, length_server_id); - offset += length_server_id; - *(outbuffer + offset + 0) = (this->seq_num >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->seq_num >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->seq_num >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->seq_num >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->seq_num >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->seq_num >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->seq_num >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->seq_num >> (8 * 7)) & 0xFF; - offset += sizeof(this->seq_num); - *(outbuffer + offset + 0) = (this->markers_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->markers_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->markers_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->markers_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->markers_length); - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->markers[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_server_id; - arrToVar(length_server_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_server_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_server_id-1]=0; - this->server_id = (char *)(inbuffer + offset-1); - offset += length_server_id; - this->seq_num = ((uint64_t) (*(inbuffer + offset))); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->seq_num); - uint32_t markers_lengthT = ((uint32_t) (*(inbuffer + offset))); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->markers_length); - if(markers_lengthT > markers_length) - this->markers = (visualization_msgs::InteractiveMarker*)realloc(this->markers, markers_lengthT * sizeof(visualization_msgs::InteractiveMarker)); - markers_length = markers_lengthT; - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->st_markers.deserialize(inbuffer + offset); - memcpy( &(this->markers[i]), &(this->st_markers), sizeof(visualization_msgs::InteractiveMarker)); - } - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/InteractiveMarkerInit"; }; - virtual const char * getMD5() override { return "d5f2c5045a72456d228676ab91048734"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerPose.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerPose.h deleted file mode 100644 index 700f2db1..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerPose.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef _ROS_visualization_msgs_InteractiveMarkerPose_h -#define _ROS_visualization_msgs_InteractiveMarkerPose_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" - -namespace visualization_msgs -{ - - class InteractiveMarkerPose : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef const char* _name_type; - _name_type name; - - InteractiveMarkerPose(): - header(), - pose(), - name("") - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - offset += this->pose.serialize(outbuffer + offset); - uint32_t length_name = strlen(this->name); - varToArr(outbuffer + offset, length_name); - offset += 4; - memcpy(outbuffer + offset, this->name, length_name); - offset += length_name; - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - offset += this->pose.deserialize(inbuffer + offset); - uint32_t length_name; - arrToVar(length_name, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_name; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_name-1]=0; - this->name = (char *)(inbuffer + offset-1); - offset += length_name; - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/InteractiveMarkerPose"; }; - virtual const char * getMD5() override { return "a6e6833209a196a38d798dadb02c81f8"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerUpdate.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerUpdate.h deleted file mode 100644 index 5aac8411..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/InteractiveMarkerUpdate.h +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef _ROS_visualization_msgs_InteractiveMarkerUpdate_h -#define _ROS_visualization_msgs_InteractiveMarkerUpdate_h - -#include -#include -#include -#include "ros/msg.h" -#include "visualization_msgs/InteractiveMarker.h" -#include "visualization_msgs/InteractiveMarkerPose.h" - -namespace visualization_msgs -{ - - class InteractiveMarkerUpdate : public ros::Msg - { - public: - typedef const char* _server_id_type; - _server_id_type server_id; - typedef uint64_t _seq_num_type; - _seq_num_type seq_num; - typedef uint8_t _type_type; - _type_type type; - uint32_t markers_length; - typedef visualization_msgs::InteractiveMarker _markers_type; - _markers_type st_markers; - _markers_type * markers; - uint32_t poses_length; - typedef visualization_msgs::InteractiveMarkerPose _poses_type; - _poses_type st_poses; - _poses_type * poses; - uint32_t erases_length; - typedef char* _erases_type; - _erases_type st_erases; - _erases_type * erases; - enum { KEEP_ALIVE = 0 }; - enum { UPDATE = 1 }; - - InteractiveMarkerUpdate(): - server_id(""), - seq_num(0), - type(0), - markers_length(0), st_markers(), markers(nullptr), - poses_length(0), st_poses(), poses(nullptr), - erases_length(0), st_erases(), erases(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - uint32_t length_server_id = strlen(this->server_id); - varToArr(outbuffer + offset, length_server_id); - offset += 4; - memcpy(outbuffer + offset, this->server_id, length_server_id); - offset += length_server_id; - *(outbuffer + offset + 0) = (this->seq_num >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->seq_num >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->seq_num >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->seq_num >> (8 * 3)) & 0xFF; - *(outbuffer + offset + 4) = (this->seq_num >> (8 * 4)) & 0xFF; - *(outbuffer + offset + 5) = (this->seq_num >> (8 * 5)) & 0xFF; - *(outbuffer + offset + 6) = (this->seq_num >> (8 * 6)) & 0xFF; - *(outbuffer + offset + 7) = (this->seq_num >> (8 * 7)) & 0xFF; - offset += sizeof(this->seq_num); - *(outbuffer + offset + 0) = (this->type >> (8 * 0)) & 0xFF; - offset += sizeof(this->type); - *(outbuffer + offset + 0) = (this->markers_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->markers_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->markers_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->markers_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->markers_length); - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->markers[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->poses_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->poses_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->poses_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->poses_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->poses_length); - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->poses[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->erases_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->erases_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->erases_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->erases_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->erases_length); - for( uint32_t i = 0; i < erases_length; i++){ - uint32_t length_erasesi = strlen(this->erases[i]); - varToArr(outbuffer + offset, length_erasesi); - offset += 4; - memcpy(outbuffer + offset, this->erases[i], length_erasesi); - offset += length_erasesi; - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t length_server_id; - arrToVar(length_server_id, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_server_id; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_server_id-1]=0; - this->server_id = (char *)(inbuffer + offset-1); - offset += length_server_id; - this->seq_num = ((uint64_t) (*(inbuffer + offset))); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); - this->seq_num |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); - offset += sizeof(this->seq_num); - this->type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->type); - uint32_t markers_lengthT = ((uint32_t) (*(inbuffer + offset))); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->markers_length); - if(markers_lengthT > markers_length) - this->markers = (visualization_msgs::InteractiveMarker*)realloc(this->markers, markers_lengthT * sizeof(visualization_msgs::InteractiveMarker)); - markers_length = markers_lengthT; - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->st_markers.deserialize(inbuffer + offset); - memcpy( &(this->markers[i]), &(this->st_markers), sizeof(visualization_msgs::InteractiveMarker)); - } - uint32_t poses_lengthT = ((uint32_t) (*(inbuffer + offset))); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - poses_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->poses_length); - if(poses_lengthT > poses_length) - this->poses = (visualization_msgs::InteractiveMarkerPose*)realloc(this->poses, poses_lengthT * sizeof(visualization_msgs::InteractiveMarkerPose)); - poses_length = poses_lengthT; - for( uint32_t i = 0; i < poses_length; i++){ - offset += this->st_poses.deserialize(inbuffer + offset); - memcpy( &(this->poses[i]), &(this->st_poses), sizeof(visualization_msgs::InteractiveMarkerPose)); - } - uint32_t erases_lengthT = ((uint32_t) (*(inbuffer + offset))); - erases_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - erases_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - erases_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->erases_length); - if(erases_lengthT > erases_length) - this->erases = (char**)realloc(this->erases, erases_lengthT * sizeof(char*)); - erases_length = erases_lengthT; - for( uint32_t i = 0; i < erases_length; i++){ - uint32_t length_st_erases; - arrToVar(length_st_erases, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_st_erases; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_st_erases-1]=0; - this->st_erases = (char *)(inbuffer + offset-1); - offset += length_st_erases; - memcpy( &(this->erases[i]), &(this->st_erases), sizeof(char*)); - } - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/InteractiveMarkerUpdate"; }; - virtual const char * getMD5() override { return "710d308d0a9276d65945e92dd30b3946"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/Marker.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/Marker.h deleted file mode 100644 index 3053d4b0..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/Marker.h +++ /dev/null @@ -1,312 +0,0 @@ -#ifndef _ROS_visualization_msgs_Marker_h -#define _ROS_visualization_msgs_Marker_h - -#include -#include -#include -#include "ros/msg.h" -#include "std_msgs/Header.h" -#include "geometry_msgs/Pose.h" -#include "geometry_msgs/Vector3.h" -#include "std_msgs/ColorRGBA.h" -#include "ros/duration.h" -#include "geometry_msgs/Point.h" - -namespace visualization_msgs -{ - - class Marker : public ros::Msg - { - public: - typedef std_msgs::Header _header_type; - _header_type header; - typedef const char* _ns_type; - _ns_type ns; - typedef int32_t _id_type; - _id_type id; - typedef int32_t _type_type; - _type_type type; - typedef int32_t _action_type; - _action_type action; - typedef geometry_msgs::Pose _pose_type; - _pose_type pose; - typedef geometry_msgs::Vector3 _scale_type; - _scale_type scale; - typedef std_msgs::ColorRGBA _color_type; - _color_type color; - typedef ros::Duration _lifetime_type; - _lifetime_type lifetime; - typedef bool _frame_locked_type; - _frame_locked_type frame_locked; - uint32_t points_length; - typedef geometry_msgs::Point _points_type; - _points_type st_points; - _points_type * points; - uint32_t colors_length; - typedef std_msgs::ColorRGBA _colors_type; - _colors_type st_colors; - _colors_type * colors; - typedef const char* _text_type; - _text_type text; - typedef const char* _mesh_resource_type; - _mesh_resource_type mesh_resource; - typedef bool _mesh_use_embedded_materials_type; - _mesh_use_embedded_materials_type mesh_use_embedded_materials; - enum { ARROW = 0 }; - enum { CUBE = 1 }; - enum { SPHERE = 2 }; - enum { CYLINDER = 3 }; - enum { LINE_STRIP = 4 }; - enum { LINE_LIST = 5 }; - enum { CUBE_LIST = 6 }; - enum { SPHERE_LIST = 7 }; - enum { POINTS = 8 }; - enum { TEXT_VIEW_FACING = 9 }; - enum { MESH_RESOURCE = 10 }; - enum { TRIANGLE_LIST = 11 }; - enum { ADD = 0 }; - enum { MODIFY = 0 }; - enum { DELETE = 2 }; - enum { DELETEALL = 3 }; - - Marker(): - header(), - ns(""), - id(0), - type(0), - action(0), - pose(), - scale(), - color(), - lifetime(), - frame_locked(0), - points_length(0), st_points(), points(nullptr), - colors_length(0), st_colors(), colors(nullptr), - text(""), - mesh_resource(""), - mesh_use_embedded_materials(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - offset += this->header.serialize(outbuffer + offset); - uint32_t length_ns = strlen(this->ns); - varToArr(outbuffer + offset, length_ns); - offset += 4; - memcpy(outbuffer + offset, this->ns, length_ns); - offset += length_ns; - union { - int32_t real; - uint32_t base; - } u_id; - u_id.real = this->id; - *(outbuffer + offset + 0) = (u_id.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_id.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_id.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_id.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->id); - union { - int32_t real; - uint32_t base; - } u_type; - u_type.real = this->type; - *(outbuffer + offset + 0) = (u_type.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_type.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_type.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_type.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->type); - union { - int32_t real; - uint32_t base; - } u_action; - u_action.real = this->action; - *(outbuffer + offset + 0) = (u_action.base >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (u_action.base >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (u_action.base >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (u_action.base >> (8 * 3)) & 0xFF; - offset += sizeof(this->action); - offset += this->pose.serialize(outbuffer + offset); - offset += this->scale.serialize(outbuffer + offset); - offset += this->color.serialize(outbuffer + offset); - *(outbuffer + offset + 0) = (this->lifetime.sec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->lifetime.sec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->lifetime.sec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->lifetime.sec >> (8 * 3)) & 0xFF; - offset += sizeof(this->lifetime.sec); - *(outbuffer + offset + 0) = (this->lifetime.nsec >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->lifetime.nsec >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->lifetime.nsec >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->lifetime.nsec >> (8 * 3)) & 0xFF; - offset += sizeof(this->lifetime.nsec); - union { - bool real; - uint8_t base; - } u_frame_locked; - u_frame_locked.real = this->frame_locked; - *(outbuffer + offset + 0) = (u_frame_locked.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->frame_locked); - *(outbuffer + offset + 0) = (this->points_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->points_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->points_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->points_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->points_length); - for( uint32_t i = 0; i < points_length; i++){ - offset += this->points[i].serialize(outbuffer + offset); - } - *(outbuffer + offset + 0) = (this->colors_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->colors_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->colors_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->colors_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->colors_length); - for( uint32_t i = 0; i < colors_length; i++){ - offset += this->colors[i].serialize(outbuffer + offset); - } - uint32_t length_text = strlen(this->text); - varToArr(outbuffer + offset, length_text); - offset += 4; - memcpy(outbuffer + offset, this->text, length_text); - offset += length_text; - uint32_t length_mesh_resource = strlen(this->mesh_resource); - varToArr(outbuffer + offset, length_mesh_resource); - offset += 4; - memcpy(outbuffer + offset, this->mesh_resource, length_mesh_resource); - offset += length_mesh_resource; - union { - bool real; - uint8_t base; - } u_mesh_use_embedded_materials; - u_mesh_use_embedded_materials.real = this->mesh_use_embedded_materials; - *(outbuffer + offset + 0) = (u_mesh_use_embedded_materials.base >> (8 * 0)) & 0xFF; - offset += sizeof(this->mesh_use_embedded_materials); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - offset += this->header.deserialize(inbuffer + offset); - uint32_t length_ns; - arrToVar(length_ns, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_ns; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_ns-1]=0; - this->ns = (char *)(inbuffer + offset-1); - offset += length_ns; - union { - int32_t real; - uint32_t base; - } u_id; - u_id.base = 0; - u_id.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_id.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->id = u_id.real; - offset += sizeof(this->id); - union { - int32_t real; - uint32_t base; - } u_type; - u_type.base = 0; - u_type.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_type.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_type.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_type.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->type = u_type.real; - offset += sizeof(this->type); - union { - int32_t real; - uint32_t base; - } u_action; - u_action.base = 0; - u_action.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0); - u_action.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - u_action.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - u_action.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - this->action = u_action.real; - offset += sizeof(this->action); - offset += this->pose.deserialize(inbuffer + offset); - offset += this->scale.deserialize(inbuffer + offset); - offset += this->color.deserialize(inbuffer + offset); - this->lifetime.sec = ((uint32_t) (*(inbuffer + offset))); - this->lifetime.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->lifetime.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->lifetime.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->lifetime.sec); - this->lifetime.nsec = ((uint32_t) (*(inbuffer + offset))); - this->lifetime.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->lifetime.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->lifetime.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->lifetime.nsec); - union { - bool real; - uint8_t base; - } u_frame_locked; - u_frame_locked.base = 0; - u_frame_locked.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->frame_locked = u_frame_locked.real; - offset += sizeof(this->frame_locked); - uint32_t points_lengthT = ((uint32_t) (*(inbuffer + offset))); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - points_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->points_length); - if(points_lengthT > points_length) - this->points = (geometry_msgs::Point*)realloc(this->points, points_lengthT * sizeof(geometry_msgs::Point)); - points_length = points_lengthT; - for( uint32_t i = 0; i < points_length; i++){ - offset += this->st_points.deserialize(inbuffer + offset); - memcpy( &(this->points[i]), &(this->st_points), sizeof(geometry_msgs::Point)); - } - uint32_t colors_lengthT = ((uint32_t) (*(inbuffer + offset))); - colors_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - colors_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - colors_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->colors_length); - if(colors_lengthT > colors_length) - this->colors = (std_msgs::ColorRGBA*)realloc(this->colors, colors_lengthT * sizeof(std_msgs::ColorRGBA)); - colors_length = colors_lengthT; - for( uint32_t i = 0; i < colors_length; i++){ - offset += this->st_colors.deserialize(inbuffer + offset); - memcpy( &(this->colors[i]), &(this->st_colors), sizeof(std_msgs::ColorRGBA)); - } - uint32_t length_text; - arrToVar(length_text, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_text; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_text-1]=0; - this->text = (char *)(inbuffer + offset-1); - offset += length_text; - uint32_t length_mesh_resource; - arrToVar(length_mesh_resource, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_mesh_resource; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_mesh_resource-1]=0; - this->mesh_resource = (char *)(inbuffer + offset-1); - offset += length_mesh_resource; - union { - bool real; - uint8_t base; - } u_mesh_use_embedded_materials; - u_mesh_use_embedded_materials.base = 0; - u_mesh_use_embedded_materials.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0); - this->mesh_use_embedded_materials = u_mesh_use_embedded_materials.real; - offset += sizeof(this->mesh_use_embedded_materials); - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/Marker"; }; - virtual const char * getMD5() override { return "4048c9de2a16f4ae8e0538085ebf1b97"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MarkerArray.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MarkerArray.h deleted file mode 100644 index 5c632b80..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MarkerArray.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ROS_visualization_msgs_MarkerArray_h -#define _ROS_visualization_msgs_MarkerArray_h - -#include -#include -#include -#include "ros/msg.h" -#include "visualization_msgs/Marker.h" - -namespace visualization_msgs -{ - - class MarkerArray : public ros::Msg - { - public: - uint32_t markers_length; - typedef visualization_msgs::Marker _markers_type; - _markers_type st_markers; - _markers_type * markers; - - MarkerArray(): - markers_length(0), st_markers(), markers(nullptr) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->markers_length >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->markers_length >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->markers_length >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->markers_length >> (8 * 3)) & 0xFF; - offset += sizeof(this->markers_length); - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->markers[i].serialize(outbuffer + offset); - } - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - uint32_t markers_lengthT = ((uint32_t) (*(inbuffer + offset))); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->markers_length); - if(markers_lengthT > markers_length) - this->markers = (visualization_msgs::Marker*)realloc(this->markers, markers_lengthT * sizeof(visualization_msgs::Marker)); - markers_length = markers_lengthT; - for( uint32_t i = 0; i < markers_length; i++){ - offset += this->st_markers.deserialize(inbuffer + offset); - memcpy( &(this->markers[i]), &(this->st_markers), sizeof(visualization_msgs::Marker)); - } - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/MarkerArray"; }; - virtual const char * getMD5() override { return "d155b9ce5188fbaf89745847fd5882d7"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MenuEntry.h b/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MenuEntry.h deleted file mode 100644 index 0b9211f8..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/src/visualization_msgs/MenuEntry.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _ROS_visualization_msgs_MenuEntry_h -#define _ROS_visualization_msgs_MenuEntry_h - -#include -#include -#include -#include "ros/msg.h" - -namespace visualization_msgs -{ - - class MenuEntry : public ros::Msg - { - public: - typedef uint32_t _id_type; - _id_type id; - typedef uint32_t _parent_id_type; - _parent_id_type parent_id; - typedef const char* _title_type; - _title_type title; - typedef const char* _command_type; - _command_type command; - typedef uint8_t _command_type_type; - _command_type_type command_type; - enum { FEEDBACK = 0 }; - enum { ROSRUN = 1 }; - enum { ROSLAUNCH = 2 }; - - MenuEntry(): - id(0), - parent_id(0), - title(""), - command(""), - command_type(0) - { - } - - virtual int serialize(unsigned char *outbuffer) const override - { - int offset = 0; - *(outbuffer + offset + 0) = (this->id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->id >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->id >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->id >> (8 * 3)) & 0xFF; - offset += sizeof(this->id); - *(outbuffer + offset + 0) = (this->parent_id >> (8 * 0)) & 0xFF; - *(outbuffer + offset + 1) = (this->parent_id >> (8 * 1)) & 0xFF; - *(outbuffer + offset + 2) = (this->parent_id >> (8 * 2)) & 0xFF; - *(outbuffer + offset + 3) = (this->parent_id >> (8 * 3)) & 0xFF; - offset += sizeof(this->parent_id); - uint32_t length_title = strlen(this->title); - varToArr(outbuffer + offset, length_title); - offset += 4; - memcpy(outbuffer + offset, this->title, length_title); - offset += length_title; - uint32_t length_command = strlen(this->command); - varToArr(outbuffer + offset, length_command); - offset += 4; - memcpy(outbuffer + offset, this->command, length_command); - offset += length_command; - *(outbuffer + offset + 0) = (this->command_type >> (8 * 0)) & 0xFF; - offset += sizeof(this->command_type); - return offset; - } - - virtual int deserialize(unsigned char *inbuffer) override - { - int offset = 0; - this->id = ((uint32_t) (*(inbuffer + offset))); - this->id |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->id |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->id |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->id); - this->parent_id = ((uint32_t) (*(inbuffer + offset))); - this->parent_id |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); - this->parent_id |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); - this->parent_id |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); - offset += sizeof(this->parent_id); - uint32_t length_title; - arrToVar(length_title, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_title; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_title-1]=0; - this->title = (char *)(inbuffer + offset-1); - offset += length_title; - uint32_t length_command; - arrToVar(length_command, (inbuffer + offset)); - offset += 4; - for(unsigned int k= offset; k< offset+length_command; ++k){ - inbuffer[k-1]=inbuffer[k]; - } - inbuffer[offset+length_command-1]=0; - this->command = (char *)(inbuffer + offset-1); - offset += length_command; - this->command_type = ((uint8_t) (*(inbuffer + offset))); - offset += sizeof(this->command_type); - return offset; - } - - virtual const char * getType() override { return "visualization_msgs/MenuEntry"; }; - virtual const char * getMD5() override { return "b90ec63024573de83b57aa93eb39be2d"; }; - - }; - -} -#endif diff --git a/firmware/libraries/Rosserial_Arduino_Library/update.sh b/firmware/libraries/Rosserial_Arduino_Library/update.sh deleted file mode 100644 index b1962b91..00000000 --- a/firmware/libraries/Rosserial_Arduino_Library/update.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -docker build -t ros_serial_update . - -docker run -d --name ros_serial_update ros_serial_update roscore - -docker cp ros_serial_update:/tmp/ros_lib ./ - -docker stop ros_serial_update - -docker rm ros_serial_update - -cp -Rf ./ros_lib/* ./src - -cp -Rf ./ros_lib/examples/* ./examples - -cp -Rf ./ros_lib/tests/* ./extras/tests - -rm -Rf ./src/examples - -rm -Rf ./src/tests - -rm -Rf ./ros_lib \ No newline at end of file diff --git a/firmware/libraries/dynamixel_teensy-master/.gitignore b/firmware/libraries/dynamixel_teensy-master/.gitignore deleted file mode 100644 index 4cd35fcc..00000000 --- a/firmware/libraries/dynamixel_teensy-master/.gitignore +++ /dev/null @@ -1,298 +0,0 @@ - -# Created by https://www.gitignore.io/api/visualstudio - -### VisualStudio ### -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ -**/Properties/launchSettings.json - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Typescript v1 declaration files -typings/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush -.cr/ - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# End of https://www.gitignore.io/api/visualstudio - -### VisualMicro files -__vm/ - diff --git a/firmware/libraries/dynamixel_teensy-master/LICENSE b/firmware/libraries/dynamixel_teensy-master/LICENSE deleted file mode 100644 index 500f6149..00000000 --- a/firmware/libraries/dynamixel_teensy-master/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2014, Adrien Descamps -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/firmware/libraries/dynamixel_teensy-master/README.md b/firmware/libraries/dynamixel_teensy-master/README.md deleted file mode 100644 index 57c485cf..00000000 --- a/firmware/libraries/dynamixel_teensy-master/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# dynamixel_teensy - -Teensy 3.x library for dynamixel servos - -This library allows you to control the Robotis servo motors that use a custom half-duplex serial protocol. -Communication speed up to 1 MBd is supported with hardware serial. -The most useful functions (speed, position, wheel/joint mode, ...) are provided via a very simple high level interface (see test_motor example), but other operations can be done using the generic read/write functions (see test_led example). - -## Usage - -To control TTL motors, it is recommended to use a logic level converter to convert the 3v3 of your teensy to the 5v used by Dynamixel servos. If your teensy board is 5V tolerant (teensy3.2 & 3.5) you can connect it directly the the servos but it will be less reliable (you may have a lot of communication errors). -Example of level converter : [SparkFun logic level converter](https://www.sparkfun.com/products/12009) - -To control TTL/RS485 motors, with an additionnal hardware buffer: -See [Robotis documentation](http://support.robotis.com/en/) - -## Troubleshooting - -- If the servo is configured to answer immediatly to commands, the response packet may come back too fast and be missed by the teensy, and communication may become unstable or even impossible. To fix this, you have to write the value of the "Return Delay Time" register back to its orginal value (register 0x05, value 250). diff --git a/firmware/libraries/dynamixel_teensy-master/doc/controltable.ods b/firmware/libraries/dynamixel_teensy-master/doc/controltable.ods deleted file mode 100644 index a7d0323632b47c84a256e500697350cf0cf5942c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25019 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 diff --git a/firmware/libraries/dynamixel_teensy-master/doc/dynamixel_connect.png b/firmware/libraries/dynamixel_teensy-master/doc/dynamixel_connect.png deleted file mode 100644 index 7cbced82d9b19559dba535946874299131d6c6d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 897077 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%0A+%1O8Kv~bZV~MYS0h=~oL=Wl zVUzu~bCupxwO&|#<(o4n!lB3pT<~pWgcazH=o%ojT)A+JekQC0g1zn zhxrbgqg8!hb0_|sIFEHXU-FB&X>sV*1>L-L!UN@QzGpdvh232v zg=Xv@V70GjuRCOy>n)6JI=io-AV06K$Kpony#D|b)Ul7q#;pqa=oWeTfaO5;|*t%(j}E@R(>e`Cb!~&3OQOO&&F!vf;1I^4n1>L!4W^59(`mM5oWPf$fun zFg&`(dWn*0oG|Ahwr@WYvvHbo`6PBXxH>r3;lH=T<1y>@SEM)9^XRXyMlNHxLI_I4 z{C1m#HhT~;Ola>72Suc3(qCOn8c{8|1kgq=l~yTP(8}w`&LAb3_A~j>rE9PJpTO+7 zCJkYCBl#(EX(>L@#o_FLS&bsqD$J^zmP7C{5z(m2U8Z80z+O>gJ&?lNnI=1-bCRQj z-q;O|bhRs{7_1jLf#7xZbO4@5I)#AnAPnRA{r|jX>o847nzGxPbl*^+*HnBPv4` zVK4g#!|3dnaR>8}V%6L*L2}BOZm|OGv-PhZHnXKS--s$Q$+d9%4)i*yjP?re#eGN$ zxy(PfnX9cXbjw$oF_bYd%>UK?Ckhyy^IORJ`2|$*Kd-N9>=xKBYeApPJXD^>R%7;H z%kOzF=efVO<$mo}aGLq$G#ifiQJS8Oz4n8ee?yRD>cN6CXqL91PneflTq_td!k*Oo zY{uYOY+<|sQ9o(a@piU6!2+x-W-Xcx-QC2kEM_b&NOM{bc@$<2sx1uISb_1J=_(~d zv+k2zw!!sz^(ogf-juC(h+7UXKK(ZWDu)+r!Y?VG-+Z_o#G-78?#6Yk@w&x!U=Q^7JVdyF5OqiR&xL z%W6;MLdi*z=UB{Bv}D~Ua|Hh7A-Qs8N>@ymlafnGW$N{%TmkVg7`X;Zl5D5Bq9NOr z*D2-?@&j`!j;w#Ryf=r5H(y04#b7p%YTQFF9Y3Q^h>Z4VIH{PWm6qQ0Pd%C~H$7Up z2yQNE6KevAU(}KD8VUL0*}8JDc}mP>vY`JjlHthe`7i&r|w@AS)3Rm8WGI%JsCBOkBxurxJQF^kZ8MFT&O6~Z29t6wIbM3 z^)JLFVa7k4^#zTkG^l+r6*Lu9y^NCS45Pq!-S{p}$;?`2larl8*5LC4Uxz#<1k?tj zOVR=ItLl9GL2P4Vquk;J8#kHEQ^(z@a{3Wx8_5UO=)j1-#Peivit=E_t(8fo5y-ies?c$~lpSif2I1-(Se{%F% zBPe08&}3t0M9;%?4t-*h>6Q4l)fjCK+B9zRL|nVAcga)0ZQSA-Y}CxXO>TKpd7<0GSk`%T^s?+=;CfGsY~wrRH4$uZrmK=&pp9;I*=Ea( zI75OnuzTTMV#$xWC*~=Kp0C=q2MZ<+l2>SSky0yUOU#G_*>4VG{L;eiJNK;-l|lQs zhrfQ#%ee(me2ZLjFA^D80f>_PNQPu4${?Io;%02aD#fE2pIKZoAGzm(W zmC*_ahzJEGCwtlTQn?6-@V+A7C$8Ot4<+KpAA!zCtiSxx8#WGlOttMfcsMQBG`vx4q<2#dcA|+Ex4i^y3-f zpPMSe_<3jz4MQlwz6L{Fk8iSF;`ik|24*Hvb0>p_e3I0yZ?S(+fbw6u!~pZN3O`gi!fyWo7spGxtB{*&e!BXCT2l* zw)`iOrQO1kqo`LA1h>*?J5UYk?0K}``C)RJ%6bTHC|lURyY!kezG@fYZ)>hbZ^K3L z?`YteXpb-)^M9A(VS%1HDjMmv&~5C)Xidv{fwehK5ntDKpJ|sM&I;S3vv`?9T5&|O z*FR!u2IKg-`}zNRP>D%7eWW=>Rmn_A$&tLF8_r(Dz8jVN!B=n(?rnaa!batUlG@Jp4L|UiTbbP?95!FGOOtw~ zHoy6qe(*t_k~$d;(V(+A`!)ZaS8=?rfe{M>>l7;C)Sbm$D6d4+Nb*gpBH`Knj;p3! zV|*1EiZr^p!Nxz8fq#QX;w2@o>upkJNzV5pKr*I?w;%xfo6SbUSc#d`;Hz;9Bs_ah zA65!6W`J->DM&3{tv8@Dd7Z?DP)Vjcw7AMODg;F|8=VNeyuA(n@S&+OXjT5}6dGN- zacgwU7-T)m1Z2_rkzkVypu{;bOw~)`)*u4@McWQ0`cBqL8a+gk4JL#h%37yRFNN_2 zRWvFzVp&9yzTh~AH*z%QDKyS4Jk?f|-vph>Iy;bIJCEM$9T(Sg{4}!^ywm1eiEnp0 z>s4#4s@ZA1TWFC4cbF5cPG*r^^1A~*g4lg&dRvh2`ip`g)kdV{9+4-;l_o33*`ceQ zp$6I=;zaGNcu8IVZ7I#C(~u2>NnWGmjax8RLs#{~bT1;5p2t*Z)1V`HrK44yCcOwS(LB;t!fWTF;?-@})_0R3Ib z%C-7;)|BgWd_31i>aM%7!O~F+@{g>FQ)*LVo|%DCQ%lx7OW$Hafpc_pj3nX1 z-5X03pR`_{kvV9Se;E!oTjO6@Z!wE`tV9}{6rgN-K)_(LC;!905_Tg}5H))qG|XE7 z2^bFAxr;5-L(8?6WIS!$XRS`}Ep`im?b_7YvJDA~w?BMMGQZ3mi|LGfk*-jm6I@n5 z=SuN>dTzK2_<=!wMTnopjH%eEhO z07?5Pc#w;0U50q~B*v=Awr6nmi^4rBxBYYEQqKU|ga-G-6a%2IH}DNI&sBZU4K<$1 zf#f@5EwN+?O3qmC05RX2kDaY|k%dH);;c-WWD=%(bGuwaM0NS&1Uy|J9`QpIk|Ua~ z6_1$rNNjZ6pA?43E?~281kp-+$uZm~s3aW}X7KouMmwSS`S_$h@30$BCL-PsL>N^? zpVg=oZ|)q)-%Vn@#d^4tjGjFCta4wi?n8RRs_SZSvY8c0f2C*!SEkL~n7fRnqfJhm zohj7u;=xmwuT^gqw(@uvHwV|+O0-+Pp94K8fm%8%Pe{1k5y0XGq6La! z!B67h*ge1Bp#uZ93)?FAT+BcILSo#<`B($gFke8P?U`opOug;;=L)TQG5S_=YEJ8t z1~&qY!+k<^09>2vw|w7hU=_|ghrCR$(E!@*6+=2G0|KBQ^6Lvx?(}lEH{K!wX0M1& zijAsgzoCU3nvN*^j`>&iQ#>CIYo_xXlmG= zUHu~Y^x)dtCr7;}M-|PKlp>pRnBXkaHqTqCqj3-{_|Z>Rrbb|$El5V5SP22R z_cWSxFtl6Q&cqK`fMsaaTg#`->P6!dh=IqzX|qi2u7mn|Ra@j(BCN!8oc|*F*mcGH zx{6#Bcx2s_g9cy7S^xUk3A1&IXh~wBFtAn!ae<(%RM=u@?@`nFC2vKrF(DrJkzbE2 z;(QP;EhRhYJivG1iVYibTAfuxTo&BhkXnqs@v0aNxh_x0gE?@{-mq)A<>Y0#)d^Ys z8jJhbj{VehK#}rqO)962b*n49UNDZUyDtQ-<}yY6k<2@^FS#Qb z2pdJn@%>TM=Q^hGIY!X#49pR?USmY9pb|*lQ|G9A{Pg}}zdbm}c2hW(60yg`#l>Y$ zk*NF`X>o+hh~Vk+dVPs?!)T{So_RSdk0wuLD7w`7ywLGgfNXtsg4bfmB4J!ZY@Pzt z$b=eQqF$V3iYTv4EeZQH&OS34hcy(G(P<}qD-D*~8jb>;_MUSuC$Q~WtxCmZ%$~Cx z2^L?k;udRgf8W^?by1L6fvo*Z0~wY=?1_;^gDE3~81fNMqKEYmma>MLaAt4}&8HsG zD;`*<23Gh=J)Vu$H0Evca>nOsaGglYyj)|Kxk|P8?OEpTU?fSae#lqSrI7&98*MWw zmP@Zwn9gPc_P=m{>ST`fR^ZcOu`E)RXVmj^#=6-b(#JXlv{8>Ftj{{dvFmqZwa=%C zZ!Gm1zjLd)25p_DoBV{AQ*MERYd$CRFI2t(zVyIw`sK8Cq7lz~!ztZAK^OTNk3J4x zWyncRl6ofx@cE)DqDhiCCZok-GJz|22lq41vG}#Bhe4Uu|CVleCY&uO|1mWvL}g+d z7)>h}lnvQ(E!P|_JZUy+ZaKEO8TD5}Iy~G}Uew>%b1qEH#!+4%)XCus?@goDk-sdY z1lQ`mmzSL9>tNZTGD!ZeD7I{oX?yaltl9H|?tHZ){N(|J*y8#DcT~AUIsz>t*zB4- z%Vqb$bh3O7AYtB`>C?(vUwNq9S||CtbN_8M_d5e5bpmJ6rjD+mM3n%Xh_WARzZy zDkQPE+YyuQMM;aA_VVJVk&s|JcJN#mdP+lni~BDWaR|G3%#kw-NE)a9wUY39 zo))&wqlade5?SpmZ)-Z2{}h}UtXdZydZdejwXZ&ON$_uTz4eQnm3W?hzIiGaGt`(1 zYqgCQ>VRfafcy#E;k~H$>!TGTrH=}ZyVXFv4f+=j)DZC#8f+^v*pq0J5;>lJw2}~7 zB+Km=9*(WKR!q4vSb(p9Zz>n6Sk3;-Pd$e4hVoBiYIif9G62(8HN1+!`5+DNW3#od zsnkKa<|hc)Rz$EXO!GbwA9b!IcB;gBTzY?SaA2?tWG*@$0Dvzv;a_R=#g$JxQp``K zBdKOm``I~kj10q%2K$#hx$ZGNFC02O4?248o@nT(-c6>aPR=J+TiEzsn$0dwPpxJ9 zqbwqLvWs>af|f6jR{X7l<0jDA4>3PSF!fX)lOl~VAy$uqg5Dj$TYXb2xr?{fsSS$a z9jI|E7q}Al0E0EQU`kS4*f0dL_%QVY*X~F(NA&3`9J$)Q!&OmQW=vdxW|CabFJ6zWJL7)nHdz&@CQ#w!s3* zv2`DJ?PwK=qC}BGf1Stwbg*Q_mR^y&qPB z-`LsJb;yKrQy4X2J!-IQ6Sf%Ysl;A_{ZW;ew!k&HZPth1F-ZKbKEOg7`)}J)?>IC1 z!c`5oYdcB!WaHpn#hU%g=@bnwkeE9qTzsRbk9!&ZZq{Ev0V`zFPiMrGPkSvjQcH4! zV(qE>D!DsIZmEbWr?pJLvW2^cftR@0rICV&#NOz@Znd=;RXk*9&K}k0BW;+8dkd^BX?j$;*?RtSsUVY6h{_Q5ydsLfML60qS4@8+iZvUVy6b&k z)Xv4u{>FUP&06(M6>@4*w1{`D#h-1oi^`+!LWSlU0cdr!=@zo=n3WJr=_W>EUXvW* zGCRuvX1VxRh(xV51zCz~RKGLt0}&s*O6Up>(YrO;PVA?7dshh#Gb?uMEU_cl=30S> zXGd~dVv6(-l~U{Pr)-+}KGlN99-ckZQ%JI%c|O2@*m#SLLw5;Cc1DuqcAOXyc!k~k zyq|(??@Nvp-V)>G7OPk*&n!jGGW^OsC34Nl8XSEoxT9>Ng0Zv=2G;k$da46L3UW&R zG0t<3unGz)Kq95&e`|Eq9GA_&;;}35bu&*0o9IEf?mEq1%zeYjtZj6QA87hAIs%2P zu$VcYgT!Mmw3wAB30r7mqIVLIk@~gAL{`%#mp=if`66j5{Fk2V59ok7SSJEO)=^>ns;>V%uKece z7qU9LB|F(%REA~A!`I6YP0U#9r^UuWhl$4*cQYmK?CXgy?$*uHi$&%wPwC1L@I9&S z!~6qIT>gwgd2Iwr_3TtBArw{IyQHoAEkU{#r78mFl$cD=&2o>w!2^tV>=pB&R_qT@lgT(xS7R{5Ow zX0SwAj`)n~ag2-GQ$tY+&M{qqX*E_u+{#m}nsfwP{$ZEM&pSH`e`is7Ppw^)yv{BK zZx6hZ3A|a>?Y)JPoqZ7xRJYb#l7>uMDqHkYdV2@-!s47ic$sbKM93MLm!HL(nwPZ8 zat11(yK5w*2-9KGx8yH-v$HMPNEu}uxLeWU#scE0zDSu>IVquSmphT$@JCkEB9yh$ z#O#>T+@+R`S+)U-%j03 zIKV@qATyh{qkz9K4&j|-64Mt0oL4qGup~HfeV<6>wq>LaH$AmB5HeO@T*ONGI8t~zE3FVKIE=dJQWQr) zgMW0kL`iAiM;M*@?Uw=##->sN9ww)7+Z?8cUXmo|B7eXqZ+ z?P<$P&ZN;;f-u#Xr}}RyIZO6z;G5?0@!{I~x)%{G){eYD4!2371v7Eh_x`ToWR}gm z-Id;${6ErFh%~n}_=qyNQz7KP3!-p!~+ZypkA%ZpnU>(7MP{&aN{Cc@_iZ@Kd!tpavnO0&p8?&2&vAf0spG0@ZVlu z=I^PoTH_)i*`;%dAoSUi3t;fn<3hD`xWB3~K4D-`@9+k6gFvRisbriV8%Cs&XlgTe zPF5KkgBP?u4munKS8JbZUYo0=S?c36z(F5Kn7Sx-7~6Pxo)%W^@8o7W)YqU&e5y6r zo7Om`@n?sY0-9fE17S)dJ?BpV?AkvrF&QWf=^ZI{1ms|Mp|9eGls)85X0}Ka%y{^o zZQcESIKh*sECrnNPW9Bi`R3g-7;vbll#MI}uY+q2VTphGO6@-#Pp=8^Y1`_d@Ol2E z&a_0SP@Y>ro#J4@I_TV4B6w}NVNtVLW-g*$rTN@=D&P-NKkr4eaxoao>Y6DBah8Xn zfA%!ZiEg8KO;-urIzlHiR`Z-#UI)3t-nHpvoN!T&*e&Id5tMwBgT1uU;PCn(r*aA5{k{QDE2fsRE6co z-JPq9gzxU5q%%>13i?@BSJX*STQFRs`zqqwRS(UO_O4nYK5iRnu0^Lkok4HBUl zyZ8x|MTs~UB?n>r^xfY{E>c|=CuqYM-p|^MID~r_EMF^nazv};$C}hzSC&o5` zMc;`34CUA>s5^~E_9>E?O?m)^z%uVHm$95GQ$yOQr3;;sct>wuie3M1MT(@^M_HzeyOGv@yFdLe!@ADiEG(FY%>D2x={_HsC8#bzz50mR*fN3FA=pbFa%kH$ zX(<^{5Zh3jk|pT%(H85GLxx(?Jmy)Kv>FA`Pgah&{ZGSZMO>QJ1w^hUPT1%otg!-v zzH1?eTeW5heDDZU0=KfR_THi=+)E6 zJZMHGCsw@XqzKVAt+};kcx%Ie%{2xnQ!%kV-H8GvDlG8>@TZT0PmAuMWn6>@O;~ZU zP-_F}9`1eQrQZr&KiQ&*&7@gxT2olM(lL=u4Si@VZ3mEX8W>+Nw6D`6vUV=~x}N(I znQ>3JA3ZU6!hbU{{V5%lSi(jUe!kE=H`oMv-toG(+=4kzVht{p-35R=Va@Usq+IQM z-y16oje(C5vM%63p0CR1G;9^Zslg)!N{gt};q93cgz^63**89p+ZT)+q$&zOo^}8E zIF&P}lQ8Dk`NZhFOy$b!tkunVmYZLF2!>hS18VADdBD-mV2%fgQ9Fw<3t@9}A44zB zU2jLV?E&k&rFlp{l~bj7)8$bcNFQ7P<>tO^KAz42N96NFdSlw<$5F(_xgN;>#MvZ3dAgIn9KB% zn0MEiNsAanm-Vh&isb0ep7f*-3cNT+T^>DXS7>gWZRn}JhONf;M*qZK=g_=`Ct^Y4 zb-+L59_@DL8(8?`%!R1D!|04`#H*VG>H58g-);_2iaz*4FblY3Q7@7;-PM_y19~G5{IHut_%djx1z>q378unHw7{ z3BoFB;!2nPq-ks}BsoG#m)#4_R-5~0(V%26SUr#)jCe?HXA-Q>>lU8%hU*tkw5)+# zU#6Y$J^E&cJ6tv3Urc{uTUEIw01R)($mdpd#Nm!R%t~ zmyqi^+hMdI!C0r_*LaK2zYA(CcX$3;YF~J7_Yl#XTzyPFi%b6e;D|n)o$j7WI^R8$ zIyE>y2%$sCw7YT0`ubJ-Blz}+>C_UFv(gH-t(lwQ$>^KUvm?rg|m! z?`*a5!6|w*gCh`qZ2UZN%?zSBm>Xv+mo+p-QAEs~zgJ`joq#k(32=fQ-`!0E11m<( z{S_1H-2ee4ykG|*ZvTWx;iz5F-N)dP8Zp<%R|f48#gB{x{z(GB@)fy9n6)>!OAp~F zIAP5k1~!<2sg>0qnnH{Rh>8*}WGrSB_yp5CF@v*ym5V*X@mot1X54#CX{d!flK4!_ zNo!~Z*O}Puhd(1SF_Gbz8=0&aK9dU!Xa0BH0%@`sSJIWQEjDOR)x>W{^7fVpHzE{LN19eLl0iXYs=yt82U0Or4 zrNVjiQsg6MednUkVf)!o+v|vnq7)RJ4N^jb;u*m{3hK*qXZQ<_kJj*>&37Rr=xbDl zIi`Nz)^Jo=a#aY9OMq_w@+Y5)XXRMTBP;-%`?m%oi>*AW*yHWsC?0@WLAHYKa z2lchO5}yvS4^`tlhv>eeByt4i_jf&24*NPwGK73H=^8f3jL(8syQ-J-@Yh^;iCeP%yLs)r#CTQcV?Du0VvvXVI&7d@MdhO=T5NJ*_CYmH!3%rr! z+`10SY<4*QRGH1|pN<#3b3f3B?VQm)AxnLAGkZ~Oe%17=^;Uh{+XNNdI4O>j-^x;H zCK3HTSt=|)R3bFYGO{_<)SNgW5+=TRiIP3s0s=NP-R&nLr{jkzqPjECHw+#ws+ien zP@gU|^G(%k>k9(}nb{EA@1F9=xqUz*ld$4e?rxSXU$I+!EtO@)e-`VTXCrOU{;agY zjH*`!7Vr1OnXIv>Mk)-YVucp0)Cl1is_f~f$Hf{{6iFfPvp-z5z~{bV;Mb}@&WfSU z_V(+=VE&pf$|a@@lN7gr83o8I$&^RO5H673#UxOmq#F*EN}6N@21kpgiRFpG;3z0# zVJT6@sTXj@hv&RqvH%L~002Nu>aZBQMTSVhxVM-GL@*()9IvcK7!yN53y@1Q8WTNT z@Z|1iQvCJPW&DKa=LW1F_wv~xP=!zOt~7JqrK7c^&xBq0us%rH1U{{6h3 zRULI1BI)vlcrIUwuOG@ePe6Zu80l`#Uw@hQGiqOYue%5m^6M6(y$-}i?n5+59q5jN z7UHu~4m)=!Pnxsg->=i8G*A_?u@X#7UX0%!MEfyY4|-`X9E0MI6F5y?ZvW+KsWnxN z5vuJHA)0K^WD6wyBOBe2)$mr+YLXfl(|q9 z;QpAh&*1k$5cGayY%JgSogj(2bsCnyeKTdD&FzefHBK+M;S2Ji9~)v@AYcyjFg=+FcI>urWB6=;k5UDGVz^dDh$V}qy;;2Y_m?XB{| zL(2Ysbf^JN;rwRf{y}zO5pBBdo%A2P;&Rv=;*y+xnH^Y`f3(OQg?s~*jA2)MkNVoG z&2F;YEMCRNUrx=~Emn}`iaR6Y@{6}i5B?g=Z6TR+STI!T@rGCpp=~a-W?cbp=O4F!#V zSe_IeT_iv_I!`K(hA{(BY!{xBYTX-};YJ@S8=E1K2f#d%Bx45DE**;T+KPG4Blz)0 z9uP(1*AfsChbaLH5a{p-h$Ct9B@92Jb)*z*gZ4qcYhfBO!v2aF(- z#%IBYPp2DAM2m`9J+I4-GZjXj1?)CdOYGkP*nJ)c+Z{6&zrJ6v)tfJ)LS~C4ZQHzd zcXuhOR6zBUhoNEldfhL(msNCXF$nCkzAP~Z?HN#p~ugrnK1sNw(xMPgEn z=#nrviZBB!!__eT@i$S0{P2p*KTFj}EHZDlilTdO5h)BnCVtCgUeOaP_c>O=T(8e>fcg>h z7_uX#`~IL4^TSibIbNy~tuAuTi}jG^^9ubn26UD6tRNiUi|)jxb%`lm(djCX9-v8m z`maW-n-A6@S=6Tfgc31Q!Vd%+*e7&yaY?GsQ0hcL+AzZU0ZmwF#7L-gcwWw?5))nk zI&T*`=^#=#_7T4vo`k!B*iUk7jo@H0%;j%izsCb80r?1k9CN^I2|{!|yRsSg9S8=4 z5bb6_d}wPZ1~2@C&te|^_F{$%s|cm1-+o7bcl5%pC0`hl0)O%BnID2)FvzX`f)L!2 zf=1Zv{VX}HIE7K=l50B8mGkdF?JdyI|HJx-Hx z(hFMKJcg6m+0UeE5dT_skAe~sY?#|^1Ui|1kbCi7*fjHb8ZA~<0M5!D1p6Pd8M|e% zs42cRVqp4H#1fMQu#&VI+BNkIkDLWho_PW&@}XOu=!7IZJa12U5Uds}hDLTm?4J*r zGWeV^vQRRV8)TdTR4NXCXT;dWfY?w21Du5=G_Y6LxR{Wo<5hee^$mJ-pN zP#Q-z%K4Ru{xtEHJe6Fy9S?9oZxEAi7B>d!I_cwPnO@ush&|csgI+hA6}ob_n_!Ev z?&@k)!wqylmdfdZO{|^Ca+dk+@nBVT{K*^xnECdlNFghLLyL1~a6${8^~yQ&XpumA zdCl(mlmN!X2Et)hdX=BSpX$?Ua%ZDbNc~-f=Nr8PkD6~IL1gI(5D73uKPD4C5RZ%c ziUOdt6qOC%ck2>2R4L%JAP1VQ(=@UMKU@S%lJI?{B_|Ml!8Mfn@WEg8{pA0aKV9r8 z8U8$&!@6v;)+z9%-%dXTH4~j=9X~9Q(@rQCe-t~AQc9k!eFz4Bpa2g$LSM$nK~7q( zd#2-$K|T{n?G>DO;s#@80H{+F*@(;x25qwFa2WpGdp35tk_Z-*n5zG#A?3z zt6Ayi$=(hcA3UDd%Uw+B%d^&_(=YB$V$86wA4>C;>SP>*zqV+@DeZa4nt3$mzuB2G zNmKuFMimVJM%8$2NZ1VK!=v%hgittbaBUf2x-;bCn{;A(D&?_!MNLL)`J+-o{uuxH9@En&S%~sMTdYC9(&OUxE4*p6zP2by_D~_=;617DM@D5N zVPV$l@jd*-n4>-kEix%;(hKtX0sGp~&U5!c9>dt(F=+}X`_O^XEK7E+j#t!D^fj+t zmP2ZEjEPQrRed4ML(unZ-<^!23{t%x%hw_g4?nUx8JN%8Oo|^!y3w+IWhU7_PpE)% zoKH}P&F5eK zt*&JL{*?hrOAX8r4U;HdxCW&L4`+O(#N8c?Ky-&q!zEfeL;<8{a;Dm}SekH{y!@qQ zDgae`n42BQ+&I#*!HS#)h&aQzVhDazXYqdhDMx$GCj1&SG?i^qMDghM$~s)5AQSMs@2-CDK$lRSE6IJEPL-k!fBwc>TNC=%%@9_x zWYbJ3j{J{-=sH@Fi%C&K_Y<^M|J|8dY*aSz4V{nkHFPfmHzzs*8abmJT`e|}E}5#? zNjrbY&GlHn-sT@^ew#~oY9%A9y*_U3j~~-TCQJ*=TMeJxTVGAupYFNmzs>%&wDhM# zk-N;u#JO$_$`{Qx|B2)vc1Gix+ISl>5j*H+zbDyy?~Af_AnUNI_Y|UwS)if@gke5= zlCeO|<2Sndb~MbJ^fY>a_Z=h zPS!CTXwNU>l~4yE4Tz?gfeEX_$x$t*Vr7n zt*EEO)b{g<6g9tI6;ocFX7~IUED9lfU;hf?B}jHq=wLx02B z?*aM`AsuEjHy2R!rB9k&B$8;?GFGgBIkz12Yuxu1vhmN*{SkE=@9|K?bOm)CaM%^F zl?B@bu6p1D+Oc%nH)Lt@?dv=P4ARdjl_N`yW)w`i9nroDS^bwjqL*W{Q+B7rtPF3j z5MIH84D!^~I5!oP4=1)TB?g`8oc(UEs5$>hR5p}FUYfz%bG~<*i#c}YZ(SWeBcTml z{MBMEk6l+$OmUTEYR3c_Wh^l!~jmo0F6fqbr}V9P{l_ zm;v^a!g*#$5|X2xTi+NY3k}6Y@`8*PQTfqPCGCHA4K)O#`6Y;g^Et;PP9Vf{Z)bJRC3Cmj?XbeB)@y3snIdJlakZb4ob; zW!ll%bdw!A&*0YZ#k5ZBkK%jSL*4G(d89LUg53MHnHop5`h1#F8yD*EEZ(mn#G1Og zP`vvO!WX?h!xN`|c}VJ)SFb@!4IVtF6#n|#`cdG8g(cU`Pgz!*fxHU3ZtLyj?^CNf zE0{TSabo7_$iKt_cWAA+#x<|`GDe;lf8D?*gMNibTMcE^ z^M>zw-7nc$N2m2(>6u=`oe{lOipVJN)~&URmC)6O7d&}PHvXhpk2c75k8-uBCnhD1 z&57q7c4PJ@*T)W_y{)Kwybs0qVn4Siz1iyyus@y=p568Kr3tj&4HA3{?hh<7lwutI zKU}?KLz`U_wp-jKxJz(%w*tW(+Cq!FySqbhx8e>3io3fNDDDo$-F@eN-)HX+`v)Ys zR<2nyvu4elM;ubP`HJO+*p9i7qBPO_A^`M zbAia@g+AE2v}>T4DtD)ETgBn(&?ifPn|x8lFH`{m-*{gpV`TI&dUQQWb#V}x2cj2s zlX{>2rVe!A$L3!pL&0wda#X~L#(pytq7MWXsepta6I5zX|84&BOSQ^3PeP(WYM@Ys zh}RuS5UZ|NzDiu+;X*m4uF!+@1=-tlp*A_{sSxUV+pV6Qi>iRFkWM&1Y>tv< zu=|T=gqWYCmt{3Swu0(dP^gcWAM+~M8FPgNM%v6X6KNg8ZC78vbN7HlV|?K2N+ZM(=)NSyYXrB0OErNX(erEEd(zZ?ODf{ zThf`<+EOuxHqsrLgT6L>tQG%0CW}|0zkIJHB(w>V1kV)V*<(V<#Uz5$q@szE9HwX= z>@Fus2NdC{d$lAB)1>chN1$j6Pym1biWg2-7*IUBkjqX_eg@`3(VxmEU;yROw_B!e z8osv|KWR{ejY`utjsWjO_|P*NIf3nfvLWG9{J*v-n??}*s=u^{B=%~C``q=o8GmDuBY&GKQ zReNEP^Z5nkXmo!sIp99 zYXyEQcL;n;iW0S<6yNGl$-6rp{IRr0j(<@<8y_p_UV-AKE)T7iI*%}!q^!Qk`;o5@ zG>f3S+QF7xXu}t5d-+roY?QesJ((06lHX8>vLEaQzp5@sty{w?^u-S4f@z#fJSEM6 zKwj6*-!q$eRc&SGo}RSCPV|7G8YU{yp@_9P_o4N|M7yQ(x)tdl4Mab~`w(&Ny6wEr z?Wvn?@Yqa!Vm4CuoY%oxM`rq+W{LM;lx2~j8P(MPP-4ZD6uw#e;nkG5m=#5G!M(fX z0_y;ho{v?h6-e!tj94!c`aYxf*N7Xlw|pR?5(>k2g5&u)cjOR#krDFnr4%|DBp637 zVq$S9U61ClMUdeEfIHA|heZBtw*i4234d(<+l%pegXN`SOrSf*zzR0 zt$7BvoyIi1km@uTvyLaEu6JV;>8`)zyJ2_z$ybuo)%uiro;S`R2gSRGR~r1@?957s?j%L81rfC>X%yltRKyaPGo@rba1cUhU@9yzs%Kqx+ zVRI|$=?3Iay4+2!M8qeV=g$xQ>R}4+w@{d&+Ec+0f-QiHheJ`W#+jH|lCSNj2`qrU zJzIvc9A!yJNeFcjw@^D=ZbbP>LqpZ+3I9_gWUkVYG3@pvZi!&R213Q2NyylMx18Wg znB&i|xd9>nVhbu@kId_nz#4p!6@H0DQmMogFPi)9%9O?LCEM_@+e~M$d_ZnI`(SVQ zhJVr1Es5f>&nNC0`GfCVD5~ozG+np`A$4l1$l_2^=jDJ&hrc8KezSl1&DrsMtG&hR zRU?tD_HH$Q#4;sZp#NuKP83>BwRPlyqGGKD)LUTgw!N_H&`z9&>U=*^$waWBNDYUe z?|XqoIHaA1k^DS29-VAxDymxo+bQqtrj4RoLB-{424%hdt`O0Z9l7mps3xB+&)bij zl9U09G0(OXJ#=KuDo&WOe_*al1H+~GwijloK;=NZ#rKeZ!}mZpOVBwCh=D?|G$+Yp z&DHTTs$ThiCzQ3;4D-TQEv_z2B>LpX(zW4`4lL%Yu^;v$S!pEhmyYYttyt`3NGu3y zAbEYAFC`E%LsvwNmbIcPw1nKeXT?I)D|?z{G?z?yq~7Q;xU*G1QQ^y^w+T^}_|q*p z7R|L1D*CJ${=10CKBzW&C}vucs(T;#Y9r)^=1-dc7OYwGG=R&z>5k4*S#>pSo@+3b zD(3LMxB2+I3#WBeY^G(kx#^v-QrSqriE@1)hlYe$EE^Gi&W{zD2QKyY!w0591UKi= z3&YVqM-|~&3(Myp98PnWo+{+*Z@6YoCnWUtYLYHOO3v@yW~2Jfo~Sd{s^THECc(-x!c!b zQ4Z%z&{@wfy05i0e2Kf-TUAI@+xw7)S23nJcKZM;$VJfn4D@^@vszMt!aIBlRDyr! zkf;OEG^%cQ4)9q?YLwpoHcw*kgXlanUYUF;F79A5v|0u8N8>0i*V%O)N__ST*|H1Y zT8F82gH=Yj-THHZ_mueIN-KtwGxFcxRc1}P-&TEG&UL`7+1`b=?dOMoE!n$tE(Me; zmm|$AtG2gJ(2P--=D2yn3aiE5S6UH7vo#F=_CSZBD}&UVR#F3G2gv`48iL5)%MSj< z+-bX0((}L&LnbdVx?f{M$NhQ{^nJtK@qA-2x}MOZ{9nHvR^tnn)E*WV zj-*MS0u>FGz!mqI#}z7l;wTm8w|FHNkOl`6Te7UopP^lF_}FE%Kn~WV$w0qz2M$2x z3wX=ePZ?B%jRh*AqlI7yg?9=)Ort9Sv5bI=_nPu#cox%`^oYPHE7)oh$Z(g6DhvgFepG;A*YE<$7{Fk_) zyc}bPeM}67%gpcQfHX{4l;cIBZ%rT&njr~h(Cw@A23e<)iu0b$LP%Ozy)-eqth`bgFlJJ_cmG6W?*O`xg7e)K>u5|2>#*|1*X^t;^qvCO%0ANgooJ~^xh8bAEDyv{0 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 z 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

ce|P@Mp%u%U z?#K_TGu*2em;X_y4(mK~J6U1=KS+OPd7iAbEHT?ed}H&x+l>|D5wrVRGcbv5gZa(dE9WQPT8sFNZcU*_eZEdm%i$rZ-?d(zCdT>Pi z{bDIQHZ=H?lB4xNi%zJ~T`9-_fYv2V9We;wuY;c{$HE&kI0F#hkM+C@YfCYNY+rP! z%NcVy0||;7b~XQvGa8ZeB%=(B6_JM6GqdRPF1cbwdaXGjYi=h@@r8qskZeLDeO&p6 zyrVpkF{LAcEZvN;(s?lQw2no}Sf)C#oXACFF|}JclPsH#K{9dqIs(Ed9P_gK*SBbL zai8RO|4>ps`jPiu0ZRfKyL4c%XK;{=;@AC@@b`#<3`&F?G@0<4;kfE+%-yU+V^wqT zI{~6dMue9KV7@COx#Vzg^KuO=+W8hJ9BLj(e^r(<)177aa)Ogi5Ek?|Vni)o$dyVZ zDko_aTH4|%mLILmawaS(f4vUG`MCdaQQGW$ zeN%9hkBc-KbN**TE~RTIS^W;+c1@KqiQP7Y5A%KDS#`05K4L!zwBS>%eIvg6u}?7C z+guj@nKOWqfr(UsojEpTQqj>v`r_}GIPg#U6xqu5Y8vnd)Zq~xd2=hVpaaH76U*`V_jOl9-3D~Byzew#XuPly6IzBkY4lc?i7CORh{hW3OVg<41w22+ zA?SM2G3)@B8{N=IwfF3)wZ;_EWzs>$Iq%vnF=`0wsj%4SDC4aAop*Y^@4N1P^TL{^ zKg`4QRuYIJFYDtFA=!E!==YH>?Jz-jFN+6>hVnoL@V-_&95-nj&LYVG)$t7>2%<*u2pLG3 zY#r`>&foA%?f?!v#>QUBQ;=I-aN=T65uLJv_KHgj7mu}&Gfr%c%Y;vYZS7j3yY~?# zsp4e)`+jKis_l}v_j57dNkQg}&4Tkk#(C0V(=IR@q`cp!4i`VZX9d!Cj`T9eLOFEo z(-gin`c2RG;KOOjX4?FSGA({c|CiQZw`WO3D}mlzpS(aqAId;K1(94+Xd@RML@Wop zd-e<$Xo>UCr=HYGUwSfI!ne$*8$#6Y*m84AV#-MKOCq)ADKNFo8T8ss3pcj`8T??b z7$0@hXOYq`N>e4K>Hd~4*`9-?Au-akJ6~=k!?a0@g4J`RD=yQjwigA-{URP2mYST% z`5B1`Xs8kb7nbW>u2OP@d<4n5Aozwp)V*ajF>b-T+8blI>L76dDyqKn>v7h)5qV)q zl@~wE-#?LANQ=`=a4_XVoPxlv)lKcO);FQBfg*bof(Go|4?$AyE(1&b{sDK3oKpdV#F($qgahN2I z-eNrN%g48)J>GqzkXU3I7l8gw&5#k%Kt&)IZx)&a|CzN}j5H4D>5<;;qWdhQ2F0ge z$N6Z3A-#KE0|iw;x0zYZ^7t^k;MXss^FM<3s7DO8#3sD3``GCmskc1kuX7`t*8M0? zCqmF?mAb++mKR@{G}6wfR6jYQTuQz>&#k4&Jf?O(%L8r56G|1R{jLI4-29f4VFccn zh4X>WCQm@4l=(C&-7`wcaNQuDSyGMI-PleU*$Q25HQenW{c#|;=(GVKSN`7BwbSJhvO1agn0z{L%o33>A$Toe|L_})_ zu5+KwnKD)k{EL*}DwQS2-|+Z6)XZb`>CrKQ^bz$O`>2;{GQppgH@bw2gjXB;pS}jJ z4z~+-wBe=Kl%SJ%wJo7C*f_!0USsgl*WUVh#l4dE5Cm-v2$A6!9qrjc!IZ*Cj6wnS z8`xA!B!xvLZ7MHv;Gz(P_n$p76QT&qt-u4Fi}V`*5idW)z1tef!bsL2rKNXxzOnDU+Dr9-0PU`(3~jQT6tza4urF* z+L|b=C|GMy+a=P50lfVepT^~l;;ma+3?|N>wS*zz5eP`urDnG;GE^J98UH!oGzXN| zJ2OU2*YN}e_>)D0`{xTV!98*9BpJ^m? zMmDx!CQ2P|f>_~28H|#}eO7x1NYsIpY#(wM+6q%;M=*cB$DOM8j1Uy0TDnq*eLWif zJ{weDE+|@#(noKKCgkJ^lNFw_Q?H;Wollqb`))HOg?YqLys7^lIr|7CI%p?HK!N-= zh=OS|&giU%sQr9ieori*#AlcwF&C0DL(l_diHy#mJdzBy+&(}JOp{rW-zHqlM^(_( zWwIylk&z^#>4bs6Z|Jf{cJ}vBeC+{1Ca;qnXjuPB-I5D}-$gPGLQkW$xWW`lJI_qs za~#UV9Cl#TLLbrl=EjtcKVxQE$1tgV4o5X(5w~n0iv*U?;ISI&HBnx zJ!xviRWPDhcT@dJE7t;m%jkJIH>=1S9K5&m%j&2ST*+~&#?=f2gvU+QA>?^=1=<~8 zn5JqdAvN0}*zUKFi>eSdPh%=O@#)m@!7z&<-*|JU8O#V&hvqKJ}I zP{!+pY`5dz>|Ag7Xu(wRL^!bFxxg?QN~^bIxNEU%xU{=csQ%HTaU6ni>6A z`~uIh7CtfUN)CLNeRkd3q$N@);x(>b#OWPV6`Sa*A}+}gNhtoA=KLv_UQI*M>lG7D zjdSY9bWBckC7V(kSq5BaNCrdBML?PY(+3OY0 zl(%nqusc^Z5NZkHkvFo!?Y!S34$}FQq)EZR_mv6f+Xa-5Rfa%7tryb9g>0=W522Sp zDVZgPaEajRIvUq)KkyQMcoWrq?gO2a|7KxMp)Q!NR2v>u>tu-)Z1=mCW6-F>we{= zqU|kp^?9`Gek7>~c`Npd=q!Qo+%i;i1fqyS1@#1RJRX`IsN{s1>QR_QAMOJ6vv+8c z{5pfHJlP~kN>^ii%`N@!$T~_pL4uBth8?g;(5TB!Xg;J3Yk8q|D8(W;T*Ikz=*}!}N`wa&0Upp|U@1S|kCkRrq-TJj zKKCa&JHLBr=AczgVKd+p%FAzUY#t!H$_Mq)@sp7S4v zcG%;h_$Q{VxByzvH)3dl!bJ^qwDkNi$wU?RNjPyc0S2LH+#3;EWHF$KOBeHJTA$0C z_c~NS5ePDiaOWJNnbTym$ATyd6pCpO)DBXCoD*ON6DX_m^7Bv_^6`uytNNTF)%nOz z)7+bd-nwue+3E>u{t(C8r4r?nMte!o2A=u*QhZ$ojq0Y*Lt4BJB!$1OCq_ObZyv>c zYxaDgIaz6q$y;#UUeG0Xznyw}v>HONEOIoM^?mtAtn1*&*UAKBe=Lqnfr z!;n6%&Vf=jC?fho+BGHbYz&O;Wak2cu71rS(;__lmNoD9 z4wc+}sh!-FUu*V_h+<{oo<@Z?yFMSvnvd?1KUzbZZDWlJaE9Ob(*2#t@DtFK5O(Rm zz>OMCK(I7^_5)F1d!858;6B}7Dk$opU5p;278KwM06nGBumJ%a?T#~+OhmGiKgb|Y zo<-KX81G$)%+dsil(OYDckn*_a^CZkfQ}E4Vew?m zfzG-sTi(pF~ zL%z}AZjOXE$67%n((K^G;Kii$&~k=-@4N{Hvo*9b7X;N_M|y&%zy(Dka`3@A{Ppsh znD#br3=IN2Sg<_eD+g#JF6Y!=DY5h}>*5gRg&l0-GCFboe#v@!X~>}b$t?O@3#K7d zVJi@)roi*5<4BB3f6soOLX%uWOpJJr@m_3kC+>XyEfAz;8|*so6(sH|Y{olSuK&d? zHfMGSn+*2%*AkA&hng1;v&e{K;j+vc}zKAq*!bClw!{?Bxc$;GcomX>p=m zzTGO=HEqZ2UNj!oy0jk{mc~UIg~hv@VZ#8imBlnPA&}rv zjpe~1aIzXDCsxvudJ|XUg*`)=VFd=`>_)gb5J7biP2mhe!tJVCaS$=tA3w=dU;AjC z`-Ht!KpKO4A^-md4Van6ZF9Tv+1+vc=+SbFmPk=dSNl5BrJ0pO3AaCT`KHccEk@M) z2nC00yhwAC1tRZP0q+&yMiCdj<|FoFDCHx53949f5cJCLjn;J6$kn`)B4-7OO7zbC z!1hV5Jv+DAR-g{NsWa30K%a~ecVY>&aVQHR#K4P%XUE8(oOHfK{bn2Mq4L_OKz_~^ zkG1w7QkIFeN=iWr;hu0U#0xXXN!VOqx~~Z;U-#T5wAd0tE&TNkupD|%*d|;%kagwc z?lx+7wBAVFCQ>~#f$N0u??Y>sxOw*~uuXPJD`gQXn6E33co>$(p%f$bTr-Zf>Qmg> zs+x6RtB#Thmk(n~ByBrx6I|L8DhkPf<9{k78&{7g%A7oH;o~ z7U*Gw819FY5FaLnsS7*GGsLPrcnT3$TYZ@Rlax9R?2pa7BAOOkGu+*J-0bo?AXzp+ zBiD9JMKRH7e$mR58ka^C*b#W6sAesYzFogTz!aG_h6+GVu*#quKrrWNv5zsCPkDTo zHPR)U)6gh%v_tWhuwH~e^e}bf9whIa{YZ-HoJtRi)w4wPCYPu*UV@tDVtG?Ku^IVR z5`FyQ_sfG*$Oz}u-1N#n`@akOtM}56AKxXKtmcVQN{hVtCNbnr#i-5o)}YNIdl!S$WgisGmX||>%@2j0azu@>g*Sdg7R)~;FwTtb?h#Y|xQOwom;{Fc zf>&m%f9CafJLg4%6JgcIZ)l*232;*)Hr;KaY}rOeUPv`WyJvKlm(icH@lir_Y_jHi z*LX2#@kjg837P9~FJFyyhqxW*;k*l!K)D%J)Uv{DR8Ja+pX?mCzM{nN3hCc8bEeu? zO59&3r|rCA!E;`V9r(LDbEocX))byI!;r|WqI4Lwzta2V^H?R(8NW}(3mr_~Q{ZxD zAu`kt)I_CID43oo<7q=@_gi5@){@~8k41O^ATEy&^FbjwaaluYh57m4%dw?)FKeh< zG8c)C^@Ia72yT+46YmJZ++PzpOA|&TxF=eU$H5P<1r*1XW+DJh-fVxgZji9c96&X^ zzqeOZmS31p0iRic&Cv-uElaDacu7OnAC!M&wRNb#5r+6gE~&$4m9v4~)JpRE+C|;~ zN_wI6ox$^!D@oE(ByeVIGdK-WjEZ<49m~u0JIhk%yKr>;d!Zl>-6HwK%8CwTl6?tw zQ8DP!G#ST9Ccd?D-}7o&B?xjOv^C zi7r1#Gdx^>Cy5E!?-!JB*02BTiA7I_4wDUL+_Fv=gKz$!k8VwtZWw=;CKW_bnly0h z<$%^nm6cGCdr*g;7%i77l5br?cbFG>JJ_?>!bk1YWfE88WN5wH`ct&d7Q3ocekZG0p&eYXK#Dl>W{Cg3l zY|R4%q5%nn8{~uDWeAnp#BmHsAci`KK&9EtBpQXJp#KQe=J{f-f>j{vI{+Us^#S?B2*H-5SED`{Jx6Gq28Y+mZT(r4olbSWp7~Z zHLzLCuW$Sfil#kKP6Xytut_l67S|z9Pog9@q#}D|g`};(Pjbw?nLz_zmZ?B~=ilru ziAj&!qJ>S=U8je&-Qyhi*Tuh}?7#A9In1lNUp}lS_EG?Bc0$%k-PnXsBm`^2o0BLkTOjZZp5$lEVj(1#xm11bY5~t zdRk%$&fjDqlN$^3|A4S{znB%!&M_NCz*7rFOIgeMGH{yF!B>xorcunS47Jrb5yN_q zt^Ww-x!<5k;LFTS=Hq@zM5;74X7thGQAJDX&)T;&ditsAZ1OD^$zG_j#v+DR`XA`a zV)H`1?IL0aoocZaHP0|O`^c{>XrNXwMd*OwQ&c-0K`5F=i?HRv1 zooK&Yd_cIU(UPlA_z7C{m5Wx|O&R#e{C-Ea@(sIO&E};qWOkwS^;i zc0!bizB~(FBrV`mDv|&L8`fsH_F3@_kNSA;h`!TC0T>OHQUJwf2+4OeEa6A@5^zI@ z?7IUNfkZpO{T~3I^D$cKuGvek<1Wh{sO;0HL$J_ALKyjX%C`r{w8ID2bs|45W&Iz{ z`)zc3J5_2bhM-Lf8i3U&^{9zT#j|GEUW*tJ$X|Y8oD^-%yp)FT>?$nzr9EYW6!_0= zQJ_y_Fw1`d!VA&lZ7&|)gVd#QZ zJ=OjoW!hykBKVH>Y!S=_jg*p;3HJxoM$WbRC@)-h==EmIS3}t9$d%DI7;dNOJ-0zn zC(t6KlWJ7@324Fd5K${Lga)j*`>Lt*FW(f0N(MWgWzaM`6RoKs4RtP#zA6KfoypQY zut38ou#F)Z+alWBH>-eD^@$c(Mt^oqz!0`bZLI(Z>Cat}B&5gQo$vg6gB|rPk`ore zxVd!{w>ae>D$&X)Dyz6agOLU&%DL@ZSHcp3(Gk%O=CDZxOw7)b!z>#0#Q}NU*~lKe zIu@T<=>b`vL?ApcD&($ZjDzePemJ*x~4? zzM+d^I(+*0Cw1i)UjC%)^0bWuIjU?|nRUt+7ypp|U$-A|-jAP=fXd>EwvVx>MaYff zFkcO3%Z>Jg&(RpqH%>7jVQ>#`+MTrRltFVo$y)x#BBrIsi3S4cctLkqsS;J-qR0fR zR}1(j$jJANM4YMVn^|tF<}f*e#b0g=X)=qB$enWs_D9gMom~v%=9ABZ7Xdc!GqsHw z>1+le{8aM*nCOoPh{J)YgXp5{>KYm*6q_K&Anu_lEH3&_j#)-LYH%;Y*%Hf~7k{W2 zk#<`hindmX*_Rj0a4rm3SP8$&$;gObsq?#}l>V^%#^C2KDs7>=vv(Si4ML>P8tgXB z?>6^%;riA1Kt`yQjUy%}uTl`-JG653oUrt2^|1nJN@*0f_0TKa$Jnx!_8?T@okqPc z$8K(QFUcaGJ*RzQZGR-<61+i}OOJshk~87DZZsqc45?GO zjj!} z!N>~$q@wp;{M~q;hw`=5W-(1$@B8=e3s(c^#&5Mm1_B1a_md?eNfb$EbOYM?KmDz> zrUNUbOIf*&exiXr$uqNv#xSTXTc`08W9OSDLW`ID^w&@$$0Ox3%;($qC!%Uhlb7BM0^YmY?t;I5vW*>Y}-;B!x zGt;gsBzxY~L4?49dlU7d|2>EK-1NX$JyQD;NpenZ)o+y>J7Dq8pn+Vn|@;2iYV;?YPU`?3=5-j8LiTdAQScqD~C==~-g z9zV8ce9Ze^rdLRBv_XJONah&MRNxt3f7B2?J0r2}9cpSSgm+{D z{ykFSe*S0g+#J={6e?t94XMkouKl4T`sdRTEq-t0P#MvZx;do+VKbHPe)`&AYek&! zc(^cH6JA(&nixwm2oD|jQ!e;ke(z7T4lEe4nTCObBPXweB^f2Xx6maMu;XUSyf_2?d(k>PfiZ7tgFiH_yuRJgl=Wr&bb?_f%e zx4|fe%i1V2iR=vIv*{3}6N0G}62~cj3I(5kZY2x)R#K?CE+wdhwDN<+SgJth8GKuY z+N_gUnZ>u4h0;?PSO(uU|KC;Io$Au#Z~B5|X0pkVvgEvCv15SF%^B|z74C_P)4Lck zmoj?9vM&*GdN9*@L?_1}BbZo0#GntieuQ*)J-nPWuOV`LH#dq}{&=O{akl}Zkf5ts zE5W3KDEGdh-o+UT=zRu281d@U4xrB6OU}xjRKB&*DTiiU7A=? z8W{D{M%H3)48g#yLe<1j_PKFBu+4Hq!Zu`8Nn>Q zCWY9kYJbqXCE-VysIrj{NkE9q-)a+-EA?;+QAmRkXRqVnY*G}EC+t158mr%1{qIV8 ze0uZ|`~!uA-?X(%lU7=vbND^cU>BTxPV>%wO0TS*6F=~I|Lr%KwU=N11$GU+mDa0X zJv)x)-m9{Y@YiL5E)C->H=Ts#wg}*zECZAb=~-Uqpr|N=@Q&BBk@tZZ zlkB^lUrqFc*Yevyi2brkT7Hs27kM@c@W%M02mvK&PoIkN5nHV1%EpcwW|`Mzc&eZP zJ8{P$MYCd9dJFU1N`7i4uiP>iO;xNpL>$*0w`U5bhOUp&-E7gM+xLI{=ymkc<#%pW z*_ek^?CKbaT+H&#a5$rvx)=mi=~V+skE;#d5PZ=uA^D2{g4o`L+z45d9E2$)W)C0B zqKI|8*f1|Z%Pv)3L{YPvnE&MIag0RB?~tu&5nhx*{<@$8iJCL;=$9{O-i4w1O&8_X zhLMAj31dwu;myfvq@jkidP#q5Ez7kcmqH4X^3cyT&(bOS)G7CGF%#@`2a~sTJ(;)M&WR2#rQgJL3?6O4 zC;jNgJ{P;s{qI_WZLxLx{^w!;R=eBrfi27fnE$IOZsbqOc0~xB8IoD@;;R;-!$QZW z3GWs`Ngxk~pXK1-P&}damJn;NETaF>zf$IQ?2aO|w%quGwW}3s)0jM1JdogSb1J9K zi9c}k%c%O+k-3*)o6ur@IM@Oe8`kX7xgvbh5t9;zn8H^jQ_T5?3Lt_Q;w$ksi(_u= zAN4`>&~!HI-7r=ZhLbfF0vzdgZ+i?L4eA@CiX)jb7ZqdsIrN!)w65!8a-$AvRnfi` zt^Q3d@bxE>g@vwX^IC-LNtHLbu0Qu(eeHT4k@{Qtp#J;oKkgSvZa-tYfL4Ji#y5Ex zQ>Ko>8AnoJm4-oMjt2=3KP_~wY+IE5xki290(1}+lTScW$w-u1u6?nC5{sjtq^~eF z|7Pl;XT)=>v))Cw6aCM7l}a@sW`^WIjR0OC6*qYRZ|i&=tMFhe8fNSZ zowd37z=zDJ-We61`~e;nZKJ)^v-T7z`gbv0{lI{F=?v%`OU#N%;qS6M#Em+MXOYyJK|-|Ei_0oAh>e z{S`Z;uxQ&3wikw|WKq1EIQr0UaAe6!YP}F%a(lGwia5%1MLf2-o}WOK3&h^=dWduZ0?^R!v;n6@BbKk>MEzdrMF*rSDcJx#n@OdgN0l>@0GGxObC zL3bAIV$t<`Y9$G=P|)fd&};_F=sy~TF}0C>#=}WnDcsyrEQI0fE3rCYtfnrt(KK2y zI3!@O4d;AWLInF%TapuC1oMi3h%$8Q=#do@RZ@v!rasF%_%~~PF~c}5*IWEE(ED8w zjHfW|#+4l1xk&sO#o)l^wt@Nx!wk&nKobi*b&umhxPA-zF8923MWmPaIm79D~4cycx*}~aThw9e}-;mXapIyj5_jqV zgm%%o!EP#V~$7;L?je!84p zue}p})HeUqmoxm0t6UO9E$SAgmVqwHaxtV7Ev5Q@e})wHFf(f`GTza`RO7-962ERT zp&A80Kehub;9h%t15g9(f}sjaa3Djv`NnR}@-ch!3#q%-wHu@LX*Yy;{=5C}?G&+7 zZK^DmMLLP)=T@`{NLt-^awHFgf0n=($S%=r$D(aKR@N-@)?x;5yYa4H5w z*5|MLMN^Q|UYC1<&txluMAn2?aM_L(j%zJ!Y6@g-%h6lu{3Ux6lUmQcjJ~-{`T-?~ zr#}~?F1C!Xyi8HC(GJuhkWFR*4rYEiQ=#ew|Y2Yx0wresX z;u|M|z>_WaoA-M4R02rH!;F8mf`5&*W9Y&)T#%Q-@v_qZ0&v5M4>R*2Ady;ew$*?RywfKe#vE#(|hon~&Mx)jpiOZ2BocHKkKY;>%<}|4$~_G<1DUs<#o9tK4%LZWylxpyi=34iCI+r{P3XA{VqOK zDkjf0b4>!EP0t@t(0gjQ{ZJN%k%&3?<6TuZwdyHa@a*Bht*x5mr2y2@l=f9v|5}qt zf&HC;Y`P(fCeZ{aL6Q?TGPI8+d~tK@IhaV}^NHMNqB~AzH|65KuCDgii~j^8wOVPX z(18UoRRe3F9vO_hX0(ZQaf4&tsM4hwZDyMxnmy{`r4Qv;o4L*IF1rbwClKYQ_dKf|h(8_u&HrA(Ia{9>{2^fIwaU<6w` zYO^U69w=7!!2T9f$^@MmK~moeG#ZGJ9ayH}?5a2mOll6b6P5awJpzenGrv}0S>WEY z$Q$u)*^hgr#}iO7I-nPmc~j?f393pXl4s1N+d_67lPDWwh6^&=A&0;i~>le0Dw)Xb6BX0V( z6yot%3+t=w!<`8G$=eN-@ZA>vphpGB<(DTbzS93xaAwaqseV~~rH4}He@>-v5_9;G z{Ed96b)Ws`|I7<@)tY&$-+FciCJ$_W$~djJ9vXW4a$XS2wxZ4g_HQkvz%2>%HvK-n zYxMq8gMgGQCX&W2jKzm2d6@{KxhGM{MaHHmoQ!3aW^aC)_?LON4J=x2ZoSu1Hr1zp zv>&ZMrYWCfOfxFlk`SWl%aHRICQrr3mhkbf#VG&zBPZ?hi90%i7=Ui_YiJ2|*;hyG zRG@Hw4}Yih z^u9}n1t0rg*Zltqu$E(%#NjD!^Vje{rcBYMTL$ENMpj`)GaW{i#KSL}eo}$(^;GJs z4DBSPhXOR5`-?@_cnRBPUva7tnv;HMDhx?e_cKc{SY!t)D8`nV^~F+EIv-RhQ6(VA z$jFum`lavaKRUX~vC?6Vf+}KC+on1_K_)|6A-F8Qv-qg}c@um(P{USe`3{+s7Z43G z;QP8Q%-e*vG5B7Q&0kz6z(9-c`kMze_!J$7;KZkY^N%@dI!EbBGdAUzq4&$TU=sYY z^HJQ(T<&wfF<=bvUnCq}(#iD!Nqq!|W|gnBc~*bJLmpCsYAA9s4}(WSXh>em{0__z zXY?Ma0sEbWA^n&DN^w_P(t_isJ=w;W%_xBQzt~;C<&&=??Fu=|_R(zPh@*)G+62m9 zo@YL5SbKJoVXTTH9J7#cCw_~*>heQdY23F<0cGguuu(hAKHhMg>kNocX|UBbr}Y`! z&xDqB@8dY=q4m01-l*bEw*BYUpZjHCc(5`UvZ{`ES{Eiwt$I|688`n3b#8j^#9>g&X|XjGh? zL>l!2;FV%Da+M;n1!;Lk>j-3?Q}Efd9m>fR3s`)!{Ywnkm**T*z+t|do%2CuB&?Z3h!(a8U3uLZRTBxt;wY5|scr%%|bF|cB1fcPND=A7H zN9_bHq&dO)=-|57kI`JeAr2V-3I0e}MKZMaRLcZ~j$KO^!!iD{G&J?vf119L{MWYK z8!4fLk+^j}z1yFk*J~*l-(6!;;B;q!R2r)GqDJ0$Ev>pl{=5vzNmdzX8^w^UEq_E) zKF)?(ae2yVvYNnX`U51Tihl24z0lp{Tt@IQ1uq-{;2k6WA2HlZ@ ztMa;rg55N*Dx75;DsFq}G_g9kWON|avytxq0(ihfz?FYODL7sf$)|Dfh@1=7lIjiF zjZIlPdBwYB{Wo(uUxy+SNHcxt!F!Iw96?1)OzCn) z=kaclNM)>Lce#<60ZYaN!!HoEZX#@%Qb|{WFNO2ZPv30(Tn*`JqzU5JUYknp?5xaA z;7A3TveEnrWRJlSL5y%>HhXqrd?k=L7zi)I3^3M}G{jbalk@r%dRI_!bN@bBDiwt^MJ>Yd5ztN9I%Vt6;<-2$Ms%>BB|t+)+KY}z9rOlukyjXGr2h+^5dTTQxy=*<)07H!gt_8xS|k-AZWM|**xoCZLQ>|45K}swnc~7UFv?AQ z|N2%{nM#q0tc?~8VEbMRBoy6OCypboAU8FFr*OWgo@ktk_LV5KvQ)M3!yfh(-`8Xw z7NBI3va5srU0)Lmo;CUJVwjiY9LCCAdVA3eK>JD-p!bMDz+9`vN>-?HgQZw%dAagR z`7?4+{s!um4Q=IZn=X~F1G+z9n_G-=y@+W-FQ3h8@q@u3*^~=?wX?|hv5zyJ5sF9% z@CT%WGzK2Y79p$>I~ImY9+LP?lum7u$#v4tov%^)@wC#!q0EXHqepat8nLhboDqPu zXg;f4@`y?ERi<_~vxFV=#MGi{#S=3$`jVij<0u(@$LU~LDJ0s&LQNCW!^k0t7S_7_ z7D)l2oAsj2#7~huuA>8$VHIY*UN24kSw)+8_*i9*Tx6(@ixO`rT2Fw?g38#uLOyc2 zCf;%>r3SQ|roboWXw%kbYxvvG_XA6=hYo^;9&44uC3n9_;?RF9E1`~3Lq|UcG%X@L z2D~?-z16=f_K3pSG7haIN03K`<3HuKx?7!{gE?niC)AhdIpBV_ZKMrHh z9&C1@g0~{Fx!)X!%DHnR-h670z8l@Ony~-NcRG5P)8Zw(cI$UQi}ZHT-ji>?6bJr0QvHdKRL;1tYJd&?txUA~ZWzrxYqwkN@Shz^Uk#RjYMpOx5JX*;~@uekX?2XPjjg5;E}iGj)# zd&`+!Pl)Y+M9%ptL;LwQQKGRhexHm#a`1XVVv(BN_R}BNqCXu~dr#9Z1B0A}vuaHf z5u9sEv>dLp=(^MQYc@FdHh6=fok-R)AJzWk#igwWg^6VI_Md$vvs}DD-Mi_rxqNct zhX+YwckCuX4N^l^)#`|t)_}U=&=OYO{3sE1_019ghRxsf1V~QKIcWIN!O4n z=%N){2GC}93W0v=Wfgtuh}KR}EZK?FuJm_hqF4hbgq-TO{#7cu$t!`JeXPpqa=>AK z|8~tykQh zKr3}xsFf0YeDfa#iYyzDa~5`K&w#HS%A!f8>0-Lm6}8%yf{wo!CGIofq-6BaVS-ZY zT)ju*8~pW&>|~`SZrRsmWB&NCbir-+M8mYrA64X6?biIq!xbUyu4x}!5m&Rmck#a4 zJGMIUo_{&WQ_9?rcbHAv+`$X`_rg*`1uX$jz}2?oymy9sxs%)CCpx*lCuC1fyQZdZH*fno0x!8% zt*xz&k9}JNPuJQMH{UsQg=WtGQjm%MPItL)vs7G! z^~Xr5eiB?0n9iFtU&==-$8Wna3O2fwZR=Ko#3kja_3oQ@L9mEAPt`$}(JN)Onlk)$m@{wjT_~^}FPbsanTC+AD zuf!d<`B=x~*B>5B_)3}kdLJ;J{HVB@5^UL(I6cjpUElia{(I(E$8O5~VzbBjU0n?O z>Nz9ypXpq5wN>fm3qw`wCSt>!ZSWDpxg|gP7 zYt6p`+UUGK0j8ah^%nB+8VB?8YvI)SJ*`$s^-sCO&;EzDw~VW@>Dq@?BqgMjMoPLx zVsAh~T9ED*QIPH~=`QJxO*gXX?vn1@)TTGxyrVR2 zJbp+UAl@H&CvfPn_;}P{c^wMuPwQ3ro$PG zd+#6RBO^QWs30t<&4a%VKo#HjrbqN;fHNH@B~ODH@uxxU8K-Ls7*cmGGgpyX@U?O? zU_r$`Ffp-oy?;igr%^1bsTjN$VQ9NKK=@;>5^16D$pL=_C5=RwxRMd|xRMfw%K*VX z-OV5=gUkJ}vja)D?(K!)Lx(@P&9z%@BjfOt`HU_67{z|Gh|*IQb_r#1C%o8SiEKv2 zF$8SDuwdR!-Q+gUl1z=Ngt!yKoGSvwYN%7nb@o)XO~$IVNfq{l=j zNuB&#Y)VlVP5$hT&U)KZ_(_9vKOPyMd*X|P)=RgR+%!YC3(B^Q{@BWdeeR#uJ>x&OK-Wjd4?T&N5&+O7GXI9*u1J>(OR-(&Tr?QC1Q z^@Fl5IVGFc&&;+D!0CEhILb@!AG1(IowMAhGb}#i>zln;#O`3Z^|d=IUmW zq9qlqZ@GVBn0({{+uFhYr)VUFbyYP?>&zW|5msBvGost%eIAz(U(f&EV$OHYZo5ND zKLgXsG@0P2n2`BTtG*XDfyVr8Ut9I*ehEv-EgT{oSKU-`-tU{}mJhyw4~FevhFxO-)~<9MXw(#r01WtMlhnCu_Yf zacHrak&k$4?JXW4MSIp0@F_(gOczplZtb|4Zm4S_=X5YPOw7r{Q!D%g4=Jw2EA^WmA@^K~{cI2wjFpKn}gUbzA3l zqu)SBuN`fLfW&1=a&l$bz~K0zZG7E*VCd&`r&6#R-_K0DNmF5?P{fvtq zF092Y+q(gqz22dmxF`|(F0XpFha(>Fybg&dUq@#7q1qv~@%P+f!&=>wYin!CNY}>m z%%A4<4j5S&B2d592ac%5$5n)DypS~)ZtkRTg_NUzCN4lYw4K4|G7KgQ6m@hi4&~|& z7Jbs6U+6TAKm$Roq=SJ|m(j4^vAuZp`pTSW;~wibgPy2>wFe&w#avUlTw*v}4jP_a zRsZ?NvNdL#ml}1Bdin=$Bq?@qREE2=g*C!!Ui~ViKUT4!jl-zcQW&BefdZm>`^d6jOw+A%QPHr&;f+u3&lcVOavP=?5LpTQ?8uV4yLzM-A3FSV~r zQ`6v_pGkxbsqfs~*WkN7KC=n>UQ5yWIt^As>772vFSg_Txhqy11_WT0$2dZFFKZnf zu5MDSIE=UC5`j8ve3B0i=Wd#F(Nnszb}tC@_JS7|7gu)8#&e~~5mNQe1U(IZB*ICs zBtdROJ8&Ad_t>YeSguM(oHGs2I~!g*9UVP!)LU_Tyk8mLhN-EjShFOBiorQD-R{q4 zI0L<7exfH7s_@K=oG% z!rK$kGl7Dq4EJKhpwsP%FRN{F3gza>I3fqaC-F!$ z`6X^Abzp%=;1!Fg#HwwLPQT41EUBgc91-OHaC3g=qSN4vo4~FsdfV)lD9XArqvwjg zJ(31H)TjDjgc9h3XH0e?5mg9&d7m;c(8F0jviHaY(a~|a7fYoN?)CnFjY;w9(r_T* zDB9#M_TA&lI`gIxa}@9`wqw{)C7Yz4rqkZSQPaXxE`mT*_N~5l4W`gh^BFdfdp@ThmS#PoH=S$kL2&KU zEh-*5|IoqiBXEo8=&22nRMnx_ueY*+k-hfEneF7>;x0}g;Mv=M(9zJ7VDhy6{YvY0 zQMnYZ_=&<;$SNM^+qale@2wUjBup2qGABzPwV80_JZ@?pu)%3d?xeg{?L|E14{b$6 z&RC=ZXP1_;N{&Kbhh`s*LTDtzHawA9^JE7)gddIg6TIpcoa+8zh(_b6?vw6nOt^{D zN>df*$I<0RB{EF39=)qB6J|!NDM}u(mKt)zk^*%CPr`y7%DFxm8hi{30gZe7UPpo0 z+HA({B_HU-`>A7}HFOz|R$E`B7}ymwY+nE8s8Q0>anz&cUh<@%ZlfR%_ca>4`>ee~ z32jnO>YVCm@9(f_)>PERw~p>4d8Y3jg?b}W&{v82Dm5P-3ml&nH#vIC20Auhif_7W zB&Wge?QTGPh#|NW-LcU;@(@LS$!)mugRVe1<*P`}oba=UAEk|!E-nAmcDa1@K8qn! zUhni2d}RLR&Qcd@23f4P3sk=DRy|rYVU`irdVCp~-h3~d>CO+mgext#YL7_fUq`~1 z9y@A%q;4kOd9nJ;C$)j{;Ih&6mq=`XgQn%Y$5? zp#_h|l8O%_mxsLENgG>lV-wttXk$}*r_4F^yOY6}6!p0S4X15%S)sT!ej8fn*5Q~delX{ipQU*Fov|oMAw)8nnX|vBF2n#ZO)5Q+7v})BN4`^N$jJ|jU5VaWpieHYD+%9)k(|T#XPdlEP{atu0-*GM~sUJ zC{Ns?_{s=lREaB%od%n~!i4fljI#Mg^`M0U9{HoMQ(vRw(YDnjy-*R1efx0SI2kA_ z!eE<`(M&zCFJLWGw6WwQ+#Ri4$AYjI)RWkoCXageohyz_52JTfWcQS$%H+KLDZj+A zJ)|BF+uB}Ike*5?uvxOK=p=wN{L3+A+u!kCmPDmyf)qfGGLk*=DVH&H(!O2j_)Idi zaUAWj<32}D4%wDQ5COyW@*zZ$;5Ls*GsTQdf8f_y{;oTLe2Cdcv*djHfbE077;h)vB@a@WNt#L-GC zIgGg4juFeqv}A)5#Ko>z@;pN3hB;edJXfwT z4qS)M?|hd`cSsmUaf+q&-YUFBLAdzUh@k7ut6$}F{=yG+8vRZS477faPb8=Wm!Yi~ z!R6UqH|ckS8Hpzo8Aa7o?=DV*H5w7#CqL~`2ci?GyJgnH>?=&!8iQWB&DX$HAoY7~ ze&k}=qS>hStFsR7$L;h3ZpIJ=0o&d8C_)pj8{_C-bNh?udB}vkB6~?2vL3(?r48(y z03~tsk1mw?mpQxrn>;tysOw!WtNFR*`sL9@qos}Vt1yM0k6p0n@;fDZ*{veGHOZ6y zI8DJ~G5RuQy?J~Kwt*m-5F4C~reGCDC4;43or#E6uS)IotT9QHN8~V3*CxaV0z7?Y za@^1qa%vE0ieIMJ>4U(BDMlvQ`;gt)*4u|mDRPG9e0|8Mjf>QJ5?IO_GgyzrB<;Pi zytwHIjlR!tQY)9yP`CCs|E`&@uRnI~2vFOUZ0A;FuPcX0Y&sFfdS2cM_5eng ze6e3lcEjAEtpD|RWz~lv*Zms9sB3{zqA6g$304r&YW`RsgdIl?vw`b4?F*8RF`h{I zzuU>1QB6fXp!)7#BN;d1lQTn2@Us}!8nTjqU)uA_s3_`6W`9w&KrpRuFb{0GwrAy~ zbS~a)p(^EdUrm6zlpa<_&x8nHh*(z5kQ?Rb$x%E$oz!FsTmD1tZ%O}oH3Mx3qxr8AqQ~J#8BWf{d7rA-yJHx8 zG+i-HnGEWcea2HWukW{Lk z9~I|uLk0!e#QklRoLer}GzeJL@Pst04CabTW%?Hcb4wc|J9*u(o9F^M^Rz$A*%FR5 zj(({3n)*LR2Q!f8L>;mpR*N=d5{!=^Z7VjYXx5l75Vwvd`o&4d8jX#ADpIxwt{;<+ z#t1Q{@p`C6SMixnN0aXh^+Cc2UnX3=hjMTAwVNU2aT&m5@WW9;y6 z4IG57S%oVN&{T;w6cO;Ava9Dmi+L;Mopw7CENKUm2ZxHzR~%HhzCZK!_4Pfzdm+}H z(_mTb7U5Ul6WP%*Ph(Q`Ww!pYsjIP&U_9MVMM{E(7)))TzxhWWSAuFuf6>%`BY9-8 zc$B+LU1Gfcq;||Ot3Gtva5&&z2KPJjeU-)*db+!)i}+2v;*C9=!+sX6&M1@;BRI{z z{7|>jal(^lq}p%+_v~N^$!k<^T}g^F)ufk`wnguDW#7ci?ET(Ofpe6$WBTXw0rl@P zE(NX)A(l%wA-?Q61o#u5(%zFMaeYe=2UnOfOWDM55-Sy6=D;!G?}568F4)A*_RPpFlbpYIf<+;Thh>#n_Hl5#Nsqa(dRET!JL1J8tJ%- zByYn9KW~FB(nR)tr%^kb`PZ0r>M2_PLMOC+j3Y44arQ~&|3(ngPJ?uzN)Z>KD0TT7 zN1TdPx0c-H?oP2%4jH(I5840pbyxS^XY%}77%{;P)88u|zSnGCyOwWs8OnZMTNP*Jzes$sZ+E?L)AYXOWOqSEI(mgX z{e~x3Q3}PW?YH&m)~E9M=e!8o?_K%i@ONM{Jzh)b^zSf6VZscL_?IqoysyqD6EsbN zzNe$4+hh>p>CfqkG!QUOU5clArV3~(IR!cmPcatBPfpF9#OuaD@ZMOQY)Fa8{K71Z zc`K41mZXcph(dnvrc4)Gf2Op2cKSu{Q@L=#hoZ=(&74w95-PJtPw&bHz@*2q$$|1`DMUIsP@s zi^3Q~A;kNxNflF|RLw|5f;K=io^Gv>eIjI#Fa}hx36$XTI(^26eEaXwR1RiYDt(FX!;93X{mW>kC2L6>Z1h|bE%W3R0?(!R z7rXXgrdBjrx%8tf@CjzR3~A?aqzQ2C3CYcXc1QxXQ}by$TP(1E%S=x|vq^h3@_N$t z$8qIq_RGHRaY|qGHxJ93&ZB}72P|F+9u|vcKU>>NznA>jPS#r1lBT%f*_|t32M^;R z7xW+%zT@khQp8Y9;?xNrl!ElJQc}?FP*uvQys6$|i_J0r1ah3$k{FQ>4Hgw(*Gf#M zbs5iD<4b-!!U3i-)LLVVIW;VA&RJ)oGf@sob{@W=i~Qz-f$;m%(<;X1X=Wi*=#&$Q ziB?JmWi%a#V~o}cgX}O^%-2XoQzI{XJ$g(P>NmR*5_5kQcjb&pUDsy(l>Cm#BVR6w z8eG!)a3kveV7H}2F-HQoDptKW zf?W4I@>fj8L+cg77{Y1Rp&Y+D1STftA_hUWOHzr0v@lfr&zujfJy9IqFG&J&h&B_mY)%b zO)mQF8^io>i%_u334@h1gx+kXES&mdNT$_Fi;O0lW)&^9{(wk*A#LHi!Z0aJ`p7hp z6SdpL{?2%wY;KEOLO6w@KL(-7vWgOl4Qfsl<~m{iZv^*-&pPSWXhtNz-By8}uyBI= zw7T=&Ou72@bI@g^&<(>n;p<*6Ce@Y)Mjhtt6J4T&C(H@TH?G%JIh2v73v4pGl|fwd~h#r-w?(f^YY$ zccuKzUOI7L^uN(tJFCbJ0RQpxKJ-RkGTe(u!U)F42=exRLfFFxp6`u&#ikQvxztc- zM_%rJeX^T8@MR+Z6I1GJg<+>Ixu9Tfe=L2mUA~~pNiK<`QLqiD!-|_{ZWEaPw zEbEp=7p28Dr!J?>O;n({_GsKgv+7I#WNkzakV_$!Ui7J-ZYd5HW*rIc{xh2PLYns* z*{I0orr(kE{qB#v9+kK2?Y7k<9dl_T#{Nv~th5TF;82thOwLvstCG1&<^qZY<55uh z=r307Nx?K6!QAC$H&~Ksx=5?%eH5)U9?#bR8 zJ=-;#E-4(hrKFw48qCSs)7dUGaho(Gh!JV>RhInG_wkanLAfS_=<%%je{KadwH?qH2%u?xSX`fFOsVc8cN5t#l2xg6>fh6TP3{Z#o+z)!-Qz{av zA;XO8KY#hbM93P~H=gy3!QXkgO8fZu$h>#uZFD+PTYC;;(QQ!4gWRb|ge+znW%_RB zqM7S|-F%!kFK3+7?3wi)(DK8G4+$}uYj7yWs7`>}cmp0Dfgw*`N%dL~O#>w6N^nC+ z-p)ydf^t7#S$cCdXx!ggqz<-7o9%ejnKSoJ%eVottip3v@#8GWx(JwF>3Q-CaGI}$ZGVsR<$ceRjIStAjMz^-;&RNJ|o zhTaqyHov9(1VmHF)pW}cT!>zHqc0k%rKQEpD6lS$+f+V|K~c1sWP^Elb1*@YLDm-| zYMFe~I8pFOl2C$*xQm(3p({Y=EVHfuMOT4h&g2-zlA+mbd5)i;g@aO+E-ICP~wyuJX^W~D$)Y$yf zJv%{^T#%=r4V6H)?`pKM=(2r-fN&2T{LIlaPBIW~=V{yp(*YA&l1&X-pl2Qq5 zX<8!f3nRMQpEf1SeXp%0C?U47ke03In0lwFT}ci)y@zZS7b^Ct zo+ERvI?m^CNJbCT2DV7X@;_6r{snrUX;jPPxX1I_Y7@ArDx(^k5|zmR%ggeYx{~e= zYcmlxO>`ZM;I{;?!Kn-aEjSoJY*CWbIta$6S6jJu2Y9Sq_qi&QXgxm!lDcCq*~WHu z;av{{Q#M|9hXILv-EYS~;-5di#Ct1O&|;kZtj1UNerM{<&Uf6i8Yq{a9<>yH0u?oM zaST`u6L@(I-s~}*{t6S$% zhBIo9`RjYI@HAO#kJw^mx)K}dwQb#r71LB=0)HvMM! z6tU<1x%yRl4mB1(;W|H zTx;?p2s#AIS8kMCSobp?gv3)lCCa_S zlI+E>=InE)vhtI()k)mg)I-hAGk(y`LP9r}Qy{KD1W)=z?KzmKs;8Psyfo3-^LCyt z@A&~jFb$-;00+KhS1oh|l4@B&+ei#R+r-a)*KWVvhw_&uy@@Oc$_x}|AAD%WQ?~`) zVl7{HI$jm2l`1Aw^B2bvbt6zMQfZGAekd5>f%f9AL5GoVnY6ulEau;x+ms#-GUTK? zXKh9>YsAM8V(K?KmNE&)kHs-6Q%^1ApaFBC&LoT|Go{GLaNK@zsYJPW-N(U{OH{+4 zByiHtYx}XQUX@A_mrL%{aW_bM+U-V%QrbNpB1lgDH4-*l%lqXM?717*WAa2Z3#J8g z0piX5Kp7B7%(9<|eEi&C|NWd54@tr?vHr1>V$~wj z?u$(Gspw4!MzF1-A!3ShrjJy}9f~oN#@icAU@0Lk~hJ4VVUFky|b*vS8s_CysCz5RWGtY{`Uo=WB~G z>U?3m`z*%UQC9;I7(o>>pl5O6ejtWop_PQ_iyQ7uK$bSU8o_+fmDe%{A zd8<-gw^R;!pqyQenW&DR24kN&m;4FoyV)rq9gyh^=dj_8Cx*NF3U@{4!CoJynkA`DSMs*YtODpE}mrJ~~o zfkPb3R&Lvts#3LPQ=;J{JgYERPML!axo|#4u)%Tzd-Y(p;ix1fdO9d??9U|tn+vC> zCMKG$T@}m4NBU_<8Xihrz-9o-SZ!$|JqiKhk+JOlmDQp4p7W96KYf;z57|TduvMK( za@|y=l3%yyj7UmD*;`zI?Fi?kC^Pc>#@?@wkf3NKh!umo( zrHc>1ljgZTm_o*6*GQZk^=uFW5#Q^5k$4Ytocd<$U8O0_HIwQ* zYkPTafIK9dU_zF?Ik)5NVte_2cO~r=w`b4J1{d)I^~h%k>84d9{f?Yiv;sm#0^vGp zr4DJNq&(Z3njbfv8dmCNfBtw7$LH&z`=-Ba7G@&F+R7m;4p0jL+tS&#{7w;YD7u*r z;(lHGLvFheJ6tpb>2GA#2GCP_&?+zZMu!>MS13JqD!0iYUw!EbQu#RJjs>n{BpV1zb%^ZcRo;y$P z$u6-KcxH1OPj;!%NxeAB{2MV8136v;IQ%zNtk5%2aZ&+jH2)fQKX@N8*S^qs#zPqJ z5TzPec$zY!3e|F-y7wu?r(V|{;c-!ta@07|gt^M%kRUXv{Qdn4IdhRvvBjOq)as$w zl(^bB!RDvYl=KcjQ4qba@M$*YqE&G9E|iF+yznJIXp9NfbV0EYp-QiRZ9}EC=Rr^8 zPk{P2C;1I{3c+YWq4;OP6cK_E^!~Z!=zF#2E%B*`K&R8@%pV=tnZ})~MP)uNul9q{Vas5?B@ug7KKHANS?T(sLI zG^{l0jw9=jp;I1+9vE%tW8T~>7ASk{O>)+1*Qh)CU&bIK)XeHEkwwhH=0?-XN)0h6 z!1M};w2rf4evrM6m6Y)o$YaTLnd&VDBU9IF|6F~)v4u?0bpa=xop{O|TPiir%mL0k zAek%Fw78Q>pak@MlGfM;KneJ9AI}zhI0%iy;U)j#sp5VkWI7(r-kZQTm9mxj&MAY(|B^^_YIHs zN{a_#fVn)=>+xYX**2Oe@LC~}Lu4xDVs}Ro(W$k({cHE9Jna9~vEa8Zh`J*!Q!Wr>-I}fdo7KkKtDv zRJf@^&6a8Ayv8H8Fpcns&r{gV{`Ga$`xVw`o-DfWs+jj&;*5 z6tU_bi8Q>{iW>OL%*ymSLVZj*yJPF(kiF%Kx+k0za%ir}hww?Cu3Paee#<+n&gaSLbi0r z?S81mtOM5r5i8s_%0e9!GuZ!oc7oqDdZW;qp+%69v(|v~P7V3J{Bc8w!soY4K~Pr{ zNo&d346g^`?a>VNSh@%@{%pM!1WzhqgAkO6Rev~~QdrMLa#1)$@0SC!^L=>CuZjQH z?_aX2$f+r#Zo~f7m{fJTA=sSvY}A2%hz7J&-f|=3kROIm2*)}wYIu!js4kT{KRktp zRty%`VW3?HG6i+>@k+K30>yH29uOl(`Et0l%BE$Y5ZQryA9_Bo2Fmc|*Z z?X<@@{PR$%-hiQ3Bj)X=B7xPv?1!|@)^;HzU1=d{FVCsTUzN({BZ}vn!AfFRos&04 z^4Nby<1m6vYM8=e=wu}rFqw?x_qOCf5&AZS=)Nb`hU)kC`0N>H7|Wi>xC!wwk^t$fE84-DRmH^ zE!VF3=F=67Uwo9e?6OVnQ~+%DXOO^e2FDy7^S=%-f@bc7KI)tMcVWX7pXu}BHsnm| z`5t~QompH?nc-BGk`wdK6-12@nn@EL{fjmM&Jq{)-ckH|U<4&i*wEuaC0VPU&*#LJ zWhg~GavHqj@rvQ|hrDg`vB^T^VpRsTh-$bqP>K6lvLhA~2lRknYUmM!f`Y?cVv$rH zUvj)bh4AZ>MAxGF{vs`n3ncHGR&efIjuA}GdVM-S58pL6PxQbHPHT7&0&X-x07(N{ zzH$1^wf3nAlwJe&5t%$vas>0oe9iZt>z|^jKX%dLFwtU>JfF6Yq<&EL|I!ylC5Ge6 z_ab5ioqs753(iT~Ax$jqFp6)l!{o$dGBN@)Th)0Td5xRe-#g>2BmT?SxUzrSu)`}m zYQ2hzi0ez=XE|vrxsmb!LDCF!wv2FCm_G+Gr3rPC8!-%wC5x^V-K}D(}?RhXn62>;YP9 zmy|&P1EJXNl^+F=!xUIMm6iK*)y3T((XqSiKAJbbPeB2Fc1+|X7F)M0+y4eUot!^z zR_?<+%4hkJu8r__eKv0v=t~3@e5$41cpt!t@p#l{d~pHk*E`VpIwWW*@}Tv_z9vt6 z8a~z)$w8|cO0sa|UC9Rp|7~YF(|ye&;Sc~ww6(pF(J-B}v2EiX1?LET`Sgn=>EG>A1jEPl+)R<|-h;>|9yVXDyIHE;;?p)BydtH3&xgrR!IXhVG$2 zNy!7m5CemkbkKL$S*CNJlDOzPl*je_4&QtqvpauANlCfC)Tqu_QV@jUOEC`cbL0rl z!rIO{rzRC~fiUhdD2`$Ro9^dIqmMibSyPd0gkOKbcOk{m)-7+2; zLIe>H#&f>jOi*>TY9C1g(yX;OE7zB23_FbcxTZxsKW0BO=0m;N+(gkMt#jz3Xuca`vAp?a zJB{g-$HVnDuAvU-PlNbG4&beUT|t%w>Q3S|ErK1db;hfAs7p^1q7y}8^cTIc*RsOJ zN6v|-jC3tw6!@H;I6y%DZZwfW0;_aV6GfhW`)3%S6-Xra_ex`?tED@u0Mrq{)Y91Z zjwXFi73?kS1^9Qy-#_NE->10&9Zz{MAs5H|Aur;^_y7qFuBzxUF{L24r}%k(r)Q6Mwkt`c=U@fVCZ*AWYZ zp9$X`i*;d&f!?)NRB$*+4ULuS3p>;dcG&PRJ@x`JKd@%bSZs!!Nk3@WsQ0$FA$mM; zhv}<<;7tF~?`x^P!%3E@j>ETV?B3+;uOV0%7)k^3eh4V5e|b53%k>tiLk9QunIK*~ z;ptYLXljAM`8b-q<7&Q#O7b04mHAb^37APH-;~1jqs21K)e^2?BJYa3vd4=qo|AX> zWb#o4%Qu~Kvuy&f$Q3~wTU2%P)slwZzqBq9Q5OaPSHiBo{UUFi(q2RH0CXj_6=s`u zWhN{pdXJ0{>GBYHldhu#v{Dr)A<_h=U_7pVuuTY54J}o#tPXn{wc#f9lAkncuU!zh zT7t;}kaqx7NMMuU0*DRG-i)UezSWO><_g=RnwGA1f~+gvPmw00Nsl>k243P*>z8R? zcD!I`*n|SHxUpx0Lh_$aYn8Bu>&xIuW_bRnoP$hMUUtjA4qOgB$?u&-dnd&fXzihLMqP!dH7-k>*0wY=XUas zdCzER;@-UqDqlfkLUw!rL@u=%IZ2%Uc}6=2l;&<^!l(L=-#J*-9sZP~!qMT-jrN1C z^RFJyO*YJhnRlqZ@67m+sH9F0qw&jksgjmtnu=LFEkb{mA(`uf<^SW*)cAl>)f0j% zMP~gu8Ec0r+pV^>gfNHVYr&6EZnXjp-ZMTvUWQsOK@}q&(=LL(2>0R&<6+Io{ zh>)=A*((d|3A2Y(IB@udHCgu7`fX;5!f3D_es5`_uxa(!Ue(so|EZc zN3#dJy|q~kk|{N4_cbf0)_tFEvIx)w#kQ>%^X7;196>Ms7Y-bB}2uP(T#xnYk z12V!Al=e1e(vgi2kMx_!b}5@lgw+adN1G4At&;h+zI@7oojRlm#heMI+hIz15i|l) zO#CuM?|?#}A}%78B0`P!?uqKkjEzGJ7*euPKI)RnZ5kmXOCdqkP5#gDfB^z!m_Qr? zB9UI(KRX7=&-v*;ZUhr^9jI6X=J5aTKLR%CKaDrc4+us7w$%Wezdrciw#b3~*MfH-skOB=C@TT}Vv7f9o#m3PKH!V~ZCzvt&yXeH%!Ok1H^u$=dS%@VkQ27W zLQOZm0@$Ym`304E{?Kf-TV#Xjzf(6bux1as#2yC(md`Ce_;sMxBD!8c{eQvd7I2wP zeRi4f!?D;G`4qi0(trCQB3gX0-t1=&0Hr2gGlFr5yk9OlewO8d0H51dScB8yKK}+f zS{L9%h*#(Ma%^z6zf4|hHu>Q_CFK{n3_Vt^$|;t&hW}3I zB|EMac`l>yop-cVvws3gYmnUciM9AFF~lm@nnD^r?wdGx(v(n+oAs~-`_vq2vGsXR!e{Z634fR1|G}hCOCF*29)l^gh2AJ5gnhpC31Wg zYDgoh?Vqi7P6D+@WP>LE>;Jb;(&b)rlD~0od zZ_09ZP%N5X`D+cjd3YMgaecnl+!#^m-<8!psY*!4!NK<(j5O&Ltz{x#|`AI&mIidl_C za*X;TnC%CLk&U$S)ugUdvRb*Zr&QtF2{T_ZhdhN3Ba#IP`M* zo{zYXkXb?6mHp51@0Y)~-shLKX7J$_D(82o!+MNQaD+2ef|Uxi@|f6?Rrdh^5BeDp z&@iflhK6RH(M_S2H< z=|*p&)J+XUwz;M}>l%c+5U^F7aRUJy9W(CwNUG>loOFy=AvQ%Xvvy0dNqFaWpIWu_XpgJI-!? z1z|*6?R7b7pQqn_ABUFf9KWY%KjCU2l;1P}gPO1a!hJ#a#2INCDLmY1#bbti{aI(p zXpl8iigF_P1`J-$`S=$z#uQVB$`aWrpvKVQL{GPlB-(i8&GKLlCx3)A$BK?VN z|DZ83@xicR*86;wkcQk^yJoNvHJ9BKnYU(KfMaL&0t@zEQHgaAd*28bJ>@ zn@L^eSmkT+;`EI}_H3K7z#exchm4$ylLL6Ce!!@dHG`kdFR1VtprC6 zST}*>yml66B?Dm%4ErkWqJhCfBsNO)$zBHbSW%1O5@D zTe>Wn3UYfTrss}3$7Le2HIy_~BaM&gdgxN3T{l8b zaI{yM-{{4OU6HxfX>FuX<(<3d4L_n~qCi4!5LegT>YD#kZFUo9d@qJodL!ih5#!3v z2I8H`&;uCl)+^v(X=FuNfS!N5TtF+c6DyK_EOb=o0UAfx?pF zmcyHQlE-Wk?R%Hv`i>e5sO2gUL3&3}q}|A-=e6me)9gA$zVO!(uNwN%!}{9Z*FcT)<}{c z0R4+#WS^?H`46T;CL)EYBfXwjE<)F^5tss>h$r&x{x<}mK#YrE zv^uTqpPvqPRV@uN*&&|Zp@;}WP|>GzCWcl)|)Cm!|hwws=&Q99T<9z**nq^58p(D9h@bf8t=ys}uDT*;?o^fy+h*;fZ@9NelHpf(3@_&4`d^do83^Xc8>Yz`Os zCyTXTKdtvrtodw+N%|hMRpB1%_To_WveyHFto7d9^3_)W&|WEspG-ul#;aL zt?a?Z$)-AQ1pF2Fx)HSI_B|3RCN(Q|A$y<5I#OzWLe7>ul9x$)sf%tLW4cqeVOU05 z^1qj652qFUILh_}8ftzxrKeWRPE&?Y!GhuL@LTGuVjJyuii?v6iBEcNVh&kg|I26L!2E!xAOlV$qX?%fsI}k1D6D?eLy(D()(_llmVK^v0Hq^?x*O zhhx>nu5HEz3WlAVm#Zr{z%4Z7+D$vSG*=wmL{-iYXk~wdyMbmcjmN)cCu>P0F_^0y z%oVc8(-bXtq-<|6M({=y)ARL{=?abY4~)H1$N_WuK-`T;D3tjShT6d)t-$iX?p@d> zn(`V;@AX=HgBurbJ9}HxOFUNRjq0uM^?=NXM{lG5^pQ<33{Xq>BD&l!=1g&hnH(YV zY3;))U*G+u^bSQ}M|zmWi5;X!z6MQDjxq`dXYGtg{MqyzTQkfDx8qh)b@_6UJ7jX2 z2?a@srh{lY<)^uETmwO ziDwD^sUU>jnp*!7IJ-npz!2$``SUv49AXJ|pJN#ZzTRVJ?;N_V@Gobpq^>aFuqqK4 zt;=3z*QQ+zF|fPtA3ED=MG4dr`{;t4*8XJqAx6faj`spFZ)L&+8=V@({>#Tvyier3 z=j#HXERC8(e+(6kJC~`*Z@Hvs9^#?<{aBJWuG4SLb zDx&3;T8T#1uM;7gJ1B^jOCpTO=Z%-w<&+fP&6uHhSSHTd9Y{%W4xR&+a90x}FySAJ0rHq{f9Fu2_EE2DZm6oR z&ropk#8dPMgR5VAb> zqWA9(C5jgFvYe{B};O8@c)V!+3=Z6Tu8ZS$9vU)+uM*2g4&-DS3o0QW~|y64Dpc4x?BoHvqB zerNzI8$@9k2WcR=(IH#>wk!vKxv4Su{+)DVEUDYGOTMrf`{cdiK zi#>SPEMyPi({WIsnuaNTmkXaPRHfuGdX6m%!#(J-#-HDh{W<|KNfe^&$-7->^|1@b z?UcQ{R$&Wp@_r}>(d#Rtjl26AX=#dPABZ}NFD7@`R!ii!ITMQ&S$_EO0k2zq6V@1i zT}~Xb13$c7G{AvHeoq=?967pE^6Mt4>Y*FjFmL%qEtzLJbbtH>ctK8|GW5EaA(h3? za&y*hDRVC>(Yd?prs>5?M5NRH(4|efP zCHO-c&UgKNu7vRJTv@CZ4A`W#YDNnHe;lm0SakP^vJDUp0=T0F!Y!2&oByvmpcxQD zzP_pEaq!6jh~DMv8Y8j5?XcU60Y)K+}JoWeB^&ngc zA~`qtH>v*b5qd$q$#|pm5<9p2>Z^=Q43htIgHoJpB=x^Sx6<>9@;s zWe_o(3B*muj?Bkfe%F;7jWyilI&+FcOh4xP5s~w2lK(?6%^!B?JUKj7DA6r*y}9)A zDaLj9!SR+Hz)!uq!umBqQX-)BgxS40ILa)jlOr##ulRhe-`29<;&LQ&q0x(5#A)$M zVTmq03!8{L`G19aE-Hg~ieVbY-55p zX^i#8QkFQDQ$I(d5_z*lOB`{Zw($9(Iv_gG|GZfq-M8Nz>*~0#zhWo@)VRQ#0*eNE zQLbtVnIf8ZiXQy&=Yrx(>rNdpPZ9VcRi=*ik?kOL8oJfdd6mAFEl-4XVGGuw`jEM4 zQ~an>)5?@D6RprUaIFl%Ds1mM03inGFyA{XkR#Gv@Fu(7u$MR8)>0R^4*Y zbVt)L7sz??$i?}Jw9#$xh9oBLn3CTjQw*?t{#O=<3J7@rMLG1?trn^2bKmuQ(TFxD zxVITzenmn3>4QhEwZye3`6Z9z5+{bY-4&Q&I;9pdjoY?|hn>yZwOAM2i+029U2Cp| z52l9za6IxxIZuK}ut+uXeHxd7=YqOa=6})9fal`X*bOWS+THt<#Kw#jJy>f!{K9FK zr`EdUhciGzO!+|pj|Xbh%WTp02GBJh$fx*C>>W)hJh}1rvgHaXgb1g-(4-PmV=pgJnTRG#?10fx&0*X-;_4xRZ~6><2;|Ki@B;xTGlA2sr3_b zVK6}4zFF;zp0=%YA2lr17@J_{F>NNyZT6H6uipCj3rvv8sqsXIORvuelt|9u(BPi_ zG9&+kQma0*aQl})E90)Q@oA-D&r%$AvE42R*8W6`LzF`MNss1a{l5NA`y=L+@D4Ue z5SOpi^S80>)?;PuwP{>;MR={&N$$(Yb$I&ANYMthu6R0`SItc~{wqs@qze)%$_eg4 z*|i3Ur{T*{=P#A|TiDDS28_TK%jYr77q~o@H@-@vdXcN-^6B$g9ckKzgB;AO?1Orf z4{4gv3Wu`*ZS1T3*wi>lj?GIxh{qLc?-kJ0XSjH|3tk3JnU4vEn z1(gZ}$+~F8X0j~xsKHzLrg`&Kdlm!d6DSwG^<2QJ`&z1h1G0G7gHoM_6UzG3j7|L= zUE^TjdKUYa#PsR+Xn*fpZws-!ssx(OX*r*xXTJJ-HG|piKkPv{0lyLt5j)a^JrpQ?|>148Xe3 z=HHy!rS)(ib{uAVQ;(H2ic>iF^(cZYs<}iP|wxF=n#DCd63sd0pT%V6+hF*0- z7bg05Y>Z6a__7}{p2C}P}{{=#0D`f$hjeV4)+6T}a( zJvHwIv4phAM4MyV1TR3KCV9S1!?+VEneVnG63Q9u57wv`@D7O3QSJ(uAA0(9@XVK+ z>wm)s52Qj>@-La(5af2+Wwl~57Nt`mn4a_B6$6>P_?kt^WymLI!y&p}-0)M|F4ybz z@sKxfLIP!;CNlJV^D2Bg&x+^zu<3vks+qv?oK-2(W;TSSBX&i`Vl7NB>1`LD4=953 z;JiOEkFcl5=Ze`Qg0T2w>uXoLUnOx+B)N3&G5&YcG{N6LWj^oAZ0ueVyfS5ci0jAu zE2VjL0&AW14bm*%_ACCLv?mpmBt5(Pf|8h*KQ`Rb=x`^PDgQ|5#r-0Y(X@sZ8+tu^ zGsJd`xc*h49Vl_cVm?pK1HH!6EL4ttc4rK3GgF<#!}D|qt5$gO%`em9<(pC(MWWr$ zvD3LUdkwKL+Ikl#L*-^sM03kyoaNxVtB+d^ zyC~A#rRcoa0+XmxvFq#^UKMCcQT~hMy{CH}3THghUqz27=5Zc)O4yG6TWo$I^a-Ov zH91&)NX!MyAHeVIK7@a>wZLH3F>7>-pZoFG+h^`qR^9DQh-Yrvll!czrdOP9TNQoC_UflxjsobiM}7P=YJOOdMd@??*8P*a*jaJ zH^4~j=}xrh!7`kDdoa2x(w}BLrWj4?%`uoV{cmk__`0*EPax_A4lmala=2;sLO-K) zS#K{(2!#fl;v&JU2owo}$!1IZU6VxO$nXb+-90T261hfK7)&Wi4wW+QwWucG!(yt$ z-qJ#xNZ}cCL7}kcMO{nw2aU9(4e}n8bY6kerzk!CmYnoe8S{f{fy2SSp@ANXv6jr{ zBl5IA-wgLfPp8nA?11;b{zdHdXdwwsPUXi%PQy_A)_EN!X@g&c9(Yn_}@8I2}w0ihDT!L8bXz#$<17E&{V zMdGSu-WU!Y3PO-reaIkCc!DHL)Qx-Xwvsi+lbDQC-~Z9?aA~f?`m+Xb-81zsibpbG zRsAwXgwQN`n}73mW{adXVILCVH%6O}bLAv>JQsRGlvBkh+UXZb#J1Coq!{!}6c0U) ztrkY($$B9Ka;R-#Mhl8z(UP(+a8o`GA?0wf}uj1Zu^(NC<$*~dwczn zq)@3Lp;QlPL@jr33hVf8t5~$cafI@fO33P6KwMdkjN+2^pDLT(Wi*OD)Ak|A4cgbf zrnM{0gxMl^{^VVdxP%6MuuOD@KCO)XaPnA6PD8`(XMqY&rJG;YZYkzY>rU#PJ#k;p!f- zYrg2|zw|cvgDD}ueEbr}HtM>`WF(kr0~_Zj?@QpP4if|CYZ4|7SL~lKOfUPybI6RQ zobSXf49jwGv9r8&+hUxgLVCWF99Wl*+1BP?iy%F--E;BePEJs(Ew1$IFA;!uc z!e)s_{&*-p;9gS_m$d||I+VCSJ&Flvi5&oen`}MEi3$2LDK=TCHb{FMsf#3wK246Z zBr*FMe)m+)X3sAe&d*_y(TMwllvohusJ1DPPkGi6beZ$=G#P)|55b-AwusPR;``5+ zC-^;?Nr2L^h}fQqqEd@Ps1Y{JJq8!VI3R*AONB&oAK9u?CCGJ#C}#?W4y3ABz5nsb zI>u9zFG}d(Yk#B`ccIk&=Qp^k97^$msZWKp}*ugO+Z`TVf z2$RjSPAfk9_<3#t4r}#Wc-#M*2hR<3IQJ+1rw1)r<=wx@39S8$-@o=}$1NA|quhDg z)A3V=sE3G`271-`T9_$S{_mgKuhGvA+%8Y->y}n_bxNv$gax>f!1p?6fDA}0^F946 zfzx|`WlP#aUQ&6tg$(FSwh4m0OrY%*6EKPYQtXlNZh~s@?x{;OX`A&LO#iUkv9VHd zs+nkXpbxhEUtwoioUeefJ!?v0nwZY+$p<%JQ0E-h^6&sT@8+BP5~?At%!(#KpCdmN{5Kz$-*>eEfx8$ZZUq;-S>RmwtV!-;Cqp?nn!$Jlx&a@`oQ>Fd^=cl zMyKep_-d<=OvIn+Jq&lhd{jO;YeI1qFdWsnwOQpl^*YDsD2=;4+l*D50`%03w1?ZZJKHo*kA=UbFefR!Vxk(l!2p(4PjN_;_6FNf2_^cR8Ww- zq-`Z%@h=0YK;xwjc3)kTXh3YQOh>fVaNqmOV!8sdbWU%N9@(KJX(_1xnL(?V-Lom! z`%o8?7V}Scx8P=Vh6~hCeDL;|F!9ub&u&R*I+7(>LEI1=(wQFtUM#t}nZMJH^grFz z@p(M+-U~-4bvJ8z8(CyK4t?yrI7RndIGxuZ28X*MIN?%3D`HLym8Sa|wKx{oNTw8x zIj@{f`>Ldm8!U<%r}OKcVpE-HRncNqPWlgLjUqS5jEf94@bE-W+;f&Q%C|{#7|0Q? zF)RWM$UMW*lXw%B<0_W@V(8+fNpm^SND(lTRQ{^AXO8Lsexm4htKBTw$}Ikv zm6wCaIo$+le75O&;$%Y7E?&(9*NRRO^z|d$UwtBZd-)$s3@j-71h8BfO)Vu}l@4GFN(F>#W5YRMqXgrt9*UdRoQ~g<-mQw;*s_4legSuYw!Z<}wyz!+!}^&lBkGtVEDpgUghX^oLptqal=2ClMw%5!_` zrdzAhQ~MZTMD9V6xQfxGCPze0P6grgrNEVHvj(Jmd8uB^JBTn?7*RG-{Tb~ zVpsK);Xf&KWF2IiSJLpaOMaI0)AlBR!GM)@bn2@l{OR_9$y2qVL75rlaZ%8zY+@8e7LPn^jEaq3#S&lu2t+rsug6{zvdaNH( z--D%pwi{iZ1;PhO6Ug55*g-?E>unK2xJ6pOthmOn>&a9Tq)M(}JR(!dLsxib??YUnan5Jl$m}z$qUnzD=M-JHoQ7viE2XU}f!k$jXE`I9N(!(DnY=zpvo0MFO!pI##04Ai098~OZ|?yMxOJpl-8?f=aC3n*zcp@ z{^lWckJgbFgzIW8?s~3^FBP=}boPCDHPj z)u%mhw~U*Z9&Rl$5^4XsmTZpc3EAYc_o%3+!lg7G4WUTWUYGrdcn7kD8=STA9lTqN zu|HJF#Ph9PKXerX@GyTtX%AM`t9tW4SlsI<$sS33P5^+GWu1x>&&2S$1&MA`%c+zl z{Pxz&ES1}6jLuzDw_N`_VP)XeS(AKD=XHxWI*t;*BkIryj-I%C0pDx?NMpXs*4~u7 zIvT%@xQ^kUG%6Fyc&sj!CKs5YUH!>)rtIT$y$hlUYN_v#!2^NX&e1fuF?Y{Vj``)< zsM?3uVWEd}^QqTbalt)>Z^St?h&h~en4 zR>@)&-qqoI)In=d1-eJaI+~(b^+27CgUFPCvYFGIQZJYdfK?mQvJm2sk0H08taPBV z8vOd=s`s&;R`b9#Z^`ygZ1dPbYKW?mnaMekH2stTn4PqrkrO9Eh_Ce1nQ`#uE{X~5 znS44rtpXG^;~rOaZ13vl_mS-i<0KzP4o-gq_9iDQY5vVUAEbkNKICy<^4)dig9rKU z&tKfO1vw~44hx z_HivM331u5lIt;mZysE4J~+0c!_Od)p$7!JSUJA996Wv>MKrzUm9~mI8yQMv1n?a(?@3MuTmf%p}>A)mlu0-L$zqLIMDS*qh zGRS60`im&y2y|=UO(H_yKWry^^CY48Bz+|n?J<)KfpM8{Y#J>UiGcZzi$B=1L>-xC zXh*Xf-ae%fh&u=0E`vH0nhxcR<(ywM->Po0hJ!BO6H1qlu=V9F9VkZO!TAJC6F;PV z`OvunibSMjNX8y()3IUj&Cg3oW^P}@li72w#_Zh9O4=-EZUuzUs|DZ~jZ*OK4nn;4 z&1G$Q$PcDlF(FWG3_~Ui`F&tWOZm9KT+KF03r&0z!*LbwV*d5aO~_M z{mZ2qP8^Ld-a5tXm=X3seQQA9!ewsu zNFKCq5;p~JKt(;jY&txu|N6z((eK$h)lbU*&Pk1lfEnkqv%cCB`ynT0d<&mGeOu0y z9r>Nc(?nf>&65TLM9MP8h(#Sw(_7sV8b7@|<>_KDAa|I2z0sgg$|So3UI_ z7kVJTYwhlldfzz|CfOEl7U#>=t_$@+)?#MoA->JnwcbR}NL-5tcMHb-g5q!rFvbVK zvMW>spo6B&16aDYWIBn`>MU!`a~w~0rex3a{t%a&wnS_>&J{zL5*W)2I%ESwYY#SL zX`kcUjfXrC1OF{H+|7O}J|SRO=UsNm&RI@MO}#7a!Nkb;JMe|SemqIb^ExvbJIfn4 zqo@$;_(bAlioU}by12;$DRf~ueg7G@@igU#E^$;Q7dSjDZ`yY#8nHPF2Q}}gO+AiF z+JxoH^p;e##u(#7Dl)>N5Ts|z*DobYWn?USk%K839WGJ@YLF+=($aP-#iZ>&Sbr8QZ9TYmx=VBppaKCOQ9T*FV>YHOSZ*nb zw)A{=D+V=tcX(HCIZn@G)TAl?HfF9uuLl&bTj3M##!x^}qPL0sGmTDlBRS*#AEw+S z71>CC^Eu(V<`NMYZU3(N%MqgMV>IxH@_z|PhtXllYvi;0<-}%P= zFw@{*`Mi+%M~Pln$_Vr<7*SJMWDZbw%m0!~0zb*gwSpg4&ab!iuZ;JqW2a|-*w?g(qzb=&-FUY#P@aayFBU2#pI>M9)l8xW zK3Oau_$z40$yK;d^h5I+c|b7d4@D@XN&gDSFRAgrcYI>?P{ULm$(k~2_pQouoo7Be zF%1AW9cIWCfRXA*dt-Bur>Tj;8G^ z4}mwmZuPO{SGu#;FfrhSuh?W8Ah9vRr_lGI>&cErEt&1B*RP*--n-{uaFD{G-h9wU zjGJu~3NaK(BD^w1!S~hA(ec5zSbU=fr(PWOaWqT>?lQCw2}4%X#8OlBsuTH8y;LLdm7pw++`3iulggRS7v@ zL1UU20a@dhThO(OrCbVi(B;0MnAC7F^n1dA3b8uY?+eV$uIr7u0K2QHkQ9@~oN-kL#|I@=QT-|4k~#U%bJBNN!q&rjiJzs>rpDd5%FTR6{-07C!A}Rj$EF^S4%x>A}~N_^>-56X=a zG+eh$sS)WSZ9EufwN-W;4~2as2e2H?0&*`5UumuyOgBz94bYj*X77pb9M}sf_=#jy zWG5!ia~Xxj@l|hoaWK#{Sw|%e4lT<`0FqaL0G5kIWbI6ePT%7-+!E=>iqBBRMbjXc zo)xsb@^MhIuK0Uax773s)A+LGhL*cRyd$E3W8VtU=l^9b=HU3?1vuFOlh0VrIe^Zk z<)uV4)bB}$TJA2f+jp(2GsMJ&MFX-Xf!nl9KV*vS{im6h1I4|!&dcpYIA_)8G`)>e z7pMb+Au7a)B=B;tECXs}MUqchNIK{px}7od_)wBjY=KGHoJ z%3>Zf(A}kVG+h9096LC4ErjJr_WrcWy%z9bXIIbs!oaTHc`#jMK8V@c&G(;+$2p_1 zo7R}70_3u{um{hfMo2Lb&h|b}fNc8qYe>^Eky2{GV#57?RKLT?TithbN( z=3JSNmG`l0vKFKz=e_RJDq@a+b2@gl%e7S-lcUo~KHG;fOzGS|Mu(3P!Z=r+Ii}^8 z)~n4PN)Ji)U%9~}tTARO3BPaDaaH@@0jB+TJIgFSO;&+5X-VmG?FLjQ$7!Gf9(Z3u z@6*X75O;V@2X5a#e~TGRroiba-6O>|hqi|8W?LWiC16MB5L7tx;EhGwJe;f_k4S*p zS_p0TOvHYQ92cnaZZjf&<~?{(&_;0!LvdJ;dK!+(>(1Eh`>s&4{p)XFUXUSG@R0H> zUQu|e0JoQzMbBdj84&cDc8TF513_!e`4vhVRD0l%UBUN@L0BF$&OcDU5nS~ix41|V z{MDQJUA{(v&|l4SM;Wm0amW}!Oc%rR=gq79X)^VQ>Bb-fgl72=1vlqnV+abP!#zuL zOu^>y?bQJ{v`{r2Cyyi4yt30N*C(aYgz0cM zwgRjkV~~USi0g~v@ga?<7*xA_wnC_%b*0_bnipIZ&gjv|#zLPg0{3t=au9j60*TpuR&Y7P9_w?K5Hw@DrOexWL z;T#}IdLCeYNeW8%7$LHLn=-!k0RM1!=I1~jKg0dr-??u<(tUxaX)n_ZX16n!7=4)0 zOetIj?rG(E2WvY^Wi-uR2lUa+Pfq{NKE=`R6ubqL=biKqARNQ;P07lOkt7TWmK^F_ zo4EzFuf5t$Or~WsB|#xv(>`PzKQ$y7cX6+no+~2zPw;Wo#@)z)7@E!0qrQcO3Dw1I)@9} zG1}g7G_4&JIoaf4>jr$oh1yy8nPSJAAm{Dd&arj(TZ4RP5JJ&+KAuLC7uEgyGJ03s zO*}xxO|UU|LKae|)PVlAHfG%T4b9zeU{@$shr15l$Na6|Fp~ggtGYw$AX+x3rAC1m zO1>Yomp3@+)9m@D!%wW$4<^iiXYZ?#*i7}~*gu6+03D?N@w0(KLha3pXAaY?7A z_+e(D5i5=71UW69D!t}nIHjSt_UZ5)bMA*N)@b?h$<=HP-civ1N`MXr{zuI85}r>Y z^KL3EdZt0)x}L+a@52CujmF*P*iB>3X+ZXQzNGVzHaK|Z3O%z1-|7s-Y4xA5Qa+Gz zL%hRnVF)yF11KOQ#6cjk5f6qx^~!Pf2OD1usXcy&?>AY+Zl~;*uzNv4VA(iHYP8Tp zdt--9Xg&>L{*iKMx#rf8J~tj?d~Zvfq0h_s%_55c(PBL_s-mIKh4~xo&}oC+r6%0G zq0SV%)~a8NG_w|4>(z=f_tf4QK#t|o1m8#v_fCh{g>~F@;uq_;w{kHIBYV`zHa)^q z9;&mw#q_8oN$WTWCnu}C3fvV^PGkK^tyZjAmF)gsZCrtJz^XZ)cs+A&ZHm=Y5qX8@ zABY_I%4#TXi(B_q4l%(Ngix_piat7*srk33 zX7$5xT0JwEW>x>5gX7xzuWr#QFmcn>r;i#k7N#Zw--aEPN6)`NM3E>q@~^ z?!PvzhJ!WDb=OJxhMR_Nq1uWwC2Uaypw7}RPz(@#B#$;EE++}ZQRLk@`)r9 z5J|P)!5LL{1oM4NMEVjBa>j~$9eyy4U0spTX&%vG4ZB2KR)0)s0C50s)#$Q7tbPztn$BW zkD4SCmS8&v=V=j%`{hq7CQpaJxM-{)sBV@#s%Sw$1`~eTPAxAcd%)mO>&r;Yj$f2( z0(nz+*em|M@cxzyJ9kt!>8m0R&`|NxZ|MwUC!=O*75oHR$aNuI<5unQOmzt+1%_0o z`WmsNi;}y*8PN2xG}zF{BKaJ;O!)i zUn){6{7d&|%x$vLhqw53R^YXxIx za|H!;%RJPo^34^yfx-O9j5m~WU%t%P)Xe_U?LEP{kSU7BOHeo7Kz;FikGJFX(=Yfe zC-(y;{zEFEX$1zL!r7O^q3g!v19@g`tLyFliGlzh^kPZ7><|wz;zw{kz3dOdb#>?u zszenXOy_MlJ9)5$czK8l(Ep-kzkS*{FNt=5Y8gELalC?&L?{sjr; zp?bqy^Nf;gp~|*Fu-@S8dw0ao*7Jd;NbJV~_Xq3srgC(Aac7$mIfBKaW+SZ>Z^cyQkqRe(bUD zI+I%~D@jmBnvlKbhb$qL*-SE-=f}+IytW0^+y_gPtMcK9+QjfcYtgla16BEj^GkEd(}yKh4AUkP zoE#meHJGTf;|*3zr*6B(O5(qggEdZb5~m_iiVvG=RQWMVYiG9a#M0uuKpDN9rcTc& z7}jbU9>FevTZh`gZfp${rIwCYwFjMuRG5~(4FGnR!NKtbK6er4$XlaDU&`&@=4!^^ zf3e^wtUcZ%`h!^G~tM%dA_KsLt0d0Rs2- zxSLOaSd78abQR&5d!^IbOj~Dgp^a%$1{sw?7dp zG@)D+`aA82T^&1VT^!S?$daMBd~syPNsn_;(9ueQ{#j?hxnye+C(piSWsnMw2KAgr ze;@M%wVkH#(Xhf*STgXoPcq+VQ#s6*$2&`UTbz6q7#LHa{(;4dR^;$)zd2LhBD9C5 zV&~U`w8r!cxpZ(_tE3DwU53+|I9;f&xR)5LvkkLbGGwQhPtcXJb*Gy1MO!6>sYA@` z8i+goIk{-a^Yt!>^ExpQn26vT6+AOew(SR>^VYB#8Om@(^o= z<%mEDH{0~Ku&#dsF+V==wL_xeSWH+k_&Ne8VWbI zYS*|199d<*2Dae-=`lF_Xajz3^EM5xW&hj-Er%2f;z`p_m!IHY48pp$!-E4 zi_a)jTIU`k;^f^{H~%i*r}IZ|v3}K$%VTni2Z4WLDEKVhQfjJ{ISSpeF~u5neqkvV zY!brUx@C$|e>?}LMfLc2^jnozkF7pqMgj4|80(?tcHZiv0w%QwDRkn#7=OB;lQE3g z5sO>FH|?Y3-DN@QA|$Cm?x>n^LMFpZ3J0Ca79%H>RK`upWIjYSu8mXXhFn0xf}@Y- zc01d_5Y@?|#JZn5yYaV&)2c%)JL0dj^w-yL$*te3@Lmm3oD*%{mgqY0BjC=Y{zJI< z5lfX*@U=LZc(rXmZe}du1o6z%wfkJ$@s3&GY|dZn&}tNUAe1bw4}vdbkt5}b5d+6A zL3~+Kw!}Ej5^dE+B(9KJ<2==5?}dQ1c4PNH<(I|p?)9o>`~dDtTzKuyv|JSH{N+(C zI`(Hu*llM~l*mOWU-Q&D^}g3mt_K)g-s6_xFl={c!zC}o*g}03XUT@GQLtN4Ib&hB zzm#TNw(l zBFTbH@VNh)^W;uCDz*EEtAZLja zzF*U#_wJkrFldW!?cs0*wMr=8_czj2KguyR1wT;lYfEXJOba;_F@yQpNS=$d(Ltfv zZKnVK2QgQ1j*uQ;u`Y2dk4ubGDHF1#gEyIN;FQ7DsL|TC#;&v6mP)@e|L+k*KIslc z-T6@wg7H9nO+07to&T(P9$uEb7B;Vw?7G97UPTY*ck>r>$^@w#<}+cq*$-zvXs}-u8%S?Ij-`6h3HI z-MtJ>6h!wX1*Cr3?ZnCXL$D3~4<|saOjvkE&wMNM@iDZbs0FMARMRyzJ*rC1&MT-J@>4PuHS1j- z8_zX+N2`}58Br&u4pBa?J(>&nTX0~6SRXwm#x1i7m0Oj4`aKY^K^8L_@j|a6$t^c_ z4yf`nWiXLL6zLv%I%3Z(iV8_iCT;rx+Tq(cEj_PR_`V* z2sRm4X>jf$&$RxTg8c7)Wb67MShDvKBBp|jfxA}^Kv*p?Sj;Knim)v74G`FTlY&I42p<6WU=Cgffl~$V-`jwZI*Pz8j z_iMU0ly{%awgV!~P`DNDi<`J`N1IP*jM>qAM~CIvkePtbspp8H6j_b#NRN!F?WgUS z^&?c)p9}xlyssS&5--Xx9yrd8^kBT+2!OT@^lLS{!p?teb(o`*WnQaZjF=q8(gt_d z1_yV|u#p}1cdT2U#n@k1ZY6$gN7!C-y4{)bVau>&!4)|XKUIUf<9a(b4#GR4c(e{X z!c&gM5qYnb5WJ>$ls1Dmcf2_Xz9qLw?jO=HqrY>6Jp_VR*Y#W7h|^s%6Lpp;El0~0 z^cw=DMV!pSf<=$kcz9M{)7+K6$lMCpx(qG=Za*IFof57Iw;{L-uJl|r=6Pm%JU8AI zGwKmOF9#Q=ymPr`NFQ{ArUqi!RXEP)hEAWT)O_qp7id2;Z1TPLqAWYSiQ85=^Y(Z0 zX)-LVY^9FSv7VoT{kCtam5P!ISyc3h_QRRoyEL}OPK-N6tuIKGaUsbKLJb&)A zSpO_rgukng$fME}ebZu!S*d!+jSM(S_tkH6=9~i=#r3)e4@O}18_nr;oy;P1{L{?` z%OB}CTS}*^N|i23lc*MssLtI)2aA5_*ThAuMs!rVmmDqwo;o&+^>K-tarO%@4_MOc zI;S)*SG^s&Bhhui;ybc-1dFOPt9ewtvofplx~Hp(op;KO+;Ru)pEWHsdfb~kFpeXV z%l4`0$yzO`^c#QgwAMjIb6(!P)HYnTwL$G9Rg0G$?hRdtpyQ~wyn>W1c-lSH-8TxE z_0RZusn2&>^=bJ2NJ{fsrI+|N2unHa!{2Su)L_@|Ub@isV(+Y?yHDP+>h`yvlT;&t zBr&M3sC&6;|AN>l`K$xJVN)tq`H1_hygzxLJ1pIDaBNneAHK&Ha07SN=f{>WH>g+{ zC8k}?S)>g#0TcE}oVtoajl$M-oy6-O8L32yn%|gm&L>cCRY>)Fn;%rsi3MCfBhFn2 zm+Ar?KU9{#9BCkW{nUt`$rD6X$d>$%1SDM3p5n zN!Jae>0ilenrsCq9lpq?@sRihe>Dxuy9dOy zDF71Zo`n2tw-aO#Eu{5~VKFpN>HJe_O4TEA=r+Rn0__9yZ^jcj6tT;HBoW@?id=AkcQ8Z((Va&%S8m4W1DSdf{{kQh-6~%|!{)bvz>f+2tha+H_^xLw zZaGqcwEgeO^Ev7_kkNHw?w%A0bgQrW;}^WF*b;Kq_!6dX^0poS4{-TJ3Zg9_=~3pt zm_B|b;rrhcwZDl0n|>_o3oefXU=OZMo#S&tCA!YBz{CCZd(v&)N$rkgRy*1>e zwxOqxLXeczo*s=j^k+EjjRPax^`Z2-+*Bm9e}!&xIf0;; zOLXaK*T%FId1jcPr+tDD-7brKL&U&B4O6w03CW_FU0ja5A>(=M=!Pow9QnP9dO7s> zQMf3pHpV_W=RtNC>W|I9REc=?388#F)Hx|1DsMcdSqc2HPX;z<@#pn&w+%;C{pMqw+n<6KBrh0m+%GeU)OQ)ftt|I6yA zl|M^!@>vsHF@oN|!kq%C-`^4?)tCidNH71_&MzENF|c!INP`SAm};MSzL-aby%d$( zrYC~5$I=$IF8b9fc*Ap>9JQ===N|qE*Xt|yDxh~zHgM=fW%>;Wd<09cKWmq#X4w$t zJmwxva@2o=45;FCmzsYljxQv;?NS%Mt4de@`R+IIW7-7+D;Kr^Y9^EHX65B}c0q#i zk=2q;7)TfiE+=;H_=tbYFY*p8>lGeMhYYA^ua+^P62F{zPUXlX-_ND#Gn@3?B+%+$ zl2*J~CD7C1^NF*AN)tE1I%Z&^sk*1^ah|kJ(&pmsfN&$w)n}h0Z1gBqb3u<`j^6HG=|>p6-%@_0MU;fwc}k zcPaj@jQUi|PvX8s6dThOT-9gKb`2>EnswxhfWoXMUXT)r>e`CXQo21Rk1IcBGc_wG zjxDr4nL)u{gO+H*Hb>>Z#^Va`1St`^}%d08MgZJOZHw?46n9=%cb2($~jLN`zdKyA_vA$ zUu7=}9Zgi~GG@Lr>qROu>pg&&fa@#R&IM9H1Z7N!n($^w zP31xzTcB6Jm-wK$TLwPl;>+5yOWw2L>QYShTDde#mi>KQCFQkOSr~?2zm}Bd)-c9b zvuP;4I~dA=vEgF^sziBl>y=mbF%_f^q-KRSF~U@YdYTl_7gQ+EmxY842mcCwdO_$E zGBU101D3rc#>!kNUyX_X;=SMRB{y&`1v&4R{#xx(-xB$M4q{-OAQs0j7rBdNCd*TR zfLii@FYrC~Yan~lCi?8)hBhKlbq}#rFVWc6BH~*7!iAwcbl88-qPt6C=hpj;m7@t| zrkpB^YDx9L+OPZWwdJ2zoPRNWjDvq0^Fr#Agjg^>iqX;ucqfo&M8G#L`x?EAAGy|Yx;Bfu^`N*o-uEn8HO~iTa1KbqoCzaps?16yf&*-QHjKmTbpqGTq6(9@ zxdNB{>0byGotM?+bRG2+=4S{wh-WnDi_Uc>Klop`sc z%G4`u%I{;3WmfPq&TBg(3e_gAZayM|n&|>0bRyI#-Aer)pO!`$BdoUm8WA-4={@^( zzXRsj+2L>UP-dBmKVXqma?ZPFi-k^MZ0z&Ie!hvTn-7PR{?wB|X&3xEX*!5WPF4;g z!0Nz|K)hKm$vs113|2_*mzM78Yr4A2sDxU298~laO1Daoty|mO%d$@z^Z^N&qH0L+ z{M~!wT<*uPd4mW(Yg|0bp zg0zIPzBfED*L5%M5U~2F0qE6>ZQHN%HJ3cODQ5eEU#pk^oQ348Qm{Fe(<8`Fp8NVo zmr8BzQJO#UtJ5AAvXV9k|78>SHSD_isf!va9~ZbSck&u z1&UXx!N%^`1%KoYCIWP>2rcnrB;=Ip(zohPPugK@-><5-f7bC=1RNFob-lL}p2`dju@c}VAKl;~ZT3Qfkh9h5rDdVlW6 zjaAsuZ)WL#$zIXqDu$!eLh4J!&cEb0^>+7^)>~zd@kmGnaD`%b5z4^yfj%l)& z?%|N{+5%R*{9{Umn8Ok-MfXvzf$1NdYq=9d4dYRku0PvfMxDA@`a2sN7}1EEM z&;6?y|EQ~_kBPC_JfWyheQ#O*ewf)SSB(U{mQUkF5ye8UKG6O@0L4H$zk@PjY?egU zuu{m;uADe8RgiZ;6Xbuo1wwkY#k&(bNx7tam)nX=opF74D_maJ6qmQRMfhc4t#Gd$qO5SWz4rG2+Eo&fY-`(2nKB zDXfja9`)qd4zGMAa-I|?>#8^!=fp7}&vo^1b6Ycn?`tGZNFBK^Ue|>W(uJ4kv zACmew(Lw6-X{pyfQrE4~Ze#~!3#$pAP%)0%m4T0&vdgo|*;$;fjxF%)7k$KW=_YCV zO1UAk4tJKiY=fKo+R1a5aLRd-j$Jq0+Sv--K5Pr0_Vwg>i%gxW ziX&21>Q!V8EsJd8i05oq7rj0b9tY?QOZm=s!_9-8a7CW^wasmCYrn{OQuv;h`jIwq zb7wnrey_7Q19gzSwaC;#9GkY%R@;6bX{{6o}MCLXfIh9;B;Q5}~hj!s+#mfx~>U zA`aZX8qzk!LE2Ie;k)YK_P(0HZfWxes^ReJYH0LH2lx+fj=+&E5%fuGRQ#?d=5G7T z-9tS*pyD@h)q`0&H}?3i+fiIEd|~J3v|*@5e0QMDe>m#(vdCSb90Kdr!waLu2)r&v-OVuE+E5cWw}@eTgPXQm_BgpM zJg@yMj)@p)*X!f*p85!CQWGi41|w~?0?1mwF#K9oM?hFT__b|{{$s`9z9Mp75yxtC zEnHjEOL%S(MwHY2#rN&=Vw`>}am47q(Ge%MHbFpWBjHyN8S55;PxDgnZ&wp}I@LvB z`(_yWwKy_Y#R0n72shT(#g(nn>EGNXjI^BOdsfQ*IdDPp4R4DRds-uZ)A~~O03;9b zL#n*N$Wp8%a+axx?A7bxtJ>q@CZ&;;3Bd zhg%2RBmBe{!s@h}A0fw^r^TUpR}AwoDNi39JQma> zl`gm<4paNr+agP&>hNh+7Mbc76aK=twj67gMXQ(F%x!qc?GvGFB7%{ zfP>;BT@*)rUt?70-4dC~ltkv@MUbvQ2-4&aM#}s_NM0nrbsA*MzL-^|;c48FOy8=ltvlk8xgl+|j$MrRy5?KV&TdJh`rZ{6#}X&)fMTf>I& zyp05gfK7*MxH zi?JpK*0ok>(X}iR=gosu`9hFBzc@4{OCv|wiU_IK7~fA5XXcbB^@HN5?CvgUFSuCT z1u^ul4;JIQfpSuswJ(N*fk8-FC?7JG7pJR16`{)TZP^Mx{UuHp#7Uu}vX48LN3ntJ z)n|mS4jDMNyhMhwsl#f!tYep4)7Dn{}xG1STPDtT&$!vU8? z&Wlo>>zz@jcMYT{l@Dn}&U97sAyZ8;m@5}X<_0zK*CNU(<-a6O(v{C7A&p}vT$4Cr zOkZs!)B!CAH%GF$Qnu@lGR+dukB+mQTkJS$Z>Q4)LNc~tnxbH5?w zm$+|@?I2|?hBW1*{1rol@*!1OF~Tbp!h2sy`?(~~`?A#Q&F>^JodXBl5=Zvbiz2Hy zduPKi`imM!U9k|-R2KP!(o_gRs`3FyTfQ(}{*2COHY>~ zF^xT)l|N;&8fh_=>Ayf!dD-td#dV6~iM**(CuoPr%7;fMcnXgz&}gUe8CUSc&uR$A z#Z)})l#z6swZrN8u)SLUOHn<;*wnrKKVgMEFHdo;@fb&!(}`jWJ|oS8eT^qaC93*~ zD>#*d^AF=+aAzM+z7vo!Lxouz?&VAXJ{DOyxS5N4~pS^L5#)2oSx=k z*Y?|cB(XSB=zuf38X!#xKP1cVhvY$lVk`wCeW60gT%rteSFDOY!&*o@F+wFSE{Z`G zzMUNI#)`aJsz~PVhorgvkWvi#R0V^Pv1~D9t5zP_YF0zH_c$^me6Kf? zbYf(IqcRS-JYPtRzZ=bQU}FuG@7WR+pX-D?EovikwNl7jqZG2#EQxHjDx>FX?Zu#z zvR@OP7sbGYI0H_&HB0gp1Mqe;>|R?JnJVO0Q=n4j%Zn5N;&kMpqnHC?a;bLII!?crYtEJAxP!wl#-=;7G)+~rLrSc+m88N!c77%Aaj^zp>dC6jEJ50(R zE)LQ)ssAffN|#(b?6|f@ZZ(p)q1d&noj9w7k*q)vk_C%{B+gOtfB+^FJh1N$vqiSO0 z=S8F5m2v)*IC9s8=Pera9GP&y&AsvryGmJ_;PU=TsMl4VQMp3MS*sEP8`nWllRC&+ zy)04`&nx$;cX@h}$Q-p-Ha_NM0&Gd}@~yIjh3A zVKrnBCoEN|JgC;8Dz2UxAacAQJjJPjrxy+T<-WAFTRo*tpGM1m6_F@UZY0m=hZORh zQt&y^K??Cj(WWJE>w-A2H>K>C<%q2=7I#79KP~0C%J$J2mBY#)QE(n zB=hw}Vn1ILX;@KwpXR_h`QKd$m9!j*bb_?oOH%Kb`JG!+6l+lmX-gDD`ocw#CT~8~ z?o$i@#CiQty^ZiZD{cOw@Z)pxgzyc*R^ptjixXQLq1dyvk+n|^_`FyXKCd*!%kw6< zBgQ{?GAyDpUSevLaU{oT)Dcdj8Z;_AFjOWQ(2<=&)qAW%1?Nj?igLa5feE5x7oIw`Z7X4 zm$)py!NZ4m@$@-@G~~}85IDR&f`)}6`+!Dh{CZ?%6Xta(&x{MOa%)ed&$zsR<0a+45=js zI1Ml{#;%HUap`HH(L!Gd-{C@X?{ZC{`gr@jI!GEKhGDQjQu57okdR-1GVoFt%!f2Z z@*!QZV(9REUEDa+Sd6fi!bkXWI@h^R#V`}Y>Voh*&yk=?;waR?gbC%4zDRB)&6^FG z%H>1FKFv`1IdMe9s7+V4Ffx=Wfb?aHqFvwGxO%do@Z?C69IrhqBr;z8PRjm{9Hm}v zHIQ=D!(X#%BYXJ}q$nVA=A~mO255kvkS|gP1xZ*QWDuTB`qsy#vviI)LLmnBP3fq} z^Rn=~#!)y?92||3I$iv4Q{=3g4=IZUA$yIo$lIzu3U_FXye;b@YvoevTc>3C15v+Q zOOl9)PDr?wXye;QE%&C0sY0`b_mA?N z#EIauM?W0e-3^866+z+Ygh`^J2pVY{+*G( zRYN2b=euHPDO}tyWe2B}lCSXKGr#zo)aN%sa?KGL$?xQWJ}A|wI8usJT&zoT51;L*zd%&Zo5Z6e4r7 zAU`A%=dMwYa=3j$(p=_uUGjgwGD>KH)PopN%E|sv!lgZ&55tM=4N+roIb`Wl9zK1m zAm>Z9;qz)!ytGjI90RWq-;4=k+!z=b7#PGB@j`=yi-YvWKR+P<`yEl>t#-)sQgitA z5JR+C6%^@E6<<#3h-2HI!L>`haqVhPTszkl+t#$hGq2P@suJQH6b?kng5ng2@trD9 zZlo6jJbkb@2I3rKE?5BBN|ZpBQYDbJOi83ES`^j88e-Pp?Q!X3D6U^>tmxW_rr5ov z8lHKv0#b;B#i=?O$`nGDGDVQBLP=ySQ5b0pGwC!nYFkuBnUxL&WIJ zFGj4yO;sQeX$pu_kUtO7Ntx3I2MPs<0V>X%$eA{uIE-Q}rzjMRa$&VGV@5w*KGqf2 zuXMuo8&BiP#r`mO#oP;wTjf z5r?k|N;NHynKPS9*}LP0w4<9>dWgI|aPCM~d^w?kIME?UD0!zSD0NvV1jSo7LQs2g zjOtfI?y}{Ot!gFswWuz93yV?jD~?1?(|>P?i-$zc%iVG7YDe6-*cz9PcfgO6 z>mg4~i7Rp@%NrzhmKP!I8luI^T~Tg$Zxrm>7-f34MDCWg#Oap0%+r5Jwv zxi!w8=&7F1t*gC6-oChcq8I-BtuYGMEr6$jqz#4mB5TFsDAK(N{6iZeeNYH87cPjv zHnrd@4p?%I0_6`t;$S}n)GCT8KZW7^k>1kY`{AbWx^b=>t{&}-*?)$jXoGS{B#uQ= zaaNMj!It({ym>uT>(>sI`i7#W97{E8fYfp?QI1SV5|kaerR`4rxe+cMY=fIzq~n~F z{ahQ|I1-9kGn=7sgTi>iFDH`Z&WYR=%OhXM#>gUVI(w}e@Nd@$l?Sv%wqk{l#5bpu zJGaEmj)Jv|VD{8HxV*awZXIim+eaJY=II8wexxZD%&d4>^Z7#_)e9xqB%CPvD!_dmVi-FfcGMFo;ix9}d#( z+jwivFDUSKClnhIhLAoDkgHJ@)Tc7Dukq!l!si_>?G(tR=)C%2xo%gYzO; zo)9F?6D$U=819^wC;S6yR70WWjZnBxDC)e}87)WlM5|A@rWA_TYly7HiXvkXek`6(c;{6kO;2UZj3+Xu!xLFD;)zUYksx~pB+Qu+iTuUD z49qG9ZcdTkSBzsn=K6 z#0X58Pn@8_AxKv!53)+#q?hvyoCYY4QhKSAbmAz|VM-Sw^%D}TrXQu|=#AvbZ-9~p z28bMTq?4k)T@pi6j;UFv;v@vstATO@JEK(3PAJ~CCGxavh$3C;B3s#flCL-(bk3xX zQ{~UED4Fmiza;+TE5^AP=E>+7snIuor1TR<$TtVdH*bo$t5#vwishKTbP4`kx)d`O zEyiyP7vk6X^YPpKdH8SXYd`$jZ!vC6uZ)eWJ!9w?r%|p)6QnCv0I4WzQ8^aKFR}z9p`RGz;)p$w zD+iv)nL`}h9O9h$B8i`$GS*W``zh6-5$e6tQR+1W1?tsA&YI-i@36S;gvMyanS#Ib%dXLfo1;$VvdmsDgW<)}~;wTE^_ zK!Y;ytzH&+np8%Px+UblA^u%yW6)= zrqp;MBinl>)!q~MWJbaq*^nrA4kYyPL5ccxP_$PoWUN>k*-Dm$PwmPm+@%rHOIuBt zH4C2d$%d!0i(J`#)XRh?vSdJ-!UYi6t~Qd%fBgxDvmSC}RdJI@eIyq-Q^|jWF9Na@ zEPx_4tD#zGU9{-m9C_;&M@lJoNAHU-H@ng|z%m?W9 z(Z}fd(P%t9`Xlrm{UQ2(IvTw{`3TRA8Hd-tn1HuF{}!XhPrwJ`zr%+UzQ@PkO~%+M zKjXVUX5xo`W?|B-|Dk55jz}5cr$zv3b#I1R1Dc}R(=Ab^M{^YK+8jl@hN5)$)+o}g zB}#N_fr`(xM%hlSkW=!-Qwk|dO5vM~#(ZuuQpK1}F2;AlY}xR}XJc^i#3>YP-Vp^` zJPrRk9pGOr4B5&wMuw90;9s#Jb{#yd+Q!F|en+Bwl_XwwwCy_(?Rxh{NVR6-n3O=< zfrGK{*l`3@5o5bqHIyCD90fWyL`eHu$k)D-IE;QsTeJ`=w&{Yuex8i}uf2^d6>Fn% zhi5S7pSk$(i?5KmOf~pbX@IwezlGr=Mj%JI+Q?p}A}0Sb5vTU7MS=RE;)v8i`#u9P zddw)4ZrMiKUv)HT-vb}N^FHdf?ja6NMU<-B62phQiYm>-sVGnqA=R7V^=Ss*Ghj_d&MOA7FOG&dMJdElOD2v(VsVO!HLi^#r<}i^;t~-Hb{@u{uYN+G z569uHpZ~-!%Qs;Drv2D{=p+svJA>UvFJSlaGuUMEU_~kG{E)N}SzH z`3uT_Dp0lY;zUVX=J$nZO9dlq<5CD1P#byQY!1J7TjQhE z(Y{1m#wgpc9Ws|Hj|>G0Agvfb>BV4ApD#e1f?#AToKKu0F?Pz8MM%{u zC{U#a3RJFz{1vJrxN=S8sZbMsr7OX=cv)mET1uRxLP#ALf(&9*WiMGAY4QglcSF8K zZ-$yL_QRZAXVCezcM({#J_Te^Otd6=-jzWIDPga zPM*1d6Q|GP?754$aPbPRTnF}U-i|`W#px^C0R9!~p-|1nIC~8k`|~tpDJYIwz5+;> zFTXfF`P6q6X@pYv=Me)hSR5Fx{>J68Y4iodr$R|o=pTxzy;@6I%Brb!>GBGNh{IG! z9HpXp#8E1MEaD_&DOLhmiaIe3K6F#L>$im_5D(M zI!O7&(UQ7IPbVwCI9vHbkX9V1wBnGa2@a6FMCOnJNS!AyQU}mU3PjReen^(v56OK4 zkW6IdcSigmKUuDvNRTBfhJE@O4jw&;s@;d6O!ICSK5`VM{xTl#zV{AF)CfbF7Hu&7 z->ukw6nJ&~6g>0ho0#&=x7e_70j`}mf*s2jW7MZ((5}xQtlM=Q`Kr}Y@}w5yH+6`w zIEH~zeyKmoU8pEpbm@nK8@FQqzbnPz>41Unju$=`uz2w*K!bY^f}5jY>FJEtKid*N8{G%6BzjB2gqKjAwK>{%CLSdUVeQfQWUC= zz5`#zfp!04^q1q2GH)rg=>80r&76j>#!V0hsT?XbZ;OTEbp11ZDsokr`YcRt1f_4#b89^RZ#|a%8ViLrrbu zNMf$?@}H(nm9=# z$A2&FBo8iLyM{SSSIYmjmN>!&K^Nydg%BMi<-|+dPLp5$Q~9O8$S>`qfV5p{)2XFxrzw;d>B|&AwkBl| z@O&+Vyxj}|AGE;-YyNciQU(SF1_lNOj|<|3gLLC|I7V)okD}uSqQLN0DA-S&hlZ6< zq)kVJwrYzWVYRV)75ClfFZ2Sq4D@G1Dx+EbdZ^a2J+c%pA%=RO82x$STe>uSiWf$% zvL%tHVtM4RBF<6uS}0JhrWl1a#Q?5{ATds>b!dhDLtEgT(Jk@e=%#q%{l;iZ$E_&z+^#*|c=tmb-+ux}Pn&HsYhtK0=aQc@fsRJGQNujo<(L11WO_qDiZE*tT{l=Fj>A>HPDeNYw_|wPihy zoj4}XrYs7SuZi_*mH{^}!oN~gWC|>RZ^w?t)zili`rII-${i%m)p%SuvKOzu`#uuq z2*!&qK8H)^58*>`78CpDLz`|rf$Qfn<$tq~$~OdI9sAsy-Wv91Y4NL&>}-*S9VH-F6)PM~y|n+I3LAZc`MhRu5AqkC(FF z!igO#asKFbj2Jcu?~NED^fE?`7=#h84Z=4cyop;EcHqFqg}8QR59aSg?I@iJsAQ3bER@gBY(I|hqqPsX18doXY6w>Z6i zB95;39*5>m#NpZFaboFMTwL=BuC06*H@3Wq^Q+&-tUqR9t2kK`#(s)Fr~HanM~#P% zIAlv!t-`XM2as4C@YGyL#n%t10_7-eHdROnGRXfVsBTR(eYyn(zTFN(KWdACBRiq# zb8V5gWn<*1UIW>yRf13Tvd9%y4FQAdBY0$U_`es15vzVz|KCRqTv5upLKs(Hi^+;% zk1Cv2p?jR+w9;98#=Wdk7uBL3PT$zYm+$VPT87$b)wsBTQ=W0T>Rfz>edRs#4d$bX zc;O)3ynP$5ub7E^?{!9zH`}5}|E9>-q7Dj&bwJ}L4e;ZaErD=4N6)!QoTLL?(6m-X zR1qUEbMew*!22OXh#2qrLXe|a5d>5yhy2y)6jevT8p5k)LlkWmiht&`MR+)usOD12 zedO3x1Q5E#)y=|y3k`8_TUFHQR07HK1wEb5t%+619t0K+R%R(WF9M?AWpcyH{?&zaKq~dDFhZJEPvk zvjYd?!m;Cc|L3X5R-h=(3-6KRC#lh+EQO0BPu<3tIHd({T<;{_Bloglr{6vb{I!H)Pv;q|OgYmu|D9Oa(yy?Le^Iz87EiSw7h6B#mL@Q4ra)6%WT zRJJ%?AJ7hyhPK3*{sCDP~e!NfN@;oFy5;M)O> zF#d(6$ecbk8iuvTS}~0M%as!&JU3GNW=Bf@Tu7NShd2zmkTJ*~nSu+TYxlmGGwoM= zHu`g<$&wo_TD8ZDIdd^@#^1;hTo{$=G{G06-obaDeS+KtizAy~0gN5}1@^63f=YE; zAXCl&jQQ{*99*{moxAiximbWN_vxNkJ>zF|>C_zwGv-8}-p^vg!oTt6&>={iDkB=# zZ;2%{r(wdEUm~54FY**9j-S8&4AXy|fDD0oQJ_>=eE-E*{PWus_?M`FoFeBNLte&j zUyVWa291%yF9aWs9EC$0*Pv6^Zb+IrJBAG!gx$**W8lC+NSehL9Xs~Is=0q**z2z& zak?yM)U+l3{o^NmKKf&%@X3KPm1<$hpVRQ?^r^^Run=;W&5wK?YanCsU~$ZYkh@YP zjQevXTEF-jf-9BAyV5oXzcLK7|DGbxQryEGtFU+dzZm)IV0`q!P>de+3P!&-9PhmO zinROB<+)$N(QO-W;pk5MGWjcv`uJnaoH+|M!g?Wn-aNQ?19*4*4{90rvzISp)}m!d zQLrpNeE%bi{^(Pz-?RqP7Olds6TZZ$^}piSvhg@R=Sv)$`z?+x{|0B4e~K$B-o}kJ zZ{Xbev6%4HmpFU&1kPQ!g5B#jpiS@R;UjhT@5)tJu;Ty{iPB2p=ZEA%$^7K`mnwrk zuZH3DVfpWba~~|}J5>9W85p~Hvmk*iA!^BEUT%9n_I4Z<>@wTit+mWCt;eVwddg^Z7_DVue)clN#K^ao!ATBJ zWuY9_`n2h+o;XW5#_A`Vf8yj+|hFR~RWf}ABw zC8$W!zfV4dDkq0FHkzz2zrz6esC=dx;~)^Ngp}=nzLD zQu+sqvlN7M!TFJ)U}15(s-R?>Za9C6dr)!zoB;^m6^igJJ#gdTdm`s};rFrd?FXEz zE#;8<41XFw{m~vN@`j-IORwR_*_)6ixG07{*9+rc48>;y8e+_#`lwn#oWz{D@%OxC zI3d;g&gT=5t8gK4CSJ#nqX*#ow|n8sH+mvdj+|)OwL7*QJci=+8=-iM1}M?45lXhK zjiBoS@T(4q*4D_3-x(Lgq}Fuxryo z+`f4fb?ekcmdu&3eCb>%+ZBu)K3x5Qr~URlu3bKkfBrXJUC)~S18!Y8g+&Wy%XF;X1<)qA4aq7f=_)Fad2L<5lk)61FW*-7W3cx38HY{K8H*Q`( zhnI)FjMPb!1#;`+672+orS`NXl^ws8f{ojHhh-8v&t<}^|-S&+R* z2vP<6pjPXKICA(DTK9hizQv26X=q#c2j#~rFFh}O4q(Z=xp?EHL3s7Wei-@23wUqD zi+FGN3;1xv5Pa~~i@14dFILa{ALjlt5gj{qL%ABYG49K;cwL+y{|XhQ{zMT>n24l7 zemH;WJQlBBkHG4U@%_&~WAWU7@WZ>qu;BYwuzukV`3L`~uh4 zkHO6ipGdp<1UGg~#HcriVcOJR@X^N~VZ@8W(CO(R$X>pNI7llofAc{k@efAw0AD1| zl>_N3)WEF&ag*t1q+R#N?K4l~=Ha(+>*$ZtKIQ)|Z9aToAK(=C@_HKFaQK&b-4OIl z7;^Tn3%{2e!*_T)e75o7dV?NQcx%{L6}sJ#@K)J-Ql=Vq11&m58rO=|lOYgYeGpL@ z5uV^p8X8@!2YcPn_^>;+)@P~f&RXYIgE%_lNyFYgVrsz06i)oLp=G~kA1$Jx>|`v* z2A=AI&%<8tQNgK=TI=5apNMHYit0aLFN5`e8=LlO2kV;8#OfGW;Yl`onZ0dOPVtzx zJ%3N5h<15mQwL6IoccAp6Q%Qx=?JG&e)_pa*S7RI>y78uKFf)(9o{?_PcI~_X|3l@ zb>)pL4+@_DUH1{!Z{5TTe@;N&;cZdm)n>@sy)FV8R6=0o$_S`f3BDDoBd|(i1Xrnx z!qpp!0o(vtN>oDXKrXi(B*s_;)Cg;hj0N)}Tj8R}Rjed(mn?&TvXzmqd{vZb&>Y`R zYysTvCf=AhNgLaWF}qlD=BMa(91;gg6v;*I$I=KrhE+!Ko?Y?#s-0-@>Pslty%7qv zZvwxvrI0;eA^7AifNa5qkufkod~y{)hHN3olA|E9<<5t!IrGBDw-B=X6^36(apVjv zh`>Un;8(OXa)^vRMN6VYt!6lXO&p|8#vxOQnwUPVwaCy(Dy1F5H;VCwbwZrrCy~@A z?K~IU-YuscxvN)13jYvfDpv>po5MY$#DKpc@ek2a z+8}gQ=$!jVzBh#53OPvK+!Dv@Mr%|GtDzjE6#ksH6o^!QK}a2(57~t0thvIABTzIz zPw>sW=1KXkyGgDuFBFHfsa%TVdG#4oX;T@!hrW)V7VLyi>ALvgyPwqu|Nomg2NOS^ zh{m1!t7(i2*KAcBKKObH%C=~aUAy<=)bXR(w0;xbAN?7MS8s|w!(PR{b7xU?a95-& z6M`h^QzC7CU-&mHjXV{LA$itxNSq-Js+28@8yBwPpBb~^lRY>5bNFNb#vS-qoUrWw zXYW0rtSYue?Q@TboI21s=RoJ2b8b4(Ip^GTAm?lV1q4(updv;@6tkEkDCU5OWJ!Vw zirMd+t*1&-GUwvG1`w4&PKck0@ zpjt>(4)@9e1@&)6#tK?%q6KcKY~ss7znEirH&cGw+5Qn0v!2uDb13mfydD1^3>_*V3h~yW>8FIywm; zeaGit9A)MWH!|t!WlUOnH67P4rSZBYw9J`DtK`!>XBKs{XVElkCY{R{QL%6arJWOL zoIX|BdNxh7=hL=eAwBX#-@Wu2dX`?tymf0ibn-Z_eR7z~tQ{C+X~jQmoSD5+Eeb7w z{=M|k9~a5~S*;%acln85zPJ-U%awP&O!{#d1v)mBOJueCk?%0Hr?Ax@+p=ruHvZl(MVKS06Hz0^;Mp9=X6S~E^Qs;=;}uWRY$t=DbbzR?W-~? z#YA^br?9BB)j54jg6{slp)VAuymfs*rJ;`XMP2Lf{DnlPH_c`ii>#XQXex?knn?3c5DdwfP?bFkQLTbL;9$J-04xB`UqX$2w8{ zO`TKE+@JN}_e4KECA#wT4Z7bK)em*&l<3N(|NC=3QE}C?>FP zGA?yIDaCc9O(-R;sEqW2av5gIsbuFQB z+7hNLUd8;CH?i=>8<~FHa#6-s(Y<07`Hekf)pU_v(@9=+H+gkEOlX)wVf{3Unr2eb zDN5$D7Kisj=4+m68IbK7Q%hEtHoM-0f}#~k$vT-ONkCTlzm^Uz>|I!dukiVy})}Cjymj4&$(~u#sms!A79a&BCoB%Xh}qWOL9exY->oZX<~eH6WPdr?L=DJ*=!-ru|Gy#%0{-Zq1xo&1-_w7UDA?5h!|C5m{%rth z>SK3c-7^9A&MXS%cTs&!H=&dAac#~bWo8>6ijw#GQ!n!3V^6YU+w&aXwTA;AeZrv+ zKcZ^MYNs&ug6qdU1k5R^4Zeq$1Gf7JnOmkOvQR?zBPY&U7qfr74CRii{;+7xB zP}4CCHZs7}-5KA4B-|%N;GQ2vP+=0*o^A{`Hqzo)`@7*&7>{RMC}z%Xm^rvI%-o7W zW6dyk^WyVu0w`xCs9|(xS4i2ED`o{X3XTLgl%?nAW`PrBJ<6xHJBUFx)(o<>m8}iN z{{Hwk7vfnyL0i|!&@Y6qj!%@^8{{4ZUuyA71t8x^I0s%oenO zj==&PgY9j#MO}y4*=vjAULl}l;2+30C+Z~4VkxJ<I>#lba;h{X?OzYdwJtf8 zC8tVQdA&fJl@-&kSvN%(L&j!>q}32=VhK#6N)C%n6K7&mul5j?B~y zGE=fC$SEW)CW$Cf{=(ABpD^ zgs-okoC_i?Ih};4cqxaZFV}*6LnNOd{Jo_dl2&MN6fu$UL`xXw>O-W51NY6S!_v-? zVTMLnxw{fHJ|3^UID*U5NNFj-Ek2x)PIioRv|*%!4I>0ZRT$+g`}WpyO`Wr1q>BT_ zUdpSX1H%Q@)UeDURu&BRv}D;s8#yWr{{1gM^ZgG$@!i?)CH%lQvOV_oSzg=yHBWzh zoD<*vz}fGA;EV)y{p|NYa#prVw(mN?Kdr_x$YQkQV^36L0;wH&xWq;>+S!F+YW|V* z(<=lP|LI`I>o2MyqpD8}B(YS2z71l9UBjkFbFi+BW^6+=W<80R&CTQ5 zoyxK}AOkWW12P~3G9dp+@^1l1N@-fTYX^1DJb+VEJ_%hFWX-I{sUaErs#HQ-O6i4fyR&g_&%~`e6T5_9t{6L(A*N;wHZ|w6 zu_jz$YQbO&2c}JlgChbKUuTOxulAGS%S3@D*?to*`$;@lFnI4|E#jo350zw<^Ey3oX_UX?c;He^~72f zS+ANb%+i7w<>`S#Yy$4-Y1l@_GG^R3Ml0`lUj7)kdtvJDjekov@!iGPhewGL?jj1h z@~Y>^C@Gg(z;ukYH8D}K8ZgAhBr-lVkF?Zm0iS3h1c0I<;s^_lB_b?Qj^harO&~Nh zPT(k(kl<*7rTs#KV~7xN3RTA;0z!e&axI4NpacPqXbA!((#AmnQG^H#g@nWk5XrHB zq`;EI4TvFBwgCbp{sJ(;0Rl`4Wc(rogd}JnB@m<1kz)l$fxZfI1cn5Z{Cxz1d?O`J zxZJPO5O`8Rrq))HJpARn0yY&lC`hFlB4rhrl5z&gH3evas%%pBkRU0G0>Ge1t=yqf z4=$2b>vyu7_J4{*jT${Q=saSR`Az}O%M z;%YLm4e`|$A0FeT=Ax;EnAL*J_S(8*nmc%PP4-8-$~kBCr-ZHMS#r1l)g>0DY}mYs zclYcgtF4XsS1sYzo7eHEoSRTqhN-<1hVrf&TbkkM?@C)!E%$G{jnw>7{9;pah{<5{ z6OXfV-!U$ib{}qQ$w)it0|H^zfu5wbk0+(Q0MFz&=_5`IRSOfl*)Y`IhNdau@~$f< zB5Jr@W3P2sbIu^|!MDBh{7!sUN!HYOjEVy>tB=66H4dw3X*dAUKrX*5ui^ULzwe=P zKn7$$24p}6WI+C2@^1l1KmPhNvvxd!?Sdx8mL`%ut)9Gv4cJvDU|A5sxZ-3Ue(V`O zdi_oIzx_UY-hP{px9^bcyBzsoJIym%F-Y*jt~LqxNtsxs_;a~|0i!H!1(eJfWNywd z8#^vH9?PXBrd(=f%|8syF!gmLy}*;gLJz#d9r>sESpG4543~^Hf!!WkQxB1&fp(a}kwxF-=Cl|rmqm{j7# z$~{pMBGfi4MN`@%<-EEtJS<)m>sZ19<1x2)=O2TI^UqOZ_{S(i{%LHAQ>Y&$Rnb&6 ziLyIBkW20D`G=_$mswkh66!)&brDu&i5SL=!#F+=r@A!48p{|a@dnwLVHF#KcSAbf zWoZm|mGrIc@k)=NZeoT2P8!jLF${8dlQfOFRLxJZu;emx3of^iy0fxitcM#}-F3Lu z8H^R)z5dwoj1sR9TGpr=1I~NwJhSrP4e#mDG|bMz~8}W|r6r82JgPnWqOb z$j%6_+(bMYGBL{y!XzUQJ1KimQx3-7jsjzr47C=RH8a7;)rnMP85|$V;IT$rVQ9z| z#s*wrWWeQPMl#&k5D$T=aS~D!k|`}LBP}^o>NY_jAc>UZ@d8Pzeg%*Oj6#B91uO)J zLIsvW;v`;g2o^XB6_5%EjMA(~;c`7v;2~6iLs^#;7zGPpsJP(@o+POF!2%p1fzoaQ zP3kyI(g_kkQt%ZfanyYgK>{i2en~4hNFYUljX+EfO~hLu$spMZ|vbJFzbQIICl)?*wEcsJ8$Ujh=GT|lE9N%Cu@|mymtaVcRchUue|#qiPd#1 zx_+rP>ut}jPnq1&ioK1!HpI}v$P~-57St8w@bjso?B4wj_uO(bp&7+&dE!Y8kOte? zG0Mq~(GCt6I@)WVE7iiVHo@ME@18*Flwv${Q*a%hgiA&O)-k~h8Ry8Q-uCzv1~YA5 z3`?$!qi0?$Ud5pdjrYVT(-)J{5X@`CuPBlbH-!6FptTvZ0!A!`WwoHhBWn$1Zm6hra0AOn1Nju@W_pK{p>r%@xtjaZqy^bn$gTfB2D# z`)7tE{axkH3@y{2@1x{=bCLR++w!lFziLR_h0^^ihvA)X4w0@-`_`*&ZjXLl|5c*e z@XyR68;}djU)p*{_w45ICvS4{*j|3qrq1Z*&-{0}=lvIPm|l!UO$^CXYednh!6+ku zk*R(JRA%ww%iGxX)@yw9+UvZ(eLElSc$JTL3NU@Vo4P4I43BkV?1VsUni4Qi4q&)I z%_vdYN7*?tQUymBZ7$6qQyVTbH0K`%#=XJVj7uc^)6jxT49;1b42>CNIF=y-NW;y{ zF>r9Ba6&HG>6xNv#*?0!M_1bvrcIhlT4J66QZfnAsl-L45f_t2Y>ezjq)?DkMswXn z+G;v!sB2+-M!wviC`x=DS?T#y7T3_))JdkK7aT0gy1>%vWovlg{s#z@G)z3kVILAf z$NVKMx?vrQ*4@IqbvMiQR_5QZmPKpVvSQ<1EPLb;Qs*zgQj~Z@d5NtGQ}F93!!cGs zCNvn!V1LX4{BTcCAgnE)kh*f5QsZ$-5ui*?mh&mNXQbhgm5O(EChlpecu4R|Psb-S z4ZHAA?Bc`lsm{hGKMe~}Jlz^{ai0*6S&%QL!2uZg`e5ii4g<;mQY$Nr<=AgR9zop| zxL0Oi5*&!Bl))@0fQ%{KxVMyQi*pV$8;f~dAkHNT7ziL41x8>dz-bYjh@HUY_?Ak1 zlVTX597NbSW8pFm56Qz*De0yrjPvxt-Nl>esCW|M1dar365=v6kcbjc3Kt*<6ZlAo zO(j~=3lu<7K%<~kfm2+Bz>tb3a1kzG6Di=NhTo}Sc%ce>6uc;ll)#IEiEs_H6d*-P zIsz&xExE1%kpdPuR_UqZFo_o)(hF3PDs8zpOwx;#`-0VV0i6&5DrMDCa1|ltRFI>F z0;-{KDi0091Z0Ag^+)9u8ZG@TNh_nWgoUd3@+>j3uZGtp#w1~DX^VxK1?Hv}n3-B) zWoeI#s~4e?eyr3}gaA~SR_0!KQ_turb!cN{!{E`Q89ZhLBjo*2b#Cb5ijlJDc?C-U zij=;Ph?CT>eS9j0UIIzp?ifis8hg1gcASeql7Nyxl7d}BcYEoN&Rk}1#+{Gc&yEjw z;~JOFj5$lV{-$-@e*5iIlvm^7>W!nlGY;~eIyktHFL3kJ!}n2EQBOlv6MnH7-2dp~ zY~OuCTbpa7gEgb=Z821qEGG%disdSO$Jd$ImJ&Q`vM>zw!8AG;=Tdp+IvTM^j$l-T z3nL?386D$+QHqZQFHG_RFe?ngyh7fS=5TB##$h)t4afPJ*euCs&Z~bQEU4qmB#o(^a9bsAJu4fGWGb=-NoNneO-JVnx-LdNy^hejDnSL;qd9 zkf?ig_xJZ6t9H=E(Qk*}t83NXs=VsF?zciGy1F>uZ;$TxQk~a-9(C^b`p1RdwZ7N% z-?e`y`R_gVUo5};@H1b%|1oF3`i4_q?BnZ`2l@KzBb+_+HD|y5lG9&*!KoAb*t7pb zUjOJto_XzY9({2uPrdLU&%U&o*I#;&*I&4ccV4`QU9W6pmnbZ|Ub&YKUf96fFWk$U z+wSL;=N{sv7arl6XCGwSvybrH(+~5+^ILf8sfXD1YW#K{jo=gHgdX5)?PXlZC+gsBxHj7>1LbHZz!H!)$N zm;{E+sQ1pO~l=;zg;9mpHKkQwoS` zDjO&*st{#9o$T@XqO8UdBZ_a7DAXy5sW^N4F~-53un9$+_z{+DdVuPgi%6>NA+EfQ zn8HS)^XrKytduyFgl3oU#48{0>h2>PIrA$wKlcht?!S+f8#mLnXcbL!uccw`_0-H* z$`h}BaISUW`FB4Q<#ikDAA6RYA9>?5;A zIeUOx?the7*Wb>ZRU0JSNzdXNXkWBi&aLP0mtV2>)LGs<^dq%b-AwzHYw5Xq9dlN1 zknJk2x?uyWwmihU$G>I%#`|y<$TALdX1I$rhQ9tBI`)N@hmxOu=|yT4UKcRFYT-hj zcx;PyP068MJK6r?6U>@1m6Qa5Q-Ppx1t-eNA`qgiKq|z=rfEapLX_o1U?Wu8Ekpnz zJWLJ4OOViOVG2?fB&q)}fsWYdL}?FY@k`K#s)dEB^8y!|nl7HZ>I~jzp8KjwENbHYBPPPQ}TO|^+)AG&!?2#{-C9A-_mcR zzI{!GZAVi;?p^i)zEZ*HpjK zwd?r+@6Xn){`2)s|6A;=e$C`Q;bB_-Q(BaZF+m=pUx<>dZP`SRdrd@bShp*@^B{23<&xV|}jfNzf<;=5yqID6s? zzCZc}KYn?PA5Wj)=hH{|`Rn8S{M9jj`Sut;ojJzO-<{;m7oO#bM_=LP*LU&i>$`dB zmEFAl)*;?}_aMub-;A4s7dB?Lj2L6ckl~{kK5{g}MvunLGk_p9>?%+xm!b@dA{;G> za~mk%G%OADsQi;T|50S8Orm*a0<)ook(i?j4$*5xG z(v_6dbm1SLM_^nQ4Xq8_yYY5xqB6N*!<}sZbT>J3C$j(BA4qGMOiD#J!I`Br^h_l* zy_DjnnRv$K@W@L$xa*DGeEajy1m@O|+dP|1x2@yj=eF?vOV4o6<_ED04CnZXlgwSY zf}xJqj1UD{P4*vVXN{4MKbBERSO`Rn^^eBLJp=={07lt+GtAtE;f9tB9yF9IuDG0G zBZuSc;3DuEKvZM`(b5JAL}DUS1uhhP#0&hS5*3;vb*rpB0viGuYVM61_NXi|8lVU? zsbO|%?opUPlb@fouRx0ekx&ha6tMJyiQ3n!Qo)jsw12GRsemIQTn%+oR-ax=k+K*m z@KVqlCJ>|2ic~USW z>8odye3gYPQUEVT`b|P?iah^0>sN3jfqr3lyZhtf;D(2@2Lax`L<@9fq~>TtL4y@6 z21)Q&&LhHcm3Vf_A;%R%xcrjK89HP*Lq-}f*wBRGrWTC06CiQ-!BSw#Ui!I>^kYL0 z4-CEBwV`%K0xHH5O#D4C^%H1OfHclc;<(B+wMLme2JUL>Mrc+dQQal@c4ZOXJ%Pxg zY>b=*l9fXT`C%SrrGhylZ7dmKW6fwMwP3NMfRPhM4h|T*IWbn!HF0yn*u@zWHQY~G z6vqjWjT0aY^1>?0AHxuVq5wxmN*Eqy$Cwx&3==~!OpU}eI|}2>5KME!Fe?qkvNi_m z)_CkECE+k51?L4>*e#mC4s{`7JWsiZ@x-N?^~z8m#=w5| zdHdGS@4YYj^{&$HoBkhZm;OXO_k|SJ^QEs}zZXiQKRF+G=(mHapT2ebdvc-r&`-N> zyYyEc{dPQ`sP^hx#`D3JdX_)aUVTAMU-Zk}U%dW6NJ)QvPhZaW+tc53^aYy>^^Xg^ zYieKr8T$K!M1jM?z2-IJo76>^XF4Pb0!O~T*j3Pu4KuaS>n z_!Rb>I74W84L9E|KN4s5!1sIk_4EN&-EbSG9>Hwf@(3GV{eV3uf5bnln#Z4ekuMG% zV(Zq&cw);FY}xu0qph6y@Uwl)7T6nVYt0Z#GX~pOFv`oH>+if%^_<=gq$dZD2rwV~ z=-d(f_}#aB_R-rcl=5e#<_V-E3uwe?R-|BMc~M{zBA^k~3nIN18wEPCy|5%(HFU1m zqNDbeXS?2^XKE;1xU{btQr8>gdbk?SrqWPzetIo2VFE82h^aIrZ)FKoaTP%K4r7ba z@>bTN-u%@3C}n+=IOocsz(=K_%Aw7RQu%7v<$eW43YsJh^;{}nWs!ltn4fD-b{LV9ooTzprdHOPX9)!vuqRolpb|^yH1t;*F=2b?)2V z$`yHb+p{d0H;co2wzFf~lN|i`HNO8=-o=mK=9`lT39s(LK;Xnc;6%++8#~S&GoNvo z`FdjJ=ZT58TDaLw8vVN1)EI$vA8g{n37b|%UVAm8EUg%2Yr`0O zTMQg*86z+>TDGI@)V@6?E-qM(^TJYq%+kwC`tmr;C75^!q)Glp8jwkTUQ#AsH%9rn zV-OL^gw6>(^+X*{Kil z<}&rUo6pt8fc)L%&w$?lD{?+1>fcF}0(L%yO((wxPXjU_12Q20D)~!)Z4{{d_UkX4 zIIxeW?|*>nMUih7SeQR!5nH!B%*Q)-3NU@l!QGz<2z|jjuW#qgH+HaZ_im1TzMuW? zf5vC;?UCcX0!{}wzV9es9y!jb<0m;Ouyk0?fBN3Xy!Xy~Y=8MpUU}vvo`3pTo_*>W z9^0~&tq*Qt^Zi@6cf);by88j{zUy9YUUf6;u3gT~ZIANv_q}euzdwC~dv9DpOLZkt zVNuxIIxup`a4a0{vGpE@XYe@UBn0~f5a1I=SfD7O=M>baNM$)nBR(#zcX(Y)?|yu2 znl|SsJF`$5Vpo`7PDWZjadD|+q~uXvQcqP`J&iRjBqwJJ9HnT=^U^Dqa@U6Yv2^og zl=)aDG&S+uu9Nr*0KD_gxuJ1CeamlW4shthmw4~R&HVh;Ue;W>oF&U{VfBWsJo)@i z!pE0jA|&6`+C%r`#dLPgCRCJc^?|8v?%<14y)KWFDq48?xo5O}As&7_d4T;Nye0J` z=YIW(RZCV<*EWsix7|m0Q5Mf`e;=>tXyTGnsjZqyMfFt5E4l?7L$GjgWZm75aND*w z*?s&wtbGD8H8aQ7!Ui)VODx7(U~X>7pi!fEfA>CSUALSe*5(WmI2tTlL%Z(yUH$URjQM%Pr5L4e5&~K{*6buq169EkRj1eWV`!yaP3_ zd2!ND*53a@im*88nQ`MvmbM zBU6T3S~J{LAVi?cKtN@Tn>(6w1~nJS$5We+Wa{UQsQ{9>ziegSc$_O10X_ms0x~`V zHNIX%Hx}YipM`UNG9FdwIOT+6GtL8tfFSIH1BorpB)&F_c!?8VJAt_BY!a%oNUq8w zNsd$H{-lN+(&{EKUP4ku9-eVYn9K7TyL&Rq)twO@o+Oo}aqL6ot+AySioU6bqcw0? zKOOND9@|l!yP-cIQs=~9=Y#6md;zi%EgN*&Ckcl z!G*%q4AMmD4f6IS$S;W5wPid!rf*0XV5CeK`3!t+l(#*CghlnHcIRyEVu(8c8L zS#-2drJ=5k#`<=u1pq3`T4-&V#>BSiOzN4(>g!kY>Qh_!_1lwL8GiZxBoE(xGZUNZ zL@|!TW1JrbqQs9jGQiNroUvABI62yh!s)5GZq^(CD9cfdD5cT8Uh5S2#73nO7n4q0 zLKd;H8RTUZF+M$?;(}_bOPk2bC=h^B7N!(!UQBv=9;u1h6qnS9q8v}GD7}FKV9svd zj4&`}l#wC%jm>O%?Q`5j$zHW+9uM7l3lFTnnXMbvbKm;aEL*gY`7>u|L%$|ZyOOmV zALpqT-zGdIm$73_X>FZGd&hjbyB8A`ovr~=S<6H|J@5^ue}hl~xam{sS-;{cZn^d< z)~#4B0J)T_7R+Vw+<7=VIMdcSm314o;1L?mvv0hEYfJ=D=}8n6wNp^qMPX3~eu06Q zIoa{}%dc_x}vZ%ys7P^>7fm$_$P0bM!kWfK6SJ13J3S0zK6!d7;9Sv5L z)kfWuti{oW)19*%Y4d?p2vu#DBwI-{LRpvuZY2F)Yfd!LDnE&%4bzjYf}==*9+jRN z4yWcW^`hbdB(L!MJPg6OqyMQdL3@-j2odgpC?eelzBwF(b!dVmdUSF-z)H`)I9 z!+f;uK@RSHnIpU3<@n(P1Wc$E7;(l>;KoSJLGty%O!|STzYk+oP*CJ8;3QzA_6^-! zCAcug(VpS*P7SkA9wN;cZEb~}Tn{ZxB&Z?+V=pU)Tbl@wsW6sdR$~Q{%`kAZVXTXt zwm;O|gi!+4W9+RN>+VEAp@3mqA#O1V7`S-ipA`>Z)b?78zAWO`lWPR{zd840N>20J znHTx#({4CX3SZT5c5e-_3u`cIj2B2s#B_2xleXP)F8+WF$bbyUfDFih{HMrYJH+n0 z?>K$<3%=aHk4HA#OLb;}wy0%!aXIh4_P>uieE!~tc<8qEtPluDj8CJheIjEG4f)4E z&w1zgFBL9fsEGkXoyOv3Wu@Ks(F^ZVTiQrzX$^V#6_l0Mk(XO0P*Ov6O*6$swG`yn zQc_Y!RdqWpjh)P#JdA{$>zUO(M;rQPXJ$ciOg!&Aw3Qdu-i5!D55q=`X2`IS z3>iLxp+kq^>FK8_ze=fA)}jOfotSumq&VduKn=Calykk7Bn3bz$$1nOR0yOsQCHn6 zuvDlyawsjV(uUPVN2O3!R7Z?JQ>3z3NO1BU$K^wZa><}U0!c=sS5&ff$1XfY;l1_x zWdd^7bK}yP+`4=*H?LU8iYw=`Xy!D0eFK<2YYFQ&KFsq1NSRV632FJ9`Q{X-zxs}& z2amII^;!lQSWrK04)5*#hGXA>Ut&JjEa>LWo33H?@>yKBY!=I}Uchw=rg8m}Iar#R z(b_qU+wOW8KT-JK|9Ce((b-(PawWfge}o^7?_&3RyI8VpEtbAvy!84Toci`hj{W!( z{+XrBoIjtS@}A$C?VMj=iNGBcGR3bUglqXke$ zxp`sWI*y@st_-!ZV~~jjR|shR*Wkg@5B`fwFS&#fBZlMVJPtP}PXUT30faL%R(%gW{wP0mwlsePaC{iJ)*E61GQIa?ciq#yp z2!Sd!M@buoCtC$E+HgJXSjwX1*}Jxr=2#+90bVRIa&M$MmgiR1DixITh$w-z@c-W; zCP1WFmIU%-Us)*?AgQveA%w~cp0Z3i+q>atX~kv#_$Q+V4Q0gO5eykLgv*AG;IiQ( z87#m)%-U9f$W@ysX5cZ7(E>-KTx_-ZM;4)hxFyBom6?J|VicxnFlUst4d$NS1SMt@mYPja zOtwIO5pnVk1-z3Xo0$p`P{kxd(E zZ|&fwYp=t|cr5=IbQ%8;Wmo~yB|`>bY-_=#X2bC`H`VUndixduu6mlAx+pJgpsKuy z_U@@PRJYM8=jtV|#^x?+YdSPbQg_Exo_OjBwmr6uM;?5fTUOu7{7EyY%bLKNx%0F% z_rJ57yr6W3j~v6`p~D$IViY6CnBwmrMzkoeYWP(`Y=%Hk3W;&)y&me~)v*F2fuuMI z(Wy+xE}^luUCPu*oj_7?z8b=pNJC8r$IiKM6JYKp9K`rzv2%aD4O?bt(9bs6i|u4e1KtGH?PmE5xGO4h7e#I*u53+B$m&D)2nNpqQhf*UjPf8<(+S>3mjQ zJD=;Wp2IZ@XK?M(1z1{IQ_(z?`PXkCB0qzzuYE{HYZr4w>0Ps81rM&hhN~6|n615; zs`(4J_pP10a^NH%9yv>TS0~GETF1!~CwTsa*O}7X$)c;S$HYB|<0npW=kpH}F)^1R zHs%bqG{--AJh!gBorCYZ&XGOu@!HN8IB?(qyWV?~&71G1y0VUUUjN@MNc%qffGIuQ zBqs=DO8qG)3RG(h1@;b=Q*aS^4niUnSZG7j1Rex-6ile0YRb)Zn$&YqK@p`TB?8c$ zWF%%vUumJet(MltMkeGGNSh}yY2rk>TAG+OZ3@{L+1hZpx~f_xwzO%(DbrH2i4*00 z#*|5nPt6h#ilU{un#THiax-%1Y;LB#saYTMAQ}YpkbxVk>bmy`J&%Clpar zS#!?v6HjYRJ=43}nbk9q(&BP~B?VUsfRq)f7nU?=ljqlfOI;UOQtNX?%Q+QCZNuaq z?Op|50$|Fjr9e?xug0flaF_I}L!Z3KFF*aL)$P4^+|JaFHlBW975A)M%tISi^3l#G zIsEps?Ec^lBI~;ZWS#L!k0EVAJzm`fxRfUmJh7CtIdyoXCKHlhPeDmN3p;9<-jK_r zx_mkta#*!sHqUO^%3b$8ARz3*rDH~Oseyrn(F`^=WQ?sHV_ZCW^NlyS?~aFXpP2h{F_WtQ-Q@p7z4RylQ|AT$FUcQuNb&!o{M`XbIVSkC&v>DG)wT0E#Q0as z|Kwfo`@a63yk-~&lFfvz?7RiP+iqXMshAO z5ov@4#;|(T8Y$y6Mi`lL>CmABO1fWu{~I-nCUfd!ulJ81zdFj_VgQ&B`Y(dIkWd|zB%w7$3EH4@m+87$(t|X6Bo*~rOSEnsn_t0Pvh$!e<7!?g~040{KgmK zDP<4J$QOlFU}1a#yFTBmrTf#*Ka*0~Mzla+RCWQ$#TA5PWD$@wo?wBI&yIb~f_rbn zD99eG03Tvo3-M}BV{AwO*6~T0M8{(4AB?e=H>1_O7Y9d%nVNCw6@&T5KmVx#^Pu5F zu(GgaoSWPqp%&*&CnQ)c;HnmUjU-SYDM-!v36Ikp7({8q-qc*6UTclA{zPa)>Jmvw z%4AaKL}pFxrn|kFH0`*9iOr1^WaknmAXS(>LC&?yeiBVJb+j}!5GMVhy0V;}j%H@G zw9{H&OKfBuGp9@@XS~!+K&14G6ee}GQ7Q1H7Di2pOV)WXT@)UZBfT~gK_0lF+H)7)vDBnyB?g$np6>y@$`odYFpE|j*fJnF>}6(Rtn zU{C>)+R8PRmg>X3i`hnM&M4HJELW*tYg1F{=Ogg;^uW{I6Eh2IhKwG?Xk$|hE$uLJ za>LYpoU~UcCVqj8_Hbpiy948L1xlwB;y6Buv0i?dM+M_pkw8sXG2fni6TW{<`qy*P zE0p3YK*D?ccd+B567P1(EFR&`_A2Dq$V)L*n}Y_77Vel;!-P1LXuqh z=KTsdan6$T!#w!;ZGoZ#vi(@jt%9$rC9N8cd{{x!)L0D5LoscP#=J9;acesG^sC*f zJO6D(-&2}S)W=ZgZAkwEtpB0ZhZ22-PXB|b@8#%XML%7Yuf9j5^F7bS$oafeDe0T8 zzV|ErJpT*;_NO$cI@PcHzKVu^eVk8$>CXe1Qn>U%^3T*=e~R1h)koiYR%Pg04*h31 zpQo`u>QzmNzN3o1{qXntmMT}@HtO3B`p=->k1nQvsOLFfzd4_S4OK?{y!63Qm06wB zZ|i@x==amU?Wo_k`#z7V<3I9yp#OYIvDWoL^^6yKUsO5zwzGa;Q^$S#bKkV|+fbFe zZ~wSZ-%|2tfAf@F=w5ZLZy(UFcm4NMzb$@GRNDG||6)b8hq_n4&6M;7BK>#o-%0xa zMg14aZ{MHgoBfA4acDnJJ@_EixrO+PVihUMYI?>5a&t<_E39BbZk0eog&fyVQBqG& z+f?R?g5TaanHB+@y0TUp$~z=9QCV6~X`xy}sD--P4vLGbw4rt7a;;3RmC5}D`IY45 zRa00X`^9wvNv)KZ)lpy5LbbqDZEZUpZPV$TJfD`f8BCcppP4=LIr7%0{QCX(T-iRA z(IZAOXz)-54IQp|v9mO{#M8|mU+)kC{UWplJ|hK`l*?r0zB^92_Kr%UD8EXSwR}0w z(1y{qH%--s*EQF5kS#!={`t=tUqXq*OO!a}QpPlahRD#~^_9jsd*R{fhoLC`myQ@g zKwJt(&-_M~Kn`cWKUcH=OMd<3XAbP%%giOKxb=ZYx&N8x2~Ei+Mt~@>po-LzI?_w4 zNh_=(rKE-=*(Mj3Q`Ozu;WOm=Z)bYpP$$3sbeiLzy}_y7@8c+Cx$4ICY}>huK^FFe zr{|I=Wlt>=uoLi0EpH%G>OQ5qiJHj^saU!Q@3u-ZrcEMq?sRhI%w+uBX|kP4-kjOw z&znX5?3pB0)Zv?%OGKMMb5j~4+^rd{;O&uz*!|i2y#MBle6;^#KKXnXAAGo-d+xrA znwlzJdTy&$#@~MZjqlH%;KQA-(cLkT%+y?ME?8)Q^4``9K?;C^f}#l!m{98*X_giN z2W`ll1`G*=Xv6SgNJ}11d1)C9RaHz8FiK6%qOHD(*;BeSt514jmVj_Fb7xMbsj7x4 z-5q2I@CEusQd&^L>`7hJR+MY$DN9v{0ME23J;cN&3y360AFg7-?8(x<1(HLfh>J>~ zv8tM;IsvWvYU$^70?A3F#*Y`ss+0R0Nk~j3JSvWfEiF_O7t<|3)z;Y1JFG5Jt??wl zqdiOSv#Q~Esj4ptXobkRFabj~j8Az;RMs>tsPh7cz255tl%#&t`Mk6YZd?Y98U|+_-u^=623pVPME0LjwjG z8*{mtF;`d`F)qrHd)MZ|u?F~BS(Tc4hu@uP;of`m2`CI?Oqw?a*#Vf824m3_h1H}a zEa&EP_4WrP{lBNE4}5=$lm5rB?*~p_0a4OdS{*1EL-v_$CvizA3xsnTc zdDH*EUr5RNv(ldu)Zeq{z@Wct{V5{n1C0La?vF};ip|B;hc1qO-{`OW{mI3;XYMN( zD%ZvIE&Vw9*LCUZ*U81y$A$W=J^=NV3*D!ai^>0wiasppKeK*2_ANtyZG5q?`+NPP zzxwE#wtijoP47bO{d@I%F?D>Q-#4)q0(f5kiASNi)iHEa;>zMipoZcMftA~#Yzpi zt59=}$|X%v+{?@4x+wBxCDoM4wxU9mud-%J${J{F=%J==qTE-m0y&|9qOgj>sl1{^ zg(=TsDcU+U%43N}T}@N_G%9M^NG@w*utNZ^zWp|jKJyaxK~l!TOadBm z@UPDysBr>;_1X9rrC{vt#^qy;iOk5*+9g5i&N022vewz$e%qZaUcHvG_HIgR>v0H) z$Ji^L8}7WD=id56049>;ifnG#kjiT>rLy(0cowcmp=L@Z4#gQ5=R|U;t0VtqVa+fP zUrHt>v;NLZwrxx2!H1HVb6qm-Nuij$pEAUAeJq zd=jOPsJTqhB*&+bmXIPrpgU4IU{F?|XcA%)1*lV`uj$rL>Yabo>m)+KlA5!mEJp%B za*u8STs5ptL3wXbRwhYLIcShFs<}|woGIy>ZjP?F*g6p6<3(pvy@VzyS1k7Sj<~sb z;1wKBaB*O`y%o;Vw!!sj82CCe$kLdpQ>yv)$lF>! z)5(u#_i*10bIFNGrM@7K)zhna?1n;Kygi5Q8zgKjVf%drysAqMtMq)oL70Wrf%zf#9tr_-r z5%qD>4?58u>l6#645?$?$5HJoz|o!8S5_4$sq;!{((UVisMSYNomUFVAAu#6m%2~g zuYaF9-#7fx53hPY-MxJk65To72VVbJiSA!kRVVt2z=cFTzb-vp&{q~!J*xBlDQW7Q zx~9_6S6=$2sSABYwT-R~|A_LY+EPDV75d8W)rYQM^d~BPUAgp?KV4pZ!ygevQL;kG^T^g1+=^CslrR+*efFscZUupl_PGpf9?% z{G-x0PhDG{@BPpn_Z3~AR&jLoezBtK^Qul%{prj3-WPSQZ$5pGb-zctHr4f$zHO!Y zgf3ox@5_bymJ;1{RcHFYnZGCf-K*a(RayHU>!k0!f8@7TwX5!V&j*OAzEryXiLM>a z_uHcS-ucq~can?mnSVxp`IR$=j&Sn(8~K z6i~{}oFMR3ta-9)ZJi?bPo%!CUD9o(sHlpPk_L(eyo$@3B#%~_TBp<6FonI(y~VFT z{m3mVuIKuzujIXLkMZ!PP0U>~4RbGNd}1ST3Ju20(~GfAF1Un;;h!doXGS`4sTm}s zXD~irz^`K>wvmxIhJ-U#z{)Wyf{@aDGK-2BUs^(rJa_Y)X#`glF~(K7Mh?WQpn&4V zv&n9#!_e6g14lbd++E14tJkVBp`Z}Y>{1#QEhM3+g2?n-f>N>wPR=DZr;N)i?RfM3 z4|w6@cM0vvW0bEQW87V_i3-I&E)vTiZ)_v{i0LXOx;2jpl8=&<(gr3>o6CELkJ7Q| z8g5*76B9ez1t4o#bHmLzB;;_3gEIv!shmA_4@ci=hdmO$Tn}e&fuEZsl^k}yn!->& zKmK9oOn!4D{8TQ0T+Ofh<@%S`!gr$7{@N^YoB8=vktovvTxMm-5E~mT143}mNF%DM zf~CtAvhCqJdG*ytdE({A_+ctNG2&ZoyM95Ev=;3WC8bD($lk;KDmcEv!}|oldOz90V_2}O3I^^S<0r| zi3|KF2N98x0$KuZkpf7{YNW2K=h3;G50QAi4kQu;3}ZB>488N1)Ok5p&m>T!hSw=D zQUIx3eXDtK2{G}^>~7_$&Hrm*)aBP)LuW%R8#k_D)$%KuH)S%{FYMvyu2;G9j`i3` zIfmKVVCL;bbj<{OYmzVtc4LU08JC%kW^!9K?>{f;{dR(1&+ca3tX6U&lUUT0$Fm#q z*|D*d4<2q|_bYQa^3e?(`*=MkKD&dHpWn)H*&g}y4i3C`6Q8~|kC!%9^2mx9rq)Cg z7ZO2UcsTDpxL8X0xr8ryaPum>61*{WvSGM@(U7qw43aQd;Cqm%nE;zPgDuUtLc$<5 z=gq-Jf~B@l@lYpQM!4HE(%%WgWG}3mqj8#(h5dqTR=qsnq@l0$RT>85-$RtL)St3A zAOkWW12Q0gUjAA@68YxfVLpHVZ63bsF1o7g$xIqgQGPXrxs{X&;M7(%X;z^2mTubH zCed8qM(4z-v@}nqqN0H*lV;P|K1Fl7pyDf!aBa=q8t~K#@Dvu7Q&CV_Sy{?CSPrc1=C%@v! z`?rvglBTWMGkTN(qYaH2WoE(%8&eE}T^Md}%8)UmFmSTNHZcgxa8La6lkm=q#x}qg zJ0D*X8VZSREy1%q73cI&#)v{TXzW-F?Cmrwj!$L^;ghN`jPqx7pc_^b5^>6pXN-pv zuF+wHv=m@l8IS#h6c%oNjn}^T@5Af#YEDk5Ku&l_l0buU=iR&ZkLD6v zz(IovWyw*N6$$EGWSHD15TWJ*X_hDD^xzzL#78GExoe^TeHj%+Wz3&BUBDt)`eqfi z0=|iIT@8cFN*T|b>60lISc;EG))uNwOUz(ePZty0Td5S-o!s6=w7^$ZT9$xT7Yzc3 z@li<{K=oQ56$Ghab81bbUdU1Nhm@sDUDpkjQ}Cn>qYG8Q7pvW;fKOSGRQZ*=aAj4} zyzOa_Cr~5+7!(vmpqh)MhSA5YSw!UTk-Fn8K?Qsd%rb+E(3%@ccjSA2tl z2#$%yJun2fz#vRLJP9byz_Tny+Rq8IU>|IfBe714r1RRVcyP-m4H6qG+bGSiWOic% zTUQtI!rjGu{PZM_zQ3ANpWh|F5t}%3cnfEaZsFVG5AoeG*+2Fm-+Zx&(+4;6_5RJA z+It^g?7oeiPjqwl)sZw;W>H>HMMGf|&84m678GF>Ws8ZM9R{Z67}(h}%tGMD+?FBc z)(kc`6+jXovbGXfvSyH#mB6_bL+$0dqdh}ioEYKjjA5cDR&^0L&P>I2VGdKDyG{D+ zfDFih49I{C$bkGO$zKjgXZC-=;m_#w3yilJc^PHJ98i4P8u~G>4AX zDfDzrr=@WsO$}|-*R<2#I*D3=rzQnCjUCigH`7qtDp1wjJFHFss!{<~RSPxBI#gOi zaapxMQYG2B#pLCd3M>^2b2mFaKES8@kM&l@IXQjydro}yH7CFNhIjTK<>7ZeWyhX< ze0Jan`@T5N?gPhJyX|9qqXBtfsdNR-o%m5^BLmq z$v1n4Pby$^O0a{?6BU@ww*(I=V?u$sr~>S#$I4 z?;Am|DE=A@2{0)q1j?eKS%L&2)UjrT5r_yC@KI2qtTyVpW^GZHn{c)6k-(LlQ9 znj5Pq$jM_`XB%B@O_Z0E($U;3a1%vwei5+(SRn#z$}*&RsZ*e&Jkd#6lr<Hk+x8uF(s9~aN8xT`ccwQ63ZP%bDBL#!C-uAiJ)DF+L6qvo~eJ z+=*CAzZ~Xh#Ta)FCd^sNom-xusjPwO+)BF3>v`m+YM$Sa!`|(4Iko2w&K!Dxv&T2{ z-4Ow#LlO?&%eP1F7c`1Ij>`0nU~e1H65emJ(3Z}!~FXK!E0V`~!WsjH^0 zq?x9QCW58iuNXB3(*OqnB`*wYtr=-7$y2*SsRW0j1;WqXEEcswdZ=IA!<{gz5*9b_dA$84?M=d4F zv4euA;@;tP%DY{)T(6e8fv(iT0Aybvm(W7=M+>Z3ru`evIb8IkQ69s!`syGI=M$V zbx?E2R6OO1Tft0YbtMgzb;Ly}fJ&fDV5g?6oTT^^0gf1f^it}|D+K1N$Vkf(z=$`BQ4RotkqM?CVG2_-p~7 zDsEb}oYl*hF(D(3KyP;vq9O&VLP&^-COJvUkRZ?&8_Q^E=iv_4jBv3Q*bXDAs}Q4T ze~g0tx$coyd0^WsG}kmxnN`Z2S9bBr9XY)BR0k(_-@-Th?-l5Ii0@B4B7pQD-yFP; zul8@`n*;Z7`rt+ljJ`T>7pD&1!RasV5|Db3A5K2OcV9fh@y|B!-lH9?nwv^djzDHv z6Z^MxGRoF~(az@B#`!SB)I{LOlEMjreEvild|nI(%ix&6`%!`S6IJk4oos73_CW;` z=jCFY7>#je5Ek_@*i22qdS*5qPyS~ElKz zR8&w+RaJ}TxFIjMit4I~RF|~!*^_Va+tJfJ{@??IMkiuu6r(LnFbsFV zFvtTF4^M`hnUFPUCO1FyI!+PsSU8Qt%F!M7ae=su3&6`iNEA|0(nZM~W$nWLQ$KL@ zTQvv{!Y7pBomPssD5~+XXZG?=k zqq?SvRo7j^^IPx2P2gaxjV-2DHW*vj5fPigJFh**hTHGtu8numIcEtKGv;dd2bEMX z#NLwOPPUA6vSW<16OKW?B(+tLF|9&CDH2nEZ>+pV8SU<>&2v)MMmRZ(qU^?S7iUJgxJy0)V&3B$k#)m2j4*g$iuz;Hto)uqLng8uq* zPixQf!|79O*|?s?GiM916qBBkr@@Rizes}w)mLz#%G? z#KcU2j$R8;O2T*nx)id~^2i&X&-m0FDWe+lC%`3X#45PbKqy-BS9$j46&|66{l%Ue zTGyL*j9TnfXH8ORsNr`4QfmH?vL>l#P%g{0A%o#+=$({NuBqX8y>pnL52!NkR>g?Ixf%1vedlveT! zi?9kxWVoFz!>uheM-9W=tnkT>BV&3gzwj%kzWkag?Ni84&SmSm=>kZ3eEQN9PVTys z)BEq&EJ$YrguW3V`g-5(oZ536r}nNFNV-)3>NYud3n%y7!B_hvz5vvjqnkK=R4hmnl5v&1nij4Q0{Sv4mNKFx!V^Z4zZLeB1*!>?aG z1>e2GuctQi)BY*^c0{1*WV7b#`|%gbacs=Nv_2Bcu0+hHWKn*fn&Js1AxM{R-*7Ra($T+9e*&?37TqN8{*($G=qN?y zkBCm8*H@5rq9#_WXI1C=o0zPd^sZkYs*LKquD<#!mo9BphQ4j3;;Ya%J>9vB5nbHA zp|7ZPb?x8xxqnY|&)PTib>gA+Roc3?=v#gzs-Noe?XPeC5&5I-+*eec_m#fSpyZFF zt)4~Khtz%gY3nB1t2p}anmXS%=+e>2`TCX;-91Wl@%pB(oMh_L*MC%k_+{Zi^ozSJ-AEfEpO2tw4_bs>XH@fe+zVds0>t88t zxL??@?FnWGtR%#wkSY*RlrMl(tz7u_(B3YgwTsrKiL^*iz|_&$rCFCcnkUiP*iEm6 zsCU1;xreDebLsAwrp2AuI*sU(^4_$yL#i$qC$L+<%Xf*Pv!HD^zK#)*$#;@L-TBqcS2d+&dgJMZ6uLqG%vkDn$w ztB5I6X0c`SgM9eWr);`)9cH7A89Txlb3-!>M~=bA&5ISwZe#88b*#AZ8cGBn?7}Ny)K8q=3E?e zVj1P(h^eO!k&VR!x8`9I=q^gFDA{&)470Omd|frmH>_v+nw3;{c9P%JOioEDc||#d zga(r)N_%5PHAU%JL|p1 zq68Gwd>my-QQq7%Ck_fS&cTNUO&Xje5)&ohqCg`oSp%Y8=Lo&`wARIu)!y6qYQMnI{#!V6;6}bZc$)y!9rF9Jp3?{J;LI0y zX+!b8J-nF{d+y=0*O#zi>3GTuDyYaP=bam~aPYMipqDZQd(cu74)5f`2Zj8$ck;RS z?7xcwrr+K#mRGSr!UXECFT$`g4$Jl=OncHPzq@zw=)aSw4`F{FLwzOheE&@9f4KTn zkouGJeMt55)mIQNRxacfNnbhW`_b;N{1-~=eA3?sT`2(iqKkJvu;^PKed8#_K)>Bo zU8%C_*P)WWLs>cgGnaF`#y`-=Bpdx5DfU7~EpF(JQ18y;6(*~r9}P7P986(}`zF@4f( zx+hMdyL}2BZQV3CbZMcZWip-ZlQlR}R;FoF=F!@ua)GA`8RuVtGLP9BVlS+x5Tq4_Y5+_%ZInnq5QM%xY34jg%=B$R(H3wQM!OrrZ(hE z4Xabu5#^yxt@EQo0PRkz$ik^T~gMa z-l1&T!mt#>7Pg#lNy!I?=s9v~$lK`NqhhC3&Y9U?a#ZG}_uPgKj0W?on7vjT1$jMA%*3=GW zPMR!f1``$(AP|>8Qd}(2(a}W5L{d>yKuJXv-ihO}^6|qhF_Pr2Yj((yuyqa>T1Om zzD@$8LGXS)d?fJmqjC#=J~_!{Uoq>ep!BEsoKJzcko2cq zTuAxrFMi*;)mP~B|83V-fcpD4UMWR?1~@NNm-^52N38%CsuTTs?^{RxwbRA+75(<_ zugog_{_0AAv)>o=8M$Xqh{ne8`=$@~i{$Afwaz1EQ&!GPtecy5YJoSG& z^vkV|b?x-8c-PLS#9!!rQF-Y1fxgH3<N;qy z@20-Kht5g!XegP;(YN;S>lY_jxnL1K0l|#5a%9jLV+I?J<%*G`F?M#qIVBLA2si9P zJeje084oHIM7AnavH?F64&mu4MH!OPJErij9vGSKW9oi*C9ZpUikRzw!xtPb!B9 z|GT_;;1oB%wwGI9{hY14zGT;_@6KKM@8T?QF+$*Iw5ubd)!H?#PPoKGP&m7R*h#sV z1-fD6;((z*lUrO2QPl+!CJ<4TPgrFR;WY(>mFE#&F6S!bxGG1Ea|tWSle!3Gw5<&W zE{+(vxoYVfy7mH?fun=wxzE7Ki7^5~hHB`Y)T44`u8v0u7>$yxeMk^-6RWs&>jS*{ z@dw=f=;O@2>MD9>&tcZmYgn;*4W-3p%$YWY`|h}lrE}+zmy$?wM3jI<1gUCKRe_M8 zfL^6PI3S8Zzi@4<06{riP+$`&kf4UZDJzcV&Rf7q4a3u|7o=HhBGud<0Ssl;5$K9i zfD);kI7l27Bwk`{Ds!iIvuMU77R{YSl>kFpS_bW{4U$hRSt;o>H#O0_{!%YM)z{RJ zot{m5V=JX46`FNv%H)Y!x@u^kvhYL%tKo6I0H)>{^)6^D?Ge#C2T6I=(}w72(A8@V zQhBH$f?+DIf~e4F4d}FCciMBQxk?g8(oo*{qQjCkND2~wRKOP_fR_>-$?VP+p4xIR z{PYvwpFPc0i|0}_A(M$sE%L6l)80}?drdV>6?HV#)#EH+Z64*0aiF8Xu9fDc(bU_S z(1sk|5~%-h&mmgtCQ^_*fd{Ya;)PqY_~_{_j(&VAr}k_V__>$U2k+r)fu)n5-NuRC zH*(_hwS2jEEvG(TCm?hS-)NAuo^KCt;H+}iaAdPKJnz6e*K_akLduJ)sLie8!`llm zavUpt&H|GNPyR7#G+VAofL)caPax^E0v+W^v9El?Z%40!Lm6-?lc%1{z`8hsu~p#$ zNC}uv$sm8@>~nGdKGGiy4anb5l;Uu)@H!v^@^=<}rF}sDJ*2-s8~&Z-FYh(Vf^_`A zK3;x!EAu-ilPZdOR%RaMWi>R`wK7o+r)!<6Ick_Obv~23W(ep^*F4&Fv`?kGYbNai zLhWr+>1vyzd7|r(?c|Obv@~?n*w8MagNXt{ZOxNusaNxpS~b_-O%2Mb)UC}wQfnbK zHFRl1@ERLCXqEVl_3hNvby43qgW94Nj_mlDUyq*Q&KuXVX2o@U@WP{<+P909H?PAn zG!RE0FNPTzbIH)5j4~g~#Ccb<;`WD$$Vg_nK+c+#%UHMSTGrjLlv`FUW#v_K2o3aL zthpI0SKYx4w?4?j&%cFVay*L{P3O8Lb6K%;4y&$R!i_7ge3-hr7hx!m8Wu z!8S4gkLWNwLWA*$ioi1=27gh+s}{__t)+k=HWm!EFu_JZYTTp(V%w_mNlV686!d_! zRQ%GDa8HP0w7U})fj*e}c;b>2!}v+n#B}Cj8tkfpjERRUKBd-I+G2lP&k(&mHU5GOewNhVn|%6H`cxOBWDH(7f0M1*#!r@d8I`PLe=Suo{Zi z3kzz2UgZuvLVzb&U_@DpB14lkYmHhPDO}P}P8KxJaOXfnd5BZP-PHY>RYrpz1t`%P z&}fUTY7nM?OF2SN+XUhwQ;CUC!}26eNmsMl$hF`gWmQVl%BJQKY2NfydMXGc^}6ux z4XP|^?vMhe-bGzyd(O%frg`b>UDrvu{O%n}r(h|G2zegmxh^JJ!IpYvznZP4q%*zhvXTCkAI+Mq4f6;Au%O|@YD>P zB4ROd6R;NewePaK8WP7e3#6gl>61OU4(nZhjNb+?L9YN2)mX@oK)_ zC%|*$LB2b>i8Ei^r_D3^^7Hka+@t0lt>xtBH)?Z`zS(yxXAW-QJBjntiHG_A_!iBP z!{@IrW%bNbigL#Pt4hr3~r6NqVT6c(L{Sk4?z&89`?e#r)8Kn7$$24p}6FAsmt<9Bale)}YH({jnlDWIyVNpr-|*`dH^xNx(?WL29ULr>&`jhQ@ZPtJHA2 z2I^{BwBdQR)ooN(wNP2zD%V;Bj=E@S>=p={%#@z_OlqCQ@!ektAbrVwx85QOZX}NO zZn%5+V(nz8S6<+gov-uC(+{(8-3n$; zorJBcJNG{F9CtnRFwUV-yz<#`rrvQYEen@XI%yGQlNOWPF^AyXMo~)32xzFmxiAZl z%nZi2PN9Cma>}M(N#(S~+;aazT2rJgnT$_YAwe^0h+JHSS8)_pf#Wa{=z-zb40HMC3(I}->JK#2%R(vCv}O2Wc==i?+NWojPiW=!s6T6Y^g zofAopPiNA^c6xdy3aGbHS5-w!OdRFq#Y}8&VE)W$)Rb3~mXyWR?rus8%INCuq(s^x zJ~~nQTO+NFwY1h(QCwI^N=a|ybMRszQl&gn|l1kbdn@M#OosyRt& zNTAwEJ_?vLx8Uc1OAX}n}>y-nfjW%3?a2 z+v#rU;M|Bqcy>$nYc4-Kq_}`})8} z&K$X$AC5lAk0%}yn0kogpWM!iw>QvTUq|VLa$3rp}e z1d4jNa=|h>+Ipz3Y1LeX>lT$&bDfkYyGl`_)P99>+ECs|yMRPnYqtQ_Od6YKP**yU zqdRx=+vkUQaKn21!$PsNaU@6-UI#VY&e;}&AQy()SzzYtt*!TxIdLL4-LsX3k}`Q% zwa$-{-#ByX2)o|nO2Q*L0@tVrT%w}1HJIEYV;L74hkH~Eo-whqjmAADTH+^Q z9~`Pp@*i$zqb+c2C2*6Fkxgj4q!SWOP&37FeE(=E_)?``Y3Y4s{5wKbEU zmPxdvpO%_UxHeQRmLTPz!C!$=v_M0mz<{!z2q1;05G-I2r7TEl2%WknfKV>&*V7^W zNEGh5)2EW1k}F^|QS*+Mmpy^ZlnjBIWa)p+OrP9MR(dv(p-Dtb$Vts*{*;N-m6wT< z-n*VrQ%$2lNgS2MWmJ?^O24aSvVd1)NQ|^kD^+FXl1CN`rcI@`yb9$tFI0h>l%=k; zg85T>nA*`!VssLnt&Pl`F`3C7%`BQbm3h-9k(s7kge$9*nm;7KBYB0Y=TnXv!j<(% z&V{L=dT~-t1%?U+<2A2)YN(%PnNo9-f@Q0Q_65aYYh{bIxg{>vmNew1QIejCot!f@ zHOFMEC1cI3F}1YA+0&P>=mb0^4FhL444fPoZEuf}n-l&8arjjyV(jNi>y%k+xMKrT z+9p$-Q$5gvV zTY;f7Up&BfUnp?8m(%+;a_HSPJbIhF&pFxTW#myYp^C<;HX@=D8Eb3FxHu2Yy=)m` zX3h{3GX|TPG05DMLDr@Wwzgo1ofShIZ5is~zz`Q3+1fEo!f*lpk^UYSB=}<05R3E7 zOdJ;#P`~-QbMN(l49I{C$bbyUfc&S(Up~a{)V>4k{`g%UzUxkUs@th9siRH+r=+Zo z3IQfHM6Ri+n<@d9X4%$PchJ;0iI%1*a!x^zI-W?40-c(Pv0Yn{xVyO60<7qhT+ z5hr&aL~rSh8?2kH7dDU!6Wp_x!mG7bR4N$y>kJB6kjuO(_)6HX;*m`04lP_7$|b7hQ&i{@A% zvAh!HxP0o(nvS-k|G5%Ir#*M(ypvW%8OlqUxa2&QgexvLjyHDO`D6PhT2I`Ru|3L zfdExuejy#T^-OJVp|zn_o7a;NlP=14Ia9j?$g3+!OUPvMq#h~?N|@TyO-Vr!iE*jS zQ0GdDnK7kP1FEFBG`a=cigJr+uC1Y>xLosGH>10g%DfWhO_@YWTnY^pl}v1CqN=o- zMYHB;-W^NxOIbX728B7fOcOv$jnB}A5Oy|79Y!Zhf3ITp(F`q7tqY5RWg-!=oq$=YmMw3ZpUb zab&QG30FuMY;M90S5JboJGK4`M_Jz8NUoG;*_39UTvNom54G_5j+Go1=sC9QR!)3& z7vJpPc+U0rz1rNQqkC@Sz(;G@wc{FIzPFhL-PM$2<};~O?tf7FHhcN*o89E4#p9gp zg^8OpgT|UL#LAi>76L?O77VqtW{{l#4H}k0z>6;Tq*JE1c1~6uQdWhRb?&IDu)a8t<)+HcJ*xnK5bN1)KgMgMNvsTr9};L z+#t%O0<0EMY-?z4n@nYOGxY*qt!*=z*g21DW-aHNqu=n;rw4dr+e_q4D8|&vo?)ZM zFwDS+AqIvFH#Ww|!B$)I7+|}LeeLYm{llB!yLTFm$Ku7k9pzM9r&i@ zYWMi1W)qw}0oSltd}5OcPRn78y(=ROjirpE87jfV(V5iBYW$P4aFKWpp-~ifbZYne zj4x!kqdiuE0fg7*lQ^pg`{V!&y_~U&2qJ50195X3h@4YR#*#KNCRSnL=gn9zfhR8) z#&|j~#@z*rK!4m4;&DliBekZ6@6P^2az#5q$rH$&P{AutJ;@7CJwj7iCS6qtOs-6! zr8t(IFK%J;{r56+@?_q9^;K?t>?vkkyNXj%wxCHBjBv4Ggrg&-eqlIzhhgjDgNeO6 zR`QH4?p_23hhc5&C;*zvb#vx1sj8Bc@Mwa({IrE)lM~W3Pi}q!M*jW+4Z+I7BG90Q zp9utn2t;UWB1s%Iv`)<_QuBh8B`8ARA|WP;IDru5Mq8Ud6q`b7Tsmn2zOm7%0vE~x zlSpE8Jh73zbCRMWl!JpLfwCA$N8m&1T(j)RRylD{i^eL)2;pJL0w&4C3k3CAd(_;b zI7v61q}WW&o1Su>kSK7~yGBx+223##sYFI8&`BgHSYR(aR^U5Ho2R6~UZ{FL0X|h0 zEe*A>tpJhoz85LaBG0LL!jt1@xldWmqNAk@YCe?a{yc$zfN0_bq^!)XurM*@@=Gqk zPWrj6kr^XK8FA_0QCu-(1j9y-VU)nQfu$|>o?h7agvfi~#z<>x36_j@vSpaHf)O)@ z378nUICIa9i{a;eTL0^nGyHJ&UGBMNCRN#`bX3)H)0{50-qgx-x0LYu%>}%%p@dgA zRPx$}T3)%Wf~Rh7V(pdf^fWh7TinE|t`@!(a8lmq(3U_}?z@kWpBqO|P6*b1YLQqe zgS8by1(F6yc?Ze%3OT;Q)|SC8?hNr9*Be}28RFu|P3b#W&(qPLfg_b}U+-FKzpsZReF)L_ z4%WAv`uXeEL*Hloz4}n1o>AS?pBJ+WO+?nuw?9u(%InpIyj2azfDFih49LG;{`=SQ zUn!!yoY=RYkKcQb+pb>j9^OPmB`{^uEY=7l+;aWR+^{W>btq;hP&8s&F$Q{a1HZk%%`GEK~pQOty2W3n#nJy zqO7Dwvm6zQvR+fwqRn-xC~u;)yg@!x4YV}&(9<tA?` zTOYWe+wb4R9S>|`!vhbpaq|P*v*lqPe)c)7I(|L}NYB3Z2Fo9KnAHzF#OnJVV%7ay zSbqOQa&8kVAAFcKk3PljZ@y#0^Dh!Lsh-C^{gAhgf5AH^j_~oxBfNS12v2`}fNh@~ z=DFQp@cN!3yuSYk?;SbH2VWfFlP`|)?%^YRDB+!hhj@9M^dLq# z+hFMFDA40bdP6ZOOIq;A9#2GNJuc(ZiJno0Rk$~!-5eR^?x4*%O6h6DYg!(*B~e%v z3WUt6XUCz_#0Ydg^4u%*TzdnbeYl&~pMRaM>hVlzh+}G9GS_$4YtQ}h&bOIA?`kHt zPolABCiAXaqn!`zs>LG6o8d0wc;kb2_~DnIIsVmGeDdio_I&mdx2{>nyvf}(l$S{V zc!tv_PjKkKUba8~BzN4rjv9f&c(qt-SP}sOM?nD*n!E4NfG7<%)DSXd6;eaXl!Zxy zkZ|SoO*vDDCo-hh%bT_ak!&NCg98B#WqncZ!FBU`;*?b;Qtnm5)#Q3;uyVkl;wzWj z$&!YG73K6nK~f?S5wd@7E|Bs@r{+CrbDyM45duzX!CJMiK}<-L0F#a zd@E-TnuSP}Mez0o!zKJ(pe}z?7&u8<>tJ%D4 zF}2+-gfwLn*_MMxVmL;Qb^<3R3^p}pjGZ};-KQ)(?@2fSel1}a zyFc7WR6#hNd4Y^|cVf7OjR2B0!|m*)Pk9oN6~&Fq<2d$e4jd|nQ?>HLRK<6@3fQ!z zfb40N7^NmMI^LhLxxtt>#bY-k6`T3lRBv9QGW^?0e=b%p#;T-?qrWc2#e$DMWc{A} zUYYs>h`xZNe_bC;`lhcBS{G9v7Xp~`J?q6l&&A|DAOkWW12Q20diiSsN#ywFd)f8D zyWGCwddkzYad-2kxuJ=-Uwlcse)#>pY`cFe%jYd*!IVjKHZ@RFQqEN~W>Aw`fSaWa zo)X+d>2b5N!N=YSKL-aEm(+1UKx)~d6_l6OGa5wUsy#> zUI|sz?E*s+Dax-Ah-zWh)Wtmc)bo6}XCL=(d6b&6dghAKzW42qL^1!2kjQ9;jvCHz z6Jrcr?667l$1cMkx1vy7ilebi2*JwJ4=dk59J7-Nt|`XS(+6wc012TILa_D;z|zYf zOW9Zdxcej}Ghtyn;Z1p%`FLXC9f*aGiW`QfDEL9Sc?9QV;ggz%RX`X9ZsQo^>dHua zTShr43yUoy9VFP>NU&y<0NY3bwoxwjjB#u)+{303vrH&VXUV=Cayjh+Bh-N!X86w2aIi{9An06 zmZaRQY$Ae#Fc@Qm#aJu6Jp+i1(v-tn0095=NklLAm0eW0^Rp2BbqPhH5 z5EPoKK}T$Cnr5X@P^1lYlY7JJM`a|>+DZTROu{>c^p^?NuAM$0aPcVjVo{Y4$X0-In#Lgmo#z$&^q%1gUTU?vR^N+3P&}(Zs@YGf8dFEPn zJ+q1(4=?A5`)=jBMOSnE)hoGW#cix!b`xvYtmlRmH?eNzt=zEuM%J&ngY~O#;bu9$ z`TARV;HH&){>B;(?^w&pPwwXMJ9o4DjoX;qQO>ZjrVNs2xZK2q%g35=g|!8Nnelw~ zVkUf90msVtZBITwy_3tY@8=0u<@TQcwoy2%i6eVzm~d4CrWJ9RHpE~#F&WEg8C2Xq zU+bfPCsA;qAM`CG3VhUgrNsBQ&P0Fr=tNmebocg+qmFg?>B1jb_)n#!yRSc2<+}9s zEjGG)bl{^q))#fIKMRnO^VNqgt-e8DboHSuLHafToa{lY`%NaCcC}s{;Tw*kYn(%P#_MH#COlhtt zHv&VIH7%5u)Kenxlr6{EImKjWmr+;KK}+)_D$1Ja>6pRQ3$Nq84O_VV=6hJWWChg~ zRibPLbKT4ZTAIfX9c9*}IgCyPM+Z!u95J%7!67t+n5J_4tFr`{l5j{D zW!>EtBef2YvkPV(;{==nFcknY6v!EAZH2|SagC9*I+n8J8J_rO!CbB^Y_SGRnDkk=IcINu!+wb|gP_ZmfV#QBNa& z-Gx}CgyWo?ghzco{yoK5NBCjr>p@USHsM_*c(vrn`4XbKE3k_TV~n>8#sVA00yf6M zp_qh3V&Lb?7$0v&c)Byn%^jP-V6r-zNtj-ROHK;WwUsy|MPe5gz$>r6$*XVdufOuumnZo6-8Xsa zu}5fcX=Z%p1Z{|2U|=+XzG{eFJR!2LSy?o9+7gsY?w}YgDA(Dc0w8K0jvD@^ph;O} z6l_GPV*w%M%ppE1O&~)Jl~b<36%3_l*A)E33Xnxhd~E?)4R91BodYES83kr)=wC)k zCQY@qESfuwE9cE*diO+fGPAYxq6BbM8d1^d0!xX+seIJ2T#Jc{CsF!GY?OeQf+tB& zb1tEkRau2(s|~YL9_%D71$7Fj1bm{kGRk#OtxKUuo}vlABho;_BI5eDKaoeDLba?0WlIcD}WZH#TqLqc@+&cYHC!1)N9N zniEnYdDmxP;Wds?);0{Wv=Df*Augwq#gpq;F}Z>ba~oMctB2agW(uZ?ras9P7&^>W7lR73bZSp)8&A*1O*6HNuOMjGS z9Aak1U~}`{er9LKSv*U3U$H|FEFieL()R@}XB?U^tjjqc5c-!-%HRG2B=mAQ}9^4GWf2UDiNtWrOAoZ(?f~9j!e~ znKYAGQ|F69HJiG+4l2qUC@X8BrmBNg%h&SU)7#kd_PZS0wUNxrZ~hf!e;+YUle0?6l73p}6k7JCB z4Z|$Vu=Mt4PWM!qUh)KXspk@5jI@}sku$vHpQ(-KAtpb=i35<4k)GS6uUM>=p(*!3xGZTrQ*DP_9 zv5k+!ttJPzsw7N&-0;mvq-p(9Tq=`^EiWN3F9)xVLdMl)G0J-!@s*RfVd)BQdkr_OSj2sIEaA}&H&WI% zi4iVNBu}fxZ9=2~lnvIR@LPu_VH*&SrN6+MYk&Zu2g6M*8DeCHp|Kg}24l5K&B|sJ`>4XXhX=%!_az>#ojw^AMl}htyr+`YXX<(#aQR+s4 zobvW(ZDxU)i8+^Eb~%?`atVX47|gKYBN;qm6hlXkWwezO#?lU!e$iM+-P(sHW8~%` zpst|Zff4q$n%nru=5#{JQn2;)VuXN_xt9+?v1tTKUAhOx;vNu%nX9~0@=n;g`(Wni z!e~1ihFb|xo0|$)nacYkuw!Y?NI4&yl1pZB4U?uWqP%(%F{u*>kmpIrF2*l51INHf zjO2Y9VQQx?;KbMX+Q?#KUoF<=|3|J0MdZ`rGWI#^KbC_3or7~hwrd*!4gu!VsUfv76mPq z{EQNATCjrmx4q8m+g|48HMer>nj5)k^&0NE<1U_l^ckLe<~g2t^idw)`V`MR_M|A@ zTeB)bjFyQXbYxVCWYV-7LJjN zi-3~AN_G@uU2Tc3&c(Yv2fy_31SMpVmQz7ZT{k7=^>_t@i{h!);)%rDHwa&!5K-V` zNsmt>ARw4=axPkw+LD}nVj~k6=M^Z5eJE9h6~x6RP*zb(RGI*#D7YS;emDwn*``J@ zt{?$JcUv4|!U(UMK+?F%vMNPMUsRTrXaykx4a%CM4ZRb{QNz`g1xACQC}mYjmVE_G zvQ^jBP(8U85gx1Er-r;0#)fnuy@Z z!Wol!^!62OfA(I!*te4p-g}Kto`0NU#}46N(asnL2Sy7ZjdGG8kYwOwhgGB(esxKN zwq+4EF_*yh4E!2X2&m5_cw&~E&m^KXlkkoVV%xGw>MSH}auGgR@tApgVdUzBk*6~z zzMdG$zM-r0xrK?PFT1)k*4;ybC+2?Mmz_`m?~DVQ$WNr9{Bl66qvq z@NKO;jheUAkDPpl-wp~Oov!4&gQWy_#9>e#fk{&wW4n_m-FW4>hyyYp1M;6J1Az3O z83q7pK>kud+WYn{p1kWpp1S{G9>3#3=5)-Ww6KxZ=4o`aO=fb}eCEx(nrjx`z`E7a zDc5h2u$4`BKgs4z&+^>19X$2)b{>A{Mee%yDQ>xK3pd?(H!GIj%EI}}nLle8bEaRz z64_tBb_27gT`5ZRB%14{(^5B?mX^s>m$!+sI+f-8-w11CoRVYlD9ykwFB-=Q@tFEMVJu+b5FJQJ zbv~(;4TOr~8RQp9u)lJ(tUR0bS|pV9B1A3985pH0w#w=d6_qNAdn};=axF-dZ1pdH zXc8fTu>w>v1p0;(B48Eh9ZG;tIKG}CRMd9k9iPZ32Xmam0!0CxfKyo-M&sPD5Fm1I z%qF}wpV97ijPi8A(9eT0$_ay)lLTkR__$!~Fue|soufFgCuRZr1ufMpB_jbI=_E+Wj#pl`i z$}7D6%4@v6eFxiR``-4~cz4GR-je&?knr-h=h^nmv%K=m(*jwK^09!?lA3(hUAcm? zrVfTVI5W!8j*)6HUI%-r+fV_$7)-o_rH*|V>+H=aTW3aESTo4Tl##|`F&JaOsFB05 zwz0<9*#mc1Z*ry0VxvR}_Y3cJ&=4$eB!H^mK)L`BonPOtndgofH=T+rY!|mk$NGYF!B+W5|+^5ck$n{`t zh+iC*rsi0inQLC`F8Rklxa^9-Tt0XxgGMMXj;0JZx5dy=;AC7N=0TB|3&g3pZDXYU zEd2e6t}7+EyN1L`RU~#)kkD2@OmiM#RT(&ihBDUGg)vT!jCPU!C@?kF*$MM;0y*B} zBu!U=947*bqsW?(E1(pEg>Ub9Bk8xwN^0mX&?KN_8Q_g&pq~arM&53i1^HkT8H`Ot z2&RGK1p2)gf!ZL5fK!B&W&=sDCf$G5wBUzlt;1%0U_sRd3GG>>a)D3nrqLj{=p$Au8=6G?RZc*fYnXr*Y5`HxDzS?X zXQ-VOgKg}|Y@EU~&%Vv$a|Dn+y;C6PeGPg(*zr2=zx9R&OPlYygLmI}ndcwh%IfQ` zUUUf5bSFB@*jV&YW?4=x*0!QI|BG2&aFF*0?k6-iC$({W0^T& z>`Bb*>7X*dkn++pQsYvk4Dr&==PWpCIG-9uCqSZxx~ZV7SK6ExRYPp%5tPEQtBBZ zq<@7c<;GK1t65ixn8;L#v9qXaWx0_?BwXaPvMs{96Yp-cOQM2 z1J7i=^;Z;b)b{(O2dSYuhVG7`VSpJxYDj6NOB$t>9y$f285)t0?r!PsmXef4@a1{e zS9JVXu4d>-y|#%l7^jSs)gw%}7`INAG8VVm4Rfweio)SQymwdUeh8GmwY~ z&>h@roKNzKN52sDI<=)0=Q?%!^z>BAB)Z~LRrAN5EqAoK1W{qzfQ?gWLEBtu_XD#f zAwPGxH1B^R79m?^d}MTtdc9BZslnGB@mjMdD@2D(5=<3tRGg1EDz_JMEFc3?>2^}X z^39X-`7^z9Pg0BD(Yuv+Qx*`IFx?vAFoBocPNHezqyY6C5*04O3D9Ho52LuxKYV&W z_0|e@*Ql=G-uYpOW*x)reMVmJDi@nIje@_H;3S&YO5gUMiOkJy6wvE^C0>!VPk@Y_ zza8^;=QG8nDdR+2cD0(bp;@Y<9Taow zJ^M4i-S=y)srnz7_qSv)PAkFA_IfY4(}sNf`%;L|@$Kfp<;k0yeqsO1<^A+_J1(*+ ziO+M61aA*7+uw9J@Y#$ThDE^C`byt13GAnRb;ZUDvmA4XV)#;~r$8&T1<^C-^E_In z{!^kkh{W)i$`4=*#p*X=guF||Q#mXZN+P7>AWHpwpf!qF93w1%Lq$F&R+`B%?$!eC z_FNWMkAky7(T|3OE=}x+7$L+!x+KJhv1QA%Vz2b)y|jZ*E}v2^D#GRiu(o=X^2{Ov zU7aVX=C-Mj?r#J+F$a*^%2I7%x+jY@XgqAv;pG?a&SN5BV}0J7?kRQIYmsW*7 zkJQETF*tA&m#lLZAN*IGY&<7^sZ(umdkLr7>eR&lYT(=5U47d5xQC|YS75=%Tt7NK z*&B+$`%4f1%K_uNEn=d=g_^eyRf`SIEc!fV2(Q;^uQ(n^qeIzwG9?K-Y{y^j(gntC z$k2qziw{$*e+0MObkG+$wif7)8F9LWCAVUYJlr9*-;!`*C@M=s;Qf3g)+YT^-}R`A zIQ3wM?qA@4bNn`W;y(E6OPDw|GcL*k)N75)IAW(DampHB(?L>#@`SmeeGgF-Z;*;) z771B>$_Xsmy|XJ>Jp=7=-s;xD#7R~ldS1Gx0TL2G{7-Q6Jqr7q@m&U5l3ID|?2q#R__={8w|Dh|2KM9inXR@nn= zqWnoI3_IOPrtxqtkR0bSyQnLTfKaw-S69l8njFZBSX;eSB^W%Q%juB>A>ztOE}g<8 zg%kf^vy5FZb@Wp;o*yv%cTYfb)`3+N{iScMpVsvw2O9~W0S3N^$>zcDpv$1GQVNm~ z)ouay{hg2>W;vx~M-h{B;^(bm)b+JVTd6C+ZZzY3=d;SxfI9y$;JqJHK1`HKb`c{8 zPX})J&@8Bu)K~&!bDElOv>s!DL9U-&HmR?=qN}sc3zjopuvH;y(gi%^112 zC9JMvW%1MbkUXRkW4jjXG<6)|GduBd#0ce9>68dcC6nU*B8}(0Mbfpo5HYJ7iBdXx znO&4hf*J|C{KHNkrPEh2>PG|a{-QshHn+oYn*1Xl(@d5K!Ujtwvbz=NWg?m)S{MSg zB!%f#DVG8y8Oq-4^wo{`ZC>;W`27;j+UP(VY;fvc-6-CPB{%C@%OG=#N z#>10nl!I2ymu{4aPaBCrQvcd~991gd9h<7Kq>iB%d$q$FGpN7>v+T~gzq_gB<3CLt z&#B%J4T);DfCBFQM!pMP|t?XBeBXYSv91W~_ksrkv;5v<^U<$@6%T zRwc6RU{(GoYY8`&$|hgFUF{lofjJCokQ1ppI7eMH@+Csy%Luz(J)`PEX>e9ffZOx7 zweW8l^zV=HJqYZHEuNaEIr0q!cN-jZ0QO>&4>7d;j!HY?8me_W@9JzyK&p+ZH84sl zV;>1PUPt$uR@gkE3AMLOJ|Dc9sImLy&z&KI=J;!Dup9%Y`t3Y7ccv`C=>E^XOAMhJ ziyQ6=b7A^#`@?51XJHzxQ0BSQL*^hcqI|{`Na*YRG5C)+faxAXA%UGVO7DMjA8U4> zg6tB3F&0ImjMagHJ*~nJt6ZnP)!b;5D(M)ei1_W_!^vRxx3c5e;;g+p1cdK`g6TW% z(Afx1bqA?d#NKyxX7Nog(kbF3d8B-B z{!qddY3(M5HkTDbXJ5IAVk$cAGUiSx;R=dPNGzR&Pgz#{$L)x!0FuS}H5BaAVEw@Z z1Vfvu*Rd@u1jxf@wvM7_bw02oA;*EeSt*^8)xVvGAmasE7VoIrKy)ihE65GV{79FUDn?);o)}eOFArBKJcA) zH+(3gpfikJ&zT}lB0zgn;D><8pa^uKYD`4=rIfAzU!~mAb&ly~z1C<-LmWK&kUd-~ z4aTYWn^PDc>QMeYhwJ4|3PVbF++mB#T%s$Fr+0UTibo@gx|8!3H zm$*lZcO7f|QdT~vRNh^dDr9th7LBQS zqcp9Py|uuM{iUrPK0l_ACGPg4tzAn549ro9JTIfi+R$}_uIw^Ab~xLC3nl4t_{m&4 zZUj3XFLh#QWrzqNHWq#2Hrkj;OwVB*aHvq-`z5mGF=MU>5fhr_77qJ^nOb`HP~7?v z=g9DDDv&<{AS5rQq(8)fjud2mZwvc`2;xb3P(2chykUhi1+?RlZ?=2{`$-yg?F2ZZd1 zcS~2T8I3lqF`~eLXLd7C-c3CHk22cZe~fA`8B5$50@S1Ayj|t@GZ*c^PA+C|tqV_NArh_$OU!)( z;$hZdhRl{R#$N`KUW3YrQ5C7Vb-=`=g!@KfmEu3tMw9&@>D)_?ieks*o`zTKs2tXJ z<9&CYv+5220&>mSGJUi?)s)cJUyMr4IykcwRrN~|+H>Xko?}$g23}eN{iLM+AzQnr zVM*il@Z}jad`KWoKz8DyG`T>C1X4d4tcw65iH{;n$72coK2a;KWkx^rN-#DVDuC~s z3M@WLA|*v2kg9=moe($^>whAaXj)7XfO;Z`mQLlPhgNQxwX_tRixU$&zz9?wfR>UZU_P=$Thw=| zeHoB;c`0XqKk(Ym4_UZqE~?xS4K&x?4YYka?)6X;m7*J#PjhKn`i@P^8pWv=tSj8l ztjzkVpQ@19b|SA=GQRgZ$j0?>23>sTRH6NGrMKN!0sL`XaifH;|4_)lHh;Ov8SC`K zO_q*A_*M7Pq3c<4&}QOyLJ3ZCUi){D;PNhbmc-yPFC;-qsSlfczml66m+tOW<2=+pe;XJ1PhnlnWo$1HGt$f$#U*{+D6hR6rjQ4IhiRDx@|LvEu z>k`6h%3T=RAeMbK8W8qmE(CE#Qr{um{$Rd{eELWXI{NEmDqjz4_O)u-qt}#F32BDa zE~3|zzU=x(zZ==0B)3M6ihKsJm=%(9uqp`Y20#lF3YY6mwzMjxRP`$UV*`1|iIjs{ zJ!G9E-CtpkWfpuo(@&Sk=aQkBqTA5?9o#(@Qlw^$8@NU5T_^@QX>z^$Fs3-W*r4o` zgO`@h{z5hpYOFgCC5o;#T>$kv)=#fpav8HU8I#*hGnRjjHBWk8Tch4-rI@~HMvCyzn zqj&Hu5OHRH5VY?r@Qs51uy+E^!moI8vdjLYJrKJz+4Lgi=!^3mYg6y7W^L`7U}^A< zZ(qGqDK{k5>$}IZPmK#*#eI?PRH^%sk-)--;n-Oj=oGU`%m@HQ8Bt$&^h;MfCz)R{ z{M9favdbd*xr+((om)5A++t@F!lsn&Rq=x4%u#` zOW@(k{~}-rXCGMTLG)W6kY*xMQ>h{JZQ^-&Way}$w>jaz?;xF^bUN`1p7TpjsJ5)nc4q7 zQ1!=PC&G~HVn;2p*}cPCx_E5k^Wp1;ck@V|^mZq5GVbMYjBg*`9sYWH)8b5!>hhQN zSd@Msh$)SKFQiH<#*epoJ~U+UmsaL6Y5{QWJIiXOm=O~D`n zY8PNGifnC!WwUR=E*V%LFqKu?n`bNU7-#INN8`MmU91Gr1}y)F-7aH*>d~ak!TfuM8#*cH095a%kclbo zBG3RneSBR$8c;M}jFIjnwiMRNRH}z2a{axnm5o!Yt%+fkcn&QD$YzDS@AI453_~fs z^{4N{wGYael6SyUocsKrE^j8JMtb(AYUsz-VgU6tB`+Q^T!5P* zR^q02RG0_ee6he_7b^pW`xF}AIIx8X7Cm> zj9HUeEQTL$h07me8X80Fd^9oy6su!N+!7%Ibx1vjo}ERRBPtJ%N*E7Oy7j_e3i&b*>b*0kw}Er_Zjp=RuZ5 zs;(6#ba8r|y*!Kb!|#O%nJjsVZOMpQ>*Y?W`N1tMrRca#{**47*|Dl{b>P~Oj8)xP ztj*e)g2UkR(BTqs0IOyf!M6{Lg)m257hsr?y2ZuurO%!FjcN)pBQY6GNOjknL}d_i zdVQMj=jM>`$toX@6hEdLgj-xa=@BwVdP&W_06{CvF8p2n{A9IytEAmabKk%Oe?6d} z)=1;MHxJ|B69YeB6`XW&|9+Fr_0Qr8=+}y}AC{GS$T*D+UXdS{e0Muya+NiUt!G@6 z@1ChRdypKntS}9?^u}-b^bVS!md-xHkF7mLlFaaxodo^x;H!?^?Krx3?0dATZgD$V zA8V- z`~yM{z@a`u`|oaUH!Qm=DAON%C*DX|lBNF4i3qDD+iau{?1?%1)K{g`+3&Iu812*f zH_EW{Z}3LPy;06R8JF!u>JN`8j41$OtYHKh?dC1(#(W>BHGgS==9$V4RlAWVh~kG3nP!3 zYZr%i4Ls6;M_bnlDY9*KNMQ5P@Y~N<-V(z zgavY7){m-IUZU{98dMNoC{X#w#$5C1YrU2-{`Jt}JFCP8do=8N##McbVn(w%&F{2H zms5;K?GU=cwq=^snbSVAq?6DlPwS8jRrbzRMNyE9dZk#(r5ZKw;H8N>?Rgk0y_ zyC$DrHva$c=Rz6uzC}5ljzi+6x8_ZTAQk=uQ(L7ooP=Ks9*}J%4MVWDEWrY_QzVgFU-VqfdIauWd;daG~UiYp< zQiF}5#{sdMYXYF1b&`!AwD zd#Ggrv-x##2o!me3ewp@D*2^EgotIgDZsEjqA6|(;FuF`bRpm_{b~#gxBH_`=b#WV z8&dsG!-%|1Xwav*{TvwCpke5EJ$QITzF6VgP18Hp)`wDaF|^@rlJY~17)}6a+m}$H zIxDHav--tlXOd#3!|Q9NzumOMrF4~*@I1l$cjaq$dxy@w=0U`9;%9N!XDeVi;6fqc zEQN_rAA)IkLI~$0mi%}!fM7F&av1P_z70w)!OD_a?az-pAMT$HZ?amM04fg|AKV$4 z>`-%AUrgEdTj9Wmzh3^2hkkck(F+%U_UYfvi(85-V0vz zJXz{>Ziu?l(KC`U%PSkSZ)S!|liVn<46FcsetnX-^4$a%l9i{)J&*5=6(OPn9Onct1L8l5B^-FVJ<#ZFk{^o>i$ z-=x*spw~PGF%+(Rfe%NHec=OnHgn5%8$WmgpC539$DD8td|=wj!t4Idf<`ubU2Fa1 ziSk?CxA)`%O)lo%Ba*0XsQiJ8uDGXb=7)bgFS^q66)twseM(k8mg!+BVBrsBPDsVO zmPNeAGpL(zjuXrMg!#2BcGF}=9pJ+Z#itA}Ojp$Xrfcf?uyyFRGs*c4+hn(+DwF)- zm5Tj5JGEE&yj-?Jec^NEd1?bTPMl(>6g@F8Ds?y!fp-NNRwdoiswbie{hUUIdYVfS zElO}5;o?l?U^UQP&*trVB@jh)YDN)JwAiR#Odg_+dLYhtK|(y+W#TOh>RNys8)DX+#TdN4M*APo1i zMOA}wL)*v!bNZ-+soq)Q2-|);WpJ{K9sOPj30Lspl_bAS`Hn~;Ws28piL+kC^ptB_nsUKYQ$gg0v%6P#{J}maogtUlKjW348zMT8l#*eXjr&4(g*P4fzWf;U>w!zMg!z zfFm*|No#tSLG9|iocG@O$lUmhOC63bf-h*O@TCd*^~mAUl@caK`rrS31c{Dc69GTC zymVNn?9A-AB7N_^vsybUg%{Yo0hEUU3||o_)mOirjf;`1M*u^`>_fL)G@+N(ya0!F z3V{$`Mu#`X-qtKgeO;0^%bh)GmGkI#QD=&76=4)%BQB*t7L5h%Pxs`(%zcqxhi7%U za$YYff|OFdK*O9WAtN%Zw-!v=TC(D31h|wj0tC2(0X2wM>YvjhWJmN$5tn-9NT;zQ zSJ!W01EwuyH!C$B3oA;f zgQ=L2{h_?2M886QwbOOoxoN(gOh`OfaZCV4JbORZf2?`C^{T?Wk+_z;qSw+gw=bru zbC7zXGo<0lg1*=mwb!EEg+BPT7P>?cWC~8_mohv`75Szw~LY4+rml z8+Fo+rt$SMF|q9=Ztb|4=f0zmbi&14mo-8-BqT5qF&Q)s^yf`ItpO#gDNT;Td)tG6 z3kP!bjT+hLhsj#zx;K|84-1etPr`jyc6g1cDz1)t1UaVKn=^uRUrZd3y7j81r~8qB z!`loHFSyC;n?r=AtUtXqr}*}0`PW+mqXMILW?7 zKkVffH>tM#1NF*D{t`*$xIf0T;C91Kt*JmSr@)NV)clF zfn(vG5IG}U|D+cqsDdlW_m{=tDVq21=8qS-L@ej4lO}BvV7#;I_b~)#W01M1TZVRP zoVLFgYTgU4mEN|uI2iqU7I|I${+dY5|1b8PZx{nBBTD3y*BoYZ43$V}W>7^8S!!8G z{**GgAO$g;;5vzlk?DI4qvlVt!!zn|+nkq${*Eh-Q(j{_mQjPx9-#@9GU{8pe5ezh ztf3K81wto<*z52U3v%+top`*ppp7tQTE~!vc&j{<5^vp87WBh)wX46EhK}<8Uo+{| zOH$cyd(S6jnqt^;mu($*kXBnuL>%y?Z>wyG_8RT01Q-ywZHE_dEMBN_6mozvHfIr7 zA0L$#k-#XcON2EcB0*>0zQSbdZf?~+iDOSJ*;@c_1FsC1(vp{b*so&NHU*HEq`}iY z^L-WB9bBVKJqsVc^J+M}wV`^@q>MiBTS0!X;O=qv0D8OdnovRW-4O(w829c$q3~y0OVL2>S(WC%h_pF{AGRVtF9zZWBbbVerlvKghn~OZPMz@F^VUm zvih0>L+wBGc1v{UVR!`!e3vfeCMf9sa&%3)P-eUI*KF9Q0%owlV``nIVW(UZYcYeL zKm9D3JA7b)z&apci#@bwc$9Vzja%_YTNPG0Vh!b*c=C9-17V*T{%SR3KU7k26U==Ebu};OrABHzr1J&`_{@#0~v0B&W3!4sf0U z<~NrC9Fya!HNKuFKL&o^HHsKO{GLY7KM@4Z=My3&#Ng_* zIO+x|e5Yd9`zEm(_S<>24kd!%_W&1PN7TPn9U4syUtC*Fnm&WvPr*snBYCiW=O))9 z^!e|`5lJjG2`MJzY;iOL)|6=?oVuxjc>T+J-`p<#(hu1!0=x>P_4$m06&`Ob7ANzg zDk@ByX$Au~A`HwEKdzeM=C<8%-kdB4vC(}Z`bf?dv@Y#C@~5OG@R~D)`vehwJ<~5P z%UAG^h*P&RcsAVrO`|&te)RZII{K{JhyFMoW^3DvO$1@nw?d}4XmxT8y50iffl`{p}|*pl#>E{3>mOfxT9yBk&jKr*D81*{3_H4!=O|avyJ`=`G#e`$L=i z9LOdmaS%)Gr~ZuV%=0~$Ka)S+yHKtWPUFYwdJ2onV2n}kGYEk6Izre(!}=HnnKg>| zCWf7ZeyJNFRcsne;?o|d&Tp~%cj9H^*>e8@Sc;xhb;|+!=fFZ-yRcVV@=YrX7=LU& zCLP_95OKOs;j6TGD^naRZ@yd(S;o-$WQVcO>jkg(6Li2;Qnr*_fnt30A zBTrndSUJLDLg`tgw@0fn;I(jo(|_7@j`4-q?}5`lWXdto^UFJd+|No<%5nYT6;KNj z&IQzVIFm3yqz7Ejiz^bAFc%l2c#^I>8x^al4$^hzNG#m|k(;vO!%Wg_>^#ji3*%3N z`9Wm7Zruk$zBKwy5}$3oze08F7loWysodV6t5oy z5Z-w_+gQ6uUtRw4Pz(nC0u-aTGmKl`E%vjWFn34{=bbm;!cC{JnlTcZSC)Q$GwX zQ%a9wG-V!ulA_M?@w{tpn$4;dLRTnibYf%$;RH%$mtTOnb3`sO{}^*VISIb_0^v<5 zYHfcmkGc32!+2DAEd~r`-luv}QrjT(yNKTWaIt~d0Q4%U ze^N-xm(a&A85H-E>_7i*Nm>;aZ8?{`vRf*qmI?gxepl2blE|7X?_IL!i*s&p(Y5)m zber_EwunQXl@};hup_e4GDpe6`BUA2KOa@0a97(|vBk+x^K->qr?z`Je6xT&>>Rpj zvVHuD!HBa@2(u@8h^hvGl^6AACN>RrTFuUXBL2sFo0(OeUC*>DHE&P-V<>NNrHG7? z3+G#J+T7x=UZbn(mIeQ)98Z_Am!~- zW^qk$VHYUQ@n*~ zlULECbb+H#Jn7=ltj&-$F}VNWaAhV2C*aXI;L^AhBcZT{#@?>M8F+&sdijSKrFy#I zQgL=X5vVY9Kc21J_y4DN3mx3QxE6yRTVf5^QZ38{(5L@qqi{%VW%0)$FI$S1z@&K~ zv5Y?@UM|(=13%;Zq=*vmLg2aP_lOwyS|WcX8WC$lh)brG+jhUtE2L%cAr>KNK9GYk{|lLLe{+V$msEgT9|f@a>=qauQ}m6*^VFb@W6S9 zW(jX>@CrJSPNY*HTNT9$VG}YE zr&(~8j1M{icBGr@A9-UCIgEg|Cplg%Re(BjAlvutab>Lc{nGv>9Z~#ditz8%R%&9p z>=?u@6tcR*|8bqM?fNecLc;+eNSB{3?!w!V{lFwBw31h6%wQJqkE_D)2X1VpFl<J%830pBoTYhd-8hDJNODvGGcs?f`)oF_E{^6zP3e zGk7u7YboIOAnbp;=UI^}OF-~Zbf>W%g~7sMKY^YWYDcN`+F%$V!8~(L3lI8-8n_Ynh%9Y4Y5`9Dp*`u}1k z2E%vGfhPuySv*c}Hyc_8Zvsdz6V?bm6ut zp(N-B$nT+fz~LN_v|ojHe=GVj3%Pd|9~Icac?9oHQJqcK(41y9u zyhA_h#o`9N*e0uwSBjn)f<*aW4ee%Ya8Qk`nVh_-3*+BMq!Rlg_j=nW-BS|6;O%|y z&f-Wwoa0kdml`0eKocy|(2<;HyZK^bNV4`84P97qNULREN+bd(XfVEpHy0c{`EC%Fvzlv_f^fzmHk zi%i-or+QYO05xT5)TCdNJ=V#o#bYafT+t3w7btTk?TvcWm=j8w)m}N0royLK4~>1W zR%!&X8JTP$Ipv|yoo-mpVC0|uP`MarY?H7sJwIxRM)p9TijEdfo6NR{pXJy9&)x4C zmrbe_AYrU~jrA=`+x5dSV%!evwh+2l{T{31$%oZ_g{=^uZ&{-JWZjpq0-CxGz{ecw$$gxfF1YVTf+7xK{jhXx*a z82rzE+~5Cd1-0oB6ZA8Fn2Zs)&BZv_9he9>kCe*;7BSSwE@}q)n4V(!DKT^z_i>Rt zo4q@~#aEECBk3vF2GUT*3s#!BdVUB>rY?zS!6r;KClE_Xa`|4DhN$9FeQfRmbrD-b z0=9tLD1%y>Dfpf+4q363D{^g8R?F&l>?RMzJ(ix9O>q;@_$oTRYvC7!d#dj{Q6UaF zFS~REK5b8>Y3r=OyQ&K5uhM=E*Vs5tXMARDi@sRkcd@^T_s6qGxeBVNbA_TBrq=1?F7BLhBI0}Dq0un)Q6*s%c z&Z%cfx(S3sY>!)9uRf5nX=jxWWKUUbDq1yABU;`+^oZ38jbMb8UxW8hQ5FBfHL^}# zxtqwxaiL=%wO#o+vBHMj_&Jp@^L_mR5^6M2bbK-~4+K{VCjU~;?TKO?rnZM7?h90v z^T6HAyk-zg|4lOTkm76kR%ZNekQjumm`nMkh4Q zWNPyuW?mhg-5b;5Vgc^;AL_uFh{*5vQWRd-DI?HJ<}o6b1Gtj@x;|vBR>>uSwAcCm z+Y|4PwbCB4^l88wj*&8#uQW)sEeAB0Gb^g9N9rWLz^IHSt-59-Ni<*5ZrGW|Jq_=@ zwr3@4invSeef$s_PWOENOr0B_!O_;qph|v#Pnc zxyBgrO7q7gWelZYl?uhix_2zHAC&+qF)D!3QAyR-R?7qC*CcuN3n=U-l%cb6(ryQR z9H7$P&4a!8>IyQj$0-q1_OfD;>{ZpS@0<4bICOqjZnM}?2{PCNt9!36Zph6U8Om}F z0A05pzcyQQKgl~eh^jVWZcn8Zzdc(ID9xQBDl&bV{NZB$^XtpB1PSGQfHBmL%Keu0 z1_WT?lD0Aezbv61i#qoySh6Bj-?Sy9>N+j{Ahpa1q#K9WltWqH&5WCRAKfny&M^?< zpLToy8#6c`cdTM!6(R1=Zg<^Chc9-%$DYn;fcg-a*PRFe{uDnkGFP&VwA_R0eYk%9 zb>^h=e~a#LAJH|nM$M9)t(O^iKBk#oW5*MiRg2omvxqR?=NYWK=ek(=OPbzc$6~`< zT+!3><(U8DFx5}f2CCXr-ofAfjshRIjQp>9)j;cR$SQo**_X8`Jjg}HIJ?=P-VjhF z3J5g#SYr%87}Fjqh}~JU6s!~!Oxj=S97x?8s(J4#NL`QHdjI}%doh&q@%+5jWv82M zqe~%qy-y*&Jv^V-tZy=sZz~^W)_o2ud3(2`!~gtsLEs|nBmZ*|fxz=#{8ZlPlWUxc z!khL1fXgIq$F*?*wbudpHIHc_WV*SP?Tjg9~V(*oxn z?^wuU2kh8}`uXpl34=AEd8HM5<6k!a7g@uQw;*eE&XvNciagnrMq;eC+H{N8@~$4e z903%ktS8o)^jl?8rdpz}A;1rIX}u|(0psjhBDH?5VX#Q~1GCo2zSnw8HNbUZ=n`Vn z=-)?ThqzBRxLMW>IfNsASGodG_n0+0nHIXx!}1}zrn(3XrREm{1Uo8-DO;JS)D`p! zk}?t=wL`xZJt6?1+HLelBw&JQ_xdjQ&J==y49s2R)~oHIt9J+?)@|Cj=?+5I^LRy- z37}hFTfe-gzQ&t-2HDU?=b*0B@0+Wfq%zqV$POTT<-amY@}RrQ@4&Sx@p9&H_I-_~ z>lM@Aq$TY!2i&AU3@mZplS3|z+*)uh9eXb`?l!IwqfH=0H1q&bI|$J5i2@=nA#x-4 zk=gF;F(zD0dn1?;Jsiwb*1eXSBqU|aeci^M*eGs9*?az>o+{EDoGrV2iiq9Uh$N#D z<~`lDFcR^R$5B8H=Ls?TU>7?W1NO~QqM*p0>Dm{&JJEJzidEx@DW5o4S3YiZwAGGl zr9NwMYj>|GYiXK}aoXHEq-Xnp$Fv{b zm}}a_3kk}mTGnuYt<(34jl;lw#jGc&6SeC(bajHhvus3AZ5S90#N`jQZrB~ ztsn+1?GA8fJFg%&^KkB*6591LL$NA?OZ|wOL|+p=ow9HJ4z{Q?v#{h>y$_3A3*4T> z>XKLXv7a&>=+${|M>F3_dejHQHnh!tDwKZe*B1kWqhlfZG}gFZNK9E$co@gE4XWf) zcD*n02#wp_8fS}|X7dYYzZJr0b>naq+dIA!u9vX*w^}g;SZU6lt*I$@T-D^V(fpO- zMpyXVR-(Z}^6^^H?TjJi9A8P`OwJz5g(OXsS%8BnU~}_0j`LEw|H=t#Ba5|^u&W{w z9|{Rw6r%@#bXL{BEHT!?F;+vV!i3C94_Q5>H2D)=tyBfJ zpY;9*Y;#pin3Yl1?0u{m2T-h0<+Q(0*6Cqg<7*e2GvD1@VSbyaLfT$vyw@a$u^xUN z0{4+Eu9|A0u->?#(%i_L_tX{>8pR!_wqH=X?q5((VHCV$+pZG0q_@anC<<}LyZwe! z_s)2|mZW43#+QFrH_CbvZ4Tyn|*dE;L|U`3R=<< zlysEur+n;ioR%gHJ+Da*c^J<+SFy0f8hS$rN_xau&~of45l0&+bH}iJ|21IK2Nz5+ zH(&u~AycKXrLH=#hwuQ@$4wz}WSyt*&#A&_9^-CDW=c#~G4LNnRDh$T#U#SpTh#6q z%ndP$J?u)dpQ=Kf)$|MCzC zUIv?3A%1xMTjr&ZY2onCs3)2x$pd5%Uspfv`XpukfLMXUDl5QMF<^0@$2?VtY2nQg z!lg6uMvCc!889HNe;g;o)ec4wlQm0arf!U|q^%e-psa~b_=(>=E}kR4yFGNtO|kvEGX;u^Q9L$$=uN+%JlB{Y+BXM80;!1Tox!S%zYdJ3 z;~;tIQ&n{l-+*XtP5m!40tNSOgMis5Ci0S-*PZ4G59UP16IX*BUfCB1I~?aD%ET}! zxgi9Ld-|dnR#3Z8*k?bcJX2zEjS%y}7WO^9(4GnP0b`&PRpC|*TgK*{GiBy}Q9Q5m z+5~>e#S$%_Y%*Ra=5-i57Ba>5edx^))N0{ZDfe!v=X;P(z3HY_Yh1#QW%fhJC8Ht- zKOpC;q4(}r8k)6v6!6^Z2XoKd;|QV0)~%Ua_pR*g@E?g&>|6Wz`U z6_YNumT;w$w44n+U$+|gl>tPmUGn+Y_w&CvJZ|nK2a{&z~rcd2A=bK$!2ipcUsrNh=VU~UTs3-F7HDoWJcs6xhA^G@vvs!pwd}xOp!;{ z?!9hYaJ)78@GAR!Xe2Vm7^G|@3}-yJqsC5hi^>W=`9p%|cUxz7nMl7?!$K=2S+B9< zyHEvt5RTdR7mHV^20(KFmXy#?Z>Or*n8}I1q}yL}|7YPdpFw#rl%d}59|uS|dsD2K zm=Sv21CvF}c$m?A9rbL(+}sWtZ)!5H%=Xu+jGpl~1B_d{d4?tU3$b8$S*}h=F#(JX z_C`dKnB77rF-mUh;r6(Ocbn*9jI&Qs;qM%gwaVaW9?|CjgQoa$sp2GM)k?S*3e zRGiw>lH^f^-iQZ)Ij_Z;@bBoE1DU;6{}i)z+*gWAQHzA?puGZMKfk7awiL%H@GW3xVJ2xBoWp2dUu~PTgjGc1RdKAv;}-eQXCAV zgz~=mlooDC!5w<@lOu_-IE}2CeQ>Y{ZyfRbxf8YebB1eRud zy2U!737&f`$yBJvlmfU?a^2@f_e`xJC5n}}h&(@Dr4XTlB2yBU>Uh5{)+-HRKIT06 zm-F#H@pi(BIwzvW(iC|w=})#68;S{#8ASz6Y4i@viXgYQygd@u-|VAU!Wi6+j8$A@ z3wK2a2I{9LetR_R-RCs~-3#$s%8>&vin_gNq3c8nIMOtjMmfm)C z%yMhRytV|U2p|ah4n_HtSHhr{uP?`=?zrthz z2mC3~iGfi`GV#}h0YR=&$PtpmHrVWRwg+=yNeVKo9bFITuVb1Gq^UA z{WIBisio)W{PgP~t!9a(X=EX3tR<>zcPDFHJq^v|6Pl`uAt}JRGhpyq^xoGUiwTaJ zTRE5s>%}t1*%H^r9_U`0`^l>m>qFJ=(4W{RT19?D<=3wvCs;FZ4}W6Mr|Fj^ke7|F zRs3KpF7#|4zuQaVmpb-L2`41=yNyM<3F#cy*)6tKGC`Ly{dATA#w!40?Y<#`$mI4R z>U?aSKno&f;zr^y*5KKT_L41`V%on@um0MN$Up9krs9g^Vq$~zne^l(Q-W!?oF>l@ z8eyW0@$^SSMt>p&!Zcub%K3l7mE?$&(zksuB?dtbLcX>HhQ0n_i3I?8W8v2Hufg4B zCe<-Lu&h$nB)7O-EPdzuSU=QWIBVDTkfg7hIfy<52N!x>2=zYH36wKc?38_)a{i}(2 zUG_-mjU^|dJVuV0Z9>jRC#1CmBTeT zYfkEpB_pOuady>k5RjIm)wQ3&yO5=~I~Pt%L|{9rD*>V{LW2mL3nUpq^9uh)1~t`1 zNc8hE@s7%7+3r3oxj8HC56~(A8OGZb@){X`n0WMf!HT3;;hYQRr9aHZ+P6B| zjccn51DE9Aq)b*pUchYTMo7}lNi%uA`0OE9-`J11upVVy6+S*;+F7DO4b^`pZRQX9 zL;W(#_So0^TbCMTy^55Y)433D4ceoSp;SY5T5bu2_RzNj1;Gj1)7_Qq|A(os;EHQo zwmwM+?(Xgy+#$FHNaId$mnL}AkRZX`Jy>vQEWv|oAh^5JI5bZ4^||l8JH8*V$Jl%A zwQAO!RW%pEURaD-tox1+9p!%iq%@m{!P3bkTP0uYddW*3314q>x=(&54X~OV!{SPt z;uVUJOT+?pHBlx9o4im7m^qGeg9g8E;OaTlxr2Qo7m#)74)CN-4wU9_2{J@oZF$69 zH};ed?NLE()2`}@0R-uMKqCnz2>mUTxzJ%cKs9``_)0dWY`VVOl^UM#qH>bP>;0pg za&$ptmC6gHQAXvSI@i*=eQy>;CuK4s8h(VEO zc;QpbbM7ufA6-Fh7K@!&(8wIs6u4eu!&-(Z4Ad(opf09Odo{S=U~LO>iEY_nfY%WR z)RhHY9f|Gs8Bs5*$1(|T?!TSxFA&X(8hzAq_uyr~LrgEvlsO@#?^;Q+V8`KRVSuuK zi*ghD+}{;uXp*Wv0A%|wu;og21`L{-WAA|KeE|Herd*`%0l-+V!Xz8^!M&oE5Jpo9 z0Tcy=h7MI~D-?u|b^()v`DZRPf*;kNG@ha3`LK9|zG?>Nnr#qCox#~~8k%3@Wb%TKl3 zhS+BcZg~QZf{qL!z1VDeB0Og{;;_MztJ{K;-`|LX8IcmBuXK09wNL5kFE-=1zMETL zD|qJNd34*IY+j;4v76 zRgSxy^i%Q7Bf7j8{Kw?U3YR)JDSB$Mn>BeO)`Lw}0zZ_s?-30RZ7_rFP<%}CPwCUIT0nrTb>BeWC$b`0XZ+V6`37i0n3J6`zKYLlKRo-Bt@Xj5 zW%D#q58D^WCOX)>2jn9NTK1z5J04HK*pTvP;A?&$P?rOEKDQb3iI;0f&{bRr-6=JrggViHg!$m46)l%Rql>aZ4xKLA=lOkzO z;hPQ8gAgrQTUGyG5w607SGNPuv&h&OPoV!Io8nLnd{m2?`!qd}zJN52%lNT}habJ9 zS3W8u=7{KILX>45c&l@Kx9HWp2_%+;4k0zOUbaqC@`p%p>I~0b-#9}5wIr-Pm-CseN~u_ zN5<@y(9A`45UtTmzIp6G$H$l(l;As*0SQ;z`kTKg&`2!;vi!#bnX$;TP-n#zve-B!i8x}{my!V+B9$FX(xk-x+~9@71I!zt`4MeT2wRCUN*0%+ zt*EUJ)SD;YQiRY%f^wiCBC!cO)6C?hbSHj(`M5(3vVq*!O4%T7fb0<9KII=BWrAQv zp)@yIdG3B3zzG5H0=0A&Z8Kdg(lQ#G!bGC&Z8}-EDAW4D@Sgn&3vx;F>yMol@7RYj zYG+twWA8m+&$tWBcDSw5 zOdpQ8d4%tT;?kL&8S>);@|8rM$KfL;8Za<{Q}X;~gODuF(W~hEX3%r4K9mNLBQ<+I zA{|7ReD6F@%@mO&(Z9L&jQR6>Bzxmj=S#fTxhA`3dolKO(*qF ziEKbIR+w*O&6caIghW3bjKEH!heWfTT|PPVo0CCYR0l|5KXZ30`jn`Xu@wgmD7I=W zdO3Itll^qXni6%cC^%`n(hzq*7(OR=e2rMUNt&%lG|kT=jA&nGF3J*`Ry8Byh%VzK ze|b7nbDso#T#`k-4m<7X@TYI}!i)+-BfHtZ7AB$N_xiZf(OlmU8qaZx<~f)EoZ3$> zK8?ZjP@g!{mX{`JKxY$c(>o4O9LPLiJQSItK+D~7*Q{%_plw)-jFpW$@FgkLFrOsb zh^k>YipG*997lU4$}A5%kG_0TbdWB8j7$~ja;slp3*C-c5uc$h@37qXsEI1eK-a&> z=bdF#td&fwGlUte?f9-W&Y9ke=yBYqw`5zgq}Q4fITr8Ei5z{)T}$Dxl~cS+qqNGgz;sg>uxOI)g0O()P!cx8>1XIDcEYt zHatHWo_N#FS$sMpYqBDUO(HaOw%_ZkFz$Sm!`Zlm&;U1wD07xC$j99dgGWInG&sWDhoL5&%cC8sJ2nlHqVy}Pq)74BQpbeDqqniDM=__qD&bn z1-JaLW`w~%BmMHj^a);R2TGxd)mM6#s@c{c2^1Bkg z{R32%TLt`Z#m&hs-B`RevKmbrFVseTLqPp;+_O9Jnd*FcY%k)7EPl&jlQo+&rL6+!}Mab zu^GXXWAI_cnn`c^05?S0eM08KsaQ2B2|G!FvKem{i210sf&o7Q2~UIC$>yqEqp!N6 zYd+6#^ldup=d3IfG}t!EJbWP}RKu%JA}x+E8AfQ_JzVmY0?#X{N7em`^>D;kNwrUV-+ELeh~ zd!V7aGvfFos$>N_PReY>qR50=!)fxZ^B;NA2lYZ{G2g|GPhXCYtm9Ma?G`cm{ znTs~TK=%U^oK$4yqJap3nXC+~cs7>}i4rdVrxCUkX2iH{#s4>M8%fcR{jkf#2>K`GjNIl}dooF{-!UquS?-pCvjJtLZmaaO`Tf2!H8P#$PzgfL0R7}Kv?Hn9s$_FUW z&YIB;6c?5ct0^yA5U0}h7nB{kTRR8U@jJpsW&U)EmhqRpMR32bqt7n8znJh9eR?X* zCByZlb0hRLVKTE)hlLDpcEuta)l=77S(hQNWczE7aeQP`*A~mB8rUjEK$W+SQDSe5 zl%L6qyw?ZZDb~=7;Dx@h3NLo{gmBPgTsFyg}u<@3r%{~njWvasPs?aXuKd_nq)Aol#GpxyoV_thY4>JWwnDqV2J>EB3C1le zv4n<}E>*rHNtG(DVvM%=BgI9VB(7TPqnI#t+#kyg*1mqg&^PU6&lVmRHn47qxfP_e zWr54e+n)bdyenEdM1AAwy_gC0(ED7ADQX-6g(expGEVtYt)ByBoG>09tMaOZ-KalD zY`MEjOof)E$Yrdz>}vUQzl1Tyd$W2!TdVoTyQ1#{rj!_L0fQ+4T=PG?SFE=4ZiaXFlP# z7$=*zsyI7=FRavga7^3kY{zH)kx&E%h;UcjJKR3(yg46}CPj7FI&7({~ zBo>3?{R2K`+e5h#@fX8<)O3a5lu}g;YdD+-=ioo3czOu}6dv|>L>=9s3a6`EiQ4N~6SU#Oy==9<8KKGqB^6K=O z_i$cp!Cdy{PT!vO_NwrqHi}b20}h9z`j5aD8+ZVA1yS%6rDO?7$AqdTv);Ah{pIh9Mu8Afuo&3$^ro^0@v znsdvJPR-u8{F8QQ&;bls@u{rL;*a%G?zaXss@tltZt^NIuwRA{VkAog>e?W_RX6~PalJNzq> zpy-z9&i*Pt^H1aLweMU8P%;|6%y)KQFXnHCuS@m(Y>?{nX^{GT-I8xL&@=JQ=a9sp z?pSHe_>yRE>;<2HFX-#KZBS&UhlI;`X@;o&HTRQIUOJRtx`%TuU&Sq|_Hc7saMb!E#i!KdAI%gy?7 zgZ3>uP7*_Qn0eg}sQk(6<+ng)(1nu>!8j|~i9Vble{FsqWhO`7&l z#*FVp_o^T8N9UeGTPg#)TdUQqDY<(0Bpd4du6zty_82%#@6q-+6K`vt6dtUpg=);{ zp9j42LzqUp27h2lTRlIRLjrbvGFl7}6MEuf=9fk7PIyADMqgu%^*;Uic6hmF4zW0K zGw84-Pvd%~uGCi_tfAtoX|C?hO660W8|%Kb>H4%g;#TK-$f8v{0kQ7)F{ry#s!H>z zUTh_G66PAH_u}u*Ge3vQI=u0l*h-x)Uh%9-ZLMBzC#7iSOzM2nT{;pUOXTC<3k=P~ zknYPtgondc8i>WRRuzFE!?tf`Ov~YD(C_0^Escl3xW?I@)Go{Z2Qq^;!)q6lP*`?f zP3lyqvs?LD4%2$M&^qJ9=~4%=vCojtPpjCNegy-rlRD==J{gc5s}JVat!BTSL4eEj$IBhmk2lr5;9 z0jJ4JVu1L%1uQPV&g@~gFEd~+Jrgm3tNfc$Imirk8O!QSfEO((QdTa(6$ylNsAmyB zw!)4sTZ-VvA2QxqY@LOxB*5Eo5p96L(jvsPF0*>p0@M2--53$iJ0Itz_O~4RwcSy= zPIVr$j$Y1*P4^KnsZluFCciL8CFF?RFq!2jFfUe^rP7slUdpO#?Iy3Iv#NvM$+^#W z;*U|9WmY zo0(EH=>^X4Z^|OZdW;nL7eo(;=?fhUm713&9VIKM1;#V<{F+ZhzGax2|MiN~Vud!X zZnn#1xw-u_IQE?x$A|wgl3?1!q%7mFb6#6_z%k=SQZ@amkM+*Gs)@P?+u2l)2)(Lt zr2|ejNQ&vWojm7+Imbhw*?l(Na}2AKKx=QM{P@R4sUp7;KZO}kp`%6lx?zk zA<9J*WXYCo$J75Qo>*67Z8XrZ)siWV+x#ojXu8!!{cc9vr&r@I7SgdT|LP;ir%1u_ z31tgwj}1t}2H$$rO=9N-V{DF1Sz;ap7e~(8-~GolR5iE}*sCZoIt-ZC*4Ccva1y?T zuA)3YUZ-x?*w2(Dw(9dRy#;xnHA~sNs?8S`E152%w@v`SN(=VhPc(R#YYBJzDYo2vTX}_Gi ztxd7xobNjn5NTSvpV=qQy}34m87eG)@{5~{5cK#nMGX~p>B)jYXFqd-B*kO>o4AkW zdYqQMPy1@Xk2Ck^qVu~a(1xg{7#A>GBdGeRNEIM!H4Gt^)9{x{0i-$^Pj! zI4%jQGqv7MUWV#Eg+P_HiP>d-bh&LL#v=?GTUX_-ADyScE91CgB>dpqlU*{(N8)|C6?f%O?R zOYxW3#f04k(oV$d!1Jz55_^Jc{6|F#(+(U1m-lGPAuztVdv@NGUD1=jRs($4oR*a7 zloXt8IuGG5ww#8Yn9*t6y}|uzRWJ33<6FpDSVzEEWWU7=x^eajtVB{_=(>8UAy9lK zRLn&M2c39L zH5MsMVrS?cAWbEfOxFbVFBbPY5SlI1Vfzkxp8zK$Z#SUj+O@#*roUuxcxisZDx>k@ zMb`^l|5?Z>D+H$>jB^td9T--5*6_P0 z`j91{Le-TamfzP^^uqp{p!H6;C3WvXQ?zr$;0D-odKN`=6%tGstXda_oruK&i ziimXYYP}}*Jl`!9ub0_*vo51>-D}a^0))@u5wK=5?$3#+OyCPLmc7 z_s`xkx#WVgS1$w?uxr^9qbAOWR!_jT@}f)S#P{?r0vbO;pXb}4G6P8A!w=bzU_3JN zAB+O5%7@iDV4x9Adj?o1s};`#w|I}Vcl%2>il5bf z*UN3tUF{P##mzsRFBeJ*ae{Qr4mO#*IMP)$7db)=&&1paT=`ef3CpBCS!z;S96Csp zVn(!^`I;+*qJoejMZgc&SYCKa@znjD;KwSv`LqTmP6 z%tE>5*ZudY2-_a1pZHv|Oi@zCPrmks18QOjqE@{~qA(z=bXr=&lB{eKW=tN{86qjV z6*>UyTJN!#o?EyzQ^1=?oZrmAsd?u*k(ejwP1{*leA`Z5yaFi&Ibb2?P%1X{d2>ho>3|}uuf!D zUp&v#^RO)N{9@2OMTmsD(G5=$ca!;{Wll122xp_y@rL2;WIh-p^=jT7}?JRS&W{S;t%- zO=FZq5$Owg#6SY0`x2?81L-UD%h^MBx>)t9ND;-%uNHFQG!Q}8bly)MP!z{SxAdC%yF@vX=-{}7X)oh(n;(~ zL`7Bx@g%@47bm)&@Udm%Ngs-@a!xC!eBw09q>L=9MfHL+OxBqZ`fJ>wm~6Ud^F0Ixu_QrP|5DCMf?TzX7o z`@cJ|6aL`j7054Zm(~UCFPPrA2O^A(TZ>XhL_xv7gn#9}2=1E4oy>SauXd&GiZ`I2f5% zTRn9rUopr``8Qc9O=;Kr0*e_-S)Vyet*L^zTJ5#Z);e@0Ia0X7HxdvX48PuKhFAZc z^kFw72To3^cFo=Q#!GKaPe^GC{dF}f(w5rkq$~SaLmBu0(}%UYbj03VlEIk*o1Wrm zq^UPIH&HRr_3*wOGplbL9+v0$r5U%}M5*f^HkfS-h-l(y627djDo1JJf~;^ioFe@t z;S1X%hc?f%;$gIthkG67p-2$*%LipBfklUJ_2*KJ3g?Uj6|q5;xiYO^jZ`ONLqlKE zv)iJ4)w8Zc=|35TSD%~4(DJ^Pvy=ff9`H&0(C!4SODSN|1O;eOM|QNHrZrpN`|Q$K z<8OR~K>V)u*k2C4#{nQA)oCeL_8S%Z;na^co_nrLeBMSxGBn@Abv0QkrdXj z^S>W4$;1c=Xh4`avD9ITWNB;_IBNO4^aEnx>tU9oCGoS)%B4lU{2GQLb_XnS)?fo3 zHnP=LpTWA#Uf#V;2>a`+-w}8RYegtWO!HxK!&>&V>q}2ze8^Q`CEg<&ig%WSXJvAO zaYy7Q5T$nCSUg5J?-oorG{qRkmaDhPoBy)=b6p2~O5@Q*FQZyYOxH(I62Cu|ACK(d zP(c}n6nVQSoTJ!gy^D_UqU3d>V0beCyx>f_N@HQ z%^=fiE0!$s5i0D4KUJ@-4&EkDp#phxDCKKpOnx2x-0CKK&3`}q=ZGHgJ=wOALDTn- zJD4h0k!^H4d&&)b>R+gmdm*YQq9aaT&@1(UDW=P$Yfi6I0scJ(&sp z*1QZRL2HQURGi!uaA;uhYsGwECC=3!XKR#Eh=~=e@&=^D&Ox1N@L6<&%74-;^98C0 zTO)>+6alo#KTJ6O9Y8ujof6jOn$Dr5q)ZVJa|G&W{rEtZ!l6(7@_6=g3BPPJq9l)% z2yR?S`2IC1UfVH6dV6JwNXp6=&I2t#WrNHX^@&LSq4oA!AP}FZ*k`*LG1qi_-zNxM@Zyt| ztkbp&xplwR;ntT?59uhJ_{aina`Id{;6u;fUTPa;QP=XWA4hzuMGw;dxuF3E_*D^2Bnb|4f}^<(6a zHndTyja^BhE?STXYOvH#m&D6XRabRBT`gV!y}%gPg?>feG^A2Am3G*%>WjklAWCbl z#V^f~e?V7#0|QUTGnO+BXK-_34m9RS+Qm=w*nw6iBs#4Iz$RBV>CFeawA}|$smdWt zl^7Z2kJsdkHIjuIT-g2c@w(T7)mJ0r#g#CCa>TE1al60ZXY9E`LPt1N1 zJ#BS|w2S^hG#i@LZWK9nZP+j)?A`S=5u$x4ViWHaF;gqn=`sEx;e)}&gRxurP+a2i zBD&WN#k=2p&%i6&Xy*cFNCb?0-V<`H#?$4jj}vyo=OsR`(lq|3qj0){V?qxqszUA+ zMJ#$W0S-*SkBqjXF zu4zGWT!hK3`k;wKlppO z($h;bini|C?CmNt{^@Ga8PEblcfT1koT)XZsWxtGG;2wtB?B7nBt0pa6~&z-l9_d} zCBB$2%|X4rj7BqliJGJ|k3d<(5nnO=9W7`8(-b}t!F8P4lDL9-{O`u^k3G#sT-ei> zi=0eLr2e1uMIj;La5_w9=>F;csv40$w~Kz(F{mY8!B|N2Kv8xMwyl9uQ zqyW@7SXCZ8a<-|2K0iJ}uJmHxzFBHHI~R3c;I?9`&9|vKZlPbk$?0zHpucQO9sCB; zA4s?OaDaFSl;-ix?rO4Vlw;Cr%>AUI{>IY*!savsv^h5Fcb~WsTvo{u zvx@UU=us<%|E)K9BKU*nIqi@3^Vd0)qh%m?AY3^jT1i&+b@1yq7waz#$3fRC4HFwf zXI;km_3xo#FM~F_Rb;uYyPu{bm*ooNKw!YG!5X`<_tkx+O(njZXo>OYtXPc)dH)YA zS@byS7r8}aLg3R5%@p=vb!Z~v9D8f+<--{5H>kdH((XN1o5sfLUd^9m`{U+GfdX+1 zYU@S=!(`4RTE*7uhLt8Qwsar9@!C*fcqobWg@qApl@arU^e^^%|f0nI%M5b7ZYo>fRDx@l3zx6i1K`fTI zjZ@=U#l{WL_jP?DYTB7eSVR!dDF`U3%#sf3C$7AuLw9jI7oDEmMMS)Um`?ZM- zr3mjRl#M)4l*Oto@cp5{6h!}q$RgOYPc;E^M>!E^wR7a6Gt2#Q>9m*RVoJ^JyHa}G zg4g+$E@Sz3)G0+eWp)q78!E{+eTx0%@PPZKTZrxUE6<}Dx!4X5o1F9IDxyy&=LeaH z;(lUv4UO1W3Cm>RysE(zs>kuj=fT9;GT@rX4eX}>QV?|h`%RiPV_clg$0}c73b!G? zdBAfey-=DryQ zS;vrm{sVorQnvPY8(Vz;jIXr>~vyNdB>JmkFmSr&{GSv(*cM@l3X`-qGs`y$oxw^B*}`p5OLtx{{D{_Qxa z!1peZI}$>fLhK~Qo5zy@h_-A(pGF+h&FTp3@negsZVdGmYaIH$&CEqk%4bdhK9`4h znLSoyPo7*5Dw|j=pN7rFhTJxAgEUmcAOdku6YGxylbAa5o@?(U|~K9&b41l(Rpc$qIELZQOGgC{PZL6;f%%}^UzZeiUsi^KzF)H;~t z;ie1c_*z9v){PbUP*06O#i?8`xNQFh8kGGeO*=2+sdWqiAs6hh@ac% z*YQ1PVHI&DS|lu>_onEm7Gd+NQQ$%BLitfFJ_a4JB|bY=6TZCeQp+p(Tz+j3rg6BL z{5xXP3Q*!fu(ri%M31jPgrbtr2l???eb8@WQ!V2i91oLBLK$@$%_-Y>NlbGm z;I<&z7n&On>`Ev%^%y(!_2<$;>;Zhy8zQvVkI%!U=8BFTIxUKAHk>N!pFflXZKyOK z<4hET=rCq0=lcvdks4pvw=5(}6At?Nm}!TkQ3u0ZPMVW4@=JNTO~|4_L0x47(`$%R z)sc|V7AgXMxiayac-wo|Zp1ShblD$&etzAJa4P!}V)?U~YeJ9h^A6_UhW&q1NP@4S zF(pT*VKrr6HD`mQGO%?k36ML~fm1Y{^Ce4m05*^Ry()WsI_?ZvelnR_bm6sDy zv!8|#i|d1az?!Wk(2rmgiFC@I*x3T(fS|~ApT0|yz@nlus^#ac8R}F%EbVEC^{zJ% zb;2-5UL2b>cZfq{Yc|d@&*1Fy5$$G8GB{2GY;t2-T@Rv7 zQQ#k+N9{1OXnBK+(eNYHUf{QtWs`w|Y2)UCan}ZxGvD~(eEeCT`de4$6>W8%tGrSm zeJ}+=b+O~a6)q&3-e!i1@irWE(RzF`t2Xoqiq!_)QYCQjP7ilC3!TF4u{I_4t+BS|NE3Fs?lctRMG2rOipew-bq50bM{B`fV8%GRu}tXml90fOt~=rY zi4K67Cx1b(5ko1AtT5Z?%$08M7MuLrKV7s4PDY)a7k~%d5!KiPy%d#4L`5l(DJeC& zEgLFN$k1I_a-6KVO%`}kTwi39a#`h0{w>W1t3TsyW-JV_l7|U396PyzV`gSBQ+_=L zW$^l>lKso$LL+-HA9NI3RG!GX#t;D(&1cNM`5D#invNQPG`uyFM9Zu4CRasl#go4D zk4YT54JF`*4%-SttN-;;EuY^ZD=vc)ryCHn>5U`a3FoEMDDZ*c`I1@PW2UiCb(iD2 z`~`lQ!2p_Ogxm<1zc)3Zsp|S72ja9c0!gFUFHxtsosc5s)978=fscR~3Snw62-a8k zcs2+QK`t~u%e#B3%r6e&t~iYMJGm1^Xj%qKbT^PQ6@Su9!^Qv#N4@GSVeYougVKl0 zL}vV`c1ST=61CbKq`$tsbkt?}Gk%ASMB3eY5THc%ZD@EHM+cRdr#52_lA?l8?Nn)L zkdd<18mZ)a(Ng-N56pPPls^Vo=lgi;n*hqIMB)?1MK(R+`a@!ygpYiL4HTWwNyDEuXln1C71 z^~*}J;Y7)|2xpR1rjX%J|8*h&$O@b{C4J|Py2ou+3um8DIEx{kggkj1)ka`O2PcOx z7zs@12DRwN(NZa#a5^d_YE(aI4MN=lU+dfHrzUJ>lB^-@04UC3xBQ!0%VfK`Ie&vT zp0{+2=W6~!N{f`+Qovj9h;>cW6F7H5rt59TO}{G9fK8Yjd~Z86b+ux7I-daJZ5Cq( zym#=yOg*J%oY_F);A>$f2V4pqHR+qfAZgV#Fv-*uAEASIcOSZ}YzC$^^pwDNZ!vvy z`y}2mwbJsSZZb_dgIU0PU`hioPOiqrX|kRxY8@uMBj6T0(fRO}r{m$(iiruJR8bu> z$X-IoS+WXW=785%P_$JxA;bG=aew`b9K`?X?90N=y}VjrS7*_+MnU+5s{HfOr`Y)vu^M7 z+!kurdiP_32;cpy?IWhs`2Lpiji_%;+}R+~bCv)8i^RCgz1%cGDSv*=Br3rpnet=KD4P>q{vL2dQw`J{hNZ3E5{rHInJV=|1c4qHuPfbI8 z4WT791l@I_^f=*#8J;X9=0Qli-4h=I@)=inixzJf+9$((!w{h2JXv1S@UWCk!|;0aRPA77pP+zg2!t&O{WV zg6i>f42K)PK3TJ94CLph1Rl?(E$l{EPg*D2G<0smN=wwH_>PE3h0GD*S+3ORv18 z{Mn5RheY^S8>lSS_)uwDB>>tnky;ZOFA>>rnKN>uz@mfb*#V9>71?_^PN1?qAY7uO z`|glF`gzmr+_Ie(Nx33Z&7iSq~v{xirWfsZd&bXEaG65cMdbu zPbsB;_=cbcXx$}h>FyU>3JU1s`O>v*<55u^WM*9jE?96^g z4Fz$IZZE&8&hJvp_47uAh6tCIr|-|aT*7aT{(x%H2*L=3g|jeTIZO9YfFqh!$VGNb zt3uu!mCR`09wzYZ-s)?Y7C0YHEr9yASUqxa`BMyqU;;J0e}f9Tw%+BX1??**@J-dv z{a6$I^5^Bz2@JKC|lpn;03i%*6I{1Xx1+O+V=g5R~##g0K_dZ zhSMton%wWF$p%-|m7$C&t^2NrkEZNz??mr^<^vShSYEZrid`Gj$Fa1G1N9O6(uvEi zX<`zQ!xqoM+-Vp_2J^K8e=Frj20Tcv-EVL-m8PjW78E)dRrxEh47%q_y+O#uSdjO} z5cKY|{XafZ|GeA|I<1sO_MjfXj;%c%cFH2%t50Gyv2IKufaQBhDMIl~Hn&-1vRlWo z?EeH6{Sb|MW)*T_XwEvOGZhf*-2TI&{brCR$ROU8YNj$WQLr*T*O!y@z3uAo(}dIl@zFStFoeBJ*fDR@emVs)<>y@=Z zp(JMhB--+30fsxNw<+z{M~`V%EdwB)_UpKZ-9Ua%%tK!f)pTOmygyK$OyxTjOj~Of z;kl$ylE6~QUp@-34~e2S98UB;@H5c?zDLDRra556X8?DAya&b4z`>?d<^w`@p(<)- z;-^!IMcWlz!miRa56|A)3o3NV%VEy^iJ`cB`0-zFu@P`_5V`9 z4rPdV(v#TCA9ljCU(n$e3;&5zJSM-YD3{t%!vxi``X`GRluE}HopZ!b+$+lB z1uv~cJ3ZV6U!BT*);Js|K)6y#fU1+ra{Llu%W;uc;76(l@wZAPr&%j?rVIKMCF(*a zgj+++LJ^MAOvjq)F|5Rv@`Ir5IIFwuo|6}jnZ+v--7Y8kQU(=2t6^_S!@(qKO=0o0 zjHMi}Uyhs?hRgf+RjwEz2T;zUQFF30z2SL{ADcp*gM6;BVolZAy4f^MOKDxP%~pBf z#`~2@s7XJywUvzk8o7Ei~BS2)V9Az@YQ%^;O0{HJ)7;>gY7{z&D1BEG(5i zj-^jK!^!8jw}U^|11s|^M4ykVqvm?WxD4w4nXS|xOk_}+0eS6M|NSmQD&$P6S7lHz zQf=74T#MzJPL&c9gBfr=sU+fcG(ya<4!&I_va}{jv!OV@^*{Rw8$C`fa9(c4DpHCc z*ys+Kg?!_!Kxo(&JzZ(E4wRyBlsT7@D`#MZN*ZUJ5Y_t=R3pX-G&{1BP;(`N0s4o` zfIPtjda)~LGj;N9&PT?YvhALJwJno;9qU9FD>_M`6FWkO-u8&Zp>HnE6GaQ)@1Jgy zTRkHmadP!EI#oI8EXkzxw(8U(g6Rk7j|>Kq$&Izec!f$adp7GO6skm#9f`Ca~j00-nyhLIh?D zIL%?Yb>1_N=k4yeVRYVYMOO|bCS~{KUyQE#L%CLb*1-$)Hqm0j42sO?{H}10yKsv~ zytMxizsE|htcW$mWa zrj8oCmhs1Z9{2HjSV7P~0Y8sELk+fCst-T|7eG*-Mq9)}T)zZl$znorU21Sq^FZm2b{~aUyY0Vc{?q`9{s4v$)kYV1G^nQ_m{iAh=!m8Yg48NQB$9! ziqiZ*a>NAkul+pG<)jpvF(e9p{vkK;*sW!24{7U~MFw_F{~Gq6{@z@_4BUBUju zNcnU@ql#z!kDXE+Wx4XCuH~Dg&dc3V1~D(daxA#i-$*=3eFDA3mv9^u;cfa z#ePGKgDbA)2V6!*9XC17s^$_rKrt4-Z_ObNhQ|8ep2p?}KB(jpFsggj z{Xh2J`mM^f>l)rl3rM&0qNN+8q?Hgs0qO4UmXL0wJETLpL2^lVF1lf{=+5`T``&v$ z@B2M}!p9GI93G2nU1!a6%rVED6UD$y-cR^y1x_;B{cI;&W_UZ(Cvrsi77h4Fkw88R ztw5ntZeWUe!OZoCpt{Y@Z>asN+bZnTGIE5Z`u6Z|Aw`uwkKWuu%xr8Q zueIAUu_zT_1A~JqF(570#g|PlftsTqEu#5aN3UL%i|ND5(kZgd%N+?9)SY4xyW(=}T&q%QYE@ZT*{d69#p!(NIbi2y zIGoap#8Ep6NnpI?r&QS>v-KvnvT6#+OT1;U&IL{ZNtKReHdOQ|(aY3h=t7k|wc!*9 zt3%}e*%Lsv`}cM#Nd`ZOpbvt}0b^ntxLgWg4uNAwKQ~y6G?|#WIirB{elVEKLk=aE z-m#OrP!$LD-sAE9GS~HZ&AgbPAk@wZ6=ekIt^l+SCN5&IPLs+Hd8ucSo59HIc4BCR zWVAn9$rwgjP#PnFC1sM7#W_@~2r|=ZcK-D8F^Jr|aC**mPp9llEp7~jQWer3mD%a( zsdAlS8lMshl#HCbf=V=nV%G(F8J89Fp~~BmTDZ&QG#Tg(R=C|r8|;iF)$9bpy1zMB zw(uqVmKzBW5V*j$P|e$6tbDet+-Ps~>5@`Buuy;l+X$Ly*OYB7l8X*sy&03mZa{tu zZQRaKw(8jR)r^zKsj^+|d>#*6z6N(!$L2!>xpttvSK^>VO}JhVzSfg?FdXYWgu%Z_ zp-J8f930|u@qS4_2;)0PN%u}K8l zu3}~J+3SNfQ+GeAN6d5`rB3~)yDm+GGz5QuBT1Eqg_J)Rzz6ul=mi4&NOk@QSVOchIY-pN)%wPaq_sMv#YFITPRy&$UGwKkAuaB- z5a$x#2=vI%A}>t<z#Ws^3& zJ}fb~Q9&Ftif{)+6}ls=6Gk;Jg-vRt$#KG6m6F)}Lj;XSGPJTfH}J#pW79aRm;2+H zKIO&5h_^m4iP)MOsHr7|y2k84-Djb!I4;6}uiAN#D-%63hw`60<9Gy!Hs;^qF_>e4 z6jDP&L*M!%qN_M|^z=ynNH=y2nt4*}88_C{aM8#G4Vh^V<{1Y#XGFYg3>2Qev?M)m zf8pV7U0+?YoZUy*VR1e6X}Ma`d&W&3I(}KJ-MPd$^Hn%r$r{_Im$kZfJ%683mknq6 za@nV%ih%Jxk0Gmx?+Vq@DI0lZ2SS! zFrUH^=tHoU=_?y8cg^$>7ddte%W#@U;Jf<`){Kp<7DmB1)*WiI^XzpAsau(UdoNUq zDqAnDDSy-X7a;?sb)q(Pp)z#lkn>^B0Nu;F6q;H2zCKsDjp08Wmh-KV4_*08-Kzo3 z#P0B5&64g~z1}Kd2cb1azBiHMIzH?m>4Y3p;=}*H<`%)v5Ps$_yPL7=)9opK z&fj*FEwnQ5q)r;xoetDQE0trU-#rS z2p{@zLc;=Mp>jP|R5HG%iS>l@2iHL-4$X-?*wp1&V{23On{Stn2|{Ef6Xx5fe_V@& zVx3-Rws&IG?U%M`bJz}EgLZ?shjL2g1;NA}yE%j11vBlt>=tXoy_w`gkC=ex-F`wj zpF{CmPHYFL4c#pQ2Po4{RPzckLGrYOVr#|~?lx3X(Mb}kzkK2L-iYMrLBq!@Yn-%q zqwOC_tz(~qhndybo0Wu|p}%Tp1T<#W2_+)D}K zhp9(|~J!AM(jB7q!YUXw7B>E>} z0f8mnlj{1+UX)moWA$?EbJBL`hFEVBzWu*LI|k_h9UYbg4!>&(kWCw)xb2z==d z*q!)l1*Ev5pUG<;OD%52EkdKmd2szZ(tvxZa=o!(cn8oz;)_jAQ`a!e@|ZQQqUM99 z_eO#1H}tV=3duR>^UsD^8GlJW0%$=x44+x0HNt7F`dSFgpb3%*7ubQvPs^7{CG1=C zdck>N*NQr08*|52`B#A_d+IA*ZKF`T4CMxXmWi*N?h^LW>61NP+1ALw;`Sjm2^Bs9 zP)(&RNvK_JMzHdre2da|PQNA3whypjX{X8$DkW(lSvfS<5e_q@-j#>GJYy;KhXYY&-3l!w4arGSQBZ zJK#!Z>_edb;)zjU1+ZVM#X{+TfgB<1F!Ku!*xev_4L0)x{F;y3GYDRcxf}k=K98hv zwDNDiy}+By_yAb+f`Wp68I$+$;bRFt*fnC1Y^$2uu`|?xxb=S?DpG4qg zd69qG=}qN!iU#X!kav3-aEEMVr3)Rnbj#_^t8W_kbs9=qKyfYYS zh9L&ja(mFcml5a;+Kpz>YQilqFE@Wj9DIN`iw zpg&(@W^VK9U{(D2+Z_+jNRp*kdawKQnY|PtLX=qN-bOP9$ZHCUzYY!#Lglbq+AZfe z@Z={BDJ`SgueV6>#PkiNb*MWG&kh2!6pe66c3h50&)OSUG4-H{FeC~pnK7EU zQlr9=N)P7EZly3DGMs(hNRQUG_aa?FReX}linZ%b%(Mru{}=H6i0etFZYp$hdc|bW z{?m&UK{6Vcu8Hp5&LyWk&91tIJ`6;S!;ME4U_;UqUmR!&R0%G70CW1VFC>2vF3}_7 zZaJVO?810B{|z=U$z4~_X8a`4mh(H?{>9+z*k79~;<)o+lb$n0tY8^gATqq%)(fp5 zuBW$`5nE#P8Ml^ZeE05p{k*F6ZY$3b#}b)~7oTi*O> zTdIJjG##xUlVZZ&V=v+~QA&weAA z(FUR&{wijNJwuhqt5DkyCDd)&sGB z0el(&Xoa-nh?I%s^jh_wCb&%!TU?~~Hit2X<)TO#xenob)(y{IPgjc|c`OgilGp2; zW|XR`sz-hOcsWup zhhXjNN0>qFyA;NRF+WT51S1Yg1-*cE)1TpK4 z|CEllKJ!|7Eyf|R%j@U8u#YRKbs(kOkE~JfC`CcUp3qLDcLtTxP2D}=<@`2U zn5hrhs=H*c1e1s*8lCM*vF){G;C}MUE0{$m;*coo;-R@$I5d9Sr6nwiI|3U> z9`I(p;Y9s&7nhf+Aq+`eeiN8Z8d#n{(Yh;PK#`-o&$k$};uTv8Ap+)g`sevTjl2|z zRS&YqB?IxKo+r7U#_&Zlw4<(6*w|PAn_B9?d4D#$+>EVN021HF5pLGj>;%o9&LpCi zmjI0P(NPzM#)#ZPQG-*$F>l8Ob>0Hw&a1ipvYaOzckJRD;J@L&&eP5<82);$S$e$t zH&$kCgzzGA@1bNE7Dx;v+)^%^f_2l{VgfRL!@D=BA5a-?)%x%be)sT?5xCw4_NKVX zym>5j=XA%^&+S5DABIORvGI!?fuqFDGp9~9mUaUTzz)(XhvVAKQ&Qu%fKB1!)NC0^ zvaLqltot+mQQfK;>n4N6gY&0XuW3}9b2XcA7ftrr!`u^Wd(lXDHZ6x&Nexf%=0B!l@=Ue^}68rAc>8)H)#WRU}bn9i^ZXv-+G|( zv*ez``^#ljhMLAL^T8x`LT>Z#*ivNt`3)ktGxvk(f|tc|{=Ju47&nV|Q*U31cx(Rn zu>D;Yn=-%1gwe^`ebCG~?ZkAS$&aD6ar$=yZ8(LPeuB8h&Sgpir!DmLx{V)9TBh;S zEH!6-l71+|mlqy@AKl3y`HjNNB#HJH=E&&af-Ee z{WhP4sY$E{LktD8X2S<8`0_(t?C0fLYh)7jjB=P_UNrB%f7q5&8j?T)$w-aj=MrX* zSRKwKZ~{o-%uxs%bl|eFzMjjGXV;3AE3H`~=_h(J+3MjE4|>~m71?ePN-BAoUZ#_O zsEiB|rk#CUI1QOVBBEKJCoQkke~uA}N^P0z1Yhurod^-K%%rihMwjK>bp$2h;aw=xSV&ZdzK$a%7%;4ln|{@|t%e=pPyjFha0r!bh{)@RGSL5^jD}4@q9P-<^cL3-~o;**M+3gSKo9 z>|^h!7z#Tdn$}f%fM4rQwP|ycKS6rfTW|NLnCr~Y$%pBYp0mr6-bO%OllnCkN!~c^ zeHWnZ(31!xIp;WjCQAvH9?1}zQdIp8t?t3QMDU)Mn*8kzJyi_=_A z^OqBe+&B4x^cAn%Tt0vWIZt$cyF3As6|94=a9Bj5MqeNgj*W}+2WV@izM-M}_c@tA z)`y(v(x#>KJMX>14a>501$!bpLFgc4P5%uTtn9*5UrIEem(DcNn&e@AUY!u|`e@rS zCE}FVWv&R*sR`{?xtf0c5{<`BgAXwXlJLiBby;$gra9Bqd17e+o=$lq#2|123ivix z`Xp>a0wFlnzhjQ}KriH|M?eGuLvIF%!BeoWK$`pFKP&tcT$T_6x>P@T#xLMQB7ZvH zg@cL1(LgjbTD9to13UJb>tY4d$V=5U&+6P!p98RaSv~r&j<+ZBrEvA^F7n3+Vs4e1 z2#aX08u^-uxtfHG*<#Y8h|BRmxpzSs>>j{7Z?regCe%$lZ}YqYHKPs~FwN z`-X=IP%y(5k(mLa=t0+ynf7BXOJ%87A&|KOTCp3K^{sY4A3^}wKVUv_zByUC*m>=W z)=r1noghgXKMAm69Ff7s*R0dj=;*AEo;W~?ipg;ZUB-vVJgl2Gg^R2KbHb5x4;#D` zL(@g6)_N%EMYPV7^>CmqJ2WMEnvyx_y%v@R9sfYhf}mhBuOqEKU>wV2V$A45U_MV)?eL z=>Wub*h|{Q0o*Y zP~dUXjVDlGg$EcK8Wu7*XJ=XlX^eh$qEbJ|LL$&Iy)B6XV z#s6>soztxA-X8|J3JWIKL%Y#zK@4&YKyfwBDWU@7afOGE$X?}95i1Ti8A?bU4hoPK z0E(zoA;rGS;Os!^;Fi~H&Ko#YgNJ`PFVyvCHUf`~VPTYIKqtd?Yv6Ptz%vcwx|)e7tTL7h-bc+qeA z_BT&utBHgdCY1(YaR9~_DAy1oOH8=CLR%UBGkO72&i2w3^D7CyD1-KyF*+A$H;X-$$!= zm{A6}n9^gT+dhF5N($a=v+iJf#V#3;CH33uj*Il0Mv@rn{vph~R7vlVIc-+@e}{GZ zSIjH6@y;T>!RcOjgkEl$fU#^|KMPmDE3HV;2j71yR;?%>uJ{iFGJ9hrS1Kx($|Fys zs9O^jf}3P0eh8JgWoTNG8~-)ve1ChXYLrwNje;)|m=x`=#2rafhXk#&g79?r^b`q& zhGz+v#i<`Bt@z&L%O(2(xyZ$Jx-V>`R{6AIbOld{tR|iqC%`xur~zb@4EvL`&rbpn z#)cxIbnG6Ism{oJcI*!RshY42Vijx^qcVu(|7Eew5zy>hPG=-|v?3TH_^f+uSkinZ#tYld@4V^fW5iSgi;l!5OqY~3!dl5?=+lL{1 zCHmu@N1>JzTRN6W;n;wrO3O_SjgU>0rhRm@JDBI5DAo`=&xiMbFyRT{JQWAYp-_qj z?tdSkEu9Sc;xd||QR7(QUFi%#<#d{}o0W+3&)rCF+o$qy*t|pGwt~V%}pHtab$% z9IbSO+E$gutbAa-+@u=Ys1dN%mh0@@!S0KQ93(1Wm~T6D|Fh|NAMx(GfJ1&BWC{pn za1apwT!`IdVpTn%hfB3&>REj~1i8%0-ydG@$B=l;a1m8Yy91k`ipHr9cmUpxI|)=V zD1)JhVc|5`!a8a2>)i6yz-#9_8Y2DffSg0K)yB5`fn(KWx)58yn*{vJDZxLxz7o!= zxsvSSj-%Ye-pT0`(cbKccp#b*$%FZhNn=9rB@pUGmDFueXPqI&0tws*HNELLTj}fT zV-)D7C(bmgkvHk0cEk+{p(1oMI19z%0lJ-^Eqk&SEW~7CP1@M>uSEcx&xdy(ppY>C zubbv6v^0yIr*0#hLSUtS)raa#EfL;1OHIWacJ~{dTAcWT>XSf<6Cgz0%d)24%SwLa z^NQ#UM)#2oCj7QqjUjT!w&Z;agW!vCTx13cwTB1zj!`^RJ@RuaNJpQgko#GLB#HVe z(b5{|GTO$Hwl=bLRP{PfY!Z4wnq4Zs$V4CT|5?oqV=9?%SW+BLB~L3x2+b#Tm5)wf)hQoFIq;Y8`w8%& zP6{R&Bzv*Co)>c_=3mIN`x2Cpu~GA{AFj7Er}#T|jp{l5@|J)2Slx4^>!&F{mz6MO zLYZ%IJDqeAHnEJ-@xG>s0J_X;elThXKimkz<7bdx}o1mJ_v8@SIf zN0M|K4Zm&=fPmN*mPtG5E%Jho1KG;s&XBV|@10z9*#2_KgafgJ{(^r23Ie?YeF4eK zadhn34Q@zl!6Ciuj-`38;^wEs^A?9xf8%$IISgxgV9-epTdXs`U_Nu&y0JDvoHe%&q{^1RBnID-NNgoMFBP9zi6 zQyf}SH)%JL4V#3FWaL!b+bC%&vX6z2Cd$wP(6RvCMP>xp^}%PmKvcXsq3-L2d1JB* z2@sV0e=MrrpXhCp^8O%$Gq0arXu1ODP^%XZgjwC*E|{h}ULXsPY^jt-g%cZJIpdSE zPI8L8;3y%RuyaU(q;Ol{D(#KsB7H8`bdyi9N|%F-zdrT}si zCHP(7{CwQ5bGTKbc`zgM^tJr2V;%J42xtH-*l3;Xa9GGVv%dK z%cM2HXeX6)II~|=SCU>^l==s@TKqxJk$OY`rS>Q5<^}eDqj{7vQs5{B!Ss(_5x3*E zI%MSxV=F>lnX<@SVjO;#P7=Nf3?nWF3q?7MX-$&Pe+`K=Mh(HDz3*>|WTc-2BpDK# zcZzgr=VNvF@Zs>X^{Cae?0yo0@8TJMa5ToSVYb*nTTWAGRVDP2^$W7CsKuz1^yjT& zN&V&y2+#ElLt;p!{E(MSjN50lJ>+2_-4duEanLJ}vH&+P#J4*bnyw~NuB6|N1yUXS zB7M^R+Pf|*LQ3$wQ3%`cwS{NkpGEs0a1)4;`ClK}kA1WIf~(BMxh58rNRoJxsO0+s zkFl^wp#>ig?*~WnuDqh`OTNu_;(`TILEm5U5KJf1E4`IOXlTfQ|Jp7$Cr5Ylc@xmw zsNNhjL0RGxQj{OxCA=<5+xK&{jDVM&Nmt(od@5lPOK}Ae>IMSrOMZ8Sd1c|Mc4=$u zYp=)NI)i(95F3aC)C_v>j&_`=L`iG-R1WGL>hKLB0zwhDB!JA#`zd8#L&C8rjcW|B z5#>7xwe<4^^O5OR^&gMZug|mVLUf6|QrZ{xc9OM)BvMp_<^qI3J?>G zRT;f+Xl^cPjnMYKHj2+4CgUGlNuibMPeOdd&#x{t(2ZxwbV1hvXwwPw-dl2=B~9{R zy;21YgNiL3%HvY_9rBx`3BiSbASg!)DnH;tt^Wsa&^~x;9xfXRFwejp#$62p3`ROh zCXMB#4|^;V&NtLMCXvg;F^0s(Z8Y9%u2?i!o;hVW7(Oaun0-VxT2oVV^7QudP<0F; zHV}d`uioTncK-53A9jTq#1yB3q{BmMOqV|w$Ew97fLV;H0gN%B5l8WlOLtG#=7eM$l^d*#~cm<%Veod1B?AW+LBs<_65d1R-QDOn*%jPziDT+A3!&4oS|%$HQ+oF78KYRBmHYXVl!RNU)#GxQWIZ5~V%K}-{~kk>f@2TU3e0jYE%)84Mk|9C=yH1uuLZQKs=%f=Gc;x#GPW&SgGqL|lw9q=SbwsGo@ks^F-J!(@2l0IHzrqr zQtw+_T-+CtE(YfSXI%b>aOI;b0_SpZ1IBGY(5JaLF5+d!+q z1eZ5pbCLyS%PA}V6cN60Fjg|i=kb_8F{3*-9b3U|2K0nm@|Dzl=TRu+)&y5Cv8jwR zs}U|~^xwiMe43bB1?rRFWZn8ZlSDn?LNXDyk?CK~j6D70!c*k%jNj4YU0>Hd8# z0GCt*CAaJM2Fcy~CR!Pg@WRITNdA!S+r#z>8RQOnacgUqy~(0n9&u72g40y4=Sa_x zLV+dM1>4&z=4e_}u#Ni|ONCx8MuoyTJ?7j$OQ7SKJ^g|mN_2U#%EhF>YCvp%(9>1) zIly~q#}vmM9UEHU^ax14ipv3@r2?@;spns{`#BqC zOuYZ(U6#cZs}#lViO@2xEJ=VA!;2+>ekbr=MLSd;%Hu=E04tOlMG-jWI2!L z$vTI`TdCuGBLVJcz~%m9>dj0|6zR-#RRVMab{^*hQTdpPStB3Oo0^+{G(Y_a=6(N& zg^PoQA}OIHr=p?)kARQ|{5NoIJl-9oHVX<0o?b9F|Dw9Qy-xGOxyc{2I{Y6k=KWB&t=U9B*M*!vs9!JIe5Ve>+2|;T}3JgQD-8Ed&?@er&E>wa;C*e^! zObsdgz-oiC9;OeSDk+F$|G9qa99$QaIWIO13GhXQ`_&gmSMsZa|Fpa2LQ#tsQ3mZN zpo}iWH(#O4G$;b*!u=>y4Bup}&Sts%!Y!@Z>dkOgcn69|BVA9(7NMGNx9*7c+hUnj+%eKJT(i2%t?v5CuKm~_b51HII4N^j)a4z^_ zGx2P*%ot6(?fyao5582h@#D}(+i!KjFKlAgnj7@HgR_k-2|ewky2;SY&e*LgNLy`0 zY+N$9-zey@^{FEd^RXRyY{sjqWE}&V&f>(VkA#Fu4f3h38PEDOY+8Q^FS~7%)($Cd zt-A@|=A2@X3%`1bp`?_Bq1C|LHGJl8BW7iSWkG?dE@14nbsy!uS3P-Vvy} zhtygWJlCR|{Lyo?qx&56G!jCz)y}pBc9Q^CjYQ#Iqt-@=+O{$U!9Zuam`nxm7xIa< zfB^;vDWk4H^mkWx!%a@m1NEfLm&_v9@=T%5(lOvERzKLo;Ih!Rg z#^P~b}zTHrZ~gI_{&+>V~1z@{*}6wSHtzM%Vo?| zE56A$F%K3lcRFoYEQ)+RHfwcWb*rsQBp^DTIqYt`Y!)U=P-vR&41xL1bxA>FO>2SEa9P%r?++g-vW!m)`c%bhw56XlorkTJC_C`Lo!B2Sh9%qnR~$ z&UKv22YXEd={+wb$+xSe@AA52R~c>G84TA(WT(Yq(|_9+*OC>SlFXSdmWHuRXd_ue zq9B)WKp9+|ct2`%$Xm#74RpZO3o`&m77>AwC^dOS+|W$HHRC@A%R1cmrjv9a*>J6bgjRLZW?f3BW6-TCbKb zYOLMRqj>&#lcJ+W0^!td1pF%<_j3D!Z;@tEWI~gIJ_}j7vXz1b7mvdZcHe+Nb4fBi zOW2U&@Mk>cFStP3LHaxK{f=+bMEC*`8MXFX*~3pN$D!{=zoW&5_)JL}==~rbVKNj( z7W>0>oXcxHVM=YDZnbI%1a2#6qyyV)*q$OddSr{A@A8IjIA8BuZEfs~<(e}%luP}- zsUFt+%a3W-jvXaJ$Vbh{UJs7N;DO@$Y(jC0Q{2<~{rcx^Kyp>=^5u9@qs8bu6aF5> zz|k`J?**sA6G-!HA3a_N#~a84)wb^pF^_u)bP7%0xC-JB;AB+`Sj}_Qp4F1VenP)~ zWBsrh>fp3D*#V>zusdwY4Q2>w+`F`k2fdVuXN-UG9UxtJ<1^U!Mz4#a-g7w=Z2@I> zinIKTPK6X&tU_5o(=^G2I%hO`^1xvuB6%h=U5WsDVy6;{%;q)Jk3bqmBoM7GJ{#Od z<8y`L!<9&e;TM@`T)kCdsTr*?Q?A7(CP1JNkQw)VnYh0-zU7JaTBK2bF`S6=yREDf zVz?&;mX5ahh>4Dz{}Dn3fc1Zc;xSFWeTiFVkjSE?;(=MPnC7)=4+D^l%KHdT5$Lca z>g<6fY8yquvx!WfhoTcR%J~F<|LFzOV!-RF!C964KH z)tf^*;cM=5;T!WteE$@N>>x`l-Db{xMg6KmlQ7_?5PcvR35SB{j{yxa*Se~@PhD3mWcPjB?+9PBf5^5zz-eYl zP&7%aW^=xJjY8f~FrlDPt6Y)&0H~RYl2ZU_lNN&e>%@Tw<(K5brG62BKT^B`1(d=+ z?QceT*!T=FO5XfM3d3!6lqag9aZPH(TPv#e~%gguW z59d1AFpYn9D+H~6X&)pW#+1krkYcNg)86?mhyW< z*A^Oq-pRrv>Zl%H4QJj1;`|EZU^Nk5zSHhIOL8H9$u##XDow;UX?Ww?d>Wl6L>rh| ztX>(_S}hS#&thNhpSh(6c3_*-H;npbI00d;RZ9XL?*R(QiQ-QsNZw(jl@RM?+KcsJ z;W`_V2gpAog!@*Xc#JQ&bkei^{Yn$VrhV<5%fkw@6ACuyL;V;#MyA=Cl~x+RzHKa< z-djA^-8pJrK7&qCze96w0>ypdd5vXe<`1NQtbA+ z6a$V(7~0*We5Hv!PzDsJP3arkJc$FU3ud0LhNJq+Aciz8O@c-J>n|%04K^VT4=E~t#XQb+6T(4CI6D86IX z=zTZoWRl96w8p7p>A(UTBH|n_PfjKhSLyoOj*`(|KoZYjCTVV~p{AE4!``Fn^<4-w ze76oqD`L>!_r9DG3?K78aLQh6I}myv5tZDctG?XON4Q94T+#=N{`Q7K?sWk%DdTUT ziM`{8jh2WZ-QXAhW3Ck{@jEr@8ahc-zpbBgwM6Wf)h~VIBm>g5@^3bTN6hqyUyLZ7 zwQ-`K+QsuN_4X3IEWa@h8i+luYgNjXVh~ceU)W;waEExOH8sKp3!;?OcrM*Eh!VGr zMWxQFl|5eu@z{M5DVupHf)<=xjF}at=0sJup4AP5C9xa6!Y|AB%n9CyW2)AypGpD< zN!fYN6L+sbdpiBr6EXD0H4W_8e)LMjsj=zc3&!pD5s^wSeg_G)wz`i0xn&H3l4}7& zp#Ar_{=l-=a$gOftiyjW8vft6?H`MQ`nMVV^MP-FgVH~r?)-c1|NN=m-yrYlIY0l# zQ-2<+_Wys~|1z19-_fJ37n{DFZV#{T&sDox^_S2q=fKB;WWIJEujR`4zD;7Ye)aMd z-&Y5dk=2`X=x3JytkBb(Hn`*%em(2Tk=$7-6XeL3589ur0*YWu?aXGwA)*roQ~D$3 zI)Ech7aG`sgt%{KMIUpEELrciNC2x09{=+;|9RLdT|a_M8aHE_h{#jv+|nnpV%?SX;RAh-#r5SgXx{Kfrf2Ufy!EMvs_pA_wGUTUtJ15 z3FEp0vIO`xlO*SxU09z`_f*N}^+=TPe?BG-!rFw(Q-DEo)z|Z<$&R3`?G$!75;Ca* z=nt3ekJ&C2+S5e;4mX%kNm%qElkx$$lqr6xk=S@evW`x?$pf z9^Tc813VmXLDz0=+La+Lhf6)miozin+k;BC0nf%AsHMJm{5ulcLy7CZigbPb=sz~F zy(HuN%91Wv@^$Cr$NOn@ov&OTTdyrf{++Ocbb4|M7^In?Ck(%5;?d)|ok348#pnc^^E`@n+UV%`Ww|(CyEE2`q%Rp2d1f||qi{~VGnI=Z6-5}ro-1we;qk$Au9W{| zb13ZUcs*C5X^sg@TPYEz-a-=lw6;vSR%@|!C8XLS3V6Pq?xS~& z1qA;oZ0Y+^O|#LH$fo5&p!joHXzjB+-ha#oMg~0*#bToqDs={Fpi91jMi69YLcB$01M@ zI)>L5#zPNTqY>?FIF6A4=`FYhlMBA&_#q$F+U%myNXCNZez4GH1^X5-5XZ^ZVhv|(^%x1X?nwH{ERCacN2=!O8-tZ z9x&D8xt#!}8*Q@^d_&_q8chi#D3jwezXfW@#V|X3#@n#N{|~Bq`YQ>o9L=weH zGKC!QS+rUVfyV*03qdn%O@O(Om(6YzIc?N1$<|Lor2rZ*hVux&n-e9Wc-f)N4wJ)zkS zw~<%S5s@kWa_q~WyA#y}PpQdHVOgZ*)|cn1I+QocimM(dN&kN5Buzh(3;~b@%k--! z6d(OZXd+PfMQF4|$>7`)JF4D%sq-DtIlsqNX|2)U!zaw40!~eT`Y91^pU$s&)INet zuYA8e?vl^y(qzIWBWWEE_qUZUBV?)jJ>}_w$A`5(Wh(z}WJYXYBf|sde?n2X^1^Sd zeu`bx-Fic&_Wmakha>&TW}p9lay5lTVEFGO9-)u4?*nU!CJKovezY^!ek4W#gYDVUT`fztP!>?o9K<#90&AwmqB-RS3EOaBso~nMp3d!rO57N zLw0|;UWfTstKzd2(~k~aS511V<)>Va`iuWe$(t9z^8l(SBAAGpcDz6?qH-jv1F3o$ zJXyaaH6ayo1k`uW2FlKU?hkrjyEk>*4}^Yi*WFH|DXoB%{tyCImNt#6^jcu6kRiEW z>=y}F8}|8Cn~>je2HzE+_h53ns@$%(3q(GYoV%-x!rEPr^`SBwr#idqkMD%YXvjjQ z+gw-uzNBTF#pM_3v zuWrYsiAY?KQ*L97cU}2%Jd5SU$Q7aTm!3NK>AC=3@9Kq@@x_@tKN{a|p*`6evamwn zbUWGju-j7pW4@MrNLnuEuCOnbk~)^|UARrVdawqs%@^rhvY?k_-5wJK8Xmto;E-Y{ z<%vPTI0Sb3-JL!TTbP!{kD(BjgO$w+_gV8nfK- z4-H-w0lcDnz(M@b_~0$q^{xO`Z&UC-Q9%e}uNO$_o{AEg7-M+=$BEn#XUuF4)oA~v zP^e6f!76|O35MJ$mTJ|L&dWC^MLN4r`CoUvGda}gY^t=J?m-#Z71*=OI$dPCXvB+4#T;}Wm+nn3z!156fp_la$-IU} zrRXdbeeUy}=IjLX$BcIED%#2So1C;41KszRn6&Ho&fR}FTvR6tX1{pZkMfwJ#%wteurj<) zhiwOHEGCUGXL;i`Tqbz^I^xeghfc4S@h*v`PFqE@$bZ3QQTwaavCegU{unCB9#m?Tx}w&~JvA#wOBpw^ipz1q@Pr^hZIf<$8yT zmszB&w^v=e=j&!8IHm$?7u50vU?R1nr1nQgh+V?!);_`ur^eb^X9;d?vB=c*jew?> zG=+*2ZtZjXIl2QIOrM(laBL4;XoN$U5pU@(f9~E?q{I|-DGVmt3!_p zXw=0VtPav|CA3uARdHO51YL0!`ibT73AaR3h)gHRTFYC!wnoXa}OD}jwx4yC>o2lPp%S_CL4wA=YjhR)DY6T{?cF(y4D3Dm? zSbJ9~4093tY;umYZk$THo{SaE+>2$O?oYq8_VTQ_Xaq_fIhm&}beB}ztxiV~?@i9u zr_YYq?eB@oKqU8lamKb6y33e5i&Im{n4P^AT)K1w;r$Y|1+C3mZWfohMepLb-w?<& zYTqo(FEU$6%#V~<`pg6b&J>@1R;lpR-jr}6Ln*OYY6&S(typUY8s?;@aAR?%u(B1a z*AlmBHL$%a)t|}I7BU?9j<7wFUL8q@76>L?5(XbKhC&=QlYc6}!JBiP zlLiY%lV6HXVAYeGZJ`g0Q9E+LC5xeS`yO?cFkk7I-TExFX87v~?LW4n=lQ@~;}z9> zw&hZLb%cH3Q%0C~&h~igFWOaa3z?#cd_ATP5ukX#OAFiW)2kgyQJtz59ZC34gX+oj zw0M2@PTy_Ylp?;R*lhlB+!SaQCgRa@f@Q+*`yI-yy#F~ewJo?NQx&pkv9ewv4_mg1 zdT~&O^X+OQH)^!T4yW6dkvNoqHBtdKU($mK+%Q%@f{9g%G>Imb(Y5oQ;K&u++s2t5 z!sk8EpvZ=Fhg+rdo9sxmPK!(u-+YJL7-OyU$c#kciuEtj5|EIaML+U_B~h3|2`ij7 zYeC=pieA_oxZs~BZXI8t+HlVVJ`HBMRqstdI6t2PUpO=~hh4b;y}7R(w(jS;1RCyfzJb%N zHb0l23YaW6)mCa~*BcCaRKT{U5ld4c4fb99buIJXd8D>#PqS<*oN(8!V}Qov5S#T& zqXApGPy|WmEuTB~j|K0njGrPuKm%vR`Z7y5k>i_Z)V>deC(!jLu zbJDKbf@ALZ;2{(gP&y=v3%XW{l6ODdDE*J$lUfL}^*8+`3Vu1r2)yJm?rUvN6Br{$_3zGw{t+b4aVNn8gDPwzKu zx?mRydo=GgL7f{^_pQ248ey+chrQN#0+Fpy2FRudGBTg#Xta-!d8N6{(pqm;$vcuJ z4VNr0>|u>vRA1tN>kh~TUnk}ateRw5_17JnLkovny>j1(@+sruS!bgLEGOLMBg!wC z*yn1e3y6KJSI|;6Ya2+iyzYA4lo-Rcs}Yyz*W?7RERY;N9`|W08kntX(Ne5WN&Ci zLqWx#OG2&Fo7MjKj#sQ5bGaUkfGM_p;-Fahc=qcbh{;|)eb8K`Byd|Q;xiARAJyuG}uuGXtsN6%~|~mgISb#M4LRX zIfQk7{>9qLg$0y%kbP+3unKRDV39l?rl#yVIfXS&=eQ*##D_ z@$2pgJPlB!<*hbZ^A%X9Z1Ue%VZ^3^%LB5XseRf!Ws)d--Jw8LpY`Ltl8QB;AWv6b zBAp(P-c_iQ{X9oHED$KK_~d3mfVOI}KxLirW$!MV_X)Zo;@&rA?86z{@4u4#jrNt2 z0rzk7cN!i|C|(yJ;kScMmtk^B+$1y$x>&D6Z1C6m=rUEFh5X}Tut|Ie{-P%e2Wh=G zy!PU*OJnAWL;W8|OgETbi9@tlsg{@{Pd=>HV!Buz#0!9?AXQrVkI%+?(YFvv{~gvE z;5Y6L?oOC4l{UWct}-491rSk=TBZKGP<-alH*O~sfLe9$uIk4?spium(K24t-1K@v!(GoCz2mOC+*Tcv_i!a0$PyD=}q zNM#C<3rFh*R0-qE%8C}hF9OQitUo+whvQYRf&M$Sb)G+8q9Ic~_eU;R3O@STOL?2p zkxuY%GYMPhB7?g`^;r&6;un2k<8!Badnl&+-r}OMSNrJT-;UUc^;6OaO2c@K;U~foBCHDX+>RF@k?Cj$XuFeh>Q@SiiEMP1lcqn z8nnqU^#u4J#hg_gkOJ)(BOp%jseybs48!jz^0d(1OXS6yab~bd)O3YbiFPM3o*DpT z2)RA^Qh3b#lEw@Qedh|rsO3CvNlSI=m)<>jfHA0~B&9y z-Xd64LG%ge=GiyHQARv!!&ornFS*Y5PKW0>%LWc)%onXAt6GJdTF=|0E|c3f z!;JU_&@r?l+0O-lc8ah{aiKTTB(QpWw;_o|RBfZ?4xaGfYLeuRHfz)ZR|L5x9|rf= z3rw{ZGj(-$>r>m-J8hA#_t$$$M$X*Op*{D(;jH&wznV@3oNl!z&FCMVYo<%-913J= zc-6pgeV&Oxl9!p~q)F6Otu6NJ`2P=6Zy69(ynTU6O9;}Ul!Qo&C^2+*cS}nR-6bI* z-6{-24$gjDBsaFDX!wRM)TE4tdyJyA@MI^y3s z7Swe}+v*OE9JppIcb3Q_-J-y3qOqjqZoef?*l|)>V@{-V0`aLv&WyaARA(7o2qU`T zec{Nx%}c%L4XSlyX>4!<8NwgMEC_FTR5Tryao_MTNF>+Nw1vKk>%0KU=63u1s_El` z%5M=QV?QM`3L*XC7*B$)+^gP$XN;vo-8p1X>GSIbh zg&*#<`qj1>j28E*?0!SQ_NnE}KEdkZ?$&gA8zE$c2RuWG>uh$VGzw}7gi7lMi|q=J zm;YRt1%^4|jcD1ImYnhaj#Of6#=@Ze;nf>u`CUL~eH=+wE&?0?O=97fI4TcK3u{D$ z6Fg_I47d!v>IW+ld66YYw;z?SI3T9+`4b2WDl!%?|Ji=CQmXZmKHP~Q3Dz4;?N0s+}JlqiQjk?qrc3S@QQ zz6A5IJ7~wNdxFyR3LmsI|AkMcU+hC0DrqLE(~I!O!)ye#x2X>ntapxL4cDq?fzrIt zJ6@_Gx-LyXnP;I{#*uXKkqev3Wa=EHf#QHV(BB*4kP zS>!(G3vqRSg!J37x^{nbCG|X=lz0wPQ;k2fEz5UZ4b~YT3_pDiUbuYk<)7t?6c|2c z<7aS!*X+kvi^0+sl@=C<^*tn))}~04+`i2q$i}fNJMhA*P`{wLU!){KaWZ?;fo4jFonb zW)`m;`k*_@&G@@BB{5@+a%-jJQCGw6or2654kO>+UwPca1~XW=E#wkH91Uu7{nFT? zE_ze+FBUZaF&=Lg>8|oAmLE{ff{#2Z&Xkq(A0%w=qkh{g;)mS&v`!5}NlDUGD?ysj zrRpQMugHt4K%hsM+qSMWy6X3pH~t* zD;_p$Z5Avs-KTqPeohL}Xxxk3Y{3!?S?9>O`|AmDi}*^S>zgzNYol1SXI~*YRd(W%)n4|EcfQ zjcdNUxUIMl?k$gpyY@R_wSlgYk}A@{1lD15Q1Iqw91zXLrvyJpe08R!lwAKX6h-jGWB7+uIrYAkX;WW-yQ(n9>=MCTfu%jO7x%3%pe;U+0;@1AS zz+^V)-Xk0bCQ{a^C*&XZ;2+XbCmMKH<9wS&Jnc!L`$<}#qSAQ@raT%b!iB7&Ln4qH z1B3~PpD`;h`~v)mbsy}%a^+dxcgp?^NRfGaY|$s%2sbGc$x+&df1Ix?si!3I+I44? zGw|2Q$mDlkL(aMXUzwhQU*AQjs?rk@IN_b)pj=tr(sVzdQx8*%MMTCl2hkBJi$%Ut zY>lz!6mao;K{BOh)&Mkl)|OrvB$TX9shnA}wAz zv3iH_Tic;<$8WrhF_^Sj3hVe5!^6j;qIcSb{$GF0+Lh{+f6?VM{Qv1K zYZ^>Lk#Ph;s@Vb|fSJ`|^k7M#>fsSQThI~`2bwH4q~TWmn$wUk`P1hAU~qTBH@z69 zf3OdTpZ?Hg+hM@@e+cnt#~i&tK9swBYM4{>u9GE^4Pf0B)2Uh03dDcIEY@etek)o2 zL-qe8fr#Q*+(d?GRT>b3OpTS#Y5mOca_hwLec2qJFWq6sDOWtTpnW0V|EU=o#H92x zBmija0*LW{4Cw#A2D$)fx%kxhY`6q_KMFUzqcSF-vG7bJe znd#qU*g4ymCC2RWdU&NwoxUDlGddYjdB=|<){0n?|pyA3TSAa4&3jkIVx4N9rs0q!HZ2H02kti z7uHnlp_J40;mY}_Dr;s`2MZy?x}ssgJiHAwj(!oW&%dPdEgljAl}HO zJ`|~Bb5OnNxJs_4d`_4?V+OI<2TVad8)%(3i@k!UISCFp#w)U2-yXAg2uu_z!Qes< zLY2;!V|D_25&{dk36YfL6DnCdbWVW_U$|D{M5iG*sW&{sPv;u@ni1|l=q8%Zjr3<1 zv@gXzR~ETQL1%ok{w4iD^11H(@bLyDrT_T7Hr=UN`fK{fSFq^)g)5?0v>|Ke`x0MV zd;1}Ie4wcr%1bhkQ^@>zk@fQ;Ptz25!^CWY-~i=7uIToAQ}oY`(z`}VtndqbZo`BM z*ge?AfzH1fDaGvp3RKy>m~618@mh=*Jf`%hqMk3fnc06niyJT9=GV|Ivr-+G{w(w?$Qlv#^PNIIk)@(Zk(bj#+jFcdr)J50X*s3vzu^) zO#|jj5uX=JY$0wG-L5{GN0~97$f5$*0q@G!(=O@)m2ZlketF@z#DK0Q%(_6c&ub9R1G~Sumcy1cDy17Mp^4=6V0|e3{}j1pKzT8;3Y!6)T9;`B9m_ za_D z;B&WZccm9eUak&A{DF={Ae6A2xoBlW-Ao2BP3$ubT4YMRcMY?CQ)xmZ#)!U$bf(^^ zX_K~GY1q)!YpgS`SJ2{LcGa|jLX@MM!nC!^K_B>_U_M|tGms6;q7xX zxz-?`&8qOcA-&7x|Md#$w8qq#KE;>OuchS;C|C`DqIV!z}XVsY+ z({IUVj`-t3_Gb|ctoQ>&9Tq` zu8kM=fkQ-M0D(S7yF^nyiKE$1FD2arklX<~mCwdGzc%1{I4o8BcOr6hqq-)W1Z%z8 zfad=}U-tY_H0C@laY%gjOxSXpNgSWgQo~k+Sm1n8^vCwEDOpcO^A z7YyTE;engZ)IM1Bs`_U9BH)W=8vMO!&B~x7(7_Z}NSz*iV{?tkA}S-qi+*NhL%dgZ zD=;*qcO3{BZs0UZbumW%0_S5~FsH@Kne@pu=T{QJI6FTRJuUo#E&K7e>T%fW;x@SR zHa=U@m${1j`;OSPe#^drJAAq82a%fS0l&(BC-|c}Ob;Y<59jUdcxAxlbZSrOFZ7lu zjM~HK(eo_s&GuKb?1zw3yuq{GA4`jT4 zh!b=?dKz%PnK7L$MC73RN@c!o=TA|2{WkQ>Zagmt(()f*3P3bMQu@zvc8p=9ysv1@ zlt<-0A%L~YT-jrc?Q|~7P39Q$b@qkhG(xV6Ap3t1t0$~S!0&zynRH6Q)Uy#c!f}C1DzT{=PS!SnKZU$hTO3ERRv)7Bh;L^Lci_iGruFL2|+FX2buBhyVf462M^= zJ*X%4ucGngCQCF(oeb-G*;8Jv4X*X*;{6Xf0UgB@&;QK!|M^+K9EPB+<|bG(X0kZU z7Ae+iC9JWA$6|Z#S^z@xKNHZ=8v&oIH+)V@UsM(v%xg{l&PI%6x&o_A|I=*#I~gGW zg$NAFUqmy^B%3SjXw4v?(XT5PR_{+$MvLnu4(0j!`o6b() z85OC_7WzUX#0RhtFwtf)-S`&-5jewfnf%q}!xXpeV47+0>?hAmKJ#{|X{W`gDYu}R zY?1%hhLykzFq4Xz4CF(z)7fHP$Y&OPQPFJV?B>9jjU|AMeS*$DS}8-(=HA-YYl`@= z=@dtOt+p`m|GDx*_s55wb3K^8TtIB#GUYobUi|mKZ6kvd-nD~8_?%bb%Z0ox5Qm+X z)5y86Z#Um7``$hI4dEwZpDF925NtFZKM?a6Z2LX;A4ofp1zi0HRE9fo_AZcE1`KMlQ=&X(>H!Cv;Uh zRFnLBS(UV&KBFXjZdYCCI(*1{5#Z&j^g`1^%=c2qN+HoC`+V#DORvG%X7>Q{gJryI zb1%!4uCOcrJ3sQP*k?TGGWg_@8?td@`TpK#h$*>t-1dJtOd92Y9K`yiv8bcmCY5%p ztnR<)JyI=|AW@S^flXD((}Bp|vkAxoHSm9F{^_0hqJYC;*E&I>={I32z#i6kA(_l! z@b+El%+GoEwFAz@IX=op{$qP*?Cw}fBc(X&Y3Zpq{0n4RRV%ltQk%n@ra7(v&@!tW~kfQNuqF7I#S%D?kFMNK$lEMM0Ap(Aj%(VJV7Nj22D z)2B1yP8!pq*pQ7%*h?Hky!aQp^3wFfEC^*XfjY12Y zrazPY9x-ZUx|%D^7MyQ$5^4YvC(9WerYi@WJ0IfBf{nh2-QV(l9E*rEYP87AGGm`% zyQITX%;2Kg#hM~^{fIF(V9*F5QEy4&G66XZADR7U0%y&Yc_`@S?zMzwb+^n@qtJvb zK{tA>B4vq(u`l-??|PFy6&Qc3xw>CCETbmMmLe&3qTF^E@ERgy7P5XgLnNY&&zJ>8 z=SoEy`sX&c-Y6|5t-k))AWtn({L`ASO2z6X@`Q@RdvkWFe0n>bi0O`cF}<$w8j&a@ z%)R|Jz2!hNQVOaDi%N?}=!ov-m_}Z~4Y~ujaEB-ZObfTSZH8`|m{qwTobwGtlN9SifXDzuxID5Ze%C`7b+ zd1s9)fRSDM5un^W|NUSkx*Yrv$N`vE9p~$Cg}jkJ3u7qDQxo1~5JiUxyzuUu%ikFI zMgq;}RL#Z1+lok~p}X##?`(~egw4r#tTNgK057iUSPKM%@n?^-3*qeGDln*6_O8os zzrklg-j$s_b=J{y!aRfCgfCE{!RV$71i7YZFx*~3x=)li5tL-K)M3(j*G}l90>^@? z2_K~4)=LO-!RER{#M$xgfW%30Ybd3ef?MMNH%M>yRFY#~d=iv~sQt1Y% zy`s_mSwOgY0}S{$aK8~Cl`%1-b4G0NVN?Ox6+bLhzsjwk4^nZn7(yo~b|<%y%Gtt# zJ537&&t10)ofeB|F2B^$w$&#!eDwHs;q`}acCS2v7`xVQr6LCNJ3Jb`5ivam1VZgS zo@@{W0{|f5?UoTos7v1ufZr;`X?6bc&m#;XC71xj$fdi*=qVEFkuxm0^)oCSIrqNi ztQezpmzBkH9`M1v^e-pZ^g}kefb4=}!BKD4ZWL8&IEE^_hJ z2mBXsq6Xe#YBK|`7xf<@5?%<3eP9h;LF9#9bv)J_Re{!-f{=alNC%10 z{yxB*H)!o?52S*j5VCn6rTF8C3f^$jOiTpXap8F(5f~#=zr~~DX$!K!@WNgL^=+nR zfJ?alU1Q@_D4oA(>qiU4aD|56^REe|mO6RzVv-5lgp3B(JyttoGhu z*fy|xM!IFvZjwl0{pxtEUP%ww=`jr2vuqTw7JfL_!!Kv-0-n%e4l|ctqnKXew(4t) z-@)Z{EqvvnnpmgwwYRHQs+qLD?p9LgH8Mv5m9J)-TuA8Q`EEIlqxf#xf$>%KoO#r0 zuG7H}KGc5iDkD&7N)|pDD1oDa)~323K2%*v93aKMbSj-JHf?zmodv+tq(;I zX&=d&w5E4_M%%Y%)S9o0B4-pOVV3`5Z;fYpe8Z?+wZlG~0c^i1OgK3#5}fV0dcT-z z$ySb;IotVYcuVbPRK=6A0$GE)QZ3p_0;f2W&W@Lm_hPRrM-LM7M$IF4a=9AFWlpaD zlD6@+iJaJsepwLO6xe&Y>4&IW@blcD{+&5a6ecv?bJa0Yb$;{fXBXBL^8CKotb}QZ zVkENRoNax8swZ&2%oB7r?^$!J16BL^f^pvbBysx6ZrbIR(W#p!7ai0PT{n<-nXThg z84A?4&>NLKJ!|zw5~WBjD-MqD_Z$&k;GCi6;o}dZl`;#gh?!s^T+5qx5^0*B6PW}3 zm{hU|6i8o5VK;XSkq!Om?^ezK;zy>oe{^_y#d9yluz@ zn;0Gll;|aiMrf_`MDzBkHrQuw!&A8J%?_@^Rzx_9xSKy$>;SUMA_svC*RgF3;{ONe zuehHIu3QmChaZy`a~}a{+fa^{qf*URCru2D)IZM}vpp5lK_f{}scy%Qj#2K7r6OGk z?i>VJgf(JEr$joDkU2g)&3MQTX(5kc@T(K>$u)C#brkxb49tyDG19V;v43im^_INB zPJ1e(8xXsl8_#XEU z#*JA?iDTE2h#%++M9R>o8K+{%MsPutA#svC$e2xVH%_Pd&SiZ(v7;9aGF zC2v&ibP2W^Nq^E4neg+^ODP`5**C)M-J`^evJ57rlh63UZH9vqBlIE+G4GnX=5VH`{rIjx(>VPwpR2KrNl{fYK*Kunwo^%}3p$Et!fb!QAc+&t3JtVX1as3_n zHavgYwXg%&v!Vs^#{M+uuzNZ>>!Xe9vWtUIf-Uu>Tw;o2X}rPSjm|df@d7QKK_Il_ z4dyN#T)qS3JsF)U)hCv0ACk_Xqc*amZ*Jm&@EWxpg?8w%-&^S%8#cskQ>P@d*f3Y%q$_D_8V^DF7mXXd@g@woRTOJ`U&FghJ*OZlv^Jsv z`BUsiWu=^H8oHqBql2DlW|M$7y*VcotRaXQP_QO^w9tvO?sc)` z@8+k{esVE_c^~18Bg#6dS1wsWd?jDfJ=t6gi{C$b^l+viEuk&{(?p|y#Bc_mwOo3h zzbsT(u;!)b(BybWR(TDgpnOtBqibg%>ZPTf{AGW~>i6@%0`({(ta+p@?&ED01bc(n zXAGs~r|lL$zRR4@(H}EcVcm53nJ|w{dIn#aY)$A`a&bq0^Z&`p5-ZYAm54 zx{Zk$oKmBm_;O;ot)q-9F#I(6fpt;%bxR4<>)=vwBur>hHWNi2aDH5)74LjCO-a9R z!U-yjcjySl8q4eJ8MD^n954#^OauiUSrA#NW<1Z}Khc$g5<*APKei_a-K@_XD^Hin zr!c&4h=K2EQck6l=&RDrJh8^x9x$2z-C;q+_af}f4wC1*;9be!clJ^Le6u$v=s^cP zA2_JPlpL5o6_uBkZ*L5aHzvK)&_v#Cs!V}jI@ULQ3)=IpTxG?5l|D*$=)l4*2Io$` zcP_DE7UD}jW_J?FkrH`->Y0gFyQG_0Y#G@hUAJ=#$PNs+pK3O~Aq|p*{Q02r;suST zL(K&Wn)FXF+_Cuyh0ggFAZSOVYW@9r-`1lut{~BjC~+_vH_+ z&B7cs7Z*PmRd-6A)Q9)@ylEuom5rvjw*eHF+AmvrMe|}$;_&GEn&RI9IcI{O^&{?6NW&7zYnQN=xmRSv0H<827jKrD6YItG z{rwOgfoM+=T~Q9WFL_sx%~Kgm6>6S|X;qS3__J%JfG{1d&am$$eOsjPIYLJgfWIrkICuyEYulH)wouL?Q*;bid|$>>md2pf6OtqTF6;*p<9e?h}#3#QY+LstAI zwEffg+w`{uss|1UG{#jD^AY%2SGb8+_xZq>J~rpjQGceh#qt21<-oxbo4);I&P&t4 zbDi_G12grgX&e~@_p08t#CmPThcMdUb|2+S6+_q4_fAeQIQ zf9^U-pz>6`#7E+qI64Htob+ZF1cRv&G2*@be{-E&BjeZZN2?98Y(c0M760k&TTqta zN=KByH~!7qJb@fFVR9VY4Hlh;awy7JkNks+kmdKu!SA9^vV9mD410mt7gw$L_QIZn zKbpO3fe(et7Fr(A301jt)i;gxN6(x@uCOYc@71NV41WCxMc*d)Lb%0rCy1+x?O7VR zGq%oXxBi#pF>|V0_Rop2^_So*=_op}Xw0l%$JdiDoBD($yylTwpuh&_t9Z2W6#3*g zRLRT=xhMCB!PQ6bQ5LnCVho8hWGPRmCp)z<%6lBWe( zm#I)MQm`f${k$*KlG>YMkeDc=^vknHFmzPsdbI3pxGDsDjc}YfX}x&xe;a?MLjrWM z&jop5aupm@i8B2*CrrO4f1Aa<{amdU%DkMsV>AY*r0-%DKj9o-^~YvS!Sp0ZY!Z-a zO0Wr5%^8a_~)V(y8rvpj6>1bKLS=J?=QDj zU(IF`lLATEf6{Cg2(C71Rj93RS`+3Q!Et~IxrDin&H#x<^1ukU&gk>q6y_ z?(mbp!+yxGaQ>_{ny;_Q0y)f~!i(Hc$YmToP2QgG7i?mR-=P6bPw$(}^h%f>^^5-w zs-`4-ctu$0wR49h?}lu_d}~|2?UyP*W2KnLrIcU|#Um(NmB)Gv64#W7{JVjSr504A5EHC9YmY;F-*pr%lI-@#JY&kb; zk3Dthn=3kXLQL?n2}$jw-L_=U)7njl#F)tq{Vh?4S+FinO62#*azpqF6Q(%9hLz(g zxpC7S1vl>ZJ}bzi`pWZ&r?e?=N9F1EZ`a;0{;j5mbe-!mgp8Y=vaAxp2kinCjXezg zraIc6q?#&)#v5$61BH5WpkqVD20H+?_ z15CLgFi8BT+Qi?1=nB}OnaE)GRyoj!+UJGdrac!CwwN4-PnsdM z*b5Y17%vM`1_zy!z{}GgalXE)nuB?qJo5zJYr?jjLhuv?L%^2IP;Iealu1gFf-1Ix}v6VCMtvs ziw3Cfe%y4wNSZD=*C-CNgjhaIHi`OJ{A#zf&HNh2~$gZ^$|OoJLWywcvzpn4Dp6Jj(nDgn~`$&zxU7j z-}|?Ih5M({`)IsIkIPK9rOxhnQ*Zr`;A+Obd%moJzd5f;XxaRG2L>6pW&6!mI*@GL z&TH)|`uRqONXAGaBi1|j+Z`V5Qgz~T!@8e!C0ZtC=nl3B=ixtvTDGjPH@cOEPBi4m zn0Gsmq90zuER`ZPgkmUzdw+G>THNOF?fj|2%l?(DFb99A`yoC6m2&X5NyA_Z!3ldZ z<_jKiY!fJejDHhypeQ_TBq~ok)?Qtct0WYC_L@iF!;#m4|E5bPUkfRSzdW9y+5I&{ zY~(pYiThd#=W)6!4ZWSvWemhv5!Fr9#JIgeJMqLMb4L6)pg9#@xE{a`8KTV$RD|`& z7N&S98XZr!xW{M<{r)~{#OZC?@lmwUeSCGAgx!p)Jj6-tEZ0z!rgAWW@=KWeo!w+* zHtQX0m0m;A+X)^Uc<%rUW4+xeGo+>Sj^D=GZ*XpEq=90Kyt&Ojq zBnBKxtjAbfqtAN7IwO-9Wi2KLH2^Mvx<8&O29UX8-1+fc3C^vt7YFzceNDxy5Z)$9>1eJohrlygHnv&rKBJ^ENR#XJ>My_Kn>~q14x@IMo)t zWD6E~c5!YbF2V_<4mMa~3mc;)Q+7MQ71euf4VIrTQEh&qlt$|FNZWd(a(tC*|8zDx zMAc!`rY$Pxk|Tp4%}x2;5<@yl_0_xIL*jGtXJURYjxnky*DVk&Sa-06!+sJn1q+iaF%oNK4 zg31O}yI;hJxcbZqHI?aQYOU9D%0tKPAo;2n#FW|s&FTn8^>&WrSMdof(Abd0xf=6$ z%xJkF=$GNPbIk>XV_1rpn~mChYM1k{Um9Tfv=F}2_9&45PEwhG49Do~h{g}d9w|~& zs!}E1)v{DTWj_!ke!3dHCS`h7!8)UjCw#8`4)GxUY@(IQ>*0zG4qlH5@6$E<^w+pR z0$`&8fzcvPqiUJZ0!|^X;?K`gk@L(oT1##-vK>Ur0ehS)3{MiS{QsBGDE&`>53F8w zC;ylw>Nx~jhsSU$iyt5b%S0YrA|fS*GAla)@Hhg@5dq;(gsH4LLm(0X93tA(M~;ua zP;!OdHlNa)RoJT6eR%l}Jo{Me?r-1?8b(3uEs?-VSe+%;{n9Pk1!vF`vkt+>fVMpV zh`e!tK1=UKL0SBsW0I4%*|%&_rwI- zR|lqeVAq7Bi%b(aG*+(`ujAow>t5Yn`%Cy)*GkcP#$3JzhZ%V6x<3y5Jk@u~Qw{z%Jq9Wz>k z$r&8*u34<5u`C)M$9`ke>9J%o&nwR&GoEF7M>`#KOybv2T!?xt(RMWmWoIdh+y6p| z(;(4h`*xl1+=XH?LA8DK)OH5mz2*GMT>G+U*SgQuazJZ1qEn!_9J7}(@lB9%eKN#e z>zp7N({w>h8!dU^?Mla^XkJO9NhdD?KY^59@#s+oyER^U;{x;Ba9p;JKv=daRHtvB~OOQcg0QrNM245qR8iSf&CGVs=mEqH-wtpH zOou-OPHoqn&eTtzJz;RZbG9gWNyi-7w8?lXMt{k_kd zebIawhn8%UvG<|Cu1Fl!SuGH0kC$HUiO>6?NSwCXi{Wv^F`>!#IRt?C7A)Brh zzEm8t`lZn%j^;3$38j1}qpoMytI(G_;Py_ayb$yWAha75zD0Gt{yW&4QP!^)Z?HLe4Ug*WIQ!I_255n~ij(SACUd zlE691N8_b;KttI#kW7?)%8B`O=$rQ#>o#AI2(HYjNSJ;#$@;f4#GhO{^4q&UrH)&i z4)JA2#H8Dwp|L5i@t4cQhR|`=foqEi24DAUQ_1g~81wH-VyDbHIIjCxDOfs`bF+Lb ztpK(v)T2X6VEF))Q0YTy9rKqIf?H@Zkz=>?_R9L;v}0<$7maSVgV3+O!g@qm-&4=a zZ_>oWbWT9dV@n39A6)=^ulY!_zVNp1;yR~2tg~-b^~sw$cPXrWou zE4IaE&14pR%26B$&3xTWhO68C+^dWq7mzzzQdFaO0>zZ8(H=pmf0b&hI?GMUa05F8 zp_Q+A&7gmD@w6TZ;<^uCF1ODO48!aAq_sdL>wj`Fpc?n%W&D{2N}E-^!%DR6!OiTp zRs#K2No;+}d_Pev5>vjdo=ckU^Yr!v>vqAx9dogADt)wHvl}9BbaiCAb)7+vOt@3N zyn<2;?1-D#R3>oF1Krt1j_Kki@(rK6zXoVK^F6+@g*vLt#zXbSsdP3|;{r^@jGR<$ z%?52d;g>TvJ7c3IkL)1-OH}hgM!TVn&(+!<_mZmRnEc?o8rZ-pQ|*tV`VsnFi>1x^ zms0j?o}qLOyM5nUw?4eWy`7}|>7*Nci~^xd+tLN(0hruYKdWP5LA3Wgj&2o3)srM_ zhgZ!K;fJGqeA|}BS!8(fd;l2|=_Meh={A5miyp1s+_if60yndXBVl=0I8G%Z8}N5H zNu?owEg_*lf}mxGfW18(?j%~hXC*k(7h-nP7c*D^UW%ze{p%Qe$P-2MB*-K$Miy zvgYB_^;pHa9akV$#Spi*=7V@-3klPkof<^l3C>)JM?~G})^xML)!vI;W?0sBGzBM@ zW}$pEx?ruPM`cmRqYzMeODh8KjDf_G=^eOKZ;uI|>u_^|puJjZeG;Kp3hJ-DRS9<0 zx%FW^@TX3@e|(KD5;!1VB6LblaSM4}y9?~mJ|B$yC^mR$_J&jxV*I7UGQTwMG&ql! zkEB;AmIUiG$ETxgcUtz}19|abqJmqW1*68u4LLM#;L~8lsB;NGlh0RqwO-dG^4Ux; zc{fCb*EJGtJpD3l0+uBP3b_%(f(Iv@{(x=d>!EVpN&?1dS&8|< z4B8yobhTzXUs4=wP}Itx%=8UAN?M%H@!XIp3@9tan8APf$DMk)a*&lgM6x}+KD6*O zOQ7Tcw2h6>20$V)yd&#|_Mt48&a9Ic^SqQys;G{YSjZ+I_4N^f>5F9w+h!*3*RV`f zsAoh~%CG?Rj!=)e_yz^(DmE)@niLUS?^pcWDB6>PIX{>BrmZauO&ae?=LTa4a5*VI*KTHS>q-}3~ zq7%)~3yjw4mOk{C*ex5}dHoEL&|6yc%Lq~`ek{u)srciRw0HxqL;n z`-oPBX;qoK%hjSlHJgOyg>LGHpwvmZ6SoWbicFzQn{dKJ@Nx}$fy$NtlAmLuxZTWh z`)r3lf5X8dm891o51bY-k^aZH8b_ioLm~5ptP8O8{b!=~pVtRn14UIpI*_o@Bj|p# zTky*V$n}5YvMPRdxI#B7@*r%QEkImr^E>qeTUDd?`CeU(o8amX|gGITFR#?1O0Sxf)To0so%_mVyV$Be4L38T7lYPc`eNXWcRQ z%8k42PbXE4t$f^ZU}p5hO^LwwbrtNa-pF@K-(Ked-Y0kKs&(N;EPUbg9;|fA0T6<4&Cv0u2;1_wd1SdAb#Wq}aVGYA7 zwu$9z#jdlgEg1oC@SNk2QD7DJmnoQMEoNb!_U(j_A=z>*tI8eW`@-*QsMD0{ub>u2 zRDDTAQ?&(#oS5E&`s(|9^n(1CVTr4c?0ADvn|gI0r>XzN1?2(G&wHr=TEthsS9aUW zB42OD&)6 zI`6w+W9#E#N*+jAsIue{k^0ET&xkUW z=>8!T|6SQqmBue3vAb{}IXC~`a8&j?Dw0=~V0L4UQ3RFeCk`;xZY{8OE4z9A(3P-?wqSxznMC*Uob;ur^j za1~_O-+8$VTxnEqqw@2C9ye7c{<3ZaDkj!F%JS_It3Bz|-c8fFoRtN7!Ou5nnpZqC z)|2bih&UiCr9TG^gU4r;o`C9|{;xk>0E3e|cz}_;_F3<%AXpk+pvedpzl`z_4(IaDUo-=uQ#{ z^*$??OFrIQPK$%fmwD3IiSK;ud=NCZX+6Qsc zyhIX=|5A%oWj5a-7;->Np+e(t#{G7+y;}DsQIZRGSpAb!1v3>X&;!sll{rKa`uOy- z9IQ6sKmk^8K5kdfobY4M;*`VeLtPNt!NEOxlkZ&17fCm{im~^AVb-7%ZI2JEDM9ji zlo`uu*p=(I_!^QJs)ct($FvsGI4ij32pDD$J_9jh_A?db4R?Y*7Yjm7GzJ1rZruyV zCtI7Xqqhrkuo$~5s4mFNFa0$TzoCl<<)WP+p=dFA4P=z)-VigFxf#TBrJQ>%%jS=2 zcr4k#Co3tBq9IuL6qqzXS~*KKIOhUFYf1 zEO*?jnwpI+gmIvEdTy>)rkE~Uv={nfu4(s6!lf!PW5_foRQGt{$UJne!4!IPAX-UK zFkzXQsWwa5w9tPJZ)N(*XmYD*`tvHXsrM7$8}T;pBJ^Iy8;r6`yZsZe3Go^&lIhMO z76(jf$wL17jm5~6XPp48dn#m`V5LX4+M;)~!OA|JV3p=;^QPCg?z4Q+D33cxas`(# z4x%6QU6$LYtPh<>R^8t*=8PEmd|_t=aVL~(XU;U$ea)XxO-=EeLa94bj4Bam15cR3 zw*FD2gItk!5DIilDLl(k;+C=F*f?ut4fJ>V6?)rsb0uHpJ#X;i5GIBPs5{>>(ZUz8 z<)+P)Mo?#xnPF$|QE3e)GMbU6nsHPT3WdF~M!rx>CuxVXFVfiaT=Z4-dR)nbk_V#e zs4P{QbJ(oWVOl2YN&qOi#e5Q`hoD!(?6RX?WwwsDSRW2#3J(=2=Vf6H=lP4ib867OrBrag* zG1TpPink2Z3^}9K|GL^AxFjYF5VKyaN$i3deg{~ig6_?_@`hmgt0|KAk#x5#qO09r z&lX$VXE+;ZvHig{Qq=3>GV@3Hc*(UwAxMJ zXWZV*04KOm_2x23<-`T^Rl@1!*HEZQ|8=^I1sxVEP(!}?LZq-~XzXal`3AwE(c&Q* z^03llN8K9PI5oo8Uh6bTZqsObJ#>84N=zt1hdH;WDhyHXqU~PpEO*#^A%L|>YkkD_ zD|S_o_2h88G@AiIv)LeN(_ltkH&trJcDUHr;y7G; z1OL!J6xb|Px#vcvmnm(Nlk$or9w<=$1-w8CvCrlni>Mj@D^}enVW@*I(fNayfg<<$ zda9Ww^b-TS>W{}`xe5wx5p_x4 z&5PkHf;W4eGSlQJ1Q^uBcV>fQP6pMl<``*C4!g_(eBdhSqX{+QFW@iBnzh4C zTK2v8HSSI=3qWek7BA=cq!}z4^85H6#rb@j|FL}VdY?9m*4hAEJzqwkV&?sUMlBt- zb1K^F6gBU|2lsF~Z*IWtRHU>*|{4PY6wQDzs#JfFQ`5*nAa5Y08?r8@#=r z3KvV;(4(rnI$d?TQPk_f8Qa;gXHm8C z@V$pY7&;q<#ScC=+g<{-+BZ9mse3j-$XCl_o6}*y#SLP%{24%z;CjH^cs6zranNU9 znX6O10<=qM`XtWiPcf_Av!rQbG?EtVHHOfU^?{${wbp;S07;I^;a6xaX0+bnKsf{8#2vVlBuq z^C#+B6mT5%wi3GZk_A-Lrt z9w1YsOS<ZcM_uopqXYo|E*#Rl*eU{RulG$VnBsUgI-`TNmwi@NZUS=94KXPBp)WU@N`V zbX;tSv~|?UD7*}ObtNWkK1an>H)l%H05Ou>LD^*L?*mP|%<{6__M=H_67bwxQyi-- z$F3{i;VS2a?O{PotT8z!EYrv(;DP0#Q#pzUsV*H6f3kgW;dZkHk~jDNe}0K8spw_W3^eU_an z8)N~)_Dn^HZ@pcv+8@L1TE?^WFIucv&vJJ_o=oU&#f{|yr}CTj0QlW9Nv3}|-pnEW z59?+@coeT8i7$h$Tk%V0%8w-9wYes$@2F*}PCMnjx9#EpRcbGcJ9W`YucSz=ur~aj z)K`fY+W9r3a)q8GlWIMaEu`G2R@r(fb6wTRGJT-o^UP?$A<>v3+iwBoREN0UH{ln+O2p7#R!_6HuljVOM zSJo&6*4MOrW7g|~$q4}U4uJd(eNR_D+#HEB5nm|0cy-o2HU@%8+)6y8d=^15keK`S z&#!-Fy_B0%I^Yvm@V)9)X1!zT{zOiaoAYb0d~K^dF=|Zg#F7-e)sCT2+tJ~eXrpcHZAx=!-m4v!%bF@UnKGxHoQ{$Q;lK+iBX7A%hB-frALj zmzTTeox7Ss|0B|e`LO^H7(h+hca*DOz^^|J-h`{@lT3@rP;jiTW*u>NdVd1W_W1iesJZ}6UW5VjZe}Ld#~G?QRhQm z&&GlQJRRIrzb{4*2|ldT2An!!WXOvT;iGPkF&1K(GMCTp>qNORGFV76X$9FFI5YJs z=Z<3?4yQcD8+K+%pUp$>*N2QamCwru#Y>U$jy!FEY|ZjC)wyKC*mAT{^#qu_)&=7H zRI)eD`>y%=1QYfIQcfeKmn>YP4~U7rVEYQR=k01!g`E}~wGkf*YbLC7|G=3g)v8hT zmpoqs?U987b&C{1tDNuSM%4J`!MlfZH1RQMA;+PUG+JLSVdLxe+DlEFe$r%Sj6+6d z|HJl3n92cy2F2_*TVv&E^r*kICJWxr>- zgMd;s19nyTjgdb;?fA2GcK3=^9*Vp}J5a!{U<$OUIU+CxCqfsTMRiSWVi zMcbs8;^4iMtl-$9eC=b$q{E$@bPe>?Q%ujqSRK$5jy(bw$Bi^TYEVUGIc+@2=JN&X;sLd z8BKLZ6^QS`bBCo;)7O8W3Pb2+o36Qu9*Thj4G!s~&i7@9e~MEDRTvi|bY{$wVQxAG z*`8YW(X<~k`@u9Kh*OB&&TcocEggh2NlImB({m1?$Du`hr0Q?WnlkA9_l0DEiKii~ zzUZK$w}cJrFtZf!ugE-U8BUKZM5JE$JSwsN{?Qna5%m90?hxS%+)CS2(VXPLWc^x! z`)5oY>nf=MZU;4n^vhkLDtgMdJuwV)*O$ljr~VFP3K5ngeG6+6#XTHVrb69JE<`Aws9 z@CaE{f4%IFm%>%1@sY`}6^oRQgiZ6{{1-AkLFcB+D^P zm@8g@X}mx+>SKt}(l)3kzKuBmUZ0;qL%FE? z@?H3#w}jV)Al$yujfU#>;(j6ga*5;kI)`cU=I7C7$dT{X+NOD9Llb!SOHOE1ge2Zr zt)Ex^QT{jb1YT>kJmutv2DKkGF`eLPK)IRVt?JepW(kmF^h^G?D~E*w8kVu_Yb5!t zwoDXwYllqe(>sTSsxf7ZY74;EK&^k9Hhu2pgiL8?p>q9;0kee>*PgaqTn-5&ywcv# zz)49|T9KHTwx6jmQ1~Lo>LcbS2a66K-kIAgJ*>4Jh@9p#V)3j=;`$-N(#wk_YdubtE$W8rtN^==4;A?Y1=yk0*b?u)8RB;svC;%pX=je zRxaPUwV$@!T%zr!J5@6&3#_F;Fy)@kywS0|t$^*}r;ab(H_9|(+b9_eubMo#Ym_Au z*%c!Kud%BWc!X6~fW`^j?OSGeEkYT1#sH+A!teSV0_8ZH^Q$O!wdyZ2{2#XZp6Un*(wh;sU#lf2^7;`IZOxE$uOSAo@0>i#)c2NT zghUL}aW?z@7=3YaJ|RmfhFStz8(FfeSx=DFZ9@0bZ z{nsnMQA!bgQKCx_5S5l#zoIcwyyEB;NB|r3zR_Y#26Qxxm?xXHMWVe296!W;Hi(Gn zrJ`%Kq~RG9ygJl?VIUuO$e<@t0X4vV!B zPm(}fg-LTU^J}!rb{?d%{o?5gEH?L(_~|#?VPCg`wez17b}xWWuhQYmU=H9jo)N#j_^u_KM2 zMAWePC$n@Hkph76=;b?kP<)V`=wOR0C8vg?U_qVngh>CM@%dpZhJe7OVx*w&t=MBtjG#*gbG@7Xsl(hp2$y|6I$XQR zazPZiqX^wy9BWje@}MkCj4d?rZUF!_5me$00oLDf4Nq2kR1@7R?|mBO3PPncVu zFXQDWUiZBYk)gH*fxOU>3uHEu9JZoE!fwZ0ubk35ad7eT^#_-a6eh*q-Hl}9j4c)Z z@c0lw;FnfsA>Mz5LR)VTXvJiS#wL#Mm<_`q(kINl-@;{Z?-#%DRYN3L5yc1KXFUt) z5A{M+ol2*hJz-#A8-x2chQ9cQbhJ*1+*1V=%B#=*UWy;{`yX(T z!2hYE&+8pD?c|Z8#dZ7Dw*9MI zkZc>>Y`ZTd%DIv8{~USUs|rbk@fF5x(Yq_}+pnjM?1IL7QpceB&d2CQ7-#GGoDl;W za3WoP3kd>jP|3p200~n*eO_I$R_X2e?a5~5Y@In<+s%r~%OWHFYna&EIvY`j0g_Ka z63!WhHWr(w4ATi8j)}-{*>CjQbx`B~@bGHsV!7!c{5Nb0(LJNtvV00lo1e#h;6GmE zUhaXQi}Z$!tBo0wzN}8e@3&96Ajm+!g@3+EMChLT3N~#i>CQK`rcyOhd>at+x&2g0 zmbIo$rHS_riS23`8S`-ZD-{O!i9+0PbzqYMWKHFQTYRby_u7*!Rj^{bGKD{&KgWLV zj<$vH_?=?+?ysMWUmRRr@LKGZufEJiSr*sT!?zx=$pEJ32VFKKSA%<|#%8o$=TweC7!tS}aONFJM;9Du+bB?yE?3?DlUVejCRaBRXc0W!zZP#;ntKO|Eqx zZdk+TVdNX5zP;*Tvj9vPZ|{CIl^yP$r!Lhi``UOU_3+Xf7dE?dCavLke9{%l10jw- zC&B$cg(83+T))eX&pD9zRDS5wpD8KlMx`{?{Ckgz6V&d~DH{?n|Et&l=W&ry{OQh8 z={SDZTUX!1H6YW!xDf>PNu$Nh1zerxTYp*fO8WD)3)M=>=UQlGa!{%3PuwH=4*CU(W5CmcM;G$9NN$9X#K0_AIN7gZJ zXkV^TLx8j)29TkRs`)&Cq?m#d+W8H>H~>yT_d>Xx@Ebf6{x=HsZ|k>z+@h?dIOnnx zYsnBY1&+Y^P06jD-vvwuq4%mSN;eY#%t>_K;ZF^EcPZX(Jbcr%!(VpylV^I>0@6>Y zU%F)ZhH+@7|K6sQ0-e9$V75V2B{cOakI+7M0ouIoh;k3mu^mL>w&vdMSgyPR5y9t- zl#U``rgw9qTTvFTEw>dJT2l^J3B>-HQP5JzpDECeB94FBc2!e}ETud&A=gIy&C8n* zY6JwE3xq9U_4nRnp%{hzk&|kTrbJ==a%Q|yR00jLS6&ZB&OWo)k#YFN35lO!@nZgI z@|HuwtJKpuHlxS1TyHL-Cqg~}D_Q*g6c!8E6QYP0_i>jNklFiAo{c{A^hgQHAnA-8f--5#lHIikbscLP` z)({#rHG}CoeUzHi#8J#WW&e#Z=;47F%M#BSV23D~+JFDlx&CmI3tjW$)9teC`F5J~ zbEhkBB0AxB9x>gUX8zeuW_8fuU->ojs8KqtP4g3D(oBLCzK`koqcTHDGX-3JG(Vn? z=6CPS6sKC&nIoF_ECy<o}C{OdScnF z<9^pH8j%qlHoW3@FArfWNB&U@@Gm^(wo0vg5)!k>>Px@X@X@DI$$$t>GbuVh&Tm-B zW9CtGz~w`|=6~BA$Mbnvn#Oyc;e?ltPkixM6G+Tt-)+cm7tqF@zCb0BYz!y-wa?&5 ztPKb5kX+JhhFpc-U|$XJxTdhcZH(c=zGv=_!7>N%UIQKXrnaudwjq|lQ zh-jZbE>vH<^-6G&Z+d$|R}}t7tcXPA?*a1zQf33F;uy|ax%77M87|q^h}E|+4e?Bm zZBexB{qI;rC(-g(Ls(LT6e#FY@72;xZ$P;=T2~EKZ8?aVA}$(77ii1Paof^(XgbFS zG&>L%?V#PWkLNri`PZ4X3nwA9T4hYQq}$fa{jWpT$J7{C3sZB;h7M6DlJ;-Je|O-` z2U~3!5!Ek-=ShH0L6sB5B*pIGgDQTrRCS?UccRv-h_+Xbbm}0eR);Cajw=VDMPin_ z?5^j@#7Z#c?>Ik8`Bjo2tcE0LMWeZ}5=nWRLc9B7F!0z&5vnBvB%ir!wA2R!XJJln z3Nu2;ez^X0hLeGS%P-^05vT6Fe`Micw4Gf=g!m&o<+xFx{_S48a^}{9aWtz0>_y)P z1GA9-F8A$sOC2C>^6Y(82co(C#~to%z$okW?(;E{Q~7iWGY>rg9HCjBM=5p}W>T*q zZ0?jTpo=Hz(q3@oC$1?s4fo1_K{cT52PqZ6yS^nteDACM>DDPmocipF`XqV`iuBKo zHEHq2xdvvdz50PPUXi{yhSE=E3sv_OeK~5bSMIb)dh*~O@5ND>`6`L|dwi@vQi8em zngwNRhpU}07iK2q7N*NLciV`?U!DiLKDUPdiUCHN4?90z*wI*e@+OX>CWb7H%Ytk9 zBq)=R@|>aYZ9kz;CAu(C%Qvv^GQo>D`H5mSqs;!dt0aRokFwRjLi23{Bt|}101&tj z`+qyVosMlzo@r^kwia79mJ1&F=$hQ{9G6|CvPR+14rU~F+7M7+Kb^7tZttg_h(=L*0Lvpl;sfN3G&o-j(^VeUGR%stmYPZBF?5G^I2P;^HesQ zLmR*t#Iz>UaPEoN5qgzEJfN)C1b`dS24tL)Izsg?U%O0)#A1OgM_FyB6=Dpw6AP6z zNfUOQ6h_v*rNjIWRTVl-r`I%)$az2CQat0BI!>Yj7EElzIt~XfI80iGIod(T%$Tj5 zrA5Nuqg@7D@!!GGUmbg@yAL6l{ue!~?}lEgVe1$f3%BaZ63MYAdCTixkwYy_5cM3m4sPC4C(@IzcTj;4zr|ZDWODsI|a?M!IoFRC!}O-bIs{>{#uoziZ|ePY96 zKxuO-95r!-t+Co#C{CpPYHSkC+oQVd_aR3C*7VB0d@|S-Xs+dRdY0&LnHE*~R&$#X zAxf-N>c4`^x2H7AwXEcVE^T$5nRO06Av62DX4D%?EXLHLp21b^Ydt13=g!>f`9kf- zbD6ui$P(KmdFh)XhmBgr1$}tVbptQ&ewMppc%{b8m9lz;!(4)x<=gr{A8bz$o-$F= z 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%0D#B$ZNoHLL5d;gFU5W@v0F&bh zOi~~5DfN)qvM~A}IDN>>RTzCpo=8bNCQ4@0A~{Z@lT|ZZeuPt7 z7dzq_u&ARx&sqB~4H6);jN2(#`m@^XW*(v6=v!_7bau2wVrda>)zu=Q*H8=?G7vl7dmA?|pTmit4ij2sQ42@d@!YhxvVoFd z|M6?j;>M*D*!Jp+DC;)@-tnob?}?rhXF|`35GJtfH zj?aM8^b*8xX}xj0)mp99TCLSu?LX1}A(z2qjPVFx zw`KnJ<`&SmcY-1yR0Tw;6p@O!h!lcP3gRd*V<hun7-E2f{`dibeO5L<9}aQ$f-L z6r;w0zR2vIf)V4gQ8qXQcClf2z{-k=?L#sDxEV#5BAJ`q6D zS1l;u=&DdH!5tP9ijw?dloXV*{Ru1t&*Y>mBqpS*W=aHL!`a5+1SFYdi6X=bK*%gp zIAJv`B#!xH#)x1+5Q>RTC3rBe0EPe(_X}J^(N_e)B$9BU0u-iDf|eW`L2wcH5rC4{ z0yvQZQ1mUJ62jx<5TF{KLw`FM1v$bb$O$Ii*68GDg)UBZsu>#-PdD!KgegJE!p93H z1SMlH4?+@wNkB;{kmRDe{7x>l(ZYt%-y^aik_*kD2akWxukhJNUtsU&`?33@ zT{!f~PFy&13f_fjFwG8t)1Y*?4@yHvCmTGZZ-kB(mU!6M7!Mm6ql2|A+L&A8VKeUI z_5ou82ti1d^qC9^Cd~Vgff3qpUt0oFdowc?WSP4Mz{fX?A~uNvJO!yqIjHE`6B$Xx zh>giWd~})$kYpPZolZDPr|?WBAn`T#CB_Im$t7P21fmrBNL2w+L?{J%a4bc4^Xo{0 zmW#U&^sJomh=~>2o0{Q4fi{BD1IA{IRiALjxLL0UjJc1nkl4K(iBpE6jk6`%=;;%P z9HAUs4C}ZEv?1&~Y-NE?F3xbuj)s4)9MuDO+c?a*%vX*P})3mN1$PfynSC%^LxUI%&rhLVwpceE>Ba<8p-8&ajKa^b-r-b zEKV~N$^A>RParppeJKDY<*8tbkRw1P;1fYWQ5{P_lFRr6j)DW}pRg3E@=s8?4P+`P zQ@$JoZJW<4zRVdgOj6+YF|Qp z3fo2MFJ;I~83Bp$2~^2q5l$Qfw$^s&VAO^E!g1tm4n0RRbhI);C-zGhxonO=V&bKM znV&p^%vA+PrtCj69}k!+30PjuGf75XP6Q@bzIIcM$N2JM)YjcXO7Gz)>pK81z4j7* zIe!f+mn?(7(i@f>Gp1dPVQydwg{?I{+WrE5Jn|V{e|8fp2aJSwf-D{a^qDvl2Cf7m z7XlKKIl;_;W7|;S%JN(gR2qwv$rbSLR|Jn9x$x~j|JKOTlm^?)Geocg*rin1r6o=YkO*_B#lHS^&rk(#k-R}1p zK)R0m-&#)n@9e`nwa4F8zdN17y2`xYKD!_Lzq|zcKi&S;Z=$n5ev30d9YAf(bu`J6 zx-D3JQ#~>XNM`+$;oLJBqgKqKs7`=B;YcsV7h@L8#POpC@a>mh;PCFRaOkTqadh98 z_~F0-9N6rKif;WddHf7i zmi0qSWEv7;1%lF%7)Mx&BNS1LClZ{74H|>~J%(UVpJAx#-iPqS{S@zoc@;?JF(U?# zL1lSw3U`Wc3h=73KG^a0I~X`*G@;CoqSG5WJ^N$E6Kn9;>L)St$@Q4AdM#!@xe+r~ zt--wY>#^#US1@wR7WkBOgR!e8EMmh5i6!tV%!X}bC~U(*VHNDJT3jK#S0N&Xl*6Ye z2M&p`@XXAFXId&ev$)MpgLhsgyt6alo{fX}cJ*r&(BJcxNi0^ysNgXl+x zz$z~p?ac{Dp3ZPCOM+7-MJxrid1NB22^cmZ$p|klL~4&Bm@7QdiT!EpHwR zk7dfGYEc9g0S*D0@Nk*si6guSAn`N8RP#&`L5RR2`@#t%5fKCx0VO#`potKqnib@+ z@>(vZjN)g}EHj#~WkyNhEIgF{WELq{mKSd>BbuNim%a&<3CO7KB_db}ILRzi^WqbU zs`{wzwTdLvF|JtdONvcGaY3o-A+|P_Hn6s^hNZbRtO!Ytjtcnsg&~3CHzrcblFRHQ z=H|=tg7}$}oeRtf$8EcGMrSiqbhdSZ0mr_HhZ3fqzOV|2fIZ`OCj7e+M6Dwu2}d3( zV3Mt=54YaTuXKZ{moxXXzdT)Fz;iLaTRs7)2I&LFAv&u7i>o+oRv4*{VzSow zhFVCg%anbZ;zJ&esE$cnlt>)vC)R8KiY)s?l*oR0t!s8fJ*y$HYl?W;CrNGUe0Nhf zbzaS+8TTKxrTQ2#b?lm^e%ibos|g|6c{Tm0P1-~DNsQ8GnxBiPl32v=z5eR1Ey%Rn z=}zq?Wop(#OdHhyF2N_|s>hF%p*aS`)P1Qvwj`hIQ-7}g08iN`z9pZwPq9BbU!;%K zpGz6)JbyH{{>Zf3QM;ejK6Uknx-8k=>-bRn)l8Zu<%v((uj@Q*$^NK4ZLAMeBFy__P_SAx_)T7+lRbLjG8_rKJE5a*GJbwYGuD>(vD62Jt02t^}9!1Um2U4 zZFx82L-MzDuHET-{GVq3y+!_NYih#Jd%nQw1N+fXr=Ce_y1o4`yLjy)Dpt*b&!8Om z^~pr(qx}$ALD8HY1Vv^5#ymO#?>xT&pS}1bcD=YB@4v7G@4d7Y+h2GNTb_IpA=w10 z>`=IOOMzFnWOygXz#}XSzA@48kB@_YTrBcRveBzD9Rn(2Fuq?2o~1ZjHgysf&z_34 z3#MVo%rO|&s|v1up)hl&;8*ydgNYeTTwI~>3&O+^Bao4pOM#k#tkePw>NgTu>BSVP zsfeX$jE~NuIL}gnQA|`C(vos8r2hyCV}2f!*(}BhMcL^ED9rDQ~$xpyL`@dDSQA1-R>gyX+sjj~MzY^Q^=Zn>NYS#%Y zd;1`IE?J2$&ef~fM}n@dqzNH|j3!8I`heTELjoS9QG?Xf9%Zp&uu+qDy0w{FD1!Gkb%>Z&U09~d^H)bT((A7iHacH5D?@NO6f}#ED21>XL6aH02V<-E{zjF zlG!A=w@L1alG(%XQ36;T2lAO*S{Fe`lbI(08M)sm zIx2xb*;pz%AXD3)F++pRZgl%95oI(ls{{9Hh&s8nZ-FM0ybdk&J zT%2I+=F&WKXp1TByz*YNA9a=Al4-Y%c3IN4EzMAA)>yJz`W)ZB~z#yhw7q!W; zntj+(zLu;d@DXs(?gvfC`6Ihid&p;+V4_)nDMLG^`yFS}F4}FWIexUyhr2O}UDtPx zwl7`2TPja`4C{h6IaXIYXttf0_W69L@o}efO~}AB>V5J@E2QSLnEqxJCEwK z=W*fqFx?n>ViD=CyOUdg&C-p7{~q9NUYJ5A48OpKiyyyWYV2AHRrC zKY0~jezq06KYSKPK79_~fBr1K=lk#Y`kRlR#l8<;z*p}x-^XuY=ZCLg=SQ#MgZH=N z{hhDlo%dhG`|rMvo$tMd4|l$a{d-@<@q;hn-1o2GBwvdi+4&B>{P=AgI`9eJ+57^2 z{pt|5u2_R@>z{%zMPqwIQy5y=!pYqW;XxsY4X4Oe2~4@qMFe$n^QCn$=@hFONFXRB z#S0{*6M%BiqoO}Q=V$T!EG}C$i;)zUiEdqcphsnIjK~&;RuVc;2AL01bM$B8Y86SP|1-?CY z5~Js>#MBjAFl+5LjG40vBWJI|pc%{X+NXO}evc50=D)NHJ*O8qi2MT)%c5mM>m}Th*6T zpVeHwh;R3Pgtxc9go3<$B*!<;8p#3~5i(oD*8(tcs@WEK22wL@2mq;4xXi`~xHQ9y zT=EtoV8YL0V-nb>1Sj^bY5@lxCzt05#L7KQF{(@GnlG6QlS}mIKPr*{6-h`UcnGk> z5MpGeNRF5C1*l}kNVTFKW0dDGi7(ZvdUDAg%Z(6l;c?M2E2RQ6nWd6ht>&2}fjxn$ zs8E@?O5}U-EeleJ|K>~Oe3Sw3aCL{1gA43!U0`eF09#8txHu``>l31?uK=KwEi+WX zDiDjpkY3$z^~63^+p2B((xv#|y{$O?!(p7-|0%9sJc&ye&fwh9J$UZDcVW%4&3u)F zA|=da>+4Pca&HDDFNNxIJAF5TOV=V?y)F+oCg?NWYOKSz=da+vuNQDlo^@1PgX?v- zaQ#*-F4ffF?6n*C?IyR?wYXg00J6L4Xl zBHp#zuci7+UhTHjgg#xLi`}U`@7Hv-vD$Q%r`bN*eWBe}+90dhFLyd$w82T2{h7AV zEL%H9wY4)pd|_L)ZCtC({NB zwdsmk7pUqQ+q%Y`u71&VY)gH8r|%xkWB$y!_D{3>A0hW(wbyUp`vc$L@RuLqyFE+? zKF3docH@^LdvWscZk+mVFHRpjfOE(8D#s$x~cxs_NdO#DpxQBxb3ADLpBdu#|~J z0+QSxlbn#Pnk`c0<31G_g^8c$nGP?{K-NDF&U+> za1VyPe*ywBD{$gW^U3(#@n2vOkwHL7hQ3cEOnj4Iq>P23X9POA1)z&ZIKm3c@zZ5s z#`-Pz=KG^~a@))3;ui;>#9}yyWkM01gRtZ>*axR$!1P(Ta0__rhl}Vp`*D~BWk3;` zi8146;L(YXV#vhF$Q?EqtKNJ`Rlccz5IQ4Vfat5MelGzt*Qx$;7eL?Yv zmKi0&g5ZH4)cTFc%*sVU zNj3^f%TU^_HwF!rRp^Fe$iSgUF6ssoAHs>Z+Yi`rYd z)>3=ws;_n%X$ovj;i;=Fwf$-47jbqsVqHv^?>mhp?fPj8a$WWRGs0DuwbaIH)793R zacY0A9iMiaXqI=Uvj1pIi`{8#{gJ85zSFtYlK;D{gDz`nJm~UsFJn*aPVJ%nQ%4TqWS*>N@7I>S>&-jAJ+o%v?2#XE z;plE$JWQWQ_Ta*?y|_Z@(((Pcbm}m!ouG932(F(whFfQj;?}uixO)CL!O}_GzHk;l zUO9_ zeEq`VOMv7n=D$P|97Q2GFiu#Jf@wQCJP84GoZad;z(Y!WIy`+s1woiLPO!8*tvJCB~msY_Sjkz0gmOIG5=*|Xu{M+$cg!Bm=EXV3XB*x6JNcx2B*IH1n#vO7FZ4pMKE0r$ zqXSbTOA(4&1YsaR@Ff7{Ko}zU0)dR57Xgq*Fg=*;-o_RjcD-Y(5nG4|Y}`2fw>KSU zcQ-!*V@U{Yh9hAyA^;NZcx*l7>lwTVY8jFP{lWz32;kwlJ?sugdH66C5!mp(7ZxHq z&LHIPE3q_jumzs$#N~6?cZtg%!xF;}0}@^1XNd+{6mDme%le@jxIQkBUeX{lN9)sC{mftS#(eY+wQn zbqzfK_ZQHoS0D7FvEOH)D*CBvKvBnlz+@=Y?OdQoWg7-WVu*_uR2YnCysBAS5iHSn zcCB;b^UR@cEsbo)^OTI}y9oxGn!>=<5q`xC+7AR0g~H4YD?bij67syd0t7 zX^TOwG-m9Lpy+A{MQ^G{pfd)AdO|J62WrtCP>XfNkQ7g7<#|J=BmnyLK`?3!h4F|; zm`|X7dhxFdNZq~2PqpDt=q$tBYB05uap0kmqCWh zf7A=UE9tIJ9@UpDUG)Wv{IAN~7qY+7%9kmt(94(0=gM9y{|oVx+*1ZT*?P(MySxG< z4@B~1$=_E#{;+$%b^kK}C7-8kzsu(*e^2C(%lEZxf5q&n!c-Z}sFRv?$>ciwo`cw9vccqxiJ|hp4M~!h7{vY!&%gMu}yZ-8`9QihO z2cuo}lYITU``^>m^Cvs5A2mK6_N+bX|M>qkdGh}>e^PE;yN-R|euIPGeT73izQ%rn zrTyQ0i#=a_OZ#`y_73d-ZU+v0w-bkVeUD>%cH`*&Jve%3KTaInk5dN^;4~@zXAd35 z*~65MQaW}B7mgpq)sx2vpibcO>65s2<`iz6zknO(&g1sQbGUu^B0A=^YH}9RQgSJe5K^>*;OI)qo1Gqpc$&c=)D~t*-gx8Neb{^AEYw{{Ay3Fbd|U>c zN%>A7u(IS(&c4wwwDmxIRvs?i{0Uq49>(W8_QEx>1jEPA!onpBv1ZjA%$qp_wT;aP z$j`<5-yg%zzx{zD1V|Q<8OW;}M(|Vs3+Dh>Q~PX4nf8uIhI4cd97&=6^$%d=yaibO z;Wo6dehof_*{JUrj@MT$z^1ix(LB5p)_yT4sjtVu%Rl3*6Bp4ir|S6k#0#gUIA;WakwjCpVuSyc)Dnoy&{! zQBs+U+Nv^KIDHB~-M)h#zWoyOrcXm%StY_kB87!c;_k-45<~z%up&T(po8{_h;uy8 zhk=FqkAa8X&Di22AcU@A_ccjqZFa}w{hS{|hrd|gN~~e^0BAgDTg)Y*YZ-zhE_M$B zG;mpz2M1;lK^_Q57>XF67>a~ti?5;M9A=wg$@_t;AHx=dj|lESFv59qk^mKrHv&Ny z%Ady{pU>7WFE2m%`4X)Au#2Iuuv|GidcmH6#>UD{EKci1ASeP+co7J)WsBEaVlZS2 zlD#ABEp3nz8;6$aGR&v3GPa`=4h~LmaB`%&(YYS(2#bn9UVb)mN($hURSb1UR}8kc zCNQxSE_Uj6^vRH9Zw(E50w-ZrG8R^zLFVRSaapf)g38ux=%@NYFWM6>^(ly{&Vw?I z0R>%c0$~CpZA!XBXj=XIu_YL@GeUn`BdECBK{M1>M6*k2Pe=3IJhUw+MDCMk^ILW`T zIWK;J^0BU7{QM&3W2~^qzObeFNr6hbEfrQexvtV{yQ}k)Dr-{Vx=QnwDi4q9ORj@- zTbkq*1y*u+Kj$kCk1X6S?k{OxvPzNkT5h*2XiDqKiA8!ZrQ44q(mdo9EUrJ-h3mz~ zWfiBc+ADuOi##C63t#sn76+;DHPUjsQuw9gLw?*zuaS;b={Ae}J(iXs--d@hFVg$O z*T^fLEM1MQClP7gWJTIm*(ALe^5a7~Zo9fy-HB{p%l9WAnT`&wVZXzqYGq zQT|@=HebibWS^JE86UEB>*`tS?*I7zMfu-%&5$Vc>v$#f(bK~-PN|$i`(pB8N zdJT83T*KX)^m+RRe!M~HI;C5;@#D=q`03Vl{7m0}zI7Kr-@J)m?*52hf4q<1?op!e zyl>n4Td{t_M|kUl@9^nY2MH*SkWg;V^2KIo|Y@DA8d`Xu(CxzwLutQGz5dpbfNF-g!S9^Vf%rTF!zbT^cf4WVD>Cb zpF9P#XHLiP;Uh48%50=(!`AgxJoI2% zyXW!TBLWuAo54<4hUgeW5$7$+p?Xphu9%`OlDSJ9a-89dtzaCu!N;53^LVZm)m@as zKt_;6K<{MZOaSB#X9suK(fDOZ1a3JrssxV&V1|cCqV`|0(>k{;P_- zlKOvDSRs3uumbw;(v}|SkskT?m!}Fyw=P}8{aZJ1_r^6`IB^0$eEB7|yt5hKez_fo z36##BI)$s}&f)6C3%GsxI&NORMj&*B62Z^)o1~E4!rj|<@Z;^f1VH!jOs%Y7=u++p{1z{ zdpkE$Ha*}*ki?Vjy}iTWPaxzcpeTZ1i6JSB;3!Ijoem0!5DUh#s~uaFf&#2AEY^B^KK^6}HXAMyK-w{Y?J zL0mqu8wY;)3|Eft!QnmMqM?2`-u++)rY+xuMK6B{B_lhG95otKC(Xi`F*DHGIvQ%~ zI?y#AiuXR>i7f{&;Pw5-G3=!oxO4XwuAe)KUoM}-?bFBb%awBklUK2C=Pm>##ACy| z-=U~+6yE;uBeW5a4Ky@I8|61~%yi0oGAhdIpr&bnl$>1bI(-cv9XN}Mk&|IW?eh2X zgSV>}DeEqXi;RPbl>?eO$BD`M3RIWAT0_uRM+<%R^>iQqs{{-H7(eS|rBAA=IDO9&&@Hi!TDHui0Y6Ye_L6d3y)LjlqZE zLhNTN4M7Zjauhf(w&ZXi2Zj;0EHT&+lyKkzZ-Ogd0v-k*5nO@bM1keCf*y`iO zA+sq@j}Wo=Dgz8#gcy7{AI^iVIUG9Ni@{BR5rY!D`Z37xCxaRTmc)fmM8*@>@-cR+ zqvNhV!fM2!;6=OWn9qaqc%BoFJ;@v;*SxaGV>*l`9i7k7mCdZWFf93Q^<77p*)i~Zm2LVj*O%8RqnSX+mVVeJ?_c_fXq zc2t%WBfhX0$^$Z9Bk4u!6b0}Sl#Vd&rp0~co)IXc0R zBi%VTL&x3;>ejXdNY+rcATY8thl-;;OkyIj<&6~lez%mss0R4C9{9Zx_=UdTBlx*p zjz2CIq4R15&``Yad4YUFx4Y}dEs9?yRy*y6@-69?(SFb9_f)D z>5(4kUY;r-vHW!B7IuI61=h`*kKvV#s41wy!UZp3=eBJ)x_2*59z2MPrwC}yoW}Og zw&CEueK>dY7%m<;g=4#p;>5w@IC<<8LBTm(Id=(HFI>irtJiVq%sHIccLe)Mnfq?X z5BTciudsE?r}*T9EqMRk&3NbaH?e8sTUh_fYgoT#J=U*VkCjW-V8OK6cx%-PTsbU> zxW=+$%iEaL(Taq~C^(R^HE@6u1}P7Mo|Pr^9IZ(ywT7>=olrd89N1Ng70UfG9EVBQ-gPU?~bAK~YFa%tdZi2?}#ckVgA`37&X8rHs@Z zg10RQjm<#6AzCnVw#Cx-zrp&?en41CHtzrUAiVay3%GlJA9j8AI!^8W6esuY#EAAu z*sysU#?5&dGhbSV7nD?xK?-h7-3T-^jzvXPD_-c`58Ar=_~4VTaPi)+*mv|eDqA}6 z<2?=v{tN#2`3i2GIfNabQ=aVVxaS~z3Hm#<<{1~iVFf`J4ynVF@?$!|k$ zelucXv!OOb6X`{z*t+X1w(LKHis9qYUqb^%RGzlFE`|)&f{q5y>rzC+@X^A8q+n)_ zKHBQ&qo;*F>}qFfN=mmKl(9#A<=GFvy7U(}j2Ym=q`_Vn=NANnJ-vA7td<^xB zVQFGb_sk6;!7&0(TIHoDVPBD&`?kehg2-;zY2- zp}RSf9oLhgjotEu%in`@7}gk){MnKu#u(L`@^cr~C`qVsKel*rqWzM&O%H-iuoaT_ z^LK_QM>`kT**L9?)=9^vX)CrJ=I1to0 z*+JdL0&2FF&>|30x3{HjYnTOj!?h|E<{1$%OAUc#P6%{ehr-Os75Yw2un+S`aDE*8 z3ZfBIoPdCW1O(A`P(d6*@{eMj$J9licQ7PZODaoRVZ{CBcVSm8ZNVX zEJ!`lBR$e1J<=opiSl#->5o5f?ZgRux9w9*ZEQzeU<`a*12JaA7+gPpk$~qM4(-~F z-QRASZOszx3y#I`j;WY1ek$I0 zc@3@~{Qf~DffIYbz>?`>ke-+XKc7HoY3e|E@E|DZs6$C#1GX0W2=#Up)+1M5*prl5 zF+rXbXi? zi~a0k7aACiH{W~*Ucm`aAZ687w8CXNOt0y8kU z@Vp<7VEFzQ9C1(vwiGeU5V+7j;d;lGB!UWFD~ab72`Hj`7>2~ctqfUojt@Z*TbcN~ zNOY}OkdcSe zMqC_f%PNqYkppu}YuMU5!O_hf*3M4w^b0~{S{5?Os^AcxMqp$I6-!fLMdDx$8Z=(D zoE)I#U=KBdB{dr>0w@lkFcgD1m;!;6Do3?*vxiQwBXs;7=(q_q%uQfQb#RRiL{M!s z9J9SBdBZWw6VB;gaLMw9TORdQ76EWhFzxq+6Mc8fB;d>mKu}d8yfWgU=gjLe*`UAW zP-K=z;MYqSp>A} zLZH_c1-IEHl7A3A(jz_6BR$e1J@OwVPaTl19zBGEdv;=a$7qDQ1;NGE1B++R1AhET zxQu=E!ADrPVg=f(YB9RC70%8suranoQA#?z99`kz;(|a@B3HGQW5cK_ygD%v>qo`n z%hzUM@tj2{%&tIIW-$s1s!?0jf|kY+C@-r+NpUqw3aXHkS&pK@IyBUdM0G_AMiV$~ zShE^ucK`Q$mOWo@!JJ8>kq{dTcT#jUNULvx4*tgXyoZ|@9OQnWcD z887ctl1d zASF3R%wys;kk}o|*47o8x(4W@pactN2h88_F&4kJ6}EN`*tq0Hys~sL-ded7Z>?T} zMYE@3+^`Om6cQwaCt=h3-(bw_6_~a76+GW}0Mbawt*sq{y1H?c#-Mi}MQG~j;kEZZ z$B8RH%U`cFU^L9pTwP3RBNhL+k83|3Mm zKvKhVefy(%)M&9>u!^NEY(l)@TapOh`Ya5eIuWOK{eXLy*){Vz?*DWLzyEX-_kX;D zIa4NM?)0gW8zv)Xjvqw@!CHWC1VK;`0frwWp}HlJ-`H{^EH-RiA+Qnic{uO^!G{Q# zzz{`AScnK%M34nKU(7oqkPvQmG;Y}ik}XBv1SG=sjiH7BOSs!{A|Ubcr2X{CP{#9m z+}*qd^axix%0~)e3}6gmJV!|aNL&ZD7_rNsw)?IQ#=%erq#S9o?WZ)Et9tt)XgX z0}Ur9452Zr?r2AVWCL~DuV%~hk!$`XUk&7fj#3PpV#^wUzq0PP_dprr{lBO}-Z zdcnIi7^a~^p=dY+3OcHETpj&&=sX<_3^dS!s;L1~3^~f3I$bveO8T_V*a*7r*6^u_ zhf8Waw5%PeYBuo4+5m?#}4Dr-XAc#b3DRH$@C?q zZ2kJRq@etYKYsZYH_u$e;hj4%vc3i5M-D@9U=W;L+z{gDkLRC#Rz$l{*VaUGR2XUt zGccwt4NJ#o;K1jv;_{KxXfA9-Vp1kz8NR#)!Ko)m;{9Qc)`t`lr&#IXliIeQDFf34xpr^X!hIj%YhM_1i2T3wVi5HBeZJ#iSn-;H! z%$zh2%NMM`#Ie(%s-Xi-QwzNM z-WND>;V$0az89gnyGbWA1%yA=-86OD)V-sxMz6gtvx9r^&Dm4quB_yazvCEPFt^e_bRoF4`-I>vRQ;~ZMthweRtl$#qb*2?peq_9NLL+5hP2@zqB_KV;P zRE{@2Lkw5m1VbWjn%VK+@BNhAF|9sTl#20S4;pL&?ApgUzgy%4zDO{ARPFXN9>V+f!!2#^YJ;QKrn)h0o+ zJOJ8Fk#L#y*NtM=BR$e1J<=mR(j(o=QwOAL$Btv)w>vPob{GOk8S^0}^2I6BNjdrT z!CAnsw{Bxj(@1Pwu>?7(83+rDLs4!H{{HvB;hDclLlOQB&-UwwfyNq8(jSafa~4n@ zq{KB(M{;r&l2db$no@wQ%t9n3WFsfL1bGBQ$%%Ple_nny!BI6DYnw5W%38i;9VU;P ziR#jNcsjU3M_mI`37oEf@h!6a5}-ve(WjpRL6Rc+5h$svYr=(;T2_!*DGeqd@(&1x zA1UYo{$U6Rpl#o9gwSUoAM=eMAj?B$dOnH?RI*YF>AYw}MI<0SB^Taap@=_-H$qMke;g~tL9jP%9&^0#2mtXEhURga>u33l9iF2T5 z=Z6D(zs0XN597|c(|GTlt#ArSL}g2x0G~T_U+N~$K|pdoURkjaZ?9d0m*-BQI!{Gn zW){ZGq#W82@khmf)c)--PmZGl4Ma>wkk>H4zcT-Sb&!Db*H{{ zXUGu&5O}R4h9C~+;Y-&&aQUMo%H#71Q2eMYcA@j&xkywO1}6!4akM&#m5O1F=OBrC zGpI2P`SLs?iOU>AlCUIkohWZV?=Z@XElU1$oM4VETLgW+bghWCNA>663=B&g(1Bg_ z>}`1bYe7d%4ZZ*V92ENuz<}NZ(2GF*IeG?qDXO5aIzfw(F_dlWpla)Yffg2Yj|>Qq zjG^vi14Cag*hGe6Xk-ZVy;R*HAS5+)qO4;gJfpG^nO%V}N~Q#V*1nPO2ungh zRu0??BcSeUiT+yZ7@(;EMQt4@8`8a{KJbc4griRs+=G+h7m)_9@B~Ts%k*P-3CS})TgB}IJ`Tbz=#0pHl^Qpit+Zp<#+sXZ6p4;lui#xE>7>s zgk@zk)XM{*MS$c!tLnjdJ<=mR(jz_cG~}-uAf-qC{pG0x(w#GBasKRaf{#%MCS{H1 zRVha9$VhpfRdszWF%*xwYCX=d*ONf?fK_~Qp}%9>Vu$R zsf#|UeXw@nLXpR)!ePiOC_`>eF;Wt9keOD5yqt36WtE`3w2o4v_|9&2Ii#E|S-J$v z7Oub>uWiPndCM?j*jTtaxFE#Om&$)v~W_~`Y;Sh-*l7EB+8rSm6X z9s$xs0;Ig04ETpcV#WH8Q9pJjI$vB4%fMiCbavwHcizI>1Ak(AXrncn8AOhm`!_AlTTu zz}MFwv!+kSvKMD#*3`)aw`E91 zfdPZzgvKMgNY>U=prN)NHD%?9iHIYZ2t;aXDyquM5E-2yEJaCY`UQd}y6c&-}3bWwI8l~;+9 zf&v2NL^{q^BtOK*raXwEC$T^!#V4R3I~#FP2?A;urvA%qj=wV~Q5*fJ&i(}60*nIJkf z8|zoD$D$dF&{*Aq)TBIwg~lN`CoWK8(WFFGZ0vskl(k~5$Mu{J^8zbN{?XT}*$3H&(tL0JQ zoc|Hwh;)B86twJGA@cIH!%IKS^+29xfB*lAkk{3MlYdotk~N6_9pyhEbo)PY4VS0Nz(E{2xEs^j zhakq#Mm)oC^a7>7{SD7N z_jf3&4uYzw4qi}x0qY2Ke!hGUW$ER@ZLYAO3R!7|C@HN)MMVQD${J8sR3%*Q%1RrM zo>7L1qB_i*J0Bmu_W?fHycMskSdV#A<{&pB9>dG3@a>k5MZMxrj@w^F`HDe4WkLyHEZZ=#)A~5%rEohiJ2V+R7jB6~x#0iryaokjl z8rg~26UQSny9^GbVD3784mW=SHt*Prl=LL5dubMCPa8#mG#ay}brK+rz~u2ANKTA} zk)+@%*{|((?<7T3(oD^ zjuXfBV%Nc4*uUc&96NOoBZrT~>?sp@P>E|M1rK2W*R$1`2@5z z1Yp4g4OwV!s3X`dL~T`-u*yV)#Gt9R7P*=ERF7m4$~`?H38ndk1UCT)4+=$HMLE)w zQjrpugkg>K0-!R|ve4X6i^802bhI{*@}ELbN1*2)j>fur0_$)AVDXU&7}M5_rkZlp zRaR0xLPgyf_SpKw;3nMi7>KAnKGa^eT5*sDVI|{zJim=y>=+i=t&rNxkSKsjv_A-y zIXT$1^$py)b`ih*`YUeVynzu-O;|mDEZ$x<7prHC#^+mJ#;M&~aq8RmvGldqq3P)> zf-?kFq{4S}A&hf^;8>OnzqWjM79_zWFbuH-G1d9`=&VRVQ(+<+ijpw8p$JQ7zeo_X z4O!JSctLG2o*Sfs=aiN4g33TBXlX*##2lFfqMyG18I~_xjhd1gjIAif+WGUaVf8A! zwQ@O1OPio>YKH+DT6B#r251{VK~En_=7!j~CJwk)4%{uKF|&q7%YToX{}$SJ=Vjnp z4sfdoAAFt$m24kqRQN-?J{(>P8Xuh3BmYc!nlJS~`;z5fu^Fzq5TV~ zDQO7t^hS`Y2ZCKZ>AM$_A_I{U9*D2rdIxLgEk|Zb5i$rsa&pU1lvj?wPVYM)>eCQW zjDCIlp-=CA=-*!viUU=kt78aP7jIH3Nx}3C6;>p6wF@B_;=l`m4;F_F4TvRR;(g%= z35-T`WHKqvq(J&aAiz5u0bacRQJ7fRlwI=tD0ve!`gsQ-Dm0Pu^v6JTf+R&H^cgr9 z?{4`TE4OY%Mn@Umd3h-*i*vAc$s&Tx1$c4BBup7S0U4PYa1IW~n;-pv`LDi-S3mp; z9+}0scIzf4&s>DX^XFsQ_$e6PHVm%Oi8yxt0(dI^=X(wyBR31{7tY4&#dEM~@mwsK zI~8*$jK!oeBalk)WZ~wFm2ZB741$+UA8p0>IZI#{o`6?gdmpbZoQZ|A7Gv6s<%r6t zz=&D1ME|kO-|#Mys)u9#i!WhZOED&m8-vn@R+zYlV)jeR#5ulg+0gQ`fQpd`JW^uO zxnd@M{^h zV^WcwmO&6yMu6dm$jCUlcLAs^Ek#N~Jl(%Q0Z1VP$CX88Xs#{B==LT|7%`m2S^)uY zDoP8BL_Gp%j1=c&VOT>2W{v4UM{^^BsGRcBBH>0F=o^eS0;T9MUg*{r!GRHIs;@^x zaFlQnOpQxJZhAU=ss6Rq#Yl*yG2+3{BZ*qaE`V+XQfv`pP~t!ioY?iwlY=xcAX0nT z%}}`5asLq5i8)UkF^@nhfZ9`>orvvQ*WstTS498czyBjfwl`zN+%b4*)?BQZItd@W zzXD6<&%m1L<1u#OVyL({Lfh2}2?V+(dEroVw1JMh8%(pqVVfHU=dcLzysc=>!j`rW zeBK$0ty7Zl+NdOa{`xCe_wsr~MkK?+zyzj7#;~!rgSmwz^bL$*L1123T#d`;FXQxy zlV~a`!s?blyfe}V?{?7V2w&7?gg{r%04nP07@#%;{WP@Ek3i`K9X(_hx!|V@d6IcZ z_lxMC5r_4cgQVY20GI25>jl7-0_4mHg;KUF)XM{)KRgb_?@FxHe?{RJE2pk30KA`} zfPbZzerJ)cz|NoilH>34FE-vMeUVC6?3W6c#oMy!NfllGC6lj{f5~>0xAa%bM~SqZ zvPo8?b>#E-*G_qtApW&f`YY(4Rovyvl!~-noPSsC;RSA`$E4>;g||6%*ALQF@Huh4 zpHu`3b_ z|HA_B--drA@24&QyeFm$VMXig z-rd-``7KOt>p&1Gq0UZT7~VR9l&$x1eAfY7K6L@d4;{g(m9OB-Pu|Bn>tDvF@4bcN zdv@c>+2go*?F?>TJ%?)-Pt!Jm45d?t58<`7Yf)BMh1|kwlqOG+9Ej6upaqn2VyE3KS5;`9FZDT!Odens$P>TBIaqk-{8Jig*}uGV-x*-3pkR4<$fS7IQy7 z`Dzz-oH&lwS))at{&M#Qe!g}Vcg`Qg<)gcC=@|9h(glbwDZ-w^=dj_EFY(DYdtgK5 z*vBTpF*XhEaanMVO@^hfKcchqaq;Rkk=Ks>M=^QE7~sdVxOaXZZlCxbSC8(*rGww# z{Qhq-c3cOnLVU3A$W@fJk0Aitie<084I^IDCpia}A#reyPKQ%?JdE7}FlYH{kuS^i zrLPc-r6D-25P``V@J~#IeQ*S9{KByKmGwA!_jlN41Yn@0KAe*X6r0nbm*530Z*OP? zhC)*~Z19kG$I=xAv~ zUPdNjBcf?c1QR@!BQZJwA-)7Lbu|bhC=Ct>M{|7zTFNUhx~+*IHwvkV$*3$T6;Q_W zk@9o0k(Zr?ilPFP739+x@>Zr{ehuD!eKv;Z=%bJ75cD0Qjb7S1cwSEn@2;d5*+l}R>-oSv`uur4 z@GI5lw^Q`}LxQ4Os#^|lsQ@cqONK(KGt>&aFr+dN`W>;T|8xZp<-e?Srx5cCURDW^ zeW9^}C;vi|Jud%ix4iNr|FV1%kE=t_D1GyTi?$|{KbUAE1S z8e8)BTvp`!LAH&L>JJufBVW^%0{bxKQNG-+#y%_UUG?EVQ{?Nx+p=wxEngl?xZU!7 z-<@#($p6ohE&E~53k#nsdoN`3;&Wx|CYvvpD}Ntk$H$|_7E4#p=Htr4u9dBa{QZ|7 z!(9Q?qlEiGwlAJUy1Q0>JpLnn^R(s9wfr%K0qN3_gZS>tt(e%<20wRFob25Y9ukl2 ztU_cHJXB>?psJu2xoJh1KYK1d{qQ5~+OZRRzW)I`KL3i~>O*|I=|gOK^$n~iCF-R) zFQKEg6Xhi}C@HQ*T6zI;bE{Cm(dzO_k)2tH#KdfZq+H}=mZ31W0$CYF1WQGzt!YF} zHKodCw6~7K*ilo_*)kTBMo+`Gw@8U2IsDmns;3uvJ@-8N^zDxU1S*OH6rrQ3DOm@} z(Ob+l5sQnu2MB8r&mm&BJAdCuG4Vc-Ab_n$jkRsaAxJCDt3r8UEkc45;OQBHxX5I* zHFTn~xCRlSvGDf}hrd?@Lj9w$WZ`0j$EBc`@?gB6GzcGT-;13Gj-au9xTv3yU+&`0 z)$`c()t3T5Pai&p=24Sz_S$`{dG90q@;h+!+%;Ufc@vj!-omxpw{iK#4V=Dy9hYw3 z6ThSLLajRv9>wB?FVZ*O^Amo)c@C#`eoo5kHrzXN2y0d?hqbQ{&RzcnCBw$zRmz*M zyGD6lxp5PhuHV4*TX*RDEnK~Mn=<`F96x^f4sQPpoV;=a7p~pK$xGL8;pz=sxpEcP zuiwNkbk1!mav&+u1H{%84vN5#C1G2=i9 zY*itsa`8u4U=)($63|p#f%K$waZPzqF-8p|NXpD2KnX!LK~Gvj24cbz&{9{8ApcMS zByIJL1V=3d?AZh)0Z55WL{n`Q0s=$e>f(pgge26Jm!Y+>8Y%HfaB=cNbZ`{fnyP7x zCZn^p4ha!)RG$Du1xBKQ04adRk}H8scu*vQ+0y74fVzqjq{gRG8zl3P81}@vO$>X~ zK1t9Ao|DAm(_dJcIJgA6(=j-Ths82e(53D z|Lw~JBJ@J~eIMQNtCTp*wq*2OKDQ6Kk?AN*Dn?65E842tQIT7T(yUSx(R15S)=1mc zs4HzjV`&rGOKWgx@27Mv0S+!ux=JJ1bMuu?XzmCP_|IV zh8LrO%SFHqUJof-Vo|zNPTzAS=~5wH-IxO16lV-db%92KH#DmQVK6KTN$Vf)#r^Lp z-6_TLFEv@kLtY7Cd6)tupVyyN)*k0Y`)A>ZrK|jYm4-} zuHdjM>FT`4RY)HtUERw^^@nWP@`_PcW2>vaeB8Fn%EQ{+RT;8vlfM`8il*#yB;WqW z86OWDFWnvMPN|e1NB^vQEi1Ct5>E2>O@3S22MiAKRxbJaK1?2V-yik7u*mkAd|e*) zf2*r|AUi%D)yGfLMtOPIweoG2tw&em?jNbgpLyn_BHw?q_u(JO_g^91KbijoVL-Zi z&F>!fFO)f-9eig>FjYDhg2oczz zR9IiC>60KRyF|=0%1A9oJ}FPR*`;)SmI&{iL*LU0MtHrUL;|mrlp>@g7a=>h1bI26 zbQKUR5k%$ZSE8)A4vo!YP}ML3wNy@9+gQ9fb{=s5H~jGKr*O2k!Sl~Pk6r{w{S=j; zqM`~DLo?V8b%EmpNb+#zc^(8qK9UgLfxZzU6;k~J{h~$4?}DrfR9Cd3w6F@rR4!YI zf_ahHjABxJV-XdSOv-aMeB6WJOMv9;;0_y0I~bbVqW3@*yr4V?TL_T8`2GNDE1Mql z>i?8`w{GCww?9VH*qONX>mP{BFNYiTZ(u?eLJ0~ZG7AuqmXGlCJcJP_hNkAihG1aV zp`+My^f>0fNbQ!BJ6HDO;{NTJJZ3a(yn}I#^xA@!G0?Gbf`5D_!k0)+L1Q46Um*!5nEFSkA!sCCnvz8 zDHWQ5cIaoIjnL8xe7$D}PVD^#-|pOoLuZfS$kE;SeETP2ZrY>?!*T!qJ)vX&`s#ZO2Hnie zYym>81U~7hnTQIDM@M5l+Usjjn3FH8F~tQ1G%l;fd6nfQ0#MjG(^OrB76PJRo(JXT zgLnd@&f%>D@0oCN@96FjQuST{yg;9CFbnm0lN_iLO=Zb4%B4cSBgdl^Si}t1} zq^D%S-O~@58JVcBC`V>$3V~QHLW3hDbB(+RcnFLn>orlk2zEGF2)pPBS3&|MhCps7 z0}?|KTb$UvkX=RHD7iTK2n(A(yAM*^zS{B*u3kBVI|S61E?q=bWeH|aYQ~IdBd~h* zIBa-%Ar5~3KF;jkhSsr@plt5~MRNlTv^Ii4h&$}c5@D7Zgn_n3@Cf(BzE4)sXkw6I zC}J#Td}jF-TV7p&y*w=;(QspuH)v7Er^bZMt{{I=%u29-h&6Bm%18W&=^b*u7Sc*4_w_rFm$u* zfy*7GpUQCOcri-a1ECdV3zcXG3{G;vkbDnl*Z4uNBNl#(n<@Xlu5|U{XOUNYWq*n7 z>KfUXocs$<9>TgS^HI{3GA>_MSLZygbfr*8MP4D6RYd*~r9&!RDR*79rMq9{S>%5$ zm&)Tp$Dfg|l=R2x59vAbW23t^$V*pkdYC+_PLCQ}^2g=-Pd0yfW%+UX<6+~ryS6^; z8mT-^*-t7wR^=^X^5a1MK1%D+)%|_gb0;qk8y{WuhwSydONAl~c{}@iW?_@1+{}<(-+lz9-fOO^XQ5@g98#7ynBf^&y zIZ{%?!xE8{kVznugRHDFWTX`#IlYt=qY?oUmBoz&Lgl2W7Spj}QWDFMoyBV#716#T z?cl5XB%>SwRX} zVKegbs!>wdfa0QhOz)gX%F}K9@ZLvou(82&e|r|ad-q14e*Mt5Uw;f4q6J$kCpg%- z!!-NrIFtU9-oc$A!Q`0KeAo5Gj!ZS*$P%t#aAWL&7n^H11hLV9Po*S%&zY}yl z^W1aTv1dOHA3q8E@GOk#oPjN`EXB)9DDPQQFk`|fV;VeN{Sk(HW` z5iPB_bm1ay-Mond-|rOlZK$Y2a6lMBf}@2c$eof{Lx?_k4iZCv00T;%o|1i1YYPWD zaCZq5bBS6To6*)#hmpgY1kj`fGxGE|h5AUZOR@?zlf zCRoo!L0S$xIjp#IAYvopk)NH50D>4-s)v`GFKVl4+?5pxiw_4%@TIyGX6K=!wFd1i z)dc;i2#X+SYHlEqszpm(1>&RQsN6ub)K^oz8jwT(EJZ{*QU4$jRnOaG;pbad@XOCXnl5c z9yPY)k9XBqT&M2#KT5i@ez0_ReOLW2pHElMh^%nma@)G<{|I_vfEva8+mx| zPUP#)eJKyc+}B*5{C+M&_CE0UuFB>5{n>ZHzf%7EoqG&nK)QYY0xq37fw>){kr|gn z%4r}Xqmz*opGi=|b2Cbjol!#IQjYwbQj`&}6y(()lfWn^vw|R}oX)8v_$fk4Dz9l& zgtC$*QW{5~qP&5Q7a=>FASt5&S?NWT55W|D=4KR&b&&FNi|Kd?mGJ2t ztD`3=mk$>9bmjRU!IVPa>O_hv&-ri*l>ibY4!O)qF;9^9a1NkreTDMs!{Fpb*SU~_ zOL@h_r6M6K6a9y%qu(G^^wSuEZQmcj_T2}dVCjLd%o;Sejl-nzv(VTy8aaiv$StaZ zkzW!Dn@5N~kIAisftM$o3gX~YlmN%#1UQ!@z`ZCQra>O)ucd=$UU&g}4j&ePq~n(i zhlDCjn=%JWR<1!Ifo#*Tk?;(Q!r-AkunCS6`Q{Cq0&P;Nhfj{f+wTP7i_b!^Vr>|T zT0;<19S6;{Q1th(#WUKv_`9wN?4o@zc3K49+7yisKM2FZRpH2L2*6-hSC}P5!kUy} zwLk~-CSdBLIRt&FUP>lrh$$;YYD*hj2^dUWyKfg5u`PpulSg@%;!Eu4HUg;<;lC4cz|>37!lb1i1kO zu0g&8tOO(;u08^w{C$HE=ogG2x`(_Lk(-OBfD4}E!}+_>eRp;9CNPmi#&f6ZJX|HA z#d+?L7r~di3%mMJ9lZSsju~Xw-HpM8A;nLW$AKEeT1-^G@St!+21g*wKZM2&pU;*r ze}oYPa_DcdP7>|sV?2M#lL3i8g)1HBDX}d1QvD^acYGetLy{~g>m?SU8#wf2fN)teoB8?CS@0b1Q;w1E>>( zD;VoS&DI?5#gQ3`QyeX{>)VmW`~!y(=7!pCO4|?f$@> zJI7F5p8ykAOY~JyL7%~D=%Y$WO&z^7)zHsS3%!lh@vISnyU7sz-9is9*cqU|lL;jQ zC^%9ZT+A`h*AhcAT%lJN0He-0c)nP}mHtZ!znJ*NCYz*6j#OddBo+B>Rt8wv;C)>w zV7!lyaXHemWJS7uN5BG=KTACA~&ER;AnW!uz_qM=ag-hcqwQBrnqb;4vVp@U!r<$j>ex zmu-{mb1Y3=0Tu6m(q~Yr7)!5}jzJdr=SAA*vJk~%jrU0bMgI7sL|PvAseFHT_q<52 zk(ML9AKl$k`E3^NU*5-g%ReuV8e6i*<;T~fq`PaS`{dgodq1W3gWLV2_gS{RU5#sL zy}CNaW$`iY_wN25^6`HMd8)N!K)QS30!|;;hdFH{N%5*eSZFN5LlY1in=Sw;H8n@T zOI}tnDoSfmSJ^}WREI1Ap6pD5q^weu6x9;!R1x5m3b&iQtZIU(3S`qY8R>;6DXtdb zyz?1)ipmL+icvsdl$k~F#8xNDhd((KcwTNf(ozZ$mz0C79QsZvGq(aAHN$}Gcks=Y zPmq+D1V?LIgark{-o_pVrdCKy$v|d$7NR3l;2#{1knkiVC+DD{rUk=VIx(z$42E}1 zL{n1-(zA;Y8kGT8j}X{7x*?hBIc(%OOc^^F6Gn|A7@2|g){%%yE`cBC6`w`0Q-jww zzKeH0+6omzeGCw5!suZC(UaJF^f(NBBJj=LLwI@38f;keD%P!9i;3fAU<83t>-ZTc z>KG&Xyrgp?97|%MAMJ`E{w~lAaD-l%D;#nO)asI86%~kQR0b0q9mAnxCtwnphJ|mw zjTsAj2^{;I+aWx^6!vi$7&f{E*N^aI_fXP%IkWSxoaqDItHf>IWPg@F91MJaTUl+ZG zXrr%=F8b>mLeb0)S_Ge3_EdLs8)%wa!qUYaHV$^M9BK(0TSporWn#UekU)Y}YX{g^ z+K{5}O&}8vUWkL7sw2P$A#;$RI7PrMcvgN1NSBS2ul@bzSXkXUDU z-6U_1Pysh$%^(IEI*0T0_YM*BfbErH|(paoBD# z|HxgkHkSnSsGT(Ce5h@H)E)+NF;|X3i|fQ~plf-q6DRI3?h7k|9Ss^21C^DbIB)=T zbhI&uAmjOdig>=S5}qX(?WL*-6@5Bys1vjtJqd{1p=d;qLFXzN8)IlBF9|MAM6D{s=K8TeNwV8LVp`WD0!Je zGs7MF4M8v&odDnYMI!$mk;s$2WP9XaCr_$)^~is=Ffd6WrAKD&`RJyraCVDr9DqfL-b`(j*{NNZ?b>QQ?xa5gVOI`OvilKQ%RN1X$ISYLJ^# zinO$Rq-T^PJ*z^j3shLrh>EJ=7~eV`xbY))eX$+&4ORGX-CBJ1_FMRD>n2#a+e6>U z23B5fFm!jvAVU-A+S zOG8Y0DxwLpN*WrF(q0Fh0ADDRa%$*LN^f-qaz_t?rI!~}Obs#E#1MLp4mflEJdT_^ ziGJqRNNpdEn2JjHMyJ3dA|CdEk?@brhAAn(C9M*ZYRUWw(1~_{f|))vU7TPL;7xGl zj)9~Qx@J&4TQi~U<$$B7j^psLlQ0WQ#P-8Su2RqO+b(K#~|eN7C|M^^{RW|lAw2!?G^G;*8j@yhbK*tKmF-rM#zzWjbG z&Yt`lAHBIAue`JfFTb=HKi!vv0ssB?AMyK7*RgiRG9Vy>W8%Az=n zjBIPcq%oc7>}W+Hjax4VAEd-3V)*b@RF_x4kD!NPq`J5qoh|J&PO}I?0%&{|A}t{u zyx4GVRt|zgB9WJ!gHa=gVdStzR999AE00*j)-4ELR8MaYKjFgZPB6uDhdjM#pBJxz z#1=_OfClNDDqiD>tzrU_2(%df__)OFjv&T zKz;i=Zr{F*lI$$ZojDdum(Rh(&f(~6tiX=<*WuKmuaH$<2PL|93Wf%-4EBRhMIwwM zT%c&7kLNU1;OXyy<&&H6^Np|Qp5MmqEz3|87C~?niI=A)WBV(q*s-<%2S04Y=^v)z z%7LZ0cxVN#9bbkkN0;N$kySW*U>Qz)KOMV1sK@3PW3gz2HxlTX3wHOy_@X5Ic!_@% zy@tDYccZvI9Y)UPP*hb#e{~JX;<4(I)LT;%eY7>vn?R|TjwbpV>Y$&I4t)|V8SA6J znE@1SjWN)}0vc&9Fl-Hn*_Z@`EvlmYdqgVy3wV$G-xL0&wnuuTM|z}3{<-qh0qMfw z!}xyNXP7f)Jn|DW&^de*%8LnBcs`H_o=}BSf+DsYRaZ2iSZvp$ptzRcsDc#7R@4*Z z6cRwOMJSh2DPNyef~;(IpDU((%8`~)Agocb1YvP8X~;+|AQ;L+WqAXJwT?z@O$+k# z2*fD={QPRVjv$F3tGKKMMHNjLQBI2d<@-3kV=tN-8c9j@KzwjCUYt4&79I}J^svHU zXA>w|>Oe_D1Ik0xq2X)>ZEs5$cw0ctLKpo8sXLl*^QO(*0H1&x^h$V(!XdykIdDuGxP0zx;}ux9{N6<;%En>o!KW zkH)aNW-OdK9_P=T!L=(_apK4!eE-Eqm_B6&5~Gt478p$+@L*mI&p+Z%c6lQ>Vat$k zJ!ANxbKFGuYqsWa3KG^A1|hccFi3GIY__m?(0Ri0!|suEU13%pYRk(JAI*!y5~Qc5 z3KzMS>PqBiW}>a70l68ONQ_EAM{@&m(sNK(RfWi~NE*NSXeBU?36DfmO$8#tq7V@r zj?BbFwAPfOu9m>}0sJr|NvvBE*kSiO4kW>rtw5f4B+g+ML7sOM3}1IjqK$M80}?}# zCjlU}ozG>M5*8!@Nz@(!BnCc)M>l65L=woiR%GJn_D%Tpj>IbS%TM<)w!H?szJ3Qk zeEltUyz>SQfAu!rU-2Toer+x0&tC>*)1fd6@`ihPJPe{-p)}MGN;akhzuNGP3Bc&q z3XH9&!L+(Mlq6=OCcO}ACTC&W+Dz=+P=cdhj>g3U3vun(D%?D|4!6&}hI^Mb;_ms4 zxOMIgTs{6OE+1Nr3kR3r@Yj>@$%;fQ?sP*m0a>J96xuSfv2EQ9ESobLj=uKLwl{>T zmNrx<^%ambgq}eHBLPTS=)=}ZZ2}{DM*AA*p`W2X`WhQiGRA(eiWw>G$7pVgG)7`{_rRJ9<1)BI6Jrm5Q`Pj#!tA z{G1XL=9g2dASh`U7NDA{2Gmx!p{TG%%rROOVwhTh#r`r(*Z zHwHL&8>e>e#)OGep`~Yl!78dy8Keq@!KzTyR)?~!5eC|mQl+Yl0qUy45~CMn590tQ zIHm={D$Gl`g*iqBBCI+G&INHWO9_Csi93`U!KNkzKn@6REQCpZ3>2NsG05MA z04WCAevZ%>Y5~uj1Xx$ZLM_e>DdT3~)!kQd`PT=X+Kt?Q@aYkgiXl#RaBE11K}jIA zBYj|=8w0oYOxVSRV4%4^hNcE!`>CVi{5{8xVdsJU_-@~Re6arnUfXpNI}RSijstt? z*b%IF^F8<#=h2zDz@0|=G1ke3>MBVK6DOSMtGhPyS#BQ26iiBX!4^^o~Og^ zY79ia5_ll6V9SdLpg`9N>k9*gaJwTIVc?+i^0KmMd{!VSHUW**)yPWYHLQX}5QWH~ zFqG%z(O4}KYaG?ldH$|J2npn?*Olifu{DXIkK4s-F)`e+ z`yMZ(E5e{tA2>UEi!kEcANDr3urx71fV&IIvokTWxfRW|HL$g?gq68DOpGmIYHkHL zUvF5sxWn4j1NsEcW&u8MEsch5m@Nj`nL)?j6?##A@W@NS(v9mdf9@<)(X*Y)q3$!w zu(&M?pS_%dZ(lFQnQtcG%HgHBdFoZ%IrBR1T-b!WmtH48dXqli!0n40ar^9RxOMt< zf~VJU<=AQ*-8l^(EsMp}W-nwUXCXhO7!~Q|D4@JuBR!$zO3x?3&>(^!MO}RipfS={ zBrWtNK>{17S8M79I^`@a4P%O*`lN^p!=Hz=AQi9x22z^1IA8V$8A!h%#=)l5)Si>itm z6c$#XrlJYu1VnsJQCS7)BA`QN zb|HaLiC8GMit@_KEz1Vl;1b#Sn9GiB0hxfkRO@MI< z$FE$*(JR+*^2#NgyL1towtR$j?`*<_OP6r^{CQlub``rXUcmgV-(cl8dvV~>1)QVp z3v}+6hfg4S^f(N$vnH5wfpvZ+qNlZ>c-{z0{+)k9fG#;gk#?fada%nrfv;uy~ z*-$byg+oFlyhl~SEGq)WKBNq%r(3$s&3JwLH`u)G8`O@O3a9v3x|?NmLpcxxLl46aBN@ldV?fHptFI-a z&rmD)=kml^f~ntm{)r^Ym;|I4s`gWg!)u$uF~CqCI$o}DuTRAwM*>J~Z77-z#b8@+ zsF*oG!_*my`sPs3CgoK_7rm8KprEJ%GkpU%l47e#z^SRO4Ffvv?C1%9|1e=OaV9u& zwwKI9V(SY-k|$e&2yi&8H$w-HK_9OW0t8?95Of6ig%N!4d>yv9FiiMMT+%#4De

TyR8+;} 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ξB18llB!!wq-9XfYVi&ewGYqt4_Tpf*l)SPD|8Gv1(0n(zue#AMn|wyzp( zwdP}=dcA=@sDOXPuRMRgb7M9u$!GAMoNSpM2^C<$GD*EPi9mgR{w?4|UvsO);6*#G zKxc+q_u&$FR&Bfs$L`LdVW@~5?&v~}N#M8~Dbw$)->Q4)TlL1e|C&v6?%Tk&ettXr z{yCw1Gi`X(9iOuulZ0*tY=dJR3%Gr?DL3hEekVa?RWc1^;o?oB7p@*P19gw z#=l0VOt7G4&JCAAuE7DrXK*M$S(ikLQGCMX`f<%Cp@-;Pq9X z?n62Z^9rOWN^GWtq8+0Dzf>;K0pq>nVPp#psDG=#zf)=c(dybHi^31;X}oj9I*kox zv4L#h*!4mNfN>`ndq&EJD&*k-O>lgF5-cjHaaO!DQ>OPboRgD2MNWyzi@2_2I*~O3 zU<^F5kue*NQPSEu6m-azii?B`i7w(=pu|D3`=w|pB1lqgqJ2B6 z%O4bWikKAp+QmB&s^E*E$ooIAsxeB`fHJUY=*U*cd0JM9_mWz!i5QYYsFqU54wYpk zg>8BALsB3CSX*?iL9|LRnW=?YdzsDekUvgZIFjmql%B%MmYQkSnLjJZwStRFkXt?G zY)O9;KKFsVf;dRrFXudO4q(UNEv%4Gx}is>rqLMC)YV-FE~>D{$Uc`->w16uCi4E6 zN$%d{jP><3%y~nE$2PPaB8Kxoir%<6e=?%pyf@_ato&Q;l7a-&5Bt{*QwRv$@ev`@ z4eZqFFvYje+UTnkx%IG_4(xDrfYH#`9lOR-za9y6*5a~2p~I>$d|nIjQ0@I2FQL`y z4(ge~B}{unR;cm{XOGahJ?f9Se%b-yZ#E^m$usQlMw~u9f$lpzx2@zmTi~IeKR&AL zOU%k%)BSF}hl=i8Zp{|nxLWi`g;XJ%rJwfq@qOB2hwU|-x7SIZ#KDfs&7V554)rSr zD@pCMyo{&6&O3mG?=gWJF+bYriMdzEN?Eg@EM?W8Lx*wV5Ka1WT>cM6gl0B?m zIfmF8PzaGljg48-m-zAsKA+1kpUxwQ+z(G|WG^m^dgsH~RF`ZjTXX%p-(I_~le<6L z=|9K1-{0-;aQ?;!4+Ubg{37<`u-#gU>9R1L!*;r*9hst~P!N(Ve4S!KXQs8w>GI(c zgB;tJ_g7-*U-7j3i8ESI%j)4iYMmsf*SGv|?ateh5Fgu9+sR~go5pK|8;n@B#_52J z1dsd2zmvV!BM%vi3RN{JT*MCbz^Dtpwy~Fm2P|Yq@^0N0$NKV5R(`%Zmvd-mXHO8p zH&s^-IvYR&>Zrk5fQ&H2`%ikHt6TrF4DslAa_ElNtOW-OZ(;n1qnRioUElnsilO+B zQ-eiKWIlLwzBH#@732U?+<7lRJTQ|0c>PG+)`grsWqgLK;%Gfd;%d$R5VsAFiH*B+ z;io1FMwnXqbXW+(H|pgL5zPmY#0QbHrpF9>*TV?J?N?NIY1L%y8BFp)q%Caaey^;& zLKV9CNjFeMf>(Y#ctfSCq z#nc_tFf^{&wWCBai5FV8rtjcLlPlyVK`^n@_159rGExCbJhkscfm$P?9V~bsRK8%6^6PvT65H^@yX5B6*M*zYi-4 zpOb(K_zRuohXp&i=-5!u64tTUdqkq@s@Mq<4UW5GH0Re{B$q|xyde~<;;hbNmXxjw zz^43wNt;7Qlgos??|TR?w-z~#2*I%?z1@vg822EtQ#y$+052<0* z6t$-n@~ch6T{;+PAf#G7!*j4~gMTACUu~Zj?P7w1`yg?aE|uJBU%K7y$Mr8D_3<>p z?)Gki?&2M-&b~M-UOKp4O&^O_g*IrmL{@8U@Xuur!)_ih;$VS%K@ko>RT|JXFU zJDO>8MdJ9P@=ik*82Iil(k*e_?ZC;}o|BGHr8FeMH}Q2gHTSy-_B;w+P1-c406Wr$ zlj(D6+k$rToYJhvAR<5d42YiaJ|ALUpB|wvOiHNrisUhmaNxH_4kop+`v%Hp01{@2 zHl>|-4HYhsLF{{bNwGAq5pbuLHpfLxWuUf`ZCPB_OttZB!||eZdYzj1>wK#4JUm8N zTS~0x2ilNyB7F&Eb41_E&1`US@s#CdW6~UBOOyNsQP`1j(!4^5$2ztQIAdlwHezNyayW}n$JNf21@c{1KPUb zJ3vI30WvaBOB{u0gSiRbNknTkRxqtnKtw)RGFW^j$b3f0k8NO7UgxD?AdaOAJfzH& zzAwOmVWO|RJ<+d>o*{UIL?B?~LHUj6=K5@e%-ELQAJlqO+OX-9g$)5|gpE$mfdB3% z6#V4Qx;z&MUR4GE>lX<*RmfUczXOv3MO`lDXP#~FOH0k(j0CsW8M?)kp80wc|55wv zHK#M(MSa7*4;B3aYi$qk)fu!0nhm_Bss-Oh+Bx-iUl!nGv$;Uw zH!Q~aDlqV&@tAV4)pf*TX!L#sIaIR5#Il1VFw~{wuq3@R08}U4==&k~!BNh?=@lfj z9nGN?fDCMKa!7QgIHyej^^8)O_T1W0Up(6*k4u-jfuw(&IY=pq43fUnQLs$WR>{ua z%YrP0-->>YGIGY6r?gGnTGk9aJY1Sgx2lp}2)_w}Z}suoF# zcz@&;4+}z6L8qn8YHX&I?ESzLYzeSRu$Wz(7gku}Dw0j>pNFY0DYvDftqc`jY`Rlo zkDj34<4v%a_sM==2oMuqE3zLfcY3pr)B z9T{k$K}&+lK3{uSvsY${Tp3KokH;-%rkul|v$2;`jRx zXl!fqDKI<}D5Uf8S_Yl%aiSDW!Qg{n`IS|1mL^Y9v|)w9a%VO@y?iS>T;ZiFplmjW zg3Od+tif<-v?E{J9dNOFy(h1AJcao;ssLlv07OWQ-8Gq)(~(+Hbm|YCL*|PmyvVo+ z1`Z?rh~Y8v4r#NAZI3@uhORt)XNJ-^{EKhRSuP%9ulA=*qmiU9ad#o?j=Oyben~f9;GfLEiVYjNpbh;C%gK> zsFMqjSX3IQ`S~M~l0(zu5r#y9UVLwj0X0(BT4`p~id)n@oU-+?e@e6^g<+|8U|`fP ze$_%eZ-#B7q=aE&E2SPLf+WTbsSFE*NTnAqDFqe%(9z<`3Rj~eQA1IwPasRt^C0r_ z`u6nE=fAs`&^ytxX0*v`|A2~OZ;Z6FH>>N|4IX1TkuH~tR8gex{sw7mN;o!~KXmMJ zsPeafUJJJBx89!WnPRm|=~AJ5eE3MK>_SB)5S(=YMLBM7A-c+}dq&{s@+MwPR!1PlUUU|HBhRFMRslZ_sqWf4`KMy5_lQnb zp8owlhMa>mRU(;wKKk=%`_RklMGf&{c{H*X&HZIYVq}tmiitIQ=MC_2qhTie+t26Q z=TJ`XFE&~+uwF@7BPgofg1XUv%Mx0*#9O+7CFr2GJ9|KV`>an=m`y8xxW3J zfF$JuMqmXAa^siZNd{Q6*52F>{vE_w-4gl%E9zl4)o+0AeM^k=qJ?c!D-0urW2=9Q zO~LMh9d3Myfju?>lR(YL*t^_|LeFO(jY>YjytOW)f)63Oh$jUF!6MTz7W= zwbAs{u&*JQTjK#ccR;_pb&+Z7 zeLw^Lw^;M_2scabmP;qgJJ=;Q72?DTuTm>NJN<71QbmL;7;)jS+V`FA@qHKk zW$hEp8yfMzA6x|6&^9Qm5stD7JZ03m5&3(=U4&`L3lcc5j)$A;&E(3Lsjt}D75y4& z|4cKMdtFnXUY1ggUrl?)F3F=6)#d!a41$b>LdCxKX(<;EBtqQw7k5Ph&kU%%FKag|EsS$^xd}q5tJw4}MFY+B zM48cJ9jv~#(x^;%*}q#!f^7|gIg=DNGsfw0q^(6UHQPE3Mk3yxHVKUy@f^#8cn|ai^|uXC0@Kv+{8ZRdi&7~eEi9cS@=3|5(+ce`4_MN|MPZ-TIS#J2zzs2fn15;6 z4+f$poyx9>!$^5;XB}8aBqMU87kRIVhX11fcCad!8t{ee!Sr8Qjt%h55b+a1Do*9K z6m74n{jqVxMS%=j-Y@!+#7r65YfOl4>$ZB)EHN1vPexMk(d0aNDPT^=NF5wEkuS~{ z))a9^OIYt}X<;ypixQSbZX1C&EmWpfSkarCIm1MZ&!y<4jODGsA7D~_k^Jm`OA+o$ zv!u=`eg&H4rz|l?^T$-}u4_aCJ%`vT$dnxvupCkq!&SWuVC=W>Nr?!qAFB<$@ia=G4t{%TRxn z99*VGR{UaD=BTcd?E5U9Iu(7Dj64%H^%A!kLO7fZiMDWD-Pj*0n=i(Ob|Qv&YhP(0 zW<&wK(pVbVp}0(U#{_`K8uyE7UtHfB1;cVV^};g*Z(}y}$Ie^O)EP!;I%U*ZtFpp3e-n+D3CLFT@31`H zJpEmK!a)ORmcEgj`3(%v|E*bW*acGReVJphgK^Y)rG zrGI)*A}o0PYEZBJ^+BGcUmxC)6o>sAnq^?4X(?)cF-`bku?0&E75K%&IOEdY$*YZl zAL5uL8ZJ@H$nUE`fa{}V11l#s=uk1fk_;W7BY~pxH3;TfX6YIF5mC!}{a{!U!TPQ8 zC(y}lSp47+BQw-Mm!-=Q=83`_rr_D=?0nSlm{W+jvb#rH(1PmB1kmEp1<^HyDXARm zEcKfCS$#v-?ft;l?X5`fZR39a13XF15qo~faF%3?OAY#~!yWBpp_UZ2)RRTUz~@iIS^+7NX&hrv0?Ar55sph)TB=KFi|ByHepy5g)wgCs6+k$rL1W9 zdq=U&Rg`>U1=Kd3(R4w~r6Did@C0D^m6=~VKV=?q3?XZl3KM~aw*+)GA9qr^h5laV z9JKrX6U*UP7ixyMv)J3cv#1@eI+ zE04@VozYG8o|_t`X-W|WmiE2Ka!WQ^R3ael8sm4R@%NOUAaQ3egoF>}ZC{j7A_~rY9XzA%5bItM- zimYj9u3$7CF^hCz7T#&-KwfiWE98&)vk5k0&I``1x3z156SJrA-0Ar>f$Ny3skuu7T#1{x3JINBnq{eQ3iCH^u|$2qYLiR)?4 z4T1YTbwj|rntypheaeX4_S^7iCm^mEtH@^q-o;tmVDM=4I@hiWKIuGn3JS?;8aEPH5C5g@|EMTT9$FyI!O<&Tzp6bSj%Q&zz?@ zi%lP&xkB1>L6(**?k%y(@TA4blZPy!V0M^^Ijec%U212dQDr{OM0I{$Uh3G5I*T(M zO|@lVt`GS=i=B}cD>pX=`kuy|@}`vYIJLM-^ufR4tev}y^|z~IXs?e48(VkN)`?tw zVsXQf8JL(F#l8gRBOB{b$3M`NwI3;>P$sFU{&M2ff#*A zH>uyef52Qt%vWIee{^C-5t|Kumm;TBP88Qdf{&g}^e~(Jt}(3I5$Veom&aBPDDDMU zdh!TDJ;IZUjfp&ElD0D^adqs)_E<)Z1qmxk01?$nx!AueMloQ4m7#218HT2NGvRxL z?Hn<|=2w*W)fD*)Kw#|crX|q6uH)=o5KkiR=13C$wnQjD;2&Hl?B7mre!hA5sW0G| zF;1o6bW4jq~H3eFOHJPlcUDx-s{zUmKk={6{GSTE9k z6}It2C~eq8(gesBQykpl*5g6TTS;Ry*$+g$D!;8R=>(WO|fo$E*zz@@_saBVv$)(HW@+U7h6s-964T$yxL|#@( z#e?Sk2ZPT&+LVqD_c!NvNqt}>m3N0O@aj6zaed~|)ubc@4~dIcWd)bQA(IL|5z%1r zyOKfIt;TWH8?9l3FqqWV5ifXd^%zZhQjgy(ab(&q^Qr8Bi}qk<*MFnq3$_2JQVG6d z!81=eu4jh`_ypV_T>$j#YW>HSr{-Tl$U|<^sA3+#h{Fow^R!96_b1mZ&l@q0pKD)^ z91`3PTlBncgvsacd>?m+gxD1mq5-;V`3&BYcXIG{unDP zU(%CVSe)shVg8Z!LiFZ7=|ZPDSo>WFQpTXL#io{N)_?-}`xQzKY6&c+*royT=n|c5 zL@|xsS>Hf^YOcIGgn9AKjIy6k4m2hSxaPhn8n6g;4p{-Jb%l9gwG=BJf-g9fg=cvj zMT80Kj&HrN6$YD|wP!LKTplq6nxf`&M2j%%o_dMM21DrOD_4B_ixuw3h|fPZN+!Ym z`-qqd5e9-_c^t%A%;kH7P8HoXP}&a=EuMC`SazJs;2IS3FQc+XuGws4`>hynu8iJpl6S2QSzC#E$wzv#U2p5L^PDRG9Fg|fmOko*{Dir>AOQ=4} zl06zie6Mv_ya1NDWB`g*Dvfjm{HMM9qe<9r#MWWSQ=C(Ebk%a6W+n1{%qCbUgx`?jMDdd!w z9ON$rdZN*lcvv!1I26ze(w6HD5S%6j;O;YGRb9wks0Ffv6T0aC(hWApn4OItcTtT{ zE$zG%fNS+h)RmZ|lB}w}m>ledWc@}Kd3WE)Bl-C>Ecmo4_~PK(4St7HFbqZ}1EsxU zvbDo-NeRIUPA}3;3{Lhul%eY&6HaC2&LG9lK7de7o|~Vsyy%sueS0+;-oMr#k&8%s zn&%Y}{cyy+Y_vzZbcbmff2lM$kMqhCw~`=d>x}Da^a0QX2;8i)BLCHBY`fFLXTEXh z36jN;k!T zS)%=gxn!=UPi&2;?umOFd#Bw6x0dGv27#`3m`$Hs0>RHaIKlTTRza^%)=l46G6U}q zhU~6S9HNd_pncc1fPKdUVYPm1@3@7*{_M4lE|*J?^DvY1$AFm97*jaFH$bF4rq=D1 z#8sd-t1|22rqZC-JLs9sHO;NQsGcF&HCnW5TDhLJB?NCOowfML5+6@Wl9XmTbsT0W%NS8>}Gp92!OR zcVh5Rp=pQ8tmy$7XQ0aHm*%8K0dcUF79rxuu%ch2b|U`NHQ5LcFOMc16Xhc%#M6ZE zAkZqsuiY+0}M818lC4b(q`tDHKWr zOMxKy@t69>G!VSh1YgiSay=c=4{OTEPKSz9-;)4sQ}Tk9wJ;{C6)c{@F6`fY15$of zmHLKAP>(IQNeF_)!5_kKC*`AK%dL}tyIxNZ>9$&*=(k0avG0SXW!MdSwg{MB9U|Ya zG%khw%jy#Ev}GFL9Rb`kaR8zlLUdV6pa3i>y4T28>;NSSphg&g2dG=&hP74;fHFH* zO2URDWr;qpD{kE!Oh`%*Gm%5+$HlX%E-xx<6BjB?Yr*!{Pn9SE)BYn=^Lx5?%=#<& zyui&Ck{>o0oj4?f7W*^^(@ZHG(|u0&)l_HPt~f`^9|R!Z52iW{DW{Ar`qElUwjla!%|M^aAh3q~Yk4Xtucz{X2`|=Edc5o;mrcan3(pYQTi`urrbM@d* z+(N9kA;#^ZX4b&I0Cb$t#GFW#QG1o-o2|Q=kS4d&<^Es*oG;Y6Cl2pcYRdsW5O4}& z$|=fth~NZ?;PoJ93C^*tZ9@DL^1-^He*@%1^v?GmO+&o@7g^`n7zfmD?PQt>Cymj@ zw%ypa(HM=BiLJ)AZ99!^qmAt}w$pc>^X1_E5qs}@-)pUFHF0_DjZ0b14Dj;+j-HtH z77FSRP>zEs>@^u^!gJX7h^YXGd!t`9rN{O?=fBA~%7mMh_22~oTV6cITLTF3H>>r| zz(vIa7U5UYtm`p2h6(rfNZYqou4m&T4cxfz35HRpg^2{AP^|ank@dYgT_)G zk7J4!!B_UB>0I-CJ*U%%p6Yv&|-9;=fRuvANiB3AYNl+b=_n ztK3Ji1Q!1`-}xSwRr$E8gW}DwI$dr*RRtQiZRu@~t|mZ#cKv-Xw;f8SjgH+ zv($8arB+R2_=lbwKs?@G6hp(s0aVn1N7Yj+|B>}E04lOsa}YcN&QMaI=`me ztWp(>6WEzVb(*P>W&16tkeh)9)30({(Z zX!TmG3Y>_7KRkT^yT7k$i%dLBjGW=(suDN1BV3n!n(A;TaEFQnBh8H+Z4jhF_rEjj zt&b~;)X!&o%|0F6t>+#MrLOS;U1+iM+))6%`WR3z3k&EJ9{MW^4oHvSdNPd6R*$1T zT3ie6rSNFiKcJE9W!mnTt}@{*1QY*+cV*&o^7GOl@l8omJWpHHzVx4Yt5MwVL9)g$ zAs-h22}0bLw(aCE!qdNX0#}_JnPf=KoC&nQ|4Ea0Vk7Sj76!2S-aoCX33OL*y1L`p z?0Ofl_kM!*{jLsS4Va)4gsJLc?_gNXI=L0cCIhFhX*&O%lxD5DC1lPdIlMM6;PX2F z)KtjcN$8!%3aCjjl{?DaFb}b1EwV2%W-HoivmhWkdy9rgMp5z5sD6^4 zGE>g6i~}2~L1ESyinUczz*Cc366Zt51foO7wl1qp$rRFid~KzcjsGed^Qhx=(fS*~ zftolXsrW0EoKtjEiO7Z7;h?e{{(`i%4?$r^2#d!Z^{}g(vWnIwo?=m+M6XQogT~3Q zs9Ba0P|J!Dz_5CstS)URQT?d%OU*Ai`GQf70{)KXhsv!=9aim7jirBSmB`-@7;h1P zI)37K)RMKZis2&CA;9paQ*AvS{7dx_mGrf#zXhzQ?KoGJ#u5Bj(=)l0>pi|!`<;q` zC%J!;56pTyHbqxl;{(&&d|qU_kB*w_?~x?P=}3YL+q$Qk5a1@us6QXLChIsRC$hDn z9Ymfwh?+2*8o#I!m0a7K7)cjmm(!qzdhoNm@-LMvQ1K#$+~p9Bqd6k)(A!u-1C_rk zpz8Ww3&B18r@Q4WhH|R-T^j4;9)Lym3PQ@)6&|mS(I`xXVz1iGb=XMWq zi!s>V*kiiA*tuQDHv9KbPuJ;pNK5p+b+~%q=;`XF(%bXEMSzE4BC_`Sn$G^_AlmI& zZ&9%04pwme?WcjjQ$()4&-|L5?<5M&)=sFV{q4cT<;_RE=JNfrx$7nWL^;y0HivUE z#_u0OtFKvYPn@SY>oQ(Gco2y$CzQxjta5@?2ZnNWk~Xb#?|n> zrdF3#F?IbM%!?T6E>7_f8W64=1{uH|fTmO6PaHsTpn!u=ZR&LOreW7WHlY$Cuwp#oH=|E;?tg9t~RT6&*F|asfnQ@m+_-u z+Cg1p%vXrTwbs-G7?d|Ly|Jp6j1to|?iS|88DE8Gm#skW{H-(VNmp5V0+3qh=?j5z zFDA9CP3sXzVLDVP3c+4KLO}5+FD-6Mbln`!C?8!er;BabN&JfXZn}~ zGJEjSf82xB=qH4{;GnsPqB=$AoNk9l7h*|ba&A7KdGroO`M#9gop8kkyuYF+phgxp z;_2HF-kgz2q5FewE~D>Nl**ya9Wdho8W7vQ-joQ(X*iUySOY93qK=x#Cv}j9_M4h3 zw{6dvs;t?D>Zy?tqMGkxOi?a?9H@#0z$?GD#6)D5JG(G?_)S<6by);q44_rpHrQiE zH%F5Xn*MM)b_q?q6*bLisM(Ff6tXlahe7|3>oXyc+>By=Taut75wbU#jp!Wbp$+=p z1RhbsYuD6=KlqD`*HAyXV(?XW`-;`Q7X9 z_jbSpYQ6Nm_$Mj&v1kGH50^PfAVlNle2sNk+DsDEueCX&gd(`2k-nEz7mG6NW=i5} z7Oqt!wmY9D`nHT+B_gt~>ueO3NMJX%QzTbGo?i|l>*t3Y1Io^x(_AFy;<~%2%6x8( z=W5UBjUO^ygeM;w*;`6dTrHBw+AV}wI|r$Ik+&Mu0(r+B7{&%mXc1=K*xSt8{NuPp zee`hmN&LyTyahGkUObjrM%RF;o#g8kY;&=Qd473FpG5S&;BJpX`Dw#;uyL<`O6)hJ z=iPHmO9-9WZRhnH`wysdy|Um_kyq^rlr)vhhnmpKlX^gcX3c=2;O$AYZl~WXgMjZp zd4bof?*i|~*hD^0oVn}WeVJU0jgNx@Icsh4_qvPM>xZSw?I)Hkw%!>GnS^`W)AxGI zk9@U68)Fkxu3+aGSpD?}T;BcV4+h2h)8PBF&H8|MCcFKsn(DK)mH<&NPVoNrXZ_VK z^`y5A{EdGA$p?Frfd%X3UmkczpR>((l7jgJ7?WSwf*ZXa=I58k zQN8e9bTe3c^`N8;jpLGmpUiyfijjGWIpnf=b6J&r-vOAD@KDbY#x=VUNx(5hAu&u> zAn$lFja(!CP+aDBIaeJ4TUK93BOdAN6HF{@)$hvkM!xk;D(8N$UXj_ftttp`1rAO( zarGkC4@gD1Ao$z*X^JK@@_*f%PL!;;=uMQaAw z4}s(G2CMI=k?Q*F@7XXi>))knYj^XL>9pA{gu9m)26dNWoE#qYr}25Fo1KnY-QT#a zQy7lILsJ_pPAPNrnzPPhYY(>%E!-dCvGfEy0xg#K`nwr2+dOYDYYq5j?vajGo(6TM z33*8O@DF~+o8YherBS8Qn_WieB#4sY{^5xq?I(@u>SSMT{EW~q$dj4z;#y&qAvG~o z+EyHGL;%1m9G+jLtRwMjYO!6PteKi=bXqenQOuIEGyc|g!ed&DZOv#JKpR8HtTTb{ z&SlmDi}W>V)GN*{zlw5P1j6m5p;jR-5)vLFrU_Hg-fPkk4!Ai>h6tF$*8h<8+=kqZF_(=#PzE45*Q z^&_Qe-0654WUu3doYXzX>ULmPp7FOZPkKuI&o`AVmAVMt1V>D7Iw3@4HK&-x3(d-O za-SsGoc0v(?Lx2AMx;-nK@}Tv=t>!LNm5gV-I1ncLl%TkJw8-fiEHvaj4w*&Feyju;)(+?Uf)b1Jhk#N z|DO9il0>XRm4v>b7Utq#o04u8hfWi;D4IX7uW}xm%y8n9-{u}nv=Cf?ce{j3{SpRF0 zQ(D_Ogg5f}YD1Ff<`zZp`m|Q?cFkUJB7V!0cU?Qj{T_Wz^)JGCIcZB{V8aD0x-}vK z!!&UPY2=h{?%p|F>htx+qq}U%j9^DRaG`|Nb{*!c6)i#(5=9Gr=Ke51B||2hX@#J!q-6bFyJbHl5W3ws1tz(DXDM&}a(un$4?E^$5&xIEwX_WvsS%S>8Q8a5aWS{k9pG8K+^Qg-lqHNkt%rkD)Cpe8FUg zUI>@~ie-5=&G+Tyj$^(wH#{Ik<@x;4?xufdp_M#!ewIJ7SGEp--O$`xAla%z!L20_1&A}_CrytGD7o*>7S!sH}-N=&ZcNAdvq(_HaLPlw**_> z*Tq7248E@iURa<)A2K38he+9x2kX3P+5Yq-Y)}iib4gf)ZRb4JA zq#Vby2_)35%8PU-I7Hclbs@0BF<%uVbYh|iHjsXNO}iT=yVoheth(!0tPPflv3xcC zt{o1cv2GtTR zPlT2}I69n~BbLOF`&bcNV^m%pQxEb9;EM*JNB&guUPWX^evsT6NG4%)1!&b z?ytx@c^yJ`GiG~jd$=woCW~2Nx+ate=R;Z%q=Mv|czZvE6u!3+N8HqQy6(7e3buv& zthwEu@t}SVa+NqU&q63wU^eSIMb9a?w~-EihOrP%K>|96M;wkX9&(^t@=ok~;&qw+bT451{X~xk?pPlAdd>qj@pV zL(N$qDOgTuG9loP@f^h>;1dW=Vg*!ASSWyRmJwR)Jp!7Mj&4TNxbN;k&%dDG>yYn= zEBN736L7O`_I;Yv8&78mYdU?ic_MR+uM_@M>377aR}${!W5qUj4h?jAy}N9B-m4$V zXDEm|av0rYCGM#J8J!MRB$1LTNb9?#af}NRI2@D~)61^*^(&*H!Xg%w8Dw&Ns=&1v zN{C3x9F<9QMNvCA0X@0iq79p`jD;8EYhmb6Du$%9mGrWRS#RP2srA2kGX5y`C3f;A zS2L^B6u(qjTOknddxf=r;-)oc5F1u=C=rsZ4n^1&`*B6;a{(29NJ%x~nF%rKi6Q!u znr^b@WYtnUD>;-zFCZCIv{naF+%s6-syR>|S!UF{QF9Q_NHQNnt_Ce3$J6);cQ-{P8RJreKW*D zm+|vZIrmbrQ6eFw&|Z|s4=BQu@K$m$lQX8PUAs^>S8i#O$nY8(RH+-oxL}^3>ZvcL z)?=ttbkAMdhO|D}tfb7b*Zqu~VZt@opzFFN-wEYvZTCZ9!I5orcP^ReJ4_Yed=ACI zxU3dKR1fHmzwbteN*I?(qi!` zf7zSX#OtqC{a*54lW@oXo`j#53@)nPM;h+`M5f(g8g4Sm=(z!tF?1ZMBZru|a2xv_ zHobbdIu^?pQon3)1nu0DX}@oie&+iJh{T!PxqN_4GlerT-Gozxg8FwSEhem{i4ke* zNc}zu`eJG<>*x6UJ@C&VVzA)Ltofb7Z@1Dcf)!Ujv36&$rnFffH(}gG!*lq zW0@;2=tUx?Db}TVD*#aq4cD6vgK~Usq(Ry1^;g$>U2DHQz_-4g#!fIgF}HKPT&?ei z$gXzYDR*!9f4_xXUr6SnX{*O*IwHEx34>f)QePV>%;b=BnjJyT-~mSJoQEhxUvBmY zO@-XuI;i;rjM7%{Aubh4=jdK6Uw>Bp9yimHyLR!FfKT86)49b|KQN2e+n*tpfA~6^ z>FSP*PP^GqU~Q?|wBjL;4FA?lwS^> z2O~-8XXy1lK|!kna{$GV@F_m^4<$x7+6M{fn3OAGHSJK(@4o}z2Cg1I$Ges4eI-Lc z^;b8<+^$_eQ{z*Of~EMI2KyBtg*fQ>okShOaNfVd?d+diQq* zdR#+_%kepRF9_P=AbWXjZe}wBx`uOkBotM!1YxAXG|IROci$*lRRz-gZ3YufO{teM zMy6KHXz;S4y`9eJzeI|vf*C6whl1UGp#|$cZa@7g(_sZWj|J(zmws85cmi(%p6F~h z@QOZifO9%n0NWD;ZW5YN?Hx7nZPdTXh8IG1N!_aRmi3&rd%`kD6QD=A)iQWl9`&}( z_SzX86V8B2@K-jV;)NaO`NR(_+t(Q%n)a3ZroiR|?=6KBR0R2>p8l_sIluqwpXMiY zrp?xfu|f2zkm3kdb>Z8$`qn?@#yYt9K<`{lM>)6s0bQa7;~lHRnC!mc(8W5_J^(B% zkD+evPt{UtP8S4F3ukd|Ji;div2sqf6ZMNpFRV^z?1G=VE4zdklFtqGgEc=$Jv@0} zrxkG9D@7_8LH7<=%n@Y8g&Bj=>SBu2WImo49*r3YcB3TqR+m{%DkzH(G!fBF5(}E7VC-wMRT~0Y;tF~xSjRxlD%=k!b z&j&phqi6=HCUf3uG;##I(H>v))+Nk#*0N)rJlRFh&!maeBfZr5V7vSHet8K_v{T+r z%^B(OxTJ}8JUBi7=3&g`qY-jWVhjD;Xt4mR-{G9I#F%rqJ|}7uFGz|s9J}*39fLlN zHC=S=7ub0z@+&i;yAkiJo6X+!!EKwj4%Er0^1}sRuPWrdTtCxmsrCJNYcaEzl`!(@ z@DQYQpd|SlR6rP zn}E>>L`~p$QeGrwAQ91mcz7b1R924F`lEV#VWyCo*ohT#YQgG}b3*K+n%dF*Fd=Gz z$m)tT@CMM7$V$K*HQQpSX3XumJTd5)tU|2&RrD@@#PCoV3Nyw1>%mKMO`L)z1;Apw4vnHH2ret?!Fj1d|k{pknyh$JeF zkm*udpo=+--Jg}83bcim(_*v|pwfcM=$o7!c1B#;gEN+->EjX`b1sfX&$3L8l#DO) z=F$1!LwCqb9Jg0U9WUTvvMNW%L7Xz4MstvN_iP-iQDFc<-;ApQa@2DDJ0Dm@1KV7Mjn)EmU7#Ptu>5 zEL(3iCI9c{cLuKL-_NslSLjB^XDv5#H1_tK;WqwO_F^ODXV;7Z8tUTRV6{W|r? z*CHaY+j89mA_~@4;JzqCy2?@Vx3J)RVdT7H<223lAApkO)m}wn*JfK*ND_kcIs*ib z5pD|IBw+8R{K4RDkISEa&_RbF)-9?;gUWJN(sx>LsrdI5^qPP#)>PNQqF$k%U?&w%3|Qs&hN?u ziefbXyGKDC;$vnGd^#2bvm%9I8~$~9jOg3qO@i7|f<@uTyPVCxTUxTHOK;O#3bnrM zo_Q~7#8FZSe;Apc2Jx#zfTrLXN=CBJd`AB5=nyBb_-cM7L!#j5U zsYAQj0UAXCf8t<1;&N&i9ez#L)dWlPn(ZGy>kotH}g7 zZ9$q`JjqzA%Q=z`sm*YP_hMuufZkaJ5AeXsCmhGGm{liFEAHB13WE5Fru!65&6j z@OKDULg?G^PFQ8sNC~wT%mM%u-)^I)@oRtoA8!YG2Dzh~j|Kj+y;5fQcZr9U(gM7no74j~l!9gVlfr0&-cbOl;a)bq&U3OcCgK8ReRYaat`T zO${0>B8nv>WR3S?1o|Pd@kflr3JO!D5ihnC8YvY!4@jBI+8X<>PJJ%kWC^`bHF09l zmE^X(LjHZzayoB+grb#YpFDjK}NGmslg%Yjl z`E9~rofs-USl=J%^TC(a7A$oBZiGZACb^(DhX|Qrc}#gpW!J7w(WZaTOI1LfZQrPr zAHo4D-g52c;^SkZ*g%em{w&f6n7FTWr$4H!^P9@#=)kKar>gB8mSr_dP|`!)W#rHT z`uQ-gL&kVs8S2v&mlMX=xgJSmGUA6+o$)6J=@Piu{Y0Sg!&!cDHvXl4&W_9 zhQ9vby-@BBd%=zzj}*IOt0u#Az9nBEOPmkoXzPnKU) ze1r!j3*S)O9GSwZl;qdqyl1N%}TjiqD9gbLp0i<(E+LCd4Gzzsfw1HJYjPu{sg)^u{WL+V#Ao^`|b#j z(67=>1gw5P@S&kII7+%+wRb#eKd0C4$PSLR-RTQmV%^K9N`D z^>{KQM%`Ugne52*kz8sL2jm#Jx4!J0e+^5uX3n`FdGeIHP1=eJ<-=q0z}}qq#z1(K zB_$=!aR}%M>opa5#|T4I=+nNC-&%n)nSo*e{!_x!?R0`T*b=vF)8O8-vRGoni+yZp zmlXH=EQ+t>DZF)oxk=!28`zCoBuDyb3n?37QPn_Z$k_$Em(owerVXfsi2xl67g(3FzvcYgop z^=Va2*B8Bh0A zTj$%yE4|J?fC3r|ABP_~Z)%L;$Zj|vXB!&CITWY@#;vzv8_pL#4)rkB%=EYP_U{b? z(vVqQRmBXDQfImKyd{iKDjZ}sns~h5@O(bs92qi^Z2l^-q>zKk{B0~f^|Qm>kZl&4 z&^H&u+$#Hnry5)Q^_F0a4p+yEZITwjd-9oD{h(boL7fAv*W_lgz3<=MMF2~?;ben} z7TvaN7AoThr~EQ-<#JD~k@Q9mK^;J`C|d#~x`3Kw128HB2OFcja}9{JxGJcHP!!Z6 zx{nyMN{a=X?WzDy06r~`gp!b0t-91^K%hEu0gUULcMy4t`;y7$lQ&QX#yqK6 zib76lyZGU;eehl+)-yK%nzk|j3?on3N$FB!O8y+uSvDnHQ>?dxiTkKuyHu?BnxYoX zV77w}HNOrx-~-Bzla_SzPK_5eP+LipCLKsY$2aA5q`#=07jdgiQT+MMr}iLV@CcP< z14C(Zc3dj>Q+PN8#K|@!NRx1t0SY|bU*WXa%g!nLL#L8{Bq5g`HqP_|Ga*>f6{+4V z+cb$wncExj`oLw7E9rKzbW63z1`9hKEsY!w4Fa3w5)_q?$GFJxeewvALRu7J@0Hd5 zz3&Tz_xg394X;%3O?6x+1vi=25HI*wXeZoBW_ng%D_V9^ipC!Kqs9JVxTXd`xVjBj z{2844_F%ia>wZ(N_atLhh_U>vz53XEmEB}dw;gH)T@23g=ti7rQMm*6GnYs9cd~sx zWdZk~{56J<4-&n;JNr9dau7gH5{^y(;rMPxBN*-QP@xw`3GN z>1m2}nzQL!%GG(h$si;4oV&r3GP1-cKYGR)h{KNdVE9RS;j3c|$f&HEK@^w}wZ2~e zfYeX+EgA{W>`K0wA2^Bh-fuf~8u7|tf#bsnbEL=$+G)&S#B9}d8&AoQ3 zn#Im$LZq2WoQB~a0loyd)S8{HSiz&-x%VQZ{ijIQQs7x6YgL;=ctMr1SksvW?SrV9 z62^~l)S;TjVrq>Ln4ZQ(E1EHoM7VZ#q3@lzK0epre@ap0`v&z?w7wt=Mr^mC|Ca+7(QcTuvFB@KXisQuJRqn^>P}3-)U`-QB z^D$_Ut1BjODZb#k`bkaFgzWLA4?+rAULNyyb^cPT*E$-H^XPaoYBVj&>-B`1s(^oR zQ@)VJ=j^}m>e^^Mka)J%5R>@&=;ZlN|1)1taAJoW`2EaMpT|uh?>Otw)9t4CT?f1K zb|kh=)eyY3=j36hLK#Up`P+CwqFN`+Koq-Ap6BQ1392TBL{#XWI`fs93DPFc%(w_p ze+BCmog$^!MIVnK$VZbmpvT?VWDg!YSjWsyHP~3aPcwN_7rIo&vO1!~%FY^qi>MVO z-lqXo(6%zB5)cEfTo4-74G3#s9c%HtK+FK_w*r!c0thb+J#fbP74qaT-3^LICwMit z(JP=NDIDTVtaOVlH1}R!A_|y}D)&F@yf`4+s2Q9T63Y(krW^>oaUCJ$9( z`xnJWp}@|9ut=qFQkAe+sf8+^9WYV;jj!6nFm*ut;4vnmQ$+aZ#76>}I=UJ8p-766 zqDJ!_Qs0*guWu5u18iJqTQ6#$!0*qY$yh=A9=3W^4tJt#Z)zx8NxkRzPkDM7{&SMW zUE6on_^)MwBP|*xDh5%?(Y<?!;JDJK_3*Z&i_>;V$n^7(-}EXBE_rl^dKG5Apw z2WshXW|W_w6e|wW$t0hyM>b#RWn3@$e*O|A#;}5jhi6V=(|8j5Z=S~3O=yDE&}*oE zcMt*ud^mA?Q{3^6`p;Mx;L56K2s3`XaQ{ZiS!u0+YbcLCQ@LL5Oxl1>mi5RF^&+t)z zTj`Eb{JX-F%cxJ8T&$GEd=Op+DT3WlWw9hHid3Q{)==+}dORYsX*oe3Ntj%qz~p992RdM^G~&1oKfYQ7qx%?%19UPTX394PvY-C39P$)@i-gV(d!ctaHNsE+K!BnLE3J@nrWg!KU2C6OcK*PDjL?Ej` zq2rh7t*FVx%GBkd^V|Vq&D)d_zV7>2+u4A-v3V);iVem4(q*Resss_`em9GVU!%ke zAWmNB#5L*2gXOfHlZN)~K#75rK=U2iPq|S;-+^=< zJFS{C9n~(vu3K0KYRZ7N;7N+r7x&J;;aS1B3{V@@asjTpRYGIVYc`kJ+AcTPu7HzKWH2+Ib=)*hne=>2YV<2JH;DJ4K{to zEq1GYDO7|O117T4=_}&n1xBWfUlq>MSmnAl>JdPcRRuq2uZqbMS>-Q{*aIG3~O;8y~T{FHRGel9|>t}|Bm};wz>#Ao##etO!ArheD z6ecaYH>li}RhH$Kck3s4CKr)p8JZbgDKnspiaOmzPkphnlJ;Xm!VeVnxSp3EhWI8U z%JD1OVWHdR&OH*7)8Aeek3~4{mP_gpl4Nhx}uC^VQ{y`R2(VLHM?~e}8z5aLh}{mar^Ohmb6$tUjPx>w?S-glec?&cAR| zy~gA2^_SFG$?U>l!zjIVs_{kQbYDQ`v8TPu1I0LdV#{!8@(~(`us+R)p`VXBH{M-< zE9YCZ1HPEaC-Q(5)K0$6gN@+0^d!nWEIR+M{;{P*^~yI2`ve_rt$RlVQeYcW782!E z7NQjemHX-f46*CSk%^7W(OIPxg(MSS_x4v*no9xc!#Mm*@?N|uAEr506h87H^`|;5|zE2cDUDJstb zy1^)jAhH4V-Eb*HaK!#IIU=a?RjI~9cyPQ67B1B21g-CV7#mU`(Eko8SiS+94IH9F z=hHsbpb6k2^?17;)lPkn5AXa3)6=C5n~MnVqcpntUX06mXvD&YwGeOVKDqekzk<*% z{~fRV#{hLQRB2J4tsFQ|gin8p0be~q)>0FfmZ2ho2$o{3%(Hr;{#z=SXZ~zjk*Yv! zZ^|ovFtm>Ynd!4b{PbakJ;b@iLRprTF;52B6G~A=x+pLzi*WIs8p4&ePt7@vG0>tc z{ZY&Vx*^xJ77)(lY%e_BKR#V3-pn0d0-7*w)UkAsT4cPj$ZR{QDB}Ce4!sGJ-aYrJ zMlJU87hyfM2I}?#_swS_KL)JE7b0H>2v*)HSVcbR2|k%y2=nH6lpNjo@}stUT%=^Z z*b`}@;`fY>f42&(*}7rRkH6#AK;Pj7wyMzOKvM4sFwfmXC|{Eij_^vc4W`mcs}EgU zGcvn#)X+3tAj^Wq?VN>y6*jrL^=R)#7gusi5Sey%^3Px9ySOR632;O^Z!t(`8Qc-I zG1UiqY%}27V^aOiYvNS>wBh7zC+?nG;TS=|%tSmKC!16B7`wEYxvATg<_}?gPjeox z9Ivo!yqv?KDeD!6^WNJ`o{wEvSHXWE-5igQ`w5&|Ew9f`vg1!zQ*Iuohmu;s=FGi| zF(jWqgB(?aOe5nn>89g%xT(Z;38@%ZK}Th%dZu60;uMza^v*DRz8Kp@geR8^Nx{o| zXp?Cc^0>n(_hQA3pEao1rvRNoIt2nVa z85G-sG4U};SENIUAquS(%58&kkq{vz`G(@=pJ*S7<5iDiKp&~M-Q0T@o1%#u=fAW+MbEh^8x&HNe!;} z%k%JtfxpoZkhqq6RNuA$A0Bzw%w?y#$RF&tfH(SybMe^AeYVko!%q1GP|)`Tk59AI z)-))GzW<0?qIcQ}6NL%&43Ce158;Y2=;yHt8!BsGdFIn<1(h_6!@}aGFU%-G*4G=2 z4gIrgNS94gHQy_Ph>Cm|&ojH+KIY$qecQ%rmn0FW5#+iI2AdaxwK&X;XK|xX!Z6n@ z7S~V8{;xxC3lR6v14etb9O71(9%^SH+}jrd^+Pr_x0t|53=9LJDuAf8l{J~MFI~XG zY5hc)u)!Zju+vh?OH9nX9<#H{K<`la)u5X3FuRdKoWGANqlV*&n4&$2F_@zTG0wXS zCQd9KbTh)pC)d)&f^e0180q0aT+-M5WKOBd));yA{C#lBip&hmKV3fOK1kVcxy@pG z0rzlD%qG4q*Z5GTg^tC&rOVDqN*=EikXa{mFkReGNu#8qePNm_6c6@6)S$`vWU34N zLx;l%T?`LhbbJM)wxdF%j2i?@0VlA1*<2l>hAt|LAbryrcYjTcb-xJidYfAR{Mw7E z@+~tAS3kHulnO;_jm3PLPXN+^h9&M7S4iM##|V&gz3J2&B~X^ulEhwQ4XxQpZ1Uo9 z+s3~=?MT=CK1#;$Om913;i8DBcvsZu;f$6!a&RkVfqkokzQRoxdVU+ZLTUK=mS()@ zT-;E?8>-I#rRwjrp}Zo?jPyT_y$E+xF`CL#HmxiJNqG^PMlVY6-%)8kM{&p)Fl`zQtc^IJ5uTHAIq(L&Wdp$I*c z2eC`GcXoo}%PH*i1>7Zo#z%jpyiGww>+XrQg6}Z8y1H*~ovrSNQLa4!1vV%rygw6P zQEpF}dS>Tlr)Py4yoQK0P^mP0(4wFJ4QhLP1Tz&Bu|?8>2&uPY25X=rdb z;e!%(9^{p&Z69H;>fvh#C=dUB0OM-5t(z|QLz3_UP-|-+hum+;xi^9d1J=iwkJM`hR%-k3i)QTxNDf9 zvou6mFNHn==DE&qFt-+R4*rq$yieK_3H00ly4hZ!-Rw*YGEoJ*0Hn;bPg)h0+Lr(S zy{+?hb7kvvd7rHng2DhRi!`!v8B{_JBnzrpacwEnH#vgBri>}y)l~<7 zHzKATyN|Ex2Tkc`rj9tw%I?2PQ%J2fFDhh4*o`#=6H`M{)F|aN)rkBV3n=(GGmrQ! zXaGUwB)JP1)zma&1XFfq(NJTonq(%`wo>kbm55#gI8m>Ph>%23W1+9er49qrYe7}E z7o>bi99Bs&pf(Ay5t@a%B1wxS?r#~P zES;7xrHVNR^Fybd*B7N#+Fj|%x2cWy;PVe`|i#NJUWG2ToAt~ zfemmo3xRf=)X|&c0?4BE)5C-SBTW4#QB1gU8mv3wQ(K`9UfL|Y1iQ^}* z*Z{$Nz*g>Nd$BE?=L>UDuHN1-vhVA?=HYbuK+jlOZr5#ztM_w(_}jsypV3HStkqg9 ze|tpF#-rPKqi6nEe|_Qlzh6D^@ykeZg5K{y9|+|!u#^9J+q`y{==eOkv=HMz4Zlo+ z|KwEF(>X8QYV^_JpOP*2yq;d)|80Nx`aJ!sdnCM4S3CLluclH3P>w2sRP?y%C3Tt1 zE^^#O_C4-1fHT9euVxtw3y(CcpiHgU?WD^M@cbq?v(CG72oAb%bMy0aWt%y@-`Py( zxt+9h^4R3DnEuUW4{9`Tsk5|2(Up{3ZtLiadCyOdts)%t8r?`V+%K=9T<)KMlh68& zx+H+~O!lq5_LZ#AfF~i;ZMY2BSZ_H)!)|p7z?o@rkA1wT3~IQV_SXYVpon02;d#H^ z>m;FMe(uPFlFJq#@LH@Hz9u*;ok&HSRDtK+2|M6N#erl57vi$g0?wjD21m?^xtY-+ zUx)SFfU9k8(^4FvOr5C6xmr z@kU%r`)$EVhAYx9#h&Q3P#OPQn4&Gjo!?x-UxXX*;sF1?tg>!pSZXZEe=2IHLXKm{ z=wO0W8nqxhWG0pEKD- zB?mF6mGCzsgbUO4FbAqaopovne&oX_7-)ID6wm}Mn+xRg4Lb*rNS!YL&vEH_hr|nw ztR>mOcY_1fS;{@dpE6kFWdQ;F(7!2YKii5F&ZQjKW8p?0>XZDS8}SD0pkX8b3e#%A z3jz}n=`Uc!pF72IyN7r4Q<$WW7G6?a|>0Kf`{ef!mwRY zTu0yCPR<3+>eJth27CIZzuKA7LJN#QA!MFh=;P8=}va)`8N&nxJ@>B8GOZ;V$ba#sp*XBemKry^UV`oc8SQ}hkI>)3i>jde(=^urLNBH z+e`Cfs5l0m_v@akvxhgV@e7vW-VB}lE=`UPMy0QICA|jPF$T!5*5T*)v5Fk2O5%PS z(}v3a&16z%E=|a5VghTDGG%%J?F<$0HI$65l3zf(T?d*Ra`GH)B9}jc9cE?I2NXxvj~o5%^`H3;mV&e?*;yThnp7#$gN?Fk*Bw7!48w>29P!5tMEO zX{39Uba$61A|=v{PJs#1-AH$ehxc6Xb-KPrwe?w#Z) zA%Ce0{QT2kAN=yV6g}C-;u;eg&~f>?X?z!WyjSKzmmNMmXKqJ6v}#m7d%L%+HI*zI z*lDk)&F96u&iX_vdC>$<(^O&r#%JGo7hK(5wDrF^kkKoJ7eD_k#7bONau54AWbQJe72%)@c(_kz zw3Cs_z7q&0ypXfRI>6>J>MzE0?wWa~;Nz?o#XYC47%^Ckes(rNxfTA+T(%ZOY{vv1 z!nHk%O-4Rt&tM?sIu8$*V5bJv^mL~ID1U5Mp#&R@@J9M_l(tD>_|pqMiL;H>*O{@~ zYmYTxP-u7puVWiVl0+ewF8w|b&zaD`*SBYQfMmOFHsnW+t~5YNBVZ9nI)7KNj!jHz z88e>0NMZ(CLn455HyJ{Q_u4k|`};7ZF(8yJg#Wdmn@cd2dH3)FSyB60qTpxP!!S-< zUOmwi2MIbE6^LD{qUjqqS&^~Z+S?@D<2rEph@8rd5yEp^-fRGj@EDSP`Ax3(fF2GwsN67A810Tg&CV&8<*qbx{zmm;u1+0GAzZ1Hn+hLBCjv*-P>2< z`I2%?7#~7coK|VEef11A*n!ENH(xwcqwI3}z=6qnaA>?rM;e9SS%u|fs%T=u^X9u# zm`3NrM|ZXa3*0W*V7raG%O@C;2>H)~Z;qW3JEBG~(zbtBt=>(pFfg42P?*OQIbSeS zXm07=p!T9S?Yv^Ip7`q_9fXc5obG8gIMbLH#mYWkzby2x5uIW@7rCjLLRNr%eK>IW zW#@F!9q;5vBtw54ZwIm#1DmfP@e0{2Sw0m9R;cVWc%FmWSzx@oXbj_ixXKPC<>56VV@KYvWfZY2m zx>BUZ7Q17m22;<5SI)aeqJ$!{Dpi8HzYNOXn0H2O?GvvBRUx-alxDTE-ewZ6S20}T z3E8t6wvP$|UQ?`ZXzBMPnXL>~Q*j?IKpVZJ9`GhlyzH+b(VyDpDVjKsrHNIf3OAc0 zjE!(;j{!!zxVe8K;`QpxCPnF=-LZ8A8l(&LX$t%loJ6Z6c!9zEv-b#3=FJNkHx}sa zICuEK1h`=gS0;v%R}kMt-T|xOsnpkwiYOL+vZC;y85Na>QVan)P}mx@wwB<8?U8pC zooJ~kua!Oy<}T4x*0(YSQev#45du=N-w@}&xw|iJ=H8>*jU$&01hO~_5?&~OiGntO z);vKfW2fMz9-sDI?Hen$q6Gn1;&TU3C{`NdSuIZ#y&?EVDhLx!E!u20Q#tAVI5)Gl zPag|iVc!Z+fwybw@8IGvf*`TQHypeWvYVvqu|eH29dlJMnsu|yl3xn2(8}J{Fx`;e zBx5Hb^ua3nSfw|D&GKQ&@MJJPT+NVnQH%w)nq;AH#T#mzDV<$ItAQgrm*644-Ag=6 z6k4@tY<9>oe%XZV@1bf$ung4)CqEB?K_zkIZ3yM>CazqfKw)teY*ipueFPES@bD6b zK9Ge=SU9s)v^x~e#)l*G{Pa@JW89*b;4o^oc61=h9|0bg-JD=jARLizO=3}@U%)|? z3=_d?B#R?H$c(y_(=DO9!d@f^Rs(Q0#F)}vQ0s-1o+7>`0|if$P|vpKMq-fLWq#&W z71#&f?KWq*R12u-CA_aVDuyL3u$Ngpv}B#Ox*L8HCCCQLZ(PP6-^AtY&wX35*D$#~;4il+PVS^0TGL z>`!sLPl|kZwO>YrYmLkQIK!P15Kz{(qRr10qI;s8oVs8Lcw>cIoW|gt9_VTHbhl8^ z8n^R(*c1WN@zFke+ZdrZX>%b;ozfp0PO-4(Y?BTw?8+4K2?dA|4uf=jo)qXw?N;Y@ zA`_+*r8S0Bt1nP;4fK;(tbqW!E%@$F_b6v82p@I6p-bS5)w61K=Ne8=M32aAN3gMv^at^_ImJLbFUfU=uSiAqKjDoWgx>|=#1g=THfRncaRF`^-)4E!cpRJYNW>VBG@M; z{Ui!sd2yAg+YL%BB92^Kp>haf2RM1cm|qb^U;%_XY^n*-g@driB(M*59^JQ)X;L>Q z^#nC`4EPJxhZCPo;cp1Xga2{UrM@fAvhkb|l=wI_4@LZyM=w5MNsY&C60T2a%+c5}-^ z$p%Z7vpBDAJ-uy1QARmkFP$Qom8}%UC;k?T5QH0L=z<7%exiGd9xw-zO|Kq!T2Uy=x!I*AO9YbX&6f=W%BXbBnX2Z+$Jek zaikyHX6lR6dm>8YVu5D9!9KQ^S%${AFyLCSq%5g5XRkWR|uTlD^th82! zIlf-WL6Z7=dA%;?Wckat^`YnzGp89W*DRme)&T5|$6d?WIdK@f1a3Wu(;bHmQ&Exc zhga7{rNHT;UOlQzk3!IKn!LUsGlpVkOy0*8huUD?Lc7!4J0kdEchKB>b{MPA_-^C( zj;UN^sIK6tcOvHFWKL6ZltthcCm?`1Hx)+9of7;crZcIkz7_8t`%OZxgNoYC z4{5CIvYTjmPF+tpeeR)PW=JjcIHiNFGV?Ly{1#d1xT-+!lD@*54yfR&ImjWN^@>8g zk929+rH@I+AVz)gAb7Cx)ETbKvdR8!{Pb)ess8ubzO%V^KC$3i=Ypy9{F)HsB6?Qb zKEcUEIaZtG5`(Waf|LOlh{gpAQsW5tb+N#x2^blNKSfy@i2TC#lpStZjtXcKki*_C zRE*-yh7UR)X~~?WK%TO6CyjU~5qYstNK^LxJrNkNN=bztxeLOKr7bC0O{Pp3tdr~Y z;E-{#XI)ITTq7kRIF7Yq_IxJaoj9gKYZ4mu*qnKf+A(PV%iUq*hi3Y9IeJFgB>bRy z3H4(II-2vGCh(E5#_NN!(mNiLw+%#L(tG!!Q$m>gusS zOET@vKPeKE`))T1^$q?3biE$zcaW zd5{T4Dj}02T(sv~6<-s?M>tj)T@-eqP#pH>mmk>JZ<#*J^9f`^wkq|7~RKj;!Fn4rQqU42;+1p_fz z=>ve>k#7OS4{FJfm$~tY#b8eSwL<|2Bj<<`=sGgJ99G4RSHxln;`%A8z#;9!-DYrg zTF)K1r<*j@NjgU&-UE9^*@&ppM|>ui0!npfNW|D|Z3AgS1YffWesGGJ7>ze*_r+ND z-m~^rvOzL7&;>5E&^fpLlcJ{*Oh{QZs_`BiN!}>gOu%~>yHIuI*q!-GK~Ez=nRkB? z8Q?(~Vo*4n?dddnqDmv# zEipNVxHKjOWC=hU9kY@8QX=-a+BsD!wMayo?oH&8&guPz3|*q$t2+- z;g97Piae8~nupQ3s!NH_L$YV_nn_wYCX&S(N!-}ZXDuZYRT)%a;*0@C6nB3jLidc5 z#2fMEwf5pI%J=xbi?>LN66G-*hu2lMqg>C>Hl?Ooa1dF?vanP*fylb9F+BPVMW((Hw+G#PP1 zjJ30M0Tj!R7nZTPA~@3~!07M$r(IrOQ1x#a44Q7&e|s%=6+P`;T9tXR7OHpoKVUs| zs>K@WmG?~lrWm4YS(_~?$rSYw`$iYvRLnEm;wfz6?Mt8Q4_ob%s_|Me;lAB{U%H(} zJZM?#b&T$RyY-r#^GHD@p{t@GD46d42{=FB^f{!sYwHpxQ4OfyVFf) zEVNf-Ydp^6^(#zn0?x@LL@zl6T?v%r>|Y-&HZ!=FYlO9H@hviKxUM4YC7!!87Ox8! z@D?H3dT#E{UuBAUG7(3lk^C7+6fFiaJY3L`KYJT?A!W>e&k?$qTj6?n_PnjbjDNX6 zn2wiVw1+FKzBV|x!RDz9JaAQ{sZ73p!($S-^;|;i9dW-# zPPFQVZE?^_5@>j^=eGmmPW0ObL!(COUVxMfng5K=o+x+!KRSE1P@5Dyg%c>Cw)R|*?tMLs(i@W~o@tGm z2B#uZTSQU8a*?Ed!v2v`fiKGI1!D~Y!Bow}u$STsbA!unpH{o5WW0J>mC#^~)V1U# z@G7#OT%w-c5baht3ZI`VaQW=$*zu7Crz1-BlNdosmg24Y3(># z2=FOnxrT82Hbk~9ox%J!;a7Qo)UTD8d!JnUH>a&eB`oL81LyDe>a%|3kG2AQbfvOB zDzjfOi*UGn%Hi3~G5kp8FugIUB_(TMV%rd>*`1!(da_($T6mtQY`#Vo{@Y>Nd~04~ z_g9?DI(<}z^bH7`fI;@h(O0Ix+ecI0N-n!suD9I@K(Tey2zI8lu61$H~2(qK+1pY-=llI0VTe|Q5C5}7N@h0MD z(1DC$!t$s*C_*#y;|5!NaZNGJsPV%S0fmX+UoBy~FM-SxMv}kGJBD zD9_l~DVVW*_=Ix7jSUq*U!NT!@!tCV8nVn2w@MyzxgRu;ApIEH{R?+i8Bwgr$M|cU z%(VIei%XbJCg(ladT1*r7fY4!RRr+)-8Vil&M z-|Om##l4OMv$jp%{BX*1d;IhJiw6Bln~y-XX=in5k^>ceihFN5x1p|OXHoB_zuv%~ zVnLZ->IWTYrM!*R;R{t`CwZ^1uFdyq#-UZcSWoz>O*#_7AG_=#2qp9GP|;lxKk$0L zSBR|>u?6Qm%+iflK~g_tci^LW0VSHlRu&bZ;AIloKIMfszjiu@EjTmH)`Yp{>RN}~ zHqndzJ1$O$rC?aA3zpYfm&z`RjMx7!c_>yYV`URQIxfSV z1NooG)rXfJ{%vgCtrf%%9x*zC=MX6IEnnu2P)MI9vUf!bTN4ps1E22}v!h;(Ebll2 zCm!80Wrcp?-dyby%tuhl#k58Jh*me>aK#j~-c(u^?;9^a0u-J}q#R|j((npfyN0vk za-X$!9C_;f_2${H$hx68Z9=AOR%W%WsG!qqtL00crP(H0;kcMYZlS)z7BtRy^ne^g z33X9nZER}GYdsBT^bCfVW9hdwr*1mI&m}qqgdA7Go;JG-wRCq~9E>y$KO6@J3If9F z@_WqaQe$VxgAj)UnuY(6s2XMi&}hD>7kT>~eps9q=^aU|(_&M!q1Ko!1FoXxxbjIW zw-TQ%{Xq%bJ1&0qdO)^KFbLh>0=~A)lR?x-p(S+-p5O97$jhO3c<*TVpA4VxJ~t!H z#$;K$ye8jR-Rl{Zmu{4o_=p|XU8y&qGjB;$CDAkC(CvR99hi%h2qz+s`M@H1vLByE zDg6O{?3x9`2N0<%?-h70Y7 zRC5Z(S{II525-;!Tdm?+Wp*a_`I2H=Q;%IKA{~xf@7ZYrd`HLBokHq`@4@cclusbH zHA>?6!C3z%uVT67OIH(fDDH|boNTY1fOoX7ddRHbuO_Dfj1X6x*+#J&4RTjMRj1cWwlo&Kd zXFZ1sXWokRj4t5VJRa2ZOWD1m$EZL#_Sj>B@@6zR!fc-Q&t8Y7=*(oAz*sB&?li8~ zsqb$E)0R`G+j! zCBQ;2n>7@5Xn@$PU0Tb85V%t)Z};T!$wxs;4Tb@@0J1ujkVr0W%2h*>j|XiJW*bKs z4q9@tKNzZ(aMbI}0F0yYw~q9^g>~%Mq9iShRSv}0x14wkpiB_=><}mkEt%I`R>`R8 zJ(tTT0Jf}3C56un(G$kEq!RvTvxFwgJo|~>AYoeg@xIB_UnOA3YpGrx$cw4(-H{=@ zKT9(WWN_H-$(FH#A(?%yE>>OBqh}mhk*tLZbC8JxtNDT(e4@^dVYefVEs<|uf@#jD zrV@P8_f;PaZG{lrTeqB9tb>*S!{Jm})7PP?XgN7`&`AFuOx~;+AG+txDNdI%OkrQI z4H}|ebU810ZKQcgDU279n31H1j(6UnV{7Frb_SN1Z_$N&r3WT#L?#q^9V;88^Qrq@ z;xD!YV&H9e#-@juvr`H}{2CAY_Q%@+_fapIJ$B<@16r%?6ecnTA70;-H4b1sDmSi1 z8}5p`5&OHfn9Wgeos0~>qLe(fpAEM$pZj?1a&Up;!5~Phfnmw-*sa&(u?C2cykgD< zvYOAfdAVFn=v3WZDL2Fo$;f__ovm|vF6HaPlWXBl^mYoGyVk?hc-0@qr_hjV^?bmsu3!j|=#& zsxE0dN(!awnHFC0FDZRa3(@__m-jh{RoYXL8fwq_p+F+60mrGH6Qok+!jOzHa9}sf zrr5(Tg{8?4EX_0k+E^F4IGUFJr2IIclea2RO4I?vgYa=PJX;4$4F1L^ICM*z@B!l9 zY0CKa$taLt%kSUNh9*-~Q4PMmzatjB+1nUFTZn}AX$1w%Vglhrgff%RAVHiw4O$PM6j^rlVMF6K3n?T&ndaVybp2@xksj z^IpMtGz|)(X{ZBkGfpk5dlq0kA;BDs8=(;_Tt%5_=p)V*(%H5*wWXtrf) zg0>P5tk(1amCE@xC>tb5ATAvf5Vd3{JPDQ^IIlbCaRu4G{D$aSF{_dnCMIRE1|F%) z&n7}(>96y(i1~=oAgjbR5W8eA#^-6T&@r=tVpezAfVTi%F`{JKtn6E&mK$T4a-0Ob zi6Kxz88_b18YY*?LbB{9mJtiZ-FnuBy=soh6{{%~Y230{n;|*KdgKfd)bgz$*{a2I zRn}Pcj$!R#)vUh$g{?*t+4D19I4Qq3gZMg`Ay&Keet1+-o zf4x2KVdSLy34on!IKSmTj(aNm8d46Rc=A3=2_kOW@X!V85)+!&>P9s(w_330t!Qy{ zd5KFU;+m!s2~P5n^*;k}1{G)hcA-kKS-l;kxSgA{jtf8V60`yUSLm*GH1uJ-o%hu8 z%CV8Ax;)v~{pS1mf4z6YSU|8*L66G;u9%gc?ZXA44CBxUrw+=8Su0vrt1{1nKIAgC zVuHlSfO~?%9VDd2?Oe%76Q|>LQyxqOPxYh&A0wC#R_e(oS+x+BF0@A7>$Sdp!rm7B zlP7U6Y}$e5sB^s9gPw%Mg({J2 zYR6&t-TSy@Pw><_8-wC$pnF{Jz_A>i&0_>IMI(=}ns` zCr$hr{+9C~Fw9YrhveDW35BV+4H|<=mb|7W852GGIn63rIO@Qj{-dMeV+Hx`%AzkM z)U`pw^)CP#+i=BtW6+y)#V((hVv7uHPNw5;9JbdhpH6lf3(y!305kWi2q@yGdc7 zOZ+)mfQ^Ri*_4!uj|CVI=@q&Y%+z!_9AWIwjzKT%UGAx1-{<1Nu^Ux)aK-*}NZ!y1 zd-DS|aHoM7tFEgiQHOw6+S;l=TgFU-y)L=%t=Z53p?)9`F<~Z%a~|&Oge8^`py1PA zX`jiJt-wdg27P{-fr1!f<)AllJ0Bik;XMJkvA&itQPqT(JO$Cw2N?*GAP6{?=@Ab? z@b%qwu)_;li&ih0`NE^9W0UyC+N5C*(YHaoH|1qafp*H?*FO=aow_%d>~h)#x;Ixm z!Cu#n-XBU@NHTr5kY#-6=?DzNv4v!4p~OE05$*g=rqV%=239Hh78Ij&dIE8iw$cX> zRM*L!L;Mx@L)jr^1`K1!r+SkMdgw9VHmz#@1cA?`N*lu53 zx;$M$Oiky@!p}GM5|pkq`D~FZ$Rz93Byp@s`1>y$=$a-STqTKhAQ>3NwCG4xthPua zBV|Ll==t(QAIat6AsHwsN!^{objo24D~>jI4%-OD6dW)yl;*iP+Q$Dagb~+@b0q*k zwD1M+m8ly<8~ zvxY1Du;<6vS?}gk?{jKR--^^PzMn5dKc7qNV6dS7w_Nv(-tH(C`;FL!^G~|d>+P>i z-&p9)S|amuS1B3dK;1r$JN_ap{e}4zB=j!t!mtnMP7=roMor&-CZj$Vvq22rjcFp( z($fz03NGh^FJ}`ym!ixpWcdi54J&M}>Rv5?MamlFzob&$cyY;`N6AdNTZlK&Tml(DIRD+sR|;_M*WE2mYBQRW`h#(Q_$jA~pJ$AcSsl!KKPY9xnjARnHx5s{mWyS0ld6pL zQKw$4*nwF&z5dIa`X4L)`bpBI^W}ZUZQiHVf3K5gr7=|cU7$99vMu0$tlCV|jP%s= zI@q8kQpX+#v$fRruSmR;JU-*pP?qyA3Q3H+6!_wME)d0TwtS|_hn1VW9_F<1e)#r( zftL;kuH5q1NXr-40A2LlkCUs3)Z<8QdIGTjgB$L|eU@Pqr8t^vLcG%cD0hRpY6Ml- zzAxC|P;Nab%QWQU0r3U*Sl^=RVXeyx94!6KVs-(-tUgH;Hxqsw)hef~B*rpp7pf*& zJzPTp&K+i9)`hI&4^th1O3xzrLUMYe=8L z9@g?w;y;9mcee{d;&8CH!EQe(K{>7W0+|(B$9#fk1Y7(;f*zi)LZ#iYP5{dKM?e7J zqj~~KO_FUOkeHM`snP@7{R{^Tpd#MI1HHkFsIN+@Dduhi>}CuA)k#HA82GXZ<%fIe zn6|f=EmoVV$QQwVOEEr)62nt0rrW$xAvUC=0a>Q>DQ3;J!1K`pvVCK88bC6DFA(0R z)iH7|2lr)N?GZczKJ&^~?u@&!U!y_WPqf2oTjRS<_aDAAuonKMx02eINW8EF@Exdot8c}WYpoGVE-8cSlK@aG$C{P+vKtllVN3x061 zYK1p>eLysmphp#uSMxa9Dt|m262z~(Lj*_O7>ydm3j>-nfXYy`Pv|bB!ZD^>YecyJ%!6$KpVsltTB@p zdD*oES*^IF-~^b^fAYK8~A*ca9zSA@Z=^CrX;fTRX2( zjXqL!cMLzk<2LJyNMz-d-b&;WnPkT!%#GJ3VGR5|txzu`E#PKfeZU+~$3X_%I&R|C zN=Rbw*^Jj^(YVZ11wHHFZ(C#GL|;-7rkWhTR%n%_Uz7f37mOeCXS=`o3J=yY*;BqL zHjG7fE_dQr;j?qw6>7rTG5QZ~mU(yDfsPD;&ik>xS8kHiF)7&dz1B=D{4|CrS4yK? zL{^VGf5TgH+~ky`oH=@vp(mquES;{kdT8Egj3H+SlU`O1fsl@jub>N*sUO*quHt^7 zG;P==!W!VObjf)WTyy*11o!{G#3hs#|2SlH(Yq*pV?*RGUYE~Q1~Ug+G_A~YGnd&SSOVqSye-N3Mm5tg89WYtqr~w%0 z6K&J0KuoycUq50!26t1qJD}REFj2U*suf8RZb2I^>BT`*HB78zqfl2NHMK<1pMd%v zn?og7;(m`|FS$?Axf()n(|J!vNbo6G4fQ8x8?wgzl{E%{BzUgOX;!cqDVEb%I z`~Xieqsc%hA$qYi5%gFO@X(TAqP6MVU{og5j3VNIv236>%un4} z&R-}yGP1CzR~1A(iynP2qu)kI?MGq-y2oG4#i5k7o8}=YQdHdKLmUc1332G~P^?*p z^pqMhr@^AKO|=O$MsDj6sRoh*J(3AH6huIExT>H3vD|zaNa{l#^}e^|9kj%pUv<A)l1aa!;M+?_Q_#pK@9p0tHnIl-wSji8AefQ- zbsvrCyYqkR*G~TL)EgICS;7M#0RaBI`|ux$6AMI8C5au566N+DefJJi!7Pm3QR}Eeb5h9;Ol{jQ75~h0iTp!$n6%g_>9}5EMs|R)PsETZ zu8K-Ef*QvYrrwt;XlDGLQ8-M{uG~gGJQ|ya-V&(uf?BG%oT8QSmC2mIT)(p zLTb@c@1N&x4%r0^p!d1_NyRIW%CZw?XXsFj20!Gb+AI+DtWWI<$q%S#;8#8fNEg!S)iU`eJr`l2xEonzMTUoKE zq6)A7CwG7JUvB5E65q}q*ZXd?ss}`fXN7~-==5d(t8iX zyZUI0G2)gtQ}H5gF;dQ8%hpM@5fe{qXovB1+{6_92iHnmW*m>9X83RIGtNRgjtTY> zZ610%g5Blw%dYeIlx%qfE)M*6)hEsAw0nU ztw+bRT3RS@26EWSN^F&qhN7vcvO^H?ggWa}k1pUg@H=0<2dM*m;6J}Uqb4%TQR-*> z<}4NX5Pv;zyWCbVtL0onX!Iv$X}`75(T?>Et2J^o<2}h{9CG<^Z8-1`Wfs~@suA#N zKO%8#s0Qqz3=6^WF=1n+Cqu+)d=baU@ELzqxAOWdzh#1OA@HkA-zVCJ7e5g`g$&0q z-b`%qVwVe<&3FdP3^)MPRqaDtB#C%GXn84VJn`8WE+(0rpuu$(JgHm3w0zFyYc}#n z&Vwc&w-xbHF#3gpuNx0N$8h(hURA|gVAk7*wrTuVY^^1J_F%Ux^JT>gDF-S~{v zhe+?d9FSt3?U!XP_A~{*_nHepS1EWuhgM;~w0h}n>mAP(V%tfudvE1TyQG!~nMgu@ zNrsl75o5G*h7_(fxqTv0y4I2fW0WHbp^k3{f^mr-@JcUUNqIThB|OZcF|&S`uShBr z@h^m3kJMv=KRHbXr8#EkxjC8UO6td=r_A?!lr00sZqtJ|+uK1Za1C`O>9$l<8hMww zi{>+h`=Y#BzYL(RJo^(1wpu1*Q|AJtSwkzSL|SCnN(#I<2%g^Kx1%PBZ}b^*;f;=b z4>XUEvFVek)9|Hsiy+^)Ug@2&oT7XOVBv$I!K1081+ZHzkR^sS1aZOP2{~{@Rdft= zAUc(BmWk5M$z@o8Kl}w%uG1|0Z8D9i|7Si}Al0JYYt764LMk%wtYxab4m?~VYgkD; z(KZ?=)?2~ti;}3LGp`ru_^0zY%yXM7r@Fk^ik7$OL+g}(6bZSQt21r`WVP(1@9HTP zWol*Bu_Nur0yN~hA(NFbsk@iuLJ%QR(}>&D;|-8$5C2i6+nu_crQui20%3;`7UAhI z`1AMzM3@r235b)kU!0*f?lXucv+72>)G@~Nu9J@_K~hI0(*awcJ6*z*xr8?^7euf5 z9%WFzG~}Ur_kQ;e){l#qZFltd8f8;-`+CqLA?YtSh8(wL$1#8T_U9ZM>}KKs3cWKKpl$tmok;8o65(5?(i}o#h%)F%vPtO>5o#WvV+AAICxwl z1Mhy;I}_5@79&6;+5~h`bsYvJ8|F0HsT7h7I&5n4sjGBVH6y~@+ni@9T-9XKuLs^= z{e1gN+UIKw#_7R1i_72(mQOxiKO_jz{|@8)IjDdXx$I@)+&6#(aiNsh-i3;~#QDA* zxf85^RiW{LoIWeB>W){6otyj1p3-!O#3JOINTw-<^fkvFZ9;E~@-8VDwGh7)0`}Sf z0cip(rE=8cnXI>aCmnjEw4lOWrb15o{4SV0NP6Wq0RoOTBjZ)iAuQ%b71v{Sc=^NkstWS>g zzzcPD4ZAdikvdc^`I(W4x4O33_D_TA#vrmpb=A=u(Ol`2*>*J5a6Y|(msIh~4{3Xz z#ZN-Sr1MmGF-n@7DQ2p!H1(1%IUoX0B#J8Dv9jE0hL!*S)#$hk8rU;l{pdl_goRu6RSy>vPmUz!18sxXWxmNslrpieb$icB3m%i z4u7GXFn0h8J*w!4os+PCs04G7&1@=vhXU?0+<%w??ylyWXirz}bZZl+&gD_uVWi^2 z16c$g7W=VAoG^}08u)sbM4LjhAw=*y&;G73Vg*$hu3K|$uOi^93ZFPNM9qs3UL2;# zweCuK_8?|L`f$ZTYAIk+duuTnhT?(&Rzi_UP4rcyajOCI1!q@?Je;_UaM4+yP+ZNF zSkTm#uNoNIg1kDbbW6o|7(Xvbt#mzeQ{T#hhQPW*$hxXuc>sRhdG<{o0*t_km=R9( zPCWcX87PF>x>_|`0nFvr-}Gf{rOZYlk-^<=dC$lBhRIG-8}RS~4iRqvA5})%v5%7s2`G;~F*e0VGmRrY@4HFY{9CkGGX4|)nZ)sW zlKY>=wjSiKDP1hZ@Uid1VnFA20 z_HW-#AN}wk{#eZeeBLkZ{f9hlw-WK?hfkCr?DuM(lG+LoM9)&%HNN4%nIH3lWG0f9 zA#BIgJg5!nUY&X(K$8|(uj3iJP$7O!|8woRcc;mA`>@~IVIN1-3qmCyRiIOzjp64_ zdXgyG@O|ah66g%gA@SdnvGZtkEl^9Zzp)wpHSwRTvwVqBq2#2Bl#8GUPxn%BlYgaL z*_Y3PjSK7=sFT2vs-mEY|24&8&i|Zb?!K5=aM#YG?R`TgsbCU&w&ZR0y%dwL47LP& z^lxeZ3;gmSl_T0dxOA>_atW^0&esD{Q=R6V-Z zn-Qg4ec%Z(v#oUnD;962+>pKb=TuMqT%WmRepeb9%`HNHB(x(Bzh3x6g)GC3U0!F6 z)25m2_gge**hMNW(+}fX*AazO{j%BGinC!XvdeiB`$~G`Q;JMC(M#h>;BEi z#rM3K`L2h6pM{!_EgGG`h{GJQVrx10fkiipn-!?P2L992Zbr8k$;vP5GBnm@Yl>I3 zs|@D3ETPHwJ0J^?x}LnwXeoRdf-JhRRKtAoSj9!yMLjt#o9o5FA($8s<&S|bKDF`U6c-Q};u zzxeiF;ly8-Q2zkYV`o*I^YRy*S-$8Lma;;7CZiM#Rrp(5LYRAoXSQAGM-his5gz>X zD^W9hr@HIyL62Uj8~pT4X*7w9BCikp1OJ80k6J#UxAhk`zEFDTU!4jGIpO9ppR-=W zLZ?QD8LEU7@Bn#N&^+>(`JPFCAjukE`y^%*@_9q6?(3Y;k3btb>2aat$L`1e{d|cj z21dI1p3xCC!$nyi`XQ7mmFhc{lh0bvp#a2trW#H(zm!{v;kp8=0R3Mphp)i>6eq8< zJ;xrow0)DeqK;q1Mug;_aB0e0Nz3V)a~hqIm@kYa1VBNRe{n$YR~pbyZhTG*HZno! zTVEgI?uCA>Ctf9OW~-9w18kD(yi2$7Y~3GVl_eF+%%;R6@sy z%lS)NFau54r(SJ!N(~jU;ro+*Goz(Re9Op)5@R`N1R-c3P2P>*ej*$dSgvMAeoj$ry89A)^iZs2 zZwK~pf@`crz?qIAUPkV+WJ5%~-haI;)Hj-Dix;o9# zvRBWsmio(sDKN?xSem@6VYt2(9L~!>PRdDTlFMq_&1tB^b3@u)uR8HMM^t_u7x#hhKU(reydo$9?_KyTTGK6d7{H+{e-Cv&-IcI? z<{=_Tef@#jfGo@pr{gj(Qj1erlEE1OUXvj-f-g-hPLezxs?~gmi9H)k73)Ts=X-6j z1qz=T-irT&tfJzU!MVSv@B{v)>WKREE1PU{#IOsxIN?={O88%Mt;sy#jMCD@epX|h z-)#xz#@ORTpRD!v&}5i8$5XI;N_ioa4gba`&L$R4ar0xSrK|Y>H#1jYj*;#K=dDN5 zqV;JKonbms5oSMF*RI(`s2SEO8+Kxw6sU7(jC4|Q|7jk z7rA?JkG$v7iTe^tvq^Wk@J=pn`5qKI67w0=?2mU8fO9i|MKEl%yZfYX2L48tuT67S zN^`g61s}ZeOH~3Fz(!0Y=bx_DEJC?hDx^kqjm1(SNDxLkqPuPLm~`_84_)=DXaU3Z zo;l!!sbC`)utm*Lx;ew3Tv)m!q4xvA%hW*Wwl3jgTQe_hoF&ugpH@V{Le=D#Fm2B_ zGFOFTTHk9Ac5qHBd=6ifw+o?}`cKk*s64HSN|!oDS3@tgyDH<;x{K|`K0eQHWrsB% z`Ye;`Z#{44#b`aj{|rnXgCz6luSSmJC21#z_Qo<>u`(BFsRGX68;SYk2~(j~{&z}Z zYj2c>XSE14EKNNA?M>GR9G?g6Xa*zaikxmPCYcN_Unrgz;nXnX5EQWaNIsnsS7|PE zK7ox63PMW!=1f&B-%%HcoxyDUM^nMdiLpOLzTO=q7E#H^asCEhSGq8x**2M$0y1l< z(sk6IPMIE!KLkA`EiQ!{ysK!hN`_J9D6>V0oS{}uD&ZgHMSo`H0ys(ZZ<&ru{jo~I zcLiASH7tIu{^G&QN7x?TfBRyz?%Qz>Mi4>Q~=#Z3-nV~`HZWxd*NkO^< zq`SMjhMpl_ysrEC-S6{!o-Z@!oO|!J_BxLLVR_1(ZO%X*<}l&2md4A>jC!w(z}$!I<|YKr~A2S9=1m_X=GLjy|TZ* zTZZfQ!1OV6^?5^S51>8Tez=_ppNKBJ3)5v zvc0Y^`-PIsy7o;te$S2DOX8~vbCjS*WUGL0iRbSHhtuRVdsnS}7wYLd2^_H_vZrla zO@hN(Q4%h7@O+Y?u9!yRtL%Ix;OX3*u|4mTY~{+$LUU%VyuI$Q<{uF!UEQ4f9r3({ zbdsA`4IO1_Stm&60Lio0m^x~yD8s39%^VB6mI8Nmxm3;Jke2H^!#8cVu{L zDJj_3i?7Q-YNriKZJfAD$l?J-7Pn9If5Jw0(pUrNHPF|nAmT~kIJ;hT%KQT_Z#mF&{)fy8oIwdq+@>Kg*McmQrrH^5R@4X)@^=q37w{B`Nr9gX*HE+<@#OSqu?L4F3{M zNb7(DuL7c)%qWsuwk1l&0^RaKmIG{wv3xm8Mp`))RN?;i511q|0?NB@Ak{_w(-kHo> zyE+qVU(WkO_B6(r=DK7Aq_+YeoE4;B0+1x-$XOo>c)5O1h;}{s;2fakPFmuC^S3IJ zzprQj@M@t}xl-Uo52RcwwD;}|AsZsT*4L&49|!*$JlVr{BQjgaVS z*nJpuF4^I#D>m@Wnn7Ae^X)!@J*TIU;UJm$#4sboOc7_UnmMrAIdiXVm)re;E-4uD z;7oP6v_$@3QCt~uSt!8cACsVz9ewHVtBiGZy#A|#WPK|dU3h6KZ|TR#HLfBra_;rv z(zL$+&(K*WI#0|Wt%`ndhtkl`kkus8@S}83kWoR@sN>`?RQ zKd;1nFR@+Wwt2X!Z<~rStp`}XPwZIbC%(rLIla36)8)YEIXg#qX}B~tIzdc$pDSpt zBe2-4_rp(P>gVT=hGS|5>8D!{w3@0}E)83Cx8cXEk0^RK zm?pcmri;xTD2E(@rGaoN>r_)qiJ|^>e&2Rif@w#O_L^`_6UHOVQa0aNHmnXwZWJ-@ zi-8eptRrM-Kxmhf8B)oXyk#z^@zV9H8MB7csgniZe#}I) z6A;VyBV&!QXG)PWq~Wa$$hEB?1;$ zZd`=<8pbX%lDnxP%VKQHxaXIPutl^Vn?*$W zZrua+sULX*hB<#u{O~t@(#=1}C*i)6XPS6oi7^5qh3t6ANjv=&)w&a4lldehFbC?9 z?b5^N*G7%@lI>jf3diey&2?{KIM?mv6U{dKLYH=7)ptOs;J%K(FrLk;8Y#r;V1F{I zK{>yDrc@$RDk}%zicl@*Y81$5g&7*WTgxJi@LneJjIlQw>5%t&b@JwClyy4w_e&so zwgCBP)G1^6ugKl=$tDc8?en+9hc~b2>=B&Vx0N4j8DQv4Pj_4sWy9%MN>63Cj`-1& zn}XQaAauH>-vn5N4(?6ZSUg6jI3XpIiSDc~?B_TOKt zp0zMN71}I0TvNn#sU4L=M6YX_1!v7Mo*%_(W=Kp#18B;OOpQIXvnYfy4HFmdr6=6p zOdTDkNQ+Qj;wV}Qhp}jNZl=;`pan*An(}BmttUu_cD5t8aS(T5J2Pm`Gs%J#@I`r$ zbUhaXap=vzA0%Sb|L!ft&FOPbbA`20IWH_5>6*^$tA48fJ&q%eXl_3-EEf=OPhhK& z^`-#H&f651ybS&NpOqTlI%5OT=%e=o5b2s%pHvInmq=1*f^>~Wx>vw@mcS(atYqhj zmOmeprt0vbO;5|2Wa6i`O1`AFvb)D$Iyc0Cu-1=e-klNq>ZTxlxJu{xY7_}Gab1>= zi>Ow^FX_xTt*HmpZyNYUn5Im1XE}e8M+jk@@b972=mmWJ!C4j$!NFTrVX9PxzrLT9 zEnAR1En;ysOeAH4fJ7~Hm#yY-TXsY9-@P*-J@yZ=BTqH5-d1|=%*-nxwfbB`qb$+J zvifxnoKc8;#D!a@8@c9Yq-)#;Y`tqlz+g@P2oilhsK-v8uz`NsrGjYg zfDhERs01Y9mXO3tLJ8t)8k{1zX*{J3>;_{2ZS>9! z(bD99cSz4tS@v6FqkDHoq!x;!gI_Dzu|QXtC(4~^L@m~*uUHlVj}uFNt`@H<2HKI9 z{9+XvvI7_bDFZ47WRpJdc)7x0fgFFiYD3j$(A!`eMZy|$Zc8Ak+OM|RPbH;mpdXMypx@7f>YRUm* zYV4ibv2YY60m()oDh3GRJ6mP*PPBh^lWUO{VH*JVzBS&fCje|Q2-P#nO{G>9HF{rj zX--ibH_e8Fyf+Z3S*L&T{k?uO@!pwZ^f3_Ph!A4LH7}Yl97iUvP{pu#ejGo+d`S7* zZ`|W<&lKoFLqYA|KM=U8P2wNoKbS6V@`mz@)7KvwH2GiUH<%pk_)PlXbc@I+Ga zWG~%B0=$+E3~%SqY0x)t-vF%RXp}HXDDM(Zbc%ycJRL7mxpJL(>v>7}OQ)6ug~D7R zNU9BiGi*?93V;-bHx%%4& zF+UU!T$|^g-s%G{N~TAyP5dxUeLdPwWDF!$s5umz-3sMypA_uC&hOIlBk#7;y()IW zm_IPM%=*|AvB0@3I~9A?+*=fnNiFmoj~JV@7P2(jp1GC0GrYL?KKg!7uFhvHTkj*I zg;eI2jCY8ew@<}#@)zyF1!U2p1{XjD){7Sl5QO;@JrvFs;Pr9U3`wcy7%fLKyKt93_`?A0yLkY?5LZ(i&Mbvuw!DpKnM+r!aLnFT3!ius*-y!hs}ESmg_I(o zgWV0?MM-g(f1ZOVfjIt{&0C!PP}0@cu6}va(XZc=q{MQY5Q1f5Cpa@Z1Oh*K3GGh# z7fHUP*S1wKQhk7o5MMxuGRmh<)~CIFuBqGnXd?E>{FYQQU{q9`qz*F(<3p<*GFLeXm}V8UR=OqQ3aD@^ zAl^Qg9)Kdb&Y>vv8ZGilt7q>9cM|#auDrz3y2(h;KF@O4QE~cgPoZ9Ba*OLnWsH)n zhOxtx0TzffRW(*-P=eLWtU_Y%*8_}muMEg*#6*6SUd;~@z8W;+ME+Ymh4ZVN$`_`9 z@Yks`B(o%kyyJmYH(IZIU!s*{c!cc0;y=L1FZ$pxFqQaIXxvd?P`pU7UYl^%)_I_I z8ZfP&34M1W>1eTxOOxgmg?05XPPdQaX=}5rl5|#ZN$%i51C`vTk#Ix|`)=Ciidr7$9Gp_E%y{dHdIqTXu!okJp-UJl||K})GK{6&%<6pBnL zeIh&dET;P!z^Y&#RKktG#2r0aVQL3vR(dqNkC4t#d1jNK+cK*CP{0HpO|6JA)%)LK z2^L4uJYEX&3TzG}S?2m@0}#Q-a=R4Hn|9uD^2oqN+|Vq+^B9y#(o0-M!WJA>)Uq8V zCfD?ou!9}y(E+kCc*a2Sa1kQ#Hi61XMV9|$xnZ2H0`i_2(~rAwpVkQ`zF=u?2so?YN9 z3MK|E2^sD0Ulxpe?*c5uq26OwDV(N~oU5zqG?%*r?)$+d8&4WRQir3Rov)}zcxWEt z;I?XX`lmvNQeBp8)^de(^@|dS5I02g0Rg}u#@Zgs+^F)f^+3ZmxgwKWlQy{`8SqVT z14r5Sx|d4MptjvFG9I&=RQ~0_A&p9-P)3qVO9o}Xvd|?{H)a8EVsuonpwi8Z!Xh>e zjb(j9V!*$j)e|M2`*0t8oNq;w5;yM(HvRyd3`aQ(^Bx4rbbgTG+}7~V6FbDWtC2-B zRltE7b>H&>`m^KaWjRxJ(KZt>;Mqt>3C z6bf%Qh!The`&(<11!}*rU{fq;`k=V$;>+)FqGDmdp6yJ$wks=HSMfdAHdIj00;@}5 zwTPFVPf9UYzK{!1(4RXRvE``wcSAo`uQiCoH9^)TV6+pw{J=_)=sP;Y-N(814b}#R z5j3ejT~3)X5uVAualDcj@B%~#zT>Jpy?!er0OgD@;KVc=nxP50wnL~|q$}n++wwY` zIAGt&F}!;-)$tL0Wg>k}f!oya-5Mat;Gm(~?qVw7iivCE2&~T#N+x@_{5?-}8Zi@>myg zt=9CrfeH`H)=Dq&uKX?7&__3MM29qFkwW=54)ToZhy4xsmO2%x^6+dfQ5E7h6NgG! zrE888A)wMaks-MZY8{!H~3*IzD&{ULRFQ6 z-(OEuONf?!lMnxiYdywF#OL#5DQH!;o)cj#_o;t#evDgrFixanf%})vAb?3nclEA{ zk>HRf3K^VUjvYu`#Jq9Oa5!QcHnGu^zaF|fUun$H|K=Ie-GcVX0N zB+%_6rO0vS$w+X%W~p1Rs>{NeJ;_dKEARKo%?-nHcSVS?>&e2@pY3OF^8z&}Hlpnt zJkOV&)pFy>Z_r=aL+6u}9)659d$4`F`aWIEiP}o%U%)~(El=vSPZEkLuwy#YBfTie zgTl&M^Sx*>F(UKD#u>a+$SF@CJpe~Er_GW9=ToNHXrl(&{KY%DQotdy#cZtFhj)Of z*N2tBUd8O}0^eq~0f3&Ui1W4=S6s3By&D^0(=@x;@wt!_bKWa==^Ghb1GZ+|kV;;MWg96w2aJ4Hxlg&g?ARc-Bf4(gF$Bae?p z&5cD!{=5ZmtcaOZY^#{y8M$#h9qK}vUYJun&G#oqy0r`W zsI&m?5WdK0i8Of~1-EtQMU){tMzUa&A9j^VZfrz`ovwan{rbjcStPZ?1nU#As@%fb zp0$)P{uS$lF;Enp51HTbQr^_`zvFUFH;O>X%{Ga_q-G`ejZHFukW+18qcp2u|b zw;-NQ{+P9;-M?JvXoz;g3-8s z+F+D44nZ!B3#}^y(!nyk*T!Q;1@t{E_SXC%L;O91x{{{w&eyKl8YfRl@Ygtcn^l8H zxhCAXNbbQIr!7>l|| zuV;2Vvx<#9Ij=feEKVe9_nAsJYlZ~T?wHZ;Wv}jysw!C*4ahI-R5oIzf1rl|mnc}X zl)7_k$le3k$WRS)O|(>Fc=Fq#go60?u6aEk*(9XnFtM+0#RB6JA66`tXg`sp9X9@& zKt{Zg9TD9mjP7pd{z@$^Sk2SHOBy#jlFkv@rGo&Qa-~%Q z^{a{XI4T{h1YX*V0NU&7`M-r|L|f+p$pW+DH%8N;HG3;fzS3n)aHE4>ABVTXX;CAu z7dTZ`B`VMu1+Eo(6z6^8o<{utSEj(;!4e$_@>uW>KTYUgVh)y@%ih(8MOjav6b`=# zqHC{;(F0ZUVir(&pcS+Y!5g#m#LU3bWp?@~@H^@_?3>L!NsYDe`m#6K7(QpGPbZ3J z`jdD7@}X<07Vrdi0h5M2dqG-4gop#ffMcJ%Aj+e07Vvd$lggrpAOe z^2A-}wEZ2ihk;a-%#m*c*D@}mwr(_bdYvwfFuy!WBt~|yTLXT}%nPTu(k-AKZw#!7 zRk4DzjxkrPygMN}x}NF>s59J|YoZP0%{>Vn_aCtQ1Lt$OpBF37@QNNK5iKz4SMJAQ zEG+L?&vP)7Mf7_5Iba(yN<>_wH(=X)G_G2ig=0A zuVmszWM2{Ud0YLkNygA~vscVEb6Q|0)nSOI*(~V#1$vHG;2M0wDnIBboOV4VU$g9G zS87+gpZI;XBlxdRtxP}&WrvNDPwj5Es3C4>PypqQV;HAv)|Y4CWIu(h?uM-qu#gE2iQ}} ziJ+>bayA+5o%+_I8QoW#e8`GWxUd?QUHrjCYI!?m{qe2fE{I^J4}Em4Ayz4M8I$PE zo}-fFCt}WL(L?_CyQ)wPxzZf&!#BltC%m&4Nj9)hi>g&5URt(tyvTaQIvPRro)H5F#F%l*ht@XuZoX}IIiBdZnPa=TTWcm!IDat?%0 zXtYVuiL7{$;RDmcsgheeZTbG(dF+@Wnp}j=18-CAN!!{)!WU`;kGF6=;fcyA$mxhC z@UWL7e?bcpqlYi6|2(UmoCy#$_b#imj2PCg3I$x=f(P}4iCqAx(Y?6BBEXEuxf6}v z!>1JVv-*OKGY?BM+Iw}QyJtPER}wwVVuTyZ87jULLbpdY)Q`ies&~dj970QMNe4pP zHgF#o!J{s(l*_Zv;ESpBo4a)4vxj8I_3s`#qdOug>Y(VhOAJaVf@~WCM;n0iCRHvQ zJ$RB@f-mST!8i2h2;Obzz2r8(54uZ|K+oNlquE$V^yzx^J3-$msg&ETcPS5J_$fCJ zXsY+t&wE;5(rqlK1mc!;VZvHMq5-~<_GiM3KFPhynW1ARBi+^o>F_;#&&zc2)3f^U zv*rHivrYK5VC0cV$Rz;LVkH!@6K#U1avbUUCVrcVEC9nfEH!IpdnQ(VX*3{pI3hqO zqe$wbKBz6Sx6KP1zwJ}RPBQP03SFV2QeC0Utd_DQ+pO4s@p%yez$#B@H{(PX}QMrdtdM)15Q`RoQM zuxhh?Jtsi9v2+6HDg?EJzG7FGTe>bcbveRi2@{HN|VoasRT^uqoXaEs0Xg-k^QRDi1`WX zDr>Bema}IHRSrEh5Dwpd=N1|4+&oYfFF6206QA4~aRviKzp~p22DSKq2ert9D%Qt5 zw#_CFMvQMtHH-%hT-;VbUU;matnjmNDr39>k)$o?;Si_(V_Cch><{%-@7H&pnT{)+ z8+L`HFy23`liAmnxhL!T)Ch#DtM6CZM&7hukT!4v!t+=r~qM% z0@5K56{_9Y^^CnJ(?eX-V-rjQe+E6Q)~o8ROu2x_wpR@3%NaeQ6GH3doI*E|y|>)G zRvWQ1R>r>*kllOKHM_W~U^6kxmPcNrhgIcf#B#jn{Su~Ldt=tazG}qkz4$lUtND)+ zn_gW;u#hoFz%bxdy!}v}uNAFAix}>PQD#Kd(-qg6%=zwmANB3FQiPWkZ`M6nc=-{^ zK?%91wgkU=;+9EKIF_e`jre}bdkp?h0!fLD-^Iw@=<}t4Ry78sv5Yok2WOm@RdirVE?!aktw(eR0_7fce6D-!iA8NZFfYwq4C#+6`lPLFeBR+I7eMe4nTyD3!^Y(DhOh0g_s+ZQUL zuPe)}230UgCp)PJiE0KUv3)mFD71Gukgn=vm1Ez-qOEF#RncQ?N1a~k7ag{`UDw0L z4~AJEu*ic%D}@iyV~Am>m?`q%a@HdSNn~%r=<$TyA)IaUWw<(A@dFasbuwX#n+a5K z&MfxX9=)plzGL6cZ{&O3!6)HlE#iJ;5YB*{F=rK3>ok$> z6}cmXv#maa?k9$!xzZ=6Oa_%cJG6JLmp*p$)o66SNLpKQ@b?v8P>5lZuE}*P)7M?% zq-d|Xx^wKqB_w{GgW>m~Hc0r?LDD)Bmb^+;@aPW%Rv3nzKs}jCb$tC^+P1at!+Kxq2~(;Cu^$#|)t;&dWJ;0Zg-zIZL9Q?4IyqN4?b1W^DXelX|* z0r24tR|otEXnkBW1h;LI^BUYTCi!0Dwjv)y%5KhB%MiC(WsgU6cklzN8+d5_X?KbE z*=0$$^rIH|vP<#qK`f~P$^?9b(~LZlfS}j3NxVL&AU7Zt*V$iS^s6iCpLYrCULxlZ;Z%+u{is`}CmR^18*6lr{Yzgsd`tE@Ox^cFIJ?laA z7zV-CF*$~o@?ybLzi4PQUI53GGgjIheJA_RO#7t}lREJ4@Vnkp)|2p^m4>q?d

R?qVr1t^!8rFZt0%fo#BSi;JVxj_BnJaUDueR;;hRN zw1#ctbM@=eK*x08n5oL_+S_jBSBTps!*tCZU8(}2cZ9BW{j#;oA1GECebW9AxG)zg zE_C$8Zn=s8=x~R#Qtp#%fAPxw5J}@pzuf0zhVOo87(UdbQypFLrvsQ&bpjneD9elH zlYqKnM`f(afP=0V{ZI6V1uCJvp_4v(Z3kv{bB`2t^a#pO^`#BWzyCZknSz8d53l}- z=O4qC#QiR;ED4kzi9|wDeM9e&;QoQnwq7|0GHNm>b#Q%c?YgB?hV< z`1Ot}f65JJKInTzHV#9?6Oy6(!^s=s&z73KFvT4{cl@GDrZ7xCnc0e8m=WM!aa?RJ z0k^qsHLL56Z0!FE?{B3O=jR6eTuE@@U*owpZ1qOf{b^*L_U`u&4bH~SbAH2DrS!UY zp8?SWy8O;@VdpEmr2CQ6@JvJV*c zxh6^i#r4~q@9H#rXPl7J?9&bVJJsV@^^VFu-yFCec=isa`OYAbd;BjhIc~Klp8o&u z2IBzL!q3UK@6TE7UvSv4mDg6#mzuY-IjVdr(d;8%__Rlyxag5N6YE|8OLtzfRmsY0 z=(p&P3C_n5A!mk<;He<(=hGE4)Pe+=3a3A$xnEHhG=Z2y8;RI zZ4j~_si}ZpK<3&#i0B*5S=)DZ28~M%hXZEf7#A_y@e+>nG=WYW|}}-{hry!T5B^K>yC=f$;i2;I>Uc4U!=y!v1o9 z>Sa{9LH$n!Z!MHu2fBqg_ID){-F_k}}X zzVb&4^)o)04%#}VkN$zPbr5XmLN!I3<8r{tmeyF^r#v9P%_Dc;D_?Dc%7&0Sop-N{ zGJD$!hJ58-juf{n77Vx4*X`9#DeXUeNtL`d65i_4D;O3@0+fG!_%Z>yf^e3b+<$k4 z488Zbj^7v41s9JaMH2FbG%8bj)7aI)|O<@)sntAUE^B&ujWLDl6jHkxMExRrgTo&Gb zjHbyfv<{Drh&lkLpH{4hsSEhql?$uC(?*t0FWEffz7@H$N!YFk+o8pp=|Loe>53YU z2^Q9kge7!iKeR?%YV2r%LJPp(zg&B8Mz=kswdm5af?k4Y3tygkXb2sF;`3f69nUV! zi1D$@9phwo#4)3u z$&O=dHfE329^znK!P1hze?=*jF;R@K!gN7in1+(>ug&$S@0y!QN$JDF zh_*a!#@@}gIl=%IYUCirXr|uzNV-TAWhx16Y?YS*ueA58()?3|sFz5iXK?mEF5$Mi z3MYm%_BMog2^9m+4fzZ|EqQtLe-cS4Z#fJ*?%&C*4HF>uzjlP%Y&L}u$Gcf=&IBC~ z+uFOeZ(wcd3|GV|E?rdb+ncR$-0wqlkSzv{ce^7Nx32G9PoTMo(p1HzgqLo#pWTci z;WmwTAzs24#pecHFr(|M!Z4c>2pyu?V9IL}rgij&uc<2Hrxt|o{yI%q-BHD3Sa-lZ znczW6;vr#|&vI`DVr`TO-BE}-5{`LSt{PweZDH*%a`^*PAaRpaDoUny?*kXxovJL zcUPq8By#(P5sWXM`Sd*T{mik7PVq86px?!I@Sn|vBM*ae}-H4Gzn=ZXsGAi@) z6@?3h-}W$yKDLdYT#tv|%(eKoX<{4b!5R?_8(O-SUDC@(x|a<;D}X~OPaNOBEq^rT zlJ1?G6&O$8R-dM3isaXI_q$yg{&r%v;Pg) z44YO^``(w(IM4y&*$}0Ec>xiPZDO*Th3ikjd3WJ|%oCI;ElETGP~d<6JSkbpq4rO8 zP435GW{Peu29ZZ>6Rup`+T$%vH}>~NnSHG?1mn{*5sZ5QY*?}e&|Z82{?5N^tfM() z=x`U84>8H1KMfm=?{08CPXdW){PqGgyHF0Y#tTc60H?wPolwIz#)_6RtRx7s+yQp; zGUn{IiTdxu#X&_ssB+40R?l|Ev3&;w&A&-H^0|G66W6E*-z(JXX5zvzzLS1!B?23fohJrLnC6D4Uv1UNftj^RYq_Q zgXo}=vRAN}fxPW=qV+YTpK7*fDYe=mASNcl)j8{;iOKhYW<;22MCKX|YRD;|z7#AI zlqxUK5^=oLm}BOpsG21$PqP(saot~-#$73k!=#NKflWS>Y?ro$tj9 z*Jx}n%cbkh!FSMqGV1S39)8a#=>w9=Kdp5J<0E8#rK_3YzYUh(t#>UzixX~%^8baQ z0=$RgD^zt2REb?(;Sk}-e)PmJ&HX`2P80lhRPe?J+1@{nH*|C;==)GJ`^(YME!%>p zGJaJpz#bQkLMSECZ#tnBfv`<^Y5h$u5c`FVc3V%JjlavzNH6+e;ik6v%w*DSYV=9# zqY>^E+c$D1d@4X8z3)RXRf26goYO18n;HQA9ar~tqo?0W{VCeM>{GD&*;&!`=o=@G zufb*ub^TSX5acq2CmnV+nbR<5nbPR}VL)(yq56o~+PQ%7MT(H;ZU?rIQ@bqMUU-U> z2V-k8v-XMZWg#Nro-EJ(V3`2~IgccpRYBn;k;wM-We2I**^MT7)mB!%uj5qD_;y() zu+dx+=N;#sTpJidpfj&>2ZhfS3W|#>mTnJ`(ozTgt#rBymDMxQ&#^C^R#_F;De-!l zaJbOm5xuUpIa)wipazT5HS(f(*LL&zOu*?yjGm!RE>w#Ty-m1U#A}?b+p08)Z*6nc z4{^C)!w*w*eodBEec17Uiemyue`#NmX8`Zx^gvbm^@Nv(G`ez!g@+|xJe7a};eo7n zyu67=V$D&>P1yS~cY=#ci>Ldx72J@iJYY*63^MGzy}8K+$e5RGkG_ta%w4R9b6>}9 zf}*UftjMKXM=d)DL-0H+%#LRd)Ll|fe>6XGwc z3gBb#IRJDwEY*Lm;LM=R$!f%{tlWR5wKL4!MzhZqcX#$A1{Ez`_*bN)s8*13eemxg z0Zc;R#ry@vUoaF^gQ?E))#pSm^3mc?>w*ED z#vc^$&0Tww<;rSmL_Ynp{$A0hKWuv-t1_-MFHY4~j!|CF&v*MdJG3Tg=#Yeg5f`K( z&`;iK#Nzl{QgVF_`vFxEDb_EvBW8alhOYH$CQrl2wyzMz1ps;9QZN_`9{KqPCP0MY zXG_({5B#0wLiN>}zwsjGW2OV+Ad821`8%9BJ?7?G9M#>m98be|c^rrnS znz=utzh3dq13K1Z5zy>tvB{vp-P^fjJj;Zjv79zNmlRckJrNla-JX8upV&+<>HZP- z&sLMrvm&p=I)l1(gKn#92g53dF08E-6sOz}OY4ae3LWruW}NPrM%!Hpijva%%AdY; zTN-SaysU=hxc)|Ej~>gA<9+e|C(wJch&I>s z3qTv@tkL(&(D3tY)(Owi^V?(>cNH19*1kUc^0?`Qdv(j$vEqXL73j=n^}4>?AR#tw z#>n>#Dr5|w<@GP_mM4EQjzt3|93yEGO#ANVRIv+ZzH0Q@ay)$CUURINe30>H=-{Ag z+3n@b{*}PsfbMvfq>oNtlTtq-{EFZ|lkg@Osxqb0`{zp8J)UV9N|=8FW#A3m~)S4E46DgjP9``*>I9< zr+iMIi;kA&?B;}?Xa@R9=jAcWtf4RC3=Mz9~9*uTyZ7 zBIZVmeqz@DnqtZ??{T1wTMZ^eZohk;{ObTGWT7hD?KF)sErf`sL^_&f=DmU)HHo*6 zXSVGQzltQTv2B9ki56UUIVW(P^#vaTo&F3w`@Z51)v)PnAesl9Ak{B7FVXnp{Oh6k zDvgF#)l4$qidID0IHfQev)A5qeyOlC2Qs0~tmUuU-E4t;aBx4gyU=L=CEE>yke$RJ zP63l|^IQKV!gOe$Hmi%p#XA)JVzby~58VKpkLC&E9t4FZG+&Y#V-S~nrLrl0p?*D9 z?|_QVn!=0^3oB=*K*k__R*^pnz3YL*z>miH3aOW5zD?IBU1l4MT`O}*XiJ(peaVwH z?~R$UY9iea$958LpUGxP`DO`|@#KaTz_~3T2S@c3uoK@?|M8RhqtQfd#5E$4&Sb7g zs6Z_}1QJSQy3!HI^;f_T9oeS=eAFZq3DI0A`f!icUpQHD6Aw;}+dNOy1!*f3B~?3^ z!>TmKN|>O2;wD2GesiZCp}2yQFIoPkOqCWQMMt}QeNohS`M$nKDNYh2+pS@3zGf19 zuj_7Pkg0GpM+M?ywYl`FfGTqVz;~W6nKJ<%>i*WKYy|Q!hg==WWSFo@ulE4_scKkWOOgV67;GO%zZ!bd6@0zt7(Fd@Xwgh zXP9Qno@12tZXY#