Implement Controlled Pulses via PIO
This commit is contained in:
30
motor-control/firmware/src/tmc2209/pulser.pio
Normal file
30
motor-control/firmware/src/tmc2209/pulser.pio
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
.program pulser
|
||||
clock_div:
|
||||
PULL NOBLOCK
|
||||
MOV X, OSR
|
||||
MOV Y, X
|
||||
l0:
|
||||
JMP Y-- l0
|
||||
|
||||
IRQ CLEAR 0 REL
|
||||
; SM 0 + 0 -> IRQ 0
|
||||
; SM 1 + 0 -> IRQ 1
|
||||
|
||||
JMP clock_div
|
||||
|
||||
counter:
|
||||
; SM 2 + 2 -> IRQ 0
|
||||
; SM 3 + 2 -> IRQ 1
|
||||
PULL
|
||||
MOV X, OSR
|
||||
IRQ WAIT 2 REL
|
||||
l1:
|
||||
IRQ WAIT 2 REL [1]
|
||||
SET PINS, 1
|
||||
IRQ WAIT 2 REL
|
||||
SET PINS, 0
|
||||
JMP X-- l1
|
||||
|
||||
JMP counter
|
||||
|
||||
Reference in New Issue
Block a user