Size: a a a

ESP8266 & ESP32 [RU]

2020 April 12

AK

Andy Korg in ESP8266 & ESP32 [RU]
Denys Fedoryshchenko
разве не те же локи, в конечном счете? что мьютексы, что спинлоки
Spinlock это низкоуровневый примитив синхронизации, для реализации мьютекса.
источник

DF

Denys Fedoryshchenko in ESP8266 & ESP32 [RU]
Andy Korg
Spinlock это низкоуровневый примитив синхронизации, для реализации мьютекса.
вообще-то нет, это абсолютно разные вещи
spinlock - busy waiting
mutex спит, пока не сменится флаг
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
Denys Fedoryshchenko
вообще-то нет, это абсолютно разные вещи
spinlock - busy waiting
mutex спит, пока не сменится флаг
"Спинлок (англ. Spinlock — циклическая блокировка) — низкоуровневый примитив синхронизации, применяемый в многопроцессорных системах для реализации взаимного исключения (мьютекса)." https://ru.wikipedia.org/wiki/Spinlock
источник

DF

Denys Fedoryshchenko in ESP8266 & ESP32 [RU]
и что? причем тут mutex?
источник

DF

Denys Fedoryshchenko in ESP8266 & ESP32 [RU]
ща поищу как сделан mutex в esp32
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
Например в портированном FreeRTOS для esp spinlock используется для реализации специальных mutex, код можно посмотреть в  https://github.com/espressif/esp-idf/blob/2e14149/components/soc/include/soc/spinlock.h
источник

DF

Denys Fedoryshchenko in ESP8266 & ESP32 [RU]
вобщем mutex в классическом и самом простом виде действительно реализовывают иногда через spinlock, но насколько я вижу на других платформах стараются сделать его event based
на том же линуксе - mutex - sleeping lock, сделан через семафоры
по поводу freertos и esp32 еще колупаю, любопытно, как там сделали
источник

DF

Denys Fedoryshchenko in ESP8266 & ESP32 [RU]
Andy Korg
Например в портированном FreeRTOS для esp spinlock используется для реализации специальных mutex, код можно посмотреть в  https://github.com/espressif/esp-idf/blob/2e14149/components/soc/include/soc/spinlock.h
приношу извинения, да, похоже в esp32 mutex == spinlock
однако
это ведь мягко говоря неэффективно
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
Denys Fedoryshchenko
приношу извинения, да, похоже в esp32 mutex == spinlock
однако
это ведь мягко говоря неэффективно
Извинения приняты.  :)
Видимо производитель считает что для архитектуры esp это эффективно.
источник

DF

Denys Fedoryshchenko in ESP8266 & ESP32 [RU]
я предполагаю из-за того, что это простейший способ реализовать мьютексы :)
прийдется мне переучиваться применять мьютексы там, где надо экономить циклы процессора и смотреть как они сделали семафоры, возможно там те же грабли
источник

ІБ

Ігор Братух in ESP8266 & ESP32 [RU]
Всем привет, кидаю http get запрос с помощью AsyncTCP на esp32 и наткнулся на некоторые незнания языка. Мне приходит такой ответ:
Length: 944
HTTP/1.1 200 OK
Date: Sun, 12 Apr 2020 20:31:58 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 292
Connection: close
...headers

{
... json body
}
Как вы понимаете мне интересно тело ответа, которое внизу. У меня есть Content-Lenght, я могу проитерировать в цикле с конца по такому диапазону и вринципе получить body, но вопрос как мне узнать само значение Content-Length? Каким образом легче и может даже производительней всего вытащить body из такого ответа? Может даже разделить эту строку по пустому символу, как мы видим перед body пустая строка и у меня получится вектор из header и body? Что посоветуете? Спасибо!
источник

I

Ivansuper in ESP8266 & ESP32 [RU]
Ігор Братух
Всем привет, кидаю http get запрос с помощью AsyncTCP на esp32 и наткнулся на некоторые незнания языка. Мне приходит такой ответ:
Length: 944
HTTP/1.1 200 OK
Date: Sun, 12 Apr 2020 20:31:58 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 292
Connection: close
...headers

{
... json body
}
Как вы понимаете мне интересно тело ответа, которое внизу. У меня есть Content-Lenght, я могу проитерировать в цикле с конца по такому диапазону и вринципе получить body, но вопрос как мне узнать само значение Content-Length? Каким образом легче и может даже производительней всего вытащить body из такого ответа? Может даже разделить эту строку по пустому символу, как мы видим перед body пустая строка и у меня получится вектор из header и body? Что посоветуете? Спасибо!
Тебе не нужен голый tcp. Тебе нужна HTTP библиотека
источник

ІБ

Ігор Братух in ESP8266 & ESP32 [RU]
Ivansuper
Тебе не нужен голый tcp. Тебе нужна HTTP библиотека
знаю, но она синхронная, мне нужен асинхронный запрос
источник
2020 April 13

ІБ

Ігор Братух in ESP8266 & ESP32 [RU]
Ivansuper
Тебе не нужен голый tcp. Тебе нужна HTTP библиотека
у меня rtos и такой запрос сторожевые псы покусают) Да и впринципе нужно, пока он бросается, чтобы работали некоторые системы, а не блокировались.
источник

r

romanetz in ESP8266 & ESP32 [RU]
Ігор Братух
у меня rtos и такой запрос сторожевые псы покусают) Да и впринципе нужно, пока он бросается, чтобы работали некоторые системы, а не блокировались.
Так RTOS, она же вытесняющая
источник

r

romanetz in ESP8266 & ESP32 [RU]
Пока задача с http ждёт данные, остальные работают себе спокойно
источник

ДВ

Дмитрий Владимиров in ESP8266 & ESP32 [RU]
Подскажите, esphome или espeasy умеет работать с виртуальными датчиками, по типу wi fi iot? Или может еще есть какие то прошивки?
источник

И"

Иван "Johnes" Копытов in ESP8266 & ESP32 [RU]
Дмитрий Владимиров
Подскажите, esphome или espeasy умеет работать с виртуальными датчиками, по типу wi fi iot? Или может еще есть какие то прошивки?
В EspEasy есть "Dummy Device"
источник

🅳

🅳🅰🅶🆄🆃🅰 in ESP8266 & ESP32 [RU]
Подскажите. У меня есть sonoff wi-fi & rf реле. Есть такое приложение Tuya, так вот есть где-то прошивка чтобы перешить sonoff под Tuya?
источник

Г

Гарри Уэллс in ESP8266 & ESP32 [RU]
Sergey Romanov
а увидел
Ещё такой вопрос. Если не делать подтяжку резисторов
источник