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
18 changes: 12 additions & 6 deletions .fusa-reqs.json
Original file line number Diff line number Diff line change
Expand Up @@ -5501,7 +5501,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§11.2.2.5 (\"requests can be sent under TSCF header, where an avtp_timestamp is included... A second option is to convey the presentation time in the message_timestamp field of an ACF_GBB.\"), TC18.txt L1589-1592; conformance bullets \"Implementation of gPTP (IEEE802.1as)\" / \"Support of timed request\", TC18.txt L2024-2025"
},
{
"id": "REQ-TIMED-003",
Expand All @@ -5520,7 +5521,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§11.2.2 (\"conditional requests are sent using ACF_GBB having mtv = 0 (time stamp not valid) and using the bytes of the message_timestamp field to convey the execution condition\"), TC18.txt L1186-1189; general ACF_GBB frame-validation basis"
},
{
"id": "REQ-TIMED-005",
Expand All @@ -5529,7 +5531,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§11.2.2 Table 5 (\"0x0A\" -> \"Timed\"), TC18.txt L1186-1199"
},
{
"id": "REQ-TIMED-006",
Expand All @@ -5538,7 +5541,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§11.2.2.5 (\"The RC Server may reject the request, when the presentation_time is too far in the future, which is implementation dependent (error code = PRESENTATION_TIME_TOO_FAR).\"), TC18.txt L1649-1650"
},
{
"id": "REQ-TIMED-007",
Expand All @@ -5547,7 +5551,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§11.2.2.5 (\"In case the time synchronization hasn't been established, timed requests (either in the format shown here or under TSCF header) shall be rejected and an error response shall be sent (error code = GPTP_FAIL).\"), TC18.txt L1651-1653"
},
{
"id": "REQ-TIMED-008",
Expand Down Expand Up @@ -7862,7 +7867,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§11.2.2.5 (\"In any case the presentation_time is the earliest point in time, when the request shall be executed.\"), TC18.txt L1648-1649"
},
{
"id": "REQ-CHAIN-011",
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.144.0"
"version": "0.145.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.145.0 -- 2026-08-07

**Citation backfill, batch 25: TIMED.** Issue #164. Cited 6 of 7
remaining uncited timed-request requirements against TC18 §11.2.2.5's
Figure 12/Table 10 wire format and its PRESENTATION_TIME_TOO_FAR/
GPTP_FAIL rejection rules. This closes out the full conditional-
request family opened by CMP (batch 16): CMP, SCHED, TRIG, CHAIN,
CANCEL, SEQ, and TIMED are all now cited. See `ROADMAP.md` milestone
145 for full detail. 1028 requirements (unchanged), 100% traced+
tested, 0 `cfusa check` errors.

### v0.144.0 -- 2026-08-07

**Citation backfill, batch 24: SEQ.** Issue #164. Cited all 10
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.144.0
VERSION 0.145.0
DESCRIPTION "OPEN Alliance TC18 Remote Control Protocol (C)"
HOMEPAGE_URL "https://github.com/SoundMatt/c-RCP"
LANGUAGES C
Expand Down
32 changes: 32 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -7056,3 +7056,35 @@ were genuinely uncited before writing anything.

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

### 145. Citation backfill, batch 25: TIMED (issue #164) (v0.145.0)

Twenty-fifth batch, closing out the conditional-request family opened
by CMP (batch 16): CMP, SCHED, TRIG, CHAIN, CANCEL, SEQ, and now TIMED
are all cited. `request_timed.c`/`request_timed.h`, 7/13 uncited going
in. §11.2.2.5 ("Timed requests -- presentation-time based execution of
requests") is a clean, self-contained TC18 section: Figure 12/Table
10's wire format (request_type=0x0A, presentation_time[47:0]) plus two
explicit rejection rules -- PRESENTATION_TIME_TOO_FAR (implementation-
dependent horizon) and GPTP_FAIL (time sync not established).

Cited 6 of the 7 uncited `REQ-TIMED-*` requirements: feature gating
(`REQ-TIMED-002`) against the two presentation-time delivery options
(TSCF avtp_timestamp vs. ACF_GBB message_timestamp) plus the
conformance bullets naming gPTP + timed-request support as linked
capabilities; decode validation (`REQ-TIMED-004`-`005`) against the
shared §11.2.2 mtv=0-repurposing intro and Table 5's `0x0A` opcode;
the too-far-in-the-future rejection (`REQ-TIMED-006`) against the
PRESENTATION_TIME_TOO_FAR rule; the gPTP-lock admission gate
(`REQ-TIMED-007`) against the GPTP_FAIL rule; and the due-check
(`REQ-TIMED-011`) against "the presentation_time is the earliest point
in time, when the request shall be executed."

Left uncited, deliberately: `REQ-TIMED-001` (`strerror()` uniqueness)
-- the same implementation-detail pattern as every prior batch.

Used the pre-flight citation-target check -- confirmed all 6 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.144.0"
#define RCP_VERSION "0.145.0"

#endif /* RCP_VERSION_H */
Loading