revision: modify proposed pin HAL.

Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
deadprogram
2025-09-16 20:33:50 +02:00
parent f55c0b1853
commit dcf53ac04a
38 changed files with 554 additions and 554 deletions
+52 -52
View File
@@ -4,7 +4,7 @@ package easystepper // import "tinygo.org/x/drivers/easystepper"
import (
"time"
"tinygo.org/x/drivers"
"tinygo.org/x/drivers/internal/pin"
)
// StepMode determines the coil sequence used to perform a single step
@@ -32,7 +32,7 @@ func (sm StepMode) stepCount() uint {
// Device holds the pins and the delay between steps
type Device struct {
pins [4]drivers.PinOutput
pins [4]pin.OutputFunc
config func()
stepDelay time.Duration
stepNumber uint8
@@ -62,8 +62,8 @@ func (d *Device) Move(steps int32) {
// Off turns off all motor pins
func (d *Device) Off() {
for _, pin := range d.pins {
pin(false)
for _, p := range d.pins {
p.Low()
}
}
@@ -124,28 +124,28 @@ func (d *Device) stepMotor(step uint8) {
func (d *Device) stepMotor4(step uint8) {
switch step {
case 0:
d.pins[0](true)
d.pins[1](false)
d.pins[2](true)
d.pins[3](false)
d.pins[0].High()
d.pins[1].Low()
d.pins[2].High()
d.pins[3].Low()
break
case 1:
d.pins[0](false)
d.pins[1](true)
d.pins[2](true)
d.pins[3](false)
d.pins[0].Low()
d.pins[1].High()
d.pins[2].High()
d.pins[3].Low()
break
case 2:
d.pins[0](false)
d.pins[1](true)
d.pins[2](false)
d.pins[3](true)
d.pins[0].Low()
d.pins[1].High()
d.pins[2].Low()
d.pins[3].High()
break
case 3:
d.pins[0](true)
d.pins[1](false)
d.pins[2](false)
d.pins[3](true)
d.pins[0].High()
d.pins[1].Low()
d.pins[2].Low()
d.pins[3].High()
break
}
d.stepNumber = step
@@ -155,45 +155,45 @@ func (d *Device) stepMotor4(step uint8) {
func (d *Device) stepMotor8(step uint8) {
switch step {
case 0:
d.pins[0](true)
d.pins[2](false)
d.pins[1](false)
d.pins[3](false)
d.pins[0].High()
d.pins[2].Low()
d.pins[1].Low()
d.pins[3].Low()
case 1:
d.pins[0](true)
d.pins[2](true)
d.pins[1](false)
d.pins[3](false)
d.pins[0].High()
d.pins[2].High()
d.pins[1].Low()
d.pins[3].Low()
case 2:
d.pins[0](false)
d.pins[2](true)
d.pins[1](false)
d.pins[3](false)
d.pins[0].Low()
d.pins[2].High()
d.pins[1].Low()
d.pins[3].Low()
case 3:
d.pins[0](false)
d.pins[2](true)
d.pins[1](true)
d.pins[3](false)
d.pins[0].Low()
d.pins[2].High()
d.pins[1].High()
d.pins[3].Low()
case 4:
d.pins[0](false)
d.pins[2](false)
d.pins[1](true)
d.pins[3](false)
d.pins[0].Low()
d.pins[2].Low()
d.pins[1].High()
d.pins[3].Low()
case 5:
d.pins[0](false)
d.pins[2](false)
d.pins[1](true)
d.pins[3](true)
d.pins[0].Low()
d.pins[2].Low()
d.pins[1].High()
d.pins[3].High()
case 6:
d.pins[0](false)
d.pins[2](false)
d.pins[1](false)
d.pins[3](true)
d.pins[0].Low()
d.pins[2].Low()
d.pins[1].Low()
d.pins[3].High()
case 7:
d.pins[0](true)
d.pins[2](false)
d.pins[1](false)
d.pins[3](true)
d.pins[0].High()
d.pins[2].Low()
d.pins[1].Low()
d.pins[3].High()
}
d.stepNumber = step
}