Параллельные события в последовательные

Тема в разделе "Закажу проект", создана пользователем Production, 20 июн 2017.

  1. Production

    Production Нуб

    Добрый день!
    Необходимо сделать библиотеку или функцию (под Arduino), чтобы параллельно происходящие события раскладывать в таймлайн, чтобы они происходили друг за другом.
    У меня проект с использованием мультиплексоров, поэтому не вижу смысла свой код сюда писать. Грубо говоря, на входе: замыкание ног на определенное время. На выходе замыкание других ног.
    На входе могут несколько ног замыкаться одновременно. На выходе должно быть строго последовательно, никакой одновременности. Нельзя ждать, пока отработает на входе полностью, нужно стартовать сразу после замыкания первой ноги.
    Я уже сделал отслеживание входа, получаю результат в виде:
    • Сигнал 1 Открыт
    • Сигнал 2 Открыт
    • Сигнал 1 Закрыт через 2 сек
    • Сигнал 2 Закрыт через 3 сек
    На выходе мне нужно:
    • Выход 1 Открыт
    • Выход 1 Закрыт через 2 сек
    • Выход 2 Открыт
    • Выход 2 Закрыт через 3 сек.

    Входов у меня 32, выходов 16, так что Switch Case вряд ли есть смысл писать. Насколько я понимаю, это все называется конечный автомат, но вот у меня не получается.
    Я уже попробовал буфера, TaskSheduler и так далее. Кто возьмется, можете тоже это использовать.
     
  2. Onkel

    Onkel Гуру

  3. rkit

    rkit Гуру

    Это называется std::forward_list
     
  4. Production

    Production Нуб

    Ну отлично, ребят, прям очень помогли.
     
  5. Onkel

    Onkel Гуру

    Я вам запрос посылал на точные данные- какие пины входы, какие выходы? Код пишется конкретно под конкретные пины. Так и нет ответа. ydom@mail.ru . Как же помочь, если непонятно в чем...
     
  6. Production

    Production Нуб

    Я написал вчера, 15:09
    Кстати, под конкретные не получится, у меня там на входах мультиплексоры. Вам схему придется написать, чтобы под конкретику заточить.
    Сейчас попробую в протеусе схемку накидать
     
    Последнее редактирование: 21 июн 2017
  7. Onkel

    Onkel Гуру

    Ну тем более тз нужно, если мультиплексоры.
    14-32 ответил. С mail.ru не доходит..
    ТЗ присылайте, посчитаем.