Gestionnaire de tampon d'anneau léger
La bibliothèque fournit une implémentation générique de tampon de bague FIFO.
Lire d'abord: documentation
Caractéristiques
- Écrit en C (C11), compatible avec
size_t pour les types de données de taille - Code par défaut indépendant de la plate-forme - avec restrictions pour les architectures CPU plus petites (
< sizeof(size_t) ) - Implémentation de tampon FIFO (First in First Out)
- Aucune allocation de mémoire dynamique, les données sont un tableau statique
- Utilise une copie de mémoire optimisée au lieu de boucles pour lire / écrire des données de / à la mémoire
- Filetage SAFE Lorsqu'il est utilisé comme tuyau avec une seule écriture et des entrées de lecture unique - Lorsque l'opération de lecture / écriture du processeur pour
size_t est une seule instruction (bras Cortex-M par exemple) - Interrompre sûr lorsqu'il est utilisé comme tuyau avec une seule écriture et des entrées de lecture unique - Lorsque l'opération de lecture / écriture du processeur pour
size_t est une instruction unique (ARM Cortex-M par exemple) - Pour les systèmes de CPU avec une architecture plus petite que
sizeof(size_t) (AVR par exemple), une protection atomique est requise pour le fonctionnement en lecture de l'écriture de tampon - Convient pour les transferts DMA de et à la mémoire avec des frais généraux de copie zéro entre le tampon et la mémoire d'application
- Prend en charge les données apercevantes, sauter pour lire et avancer pour écrire
- Met en œuvre la prise en charge des notifications d'événements
- Licence MIT conviviale
Contribuer
De nouvelles contributions sont toujours les bienvenues. Instructions simples pour procéder:
- Référentiel GitHub Fork
- Suivez les règles de style et de codage déjà utilisées dans le projet
- Créez une demande de traction pour développer une branche avec de nouvelles fonctionnalités ou des corrections de bogues
Vous pouvez également:
- Signaler un bug
- Demandez une demande de fonctionnalité