Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions .fusa-reqs.json
Original file line number Diff line number Diff line change
Expand Up @@ -5654,7 +5654,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.2 (\"In case two or more requests are due for execution then the priorities are as follows: 1. cancellation 2. triggered 3. timed 4. compound 5. compound wait 6. chained 7. standard\"), TC18.txt L3248-3266; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199"
},
{
"id": "REQ-SCHED-002",
Expand All @@ -5663,7 +5664,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.2 (\"In case two or more requests are due for execution then the priorities are as follows: 1. cancellation 2. triggered 3. timed 4. compound 5. compound wait 6. chained 7. standard\"), TC18.txt L3248-3266"
},
{
"id": "REQ-SCHED-003",
Expand All @@ -5672,7 +5674,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.2 (\"In case two or more requests are due for execution then the priorities are as follows: 1. cancellation 2. triggered 3. timed 4. compound 5. compound wait 6. chained 7. standard\"), TC18.txt L3248-3266; §12.9.2 (\"When two or more requests with the same priority are due then starting the execution shall happen in the order with which the requests arrived in the EP request storage.\"), TC18.txt L3265-3266"
},
{
"id": "REQ-SCHED-004",
Expand All @@ -5681,7 +5684,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.1.1 (\"An RCP frame may include multiple ACF-types (requests). An RC Server shall support to handle multiple requests in one frame and check each of them individually if to be processed or not\"), TC18.txt L3220-3224; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199; ACF message length is a quadlet count per §11.2.1 Table 4, established ACF basis"
},
{
"id": "REQ-SCHED-005",
Expand All @@ -5690,7 +5694,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.1.1 (\"An RCP frame may include multiple ACF-types (requests). An RC Server shall support to handle multiple requests in one frame and check each of them individually if to be processed or not\"), TC18.txt L3220-3224; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199"
},
{
"id": "REQ-SCHED-006",
Expand All @@ -5699,7 +5704,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.1.1 (\"An RCP frame may include multiple ACF-types (requests). An RC Server shall support to handle multiple requests in one frame and check each of them individually if to be processed or not\"), TC18.txt L3220-3224; request_type identifiers per §11.2.2 Table 5, TC18.txt L1186-1199"
},
{
"id": "REQ-SCHED-007",
Expand All @@ -5708,7 +5714,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.1.1 (\"As the AVTPDU has either a TSCF or NTSCF header a mixture of requests with and without presentation time in a single frame is not possible. A presentation time from a TSCF header will be applied to all ACFtypes within the frame.\"), TC18.txt L3224-3226"
},
{
"id": "REQ-SCHED-008",
Expand All @@ -5717,7 +5724,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.9.1.1 (\"As the AVTPDU has either a TSCF or NTSCF header a mixture of requests with and without presentation time in a single frame is not possible. A presentation time from a TSCF header will be applied to all ACFtypes within the frame.\"), TC18.txt L3224-3226"
},
{
"id": "REQ-E2E-001",
Expand Down
2 changes: 1 addition & 1 deletion .fusa.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"configVersion": "1.0",
"project": {
"name": "c-RCP",
"version": "0.139.0"
"version": "0.140.0"
},
"standard": "iso26262",
"strict": false,
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,17 @@ the rationale.

## Releases

### v0.140.0 -- 2026-08-07

**Citation backfill, batch 20: SCHED.** Issue #164. Cited all 8
uncited `scheduler.c` requirements -- SCHED is now 100% cited.
Request-kind priority ranking/comparison against §12.9.2's seven-tier
priority list (already cited for SRV, whose own due-selection function
calls this module's `rcp_sched_compare()`); multi-ACF-per-frame
splitting and TSCF timing consistency against §12.9.1.1. See
`ROADMAP.md` milestone 140 for full detail. 1028 requirements
(unchanged), 100% traced+tested, 0 `cfusa check` errors.

### v0.139.0 -- 2026-08-07

**Citation backfill, batch 19: SRV.** Issue #164. Cited all 15
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.16)

project(c-rcp
VERSION 0.139.0
VERSION 0.140.0
DESCRIPTION "OPEN Alliance TC18 Remote Control Protocol (C)"
HOMEPAGE_URL "https://github.com/SoundMatt/c-RCP"
LANGUAGES C
Expand Down
26 changes: 26 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -6898,3 +6898,29 @@ were genuinely uncited before writing anything.

Purely additive; no code or test changed. 1028 requirements (unchanged
count), 100% traced+tested, 0 `cfusa check` errors.

### 140. Citation backfill, batch 20: SCHED (issue #164) (v0.140.0)

Twentieth batch. `scheduler.c`/`scheduler.h`, 8/8 uncited (100%) going
in -- the first fully-uncited-to-fully-cited batch since ADC-class
work began, discovered directly from SRV's own research: the
scheduler module is the same §12.9.1.1/§12.9.2 machinery SRV already
consumes (`rcp_sched_compare()` is what `rcp_server_endpoint_select_
due()` calls), just exposed as its own small, independently-testable
unit.

Cited all 8 of the 8 uncited `REQ-SCHED-*` requirements: request-kind
classification/ranking/comparison (`REQ-SCHED-001`-`003`) against
§12.9.2's exact seven-tier priority list already cited for SRV plus
the same-priority FIFO tiebreak; multi-ACF-per-frame splitting
(`REQ-SCHED-004`-`006`) against §12.9.1.1's "An RCP frame may include
multiple ACF-types (requests). An RC Server shall support to handle
multiple requests in one frame" rule; and TSCF timing consistency
(`REQ-SCHED-007`-`008`) against §12.9.1.1's "A presentation time from
a TSCF header will be applied to all ACFtypes within the frame" rule.

Used the pre-flight citation-target check -- confirmed all 8 targets
were genuinely uncited before writing anything.

Purely additive; no code or test changed. 1028 requirements (unchanged
count), 100% traced+tested, 0 `cfusa check` errors.
2 changes: 1 addition & 1 deletion include/rcp/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
#ifndef RCP_VERSION_H
#define RCP_VERSION_H

#define RCP_VERSION "0.139.0"
#define RCP_VERSION "0.140.0"

#endif /* RCP_VERSION_H */
Loading