SHR16 tmc control

pull/26/head
Alex Voinea 2021-06-19 00:26:08 -07:00 committed by DRracer
parent 19bc26219b
commit e5215c7b84
1 changed files with 10 additions and 5 deletions

View File

@ -38,14 +38,19 @@ void SHR16::SetLED(uint16_t led) {
}
void SHR16::SetTMCEnabled(uint8_t index, bool ena) {
// ena ^= 7;
// ena = ((ena & 1) << 1) | ((ena & 2) << 2) | ((ena & 4) << 3); // 0. << 1 == 1., 1. << 2 == 3., 2. << 3 == 5.
// Write((shr16_v & ~SHR16_ENA_MSK) | ena);
const uint16_t mask = 1 << (2 * index + 1);
if (ena)
Write(shr16_v & ~mask);
else
Write(shr16_v | mask);
}
void SHR16::SetTMCDir(uint8_t index, bool dir) {
// dir = (dir & 1) | ((dir & 2) << 1) | ((dir & 4) << 2); // 0., 1. << 1 == 2., 2. << 2 == 4.
// Write((shr16_v & ~SHR16_DIR_MSK) | dir);
const uint16_t mask = 1 << (2 * index);
if (dir)
Write(shr16_v & ~mask);
else
Write(shr16_v | mask);
}
} // namespace shr16