mirror of
https://github.com/sinseman44/PyCNC.git
synced 2026-04-20 18:48:11 +00:00
test dmagpio to control l293d driver for stepper motor
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from .rpgpio_private import *
|
#from .rpgpio_private import *
|
||||||
|
from rpgpio_private import *
|
||||||
|
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
@@ -409,9 +410,7 @@ class DMAWatchdog(DMAProto):
|
|||||||
self._dma.write_int(self._DMA_CHANNEL_ADDRESS + DMA_NEXTCONBK,
|
self._dma.write_int(self._DMA_CHANNEL_ADDRESS + DMA_NEXTCONBK,
|
||||||
self._phys_memory.get_bus_address())
|
self._phys_memory.get_bus_address())
|
||||||
|
|
||||||
|
def test():
|
||||||
# for testing purpose
|
|
||||||
def main():
|
|
||||||
pin = 21
|
pin = 21
|
||||||
g = GPIO()
|
g = GPIO()
|
||||||
g.init(pin, GPIO.MODE_INPUT_NOPULL)
|
g.init(pin, GPIO.MODE_INPUT_NOPULL)
|
||||||
@@ -462,5 +461,50 @@ def main():
|
|||||||
pwm.remove_pin(pin)
|
pwm.remove_pin(pin)
|
||||||
print("pwm stopped")
|
print("pwm stopped")
|
||||||
|
|
||||||
|
# for testing purpose
|
||||||
|
def main():
|
||||||
|
pins = [4,17,27,22]
|
||||||
|
seqs = [[1,0,0,0], # Phase A
|
||||||
|
[1,0,1,0], # Phase AB
|
||||||
|
[0,0,1,0], # Phase B
|
||||||
|
[0,1,1,0], # Phase A'B
|
||||||
|
[0,1,0,0], # Phase A'
|
||||||
|
[0,1,0,1], # Phase A'B'
|
||||||
|
[0,0,0,1], # Phase B'
|
||||||
|
[1,0,0,1]] # Phase AB'
|
||||||
|
g = GPIO()
|
||||||
|
for pin in pins:
|
||||||
|
print("Start output PIN: {}".format(pin))
|
||||||
|
g.init(pin, GPIO.MODE_OUTPUT)
|
||||||
|
|
||||||
|
dg = DMAGPIO()
|
||||||
|
# mask = 0
|
||||||
|
# for pin in pins:
|
||||||
|
# mask += 1 << pin
|
||||||
|
# print("MASK : {}".format(bin(mask)))
|
||||||
|
#
|
||||||
|
# dg.add_pulse(mask, 500000)
|
||||||
|
# dg.add_delay(500000)
|
||||||
|
for seq in seqs:
|
||||||
|
mask = 0
|
||||||
|
for idx, enable in enumerate(seq):
|
||||||
|
if enable:
|
||||||
|
mask += 1 << pins[idx]
|
||||||
|
dg.add_pulse(mask, 10000)
|
||||||
|
dg.add_delay(250000)
|
||||||
|
|
||||||
|
dg.run(True)
|
||||||
|
print("dmagpio is started")
|
||||||
|
try:
|
||||||
|
print("press enter to stop...")
|
||||||
|
sys.stdin.readline()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
pass
|
||||||
|
dg.stop()
|
||||||
|
|
||||||
|
for pin in pins:
|
||||||
|
print("Stop output PIN: {}".format(pin))
|
||||||
|
g.clear(pin)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
Reference in New Issue
Block a user