From c36ff8c53f7cdc013c9783622073759a9e8871a4 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Wed, 29 Apr 2026 15:20:46 +0200 Subject: [PATCH 01/14] Update journal log in getting_started.rst Signed-off-by: Fabian Hartung --- docs/source/getting_started.rst | 334 ++++++++++++++++---------------- 1 file changed, 172 insertions(+), 162 deletions(-) diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst index 7208678..383f079 100644 --- a/docs/source/getting_started.rst +++ b/docs/source/getting_started.rst @@ -201,66 +201,76 @@ The EVerest log should look like this: .. code-block:: sh root@chargesom:~# journalctl -f -u everest -n 100 - 2025-09-25T14:04:36.340853+0200 chargesomCARE03 sh[2679]: Starting to migrate EVerest configurations - 2025-09-25T14:04:36.349802+0200 chargesomCARE03 sh[2679]: EVerest configurations migrated successfully - 2025-09-25T14:04:36.352953+0200 chargesomCARE03 systemd[1]: Started EVerest. - 2025-09-25T14:04:36.375673+0200 chargesomCARE03 manager[2683]: [INFO] manager :: ________ __ _ - 2025-09-25T14:04:36.375673+0200 chargesomCARE03 manager[2683]: [INFO] manager :: | ____\ \ / / | | - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: | |__ \ \ / /__ _ __ ___ ___| |_ - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: | __| \ \/ / _ \ '__/ _ \/ __| __| - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: | |____ \ / __/ | | __/\__ \ |_ - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: |______| \/ \___|_| \___||___/\__| - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: everest-framework 0.23.0 main@v0.23.0 - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: everest-core 2025.8.0 feature/json-rpc-api-2025.8.0@2024.2.0-962-gbe8125e6-dirty - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: - 2025-09-25T14:04:36.376989+0200 chargesomCARE03 manager[2683]: [INFO] manager :: Using MQTT broker localhost:1883 - 2025-09-25T14:04:36.393364+0200 chargesomCARE03 manager[2684]: [INFO] everest_ctrl :: Launching controller service on port 8849 - 2025-09-25T14:04:36.407897+0200 chargesomCARE03 manager[2683]: [INFO] manager :: Boot mode is set to YamlFile, loading module configs from YAML file - 2025-09-25T14:04:36.408346+0200 chargesomCARE03 manager[2683]: [INFO] manager :: Loading config file at: /etc/everest/bsp-only-dc.yaml - 2025-09-25T14:04:36.577875+0200 chargesomCARE03 manager[2683]: [INFO] manager :: Config loading completed in 199ms - 2025-09-25T14:04:36.583298+0200 chargesomCARE03 manager[2683]: [INFO] manager :: Starting 18 modules - 2025-09-25T14:04:38.687027+0200 chargesomCARE03 manager[2724]: [INFO] error_history:E :: Resetting database - 2025-09-25T14:04:38.696192+0200 chargesomCARE03 manager[2724]: [INFO] error_history:E :: Module error_history initialized [1982ms] - 2025-09-25T14:04:38.723240+0200 chargesomCARE03 manager[2711]: [INFO] charger_info:Ch :: Module charger_info initialized [2069ms] - 2025-09-25T14:04:38.724917+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Module auth initialized [2069ms] - 2025-09-25T14:04:38.773441+0200 chargesomCARE03 manager[2718]: [INFO] energy_manager: :: Module energy_manager initialized [2075ms] - 2025-09-25T14:04:38.792282+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: chargebyte's Charge SOM EVerest module (version: 0.22.2) - 2025-09-25T14:04:38.802494+0200 chargesomCARE03 manager[2742]: [INFO] imd:IMDSimulato :: Module imd initialized [2016ms] - 2025-09-25T14:04:38.848429+0200 chargesomCARE03 manager[2708]: [INFO] api:API :: Module api initialized [2200ms] - 2025-09-25T14:04:38.856705+0200 chargesomCARE03 manager[2727]: [INFO] evse_security:E :: Module evse_security initialized [2102ms] - 2025-09-25T14:04:38.862248+0200 chargesomCARE03 manager[2755]: [INFO] kvs:YamlStore :: Module kvs initialized [2040ms] - 2025-09-25T14:04:38.887710+0200 chargesomCARE03 manager[2768]: [INFO] powersupply_dc: :: Module powersupply_dc initialized [2026ms] - 2025-09-25T14:04:38.894512+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Module evse_slac initialized [2152ms] - 2025-09-25T14:04:38.905989+0200 chargesomCARE03 manager[2741]: [INFO] grid_connection :: Module grid_connection_point initialized [2128ms] - 2025-09-25T14:04:38.921079+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: Module connector initialized [2198ms] - 2025-09-25T14:04:38.934256+0200 chargesomCARE03 manager[2763]: [INFO] persistent_stor :: Module persistent_store initialized [2088ms] - 2025-09-25T14:04:38.939995+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Module iso15118_charger initialized [2114ms] - 2025-09-25T14:04:38.962917+0200 chargesomCARE03 manager[2783]: [INFO] token_provider: :: Module token_provider initialized [2059ms] - 2025-09-25T14:04:38.983892+0200 chargesomCARE03 manager[2778]: [INFO] rpc_api:RpcApi :: Module rpc_api initialized [2074ms] - 2025-09-25T14:04:39.021314+0200 chargesomCARE03 manager[2796]: [INFO] token_validator :: Module token_validator initialized [2091ms] - 2025-09-25T14:04:39.179576+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: Safety Controller Firmware: 0.2.3 (ga6981f9f8913ce59, Charge SOM, firmware) - 2025-09-25T14:04:39.179576+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: Module bsp initialized [2512ms] - 2025-09-25T14:04:39.180743+0200 chargesomCARE03 manager[2683]: [INFO] manager :: Clearing retained topics published by manager during startup - 2025-09-25T14:04:39.182430+0200 chargesomCARE03 manager[2683]: [INFO] manager :: 🚙🚙🚙 All modules are initialized. EVerest up and running [2807ms] 🚙🚙🚙 - 2025-09-25T14:04:39.194610+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: TCP server on eth1 is listening on port [fe80::201:87ff:fe00:3049%3]:61341 - 2025-09-25T14:04:39.196209+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: SDP socket setup succeeded - 2025-09-25T14:04:39.204868+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Starting the SLAC state machine - 2025-09-25T14:04:39.405536+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Entered Reset state - 2025-09-25T14:04:39.405536+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: New NMK key: 51:33:58:53:33:38:49:4C:4A:37:4A:32:44:37:59:32 - 2025-09-25T14:04:39.408541+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Received CM_SET_KEY_CNF - 2025-09-25T14:04:39.409554+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Entered Idle state - 2025-09-25T14:04:39.413225+0200 chargesomCARE03 manager[2709]: [WARN] auth:Auth :: Can not load reservations: reservations is not a json array. - 2025-09-25T14:04:39.813607+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Ignoring bidirectional SupportedEnergyTransferMode - 2025-09-25T14:04:40.015684+0200 chargesomCARE03 manager[2778]: [INFO] rpc_api:RpcApi :: WebSocket Server running on port 8080 (interface "lo" only) without TLS - 2025-09-25T14:04:40.443397+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: Cleaning up any other transaction on start up - 2025-09-25T14:04:40.710550+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: 🌀🌀🌀 Ready to start charging 🌀🌀🌀 - 2025-09-25T14:04:41.141590+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: handle_enable: Setting new duty cycle of 100.0% - 2025-09-25T14:04:41.270288+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: CP state change from PowerOn to A, PWM: 100.0% - 2025-09-25T14:04:41.312782+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: handle_pwm_off: Setting new duty cycle of 100.0% - 2025-09-25T14:04:41.376644+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: Current (unchanged) state: OPEN - 2025-09-25T14:04:41.420864+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: handle_pwm_off: Setting new duty cycle of 100.0% - 2025-09-25T14:04:41.461236+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: All errors cleared + 2026-04-29T14:40:21.595882+0200 csom-carespot2 systemd[1]: Starting EVerest... + 2026-04-29T14:40:21.600254+0200 csom-carespot2 sh[140227]: Starting to migrate EVerest configurations + 2026-04-29T14:40:21.633827+0200 csom-carespot2 sh[140227]: EVerest configurations migrated successfully + 2026-04-29T14:40:21.659046+0200 csom-carespot2 systemd[1]: Started EVerest. + 2026-04-29T14:40:21.680731+0200 csom-carespot2 manager[140234]: [INFO] manager :: ________ __ _ + 2026-04-29T14:40:21.680731+0200 csom-carespot2 manager[140234]: [INFO] manager :: | ____\ \ / / | | + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: | |__ \ \ / /__ _ __ ___ ___| |_ + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: | __| \ \/ / _ \ '__/ _ \/ __| __| + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: | |____ \ / __/ | | __/\__ \ |_ + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: |______| \/ \___|_| \___||___/\__| + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: everest-framework 0.25.0 2026.02.0-54-g1b2d3e15-dirty + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: everest-core 2026.02.0 2026.02.0-54-g1b2d3e15-dirty + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: + 2026-04-29T14:40:21.681770+0200 csom-carespot2 manager[140234]: [INFO] manager :: Using MQTT broker localhost:1883 + 2026-04-29T14:40:21.707310+0200 csom-carespot2 manager[140234]: [INFO] manager :: Boot mode is set to YamlFile, loading module configs from YAML file + 2026-04-29T14:40:21.707616+0200 csom-carespot2 manager[140234]: [INFO] manager :: Loading config file at: /etc/everest/bsp-only-dc.yaml + 2026-04-29T14:40:21.858941+0200 csom-carespot2 manager[140234]: [INFO] manager :: Config loading completed in 177ms + 2026-04-29T14:40:21.862484+0200 csom-carespot2 manager[140234]: [INFO] manager :: Starting 18 modules + 2026-04-29T14:40:23.936040+0200 csom-carespot2 manager[140252]: [INFO] energy_manager: :: Module energy_manager initialized [1993ms] + 2026-04-29T14:40:23.974989+0200 csom-carespot2 manager[140241]: [INFO] api:API :: Module api initialized [2075ms] + 2026-04-29T14:40:24.010143+0200 csom-carespot2 manager[140242]: [INFO] auth:Auth :: Module auth initialized [2056ms] + 2026-04-29T14:40:24.065946+0200 csom-carespot2 manager[140244]: [INFO] charger_info:Ch :: Module charger_info initialized [2140ms] + 2026-04-29T14:40:24.067589+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: chargebyte's Charge SOM EVerest module (version: 0.30.0) + 2026-04-29T14:40:24.070179+0200 csom-carespot2 manager[140266]: [INFO] evse_security:E :: Module evse_security initialized [2078ms] + 2026-04-29T14:40:24.137649+0200 csom-carespot2 manager[140329]: [INFO] token_provider: :: Module token_provider initialized [2002ms] + 2026-04-29T14:40:24.153326+0200 csom-carespot2 manager[140246]: [INFO] connector:EvseM :: Module connector initialized [2151ms] + 2026-04-29T14:40:24.166004+0200 csom-carespot2 manager[140281]: [INFO] iso15118_charge :: Module iso15118_charger initialized [2100ms] + 2026-04-29T14:40:24.177408+0200 csom-carespot2 manager[140311]: [INFO] persistent_stor :: Module persistent_store initialized [2040ms] + 2026-04-29T14:40:24.187280+0200 csom-carespot2 manager[140299]: [INFO] kvs:YamlStore :: Module kvs initialized [2123ms] + 2026-04-29T14:40:24.198918+0200 csom-carespot2 manager[140253]: [INFO] error_history:E :: Resetting database + 2026-04-29T14:40:24.200011+0200 csom-carespot2 manager[140279]: [INFO] imd:IMDSimulato :: Module imd initialized [2194ms] + 2026-04-29T14:40:24.209623+0200 csom-carespot2 manager[140314]: [INFO] powersupply_dc: :: Module powersupply_dc initialized [2115ms] + 2026-04-29T14:40:24.225936+0200 csom-carespot2 manager[140253]: [INFO] error_history:E :: Module error_history initialized [2194ms] + 2026-04-29T14:40:24.225936+0200 csom-carespot2 manager[140315]: [INFO] rpc_api:RpcApi :: libwebsockets version (compiled/runtime): 4.5.2-v4.5.2 / 4.5.2-v4.5.2 + 2026-04-29T14:40:24.227262+0200 csom-carespot2 manager[140315]: [INFO] rpc_api:RpcApi :: Module rpc_api initialized [2116ms] + 2026-04-29T14:40:24.231938+0200 csom-carespot2 manager[140267]: [INFO] grid_connection :: Module grid_connection_point initialized [2214ms] + 2026-04-29T14:40:24.233024+0200 csom-carespot2 manager[140330]: [INFO] token_validator :: Module token_validator initialized [2065ms] + 2026-04-29T14:40:24.242542+0200 csom-carespot2 manager[140316]: [INFO] slac:EvseSlac :: Module slac initialized [2086ms] + 2026-04-29T14:40:24.407225+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: Safety Controller Firmware: 0.3.0 (g5566522abd7e4adf, Charge SOM, firmware, Parameter Version: 1) + 2026-04-29T14:40:24.407635+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: Module bsp initialized [2449ms] + 2026-04-29T14:40:24.408544+0200 csom-carespot2 manager[140234]: [INFO] manager :: Clearing retained topics published by manager during startup + 2026-04-29T14:40:24.410540+0200 csom-carespot2 manager[140234]: [INFO] manager :: 🚙🚙🚙 All modules are initialized. EVerest up and running [2730ms] 🚙🚙🚙 + 2026-04-29T14:40:24.417279+0200 csom-carespot2 manager[140281]: [INFO] iso15118_charge :: TCP server on eth1 is listening on port [fe80::201:87ff:fe00:304b%3]:61341 + 2026-04-29T14:40:24.417585+0200 csom-carespot2 manager[140281]: [INFO] iso15118_charge :: TLS server on eth1 is listening on port [fe80::201:87ff:fe00:304b%3]:64109 + 2026-04-29T14:40:24.436633+0200 csom-carespot2 manager[140266]: [INFO] evse_security:E :: Requesting leaf certificate info: V2G + 2026-04-29T14:40:24.439351+0200 csom-carespot2 manager[140316]: [INFO] slac:EvseSlac :: Starting the SLAC state machine + 2026-04-29T14:40:24.458558+0200 csom-carespot2 manager[140266]: [INFO] evse_security:E :: Found valid leaf: ["/etc/everest/certs/client/cso/CPO_CERT_CHAIN.pem"] + 2026-04-29T14:40:24.464410+0200 csom-carespot2 manager[140266]: [INFO] evse_security:E :: Found valid leaf: ["/etc/everest/certs/client/cso/SECC_LEAF.pem"] + 2026-04-29T14:40:24.572833+0200 csom-carespot2 manager[140281]: [INFO] iso15118_charge :: Ignoring bidirectional SupportedEnergyTransferMode + 2026-04-29T14:40:24.641151+0200 csom-carespot2 manager[140316]: [INFO] slac:EvseSlac :: Entered Reset state + 2026-04-29T14:40:24.646217+0200 csom-carespot2 manager[140316]: [INFO] slac:EvseSlac :: New NMK key: 50:51:49:39:4E:39:32:57:38:58:49:4D:56:51:45:41 + 2026-04-29T14:40:24.648196+0200 csom-carespot2 manager[140316]: [INFO] slac:EvseSlac :: Received CM_SET_KEY_CNF + 2026-04-29T14:40:24.649441+0200 csom-carespot2 manager[140316]: [INFO] slac:EvseSlac :: Entered Idle state + 2026-04-29T14:40:24.843605+0200 csom-carespot2 manager[140242]: [WARN] auth:Auth :: Can not load reservations: reservations is not a json array. + 2026-04-29T14:40:24.951866+0200 csom-carespot2 manager[140281]: [INFO] iso15118_charge :: Ignoring bidirectional SupportedEnergyTransferMode + 2026-04-29T14:40:24.969158+0200 csom-carespot2 manager[140281]: [WARN] iso15118_charge :: certificates != OCSP responses + 2026-04-29T14:40:24.985033+0200 csom-carespot2 manager[140281]: [INFO] iso15118_charge :: SDP socket setup succeeded + 2026-04-29T14:40:25.311890+0200 csom-carespot2 manager[140315]: [INFO] rpc_api:RpcApi :: WebSocket Server running on port 8080 (interface "lo" only) without TLS + 2026-04-29T14:40:25.579445+0200 csom-carespot2 manager[140246]: [INFO] connector:EvseM :: Cleaning up any other transaction on start up + 2026-04-29T14:40:25.757033+0200 csom-carespot2 manager[140246]: [INFO] connector:EvseM :: 🌀🌀🌀 Ready to start charging 🌀🌀🌀 + 2026-04-29T14:40:26.103228+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: handle_enable: Applying cached duty cycle of 100.0% + 2026-04-29T14:40:26.226792+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: CP state change from PowerOn to A, PWM: 100.0% + 2026-04-29T14:40:26.395336+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: handle_cp_state_X1: Setting new duty cycle of 100.0% + 2026-04-29T14:40:26.494984+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: handle_allow_power_on: request to OPEN the contactor (PowerOff) + 2026-04-29T14:40:26.539714+0200 csom-carespot2 manager[140243]: [INFO] bsp:CbChargeSOM :: handle_cp_state_X1: Setting new duty cycle of 100.0% + 2026-04-29T14:40:26.547757+0200 csom-carespot2 manager[140246]: [INFO] connector:EvseM :: All errors cleared + 2026-04-29T14:40:26.548075+0200 csom-carespot2 manager[140246]: [INFO] connector:EvseM :: All errors cleared + 2026-04-29T14:40:26.807717+0200 csom-carespot2 manager[140315]: [INFO] rpc_api:RpcApi :: Client ac8bb36f-5db9-4387-8c40-36d381c9ea68 connected from 127.0.0.1 + 2026-04-29T14:40:26.808622+0200 csom-carespot2 manager[140315]: [INFO] rpc_api:RpcApi :: API.Hello request received from client ac8bb36f-5db9-4387-8c40-36d381c9ea68 Before connecting the CP line between Charge SOM Evaluation Kit and the EV simulator, please make sure that the following things are fulfilled: @@ -278,80 +288,80 @@ The EVerest log messages should look like this: .. code-block:: sh - 2025-09-25T14:24:30.676991+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: CP state change from A to B, PWM: 100.0% - 2025-09-25T14:24:30.721100+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Entered Matching state, waiting for CM_SLAC_PARM_REQ - 2025-09-25T14:24:30.810194+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: Current (unchanged) state: OPEN - 2025-09-25T14:24:30.941735+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: SYS Session logging started. - 2025-09-25T14:24:30.942724+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Session Started: EVConnected - 2025-09-25T14:24:30.947959+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Plug In event for evse#1, starting auth - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: [INFO] token_provider: :: Publishing new dummy token: { - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: "authorization_type": "RFID", - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: "id_token": { - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: "type": "ISO14443", - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: "value": "[redacted] hash: 29F2679CA504908" - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: }, - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: "parent_id_token": { - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: "type": "ISO14443", - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: "value": "[redacted] hash: 29F2679CA504908" - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: } - 2025-09-25T14:24:30.949107+0200 chargesomCARE03 manager[2783]: } - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Received new token: { - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: "authorization_type": "RFID", - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: "id_token": { - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: "type": "ISO14443", - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: "value": "[redacted] hash: 29F2679CA504908" - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: }, - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: "parent_id_token": { - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: "type": "ISO14443", - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: "value": "[redacted] hash: 29F2679CA504908" - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: } - 2025-09-25T14:24:30.953621+0200 chargesomCARE03 manager[2709]: } - 2025-09-25T14:24:30.959095+0200 chargesomCARE03 manager[2796]: [INFO] token_validator :: Got validation request for token: [redacted] hash: 29F2679CA504908 - 2025-09-25T14:24:31.209485+0200 chargesomCARE03 manager[2796]: [INFO] token_validator :: Returning validation status: Accepted - 2025-09-25T14:24:31.213119+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Providing authorization to evse#1 - 2025-09-25T14:24:31.442613+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Set PWM On (5.0%) took 0 ms - 2025-09-25T14:24:31.444344+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: handle_pwm_on: Setting new duty cycle of 5.0% - 2025-09-25T14:24:31.596684+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Result for token: [redacted] hash: 29F2679CA504908: ACCEPTED - 2025-09-25T14:24:31.648990+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC EIM Authorization received - 2025-09-25T14:24:31.711864+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): initialized, waiting for CM_START_ATTEN_CHAR_IND - 2025-09-25T14:24:31.737341+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Transaction Started (0 kWh) - 2025-09-25T14:24:31.737972+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC DC mode. We are in 5percent mode so we can continue without further action. - 2025-09-25T14:24:31.738394+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Charger state: Wait for Auth->PrepareCharging + 2026-04-29T14:40:30.676991+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: CP state change from A to B, PWM: 100.0% + 2026-04-29T14:40:30.721100+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Entered Matching state, waiting for CM_SLAC_PARM_REQ + 2026-04-29T14:40:30.810194+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: Current (unchanged) state: OPEN + 2026-04-29T14:40:30.941735+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: SYS Session logging started. + 2026-04-29T14:40:30.942724+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Session Started: EVConnected + 2026-04-29T14:40:30.947959+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Plug In event for evse#1, starting auth + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: [INFO] token_provider: :: Publishing new dummy token: { + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: "authorization_type": "RFID", + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: "id_token": { + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: "type": "ISO14443", + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: "value": "[redacted] hash: 29F2679CA504908" + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: }, + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: "parent_id_token": { + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: "type": "ISO14443", + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: "value": "[redacted] hash: 29F2679CA504908" + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: } + 2026-04-29T14:40:30.949107+0200 chargesomCARE03 manager[2783]: } + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Received new token: { + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: "authorization_type": "RFID", + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: "id_token": { + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: "type": "ISO14443", + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: "value": "[redacted] hash: 29F2679CA504908" + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: }, + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: "parent_id_token": { + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: "type": "ISO14443", + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: "value": "[redacted] hash: 29F2679CA504908" + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: } + 2026-04-29T14:40:30.953621+0200 chargesomCARE03 manager[2709]: } + 2026-04-29T14:40:30.959095+0200 chargesomCARE03 manager[2796]: [INFO] token_validator :: Got validation request for token: [redacted] hash: 29F2679CA504908 + 2026-04-29T14:40:31.209485+0200 chargesomCARE03 manager[2796]: [INFO] token_validator :: Returning validation status: Accepted + 2026-04-29T14:40:31.213119+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Providing authorization to evse#1 + 2026-04-29T14:40:31.442613+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Set PWM On (5.0%) took 0 ms + 2026-04-29T14:40:31.444344+0200 chargesomCARE03 manager[2710]: [INFO] bsp:CbChargeSOM :: handle_pwm_on: Setting new duty cycle of 5.0% + 2026-04-29T14:40:31.596684+0200 chargesomCARE03 manager[2709]: [INFO] auth:Auth :: Result for token: [redacted] hash: 29F2679CA504908: ACCEPTED + 2026-04-29T14:40:31.648990+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC EIM Authorization received + 2026-04-29T14:40:31.711864+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): initialized, waiting for CM_START_ATTEN_CHAR_IND + 2026-04-29T14:40:31.737341+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Transaction Started (0 kWh) + 2026-04-29T14:40:31.737972+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC DC mode. We are in 5percent mode so we can continue without further action. + 2026-04-29T14:40:31.738394+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE IEC Charger state: Wait for Auth->PrepareCharging After that, the EV simulator should establish a powerline connection to the Charge SOM via SLAC. .. code-block:: sh - 2025-09-25T14:24:31.951845+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_START_ATTEN_CHAR_IND, going to substate SOUNDING - 2025-09-25T14:24:31.971833+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): needs to be in state WAIT_FOR_START_ATTEN_CHAR for CM_START_ATTEN_CHAR_IND - 2025-09-25T14:24:31.991809+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): needs to be in state WAIT_FOR_START_ATTEN_CHAR for CM_START_ATTEN_CHAR_IND - 2025-09-25T14:24:32.014530+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.022430+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.031792+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.040271+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.051785+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.059660+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.071801+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.080279+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.091866+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.099780+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.111745+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.119798+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.131953+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.139962+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.152298+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.160310+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.174327+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.181827+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.192459+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND - 2025-09-25T14:24:32.199916+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND - 2025-09-25T14:24:32.200284+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received all sounds, going to substate FINALIZE_SOUNDING - 2025-09-25T14:24:32.244308+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): Finalize sounding, sending CM_ATTEN_CHAR_IND - 2025-09-25T14:24:32.273559+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_CHAR_RSP, going to substate WAIT_FOR_SLAC_MATCH - 2025-09-25T14:24:33.171940+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): Received CM_SLAC_MATCH_REQ, sending CM_SLAC_MATCH_CNF -> session complete - 2025-09-25T14:24:33.173389+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Entered Matched state - 2025-09-25T14:24:33.176961+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO SLAC MATCHED - 2025-09-25T14:24:33.216906+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO D-LINK_READY (true) + 2026-04-29T14:40:31.951845+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_START_ATTEN_CHAR_IND, going to substate SOUNDING + 2026-04-29T14:40:31.971833+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): needs to be in state WAIT_FOR_START_ATTEN_CHAR for CM_START_ATTEN_CHAR_IND + 2026-04-29T14:40:31.991809+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): needs to be in state WAIT_FOR_START_ATTEN_CHAR for CM_START_ATTEN_CHAR_IND + 2026-04-29T14:40:32.014530+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.022430+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.031792+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.040271+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.051785+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.059660+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.071801+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.080279+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.091866+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.099780+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.111745+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.119798+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.131953+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.139962+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.152298+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.160310+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.174327+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.181827+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.192459+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_MNBC_SOUND_IND + 2026-04-29T14:40:32.199916+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_PROFILE_IND + 2026-04-29T14:40:32.200284+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received all sounds, going to substate FINALIZE_SOUNDING + 2026-04-29T14:40:32.244308+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): Finalize sounding, sending CM_ATTEN_CHAR_IND + 2026-04-29T14:40:32.273559+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): received CM_ATTEN_CHAR_RSP, going to substate WAIT_FOR_SLAC_MATCH + 2026-04-29T14:40:33.171940+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Session (run_id=662841C53AD4145D, ev_mac=00:01:87:0F:97:8B): Received CM_SLAC_MATCH_REQ, sending CM_SLAC_MATCH_CNF -> session complete + 2026-04-29T14:40:33.173389+0200 chargesomCARE03 manager[2732]: [INFO] evse_slac:EvseS :: Entered Matched state + 2026-04-29T14:40:33.176961+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO SLAC MATCHED + 2026-04-29T14:40:33.216906+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO D-LINK_READY (true) Now the EV simulator discovers the V2G service of the Charge SOM and establishes a TCP connection. Both hosts negotiate the protocol ISO 15118-2 and start a charging session. Since the setup @@ -360,39 +370,39 @@ ChargeParameterDiscovery will be reached. .. code-block:: sh - 2025-09-25T14:24:35.662140+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Received packet from [fe80::201:87ff:fe0f:978b]:58650 with security 0x10 and protocol 0x00 - 2025-09-25T14:24:35.662140+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: SDP requested NO-TLS, announcing NO-TLS - 2025-09-25T14:24:35.662140+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: sendto([fe80::201:87ff:fe0f:978b]:58650) succeeded - 2025-09-25T14:24:35.678618+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Incoming connection on eth1 from [a00:c000:0:0:fe80::]:49152 - 2025-09-25T14:24:35.679087+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Started new TCP connection thread - 2025-09-25T14:24:35.679390+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Handling SupportedAppProtocolReq - 2025-09-25T14:24:35.679839+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Protocol negotiation was successful. Selected protocol is ISO15118 - 2025-09-25T14:24:35.682040+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G SupportedAppProtocolReq - 2025-09-25T14:24:35.720169+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: SessionSetupReq.EVCCID: 00:01:87:0F:97:8B - 2025-09-25T14:24:35.720169+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: No session_id found or not equal to the id from the preceding v2g session. Generating random session id. - 2025-09-25T14:24:35.720169+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Created new session with id 0x9079111121431940848 - 2025-09-25T14:24:35.725579+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G SupportedAppProtocolRes - 2025-09-25T14:24:35.770725+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G SessionSetupReq - 2025-09-25T14:24:35.856733+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G SessionSetupRes - 2025-09-25T14:24:35.915128+0200 chargesomCARE03 manager[2750]: [WARN] iso15118_charge :: PnC is not allowed without TLS-communication. Correcting value to '1' (ExternalPayment) - 2025-09-25T14:24:35.917660+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G ServiceDiscoveryReq - 2025-09-25T14:24:36.052925+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G ServiceDiscoveryRes - 2025-09-25T14:24:36.121459+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: SelectedPaymentOption: ExternalPayment - 2025-09-25T14:24:36.145121+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G PaymentServiceSelectionReq - 2025-09-25T14:24:36.220660+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G PaymentServiceSelectionRes - 2025-09-25T14:24:36.373414+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G AuthorizationReq - 2025-09-25T14:24:36.425496+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G AuthorizationRes - 2025-09-25T14:24:36.533923+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G AuthorizationReq - 2025-09-25T14:24:36.633361+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G AuthorizationRes - 2025-09-25T14:24:36.737969+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Parameter-phase started - 2025-09-25T14:24:36.737969+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Selected energy transfer mode: DC_extended - 2025-09-25T14:24:36.765666+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: Received EV maximum limits: { - 2025-09-25T14:24:36.765666+0200 chargesomCARE03 manager[2712]: "dc_ev_maximum_current_limit": 5.0, - 2025-09-25T14:24:36.765666+0200 chargesomCARE03 manager[2712]: "dc_ev_maximum_power_limit": 1100.0, - 2025-09-25T14:24:36.765666+0200 chargesomCARE03 manager[2712]: "dc_ev_maximum_voltage_limit": 228.0 - 2025-09-25T14:24:36.765666+0200 chargesomCARE03 manager[2712]: } - 2025-09-25T14:24:36.765666+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G ChargeParameterDiscoveryReq - 2025-09-25T14:24:36.835806+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G ChargeParameterDiscoveryRes + 2026-04-29T14:40:35.662140+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Received packet from [fe80::201:87ff:fe0f:978b]:58650 with security 0x10 and protocol 0x00 + 2026-04-29T14:40:35.662140+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: SDP requested NO-TLS, announcing NO-TLS + 2026-04-29T14:40:35.662140+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: sendto([fe80::201:87ff:fe0f:978b]:58650) succeeded + 2026-04-29T14:40:35.678618+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Incoming connection on eth1 from [a00:c000:0:0:fe80::]:49152 + 2026-04-29T14:40:35.679087+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Started new TCP connection thread + 2026-04-29T14:40:35.679390+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Handling SupportedAppProtocolReq + 2026-04-29T14:40:35.679839+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Protocol negotiation was successful. Selected protocol is ISO15118 + 2026-04-29T14:40:35.682040+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G SupportedAppProtocolReq + 2026-04-29T14:40:35.720169+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: SessionSetupReq.EVCCID: 00:01:87:0F:97:8B + 2026-04-29T14:40:35.720169+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: No session_id found or not equal to the id from the preceding v2g session. Generating random session id. + 2026-04-29T14:40:35.720169+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Created new session with id 0x9079111121431940848 + 2026-04-29T14:40:35.725579+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G SupportedAppProtocolRes + 2026-04-29T14:40:35.770725+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G SessionSetupReq + 2026-04-29T14:40:35.856733+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G SessionSetupRes + 2026-04-29T14:40:35.915128+0200 chargesomCARE03 manager[2750]: [WARN] iso15118_charge :: PnC is not allowed without TLS-communication. Correcting value to '1' (ExternalPayment) + 2026-04-29T14:40:35.917660+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G ServiceDiscoveryReq + 2026-04-29T14:40:36.052925+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G ServiceDiscoveryRes + 2026-04-29T14:40:36.121459+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: SelectedPaymentOption: ExternalPayment + 2026-04-29T14:40:36.145121+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G PaymentServiceSelectionReq + 2026-04-29T14:40:36.220660+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G PaymentServiceSelectionRes + 2026-04-29T14:40:36.373414+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G AuthorizationReq + 2026-04-29T14:40:36.425496+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G AuthorizationRes + 2026-04-29T14:40:36.533923+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G AuthorizationReq + 2026-04-29T14:40:36.633361+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G AuthorizationRes + 2026-04-29T14:40:36.737969+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Parameter-phase started + 2026-04-29T14:40:36.737969+0200 chargesomCARE03 manager[2750]: [INFO] iso15118_charge :: Selected energy transfer mode: DC_extended + 2026-04-29T14:40:36.765666+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: Received EV maximum limits: { + 2026-04-29T14:40:36.765666+0200 chargesomCARE03 manager[2712]: "dc_ev_maximum_current_limit": 5.0, + 2026-04-29T14:40:36.765666+0200 chargesomCARE03 manager[2712]: "dc_ev_maximum_power_limit": 1100.0, + 2026-04-29T14:40:36.765666+0200 chargesomCARE03 manager[2712]: "dc_ev_maximum_voltage_limit": 228.0 + 2026-04-29T14:40:36.765666+0200 chargesomCARE03 manager[2712]: } + 2026-04-29T14:40:36.765666+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: CAR ISO V2G ChargeParameterDiscoveryReq + 2026-04-29T14:40:36.835806+0200 chargesomCARE03 manager[2712]: [INFO] connector:EvseM :: EVSE ISO V2G ChargeParameterDiscoveryRes Congratulations! You have successfully established a charging session with the EVerest charging stack and the Charge SOM. Now you are prepared to start your own charging project and From 2f5e71b51f5896c55a0279a1eac86c27eecaddf2 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Wed, 29 Apr 2026 15:34:35 +0200 Subject: [PATCH 02/14] Add guidance on protecting TLS and Plug & Charge private keys Signed-off-by: Fabian Hartung --- docs/source/troubleshooting.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index b5d59b6..5e27e6e 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -187,6 +187,15 @@ Please use your development environment to set up your configuration file. Alter editor. +How should TLS or Plug & Charge private keys be protected? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For TLS and especially Plug & Charge, private keys should be protected according to the requirements of the +certificate authority or certificate management system. In many production environments, this means using +hardware-backed key storage such as a TPM, HSM, or comparable technology. +Charge SOM already includes a TPM and is therefore suitable for the secure storage of private keys. + + Does EVerest on Charge SOM support ISO 15118-20 yet? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From 97347c84f18074a1673cd8309b22ecd65aae03ab Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Wed, 29 Apr 2026 16:04:14 +0200 Subject: [PATCH 03/14] Update subproject commit reference in includes Signed-off-by: Fabian Hartung --- includes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes b/includes index fe996a7..987d6d3 160000 --- a/includes +++ b/includes @@ -1 +1 @@ -Subproject commit fe996a74ef7d1b963754e604adf1dec9bae2200f +Subproject commit 987d6d3af686a441fcb746774b9a9513b38fb180 From 5df708823c64219d0a89de76bd237afec5411224 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Thu, 30 Apr 2026 07:17:18 +0200 Subject: [PATCH 04/14] Fix GitHub links Signed-off-by: Fabian Hartung docs: fix GitHub link for evse_board_support in EVerest documentation Signed-off-by: Fabian Hartung --- docs/source/everest_charging_stack.rst | 6 +++--- docs/source/troubleshooting.rst | 18 ++++++++---------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/docs/source/everest_charging_stack.rst b/docs/source/everest_charging_stack.rst index 578fcc8..1b43cc5 100644 --- a/docs/source/everest_charging_stack.rst +++ b/docs/source/everest_charging_stack.rst @@ -25,14 +25,14 @@ An overview of the EVerest modules is shown in the next section. .. include:: ../../includes/everest_overview_of_everest_modules.inc -**DCSupplySimulator** (`view on GitHub `__) +**DCSupplySimulator** (`view on GitHub `__) This module simulates a DC power supply device. **CbChargeSOMDriver** (`view on GitHub `__) -This is the Hardware Abstraction Layer (HAL) for Charge SOM in EVerest. It implements -the `evse_board_support `_ +This is the Hardware Abstraction Layer (HAL) for the Charge SOM in EVerest. It implements +the `evse_board_support `_ interface, enabling communication with the :code:`EvseManager` and control of the board. The EVerest community often refers to these HAL modules as BSPs, such as MicroMegaWattBSP and PhyVersoBSP. This module is essential for controlling the Charge SOM. diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index 5e27e6e..1080286 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -36,8 +36,8 @@ I want to control EVerest via CAN, how can I achieve this? Currently there is no such EVerest module available, you will need to implement it on your own. -But at least there is are `DC power supply modules `_ -and a `library `_, +But at least there is are `DC power supply modules `_ +and a `library `_, which uses the CAN interface. This might help as a starting point. @@ -213,11 +213,9 @@ How do I set up OCPP 2.0.1 on Charge SOM with EVerest? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To support OCPP 2.0.1, the EVerest OCPP201 module must be integrated into the EVerest configuration. -This module uses the `libocpp library `_ to implement the OCPP 2.0.1 -protocol. -The `OCPP201 module documentation `_ -already contains some information about the module parameters, the provided and required interfaces, -and the initial creation of the OCPP 2.0.1 database. +The `OCPP 2.0.1 and 2.1 tutorial `_ +already contains information about the module parameters, the provided and required interfaces, +and the initial creation of the OCPP database. The most important points are summarised here: @@ -237,7 +235,7 @@ The most important points are summarised here: first start of EVerest. The database is stored the `DeviceModelDatabasePath`. 6. The component config files are stored in the `DeviceModelConfigPath`. Component config files are used to initialize or update the device model database. To update a component config file, just - place a `component config file `_ + place a `component config file `_ in the same directory structure in the DeviceModelConfigPath and change the values accordingly. Important keys of the component config files are: @@ -246,7 +244,7 @@ The most important points are summarised here: - `standardized/SecurityCtrlr.json: SecurityCtrlrIdentity`: In "attributes" adapt the "value" key to configure the SecurityCtrlrIdentity. It is the Charging Station identity. For further information about the device model initialization, please refer to the - `libocpp documentation `_. + `libocpp documentation `_. I tried to compile chargebyte's Hardware EVerest Modules, but it fails to build. How can I fix this? @@ -264,7 +262,7 @@ I would like to implement a custom Modbus device in EVerest. Where should I star ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ EVerest already has a module which takes care of Modbus communication. Please have a look at -`SerialCommHub `_, +`SerialCommHub `_, and let your module interact with this module via the `serial_communication_hub` interface. .. _contact: From 13c814e3997c93916516862a25038a50198b20df Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Thu, 30 Apr 2026 07:34:15 +0200 Subject: [PATCH 05/14] docs: fix wording in EVerest documentation Signed-off-by: Fabian Hartung --- docs/source/everest_charging_stack.rst | 2 +- docs/source/troubleshooting.rst | 43 +++++++++++++------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/docs/source/everest_charging_stack.rst b/docs/source/everest_charging_stack.rst index 1b43cc5..02d7b86 100644 --- a/docs/source/everest_charging_stack.rst +++ b/docs/source/everest_charging_stack.rst @@ -16,7 +16,7 @@ The use case described in this configuration file includes the following: * DC charging mode * No TLS (Transport Layer Security) enabled for HLC (High Level Communication) -* 3 phase, 16A fuse limit +* 3-phase, 16 A fuse limit * Simulation of the IMD (Insulation Monitoring Device) * Simulation of the DC Supply Device * Energy management via JSON-RPC API diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index 1080286..d81f81d 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -12,14 +12,14 @@ Frequently Asked Questions Does the Charge SOM have a CE certification? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Currently, the Charge SOM doesn't have any certification yet. +Currently, the Charge SOM does not have CE certification yet. -Does the Charge SOM have Wifi support? -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Does the Charge SOM have Wi-Fi support? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The Charge SOM doesn't have builtin Wifi support, but it provides suitable -interfaces (SDIO / USB 2.0 ) via its connectors. For instance the Charge SOM +The Charge SOM does not have built-in Wi-Fi support, but it provides suitable +interfaces (SDIO / USB 2.0) via its connectors. For instance, the Charge SOM Single Channel DC Carrier Board provides a mini PCIe connector, which is connected to USB. @@ -34,11 +34,11 @@ The Charge SOM hardware is not designed to be used as an EV simulator. Please re I want to control EVerest via CAN, how can I achieve this? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Currently there is no such EVerest module available, you will need to implement it on your own. +Currently, no such EVerest module is available, so you will need to implement it yourself. -But at least there is are `DC power supply modules `_ +However, there are at least `DC power supply modules `_ and a `library `_, -which uses the CAN interface. This might help as a starting point. +both of which use the CAN interface. This might help as a starting point. How can I access the GPIOs under Linux? @@ -52,7 +52,7 @@ settings via libgpiod is not yet implemented, so it needs to be done via device My application depends on libgpiod but requires GPIO chip and line, how can I figure them out? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For such applications which doesn't support GPIO line names, you can use the following: +For applications that do not support GPIO line names, you can use the following: .. code-block:: console @@ -62,7 +62,7 @@ For such applications which doesn't support GPIO line names, you can use the fol gpio-519 ( |int ) in lo IRQ ... -The GPIO line is calculated as following: +The GPIO line is calculated as follows: .. code-block:: @@ -74,10 +74,10 @@ The GPIO line is calculated as following: What is the difference between CHSTOP_IN and SAFETY_ESTOPx? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The signal CHSTOP_IN is connected to the i.MX93 SoC and could be used to gracefully stop the charging process. So it is not designed -for timing critical use cases. Currently there is no EVerest module, which is able to handle this signal. This work is pending. +The signal CHSTOP_IN is connected to the i.MX93 SoC and can be used to gracefully stop the charging process. It is not designed +for time-critical use cases. Currently, there is no EVerest module that can handle this signal. This work is pending. -In order to realize realtime emergency stop behavior use the SAFETY_ESTOPx signals, which are connected to the safety processor. +To implement real-time emergency stop behavior, use the SAFETY_ESTOPx signals, which are connected to the safety processor. Is there a Linux command to check for connection related CAN issues? @@ -182,7 +182,8 @@ The device tree sources of the Charge SOM are divided into multiple layers: How can I access the EVerest admin panel on Charge SOM? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Currently, the Charge SOM does not have integrated the `EVerest admin panel `_ +Currently, the Charge SOM does not have the `EVerest admin panel `_ +integrated. Please use your development environment to set up your configuration file. Alternatively, you can use a plain text editor. @@ -232,7 +233,7 @@ The most important points are summarised here: RAUC image. 4. The `CoreDatabasePath` is used, among other things, to store OCPP transaction data. 5. The OCPP 2.0.1 device model initialization is done automatically by the OCPP201 module after the - first start of EVerest. The database is stored the `DeviceModelDatabasePath`. + first start of EVerest. The database is stored at the `DeviceModelDatabasePath`. 6. The component config files are stored in the `DeviceModelConfigPath`. Component config files are used to initialize or update the device model database. To update a component config file, just place a `component config file `_ @@ -250,19 +251,19 @@ The most important points are summarised here: I tried to compile chargebyte's Hardware EVerest Modules, but it fails to build. How can I fix this? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The EVerest mainline development is very dynamic and doesn't guarantee any -stable API along the EVerest modules. So after almost every EVerest release, -chargebyte needs to adapt their modules to the latest API changes. +The EVerest mainline development is very dynamic and does not guarantee +stable APIs across EVerest modules. Therefore, after almost every EVerest release, +chargebyte needs to adapt its modules to the latest API changes. Please have a look at the `compatibility matrix `_ -to see which EVerest release works with which chargebyte EVerest Modules release. +to see which EVerest release works with which chargebyte EVerest modules release. I would like to implement a custom Modbus device in EVerest. Where should I start? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -EVerest already has a module which takes care of Modbus communication. Please have a look at -`SerialCommHub `_, +EVerest already has a module that takes care of Modbus communication. Please have a look at +`SerialCommHub `_ and let your module interact with this module via the `serial_communication_hub` interface. .. _contact: From 34462ac16cbe26e1e75aed2cedf91a42b794145a Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Mon, 4 May 2026 14:51:14 +0200 Subject: [PATCH 06/14] docs: improve readability and formatting in multiple documentation files Signed-off-by: Fabian Hartung --- docs/source/carrierboard_development.rst | 30 ++++++++--------- docs/source/everest_bsp.rst | 6 ++-- docs/source/firmware.rst | 7 +++- docs/source/getting_started.rst | 4 ++- docs/source/introduction.rst | 29 ++++++++++++----- .../safety_controller_parameterization.rst | 17 ++++++---- docs/source/safety_protocol.rst | 32 ++++++++++++------- docs/source/troubleshooting.rst | 11 ++++--- 8 files changed, 85 insertions(+), 51 deletions(-) diff --git a/docs/source/carrierboard_development.rst b/docs/source/carrierboard_development.rst index 81232cd..0b52021 100644 --- a/docs/source/carrierboard_development.rst +++ b/docs/source/carrierboard_development.rst @@ -116,9 +116,9 @@ thus can be loaded and used without damaging the system. The signature can be cr using e.g. ``openssl cms …`` and thus creating a *detached* signature of the binary DT overlay file. To keep the DT overlay signature small, the certificate could be *not* included in this signature (and thus not stored -inside the EEPROM), but to verify this signature, accessing the signing certificate must then be possible (e.g. placed in -and loaded from the root filesystem). This raises other topics, so chargebyte's start point is to include it as -a complete X.509 signature in the EEPROM even if this requires a larger EEPROM type. +inside the EEPROM), but to verify this signature, accessing the signing certificate must then be possible +(e.g. placed in and loaded from the root filesystem). This raises other topics, so chargebyte's start point is +to include it as a complete X.509 signature in the EEPROM even if this requires a larger EEPROM type. Such a signature can be created for example using the following command line: @@ -129,12 +129,12 @@ Such a signature can be created for example using the following command line: It is possible to re-use an existing Public-Key Infrastructure which is already used for signing the firmware update files. -Once a matching Device Tree overlay and the corresponding signature are available, the EEPROM content needs to be created -using the helper tool ``cb-dt-eeprom`` which is included in -chargebyte's Github space: https://github.com/chargebyte/cb-eeprom-utils +Once a matching Device Tree overlay and the corresponding signature are available, the EEPROM content needs +to be created using the helper tool ``cb-dt-eeprom`` which is included in chargebyte's Github space: +https://github.com/chargebyte/cb-eeprom-utils -An example invocation for the carrier board which is the base for chargebyte's Charge Control V looks for example like follows. -The example uses the typical chargebyte board revision number and a chargebyte order code which was assigned to this carrier board type. +An example invocation for the carrier board used as the base for chargebyte's Charge Control V is shown below. +It uses the typical chargebyte board revision number and an order code assigned to this carrier board type. .. code-block:: shell @@ -149,10 +149,10 @@ For a random customer, this might look like this (here with a randomly chosen ve During carrier board manufacturing, it is assumed that writing the EEPROM is done via an external programmer which is out-of-scope for this documentation. -But during the development phase, it might be necessary to exchange the EEPROM content and/or rewrite it for testing purpose. -Then using an external programmer is cumbersome. Better and simpler is to write the created binary EEPROM image file -into the EEPROM directly from the Charge SOM hooked up to such a carrier board. The following command can be used -via SSH and/or Debug UART: +But during the development phase, it might be necessary to exchange the EEPROM content and/or rewrite it for +testing purpose. Then using an external programmer is cumbersome. Better and simpler is to write the +created binary EEPROM image file into the EEPROM directly from the Charge SOM hooked up to such a carrier +board. The following command can be used via SSH and/or Debug UART: .. code-block:: shell @@ -160,9 +160,9 @@ via SSH and/or Debug UART: Even so, it's still a complex process and long round trip. So it is possible to directly place such Device Tree overlay files in the root filesystem of the firmware in the ``/boot`` directory. -Loading of such files can be controlled with the U-Boot environment variable ``overlays``. This variable can hold a whitespace -separated list of filenames (basename of the file, i.e. without ``/boot`` prefix) which are loaded and merged -in order *after* the base Device Tree file (given via ``fdtfile`` environment variable) is loaded. +Loading of such files can be controlled with the U-Boot environment variable ``overlays``. This variable can +hold a whitespace separated list of filenames (basename of the file, i.e. without ``/boot`` prefix) which are +loaded and merged in order *after* the base Device Tree file (given via ``fdtfile`` environment variable) is loaded. This approach can also be used for a custom carrier board when the EEPROM approach does not fit. Here is a summary of related U-Boot environment variables: diff --git a/docs/source/everest_bsp.rst b/docs/source/everest_bsp.rst index 26e592f..a6acf0f 100644 --- a/docs/source/everest_bsp.rst +++ b/docs/source/everest_bsp.rst @@ -3,9 +3,9 @@ EVerest Board Support Package Module ------------------------------------ -chargebyte developed a comprehensive hardware abstraction module (HAL, or also called BSP module - board support package) -for EVerest charging stack to support the Charge SOM platform. The module is called ``CbChargeSOMDriver`` and is -available in chargebyte's public EVerest repository as open-source code: +chargebyte developed a comprehensive hardware abstraction module (HAL, or also called BSP module - board +support package) for EVerest charging stack to support the Charge SOM platform. The module is called +``CbChargeSOMDriver`` and is available in chargebyte's public EVerest repository as open-source code: https://github.com/chargebyte/everest-chargebyte/tree/main/modules/CbChargeSOMDriver This module already implements the required communication protocol to interact with the safety controller. diff --git a/docs/source/firmware.rst b/docs/source/firmware.rst index fb86ec6..6b4ff3a 100644 --- a/docs/source/firmware.rst +++ b/docs/source/firmware.rst @@ -6,7 +6,12 @@ Partitioning ------------ -The internal eMMC storage of a chargebyte device is divided into several partitions to support two independent systems: system A and system B. This setup enables firmware updates to run in the background while the device continues normal charging operations. Once the update is complete, the system can switch to the updated version with a reboot of the device. Additionally, this approach supports a rollback mechanism in case of update failures. In other words, during a firmware update, the active root file system switches from A to B (or vice versa), leaving the other partition available for rollback if needed. +The internal eMMC storage of a chargebyte device is divided into several partitions to support two independent +systems: system A and system B. This setup enables firmware updates to run in the background while the device +continues normal charging operations. Once the update is complete, the system can switch to the updated version +with a reboot of the device. Additionally, this approach supports a rollback mechanism in case of update failures. +In other words, during a firmware update, the active root file system switches from A to B (or vice versa), +leaving the other partition available for rollback if needed. .. list-table:: eMMC Partitioning :header-rows: 1 diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst index 383f079..a1a910f 100644 --- a/docs/source/getting_started.rst +++ b/docs/source/getting_started.rst @@ -20,9 +20,11 @@ The following hardware components are required to set up the basic DC charger: - Charge SOM Evaluation Kit - 12 V DC Power Supply - Ethernet cable for SSH connection or USB to serial adapter for serial connection -- DIN70121 or ISO15118-2 EV simulator (e.g. `Charge Module S Evaluation board `_. ) +- DIN70121 or ISO15118-2 EV simulator, for example the `Charge Module S Evaluation board`_ - Wiring material +.. _Charge Module S Evaluation board: https://chargebyte.com/controllers-and-modules/evaluation-tools/charge-module-s-evaluation-board + Hardware Overview ^^^^^^^^^^^^^^^^^ diff --git a/docs/source/introduction.rst b/docs/source/introduction.rst index 2d64e1a..f2eff49 100644 --- a/docs/source/introduction.rst +++ b/docs/source/introduction.rst @@ -4,28 +4,41 @@ Introduction ============ Thank you very much for your trust. We are happy that you have chosen our Charge SOM platform to -operate your eMobility charging solution. This User Guide will help you to understand all features and will help to configure them properly to fit your requirements best. +operate your eMobility charging solution. This User Guide will help you to understand all features +and will help to configure them properly to fit your requirements best. Product Description ------------------- -The Charge SOM is an IEC 61851 and ISO 15118 compliant charging controller for Electric Vehicle Supply Equipment (EVSE). For communication between EVSE and PEV it supports Control Pilot, Proximity Pilot as well as PWM signaling including Green PHY communication. +The Charge SOM is an IEC 61851 and ISO 15118 compliant charging controller for Electric Vehicle +Supply Equipment (EVSE). For communication between EVSE and PEV it supports Control Pilot, +Proximity Pilot as well as PWM signaling including Green PHY communication. -The Charge SOM is a future-proof powerhouse based on i.MX93 with universal compatibility, advanced safety features and lots of options for customization. -It is intended to be used as the core component of stationary Electric Vehicle Supply Equipment like HPCs or any DC or Bi-directional charging unit. +The Charge SOM is a future-proof powerhouse based on i.MX93 with universal compatibility, advanced +safety features and lots of options for customization. +It is intended to be used as the core component of stationary Electric Vehicle Supply Equipment like +HPCs or any DC or Bi-directional charging unit. -The board is also capable of controlling and sensing different kind of actuators and sensors like power modules, high-voltage contactors, isolation monitoring equipment, temperature sensors and much more through its rich digital I/Os. +The board is also capable of controlling and sensing different kind of actuators and sensors like +power modules, high-voltage contactors, isolation monitoring equipment, temperature sensors and much +more through its rich digital I/Os. -The Charge SOM is provided with a Linux-Yocto operating system. The installed software is based on EVerest, an open source software stack for EV charging infrastructure. EVerest represents a modular architecture that allows scalability according to your needs e.g., adding your own application as an EVerest module. For more information about EVerest, please visit the +The Charge SOM is provided with a Linux-Yocto operating system. The installed software is based on +EVerest, an open source software stack for EV charging infrastructure. EVerest represents a modular +architecture that allows scalability according to your needs e.g., adding your own application as an +EVerest module. For more information about EVerest, please visit the `EVerest GitHub project `_. Product Features ---------------- -* Works with CCS1 / CCS2 and NACS according to IEC 61851, SAE J1772 [#]_, and ISO 15118, ensuring smooth communication with all types of EVs. -* A dedicated co-processor monitors and controls safety-critical components like CP and PP signals, DC circuit breakers, E-Stops and other vital components in real-time according to functional safety standard IEC 61508 +* Works with CCS1 / CCS2 and NACS according to IEC 61851, SAE J1772 [#]_, and ISO 15118, ensuring + smooth communication with all types of EVs. +* A dedicated co-processor monitors and controls safety-critical components like CP and PP signals, + DC circuit breakers, E-Stops and other vital components in real-time according to functional safety + standard IEC 61508 * PT1000 plug temperature monitoring * Plug-and-Play with the popular `EVerest charging stack `_ * Well maintained, open Yocto BSP diff --git a/docs/source/safety_controller_parameterization.rst b/docs/source/safety_controller_parameterization.rst index 60145fb..4559ec8 100644 --- a/docs/source/safety_controller_parameterization.rst +++ b/docs/source/safety_controller_parameterization.rst @@ -55,9 +55,10 @@ To make the handling of parameters human-friendly, all parameters can be put tog .. important:: - The YAML file is required to be encoded in UTF-8. While most parameters are ASCII only, temperature thresholds require - trailing `°C` suffix which has a special UTF-8 encoding sequence. This might be displayed incorrectly in the editor - when editing on the device itself and/or finally stored wrong in the YAML file. + The YAML file is required to be encoded in UTF-8. While most parameters are ASCII only, temperature + thresholds require trailing `°C` suffix which has a special UTF-8 encoding sequence. This might be + displayed incorrectly in the editor when editing on the device itself and/or finally stored wrong + in the YAML file. The same applies to the resistance offsets in Ohm. When unsure, adapt/create the YAML file on your Linux host system with your preferred editor and transfer it to the board via Ethernet network (e.g. SCP/SFTP). @@ -87,7 +88,7 @@ be a single temperature threshold, the special token `disabled` or it is a key-v The accepted value range for `abort-temperature` is -80.0 °C to 200.0 °C and it is stored with one decimal digit. -The range for `resistance-offset` is -32.0 Ω ... 32.0 Ω and these values are stored with three decimal digits internally. +The range for `resistance-offset` is -32.0 Ω ... 32.0 Ω, stored with three decimal digits internally. Contactor and Contactor Feedback Configuration @@ -139,8 +140,9 @@ Possible configuration values are: Installing a Parameter Block ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Once the YAML file is created and fits your charger setup, it is required to convert it to a binary parameter block file. -In the mentioned repository, there exists a tool `ra-pb-create` to generate such a binary file from the YAML file. +Once the YAML file is created and fits your charger setup, it is required to convert it to a binary parameter +block file. In the mentioned repository, there exists a tool `ra-pb-create` to generate such a binary file from +the YAML file. The following session transcript shows how the install procedure works: .. code-block:: sh @@ -183,7 +185,8 @@ The following session transcript shows how the install procedure works: Checking the Installed Parameter Block ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To check which settings are currently used by the safety controller firmware, it is possible to read back the parameter block. +To check which settings are currently used by the safety controller firmware, it is possible to read back the +parameter block. .. code-block:: sh diff --git a/docs/source/safety_protocol.rst b/docs/source/safety_protocol.rst index c7f612e..f8e8d79 100644 --- a/docs/source/safety_protocol.rst +++ b/docs/source/safety_protocol.rst @@ -5,7 +5,8 @@ ChargeControl1 **Length**: 8 bytes -**Description**: This message shall be sent from the host processor to the safety controller to control the peripherals connected to the safety controller. +**Description**: This message shall be sent from the host processor to the safety controller to +control the peripherals connected to the safety controller. **Senders**: chargeSOM_HostController @@ -30,7 +31,8 @@ ChargeControl1 - 0.1 - 0 - % - - Duty cycle between 0.0 and 100.0%. Values above 100.0% are set as 100%. Only valid if the signal CC_PWM_Active is 1 + - Duty cycle between 0.0 and 100.0%. Values above 100.0% are set as 100%. Only valid if the + signal CC_PWM_Active is 1 * - CC_PWM_Active - 7 - 1 @@ -39,7 +41,8 @@ ChargeControl1 - 1 - 0 - - - This flag indicates if the PWM should be activated. At a value of 0, the CP level is also 0V. At a value of 1, the CP level is dependant of the duty cycle + - This flag indicates if the PWM should be activated. At a value of 0, the CP level is also + 0V. At a value of 1, the CP level is dependant of the duty cycle * - CC_Contactor1State - 16 - 1 @@ -48,7 +51,8 @@ ChargeControl1 - 1 - 0 - - - Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C. + - Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed + contactor. The contactors are only closed if the system has no errors and is in state C. * - CC_Contactor2State - 17 - 1 @@ -57,7 +61,8 @@ ChargeControl1 - 1 - 0 - - - Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C. + - Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed + contactor. The contactors are only closed if the system has no errors and is in state C. * - CC_Contactor3State - 18 - 1 @@ -66,7 +71,8 @@ ChargeControl1 - 1 - 0 - - - Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed contactor. The contactors are only closed if the system has no errors and is in state C. + - Request to close the contactor state. A value of 0 means open contactor, a value of 1 means closed + contactor. The contactors are only closed if the system has no errors and is in state C. **Bitfield Layout** @@ -110,7 +116,8 @@ ChargeState1 **Length**: 8 bytes -**Description**: This message shall be sent from safety controller to host processor for indicating the state of the charging session as well as the state of connected peripherals. +**Description**: This message shall be sent from safety controller to host processor for indicating +the state of the charging session as well as the state of connected peripherals. **Senders**: chargeSOM_SafetyController @@ -225,7 +232,8 @@ ChargeState1 - 1 - 0 - - - This is the state of the HV ready or State C output. This output is high, if the chargeSOM dont see any errors and CP is at state C. Otherwise it is low. + - This is the state of the HV ready or State C output. This output is high, if the chargeSOM + dont see any errors and CP is at state C. Otherwise it is low. * - CS_Estop1ChargingAbort - 41 - 2 @@ -410,7 +418,8 @@ PT1000State **Length**: 8 bytes -**Description**: This message shall be sent from safety controller to host processor for indicating the state of the connected temperature sensors +**Description**: This message shall be sent from safety controller to host processor for indicating +the state of the connected temperature sensors **Senders**: chargeSOM_SafetyController @@ -655,7 +664,8 @@ FirmwareVersion - 1 - 0 - - - This firmware can be used for several products with minor changes in the build process. The platform type describes the used platform + - This firmware can be used for several products with minor changes in the build process. The platform + type describes the used platform * - ApplicationType - 39 - 8 @@ -1047,5 +1057,3 @@ ChipInfo 7 | | | | | | | | | +---+---+---+---+---+---+---+---+ - - diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index d81f81d..fd9f8ef 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -74,10 +74,12 @@ The GPIO line is calculated as follows: What is the difference between CHSTOP_IN and SAFETY_ESTOPx? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The signal CHSTOP_IN is connected to the i.MX93 SoC and can be used to gracefully stop the charging process. It is not designed -for time-critical use cases. Currently, there is no EVerest module that can handle this signal. This work is pending. +The signal CHSTOP_IN is connected to the i.MX93 SoC and can be used to gracefully stop the charging process. +It is not designed for time-critical use cases. Currently, there is no EVerest module that can handle this +signal. This work is pending. -To implement real-time emergency stop behavior, use the SAFETY_ESTOPx signals, which are connected to the safety processor. +To implement real-time emergency stop behavior, use the SAFETY_ESTOPx signals, which are connected to the safety +processor. Is there a Linux command to check for connection related CAN issues? @@ -213,7 +215,8 @@ Implementation gaps may exist, particularly in the case of BPT (bidirectional po How do I set up OCPP 2.0.1 on Charge SOM with EVerest? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To support OCPP 2.0.1, the EVerest OCPP201 module must be integrated into the EVerest configuration. +To support OCPP 2.0.1, the EVerest :ref:`OCPP201 ` module must be integrated into +the EVerest configuration. The `OCPP 2.0.1 and 2.1 tutorial `_ already contains information about the module parameters, the provided and required interfaces, and the initial creation of the OCPP database. From ceaecb344ce4ca8ec6f4e1ca5c465e23b0ff7e50 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Mon, 4 May 2026 15:10:33 +0200 Subject: [PATCH 07/14] docs: update bsp-only-dc.yaml configuration Signed-off-by: Fabian Hartung --- docs/source/_static/files/bsp-only-dc.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/source/_static/files/bsp-only-dc.yaml b/docs/source/_static/files/bsp-only-dc.yaml index 004dcb1..20c390f 100644 --- a/docs/source/_static/files/bsp-only-dc.yaml +++ b/docs/source/_static/files/bsp-only-dc.yaml @@ -20,9 +20,6 @@ active_modules: evse_manager: - module_id: connector implementation_id: evse - energy_listener: - - module_id: connector - implementation_id: energy_grid evse_energy_sink: - module_id: grid_connection_point implementation_id: external_limits @@ -61,7 +58,7 @@ active_modules: - module_id: bsp implementation_id: evse_board_support slac: - - module_id: evse_slac + - module_id: slac implementation_id: main powersupply_DC: - module_id: powersupply_dc @@ -110,7 +107,7 @@ active_modules: module: EvseSecurity config_module: private_key_password: "123456" - evse_slac: + slac: module: EvseSlac config_implementation: main: From 373fe9922e2c109702820a96a1c1e226949f2498 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Wed, 6 May 2026 08:51:20 +0200 Subject: [PATCH 08/14] docs: fix GitHub links in documentation Signed-off-by: Fabian Hartung --- docs/source/everest_charging_stack.rst | 2 +- docs/source/troubleshooting.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/everest_charging_stack.rst b/docs/source/everest_charging_stack.rst index 02d7b86..355a75f 100644 --- a/docs/source/everest_charging_stack.rst +++ b/docs/source/everest_charging_stack.rst @@ -32,7 +32,7 @@ This module simulates a DC power supply device. **CbChargeSOMDriver** (`view on GitHub `__) This is the Hardware Abstraction Layer (HAL) for the Charge SOM in EVerest. It implements -the `evse_board_support `_ +the `evse_board_support `_ interface, enabling communication with the :code:`EvseManager` and control of the board. The EVerest community often refers to these HAL modules as BSPs, such as MicroMegaWattBSP and PhyVersoBSP. This module is essential for controlling the Charge SOM. diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index fd9f8ef..85aa29d 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -184,7 +184,7 @@ The device tree sources of the Charge SOM are divided into multiple layers: How can I access the EVerest admin panel on Charge SOM? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Currently, the Charge SOM does not have the `EVerest admin panel `_ +Currently, the Charge SOM does not have the `EVerest admin panel `_ integrated. Please use your development environment to set up your configuration file. Alternatively, you can use a plain text editor. From 48917d72b5afdb6e0c18b64e3d00ac2bce7b6ca6 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Wed, 6 May 2026 09:28:15 +0200 Subject: [PATCH 09/14] docs: enhance troubleshooting section with TPM usage details for secure key storage Signed-off-by: Fabian Hartung --- docs/source/troubleshooting.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/troubleshooting.rst b/docs/source/troubleshooting.rst index 85aa29d..158fce2 100644 --- a/docs/source/troubleshooting.rst +++ b/docs/source/troubleshooting.rst @@ -196,8 +196,10 @@ How should TLS or Plug & Charge private keys be protected? For TLS and especially Plug & Charge, private keys should be protected according to the requirements of the certificate authority or certificate management system. In many production environments, this means using hardware-backed key storage such as a TPM, HSM, or comparable technology. -Charge SOM already includes a TPM and is therefore suitable for the secure storage of private keys. +Charge SOM includes an integrated TPM to support secure storage of TLS and Plug & Charge private keys. +For more information about using the TPM and implementing a production Plug & Charge scenario, please +contact chargebyte support so that key storage and certificate handling can be aligned with your requirements. Does EVerest on Charge SOM support ISO 15118-20 yet? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From 214df2c68937ad601edb0265599a7a538ac30643 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Wed, 6 May 2026 10:58:52 +0200 Subject: [PATCH 10/14] fix: prevent stretched words in documentation tables - Overrides justified paragraph alignment inside table headers and cells. - Fixes stretched words in multi-line table headers, such as German Eichrecht Supported, where German and Eichrecht were spaced too far apart. Signed-off-by: Fabian Hartung --- docs/source/_static/css/cb_theme.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/source/_static/css/cb_theme.css b/docs/source/_static/css/cb_theme.css index 9266f45..7a8e707 100644 --- a/docs/source/_static/css/cb_theme.css +++ b/docs/source/_static/css/cb_theme.css @@ -202,6 +202,11 @@ dl.field-list>dt { background-color: #1c354f !important; } +.document .bodywrapper table.docutils th p, +.document .bodywrapper table.docutils td p { + text-align: left !important; +} + .document .bodywrapper .note { background-color: #1c354f !important; } From 76c82c285b12858694ce4e9774a495ed73074086 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Thu, 7 May 2026 11:07:55 +0200 Subject: [PATCH 11/14] style: improve docs theme styling Signed-off-by: Fabian Hartung --- docs/source/_static/css/cb_theme.css | 95 +++++++++++++++++++++++++--- 1 file changed, 86 insertions(+), 9 deletions(-) diff --git a/docs/source/_static/css/cb_theme.css b/docs/source/_static/css/cb_theme.css index 7a8e707..9d5e7a5 100644 --- a/docs/source/_static/css/cb_theme.css +++ b/docs/source/_static/css/cb_theme.css @@ -30,8 +30,28 @@ body { line-height: 1.5 !important; } -.document .bodywrapper .body p span.caption-text { - font-size: 30px !important; +.document .bodywrapper .body p.caption, +.document .bodywrapper .body caption, +.document .bodywrapper .body span.caption-number, +.document .bodywrapper .body span.caption-text { + font-size: 18px !important; + line-height: 1.5 !important; +} + +.document .bodywrapper .body figure figcaption, +.document .bodywrapper .body figure figcaption p, +.document .bodywrapper .body div.figure p.caption { + text-align: center !important; +} + +.document .bodywrapper .body figure figcaption, +.document .bodywrapper .body div.figure p.caption { + padding-top: 0.1em !important; +} + +.document .bodywrapper .body figure figcaption p, +.document .bodywrapper .body div.figure p.caption { + margin-top: 0.1em !important; } .document .bodywrapper .body p strong, @@ -63,14 +83,32 @@ body { } .document .sphinxsidebar .sphinxsidebarwrapper h4 { - font-size: 18px !important; + color: #fff !important; + font-size: 16px !important; font-family: "Open Sans", sans-serif !important; + font-weight: 700 !important; + margin: 16px 0 2px !important; + text-transform: capitalize !important; +} + +.document .sphinxsidebar .sphinxsidebarwrapper h4::after { + content: ":" !important; } .document .sphinxsidebar .sphinxsidebarwrapper .topless a { + display: inline !important; font-size: 18px !important; font-family: "Open Sans", sans-serif !important; color: #fff !important; + line-height: 1.25 !important; + padding: 0 !important; + background-color: transparent !important; + text-decoration: none !important; + transition: color 0.15s ease !important; +} + +.document .sphinxsidebar .sphinxsidebarwrapper .topless a:hover { + color: #ff8200 !important; } .document .sphinxsidebar .sphinxsidebarwrapper p { @@ -102,7 +140,7 @@ body { font-size: 36px !important; font-family: "Open Sans", sans-serif !important; font-weight: 600 !important; - margin: 0 !important; + margin: 1.5em 0 0.5em !important; padding: 0 !important; border-bottom: none !important; background-color: #111827 !important; @@ -113,7 +151,7 @@ body { font-size: 30px !important; font-family: "Open Sans", sans-serif !important; font-weight: 600 !important; - margin: 0 !important; + margin: 1.25em 0 0.45em !important; padding: 0 !important; background-color: #111827 !important; color: #fff !important; @@ -124,13 +162,21 @@ body { font-size: 26px !important; font-family: "Open Sans", sans-serif !important; font-weight: 600 !important; - margin: 0 !important; + margin: 1em 0 0.4em !important; padding: 0 !important; background-color: #ff8200 !important; border-bottom: none !important; color: #fff !important; } +.document .bodywrapper section>h2+section>h3 { + margin-top: 0.2em !important; +} + +.document .bodywrapper section>h3+section>h4 { + margin-top: 0.2em !important; +} + .document .bodywrapper .highlight { background: #153659 !important; } @@ -177,14 +223,17 @@ body { } .related ul li.right a { + display: inline-block; text-transform: capitalize; padding: 10px 15px; background-color: #ff8200; border-radius: 5px; + transition: background-color 0.15s ease, transform 0.15s ease; } .related ul li.right a:hover { - padding: 11px 17px; + background-color: #ff9a26; + transform: scale(1.05); text-decoration: none; } @@ -207,6 +256,31 @@ dl.field-list>dt { text-align: left !important; } +.document .bodywrapper .footnote:target { + background-color: transparent !important; +} + +.document .bodywrapper .footnote-reference, +.document .bodywrapper .footnote .label, +.document .bodywrapper .footnote .label a, +.document .bodywrapper .footnote .fn-bracket { + color: #ff8200 !important; +} + +.document .bodywrapper .footnote, +.document .bodywrapper .footnote p { + line-height: 1.2 !important; +} + +.document .bodywrapper .footnote { + margin: 0.2em 0 !important; +} + +.document .bodywrapper .footnote p { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + .document .bodywrapper .note { background-color: #1c354f !important; } @@ -259,8 +333,11 @@ dl.field-list>dt { font-size: 17px !important; } - .document .bodywrapper .body p span.caption-text { - font-size: 22px !important; + .document .bodywrapper .body p.caption, + .document .bodywrapper .body caption, + .document .bodywrapper .body span.caption-number, + .document .bodywrapper .body span.caption-text { + font-size: 14px !important; } .document .bodywrapper .body .toctree-wrapper.compound ul li.toctree-l1 a { From 81fb7a24d34fcb0a8d4ecfb45e0b63281ead4b44 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Thu, 7 May 2026 11:08:08 +0200 Subject: [PATCH 12/14] style: add colons to numbered docs captions Signed-off-by: Fabian Hartung --- docs/source/conf.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 47148ac..284d43b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -19,6 +19,12 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] numfig = True +numfig_format = { + 'figure': 'Fig. %s:', + 'table': 'Table %s:', + 'code-block': 'Listing %s', + 'section': 'Section %s', +} jinja2_contexts = { 'target-info': { From c1a9300893d923e11285ba6611a1805828ee098d Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Thu, 7 May 2026 11:08:23 +0200 Subject: [PATCH 13/14] docs: replace raw HTML captions with Sphinx captions Signed-off-by: Fabian Hartung --- docs/source/firmware.rst | 9 ++------- docs/source/getting_started.rst | 22 +++++++++------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/docs/source/firmware.rst b/docs/source/firmware.rst index 6b4ff3a..2d1065a 100644 --- a/docs/source/firmware.rst +++ b/docs/source/firmware.rst @@ -39,15 +39,10 @@ leaving the other partition available for rollback if needed. - 256 MB - Logging file system B (/var/log) -.. image:: ../../includes/_static/images/mountpoints.svg +.. figure:: ../../includes/_static/images/mountpoints.svg :alt: Filesystem-Mountpoints :align: center -.. adding a center-aligned caption for the image -.. raw:: html - -
- Filesystem Mountpoints -
+ Filesystem Mountpoints .. include:: ../../includes/firmware_programming.inc diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst index a1a910f..73136b1 100644 --- a/docs/source/getting_started.rst +++ b/docs/source/getting_started.rst @@ -76,19 +76,15 @@ Now you can connect the Charge SOM Evaluation Kit (X24) to the power supply. The carrier board provide information about the current status of the boot process. The following table shows the meaning of the LED status indicators: -.. raw:: html - -
- Table: Charge SOM Evaluation Kit LED Status Indicators -
- -+--------------------------+---------------------------------+--------------------------------------+ -| State | LED indication | Behavior | -+==========================+=================================+======================================+ -| Boot process running | LED (red) | periodic blinking for approx. 4 sec. | -+--------------------------+---------------------------------+--------------------------------------+ -| Operating system running | LED (red) | rhythmic blinking | -+--------------------------+---------------------------------+--------------------------------------+ +.. table:: Charge SOM Evaluation Kit LED Status Indicators + + +--------------------------+---------------------------------+--------------------------------------+ + | State | LED indication | Behavior | + +==========================+=================================+======================================+ + | Boot process running | LED (red) | periodic blinking for approx. 4 sec. | + +--------------------------+---------------------------------+--------------------------------------+ + | Operating system running | LED (red) | rhythmic blinking | + +--------------------------+---------------------------------+--------------------------------------+ .. include:: ../../includes/connecting.inc From 74d38c692352715c1650e5fdceeba77585254482 Mon Sep 17 00:00:00 2001 From: Fabian Hartung Date: Thu, 7 May 2026 11:21:09 +0200 Subject: [PATCH 14/14] includes: update git submodule commit reference Signed-off-by: Fabian Hartung --- includes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes b/includes index 987d6d3..082c2ed 160000 --- a/includes +++ b/includes @@ -1 +1 @@ -Subproject commit 987d6d3af686a441fcb746774b9a9513b38fb180 +Subproject commit 082c2ed7d388433855a95ad5e84e64df3df8a1db