drivers[i].state = TMC2660_STATE_CONFIG;
drivers[i].reg = 0;
- drivers[i].regs[TMC2660_DRVCTRL] = TMC2660_DRVCTRL_MRES_8;
- //drivers[i].regs[TMC2660_CHOPCONF] = TMC2660_CHOPCONF_TBL_36 |
- // TMC2660_CHOPCONF_HEND(0) | TMC2660_CHOPCONF_HSTART(4) |
- // TMC2660_CHOPCONF_TOFF(4);
+ drivers[i].regs[TMC2660_DRVCTRL] = TMC2660_DRVCTRL_DEDGE | TMC2660_DRVCTRL_MRES_8;
drivers[i].regs[TMC2660_CHOPCONF] = TMC2660_CHOPCONF_TBL_36 |
- TMC2660_CHOPCONF_CHM | TMC2660_CHOPCONF_HEND(7) |
- TMC2660_CHOPCONF_HSTART(6) | TMC2660_CHOPCONF_TOFF(7);
+ TMC2660_CHOPCONF_HEND(0) | TMC2660_CHOPCONF_HSTART(4) |
+ TMC2660_CHOPCONF_TOFF(4);
+ //drivers[i].regs[TMC2660_CHOPCONF] = TMC2660_CHOPCONF_TBL_36 |
+ // TMC2660_CHOPCONF_CHM | TMC2660_CHOPCONF_HEND(7) |
+ // TMC2660_CHOPCONF_HSTART(6) | TMC2660_CHOPCONF_TOFF(7);
//drivers[i].regs[TMC2660_SMARTEN] = TMC2660_SMARTEN_SEIMIN |
// TMC2660_SMARTEN_MAX(2) | TMC2660_SMARTEN_MIN(2);
drivers[i].regs[TMC2660_SGCSCONF] = TMC2660_SGCSCONF_SFILT |
- TMC2660_SGCSCONF_THRESH(63) | TMC2660_SGCSCONF_CS(4);
+ TMC2660_SGCSCONF_THRESH(63) | TMC2660_SGCSCONF_CS(6);
drivers[i].regs[TMC2660_DRVCONF] = TMC2660_DRVCONF_RDSEL_MSTEP;
}
// Setup pins
- // Why is it necessary to set the SS pin for master mode to work?
+ // Must set the SS pin either in/high or any/output for master mode to work
TMC2660_SPI_PORT.OUTSET = 1 << TMC2660_SPI_SS_PIN; // High
- TMC2660_SPI_PORT.DIRSET = 1 << TMC2660_SPI_SS_PIN; // Output
+ TMC2660_SPI_PORT.DIRCLR = 1 << TMC2660_SPI_SS_PIN; // Input
+
TMC2660_SPI_PORT.OUTSET = 1 << TMC2660_SPI_SCK_PIN; // High
TMC2660_SPI_PORT.DIRSET = 1 << TMC2660_SPI_SCK_PIN; // Output
+
TMC2660_SPI_PORT.DIRCLR = 1 << TMC2660_SPI_MISO_PIN; // Input
TMC2660_SPI_PORT.OUTSET = 1 << TMC2660_SPI_MOSI_PIN; // High
TMC2660_SPI_PORT.DIRSET = 1 << TMC2660_SPI_MOSI_PIN; // Output