blocks ($(frequency), $(delay)) { { "limit", "dt_el_speed_limit_r" } { "quantize", "dt_el_speed_quantize_r" } { "subtract", "dt_el_speed_fb_r" } { "pid", "dt_el_driver_r" } { "gain", "dt_el_torque_gain_r" } { "limit_dyn", "dt_el_torque_limit_r" } { "add", "dt_el_torque_add_cross_r" } { "friction", "dt_el_friction_r" } { "pid", "dt_el_accelerate_r" } { "pid", "dt_el_speed2pos_r" } { "value", "dt_el_offset_r" } { "add", "dt_el_offset_add_r" } { "quantize", "dt_el_pos_quantize_r" } { "limit", "dt_el_speed_limit_l" } { "quantize", "dt_el_speed_quantize_l" } { "subtract", "dt_el_speed_fb_l" } { "pid", "dt_el_driver_l" } { "gain", "dt_el_torque_gain_l" } { "limit_dyn", "dt_el_torque_limit_l" } { "add", "dt_el_torque_add_cross_l" } { "friction", "dt_el_friction_l" } { "pid", "dt_el_accelerate_l" } { "pid", "dt_el_speed2pos_l" } { "value", "dt_el_offset_l" } { "add", "dt_el_offset_add_l" } { "quantize", "dt_el_pos_quantize_l" } { "add", "dt_el_cross_diff" } { "gain", "dt_el_cross_tension_r" } { "gain", "dt_el_cross_tension_l" } { "register", "dt_el_enabled" } { "value_bool", "dt_el_safety_t" } { "value_bool", "dt_el_safety_b" } { "not", "dt_el_safety_t_not" } { "not", "dt_el_safety_b_not" } { "value_bool", "dt_el_bex" } { "value", "dt_el_ae1" } { "log", "dt_el_ba1_r" } { "log", "dt_el_ba2_r" } { "not", "dt_el_ba1_l" } { "not", "dt_el_ba2_l" } module ("dt_el_r") { { { "speed", "dt_el_speed_limit_r", "in" } { "torque", "dt_el_torque_gain_r", "in" } { "enable", "dt_el_enabled", "input" } { "ba1", "dt_el_ba1_r", "condition" } { "ba2", "dt_el_ba2_r", "condition" } } { { "position", "dt_el_pos_quantize_r", "out" } { "speed", "dt_el_accelerate_r", "out" } { "torque", "dt_el_torque_limit_r", "out" } { "enabled", "dt_el_enabled", "output" } { "be1", "dt_el_bex", "value" } { "be2", "dt_el_bex", "value" } { "be3", "dt_el_bex", "value" } { "be4", "dt_el_bex", "value" } { "be5", "dt_el_bex", "value" } { "ae1", "dt_el_ae1", "value" } { "external_enable", "dt_el_bex", "value" } } } module ("dt_el_l") { { { "speed", "dt_el_speed_limit_l", "in" } { "torque", "dt_el_torque_gain_l", "in" } { "enable", "dt_el_enabled", "input" } { "ba1", "dt_el_ba1_l", "input" } { "ba2", "dt_el_ba2_l", "input" } } { { "position", "dt_el_pos_quantize_l", "out" } { "speed", "dt_el_accelerate_l", "out" } { "torque", "dt_el_torque_limit_l", "out" } { "enabled", "dt_el_enabled", "output" } { "be1", "dt_el_safety_b_not", "output" } { "be2", "dt_el_safety_b", "value" } { "be3", "dt_el_safety_t_not", "output" } { "be4", "dt_el_safety_t", "value" } { "be5", "dt_el_bex", "value" } { "ae1", "dt_el_ae1", "value" } { "external_enable", "dt_el_bex", "value" } } } } params { { "dt_el_torque_gain_r", "gain", (float)1.0 } { "dt_el_speed_limit_r", "max", (float) rpm2rads(3000.0)} { "dt_el_speed_limit_r", "min", (float)-rpm2rads(3000.0)} { "dt_el_speed_quantize_r", "quantum", (float) rpm2rads(3000.0)/16384.0 } { "dt_el_driver_r", "kp", (float)5.0 } { "dt_el_driver_r", "ki", (float)10.0 } { "dt_el_driver_r", "kd", (float)0.01 } { "dt_el_friction_r", "friction_static", (float)0.25 } { "dt_el_friction_r", "friction_dynamic", (float)0.22 } { "dt_el_friction_r", "deadzone_max", (float)0.1 } { "dt_el_friction_r", "deadzone_min", (float)-0.1 } { "dt_el_accelerate_r", "kp", (float)0.0 } { "dt_el_accelerate_r", "ki", (float)10.0 } { "dt_el_accelerate_r", "kd", (float)0.0 } { "dt_el_speed2pos_r", "kp", (float)0.0 } { "dt_el_speed2pos_r", "ki", (float)1.0 } { "dt_el_speed2pos_r", "kd", (float)0.0 } { "dt_el_offset_r", "value", (float)-40680.0833715 } { "dt_el_pos_quantize_r", "quantum", (float)2.0 * pi / 16384.0 } { "dt_el_torque_gain_l", "gain", (float)1.0 } { "dt_el_speed_limit_l", "max", (float) rpm2rads(3000.0)} { "dt_el_speed_limit_l", "min", (float)-rpm2rads(3000.0)} { "dt_el_speed_quantize_l", "quantum", (float) rpm2rads(3000.0)/16384.0 } { "dt_el_driver_l", "kp", (float)5.0 } { "dt_el_driver_l", "ki", (float)10.0 } { "dt_el_driver_l", "kd", (float)0.01 } { "dt_el_friction_l", "friction_static", (float)0.25 } { "dt_el_friction_l", "friction_dynamic", (float)0.23 } { "dt_el_friction_l", "deadzone_max", (float)0.1 } { "dt_el_friction_l", "deadzone_min", (float)-0.1 } { "dt_el_accelerate_l", "kp", (float)0.0 } { "dt_el_accelerate_l", "ki", (float)10.0 } { "dt_el_accelerate_l", "kd", (float)0.0 } { "dt_el_speed2pos_l", "kp", (float)0.0 } { "dt_el_speed2pos_l", "ki", (float)1.0 } { "dt_el_speed2pos_l", "kd", (float)0.0 } { "dt_el_offset_l", "value", (float)-10783.776612094 } { "dt_el_pos_quantize_l", "quantum", (float)2.0 * pi / 16384.0 } { "dt_el_cross_tension_r", "gain", (float)-50.0 } { "dt_el_cross_tension_l", "gain", (float)-50.0 } { "dt_el_safety_t", "value", true } { "dt_el_safety_b", "value", (bool)1 } { "dt_el_bex", "value", (bool)0 } { "dt_el_ba1_r", "msg_up", "Focusbox Plus activated" } { "dt_el_ba1_r", "msg_down", "Focusbox Plus deactivated" } { "dt_el_ba2_r", "msg_up", "Focusbox Min activated" } { "dt_el_ba2_r", "msg_down", "Focusbox Min deactivated" } } links { { "dt_el_speed_limit_r", "out", "dt_el_speed_quantize_r", "in", true } { "dt_el_speed_quantize_r", "out", "dt_el_speed_fb_r", "positive", true } { "dt_el_speed_fb_r", "difference", "dt_el_driver_r", "in", true } { "dt_el_torque_gain_r", "out", "dt_el_torque_limit_r", "limit", false } { "dt_el_driver_r", "out", "dt_el_torque_limit_r", "in", false } { "dt_el_torque_limit_r", "out", "dt_el_torque_add_cross_r", "in0", true } { "dt_el_torque_add_cross_r", "out", "dt_el_friction_r", "in", true } { "dt_el_friction_r", "out", "dt_el_accelerate_r", "in", true } { "dt_el_accelerate_r", "out", "dt_el_speed2pos_r", "in", true } { "dt_el_accelerate_r", "out", "dt_el_speed_fb_r", "negative", false } { "dt_el_accelerate_r", "out", "dt_el_friction_r", "speed", false } { "dt_el_speed2pos_r", "out", "dt_el_offset_add_r", "in0", true } { "dt_el_offset_r", "value", "dt_el_offset_add_r", "in1", true } { "dt_el_offset_add_r", "out", "dt_el_pos_quantize_r", "in", true } { "dt_el_speed_limit_l", "out", "dt_el_speed_quantize_l", "in", true } { "dt_el_speed_quantize_l", "out", "dt_el_speed_fb_l", "positive", true } { "dt_el_speed_fb_l", "difference", "dt_el_driver_l", "in", true } { "dt_el_torque_gain_l", "out", "dt_el_torque_limit_l", "limit", false } { "dt_el_driver_l", "out", "dt_el_torque_limit_l", "in", false } { "dt_el_torque_limit_l", "out", "dt_el_torque_add_cross_l", "in0", true } { "dt_el_torque_add_cross_l", "out", "dt_el_friction_l", "in", true } { "dt_el_friction_l", "out", "dt_el_accelerate_l", "in", true } { "dt_el_accelerate_l", "out", "dt_el_speed2pos_l", "in", true } { "dt_el_accelerate_l", "out", "dt_el_speed_fb_l", "negative", false } { "dt_el_accelerate_l", "out", "dt_el_friction_l", "speed", false } { "dt_el_speed2pos_l", "out", "dt_el_offset_add_l", "in0", true } { "dt_el_offset_l", "value", "dt_el_offset_add_l", "in1", true } { "dt_el_offset_add_l", "out", "dt_el_pos_quantize_l", "in", true } { "dt_el_speed2pos_r", "out", "dt_el_cross_diff", "in0", true } { "dt_el_speed2pos_l", "out", "dt_el_cross_diff", "in1", true } { "dt_el_cross_diff", "out", "dt_el_cross_tension_r", "in", true } { "dt_el_cross_diff", "out", "dt_el_cross_tension_l", "in", true } { "dt_el_cross_tension_r", "out", "dt_el_torque_add_cross_r", "in1", false } { "dt_el_cross_tension_l", "out", "dt_el_torque_add_cross_l", "in1", false } { "dt_el_safety_t", "value", "dt_el_safety_t_not", "input", true } { "dt_el_safety_b", "value", "dt_el_safety_b_not", "input", true } }