User guide: message queues and notifications
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 83/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- c
- Domain
- documentation
Research direction
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.
Written by the indexing model from the issue text.
Description
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.handinclude/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 withEMB_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.mdexists and is in the toctree ofdocs/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.
- Dominant language
- C
- Stars
- 1
- Forks
- 1
- Avg merge
- 14h 21m
- Merged PRs (30d)
- 125
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from EmbLinkOs/EmbLinkRTOS
-
enhancement good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
EmbLinkOs/EmbLinkRTOS#111 ·
Maintainers usually reply within 1 day
-
documentation good first issue help wanted
Difficulty 3/5 1-2 days Newbie friendliness 76/100
EmbLinkOs/EmbLinkRTOS#116 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 4/5 3-5 days Newbie friendliness 55/100
EmbLinkOs/EmbLinkRTOS#115 ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 3/5 1-2 days Newbie friendliness 76/100
EmbLinkOs/EmbLinkRTOS#114 ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 34/100
EmbLinkOs/EmbLinkRTOS#112 ·
Maintainers usually reply within 1 day
All issues in EmbLinkOs/EmbLinkRTOS
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
SPIDevice selects an active-high device as soon as it is createdPossibly taken @mikeysklar claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
adafruit/circuitpython#11869 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
gnif/LookingGlass#1352 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100