123
Fork of LG by
develop.txt@69:70849751d98e, 2016-02-22 (annotated)
- Committer:
- Diletant
- Date:
- Mon Feb 22 19:50:48 2016 +0000
- Revision:
- 69:70849751d98e
- Child:
- 70:9cc252048c59
develop.txt; Device protocol&settings update. Not final!!!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Diletant | 69:70849751d98e | 1 | *** Обработка запросов *** |
Diletant | 69:70849751d98e | 2 | 1. Нужно ли предусматривать возможность программного буфера передачи UART1 содержать ответ более чем на 1 запрос? |
Diletant | 69:70849751d98e | 3 | 1.1. В старой программе буфер содержит 1 ответ. Запросы поступают с достаточным интервалом для передачи ответа. |
Diletant | 69:70849751d98e | 4 | 1.2. Для разных запросов могут быть разными: время задержки ответа при широковещательном запросе, период ответа, |
Diletant | 69:70849751d98e | 5 | скорость ответа и скорость ожидаемого запроса. Значит нужно хранить не ответы, а запросы, причем для каждого запроса |
Diletant | 69:70849751d98e | 6 | нужен свой счетчик задержки или периода. |
Diletant | 69:70849751d98e | 7 | Если поступают два широковещательных запроса без достаточного интервала, устанавливать разные задержки ответа? |
Diletant | 69:70849751d98e | 8 | В какой момент переключать ожидаемую скорость запроса и скорость ответа? |
Diletant | 69:70849751d98e | 9 | Требуется сценарий использования. |
Diletant | 69:70849751d98e | 10 | 2. Нужно ли предусматривать возможность программного буфера приема UART1 содержать более 1 запроса? |
Diletant | 69:70849751d98e | 11 | 2.1. Если не нужен ответ на каждый из запросов к прибору, то имеет смысл отправлять эти запросы без интервала ожидания. |
Diletant | 69:70849751d98e | 12 | Каждый новый запрос отменяет ответ на предыдущий запрос. |
Diletant | 69:70849751d98e | 13 | |
Diletant | 69:70849751d98e | 14 | Выводы: |
Diletant | 69:70849751d98e | 15 | 1. Буфер приема должен иметь возможность содержать очередь запросов. Все запросы должны быть обработаны в порядке приема. |
Diletant | 69:70849751d98e | 16 | 2. Новый запрос отменяет отправку ответа на предыдущий запрос, если ответ еще не отправлен. |
Diletant | 69:70849751d98e | 17 | 3. Буфер передачи должен содержать только один ответ одновременно. |
Diletant | 69:70849751d98e | 18 | 4. Буфер приема целесообразно организовать как кольцевой с размером, достаточным для 10 команд. |
Diletant | 69:70849751d98e | 19 | 5. Буфер передачи целесообразно организовать как линейный с размером, достаточным для хранения самого длинного ответа. |