Make TMC mask more readable

This commit is contained in:
D.R.racer 2022-11-19 17:11:51 +01:00 committed by DRracer
parent f1ed2fc5c7
commit a17153f877
1 changed files with 11 additions and 1 deletions

View File

@ -918,7 +918,17 @@ void MMU2::ReportError(ErrorCode ec, ErrorSource res) {
IncrementMMUFails();
// check if it is a "power" failure - we consider TMC-related errors as power failures
if( (uint16_t)ec & 0x7e00 ){ // @@TODO can be optimized to uint8_t operation
static constexpr uint16_t tmcMask =
( (uint16_t)ErrorCode::TMC_IOIN_MISMATCH
| (uint16_t)ErrorCode::TMC_RESET
| (uint16_t)ErrorCode::TMC_UNDERVOLTAGE_ON_CHARGE_PUMP
| (uint16_t)ErrorCode::TMC_SHORT_TO_GROUND
| (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_WARN
| (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_ERROR
| (uint16_t)ErrorCode::MMU_SOLDERING_NEEDS_ATTENTION ) & 0x7fffU; // skip the top bit
static_assert(tmcMask == 0x7e00); // just make sure we fail compilation if any of the TMC error codes change
if ((uint16_t)ec & tmcMask) { // @@TODO can be optimized to uint8_t operation
// TMC-related errors are from 0x8200 higher
IncrementTMCFailures();
}