blob: 5284789ba60848c782c49319af7910174a214342 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/*
* ExternalDrivers.h
*
* Created on: 23 Jan 2016
* Author: David
*/
#ifndef TMC2660_H_
#define TMC2660_H_
#include "Pins.h"
// TMC2660 Read response. The microstep counter can also be read, but we don't include that here.
const uint32_t TMC_RR_SG = 1 << 0; // stall detected
const uint32_t TMC_RR_OT = 1 << 1; // over temperature shutdown
const uint32_t TMC_RR_OTPW = 1 << 2; // over temperature warning
const uint32_t TMC_RR_S2G = 3 << 3; // short to ground counter (2 bits)
const uint32_t TMC_RR_OLA = 1 << 5; // open load A
const uint32_t TMC_RR_OLB = 1 << 6; // open load B
const uint32_t TMC_RR_STST = 1 << 7; // standstill detected
namespace TMC2660
{
void Init(const Pin[DRIVES], size_t numTmcDrivers)
pre(numTmcDrivers <= DRIVES);
void SetCurrent(size_t drive, float current);
void EnableDrive(size_t drive, bool en);
uint32_t GetStatus(size_t drive);
bool SetMicrostepping(size_t drive, int microsteps, int mode);
unsigned int GetMicrostepping(size_t drive, int mode, bool& interpolation);
void SetDriversPowered(bool powered);
};
#endif /* TMC2660_H_ */
|