bcm2835 :: StepperMotor :: backwards
bcm2835 :: StepperMotor :: defaultinit
bcm2835 :: StepperMotor :: delay
bcm2835 :: StepperMotor :: delay=
bcm2835 :: StepperMotor :: forward
bcm2835 :: StepperMotor :: release
bcm2835 $ StepperMotor :: SELF
Type of this instance, automatically specialized in every classbcm2835 :: StepperMotor :: backwards
core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
core :: Object :: defaultinit
bcm2835 :: StepperMotor :: defaultinit
bcm2835 :: StepperMotor :: delay
bcm2835 :: StepperMotor :: delay=
bcm2835 :: StepperMotor :: forward
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
core :: Object :: output_class_name
Display class name on stdout (debug only).bcm2835 :: StepperMotor :: release
class StepperMotor
var pins: Sequence[RPiPin]
var delay: Int
init (delay: Int, a, b, c, d: RPiPin)
do
pins = [a, b, c, d]
self.delay = delay
for p in pins do p.fsel = new FunctionSelect.outp
end
fun forward(steps: Int)
do
for s in [0..steps[ do
set(true, false, false, false)
delay.bcm2835_delay
set(true, true, false, false)
delay.bcm2835_delay
set(false, true, false, false)
delay.bcm2835_delay
set(false, true, true, false)
delay.bcm2835_delay
set(false, false, true, false)
delay.bcm2835_delay
set(false, false, true, true)
delay.bcm2835_delay
set(false, false, false, true)
delay.bcm2835_delay
set(true, false, false, true)
delay.bcm2835_delay
end
end
fun backwards(steps: Int)
do
for s in [0..steps[ do
set(true, false, false, true)
delay.bcm2835_delay
set(false, false, false, true)
delay.bcm2835_delay
set(false, false, true, true)
delay.bcm2835_delay
set(false, false, true, false)
delay.bcm2835_delay
set(false, true, true, false)
delay.bcm2835_delay
set(false, true, false, false)
delay.bcm2835_delay
set(true, true, false, false)
delay.bcm2835_delay
set(true, false, false, false)
delay.bcm2835_delay
end
end
fun release do set(false, false, false, false)
protected fun set(a, b, c, d: Bool)
do
var bits = new Array[Bool].with_items(a, b, c, d)
for i in [0..4[ do pins[i].write(bits[i])
end
end
lib/bcm2835/bcm2835.nit:485,1--549,3