User guide: message queues and notifications

Ouverte
#113 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
83/100
Type d'issue
Documentation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
c
Domaine
documentation

Piste de recherche

Read the API contracts in include/emb/msgq.h and include/emb/notify.h, the behavior tests in tests/conformance/test_msgq.c and test_notify.c, and SPEC-007 and SPEC-006. Use examples/hello_app/main.c and docs/user/synchronization.md and tasks.md for examples and style. Add docs/user/communication.md, link it from docs/user/index.md, and confirm the strict docs build and every example compile.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

documentation good first issue

Goal

Write the user-guide page on message queues and notifications: docs/user/communication.md. The guide has pages on threads, synchronization and interrupts, but none yet on how threads pass data.

What exists

  • The API: include/emb/msgq.h and include/emb/notify.h, with a contract comment on every function.
  • The design: SPEC-007 (message queues) and SPEC-006 (notifications).
  • The tests show every behaviour: tests/conformance/test_msgq.c, test_notify.c.
  • An example that uses a queue: examples/hello_app/main.c.
  • The existing pages, for tone and length: docs/user/synchronization.md, docs/user/tasks.md.

What the page should cover

  • Message queues: copy by value, EMB_MSGQ_DEFINE, send and receive with timeouts, send to the front, peek, use from an interrupt with EMB_NO_WAIT.
  • Direct-to-thread notifications: when to use them instead of a semaphore or a queue.
  • Bindings: a semaphore, event flags or a queue notifying a thread.
  • A short, complete example for each, checked by building it.

Done when

  • docs/user/communication.md exists and is in the toctree of docs/user/index.md.
  • The strict docs build passes (python tools/docs/build.py, see docs/engineering/documentation.md).
  • Every code example compiles; say in the PR how you checked.
Langage dominant
C
Étoiles
1
Forks
1
Merge moyen
14 h 21 min
PR mergées (30 j)
125

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de EmbLinkOs/EmbLinkRTOS

Toutes les issues de EmbLinkOs/EmbLinkRTOS

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.