Beispiel #1
0
        public void set_digital(double print_time, bool value)
        {
            var clock = _mcu.print_time_to_clock(print_time);

            _set_cmd.send(new object[] { _oid, clock, !!value ^ _invert }, (ulong)_last_clock, (ulong)clock);
            _last_clock = clock;
        }
Beispiel #2
0
        public void home_start(
            double print_time,
            double sample_time,
            int sample_count,
            double rest_time,
            bool triggered = true)
        {
            var clock      = _mcu.print_time_to_clock(print_time);
            var rest_ticks = (int)(rest_time * _mcu.get_adjusted_freq());

            _homing                = true;
            _min_query_time        = _mcu.monotonic();
            _next_query_print_time = print_time + RETRY_QUERY;
            _home_cmd.send(new object[] {
                _oid,
                clock,
                _mcu.seconds_to_clock(sample_time),
                sample_count,
                rest_ticks,
                triggered ^ _invert
            }, reqclock: (ulong)clock);
            foreach (var s in _steppers)
            {
                s.note_homing_start((ulong)clock);
            }
        }