Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
cujomalainey committed Jan 15, 2021
2 parents 07b8502 + 3a1d249 commit 6d3a70a
Show file tree
Hide file tree
Showing 94 changed files with 267 additions and 210 deletions.
1 change: 1 addition & 0 deletions src/BaseClasses/ANT_BaseAnt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ void BaseAnt::getResponse(AntResponse &response) {
response.setFrameData(_response.getFrameData());
}

// cppcheck-suppress unusedFunction
void BaseAnt::readPacketUntilAvailable() {
while (!(getResponse().isAvailable() || getResponse().isError())) {
// read some more
Expand Down
29 changes: 15 additions & 14 deletions src/BaseClasses/ANT_BaseAntWithCallbacks.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include <BaseClasses/ANT_BaseAntWithCallbacks.h>

// cppcheck-suppress unusedFunction
void BaseAntWithCallbacks::loop() {
if (loopTop())
loopBottom();
Expand Down Expand Up @@ -155,111 +156,111 @@ uint8_t BaseAntWithCallbacks::waitForInternal(uint8_t msgId, void *response, uin
// must be unified as well).
switch(msgId) {
case AcknowledgedData::MSG_ID: {
AcknowledgedData *r = (AcknowledgedData*)response;
AcknowledgedData *r = static_cast<AcknowledgedData*>(response);
bool(*f)(AcknowledgedData&,uintptr_t) = (bool(*)(AcknowledgedData&,uintptr_t))func;
getResponse().getAcknowledgedDataMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case AdvancedBurstData::MSG_ID: {
AdvancedBurstData *r = (AdvancedBurstData*)response;
AdvancedBurstData *r = static_cast<AdvancedBurstData*>(response);
bool(*f)(AdvancedBurstData&,uintptr_t) = (bool(*)(AdvancedBurstData&,uintptr_t))func;
getResponse().getAdvancedBurstDataMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case BroadcastData::MSG_ID: {
BroadcastData *r = (BroadcastData*)response;
BroadcastData *r = static_cast<BroadcastData*>(response);
bool(*f)(BroadcastData&,uintptr_t) = (bool(*)(BroadcastData&,uintptr_t))func;
getResponse().getBroadcastDataMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case BurstTransferData::MSG_ID: {
BurstTransferData *r = (BurstTransferData*)response;
BurstTransferData *r = static_cast<BurstTransferData*>(response);
bool(*f)(BurstTransferData&,uintptr_t) = (bool(*)(BurstTransferData&,uintptr_t))func;
getResponse().getBurstTransferDataMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case AdvancedBurstCapabilitiesConfiguration::MSG_ID: {
AdvancedBurstCapabilitiesConfiguration *r = (AdvancedBurstCapabilitiesConfiguration*)response;
AdvancedBurstCapabilitiesConfiguration *r = static_cast<AdvancedBurstCapabilitiesConfiguration*>(response);
bool(*f)(AdvancedBurstCapabilitiesConfiguration&,uintptr_t) = (bool(*)(AdvancedBurstCapabilitiesConfiguration&,uintptr_t))func;
getResponse().getAdvancedBurstDataMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case AntVersion::MSG_ID: {
AntVersion *r = (AntVersion*)response;
AntVersion *r = static_cast<AntVersion*>(response);
bool(*f)(AntVersion&,uintptr_t) = (bool(*)(AntVersion&,uintptr_t))func;
getResponse().getAntVersionMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case Capabilities::MSG_ID: {
Capabilities *r = (Capabilities*)response;
Capabilities *r = static_cast<Capabilities*>(response);
bool(*f)(Capabilities&,uintptr_t) = (bool(*)(Capabilities&,uintptr_t))func;
getResponse().getCapabilitiesMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case ChannelEventResponse::MSG_ID: {
ChannelEventResponse *r = (ChannelEventResponse*)response;
ChannelEventResponse *r = static_cast<ChannelEventResponse*>(response);
bool(*f)(ChannelEventResponse&,uintptr_t) = (bool(*)(ChannelEventResponse&,uintptr_t))func;
getResponse().getChannelEventResponseMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case ChannelIdResponse::MSG_ID: {
ChannelIdResponse *r = (ChannelIdResponse*)response;
ChannelIdResponse *r = static_cast<ChannelIdResponse*>(response);
bool(*f)(ChannelIdResponse&,uintptr_t) = (bool(*)(ChannelIdResponse&,uintptr_t))func;
getResponse().getChannelIdResponseMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case ChannelStatus::MSG_ID: {
ChannelStatus *r = (ChannelStatus*)response;
ChannelStatus *r = static_cast<ChannelStatus*>(response);
bool(*f)(ChannelStatus&,uintptr_t) = (bool(*)(ChannelStatus&,uintptr_t))func;
getResponse().getChannelStatusMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case EncryptionModeParameters::MSG_ID: {
EncryptionModeParameters *r = (EncryptionModeParameters*)response;
EncryptionModeParameters *r = static_cast<EncryptionModeParameters*>(response);
bool(*f)(EncryptionModeParameters&,uintptr_t) = (bool(*)(EncryptionModeParameters&,uintptr_t))func;
getResponse().getEncryptionModeParametersMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case EventFilter::MSG_ID: {
EventFilter *r = (EventFilter*)response;
EventFilter *r = static_cast<EventFilter*>(response);
bool(*f)(EventFilter&,uintptr_t) = (bool(*)(EventFilter&,uintptr_t))func;
getResponse().getEventFilterMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case SelectiveDataUpdateMaskSetting::MSG_ID: {
SelectiveDataUpdateMaskSetting *r = (SelectiveDataUpdateMaskSetting*)response;
SelectiveDataUpdateMaskSetting *r = static_cast<SelectiveDataUpdateMaskSetting*>(response);
bool(*f)(SelectiveDataUpdateMaskSetting&,uintptr_t) = (bool(*)(SelectiveDataUpdateMaskSetting&,uintptr_t))func;
getResponse().getSelectiveDataUpdateMaskSettingMsg(*r);
if(!f || f(*r, data))
return 0;
break;
}
case StartUpMessage::MSG_ID: {
StartUpMessage *r = (StartUpMessage*)response;
StartUpMessage *r = static_cast<StartUpMessage*>(response);
bool(*f)(StartUpMessage&,uintptr_t) = (bool(*)(StartUpMessage&,uintptr_t))func;
getResponse().getStartUpMsg(*r);
if(!f || f(*r, data))
Expand Down
34 changes: 17 additions & 17 deletions src/BaseClasses/ANT_BaseAntWithCallbacks.h
Original file line number Diff line number Diff line change
Expand Up @@ -221,23 +221,23 @@ class BaseAntWithCallbacks : virtual public BaseAnt {
*/
void loopBottom();

AntCallback<uint8_t> _onPacketError;
AntCallback<AntResponse&> _onResponse;
AntCallback<AntResponse&> _onOtherResponse;
AntCallback<AcknowledgedData&> _onAcknowledgedData;
AntCallback<AdvancedBurstData&> _onAdvancedBurstData;
AntCallback<BroadcastData&> _onBroadcastData;
AntCallback<BurstTransferData&> _onBurstTransferData;
AntCallback<AdvancedBurstCapabilitiesConfiguration&> _onAdvancedBurstCapabilitiesConfiguration;
AntCallback<AntVersion&> _onAntVersion;
AntCallback<Capabilities&> _onCapabilities;
AntCallback<ChannelEventResponse&> _onChannelEventResponse;
AntCallback<ChannelIdResponse&> _onChannelIdResponse;
AntCallback<ChannelStatus&> _onChannelStatus;
AntCallback<EncryptionModeParameters&> _onEncryptionModeParameters;
AntCallback<EventFilter&> _onEventFilter;
AntCallback<SelectiveDataUpdateMaskSetting&> _onSelectiveDataUpdateMaskSetting;
AntCallback<StartUpMessage&> _onStartUpMessage;
AntCallback<uint8_t> _onPacketError = { .func = NULL };
AntCallback<AntResponse&> _onResponse = { .func = NULL };
AntCallback<AntResponse&> _onOtherResponse = { .func = NULL };
AntCallback<AcknowledgedData&> _onAcknowledgedData = { .func = NULL };
AntCallback<AdvancedBurstData&> _onAdvancedBurstData = { .func = NULL };
AntCallback<BroadcastData&> _onBroadcastData = { .func = NULL };
AntCallback<BurstTransferData&> _onBurstTransferData = { .func = NULL };
AntCallback<AdvancedBurstCapabilitiesConfiguration&> _onAdvancedBurstCapabilitiesConfiguration = { .func = NULL };
AntCallback<AntVersion&> _onAntVersion = { .func = NULL };
AntCallback<Capabilities&> _onCapabilities = { .func = NULL };
AntCallback<ChannelEventResponse&> _onChannelEventResponse = { .func = NULL };
AntCallback<ChannelIdResponse&> _onChannelIdResponse = { .func = NULL };
AntCallback<ChannelStatus&> _onChannelStatus = { .func = NULL };
AntCallback<EncryptionModeParameters&> _onEncryptionModeParameters = { .func = NULL };
AntCallback<EventFilter&> _onEventFilter = { .func = NULL };
AntCallback<SelectiveDataUpdateMaskSetting&> _onSelectiveDataUpdateMaskSetting = { .func = NULL };
AntCallback<StartUpMessage&> _onStartUpMessage = { .func = NULL };
};

#endif // ANT_BASEANTWITHCALLBACKS_h
3 changes: 1 addition & 2 deletions src/BaseClasses/ANT_BaseSpiAnt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

template<class S, class I, class O>
BaseSpiAnt<S, I, O>::BaseSpiAnt() : BaseAnt() {
_pos = 0;
_checksumTotal = 0;
getResponse().setFrameData(_responseFrameData);

}
Expand Down Expand Up @@ -147,6 +145,7 @@ void BaseSpiAnt<S, I, O>::send(AntRequest &request) {
}

template<class S, class I, class O>
// cppcheck-suppress unusedFunction
void BaseSpiAnt<S, I, O>::resetRadio() {
setHostMsgReady(1);
setHostSRdy(1);
Expand Down
4 changes: 2 additions & 2 deletions src/BaseClasses/ANT_BaseSpiAnt.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ class BaseSpiAnt : virtual public BaseAnt {
private:
void resetResponse();
// current packet position for response. just a state variable for packet parsing and has no relevance for the response otherwise
uint8_t _pos;
uint8_t _pos = 0;
// last byte read
uint8_t b;
uint8_t _checksumTotal;
uint8_t _checksumTotal = 0;
// buffer for incoming RX packets. holds only the msg specific frame data, starting after the msg id byte and prior to checksum
uint8_t _responseFrameData[ANT_MAX_MSG_DATA_SIZE];
};
Expand Down
2 changes: 2 additions & 0 deletions src/MainClasses/ANT_ArduinoSerialAnt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ ArduinoSerialAnt::ArduinoSerialAnt() : BaseSerialAnt<Stream>() {
#endif
}

ArduinoSerialAnt::ArduinoSerialAnt(Stream &serial) : BaseSerialAnt<Stream>(), _serial(&serial) {}

void ArduinoSerialAnt::setSerial(Stream &serial) {
_serial = &serial;
}
Expand Down
4 changes: 2 additions & 2 deletions src/MainClasses/ANT_ArduinoSerialAnt.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
class ArduinoSerialAnt : virtual public BaseSerialAnt<Stream> {
public:
ArduinoSerialAnt();
ArduinoSerialAnt(Stream &serial);
explicit ArduinoSerialAnt(Stream &serial);
/**
* Specify the serial port. Only relevant for Arduinos that support multiple serial ports (e.g. Mega)
*/
Expand All @@ -18,7 +18,7 @@ class ArduinoSerialAnt : virtual public BaseSerialAnt<Stream> {
uint8_t read() override;
void write(uint8_t* data, uint8_t len) override;
uint32_t getMs() override;
Stream* _serial;
Stream* _serial = NULL;
};

#endif // defined(ARDUINO) || defined(UNIT_TEST)
Expand Down
1 change: 1 addition & 0 deletions src/RX/ANT_AntResponse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ void AntResponse::setChecksum(uint8_t checksum) {
_checksum = checksum;
}

// cppcheck-suppress unusedFunction
uint8_t AntResponse::getPacketLength() {
return _length - ANT_MSG_OVERHEAD_LENGTH;
}
Expand Down
13 changes: 7 additions & 6 deletions src/RX/ANT_AntResponse.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#ifndef ANT_ANTRESPONSE_h
#define ANT_ANTRESPONSE_h
#include <inttypes.h>
#include <stddef.h>
#include <ANT_defines.h>

/**
Expand Down Expand Up @@ -136,13 +137,13 @@ class AntResponse {
void setErrorCode(uint8_t errorCode);
protected:
// pointer to frameData
uint8_t* _frameDataPtr;
uint8_t* _frameDataPtr = NULL;
private:
void setCommon(AntResponse &target);
uint8_t _msgId;
uint8_t _length;
uint8_t _checksum;
bool _complete;
uint8_t _errorCode;
uint8_t _msgId = 0;
uint8_t _length = 0;
uint8_t _checksum = 0;
bool _complete = false;
uint8_t _errorCode = 0;
};
#endif // ANT_ANTRESPONSE_h
8 changes: 8 additions & 0 deletions src/RX/ANT_AntRxDataResponse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ uint8_t* AntRxDataResponse::getData() {
return getFrameData();
}

// cppcheck-suppress unusedFunction
uint8_t AntRxDataResponse::getDataOffset() {
return ANT_MSG_FRONT_OVERHEAD;
}

// cppcheck-suppress unusedFunction
uint16_t AntRxDataResponse::getDeviceNumber() {
if (getFlagByte() & LIB_CONFIG_CHANNEL_ID) {
return AntRxDataResponse::getData(EXTENDEDDATA_DEVICENUMBER_LSB_BYTE) | (AntRxDataResponse::getData(EXTENDEDDATA_DEVICENUMBER_MSB_BYTE) << EXTENDEDDATA_DEVICENUMBER_MSB_SHIFT);
Expand All @@ -26,6 +28,7 @@ uint16_t AntRxDataResponse::getDeviceNumber() {
}
}

// cppcheck-suppress unusedFunction
uint8_t AntRxDataResponse::getDeviceType() {
if (getFlagByte() & LIB_CONFIG_CHANNEL_ID) {
return AntRxDataResponse::getData(EXTENDEDDATA_DEVICETYPE_BYTE);
Expand All @@ -34,6 +37,7 @@ uint8_t AntRxDataResponse::getDeviceType() {
}
}

// cppcheck-suppress unusedFunction
uint8_t AntRxDataResponse::getTransmissionType() {
if (getFlagByte() & LIB_CONFIG_CHANNEL_ID) {
return AntRxDataResponse::getData(EXTENDEDDATA_TRANSMISSIONTYPE_BYTE);
Expand All @@ -42,6 +46,7 @@ uint8_t AntRxDataResponse::getTransmissionType() {
}
}

// cppcheck-suppress unusedFunction
uint8_t AntRxDataResponse::getMeasurementType() {
if (getFlagByte() & LIB_CONFIG_RSSI) {
uint8_t offset = 0;
Expand All @@ -54,6 +59,7 @@ uint8_t AntRxDataResponse::getMeasurementType() {
}
}

// cppcheck-suppress unusedFunction
int8_t AntRxDataResponse::getRSSIValue() {
if (getFlagByte() & LIB_CONFIG_RSSI) {
uint8_t offset = 0;
Expand All @@ -66,6 +72,7 @@ int8_t AntRxDataResponse::getRSSIValue() {
}
}

// cppcheck-suppress unusedFunction
int8_t AntRxDataResponse::getThresholdConfigurationValue() {
if (getFlagByte() & LIB_CONFIG_RSSI) {
uint8_t offset = 0;
Expand All @@ -78,6 +85,7 @@ int8_t AntRxDataResponse::getThresholdConfigurationValue() {
}
}

// cppcheck-suppress unusedFunction
uint16_t AntRxDataResponse::getRxTimestamp() {
if (getFlagByte() & LIB_CONFIG_RX_TIMESTAMP) {
uint8_t offset = 0;
Expand Down
1 change: 1 addition & 0 deletions src/RX/Data/ANT_AcknowledgedData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ AcknowledgedData::AcknowledgedData() : AntRxDataResponse() {

}

// cppcheck-suppress unusedFunction
uint8_t AcknowledgedData::getChannelNumber() {
return AntRxDataResponse::getData(0);
}
Expand Down
8 changes: 4 additions & 4 deletions src/RX/Data/ANT_AcknowledgedData.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ class AcknowledgedData : public AntRxDataResponse {
/**
* Returns sepcified byte of data from payload
*/
uint8_t getData(uint8_t index);
uint8_t* getData();
uint8_t getDataLength();
uint8_t getFlagByte();
uint8_t getData(uint8_t index) override;
uint8_t* getData() override;
uint8_t getDataLength() override;
uint8_t getFlagByte() override;

static const uint8_t MSG_ID = ACKNOWLEDGED_DATA;
};
Expand Down
2 changes: 1 addition & 1 deletion src/RX/Data/ANT_AdvancedBurstData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ uint8_t AdvancedBurstData::getChannelNumber() {
return AntRxDataResponse::getData(0) & ADVANCED_BURST_DATA_CHANNEL_MASK;
}

// cppcheck-suppress unusedFunction
uint8_t AdvancedBurstData::getSequenceNumber() {
return (AntRxDataResponse::getData(0) & ~ADVANCED_BURST_DATA_CHANNEL_MASK) >> ADVANCED_BURST_DATA_SEQUENCENUMBER_SHIFT;
}


uint8_t AdvancedBurstData::getData(uint8_t index) {
// skip channel byte
return AntRxDataResponse::getData(index + 1);
Expand Down
6 changes: 3 additions & 3 deletions src/RX/Data/ANT_AdvancedBurstData.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ class AdvancedBurstData : public AntRxDataResponse {
/**
* Returns sepcified byte of data from payload
*/
uint8_t getData(uint8_t index);
uint8_t getDataLength();
uint8_t getData(uint8_t index) override;
uint8_t getDataLength() override;
/**
* AdvancedBurstData does not support extended data
* therefore we lock it out with this method
*/
uint8_t getFlagByte();
uint8_t getFlagByte() override;

static const uint8_t MSG_ID = ADVANCED_BURST_DATA;
};
Expand Down
4 changes: 1 addition & 3 deletions src/RX/Data/ANT_BroadcastData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

#include <ANT_private_defines.h>

BroadcastData::BroadcastData() : AntRxDataResponse() {

}
BroadcastData::BroadcastData() : AntRxDataResponse() {}

uint8_t BroadcastData::getChannelNumber() {
return AntRxDataResponse::getData(0);
Expand Down
Loading

0 comments on commit 6d3a70a

Please sign in to comment.