public void _build_config() { if (_is_static) { _mcu.add_config_cmd($"set_digital_out pin={_pin} value={(_start_value ? 1 : 0)}"); return; } _oid = _mcu.create_oid(); _mcu.add_config_cmd($"config_digital_out oid={_oid} pin={_pin} value={(_start_value ? 1 : 0)} default_value={(_shutdown_value ? 1 : 0)} max_duration={_mcu.seconds_to_clock(_max_duration)}"); var cmd_queue = _mcu.alloc_command_queue(); _set_cmd = _mcu.lookup_command("schedule_digital_out oid=%c clock=%u value=%c", cq: cmd_queue); }
public void _build_config() { _oid = _mcu.create_oid(); _mcu.add_config_cmd($"config_end_stop oid={_oid} pin={_pin} pull_up={(_pullup ? 1 : 0)} stepper_count={_steppers.Count}"); _mcu.add_config_cmd($"end_stop_home oid={_oid} clock=0 sample_ticks=0 sample_count=0 rest_ticks=0 pin_value=0", is_init: true); for (int i = 0; i < _steppers.Count; i++) { var s = _steppers[i]; _mcu.add_config_cmd($"end_stop_set_stepper oid={_oid} pos={i} stepper_oid={s.get_oid()}", is_init: true); } var cmd_queue = _mcu.alloc_command_queue(); _home_cmd = _mcu.lookup_command("end_stop_home oid=%c clock=%u sample_ticks=%u sample_count=%c rest_ticks=%u pin_value=%c", cq: cmd_queue); _query_cmd = _mcu.lookup_command("end_stop_query oid=%c", cq: cmd_queue); _mcu.register_msg(_handle_end_stop_state, "end_stop_state", _oid); }
public void _build_config() { if (this._sample_count != 0) { return; } this._oid = this._mcu.create_oid(); this._mcu.add_config_cmd($"config_analog_in oid={this._oid} pin={this._pin}"); var clock = this._mcu.get_query_slot(this._oid); var sample_ticks = this._mcu.seconds_to_clock(this._sample_time); var mcu_adc_max = this._mcu.get_constant_float("ADC_MAX"); var max_adc = this._sample_count * mcu_adc_max; this._inv_max_adc = 1.0 / max_adc; this._report_clock = this._mcu.seconds_to_clock(this._report_time); var min_sample = Math.Max(0, Math.Min(65535, (int)(this._min_sample * max_adc))); var max_sample = Math.Max(0, Math.Min(65535, (int)(Math.Ceiling(this._max_sample * max_adc)))); _mcu.add_config_cmd($"query_analog_in oid={_oid} clock={clock} sample_ticks={sample_ticks} sample_count={_sample_count} rest_ticks={_report_clock} min_value={min_sample} max_value={max_sample} range_check_count={_range_check_count}", is_init: true); this._mcu.register_msg(this._handle_analog_in_state, "analog_in_state", this._oid); }