ChargeLink

chargelink dc-can

IEC 61851-23/-24 System A (CHAdeMO) sessions, plus scripted DC-CAN sequences, adapter loops and campaigns.

chademo in command names refers to IEC 61851-23/-24 System A (CHAdeMO).

← All commands

chargelink dc-can

chargelink dc-can [OPTIONS] <COMMAND>

Subcommands

SubcommandPurpose
policyShow DC-CAN crate foundation policy
catalogList CHAdeMO and ChaoJi/GB/T virtual CAN frame models
virtual-runRun virtual DC-CAN transport smoke
chademo-live-runRun ChargeLink-CHAdeMO DC-CAN EVCC/EVSE live closure simulator
chademo-can-adapter-loopRun CHAdeMO real CAN adapter binding and hardware-loop evidence session
chaoji-gbt-can-adapter-loopRun ChaoJi / GB/T real CAN/CAN-FD adapter binding and hardware-loop evidence session
chademo-fault-campaignRun CHAdeMO DC-CAN deterministic fault, retry, and watchdog campaign
chademo-longrun-campaignRun CHAdeMO DC-CAN repeated-session long-run campaign
chademoCHAdeMO DC charging (IEC 61851-23/-24 System A): the charger and vehicle roles, the CAN check and the case matrix
release-gateShow claim-safe DC-CAN release gate status
operator-acceptanceShow operator acceptance checklist for DC-CAN foundation evidence

chargelink dc-can catalog

List CHAdeMO and ChaoJi/GB/T virtual CAN frame models

chargelink dc-can catalog [OPTIONS]

No options besides the global options.

chargelink dc-can chademo

CHAdeMO DC charging (IEC 61851-23/-24 System A): the charger and vehicle roles, the CAN check and the case matrix

chargelink dc-can chademo [OPTIONS] <COMMAND>

Subcommands

SubcommandPurpose
runRun the CHAdeMO case matrix on one PC: the charger and the vehicle on a virtual CAN bus, with a simulated power stage
evseThe charger side of a two-PC test: the charger, its simulated power stage and the plant link, CAN on the network hub or a Kvaser channel; runs and judges the chosen cases with the vehicle on the second PC. Stop with `chargelink evse stop --run-id <id>`
evThe vehicle side of a two-PC test: the vehicle on the charger PC's plant link, CAN on its hub or a Kvaser channel. Stop with `chargelink evcc stop --run-id <id>`
kvaser-checkList the Kvaser channels; with --channel, open one at the CHAdeMO bus parameters and read them back, and send or listen for test frames (a cable test between the two PCs)

chargelink dc-can chademo-can-adapter-loop

Run CHAdeMO real CAN adapter binding and hardware-loop evidence session

