123

Dependencies:   mbed

Fork of LG by igor Apu

develop.txt

Committer:
Diletant
Date:
2016-02-22
Revision:
69:70849751d98e
Child:
70:9cc252048c59

File content as of revision 69:70849751d98e:

*** Обработка запросов ***
1. Нужно ли предусматривать возможность программного буфера передачи UART1 содержать ответ более чем на 1 запрос?
1.1. В старой программе буфер содержит 1 ответ. Запросы поступают с достаточным интервалом для передачи ответа.
1.2. Для разных запросов могут быть разными: время задержки ответа при широковещательном запросе, период ответа,
скорость ответа и скорость ожидаемого запроса. Значит нужно хранить не ответы, а запросы, причем для каждого запроса
нужен свой счетчик задержки или периода.
Если поступают два широковещательных запроса без достаточного интервала, устанавливать разные задержки ответа?
В какой момент переключать ожидаемую скорость запроса и скорость ответа?
Требуется сценарий использования.
2. Нужно ли предусматривать возможность программного буфера приема UART1 содержать более 1 запроса?
2.1. Если не нужен ответ на каждый из запросов к прибору, то имеет смысл отправлять эти запросы без интервала ожидания.
Каждый новый запрос отменяет ответ на предыдущий запрос.

Выводы:
1. Буфер приема должен иметь возможность содержать очередь запросов. Все запросы должны быть обработаны в порядке приема.
2. Новый запрос отменяет отправку ответа на предыдущий запрос, если ответ еще не отправлен.
3. Буфер передачи должен содержать только один ответ одновременно.
4. Буфер приема целесообразно организовать как кольцевой с размером, достаточным для 10 команд.
5. Буфер передачи целесообразно организовать как линейный с размером, достаточным для хранения самого длинного ответа.