User guide: software timers and work queues

Aberta
#114 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
76/100
Tipo de issue
Documentação
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
c
Domínio
documentation

Direção de pesquisa

Start with docs/specs/SPEC-003-time-timeouts-and-timers.md and docs/specs/SPEC-006-notifications-and-work-queues.md, then check the APIs in include/emb/timer.h and include/emb/work.h and examples in examples/controller. Write docs/user/timers-and-work.md, add it to docs/user/index.md's toctree, and confirm the strict docs build passes and every example compiles; report those checks in the PR.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

documentation good first issue

Goal

Write the user-guide page on software timers and work queues: docs/user/timers-and-work.md. Both exist and are tested, but the user guide does not explain them yet.

What exists

  • The API: include/emb/timer.h, include/emb/work.h.
  • The design: SPEC-003 (time, timeouts, timers) and SPEC-006 (work queues).
  • The tests: tests/conformance/test_timer.c, test_workq.c.
  • The reference controller uses both: examples/controller.

What the page should cover

  • One-shot and periodic timers; why a periodic timer does not drift; what happens when a callback overruns.
  • Where a timer callback runs (a work queue or interrupt context), and what each allows.
  • Work queues: submitting from an interrupt, cancel and synchronous cancel, flush, delayed work.
  • When to use a timer, a work item or a thread with emb_thread_sleep_until().
  • A short, complete example for each.

Done when

  • The page exists and is in docs/user/index.md's toctree, and the strict docs build passes.
  • Every code example compiles; say in the PR how you checked.
Linguagem predominante
C
Estrelas
1
Forks
1
Merge médio
14h 21min
PRs com merge (30d)
125

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de EmbLinkOs/EmbLinkRTOS

Todas as issues de EmbLinkOs/EmbLinkRTOS

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.