View Categories

Stream

Stream - интерфейс для работы с потоковыми данными (отправка и чтение). Наследует класс Print

Виртуальные #

Из Print #

virtual size_t write(uint8_t) = 0
virtual size_t write(const uint8_t *buffer, size_t size)

available #

virtual int available() = 0
Возвращает количество доступных для чтения байт в очереди

read #

virtual int read() = 0
Прочитать байт и убрать его из очереди. Вернёт -1, если доступных данных нет

peek #

virtual int peek() = 0
Прочитать байт, не убирая его из очереди. Вернёт -1, если доступных данных нет

Система #

setTimeout #

void setTimeout(unsigned long timeout)
Установить таймаут для чтения и парсинга в мс (по умолч. 1000 мс)

getTimeout #

unsigned long getTimeout(void)
Прочитать текущий таймаут

Чтение #

readString #

String readString()
Прочитать весь поток в строку до выхода таймаута

readStringUntil #

String readStringUntil(char terminator)
Прочитать весь поток в строку до выхода таймаута или до символа terminator. Сам терминатор не включается в строку, но удаляется из очереди.

readBytes #

size_t readBytes(char *buffer, size_t length)
size_t readBytes(uint8_t *buffer, size_t length)
Прочитать данные из потока в буфер buffer длиной length. Остановка чтения по таймауту или заполнению буфера. Вернёт количество записанных байт.

readBytesUntil #

size_t readBytesUntil(char terminator, char *buffer, size_t length)
size_t readBytesUntil(char terminator, uint8_t *buffer, size_t length)
Прочитать данные из потока в буфер buffer длиной length. Остановка чтения по таймауту, заполнению буфера или достижению символа terminator. Сам терминатор не включается в строку, но удаляется из очереди. Вернёт количество записанных байт.

Поиск #

find #

bool find(char target)
bool find(char *target)
bool find(uint8_t *target)
bool find(char *target, size_t length)
bool find(uint8_t *target, size_t length)
Читать данные, пока не встретится указанный символ, строка или набор данных указанной длины. Вернёт true при успехе, false при выходе таймаута.

find #

bool findUntil(char *target, char *terminator)
bool findUntil(uint8_t *target, char *terminator)
bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen)
bool findUntil(uint8_t *target, size_t targetLen, char *terminate, size_t termLen)
Читать данные, пока не встретится указанный символ, строка или набор данных указанной длины. Вернёт true при успехе, false при выходе таймаута или при достижении строки-терминатора. Сам терминатор не включается в строку, но удаляется из очереди.

Парсинг #

parseInt #

long parseInt(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR)
Прочитать и вернуть целое число из потока. Будет читать байты, пока не встретит численный символ или минус -. Продолжит читать и преобразовывать в число до выхода таймаута или достижения отличного от числа символа:

  • lookahead - режим пропуска символов при поиске числа:
    • SKIP_ALL - пропуск всех отличных от числа и знака минус -
    • SKIP_NONE - ничего не пропускать (останутся непрочитанными)
    • SKIP_WHITESPACE - пропускать только пробельные символы
  • ignore - символ, который можно пропустить без остановки парсинга, например разделитель тысяч

parseFloat #

float parseFloat(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR)
Прочитать и вернуть число с плавающей точкой из потока. Будет читать байты, пока не встретит численный символ или минус -. Продолжит читать и преобразовывать в число до выхода таймаута или достижения отличного от числа символа:

  • lookahead - режим пропуска символов при поиске числа:
    • SKIP_ALL - пропуск всех отличных от числа, знака минус - и точки .
    • SKIP_NONE - ничего не пропускать (останутся непрочитанными)
    • SKIP_WHITESPACE - пропускать только пробельные символы
  • ignore - символ, который можно пропустить без остановки парсинга, например разделитель тысяч
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх