SHR16 tmc control
parent
19bc26219b
commit
86d6d0deda
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue