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
39 changes: 26 additions & 13 deletions .fusa-reqs.json
Original file line number Diff line number Diff line change
Expand Up @@ -6913,7 +6913,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§12.3.1.2/.3, TC18.txt L2177-2178, L2225-2226 -- §12.3.1.3 W* marker convention, TC18.txt L2225-2226"
},
{
"id": "REQ-WAKEUP-003",
Expand All @@ -6922,7 +6923,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.2 Table 37 (wake-up source pin configuration, IO_SRC[15:11]), TC18.txt L4144; reduced to a single active_high/active_low sense rather than Table 37's six-value IO_SRC encoding -- see the pre-existing gap REQ-WAKEUP-022"
},
{
"id": "REQ-WAKEUP-004",
Expand All @@ -6931,7 +6933,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.1 (\"the endpoint listens to configurable IO signals for activity... When the WakeUp endpoint detects activity during sleep mode it wakes up the RC Server\"), TC18.txt L4087-4090; §13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_nr_io_pins_max, io_scr1/2 entries) -- see the pre-existing gap REQ-WAKEUP-021 for the reduced register model"
},
{
"id": "REQ-WAKEUP-005",
Expand All @@ -6940,7 +6943,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status, \"Indication of wake-up source, writing '1' clears the flag. Each bit represents a wake-up source\"), TC18.txt L4107-4109 -- modeled as a single latch rather than a 16-bit per-source bitfield, see the pre-existing gap REQ-WAKEUP-021"
},
{
"id": "REQ-WAKEUP-006",
Expand All @@ -6949,7 +6953,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status register), TC18.txt L4107-4109 -- see the pre-existing gap REQ-WAKEUP-021"
},
{
"id": "REQ-WAKEUP-007",
Expand All @@ -6958,7 +6963,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status, \"writing '1' clears the flag\"), TC18.txt L4107-4109 -- see the pre-existing gap REQ-WAKEUP-021"
},
{
"id": "REQ-WAKEUP-008",
Expand All @@ -6967,7 +6973,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.2 Table 36 (ep1 - functional configuration), TC18.txt L4102-4118 (wup_status register), TC18.txt L4107-4109 -- see the pre-existing gap REQ-WAKEUP-021"
},
{
"id": "REQ-WAKEUP-009",
Expand All @@ -6985,7 +6992,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.3 Figure 22 (Endpoint sleep request), TC18.txt L4160-4166; \"SleepCMD is coded as 0xA5.\", TC18.txt L4168; target_mode restricted to Standby/Sleep per §12.5's Goto Sleep/Standby entry gating (established PWRMODE basis)"
},
{
"id": "REQ-WAKEUP-011",
Expand All @@ -6994,7 +7002,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.3 Figure 22 (Endpoint sleep request), TC18.txt L4160-4166; \"SleepCMD is coded as 0xA5.\", TC18.txt L4168"
},
{
"id": "REQ-WAKEUP-012",
Expand All @@ -7003,7 +7012,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.3 (\"send an acknowledge to sleep request\" / \"bring the RC Server implementation to sleep mode\"), TC18.txt L4157-4158; §13.7.2.3 Figure 22 (Endpoint sleep request), TC18.txt L4160-4166; \"SleepCMD is coded as 0xA5.\", TC18.txt L4168 -- refusal signalled as a positive-form response rather than an error response, see the pre-existing gap REQ-WAKEUP-019"
},
{
"id": "REQ-WAKEUP-013",
Expand All @@ -7012,7 +7022,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.3 (\"send an acknowledge to sleep request\" / \"bring the RC Server implementation to sleep mode\"), TC18.txt L4157-4158 -- see the pre-existing gap REQ-WAKEUP-019 for the response-shape divergence"
},
{
"id": "REQ-WAKEUP-014",
Expand All @@ -7021,7 +7032,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.1 (\"After establishing a network connection, the WakeUp endpoint sends repetitive messages.\"), TC18.txt L4090-4092 -- carries no wake-up source of its own, see the pre-existing gap REQ-WAKEUP-017"
},
{
"id": "REQ-WAKEUP-015",
Expand All @@ -7030,7 +7042,8 @@
"standard": "iso26262",
"level": "ASIL-B",
"asil": "ASIL-B",
"scope": "tc18"
"scope": "tc18",
"tc18": "§13.7.2.1, TC18.txt L4090-4092 -- see the pre-existing gap REQ-WAKEUP-017"
},
{
"id": "REQ-WAKEUP-016",
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.137.0"
"version": "0.138.0"
},
"standard": "iso26262",
"strict": false,
Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,21 @@ the rationale.

## Releases

### v0.138.0 -- 2026-08-07

**Citation backfill, batch 18: WAKEUP.** Issue #164. Cited 13 of 16
remaining uncited Wakeup-control requirements against TC18 §13.7.2's
basic-concept prose, Table 36/37's register block, and §13.7.2.3's
sleep-request handshake (Figure 22, SleepCMD=0xA5). Several citations
cross-reference the module's pre-existing `tc18-gap` entries
(`REQ-WAKEUP-017`-`022`) rather than implying full conformance where
the implementation is a documented, reduced model of the spec's fuller
register/behavior encoding. Also records that MDIO was scoped and
rejected as a batch candidate this session -- its wire layout is
almost entirely self-documented as non-TC18 original design. See
`ROADMAP.md` milestone 138 for full detail. 1028 requirements
(unchanged), 100% traced+tested, 0 `cfusa check` errors.

### v0.137.0 -- 2026-08-07

**Citation backfill, batch 17: LINEP.** Issue #164. Cited 12 of 16
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.137.0
VERSION 0.138.0
DESCRIPTION "OPEN Alliance TC18 Remote Control Protocol (C)"
HOMEPAGE_URL "https://github.com/SoundMatt/c-RCP"
LANGUAGES C
Expand Down
45 changes: 45 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -6800,3 +6800,48 @@ were genuinely uncited before writing anything.

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

### 138. Citation backfill, batch 18: WAKEUP (issue #164) (v0.138.0)

Eighteenth batch. §13.7.2 Wakeup control, 16/22 uncited going in.
Before committing to this category, this batch's own scoping pass
first checked MDIO (16 uncited) and found its file header
self-documents essentially its *entire* wire layout as original,
non-TC18 design (already tracked as `tc18-gap` #021/#022) -- only one
requirement in it would have been genuinely citable. WAKEUP, by
contrast, has rich underlying TC18 prose (§13.7.2.1's basic concept,
Table 36/37's register block, §13.7.2.3's sleep-request handshake +
Figure 22 + the "SleepCMD is coded as 0xA5" line) despite the module
already carrying six pre-existing `tc18-gap` entries
(`REQ-WAKEUP-017`-`022`) documenting real, specific divergences from
that same prose.

Cited 13 of the 16 uncited `REQ-WAKEUP-*` requirements, several
deliberately cross-referencing those pre-existing gap entries rather
than implying full conformance: lifecycle-gated functional-config
writability (`REQ-WAKEUP-002`) reusing the established §12.3.1.2/.3
basis; wake-source assertion (`REQ-WAKEUP-003`-`004`) against
§13.7.2.1's activity-detection prose and Table 36/37, cross-referencing
`REQ-WAKEUP-021`/`022` for the module's reduced single-sense/
single-latch modeling versus Table 37's six-value IO_SRC encoding and
Table 36's per-source bitfield; the wup_status latch primitives
(`REQ-WAKEUP-005`-`008`) against Table 36's wup_status register text,
same `REQ-WAKEUP-021` cross-reference; the SleepCMD request/response
pair (`REQ-WAKEUP-010`-`013`) against Figure 22, the 0xA5 opcode, and
the sleep-request acknowledge/refusal prose, with the response pair
cross-referencing `REQ-WAKEUP-019`'s divergence (refusal signalled as
a positive-form response, not an error response); and the WakeUp
message pair (`REQ-WAKEUP-014`-`015`) against §13.7.2.1's repetitive-
message prose, cross-referencing `REQ-WAKEUP-017`'s divergence (no
wake-up source field carried).

Left uncited, deliberately: `REQ-WAKEUP-001` (zero-init),
`REQ-WAKEUP-009` (`strerror()`), and `REQ-WAKEUP-016` (the wakeup-echo
helper -- transaction_num correlation is this module's own
implementation convenience with no direct TC18 text of its own).

Used the pre-flight citation-target check -- confirmed all 13 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.137.0"
#define RCP_VERSION "0.138.0"

#endif /* RCP_VERSION_H */
Loading