chargelink dc-can chademo-can-adapter-loop [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>chademo-dc-can-adapter-p553-r1
--adapter-kind<ADAPTER_KIND>
one of: peak-pcan, vector-xl, kvaser-canlib, socketcan, slcan, lawicel, usbtin
peak-pcan
--adapter-mode<ADAPTER_MODE>
one of: loopback, hardware
loopback
--channel<CHANNEL>PCAN_USBBUS1
--bitrate-kbps<BITRATE_KBPS>500
--termination-ohms<TERMINATION_OHMS>
--hardware-present-proof<HARDWARE_PRESENT_PROOF>
--require-hardwareflag
--evcc-profile<EVCC_PROFILE>chademo_dc_evcc_reference
--evse-profile<EVSE_PROFILE>chademo_dc_evse_reference
--requested-voltage-v<REQUESTED_VOLTAGE_V>400
--requested-current-a<REQUESTED_CURRENT_A>125
--initial-soc-pct<INITIAL_SOC_PCT>35
--target-soc-pct<TARGET_SOC_PCT>80
--max-loop-cycles<MAX_LOOP_CYCLES>4
--sample-period-ms<SAMPLE_PERIOD_MS>100

chargelink dc-can chademo-fault-campaign

Run CHAdeMO DC-CAN deterministic fault, retry, and watchdog campaign

chargelink dc-can chademo-fault-campaign [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>chademo-dc-can-fault-p554-r1
--adapter-kind<ADAPTER_KIND>
one of: peak-pcan, vector-xl, kvaser-canlib, socketcan, slcan, lawicel, usbtin
peak-pcan
--adapter-mode<ADAPTER_MODE>
one of: loopback, hardware
loopback
--channel<CHANNEL>PCAN_USBBUS1
--bitrate-kbps<BITRATE_KBPS>500
--termination-ohms<TERMINATION_OHMS>
--hardware-present-proof<HARDWARE_PRESENT_PROOF>
--require-hardwareflag
--evcc-profile<EVCC_PROFILE>chademo_dc_evcc_reference
--evse-profile<EVSE_PROFILE>chademo_dc_evse_reference
--requested-voltage-v<REQUESTED_VOLTAGE_V>400
--requested-current-a<REQUESTED_CURRENT_A>125
--initial-soc-pct<INITIAL_SOC_PCT>35
--target-soc-pct<TARGET_SOC_PCT>80
--max-loop-cycles<MAX_LOOP_CYCLES>4
--sample-period-ms<SAMPLE_PERIOD_MS>100
--fault-kind<FAULT_KINDS>

chargelink dc-can chademo-live-run

Run ChargeLink-CHAdeMO DC-CAN EVCC/EVSE live closure simulator

chargelink dc-can chademo-live-run [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>chademo-dc-can-live-p552-r1
--evcc-profile<EVCC_PROFILE>chademo_dc_evcc_reference
--evse-profile<EVSE_PROFILE>chademo_dc_evse_reference
--requested-voltage-v<REQUESTED_VOLTAGE_V>400
--requested-current-a<REQUESTED_CURRENT_A>125
--initial-soc-pct<INITIAL_SOC_PCT>35
--target-soc-pct<TARGET_SOC_PCT>80
--max-loop-cycles<MAX_LOOP_CYCLES>4
--sample-period-ms<SAMPLE_PERIOD_MS>100
--inject-missing-heartbeatflag

chargelink dc-can chademo-longrun-campaign

Run CHAdeMO DC-CAN repeated-session long-run campaign

chargelink dc-can chademo-longrun-campaign [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>chademo-dc-can-longrun-p554-r1
--cycles<CYCLES>25
--mode<MODE>
one of: loopback, hardware, hardware-attested
loopback
--adapter-kind<ADAPTER_KIND>
one of: peak-pcan, vector-xl, kvaser-canlib, socketcan, slcan, lawicel, usbtin
peak-pcan
--channel<CHANNEL>PCAN_USBBUS1
--bitrate-kbps<BITRATE_KBPS>500
--termination-ohms<TERMINATION_OHMS>
--hardware-present-proof<HARDWARE_PRESENT_PROOF>
--require-hardwareflag
--evcc-profile<EVCC_PROFILE>chademo_dc_evcc_reference
--evse-profile<EVSE_PROFILE>chademo_dc_evse_reference
--requested-voltage-v<REQUESTED_VOLTAGE_V>400
--requested-current-a<REQUESTED_CURRENT_A>125
--initial-soc-pct<INITIAL_SOC_PCT>35
--target-soc-pct<TARGET_SOC_PCT>80
--max-loop-cycles<MAX_LOOP_CYCLES>4
--sample-period-ms<SAMPLE_PERIOD_MS>100

chargelink dc-can chaoji-gbt-can-adapter-loop

Run ChaoJi / GB/T real CAN/CAN-FD adapter binding and hardware-loop evidence session

chargelink dc-can chaoji-gbt-can-adapter-loop [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>chaoji-gbt-dc-can-adapter-r1
--adapter-kind<ADAPTER_KIND>
one of: peak-pcan, vector-xl, kvaser-canlib, socketcan, slcan, lawicel, usbtin
peak-pcan
--adapter-mode<ADAPTER_MODE>
one of: loopback, hardware
loopback
--channel<CHANNEL>PCAN_USBBUS1
--bitrate-kbps<BITRATE_KBPS>500
--termination-ohms<TERMINATION_OHMS>
--hardware-present-proof<HARDWARE_PRESENT_PROOF>
--require-hardwareflag
--evcc-profile<EVCC_PROFILE>chaoji_gbt_evcc_compat_reference
--evse-profile<EVSE_PROFILE>chaoji_gbt_dc_evse_reference
--requested-voltage-v<REQUESTED_VOLTAGE_V>750
--requested-current-a<REQUESTED_CURRENT_A>200
--initial-soc-pct<INITIAL_SOC_PCT>35
--target-soc-pct<TARGET_SOC_PCT>80

chargelink dc-can operator-acceptance

Show operator acceptance checklist for DC-CAN foundation evidence

chargelink dc-can operator-acceptance [OPTIONS]

No options besides the global options.

chargelink dc-can policy

Show DC-CAN crate foundation policy

chargelink dc-can policy [OPTIONS]

No options besides the global options.

chargelink dc-can release-gate

Show claim-safe DC-CAN release gate status

chargelink dc-can release-gate [OPTIONS]

No options besides the global options.

chargelink dc-can virtual-run

Run virtual DC-CAN transport smoke

chargelink dc-can virtual-run [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--protocol<PROTOCOL>
one of: chademo, chaoji-gbt, chaoji_gbt, chaoji, gbt
chademo
--profile<PROFILE>dc_can_virtual_evse
--frame-count<FRAME_COUNT>4
--sample-period-ms<SAMPLE_PERIOD_MS>50
--inject-watchdog-timeoutflag

chargelink dc-can chademo ev

The vehicle side of a two-PC test: the vehicle on the charger PC's plant link, CAN on its hub or a Kvaser channel. Stop with `chargelink evcc stop --run-id <id>`

chargelink dc-can chademo ev [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--hub<HUB>The charger PC's CAN hub (with `--can-backend hub`)
--can-backend<CAN_BACKEND>
one of: hub, kvaser
hub
--kvaser-channel<KVASER_CHANNEL>0Kvaser channel number (with `--can-backend kvaser`)
--plant-link<PLANT_LINK>The charger PC's plant link
--listening-file<LISTENING_FILE>The station's listening file (`evse --listening-file`): the hub and plant-link addresses are read from it, in place of `--hub` and `--plant-link`. Read once, when the EV starts (waiting up to 30 s for it): for a charger that serves one cycle, as the repeatability run starts them
--connect-wait-s<CONNECT_WAIT_S>300Seconds to keep retrying until the charger serves the next session; 0 retries until stopped
--sessions<SESSIONS>1Sessions to run, one after another; 0 runs sessions until `chargelink evcc stop`. A stop lets the current session finish. Each session runs the vehicle the charger asks for (a fault case may need its own vehicle configuration), or this PC's default
--dry-runflagValidate the settings and register a dry-run session; opens no socket and no CAN channel
--run-id<RUN_ID>
--out<OUT>

chargelink dc-can chademo evse

The charger side of a two-PC test: the charger, its simulated power stage and the plant link, CAN on the network hub or a Kvaser channel; runs and judges the chosen cases with the vehicle on the second PC. Stop with `chargelink evse stop --run-id <id>`

chargelink dc-can chademo evse [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--hub-bind<HUB_BIND>127.0.0.1:47100Address the CAN hub listens on for the vehicle on the second PC
--plant-link-bind<PLANT_LINK_BIND>127.0.0.1:47101Address the plant link listens on for the vehicle on the second PC
--allow-networkflagRequired to listen on anything but loopback
--ev-wait-s<EV_WAIT_S>300Seconds to wait for the vehicle of each session; 0 waits until stopped
--cases<CASES>n1Cases to run with the vehicle on the second PC, comma-separated (for example n1,n2,k1,k5b), or `all` for every case but the one-PC bus self-test. The vehicle runs whatever session each case offers it
--sessions<SESSIONS>1How many times to run the cases, one after another; 0 repeats them until `chargelink evse stop`
--can-backend<CAN_BACKEND>
one of: hub, kvaser
hub`hub`: CAN over the network through the hub (a two-PC software test). `kvaser`: CAN on a Kvaser channel (a Kvaser interface, or a Kvaser virtual channel for testing)
--kvaser-channel<KVASER_CHANNEL>0Kvaser channel number (0 = the first channel; virtual channels count too)
--ev-profile<EV_PROFILE>Demo power stage: a vehicle profile file (for example vehicle-40kwh-compact-bev.json). With --station-profile, N1 runs as a profile session: the battery, the BMS's current over state of charge and a normal stop at the target state of charge, in real time. A vehicle on a second PC takes the vehicle from the charger's offer and needs no flag
--station-profile<STATION_PROFILE>Demo power stage: a charger profile file: max voltage, current and power With the profiles: stream one JSON telemetry line every 100 ms. Without a path, to `telemetry.jsonl` in each cycle's folder of the run; with a path (one session only), to that file, created new
--fault-at-soc<FAULT_AT_SOC>With the profiles: the fault scene's state of charge, in %
--fault<FAULT>
one of: emergency_stop, station_stop
With --fault-at-soc: `emergency_stop` (case K1's stimulus, judged as K1) or `station_stop` (case N2's, judged as N2)
--plant<PLANT>
one of: model, bench
model`model`: the built-in simulated CHAdeMO power stage in this process (the one-PC and two-PC software tests). `bench`: a power stage on a test bench, over the bench's gRPC signal service: one N1 session (`--cases n1 --sessions 1`), with --plant-grpc-endpoint and --lane-events, and the bench's safety owner from CHARGELINK_OWNER_SAFETY_BINDING
--plant-grpc-endpoint<PLANT_GRPC_ENDPOINT>With `--plant bench`: the bench's gRPC signal service
--bench-ev-charge-ms<BENCH_EV_CHARGE_MS>2000Bench EV duration at target current; keeps owner fault holds inside the session
--bench-ev-abort-after-ms<BENCH_EV_ABORT_AFTER_MS>0Bench peer-loss stimulus, sent to the remote EV after measured coupling (0 disables)
--lane-events<LANE_EVENTS>With `--plant bench`: the bench events file (`chargelink.chademo.lane_events.v1`), created new; an existing file is refused
--dry-runflagValidate the settings and register a dry-run session; opens no socket and no CAN channel
--listening-file<LISTENING_FILE>Write the addresses the hub and plant link actually listen on to this file (JSON) once a session's sockets are bound. With port 0 in --hub-bind and --plant-link-bind the station takes free ports itself, and the EV is started with the ports this file names
--run-id<RUN_ID>
--out<OUT>

chargelink dc-can chademo kvaser-check

List the Kvaser channels; with --channel, open one at the CHAdeMO bus parameters and read them back, and send or listen for test frames (a cable test between the two PCs)

chargelink dc-can chademo kvaser-check [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--channel<CHANNEL>Channel to open (see the list); without it the channels are only listed
--send<SEND>0Test frames (identifier H'7F0) to send on the channel, 10 ms apart
--listen-s<LISTEN_S>0Seconds to listen on the channel, after any sending
--expect<EXPECT>Test frames that must arrive while listening (the other PC sends them)

chargelink dc-can chademo run

Run the CHAdeMO case matrix on one PC: the charger and the vehicle on a virtual CAN bus, with a simulated power stage

chargelink dc-can chademo run [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--cases<CASES>allCases to run, comma-separated (for example n1,k1,k5b), or `all`
--run-id<RUN_ID>
--out<OUT>Evidence folder; defaults to the CHAdeMO evidence folder under the artifact root