Александр Терентьев (aterentiev) wrote,
Александр Терентьев
aterentiev

Народ, кто разбирается в библиотеках ESP8266 Arduino core? У меня вопрос есть.

Не понимаю, что вот этот вот делает тут в библиотеке WiFiUDP. При каждом обращении к .available() если в буфере нет данных о новом пакете, библиотека вставляет принудительный yielding на одну миллисекунду. Это с какого бодуна она вообще о yield думает? Это ж не ее дело, комментарий там ни о чем!

/* return number of bytes available in the current packet,
   will return zero if parsePacket hasn't been called yet */
int WiFiUDP::available() {
    int result = 0;
 
    if (_ctx) {
        result = static_cast<int>(_ctx->getSize());
    }
 
    if (!result) {
        // yielding here will not make more data "available",
        // but it will prevent the system from going into WDT reset
        optimistic_yield(1000);
    }
 
    return result;
}
Tags: arduino, esp8266, Программизмы
Subscribe

  • Ложные воспоминания?

    Попался сейчас во время поездки в машине по радио трек "You" группы Ten Sharp. Известнейшая песня 1991 года. Так вот, у меня точные воспоминания,…

  • Рабочее

    Надеюсь, когда-нибудь наши админы допрут, что чем чаще я должен вводить свой доменный пароль, тем больше вероятность его угона. На рабочем компе:…

  • (no subject)

    Кстати, не в курсе ли мои воображаемые виртуальные друзья, может ли USB hid девайс узнать текущую установленную громкость на компе? Что он ей…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 8 comments