Skip to content

Commit

Permalink
Implement wrappers for reg/drone/physics/kinematics/rotation. (#84)
Browse files Browse the repository at this point in the history
  • Loading branch information
aentinger committed Feb 9, 2021
1 parent f521424 commit 5d98dd0
Show file tree
Hide file tree
Showing 3 changed files with 165 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/ArduinoUAVCANTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
#include "wrappers/reg/drone/physics/kinematics/geodetic/State_0_1.hpp"
#include "wrappers/reg/drone/physics/kinematics/geodetic/StateVarTs_0_1.hpp"

#include "wrappers/reg/drone/physics/kinematics/rotation/Planar_0_1.hpp"
#include "wrappers/reg/drone/physics/kinematics/rotation/PlanarTs_0_1.hpp"

#include "wrappers/reg/drone/service/battery/Parameters_0_1.hpp"
#include "wrappers/reg/drone/service/battery/Status_0_1.hpp"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/**
* This software is distributed under the terms of the MIT License.
* Copyright (c) 2020 LXRobotics.
* Author: Alexander Entinger <alexander.entinger@lxrobotics.com>
* Contributors: https://github.com/107-systems/107-Arduino-UAVCAN/graphs/contributors.
*/

#ifndef ARDUINO_UAVCAN_TYPES_REG_DRONE_KINEMATICS_ROTATION_PLANARTS_0_1_HPP_
#define ARDUINO_UAVCAN_TYPES_REG_DRONE_KINEMATICS_ROTATION_PLANARTS_0_1_HPP_

/**************************************************************************************
* INCLUDE
**************************************************************************************/

#include <libcanard/canard.h>

#include <types/reg/drone/physics/kinematics/rotation/PlanarTs_0_1.h>

/**************************************************************************************
* NAMESPACE
**************************************************************************************/

namespace reg {
namespace drone {
namespace physics {
namespace kinematics {
namespace rotation {

/**************************************************************************************
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
class PlanarTs_0_1
{

public:

reg_drone_physics_kinematics_rotation_PlanarTs_0_1 data;

static constexpr CanardPortID PORT_ID = ID;
static constexpr size_t MAX_PAYLOAD_SIZE = reg_drone_physics_kinematics_rotation_PlanarTs_0_1_SERIALIZATION_BUFFER_SIZE_BYTES_;
static constexpr CanardTransferKind TRANSFER_KIND = CanardTransferKindMessage;


PlanarTs_0_1()
{
reg_drone_physics_kinematics_rotation_PlanarTs_0_1_initialize_(&data);
}

PlanarTs_0_1(PlanarTs_0_1 const & other)
{
memcpy(&data, &other.data, sizeof(data));
}

static PlanarTs_0_1 deserialize(CanardTransfer const & transfer)
{
PlanarTs_0_1 b;
size_t inout_buffer_size_bytes = transfer.payload_size;
reg_drone_physics_kinematics_rotation_PlanarTs_0_1_deserialize_(&b.data, (uint8_t *)(transfer.payload), &inout_buffer_size_bytes);
return b;
}

size_t serialize(uint8_t * payload) const
{
size_t inout_buffer_size_bytes = PlanarTs_0_1::MAX_PAYLOAD_SIZE;
return (reg_drone_physics_kinematics_rotation_PlanarTs_0_1_serialize_(&data, payload, &inout_buffer_size_bytes) < NUNAVUT_SUCCESS) ? 0 : inout_buffer_size_bytes;
}
};

/**************************************************************************************
* NAMESPACE
**************************************************************************************/

} /* rotation */
} /* kinematics */
} /* physics */
} /* drone */
} /* reg */

#endif /* ARDUINO_UAVCAN_TYPES_REG_DRONE_KINEMATICS_ROTATION_PLANARTS_0_1_HPP_ */
81 changes: 81 additions & 0 deletions src/wrappers/reg/drone/physics/kinematics/rotation/Planar_0_1.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/**
* This software is distributed under the terms of the MIT License.
* Copyright (c) 2020 LXRobotics.
* Author: Alexander Entinger <alexander.entinger@lxrobotics.com>
* Contributors: https://github.com/107-systems/107-Arduino-UAVCAN/graphs/contributors.
*/

#ifndef ARDUINO_UAVCAN_TYPES_REG_DRONE_KINEMATICS_ROTATION_PLANAR_0_1_HPP_
#define ARDUINO_UAVCAN_TYPES_REG_DRONE_KINEMATICS_ROTATION_PLANAR_0_1_HPP_

/**************************************************************************************
* INCLUDE
**************************************************************************************/

#include <libcanard/canard.h>

#include <types/reg/drone/physics/kinematics/rotation/Planar_0_1.h>

/**************************************************************************************
* NAMESPACE
**************************************************************************************/

namespace reg {
namespace drone {
namespace physics {
namespace kinematics {
namespace rotation {

/**************************************************************************************
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
class Planar_0_1
{

public:

reg_drone_physics_kinematics_rotation_Planar_0_1 data;

static constexpr CanardPortID PORT_ID = ID;
static constexpr size_t MAX_PAYLOAD_SIZE = reg_drone_physics_kinematics_rotation_Planar_0_1_SERIALIZATION_BUFFER_SIZE_BYTES_;
static constexpr CanardTransferKind TRANSFER_KIND = CanardTransferKindMessage;


Planar_0_1()
{
reg_drone_physics_kinematics_rotation_Planar_0_1_initialize_(&data);
}

Planar_0_1(Planar_0_1 const & other)
{
memcpy(&data, &other.data, sizeof(data));
}

static Planar_0_1 deserialize(CanardTransfer const & transfer)
{
Planar_0_1 b;
size_t inout_buffer_size_bytes = transfer.payload_size;
reg_drone_physics_kinematics_rotation_Planar_0_1_deserialize_(&b.data, (uint8_t *)(transfer.payload), &inout_buffer_size_bytes);
return b;
}

size_t serialize(uint8_t * payload) const
{
size_t inout_buffer_size_bytes = Planar_0_1::MAX_PAYLOAD_SIZE;
return (reg_drone_physics_kinematics_rotation_Planar_0_1_serialize_(&data, payload, &inout_buffer_size_bytes) < NUNAVUT_SUCCESS) ? 0 : inout_buffer_size_bytes;
}
};

/**************************************************************************************
* NAMESPACE
**************************************************************************************/

} /* rotation */
} /* kinematics */
} /* physics */
} /* drone */
} /* reg */

#endif /* ARDUINO_UAVCAN_TYPES_REG_DRONE_KINEMATICS_ROTATION_PLANAR_0_1_HPP_ */

0 comments on commit 5d98dd0

Please sign in to comment.