User guide: message queues and notifications

オープン
#113 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
83/100
issue の種類
ドキュメント
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c
領域
documentation

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
C
スター
1
フォーク
1
平均マージ
14時間 21分
マージ済み PR(30日)
125

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

EmbLinkOs/EmbLinkRTOS のほかの issue

EmbLinkOs/EmbLinkRTOS の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。