TMCStepper
Library supporting Trinamic Stepper Drivers for Arduino platforms
Loading...
Searching...
No Matches
TMC_platforms.h
Go to the documentation of this file.
1
7
#ifdef ARDUINO_ARCH_AVR
// 125kHz
8
typedef
volatile
uint8_t* fastio_reg;
9
typedef
uint8_t fastio_bm;
10
#define getPort(P) digitalPinToPort(P)
11
#define writeMOSI_H *mosi_register |= mosi_bm
12
#define writeMOSI_L *mosi_register &= ~mosi_bm
13
#define writeSCK_H *sck_register |= sck_bm
14
#define writeSCK_L *sck_register &= ~sck_bm
15
#define readMISO *miso_register & miso_bm
16
#elif defined(ARDUINO_ARCH_SAM)
// DUE:700kHz
17
// by stimmer https://forum.arduino.cc/index.php?topic=129868.msg980466#msg980466
18
#define writeMOSI_H g_APinDescription[mosi_pin].pPort -> PIO_SODR = g_APinDescription[mosi_pin].ulPin
19
#define writeMOSI_L g_APinDescription[mosi_pin].pPort -> PIO_CODR = g_APinDescription[mosi_pin].ulPin
20
#define writeSCK_H g_APinDescription[sck_pin].pPort -> PIO_SODR = g_APinDescription[sck_pin].ulPin
21
#define writeSCK_L g_APinDescription[sck_pin].pPort -> PIO_CODR = g_APinDescription[sck_pin].ulPin
22
#define readMISO PIO_Get( g_APinDescription[miso_pin].pPort, PIO_INPUT, g_APinDescription[miso_pin].ulPin )
23
#elif defined(TARGET_LPC1768)
24
//typedef volatile LPC_GPIO_TypeDef* fastio_reg;
25
//typedef uint32_t fastio_bm;
26
#define writeMOSI_H LPC176x::gpio_set(mosi_pin)
27
#define writeMOSI_L LPC176x::gpio_clear(mosi_pin)
28
#define writeSCK_H LPC176x::delay_ns(240); LPC176x::gpio_set(sck_pin)
29
#define writeSCK_L LPC176x::delay_ns(240); LPC176x::gpio_clear(sck_pin)
30
#define readMISO LPC176x::gpio_get(miso_pin)
31
#elif defined(__STM32F1__) || defined(TARGET_STM32F1)
32
#define writeMOSI_H digitalWrite(mosi_pin, HIGH)
33
#define writeMOSI_L digitalWrite(mosi_pin, LOW)
34
#define writeSCK_H digitalWrite(sck_pin, HIGH)
35
#define writeSCK_L digitalWrite(sck_pin, LOW)
36
#define readMISO digitalRead(miso_pin)
37
#else
// DUE:116kHz
38
#define writeMOSI_H digitalWrite(mosi_pin, HIGH)
39
#define writeMOSI_L digitalWrite(mosi_pin, LOW)
40
#define writeSCK_H digitalWrite(sck_pin, HIGH)
41
#define writeSCK_L digitalWrite(sck_pin, LOW)
42
#define readMISO digitalRead(miso_pin)
43
#endif
src
source
TMC_platforms.h
Generated by
1.16.1