.. _everest_modules_McsDataLink: ########### McsDataLink ########### | MCS (Megawatt Charging System) data link supervision for ISO 15118-10:2025. Single-pair ethernet (10BASE-T1S) replaces HomePlug PLC, so there is no SLAC matching procedure; the D-LINK service primitives of ISO 15118-3 are reused unchanged, which is why this module provides the existing `slac` interface and EvseManager needs no modification. The link lifecycle is supervised through the network device carrier (rtnetlink IFF_LOWER_UP). ************************* Handwritten Documentation ************************* .. include:: index.inc ************************ Auto-Generated Reference ************************ Provides ======== | **main**: :ref:`slac ` | D-LINK primitives for the MCS data link. Despite the interface name no SLAC is performed - MATCHING means "waiting for the SPE link to come up". | **config:** | **device**: *string* | *default: "cb_plc"* | Network device carrying the MCS single-pair ethernet link. Any netdev works: a Chargebridge TAP configured with `plc.carrier: firmware`, or a real SPE netdev. The device does not have to exist at startup; the module waits for it to appear. | **link_detect_timeout_ms**: *integer* | *default: 4000* | TT_EV_link_detect (ISO 15118-10 Table 8, max 4000 ms). Time the SPE link is given to come up after the EV is detected by basic signalling (enter_bcd). On expiry the communication initialization has FAILED (V2G10-054) and the state returns to UNMATCHED. | **sync_repetition_ms**: *integer* | *default: 4000* | TT_sync_repetition (ISO 15118-10 Table 8, max 4000 ms). Window opened when communication initialization is triggered by enter_bcd, within which a FAILED initialization is restarted while the EV is still present (V2G10-055 to -058). Note the standard's own arithmetic: with both this and link_detect_timeout_ms at their 4000 ms maximum the window is already over when the first TT_EV_link_detect expires, so no repetition happens unless link_detect_timeout_ms is shortened. 0 disables repetition. | **conn_retry_max**: *integer* | *default: 3* | C_conn_retry (ISO 15118-10 V2G10-037/-038, IEC 61851-23-3 CC.5.2.3.2 restart loop: N <= 3, manufacturer may differ). Maximum number of automatic data link restarts per EV connection, counting both link losses and D-LINK_ERROR requests. 0 disables retrying entirely. | **retry_wait_ms**: *integer* | *default: 3000* | Wait time before a restart attempt is requested from EvseManager after a D-LINK_ERROR (IEC 61851-23-3 CC.5.2.3.2 requires >= 3 s with S S3 open between attempts). | **neighbor_liveness**: *boolean* | *default: True* | Additionally supervise the link through the kernel neighbor table (NUD) of the configured device. A neighbor going NUD_FAILED with no other reachable neighbor left counts as a detected link loss (V2G10-036), which the carrier alone cannot see when the PHY reports itself operational but the EV is gone. | **liveness_grace_ms**: *integer* | *default: 1000* | Debounce for neighbor_liveness. After the last neighbor of the device has gone NUD_FAILED the link only counts as lost if no neighbor has become reachable again within this time. Keeps a single failed probe of an address that re-resolves from tearing down a healthy session. 0 acts immediately. | **publish_ev_mac**: *boolean* | *default: True* | Publish the EV MAC address (ev_mac_address) once a neighbor of the configured device becomes reachable while the link is up. Enables Autocharge without HLC. ******** Metadata ******** Authors ======= | Jan Christoph Habig (Pionix GmbH) License ======= | https://opensource.org/licenses/Apache-2.0