Модератор: Alex
-
eGorka
- Сообщения: 182
- Зарегистрирован: Чт ноя 24, 2016 10:47 am
-
Благодарил (а):
5 раз
-
Поблагодарили:
25 раз
Сообщение
eGorka » Сб июл 21, 2018 1:11 pm
alexsis_76 писал(а): ↑Сб июл 21, 2018 12:54 pm
Подобные высказывания у меня вызывают стойкие ассоциации с плохим танцором, которому всё мешает хорошо станцевать
Ну опять началось.
Вся работа с сетью ставится в очередь задач на одном ядре. А работа с периферией желательно на другом. При этом никто никому не мешает
ну вообщем то да ноооо, скорость uart во много раз меньше скорости udp, по udp желательно передавать пакеты размер которых близок к MTU, что бы передача шла непрерывным потоком необходимо произвести выравнивание скоростей с помощью буфера большого размера иначе сетевая задача будет голодать и скорость будет ограничена скоростью получения данных из uartа,хотя может быть намного большей,но чип не может предоставить память под буфер и подключить ее нельзя т к отсутствует шина для подключения плюс при отсутствии dma перегонкой данных занимается ядро что уменьшает скорость и кпд, как то так.
термоядерный ESP32
ну и где тут выйграшь от термоядерности? в итоге процессор с двумя ядрами по 200 мгц каждое ползает со скоростью улитки.
Буду чаще прислушиваться к "плохому танцору"
![Smile :)](./images/smilies/icon_e_smile.gif)
-
alexsis_76
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
-
Благодарил (а):
6 раз
-
Поблагодарили:
63 раза
Сообщение
alexsis_76 » Сб июл 21, 2018 3:13 pm
Нуссс уважаемый Alex,может Вы подскажете бедному танцору,как ему выкрутится из положения
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
.
-
Alex
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
-
Благодарил (а):
42 раза
-
Поблагодарили:
262 раза
Сообщение
Alex » Сб июл 21, 2018 3:45 pm
Нуссс уважаемый Alex,может Вы подскажете бедному танцору,как ему выкрутится из положения
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
.
Конечно! Для начала нужно очистить мозг и перестать заниматься всякой фигнёй.
В крайнем случае, если ESP32 вас не устраивает, то сделайте проект на любом подходящем железе и
покажите его нам.
-
alexsis_76
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
-
Благодарил (а):
6 раз
-
Поблагодарили:
63 раза
Сообщение
alexsis_76 » Сб июл 21, 2018 3:57 pm
в том то и дело что на другом железе(апельсин,малина) без проблем,нужно сдесь.
-
Alex
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
-
Благодарил (а):
42 раза
-
Поблагодарили:
262 раза
Сообщение
Alex » Сб июл 21, 2018 4:03 pm
в том то и дело что на другом железе(апельсин,малина) без проблем,нужно сдесь.
Кому нужно и зачем нужно?
-
Alex
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
-
Благодарил (а):
42 раза
-
Поблагодарили:
262 раза
Сообщение
Alex » Сб июл 21, 2018 5:07 pm
Это не важно.
Ну тогда и жаловаться на недоделанность ESP32 нужно там, а не здесь.
-
serghei
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
-
Благодарил (а):
303 раза
-
Поблагодарили:
282 раза
Сообщение
serghei » Сб июл 21, 2018 10:38 pm
Alex писал(а): ↑Сб июл 21, 2018 3:45 pm
Для начала нужно очистить мозг и перестать заниматься всякой фигнёй.
Четыре умнейших мужика собрались тут ......Детский сад , вторая четверть.....
Вот как-то не видно желания развести задачи по разным ядрам.
Для начала надо собрать вытекший от жары мозг в кучу и ещё раз перечитать код радио. Как то так
Код: Выделить всё
// Print some memory and sketch info
dbgprint ( "Starting ESP32-radio running on CPU %d at %d MHz. Version %s. Free memory %d",
xPortGetCoreID(),
ESP.getCpuFreqMHz(),
VERSION,
ESP.getFreeHeap() ) ; // Normally about 199 kB
maintask = xTaskGetCurrentTaskHandle() ; // My taskhandle
SPIsem = xSemaphoreCreateMutex(); ; // Semaphore for SPI bus
pi = esp_partition_find ( ESP_PARTITION_TYPE_DATA, // Get partition iterator for
ESP_PARTITION_SUBTYPE_ANY, // the NVS partition
partname ) ;
======================
xTaskCreatePinnedToCore (
playtask, // Task function.
"Playtask", // name of task.
2048, // Stack size of task
NULL, // parameter of the task
1, // priority of the task
&xplaytask, // Task handle to keep track of created task
0 ) ; // Pin task to core 0
================
dbgprint ( "Stack CPU0 is %d", uxTaskGetStackHighWaterMark ( xplaytask ) ) ;// дебаг в сериал
dbgprint ( "Stack CPU1 is %d", uxTaskGetStackHighWaterMark ( maintask ) ) ;
Только применительно к нашей теме.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
alexsis_76
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
-
Благодарил (а):
6 раз
-
Поблагодарили:
63 раза
Сообщение
alexsis_76 » Вс июл 22, 2018 2:34 am
я не говорил что чипы плохие,для некоторого круга задач очень даже ничего.
Просто нужно понимать что ты собираешься делать.
-
serghei
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
-
Благодарил (а):
303 раза
-
Поблагодарили:
282 раза
Сообщение
serghei » Вс июл 22, 2018 10:48 am
alexsis_76 писал(а): ↑Вс июл 22, 2018 2:34 am
Просто нужно понимать что ты собираешься делать.
А для начала понять , что там стоит RTOS , и программировать надо с учетом этого.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS