RingBuffer
Кольцевой буфер для накопления и обработки данных в порядке поступления с поддержкой прерываний
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:83d6b3cd9fbd613c369ca071c78bf9f6840912f88d36234a8da0c384b11bfe5aRingBuffer-1.0.5-83d6b3cd.zipОписание
Кольцевой буфер — полезная вещь, когда нужно накапливать данные (значения с датчиков, пакеты, команды) и обрабатывать их в порядке поступления, не теряя память. RingBuffer работает с элементами любого типа — от простых int и float до структур. Есть режим с защитой от прерываний, если буфер наполняется из прерывания и читается из основного кода одновременно. Размер буфера может быть от 1 до 65535 элементов; библиотека сама выберет uint8_t или uint16_t для индексов в зависимости от заданного размера. Версия 1.0.4 добавила методы для добавления элемента с перезаписью самого старого, если буфер полон. Интересная фишка в новых версиях — сохранение содержимого буфера через перезагрузку, если разместить его в постоянной памяти. Библиотека простая в использовании и хорошо протестирована на Arduino.