bcm2835 :: RotaryEncoder :: _old_a
bcm2835 :: RotaryEncoder :: _old_b
bcm2835 :: RotaryEncoder :: _pin_a
bcm2835 :: RotaryEncoder :: _pin_b
bcm2835 :: RotaryEncoder :: defaultinit
bcm2835 :: RotaryEncoder :: old_a
bcm2835 :: RotaryEncoder :: old_a=
bcm2835 :: RotaryEncoder :: old_b
bcm2835 :: RotaryEncoder :: old_b=
bcm2835 :: RotaryEncoder :: pin_a
bcm2835 :: RotaryEncoder :: pin_a=
bcm2835 :: RotaryEncoder :: pin_b
bcm2835 :: RotaryEncoder :: pin_b=
bcm2835 :: RotaryEncoder :: update
returns '<', '>' or null accoring to rotation or lack thereofbcm2835 $ RotaryEncoder :: SELF
Type of this instance, automatically specialized in every classbcm2835 :: RotaryEncoder :: _old_a
bcm2835 :: RotaryEncoder :: _old_b
bcm2835 :: RotaryEncoder :: _pin_a
bcm2835 :: RotaryEncoder :: _pin_b
core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
bcm2835 :: RotaryEncoder :: defaultinit
core :: Object :: defaultinit
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 :: native_class_name
The class name of the object in CString format.bcm2835 :: RotaryEncoder :: old_a
bcm2835 :: RotaryEncoder :: old_a=
bcm2835 :: RotaryEncoder :: old_b
bcm2835 :: RotaryEncoder :: old_b=
core :: Object :: output_class_name
Display class name on stdout (debug only).bcm2835 :: RotaryEncoder :: pin_a
bcm2835 :: RotaryEncoder :: pin_a=
bcm2835 :: RotaryEncoder :: pin_b
bcm2835 :: RotaryEncoder :: pin_b=
bcm2835 :: RotaryEncoder :: update
returns '<', '>' or null accoring to rotation or lack thereof
class RotaryEncoder
var pin_a: RPiPin
var pin_b: RPiPin
var old_a= false
var old_b= false
# returns '<', '>' or null accoring to rotation or lack thereof
fun update: nullable Char
do
var new_a = pin_a.lev
var new_b = pin_b.lev
var res = null
if new_a != old_a or new_b != old_b then
if not old_a and not old_b then
# everything was on
if not new_a and new_b then
res = '<'
else if new_a and not new_b then
res = '>'
end
else if old_a and old_b then
# everything was off
if not new_a and new_b then
res = '>'
else if new_a and not new_b then
res = '<'
end
end
old_a = new_a
old_b = new_b
end
return res
end
end
lib/bcm2835/bcm2835.nit:126,1--162,3