Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added fixed PortIDs to all wrappers #109

Merged
merged 7 commits into from
Jun 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions examples/UAVCAN-Blink/UAVCAN-Blink.ino
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ ArduinoMCP2515 mcp2515(spi_select,

ArduinoUAVCAN uc(13, transmitCanFrame);

Heartbeat_1_0 hb;
Heartbeat_1_0<> hb;

/**************************************************************************************
* SETUP/LOOP
Expand Down Expand Up @@ -97,8 +97,8 @@ void setup()

/* Configure initial heartbeat */
hb.data.uptime = 0;
hb = Heartbeat_1_0::Health::NOMINAL;
hb = Heartbeat_1_0::Mode::INITIALIZATION;
hb = Heartbeat_1_0<>::Health::NOMINAL;
hb = Heartbeat_1_0<>::Mode::INITIALIZATION;
hb.data.vendor_specific_status_code = 0;

/* Subscribe to the reception of Bit message. */
Expand All @@ -109,7 +109,7 @@ void loop()
{
/* Update the heartbeat object */
hb.data.uptime = millis() / 1000;
hb = Heartbeat_1_0::Mode::OPERATIONAL;
hb = Heartbeat_1_0<>::Mode::OPERATIONAL;

/* Publish the heartbeat once/second */
static unsigned long prev = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ ArduinoMCP2515 mcp2515(spi_select,

ArduinoUAVCAN uc(13, transmitCanFrame);

Heartbeat_1_0 hb;
Heartbeat_1_0<> hb;

/**************************************************************************************
* SETUP/LOOP
Expand All @@ -78,16 +78,16 @@ void setup()

/* Configure initial heartbeat */
hb.data.uptime = 0;
hb = Heartbeat_1_0::Health::NOMINAL;
hb = Heartbeat_1_0::Mode::INITIALIZATION;
hb = Heartbeat_1_0<>::Health::NOMINAL;
hb = Heartbeat_1_0<>::Mode::INITIALIZATION;
hb.data.vendor_specific_status_code = 0;
}

void loop()
{
/* Update the heartbeat object */
hb.data.uptime = millis() / 1000;
hb = Heartbeat_1_0::Mode::OPERATIONAL;
hb = Heartbeat_1_0<>::Mode::OPERATIONAL;

/* Publish the heartbeat once/second */
static unsigned long prev = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ void setup()
mcp2515.setNormalMode();

/* Subscribe to the reception of Heartbeat message. */
uc.subscribe<Heartbeat_1_0>(onHeartbeat_1_0_Received);
uc.subscribe<Heartbeat_1_0<>>(onHeartbeat_1_0_Received);
}

void loop()
Expand Down Expand Up @@ -115,7 +115,7 @@ void onReceiveBufferFull(CanardFrame const & frame)

void onHeartbeat_1_0_Received(CanardTransfer const & transfer, ArduinoUAVCAN & /* uc */)
{
Heartbeat_1_0 const hb = Heartbeat_1_0::deserialize(transfer);
Heartbeat_1_0<> const hb = Heartbeat_1_0<>::deserialize(transfer);

char msg[64];
snprintf(msg, 64,
Expand Down
8 changes: 4 additions & 4 deletions examples/UAVCAN-Service-Client/UAVCAN-Service-Client.ino
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,14 @@ void setup()

/* Request some coffee. */
char const cmd_param[] = "I want a double espresso with cream";
ExecuteCommand_1_0::Request req;
ExecuteCommand_1_0::Request<> req;
req.data.command = 0xCAFE;
req.data.parameter.count = std::min(strlen(cmd_param), (size_t)uavcan_node_ExecuteCommand_Request_1_0_parameter_ARRAY_CAPACITY_);
std::copy(cmd_param,
cmd_param + req.data.parameter.count,
req.data.parameter.elements);

uc.request<ExecuteCommand_1_0::Request, ExecuteCommand_1_0::Response>(req, 27 /* remote node id */, onExecuteCommand_1_0_Response_Received);
uc.request<ExecuteCommand_1_0::Request<>, ExecuteCommand_1_0::Response<>>(req, 27 /* remote node id */, onExecuteCommand_1_0_Response_Received);
}

void loop()
Expand Down Expand Up @@ -131,9 +131,9 @@ bool transmitCanFrame(CanardFrame const & frame)

void onExecuteCommand_1_0_Response_Received(CanardTransfer const & transfer, ArduinoUAVCAN & /* uc */)
{
ExecuteCommand_1_0::Response const rsp = ExecuteCommand_1_0::Response::deserialize(transfer);
ExecuteCommand_1_0::Response<> const rsp = ExecuteCommand_1_0::Response<>::deserialize(transfer);

if (rsp.data.status == arduino::_107_::uavcan::to_integer(ExecuteCommand_1_0::Response::Status::SUCCESS))
if (rsp.data.status == arduino::_107_::uavcan::to_integer(ExecuteCommand_1_0::Response<>::Status::SUCCESS))
Serial.println("Coffee successful retrieved");
else
Serial.println("Error when retrieving coffee");
Expand Down
12 changes: 6 additions & 6 deletions examples/UAVCAN-Service-Server/UAVCAN-Service-Server.ino
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ void setup()
mcp2515.setNormalMode();

/* Subscribe to incoming service requests */
uc.subscribe<ExecuteCommand_1_0::Request>(onExecuteCommand_1_0_Request_Received);
uc.subscribe<ExecuteCommand_1_0::Request<>>(onExecuteCommand_1_0_Request_Received);
}

void loop()
Expand Down Expand Up @@ -123,18 +123,18 @@ bool transmitCanFrame(CanardFrame const & frame)

void onExecuteCommand_1_0_Request_Received(CanardTransfer const & transfer, ArduinoUAVCAN & uc)
{
ExecuteCommand_1_0::Request req = ExecuteCommand_1_0::Request::deserialize(transfer);
ExecuteCommand_1_0::Request<> req = ExecuteCommand_1_0::Request<>::deserialize(transfer);

if (req.data.command == 0xCAFE)
{
ExecuteCommand_1_0::Response rsp;
rsp = ExecuteCommand_1_0::Response::Status::SUCCESS;
ExecuteCommand_1_0::Response<> rsp;
rsp = ExecuteCommand_1_0::Response<>::Status::SUCCESS;
uc.respond(rsp, transfer.remote_node_id, transfer.transfer_id);
}
else
{
ExecuteCommand_1_0::Response rsp;
rsp = ExecuteCommand_1_0::Response::Status::NOT_AUTHORIZED;
ExecuteCommand_1_0::Response<> rsp;
rsp = ExecuteCommand_1_0::Response<>::Status::NOT_AUTHORIZED;
uc.respond(rsp, transfer.remote_node_id, transfer.transfer_id);
}
}
14 changes: 7 additions & 7 deletions extras/test/src/test_ExecuteCommand_ServiceClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ static bool transmitCanFrame(CanardFrame const & f)

static void onExecuteCommand_1_0_Response_Received(CanardTransfer const & transfer, ArduinoUAVCAN & /* uavcan */)
{
ExecuteCommand_1_0::Response const received_response = ExecuteCommand_1_0::Response::deserialize(transfer);
ExecuteCommand_1_0::Response<> const received_response = ExecuteCommand_1_0::Response<>::deserialize(transfer);
response.status = received_response.data.status;
}

Expand All @@ -63,15 +63,15 @@ TEST_CASE("A '435.ExecuteCommand.1.0' request is sent to a server", "[execute-co
ArduinoUAVCAN uavcan(util::LOCAL_NODE_ID, transmitCanFrame);

std::string const cmd_1_param = "I want a double espresso with cream";
ExecuteCommand_1_0::Request req_1;
ExecuteCommand_1_0::Request<> req_1;
req_1.data.command = 0xCAFE;
req_1.data.parameter.count = std::min(cmd_1_param.length(), (size_t)uavcan_node_ExecuteCommand_Request_1_0_parameter_ARRAY_CAPACITY_);
std::copy(cmd_1_param.c_str(),
cmd_1_param.c_str() + req_1.data.parameter.count,
req_1.data.parameter.elements);


REQUIRE(uavcan.request<ExecuteCommand_1_0::Request, ExecuteCommand_1_0::Response>(req_1, REMOTE_NODE_ID, onExecuteCommand_1_0_Response_Received) == true);
REQUIRE(uavcan.request<ExecuteCommand_1_0::Request<>, ExecuteCommand_1_0::Response<>>(req_1, REMOTE_NODE_ID, onExecuteCommand_1_0_Response_Received) == true);
/* Transmit all the CAN frames. */
while(uavcan.transmitCanFrame()) { }

Expand Down Expand Up @@ -107,18 +107,18 @@ TEST_CASE("A '435.ExecuteCommand.1.0' request is sent to a server", "[execute-co
uavcan.onCanFrameReceived(util::toCanardFrame(0x126CC69B, data_1));

/* Check if the expected response has been indeed received. */
REQUIRE(response.status == arduino::_107_::uavcan::to_integer(ExecuteCommand_1_0::Response::Status::NOT_AUTHORIZED));
REQUIRE(response.status == arduino::_107_::uavcan::to_integer(ExecuteCommand_1_0::Response<>::Status::NOT_AUTHORIZED));

/* Send a second request. */
std::string const cmd_2_param = "I do not need coffee anymore";
ExecuteCommand_1_0::Request req_2;
ExecuteCommand_1_0::Request<> req_2;
req_2.data.command = 0xDEAD;
req_2.data.parameter.count = std::min(cmd_2_param.length(), (size_t)uavcan_node_ExecuteCommand_Request_1_0_parameter_ARRAY_CAPACITY_);
std::copy(cmd_2_param.c_str(),
cmd_2_param.c_str() + req_2.data.parameter.count,
req_2.data.parameter.elements);

REQUIRE(uavcan.request<ExecuteCommand_1_0::Request, ExecuteCommand_1_0::Response>(req_2, REMOTE_NODE_ID, onExecuteCommand_1_0_Response_Received) == true);
REQUIRE(uavcan.request<ExecuteCommand_1_0::Request<>, ExecuteCommand_1_0::Response<>>(req_2, REMOTE_NODE_ID, onExecuteCommand_1_0_Response_Received) == true);
/* Transmit all the CAN frames. */
can_frame_vect.clear();
while(uavcan.transmitCanFrame()) { }
Expand Down Expand Up @@ -154,5 +154,5 @@ TEST_CASE("A '435.ExecuteCommand.1.0' request is sent to a server", "[execute-co
uavcan.onCanFrameReceived(util::toCanardFrame(0x126CC69B, data_2));

/* Check if the expected response has been indeed received. */
REQUIRE(response.status == arduino::_107_::uavcan::to_integer(ExecuteCommand_1_0::Response::Status::BAD_STATE));
REQUIRE(response.status == arduino::_107_::uavcan::to_integer(ExecuteCommand_1_0::Response<>::Status::BAD_STATE));
}
8 changes: 4 additions & 4 deletions extras/test/src/test_ExecuteCommand_ServiceServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ static bool transmitCanFrame(CanardFrame const & f)

static void onExecuteCommand_1_0_Request_Received(CanardTransfer const & transfer, ArduinoUAVCAN & uavcan)
{
ExecuteCommand_1_0::Request received_request = ExecuteCommand_1_0::Request::deserialize(transfer);
ExecuteCommand_1_0::Request<> received_request = ExecuteCommand_1_0::Request<>::deserialize(transfer);

/* The next 2 lines are just for test purposes, you won't
* have them in your real application.
Expand All @@ -63,8 +63,8 @@ static void onExecuteCommand_1_0_Request_Received(CanardTransfer const & transfe
/* Deal with the command ... */

/* ... and construct and send the response. */
ExecuteCommand_1_0::Response response;
response = ExecuteCommand_1_0::Response::Status::NOT_AUTHORIZED;
ExecuteCommand_1_0::Response<> response;
response = ExecuteCommand_1_0::Response<>::Status::NOT_AUTHORIZED;

uavcan.respond(response, transfer.remote_node_id, transfer.transfer_id);
}
Expand All @@ -79,7 +79,7 @@ TEST_CASE("A '435.ExecuteCommand.1.0' request is received from a client", "[exec
ArduinoUAVCAN uavcan(util::LOCAL_NODE_ID, transmitCanFrame);

/* Subscribe to incoming server requests. */
REQUIRE(uavcan.subscribe<ExecuteCommand_1_0::Request>(onExecuteCommand_1_0_Request_Received) == true);
REQUIRE(uavcan.subscribe<ExecuteCommand_1_0::Request<>>(onExecuteCommand_1_0_Request_Received) == true);

/*
* pyuavcan call 13 435.uavcan.node.ExecuteCommand.1.0 '{"command": 0xCAFE, "parameter": "I want a double espresso with cream"}' --tr='CAN(can.media.socketcan.SocketCANMedia("vcan0",8),27)'
Expand Down
18 changes: 9 additions & 9 deletions extras/test/src/test_Heartbeat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static bool transmitCanFrame(CanardFrame const & f)

static void onHeatbeat_1_0_Received(CanardTransfer const & transfer, ArduinoUAVCAN & /* uavcan */)
{
Heartbeat_1_0 const received_hb = Heartbeat_1_0::deserialize(transfer);
Heartbeat_1_0<> const received_hb = Heartbeat_1_0<>::deserialize(transfer);

hb_node_id = transfer.remote_node_id;
hb_data.uptime = received_hb.data.uptime;
Expand All @@ -63,10 +63,10 @@ TEST_CASE("A '32085.Heartbeat.1.0.uavcan' message is sent", "[heartbeat-01]")
{
ArduinoUAVCAN uavcan(util::LOCAL_NODE_ID, transmitCanFrame);

Heartbeat_1_0 hb;
Heartbeat_1_0<> hb;
hb.data.uptime = 9876;
hb = Heartbeat_1_0::Health::NOMINAL;
hb = Heartbeat_1_0::Mode::SOFTWARE_UPDATE;
hb = Heartbeat_1_0<>::Health::NOMINAL;
hb = Heartbeat_1_0<>::Mode::SOFTWARE_UPDATE;
hb.data.vendor_specific_status_code = 5;
uavcan.publish(hb);
while(uavcan.transmitCanFrame()) { }
Expand All @@ -77,8 +77,8 @@ TEST_CASE("A '32085.Heartbeat.1.0.uavcan' message is sent", "[heartbeat-01]")
REQUIRE(can_frame.data == std::vector<uint8_t>{0x94, 0x26, 0x00, 0x00, 0x00, 0x03, 0x05, 0xE0});

hb.data.uptime = 9881;
hb = Heartbeat_1_0::Health::ADVISORY;
hb = Heartbeat_1_0::Mode::MAINTENANCE;
hb = Heartbeat_1_0<>::Health::ADVISORY;
hb = Heartbeat_1_0<>::Mode::MAINTENANCE;
hb.data.vendor_specific_status_code = 123;
uavcan.publish(hb);
while(uavcan.transmitCanFrame()) { }
Expand All @@ -94,7 +94,7 @@ TEST_CASE("A '32085.Heartbeat.1.0.uavcan' message is received", "[heartbeat-02]"
uavcan_node_Heartbeat_1_0_initialize_(&hb_data);
ArduinoUAVCAN uavcan(util::LOCAL_NODE_ID, nullptr);

REQUIRE(uavcan.subscribe<Heartbeat_1_0>(onHeatbeat_1_0_Received));
REQUIRE(uavcan.subscribe<Heartbeat_1_0<>>(onHeatbeat_1_0_Received));

/* Create:
* pyuavcan publish 7509.uavcan.node.Heartbeat.1.0 '{uptime: 1337, health: {value: 2}, mode: {value: 2}, vendor_specific_status_code: 42}' --tr='CAN(can.media.socketcan.SocketCANMedia("vcan0",8),59)'
Expand All @@ -110,7 +110,7 @@ TEST_CASE("A '32085.Heartbeat.1.0.uavcan' message is received", "[heartbeat-02]"

REQUIRE(hb_node_id == 59);
REQUIRE(hb_data.uptime == 1337);
REQUIRE(hb_data.health.value == arduino::_107_::uavcan::to_integer(Heartbeat_1_0::Health::CAUTION));
REQUIRE(hb_data.mode.value == arduino::_107_::uavcan::to_integer(Heartbeat_1_0::Mode::MAINTENANCE));
REQUIRE(hb_data.health.value == arduino::_107_::uavcan::to_integer(Heartbeat_1_0<>::Health::CAUTION));
REQUIRE(hb_data.mode.value == arduino::_107_::uavcan::to_integer(Heartbeat_1_0<>::Mode::MAINTENANCE));
REQUIRE(hb_data.vendor_specific_status_code == 42);
}
2 changes: 1 addition & 1 deletion src/wrappers/uavcan/diagnostic/Record_1_0.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ namespace diagnostic {
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
template <CanardPortID ID = uavcan_diagnostic_Record_1_0_FIXED_PORT_ID_>
class Record_1_0
{

Expand Down
2 changes: 1 addition & 1 deletion src/wrappers/uavcan/diagnostic/Record_1_1.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ namespace diagnostic {
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
template <CanardPortID ID = uavcan_diagnostic_Record_1_1_FIXED_PORT_ID_>
class Record_1_1
{

Expand Down
4 changes: 2 additions & 2 deletions src/wrappers/uavcan/file/GetInfo_0_1.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace GetInfo_0_1 {
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_GetInfo_0_1_FIXED_PORT_ID_>
class Request
{

Expand Down Expand Up @@ -65,7 +65,7 @@ class Request
}
};

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_GetInfo_0_1_FIXED_PORT_ID_>
class Response
{

Expand Down
4 changes: 2 additions & 2 deletions src/wrappers/uavcan/file/GetInfo_0_2.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace GetInfo_0_2 {
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_GetInfo_0_2_FIXED_PORT_ID_>
class Request
{

Expand Down Expand Up @@ -65,7 +65,7 @@ class Request
}
};

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_GetInfo_0_2_FIXED_PORT_ID_>
class Response
{

Expand Down
4 changes: 2 additions & 2 deletions src/wrappers/uavcan/file/List_0_1.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace List_0_1 {
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_List_0_1_FIXED_PORT_ID_>
class Request
{

Expand Down Expand Up @@ -65,7 +65,7 @@ class Request
}
};

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_List_0_1_FIXED_PORT_ID_>
class Response
{

Expand Down
4 changes: 2 additions & 2 deletions src/wrappers/uavcan/file/List_0_2.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace List_0_2 {
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_List_0_2_FIXED_PORT_ID_>
class Request
{

Expand Down Expand Up @@ -65,7 +65,7 @@ class Request
}
};

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_List_0_2_FIXED_PORT_ID_>
class Response
{

Expand Down
4 changes: 2 additions & 2 deletions src/wrappers/uavcan/file/Modify_1_0.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace Modify_1_0 {
* CLASS DECLARATION
**************************************************************************************/

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_Modify_1_0_FIXED_PORT_ID_>
class Request
{

Expand Down Expand Up @@ -65,7 +65,7 @@ class Request
}
};

template <CanardPortID ID>
template <CanardPortID ID = uavcan_file_Modify_1_0_FIXED_PORT_ID_>
class Response
{

Expand Down
Loading