Enable log macros to work with no args (#4475)

This is enabled by the C++20 __VA_OPT__ feature.
Uses of "{}" format string were updated.
Some warning suppressions were required for older clang versions.
Also improve codegen of wpi::Logger::Log(), frc::ReportError(), and frc::MakeError();
these generate better and less redundant code if they use fmt::string_view for the
format string instead of templating on it.
This commit is contained in:
Tyler Veness
2022-10-19 10:49:27 -07:00
committed by GitHub
parent 878cc8defb
commit 1fc098e696
70 changed files with 373 additions and 338 deletions

View File

@@ -27,7 +27,7 @@ using namespace frc;
DMA::DMA() {
int32_t status = 0;
dmaHandle = HAL_InitializeDMA(&status);
FRC_CheckErrorStatus(status, "{}", "InitializeDMA");
FRC_CheckErrorStatus(status, "InitializeDMA");
}
DMA::~DMA() {
@@ -37,74 +37,74 @@ DMA::~DMA() {
void DMA::SetPause(bool pause) {
int32_t status = 0;
HAL_SetDMAPause(dmaHandle, pause, &status);
FRC_CheckErrorStatus(status, "{}", "SetPause");
FRC_CheckErrorStatus(status, "SetPause");
}
void DMA::SetTimedTrigger(units::second_t seconds) {
int32_t status = 0;
HAL_SetDMATimedTrigger(dmaHandle, seconds.value(), &status);
FRC_CheckErrorStatus(status, "{}", "SetTimedTrigger");
FRC_CheckErrorStatus(status, "SetTimedTrigger");
}
void DMA::SetTimedTriggerCycles(int cycles) {
int32_t status = 0;
HAL_SetDMATimedTriggerCycles(dmaHandle, cycles, &status);
FRC_CheckErrorStatus(status, "{}", "SetTimedTriggerCycles");
FRC_CheckErrorStatus(status, "SetTimedTriggerCycles");
}
void DMA::AddEncoder(const Encoder* encoder) {
int32_t status = 0;
HAL_AddDMAEncoder(dmaHandle, encoder->m_encoder, &status);
FRC_CheckErrorStatus(status, "{}", "AddEncoder");
FRC_CheckErrorStatus(status, "AddEncoder");
}
void DMA::AddEncoderPeriod(const Encoder* encoder) {
int32_t status = 0;
HAL_AddDMAEncoderPeriod(dmaHandle, encoder->m_encoder, &status);
FRC_CheckErrorStatus(status, "{}", "AddEncoderPeriod");
FRC_CheckErrorStatus(status, "AddEncoderPeriod");
}
void DMA::AddCounter(const Counter* counter) {
int32_t status = 0;
HAL_AddDMACounter(dmaHandle, counter->m_counter, &status);
FRC_CheckErrorStatus(status, "{}", "AddCounter");
FRC_CheckErrorStatus(status, "AddCounter");
}
void DMA::AddCounterPeriod(const Counter* counter) {
int32_t status = 0;
HAL_AddDMACounterPeriod(dmaHandle, counter->m_counter, &status);
FRC_CheckErrorStatus(status, "{}", "AddCounterPeriod");
FRC_CheckErrorStatus(status, "AddCounterPeriod");
}
void DMA::AddDigitalSource(const DigitalSource* digitalSource) {
int32_t status = 0;
HAL_AddDMADigitalSource(dmaHandle, digitalSource->GetPortHandleForRouting(),
&status);
FRC_CheckErrorStatus(status, "{}", "AddDigitalSource");
FRC_CheckErrorStatus(status, "AddDigitalSource");
}
void DMA::AddDutyCycle(const DutyCycle* dutyCycle) {
int32_t status = 0;
HAL_AddDMADutyCycle(dmaHandle, dutyCycle->m_handle, &status);
FRC_CheckErrorStatus(status, "{}", "AddDutyCycle");
FRC_CheckErrorStatus(status, "AddDutyCycle");
}
void DMA::AddAnalogInput(const AnalogInput* analogInput) {
int32_t status = 0;
HAL_AddDMAAnalogInput(dmaHandle, analogInput->m_port, &status);
FRC_CheckErrorStatus(status, "{}", "AddAnalogInput");
FRC_CheckErrorStatus(status, "AddAnalogInput");
}
void DMA::AddAveragedAnalogInput(const AnalogInput* analogInput) {
int32_t status = 0;
HAL_AddDMAAveragedAnalogInput(dmaHandle, analogInput->m_port, &status);
FRC_CheckErrorStatus(status, "{}", "AddAveragedAnalogInput");
FRC_CheckErrorStatus(status, "AddAveragedAnalogInput");
}
void DMA::AddAnalogAccumulator(const AnalogInput* analogInput) {
int32_t status = 0;
HAL_AddDMAAnalogAccumulator(dmaHandle, analogInput->m_port, &status);
FRC_CheckErrorStatus(status, "{}", "AddAnalogAccumulator");
FRC_CheckErrorStatus(status, "AddAnalogAccumulator");
}
int DMA::SetExternalTrigger(DigitalSource* source, bool rising, bool falling) {
@@ -114,7 +114,7 @@ int DMA::SetExternalTrigger(DigitalSource* source, bool rising, bool falling) {
static_cast<HAL_AnalogTriggerType>(
source->GetAnalogTriggerTypeForRouting()),
rising, falling, &status);
FRC_CheckErrorStatus(status, "{}", "SetExternalTrigger");
FRC_CheckErrorStatus(status, "SetExternalTrigger");
return idx;
}
@@ -124,7 +124,7 @@ int DMA::SetPwmEdgeTrigger(PWMMotorController* source, bool rising,
int32_t idx = HAL_SetDMAExternalTrigger(
dmaHandle, source->GetPwm()->m_handle,
HAL_AnalogTriggerType::HAL_Trigger_kInWindow, rising, falling, &status);
FRC_CheckErrorStatus(status, "{}", "SetPWmEdgeTrigger");
FRC_CheckErrorStatus(status, "SetPWmEdgeTrigger");
return idx;
}
@@ -133,30 +133,30 @@ int DMA::SetPwmEdgeTrigger(PWM* source, bool rising, bool falling) {
int32_t idx = HAL_SetDMAExternalTrigger(
dmaHandle, source->m_handle, HAL_AnalogTriggerType::HAL_Trigger_kInWindow,
rising, falling, &status);
FRC_CheckErrorStatus(status, "{}", "SetPWmEdgeTrigger");
FRC_CheckErrorStatus(status, "SetPWmEdgeTrigger");
return idx;
}
void DMA::ClearSensors() {
int32_t status = 0;
HAL_ClearDMASensors(dmaHandle, &status);
FRC_CheckErrorStatus(status, "{}", "ClearSensors");
FRC_CheckErrorStatus(status, "ClearSensors");
}
void DMA::ClearExternalTriggers() {
int32_t status = 0;
HAL_ClearDMAExternalTriggers(dmaHandle, &status);
FRC_CheckErrorStatus(status, "{}", "ClearExternalTriggers");
FRC_CheckErrorStatus(status, "ClearExternalTriggers");
}
void DMA::Start(int queueDepth) {
int32_t status = 0;
HAL_StartDMA(dmaHandle, queueDepth, &status);
FRC_CheckErrorStatus(status, "{}", "Start");
FRC_CheckErrorStatus(status, "Start");
}
void DMA::Stop() {
int32_t status = 0;
HAL_StopDMA(dmaHandle, &status);
FRC_CheckErrorStatus(status, "{}", "Stop");
FRC_CheckErrorStatus(status, "Stop");
}