state AAH of
active_axes : setof AUX`RotAxis
ignore_hcm : setof AUX`RotAxis
toggle : EngageState
timeout : nat init s ==
s = mk_AAH({},{},<AAH_off>,0) end
click_timeout: nat = 10 -- was 100, changed for test purposes
operations
Transition: HCM`ControlButton * AUX`SixDofCommand * nat ==> ()
Transition(button_pos,hcm_cmd,clock) == let
engage = ButtonTransition(toggle,button_pos,active_axes,clock,timeout),
starting = (toggle = <AAH_off>) and (engage = <AAH_started>) in
(active_axes:= {a | a inset AUX`rot_axis_set &
starting or
(engage <> <AAH_off> and a inset active_axes and
(hcm_cmd.rot(a) = <Zero> or a inset ignore_hcm))};
ignore_hcm:= {a | a inset AUX`rot_axis_set &
(starting and hcm_cmd.rot(a) <> <Zero>) or
(not starting and a inset ignore_hcm)};
timeout:= if toggle = <AAH_on> and engage = <pressed_once> then clock + click_timeout else timeout;
toggle:= engage);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.