Size: a a a

ESP8266 & ESP32 [RU]

2020 November 10

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
на отдачу то зачем? вызвали функцию отправки байтов, она сразу вернула и все
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Alexey Volkov
на отдачу то зачем? вызвали функцию отправки байтов, она сразу вернула и все
Обработка принятого и отправленного в одном таске.
Распаковать\запаковать.
Всякие CRC посчитать.
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
Aleksander Mironov
Обработка принятого и отправленного в одном таске.
Распаковать\запаковать.
Всякие CRC посчитать.
что значит обработка отправленного? Наверное логика выше должна пакет для передачи сформировать
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
Это будет выполняться в контексте таска логики, а не уарта
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Alexey Volkov
что значит обработка отправленного? Наверное логика выше должна пакет для передачи сформировать
Если так. То получается у нас просто таск, который из очереди уарта кладет в очередь обработчика.

Он вообще лишний же.
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
Aleksander Mironov
Если так. То получается у нас просто таск, который из очереди уарта кладет в очередь обработчика.

Он вообще лишний же.
Какой именно очереди? приема или передачи?
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Alexey Volkov
Какой именно очереди? приема или передачи?
Да любой.
Тот таск который готовит данные для отправки, может вполне пихать их в очередь UART

Таск обрабатывающий данные, может их сразу забирать из UART
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
Aleksander Mironov
Да любой.
Тот таск который готовит данные для отправки, может вполне пихать их в очередь UART

Таск обрабатывающий данные, может их сразу забирать из UART
Он так и делает, готовит полный пакет данных и скармливает драйверу, драйвер их копирует себе в буфер и занимается отправкой уже внутри себя, а функция отправки взвращает обратно
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
А чтобы принять данные нужен таск. В уарте же лежат просто байты, а надо их преобразовать в пакеты данных и передать payload логике выше.
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Alexey Volkov
Он так и делает, готовит полный пакет данных и скармливает драйверу, драйвер их копирует себе в буфер и занимается отправкой уже внутри себя, а функция отправки взвращает обратно
Да.  С отправкой тут все отлично.  Пришли данные из очереди на отправку, обработали, толкнули в UART. Уснули.
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Если бы у UART очереди был такой же хендл как и у сущностей фриртос.
Можно было бы сделать 1 таск.
Который просыпался бы по одному получению данных и ИЗ и ВНЕ.
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
Alexey Volkov
А чтобы принять данные нужен таск. В уарте же лежат просто байты, а надо их преобразовать в пакеты данных и передать payload логике выше.
Но, это уровень школьника. Студент, при желании, напишет кастомный вектор прерывания для конкретного модуля уарта и скормит его при конфиге драйвера. А дальше уже обработка будет происходить по прерываниям самого уарта
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Alexey Volkov
Но, это уровень школьника. Студент, при желании, напишет кастомный вектор прерывания для конкретного модуля уарта и скормит его при конфиге драйвера. А дальше уже обработка будет происходить по прерываниям самого уарта
Разговор про то, что родное апи уарта не умеет такого, т.к. не до конца срослось с фриртосными сущностями.
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Я и ожидал, может кто знает и хендл очереди можно получить как то.
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
Aleksander Mironov
Разговор про то, что родное апи уарта не умеет такого, т.к. не до конца срослось с фриртосными сущностями.
На самом деле, у esp одно из самых крутых апи драйверов. А при желании можно ещё и допилить что нужно и переписать компонент сдк! Куда уж лучше то?
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Крутое АПИ - которого не возникает желание переписывать =)
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
Aleksander Mironov
Крутое АПИ - которого не возникает желание переписывать =)
Ну дак используйте регистры и переписывать ничего не нужно 😄
источник

AM

Aleksander Mironov in ESP8266 & ESP32 [RU]
Ага или ардуино фреймворк =)
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
А дальше уже каждый хочет какую-то фичу для себя, но всем то не угодить
источник

AV

Alexey Volkov in ESP8266 & ESP32 [RU]
вот и дали возможность менять
источник