Administrador de búfer de anillo liviano
La biblioteca proporciona una implementación genérica de buffer de anillo FIFO.
Leer primero: Documentación
Características
- Escrito en C (C11), compatible con
size_t para tipos de datos de tamaño - Código predeterminado independiente de la plataforma: con restricciones para arquitecturas de CPU más pequeñas (
< sizeof(size_t) ) - Implementación de búfer FIFO (primero en primera salida)
- Sin asignación de memoria dinámica, los datos son una matriz estática
- Utiliza una copia de memoria optimizada en lugar de bucles para leer/escribir datos de/a la memoria
- Hilo seguro cuando se usa como tubería con una sola escritura y entradas de lectura única: cuando la operación de lectura/escritura de CPU para
size_t es una sola instrucción (Arm Cortex -M, por ejemplo,) - Interrupción segura cuando se usa como tubería con entradas de escritura única y lectura única: cuando la operación de lectura/escritura de la CPU para
size_t es una sola instrucción (Arm Cortex -M, por ejemplo,) - Para sistemas de CPU con arquitectura más pequeña que
sizeof(size_t) (AVR, por ejemplo), se requiere protección atómica para la operación de lectura-escritura de buffer. - Adecuado para transferencias DMA desde y hacia la memoria con sobrecarga de copia cero entre el búfer y la memoria de la aplicación
- Admite un vistazo de datos, omita para leer y avanzar para escribir
- Implementa el apoyo para las notificaciones de eventos
- Licencia de MIT fácil de usar
Contribuir
Las nuevas contribuciones siempre son bienvenidas. Instrucciones simples para continuar:
- Repositorio de la bifurcación
- Siga las reglas de estilo C y codificación ya utilizadas en el proyecto
- Cree una solicitud de extracción para desarrollar rama con nuevas características o correcciones de errores
Alternativamente, puede:
- Informar un error
- Solicite una solicitud de función