remove unnecessary template parameter declarations
This commit is contained in:
parent
6684a90b4e
commit
e273f2ffa6
|
@ -335,7 +335,7 @@ void Device::actionGetSupportedParameters(const Message *message, Message *respo
|
|||
std::advance(pid, first);
|
||||
while (pid != parameters_.end() && response->length() < 0xfe)
|
||||
{
|
||||
response->appendData<PID>(pid->first);
|
||||
response->appendData(pid->first);
|
||||
pid++;
|
||||
}
|
||||
}
|
||||
|
@ -352,16 +352,16 @@ void Device::actionGetDeviceInfo(const Message *message, Message *response)
|
|||
return;
|
||||
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint16_t>(RDM_PROTOCOL_VERSION);
|
||||
response->appendData<uint16_t>(deviceModelID);
|
||||
response->appendData<uint16_t>(deviceProductCategory);
|
||||
response->appendData<uint32_t>(LIB_VERSION);
|
||||
response->appendData<uint16_t>(DMX::Device::footprint());
|
||||
response->appendData<uint8_t> (DMX::Device::personality());
|
||||
response->appendData<uint8_t> (DMX::Device::personalityCount());
|
||||
response->appendData<uint16_t>(DMX::Device::address());
|
||||
response->appendData<uint16_t>(subDeviceCount());
|
||||
response->appendData<uint8_t> (sensors_.size());
|
||||
response->appendData(RDM_PROTOCOL_VERSION);
|
||||
response->appendData(deviceModelID);
|
||||
response->appendData(deviceProductCategory);
|
||||
response->appendData(LIB_VERSION);
|
||||
response->appendData(DMX::Device::footprint());
|
||||
response->appendData(DMX::Device::personality());
|
||||
response->appendData(DMX::Device::personalityCount());
|
||||
response->appendData(DMX::Device::address());
|
||||
response->appendData(subDeviceCount());
|
||||
response->appendData<uint8_t>(sensors_.size());
|
||||
}
|
||||
|
||||
|
||||
|
@ -378,11 +378,11 @@ void Device::actionGetProductDetailIdList(const Message *message, Message *respo
|
|||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
if (product_detail_list_.empty())
|
||||
{
|
||||
response->appendData<uint16_t>(PRODUCT_DETAIL_NOT_DECLARED);
|
||||
response->appendData(PRODUCT_DETAIL_NOT_DECLARED);
|
||||
return;
|
||||
}
|
||||
for ( uint16_t id : product_detail_list_ )
|
||||
response->appendData<uint16_t>(id);
|
||||
for ( uint16_t detail : product_detail_list_ )
|
||||
response->appendData(detail);
|
||||
}
|
||||
|
||||
|
||||
|
@ -401,7 +401,7 @@ void Device::actionGetDevModelDescription(const Message *message, Message *respo
|
|||
{
|
||||
if (i > 32)
|
||||
break;
|
||||
response->appendData<char>(deviceModelDescription.at(i));
|
||||
response->appendData(deviceModelDescription.at(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -422,7 +422,7 @@ void Device::actionGetManufacturerLabel(const Message *message, Message *respons
|
|||
{
|
||||
if (i > 32)
|
||||
break;
|
||||
response->appendData<char>(label.at(i));
|
||||
response->appendData(label.at(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -440,7 +440,7 @@ void Device::actionGetLanguage(const Message *message, Message *response)
|
|||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
std::string label = std::string("en");
|
||||
for (char& c : label)
|
||||
response->appendData<char>(c);
|
||||
response->appendData(c);
|
||||
}
|
||||
|
||||
|
||||
|
@ -484,7 +484,7 @@ void Device::actionGetSoftwareVersionLabel(const Message *message, Message *resp
|
|||
{
|
||||
if (i > 32)
|
||||
break;
|
||||
response->appendData<char>(label.at(i));
|
||||
response->appendData(label.at(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -500,8 +500,8 @@ void Device::actionGetDmxPersonality(const Message *message, Message *response)
|
|||
return;
|
||||
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint8_t>(DMX::Device::personality());
|
||||
response->appendData<uint8_t>(DMX::Device::personalityCount());
|
||||
response->appendData(DMX::Device::personality());
|
||||
response->appendData(DMX::Device::personalityCount());
|
||||
}
|
||||
|
||||
|
||||
|
@ -522,8 +522,10 @@ void Device::actionSetDmxPersonality(const Message *message, Message *response)
|
|||
response->nak(NR_DATA_OUT_OF_RANGE);
|
||||
return;
|
||||
}
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
|
||||
setPersonality(mode);
|
||||
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
}
|
||||
|
||||
|
||||
|
@ -545,13 +547,13 @@ void Device::actionGetDmxPersonalityDesc(const Message *message, Message *respon
|
|||
return;
|
||||
}
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint8_t>(mode);
|
||||
response->appendData<uint16_t>(personalities_.at(mode)->footprint());
|
||||
response->appendData(mode);
|
||||
response->appendData(personalities_.at(mode)->footprint());
|
||||
for (size_t i = 0; i < personalities_.at(mode)->description.size(); i++)
|
||||
{
|
||||
if (i > 32)
|
||||
break;
|
||||
response->appendData<char>(personalities_.at(mode)->description.at(i));
|
||||
response->appendData(personalities_.at(mode)->description.at(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -570,7 +572,7 @@ void Device::actionGetDmxStartAddress(const Message *message, Message *response)
|
|||
if (footprint() == 0)
|
||||
response->appendData<uint16_t>(0xFFFF);
|
||||
else
|
||||
response->appendData<uint16_t>(address());
|
||||
response->appendData(address());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -123,13 +123,13 @@ void Message::read(const std::vector<uint8_t> &data)
|
|||
|
||||
// 6.2.4 Destination UID
|
||||
// The Destination UID is the UID of the target device(s).
|
||||
destination.manufacturer = Message::readType<uint16_t>(data, 3);
|
||||
destination.device = Message::readType<uint32_t>(data, 5);
|
||||
destination.manufacturer = readType<uint16_t>(data, 3);
|
||||
destination.device = readType<uint32_t>(data, 5);
|
||||
|
||||
// 6.2.5 Source UID
|
||||
// The Source UID is the UID of the device originating this packet.
|
||||
source.manufacturer = Message::readType<uint16_t>(data, 9);
|
||||
source.device = Message::readType<uint32_t>(data, 11);
|
||||
source.manufacturer = readType<uint16_t>(data, 9);
|
||||
source.device = readType<uint32_t>(data, 11);
|
||||
|
||||
// 6.2.6 Transaction Number (TN)
|
||||
// Controller generated packets increment this field every time an RDM packet
|
||||
|
@ -162,7 +162,7 @@ void Message::read(const std::vector<uint8_t> &data)
|
|||
// not belong to any sub-device module.
|
||||
// The Parameter ID designates which parameter on the sub-device is being
|
||||
// addressed. The use of Sub-Devices is described further in Section 9.
|
||||
subDevice = Message::readType<uint16_t>(data, 18);
|
||||
subDevice = readType<uint16_t>(data, 18);
|
||||
|
||||
// 6.2.10.1 Command Class (CC)
|
||||
commandClass = data[20];
|
||||
|
@ -174,7 +174,7 @@ void Message::read(const std::vector<uint8_t> &data)
|
|||
// Manufacturer-specific parameter whose details are either published by the
|
||||
// Manufacturer for third-party support or proprietary for the Manufacturer’s
|
||||
// own use.
|
||||
propertyID = Message::readType<uint16_t>(data, 21);
|
||||
propertyID = readType<uint16_t>(data, 21);
|
||||
|
||||
// 6.2.10.3 Parameter Data Length (PDL)
|
||||
// The Parameter Data Length (PDL) is the number of slots included in the
|
||||
|
@ -185,12 +185,12 @@ void Message::read(const std::vector<uint8_t> &data)
|
|||
// 6.2.10.4 Parameter Data (PD)
|
||||
// The Parameter Data is of variable length.
|
||||
for (int i = 0; i < pdl; i++)
|
||||
appendData<uint8_t>(data[24+i]);
|
||||
appendData(data[24+i]);
|
||||
|
||||
// 6.2.11 Checksum
|
||||
// If the checksum field in the packet does not match the calculated checksum,
|
||||
// then the packet shall be discarded and no response sent.
|
||||
auto chksum = Message::readType<uint16_t>(data, data.size() - 2);
|
||||
auto chksum = readType<uint16_t>(data, data.size() - 2);
|
||||
if (chksum != checksum())
|
||||
{
|
||||
checksum_fail = true;
|
||||
|
@ -214,19 +214,19 @@ void Message::write(std::vector<uint8_t> &data) const
|
|||
data.push_back(SC_RDM);
|
||||
data.push_back(SC_SUB_MESSAGE);
|
||||
data.push_back(24 + length());
|
||||
writeType<uint16_t>(data, destination.manufacturer);
|
||||
writeType<uint32_t>(data, destination.device);
|
||||
writeType<uint16_t>(data, source.manufacturer);
|
||||
writeType<uint32_t>(data, source.device);
|
||||
writeType(data, destination.manufacturer);
|
||||
writeType(data, destination.device);
|
||||
writeType(data, source.manufacturer);
|
||||
writeType(data, source.device);
|
||||
data.push_back(transaction);
|
||||
data.push_back(portID);
|
||||
data.push_back(messageCount);
|
||||
writeType<uint16_t>(data, subDevice);
|
||||
writeType(data, subDevice);
|
||||
data.push_back(commandClass);
|
||||
writeType<uint16_t>(data, propertyID);
|
||||
writeType(data, propertyID);
|
||||
data.push_back(length());
|
||||
data.insert(data.end(), data_.begin(), data_.end());
|
||||
writeType<uint16_t>(data, checksum());
|
||||
writeType(data, checksum());
|
||||
}
|
||||
|
||||
|
||||
|
@ -242,7 +242,7 @@ void Message::writeDiscBranch(std::vector<uint8_t> &data) const
|
|||
|
||||
uint16_t sum = 0;
|
||||
for ( const uint8_t& v : data_)
|
||||
sum = addSum_<uint8_t>(sum, v);
|
||||
sum = addSum_(sum, v);
|
||||
|
||||
std::vector<uint8_t> d = data_;
|
||||
writeType<uint16_t>(d, sum);
|
||||
|
@ -263,7 +263,7 @@ void Message::nak(uint16_t reason)
|
|||
{
|
||||
data_.clear();
|
||||
responseType = RESPONSE_TYPE_NACK_REASON;
|
||||
appendData<uint16_t>(reason);
|
||||
appendData(reason);
|
||||
|
||||
}
|
||||
|
||||
|
@ -276,22 +276,22 @@ uint16_t Message::checksum() const
|
|||
{
|
||||
uint16_t sum = 0;
|
||||
|
||||
sum = addSum_<uint8_t> (sum, SC_RDM);
|
||||
sum = addSum_<uint8_t> (sum, SC_SUB_MESSAGE);
|
||||
sum = addSum_<uint8_t> (sum, 24 + length());
|
||||
sum = addSum_<uint16_t>(sum, source.manufacturer);
|
||||
sum = addSum_<uint32_t>(sum, source.device);
|
||||
sum = addSum_<uint16_t>(sum, destination.manufacturer);
|
||||
sum = addSum_<uint32_t>(sum, destination.device);
|
||||
sum = addSum_<uint8_t> (sum, transaction);
|
||||
sum = addSum_<uint8_t> (sum, portID);
|
||||
sum = addSum_<uint8_t> (sum, messageCount);
|
||||
sum = addSum_<uint16_t>(sum, subDevice);
|
||||
sum = addSum_<uint8_t> (sum, commandClass);
|
||||
sum = addSum_<uint16_t>(sum, propertyID);
|
||||
sum = addSum_<uint8_t> (sum, length());
|
||||
sum = addSum_(sum, SC_RDM);
|
||||
sum = addSum_(sum, SC_SUB_MESSAGE);
|
||||
sum = addSum_(sum, 24 + length());
|
||||
sum = addSum_(sum, source.manufacturer);
|
||||
sum = addSum_(sum, source.device);
|
||||
sum = addSum_(sum, destination.manufacturer);
|
||||
sum = addSum_(sum, destination.device);
|
||||
sum = addSum_(sum, transaction);
|
||||
sum = addSum_(sum, portID);
|
||||
sum = addSum_(sum, messageCount);
|
||||
sum = addSum_(sum, subDevice);
|
||||
sum = addSum_(sum, commandClass);
|
||||
sum = addSum_(sum, propertyID);
|
||||
sum = addSum_(sum, length());
|
||||
for (uint8_t val : data_)
|
||||
sum = addSum_<uint8_t>(sum, val);
|
||||
sum = addSum_(sum, val);
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
*/
|
||||
#include "responder.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <limits>
|
||||
|
||||
namespace RDM {
|
||||
|
@ -98,20 +99,22 @@ void Responder::send(Message *response)
|
|||
if (!response)
|
||||
return;
|
||||
|
||||
if (response->do_no_send)
|
||||
{
|
||||
delete response;
|
||||
return;
|
||||
}
|
||||
|
||||
// 6.2.8.2 Message Count field for Responder Generated Messages
|
||||
// If a responder has more than 255 messages queued, then the Message Count
|
||||
// field shall remain at 255 until the number of queued messages is reduced
|
||||
// below that number.
|
||||
if (queued_messages_.size() > std::numeric_limits<uint8_t>::max())
|
||||
response->messageCount = std::numeric_limits<uint8_t>::max();
|
||||
else
|
||||
response->messageCount = queued_messages_.size();
|
||||
|
||||
response->messageCount = std::min(queued_messages_.size(),
|
||||
(size_t)std::numeric_limits<uint8_t>::max());
|
||||
std::vector<uint8_t> data;
|
||||
response->write(data);
|
||||
send(data);
|
||||
delete response;
|
||||
response = nullptr;
|
||||
}
|
||||
|
||||
|
||||
|
@ -214,7 +217,7 @@ void Responder::receive(const Message *message)
|
|||
return;
|
||||
}
|
||||
|
||||
queued_messages_.push(response);
|
||||
send(response);
|
||||
}
|
||||
|
||||
|
||||
|
@ -355,8 +358,8 @@ void Responder::actionDiscoverUniqueBranch(const Message *message, Message *resp
|
|||
return;
|
||||
}
|
||||
|
||||
response->appendData<uint16_t>(id.manufacturer);
|
||||
response->appendData<uint16_t>(id.device);
|
||||
response->appendData(id.manufacturer);
|
||||
response->appendData(id.device);
|
||||
}
|
||||
|
||||
|
||||
|
@ -373,7 +376,7 @@ void Responder::actionDiscoveryMute(const Message *message, Message *response)
|
|||
discovery_mute_flag_ = true;
|
||||
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint16_t>(control_field);
|
||||
response->appendData(control_field);
|
||||
}
|
||||
|
||||
|
||||
|
@ -390,7 +393,7 @@ void Responder::actionDiscoveryUnmute(const Message *message, Message *response)
|
|||
discovery_mute_flag_ = false;
|
||||
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint16_t>(control_field);
|
||||
response->appendData(control_field);
|
||||
}
|
||||
|
||||
} // namespace RDM
|
||||
|
|
|
@ -120,20 +120,20 @@ void Sensor::clearMemory()
|
|||
void Sensor::actionGetSensorDefinition(uint8_t index, Message *response)
|
||||
{
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint8_t>(index);
|
||||
response->appendData<uint8_t>(type);
|
||||
response->appendData<uint8_t>(unit);
|
||||
response->appendData<uint8_t>(unitPrefix);
|
||||
response->appendData<int16_t>(minLimit);
|
||||
response->appendData<int16_t>(maxLimit);
|
||||
response->appendData<int16_t>(minNominal);
|
||||
response->appendData<int16_t>(maxNominal);
|
||||
response->appendData<uint8_t>(recordedValueSupport);
|
||||
response->appendData(index);
|
||||
response->appendData(type);
|
||||
response->appendData(unit);
|
||||
response->appendData(unitPrefix);
|
||||
response->appendData(minLimit);
|
||||
response->appendData(maxLimit);
|
||||
response->appendData(minNominal);
|
||||
response->appendData(maxNominal);
|
||||
response->appendData(recordedValueSupport);
|
||||
for (size_t i = 0; i < description.size(); i++)
|
||||
{
|
||||
if (i > 32)
|
||||
break;
|
||||
response->appendData<char>(description.at(i));
|
||||
response->appendData(description.at(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -146,11 +146,11 @@ void Sensor::actionGetSensorDefinition(uint8_t index, Message *response)
|
|||
void Sensor::actionGetSensorValue(uint8_t index, Message *response)
|
||||
{
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint8_t>(index);
|
||||
response->appendData<int16_t>(value());
|
||||
response->appendData<int16_t>(minimum());
|
||||
response->appendData<int16_t>(maximum());
|
||||
response->appendData<int16_t>(saved());
|
||||
response->appendData(index);
|
||||
response->appendData(value());
|
||||
response->appendData(minimum());
|
||||
response->appendData(maximum());
|
||||
response->appendData(saved());
|
||||
}
|
||||
|
||||
|
||||
|
@ -176,11 +176,11 @@ void Sensor::actionSetSensorValue(uint8_t index, Message *response)
|
|||
}
|
||||
|
||||
response->responseType = RESPONSE_TYPE_ACK;
|
||||
response->appendData<uint8_t>(index);
|
||||
response->appendData<int16_t>(val);
|
||||
response->appendData<int16_t>(min);
|
||||
response->appendData<int16_t>(max);
|
||||
response->appendData<int16_t>(mem);
|
||||
response->appendData(index);
|
||||
response->appendData(val);
|
||||
response->appendData(min);
|
||||
response->appendData(max);
|
||||
response->appendData(mem);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue