Александр Терентьев (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

  • Как всегда ищу магическую кнопку "сделай само и круто"

    Когда я хочу автоматически сгенерировать какой-то код, мне нужно скриптам дать на вход необходимую информацию. В случае линейных задач я обычно…

  • A питоняшки в чате есть? :)

    Не работают dictionary как я хочу, обьясните, а?! from pprint import pprint from dataclasses import dataclass @dataclass class C: item_C:…

  • Android Studio

    А какими минимальными ресурсами должна обладать VMware виртуалка, чтобы на ней можно бы было сносно запускать андроид-студию? Помнится, когда я пару…

  • 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