Skip to content

Fix powermeter error and warning handling; add support in BUPowermeter for temperature display#2015

Merged
florinmihut merged 1 commit into
mainfrom
fix/lem_temp_warning_and_error
Apr 2, 2026
Merged

Fix powermeter error and warning handling; add support in BUPowermeter for temperature display#2015
florinmihut merged 1 commit into
mainfrom
fix/lem_temp_warning_and_error

Conversation

@florinmihut
Copy link
Copy Markdown
Contributor

@florinmihut florinmihut commented Mar 27, 2026

Describe your changes

Fix error and warning handling; add support in bringup for temp display

Issue ticket number and link

https://pionix.atlassian.net/jira/servicedesk/projects/ASPD/queues/custom/470/ASPD-70

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have made corresponding changes to the documentation
  • I read the contribution documentation and made sure that my changes meet its requirements

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
@everest-ci-backport-pr-app
Copy link
Copy Markdown

Only merged pull requests can be backported.

1 similar comment
@everest-ci-backport-pr-app
Copy link
Copy Markdown

Only merged pull requests can be backported.

@florinmihut florinmihut added this pull request to the merge queue Mar 31, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks Mar 31, 2026
@barsnick barsnick changed the title Fix error and warning handling; add support in bringup for temp display Fix powermeter error and warning handling; add support in BUPowermeter for temperature display Apr 2, 2026
@florinmihut florinmihut added this pull request to the merge queue Apr 2, 2026
Merged via the queue into main with commit 913166a Apr 2, 2026
17 checks passed
@florinmihut florinmihut deleted the fix/lem_temp_warning_and_error branch April 2, 2026 11:24
github-actions Bot pushed a commit that referenced this pull request Apr 2, 2026
…ay (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
(cherry picked from commit 913166a)
@everest-ci-backport-pr-app
Copy link
Copy Markdown

Pietfried pushed a commit that referenced this pull request Apr 7, 2026
…ay (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
(cherry picked from commit 913166a)
barsnick pushed a commit that referenced this pull request Apr 9, 2026
…ay (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
(cherry picked from commit 913166a)
hikinggrass added a commit that referenced this pull request Apr 9, 2026
more const ref usage and less copies

Use get_uuid from helpers in framework and ensure that the random generator isn't recreated (but still accessed in a thread safe manner) all the time

Use iterators instead of contains + at

const ref in call as well

only use at once in handle_var_message not every time in the loop

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Compile fix -> return via &

remove another unnecessary copy from EnergyNode

And another 2 copies removed

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Add missing cmake file

Add potentially faster date string parsing function

Fix call to slow date parsing function to prevent infinite recursion

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

const& EnergyFlowRequest

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix cmake of eveerest helpers

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

EvseManager const& fixes

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix ChargerTest const refs

Add ability to disable EVLOG_ verbose and debug at compile time

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

API optimazation

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Make EVerest API JSON indent configurable via

-DEVEREST_API_JSON_INDENT=-1   will disable indentations
positive values create the requested indentation levels

Directly return nlohmann:json dump without going over a temp object

EVerest API deserialize, directly return json::parse()

Add tests for existing check_topic_matches function

Replace check_topic_matches with an optimized version

Use string_view in enum conversion

Optimize on_mqtt_message by using string_view where possible, and using move

Also remove variables that are no longer used

Use find_if in subscribe_energy_flow request

Fix optimized version of publish_complete_energy_object to only publish the object once

string_view instead of const std::string&

Avoid inefficient lops in generated types

const ref for struct parameters

Use .get for cmds

Redzce temporary vars in call cmd generation

Directly construct and pass Parameters without relying on a temporary variable

Add enum_to_string_view conversion function

more const ref usage

use move with listener

Use make_unique and add Message ctor with string_view parameters

Fix vector to_json

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

fix(EvseManager,DC): Set default current ramp to 25A/s (#1999)

Signed-off-by: Cornelius Claussen <cc@pionix.de>

feat(IsoMux): Make proxy connect target configurable via proxy_device (#2004)

* Add a new  config option to IsoMux. When set, the proxy connects to the IPv6 link-local address of the given interface instead of the hardcoded ::1 loopback; Defaults to empty string to preserve existing behaviour.
* Required for parallel ISO 15118 test execution where multiple IsoMux instances would otherwise conflict on the shared loopback.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

feat(ocpp): inject TariffFallbackMessage into AuthorizeResponse and TotalCostFallbackMessage at offline transaction end (#1989)

* When the CSMS provides no personalMessage in the AuthorizeResponse, inject the configured TariffFallbackMessage (or OfflineTariffFallbackMessage when offline) into IdTokenInfo.personalMessage, with additional language variants in customData.personalMessageExtra (California Pricing Spec 4.3.4, I04.FR.01).
* When a transaction ends while offline, publish TotalCostFallbackMessage via the tariff_message_callback since no CSMS totalCost response will arrive (I05.FR.02).
* Extended Integrate Tariff and Cost documentation

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(iso15118): TC_SECC_CMN_VTB_SDP_004 (#1983)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

add TSC notes 2026-03-26 (#2013)

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Update index.rst (#2014)

reflect new TSC roles and election results

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

feat(mqtt_util): Add client_id support (#2011)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

Bazel: comply with the 10Gb github cache limit (#2023)

* Bazel: tighten fallback keys

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* strip everything to reduce cache

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

feat(cmake): add selective library inclusion for EDM consumers (#2021)

Allow external projects to pull only specific everest-core libraries
via EDM/CPM without building the full module framework. This is
useful for projects that only need lightweight libraries like liblog,
everest-util, everest-io, or heavier standalone ones like libocpp
and libiso15118.

Three new CMake options control this behavior:

- EVEREST_LIBS_ONLY: skip modules, applications, config, and code
  generation entirely — only build libraries under lib/everest/
- EVEREST_INCLUDE_LIBS: semicolon-separated allowlist of libraries
  to build, with automatic transitive dependency resolution
- EVEREST_EXCLUDE_LIBS: semicolon-separated blocklist of libraries
  to skip

Example usage from an external project's dependencies.yaml:

  everest-core:
    git: https://github.com/EVerest/everest-core.git
    git_tag: 2026.02.0
    options:
      - "EVEREST_LIBS_ONLY ON"
      - "EVEREST_INCLUDE_LIBS log;util;io"

The internal dependency map is defined in a single file
(cmake/ev-lib-dependencies.cmake) which also serves as the master
list of library subdirectories. Adding a new library only requires
updating this one file.

All options default to empty/OFF, preserving existing behavior.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(smoke-tests): Added a sleep to test_iso15118_dc_session_error_before_session in order to allow EvseManager to process error ; Added rerun anotation for test cases that include ev side pausing. (#2031)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

refactor(framework): Change MQTTAbstraction to pure virtual function (#2022)

* Change allows for easier testability of components that use MQTTAbstraction
* Added mock class for MQTTAbstraction that can be used for testing
* Adjusted downstream usage of MQTTAbstraction

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Bazel: Extend the everest_env.bzl to handle arbitrary test binaries (#2018)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

fix(framework): log MQTT messages to level "verbose" (#2029)

In level "debug", these messages were flooding the logs, keeping you from
being able to debug actual issues.

Fixes #2028

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Bazel: Prepere support for running smoke_tests.py as integration test (#2020)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

docs(contribution-guideline): Clarify contributor responsibilities in contribution guideline (#1955)

* docs(contribution): clarify contributor responsibilities in contribution guidelines; add link to LF policy on AI-Generated open source contributions

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* add sentence for human contribution

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* Specifically mentioning human contributor

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

---------

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Fix error and warning handling; add support in bringup for temp display (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>

Bazel: build io library and dependencies (#2040)

Since the arm toolchains in the ci are quite old, do not build the "can" and "raw" portions of the io library for these targets

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix integrated yocto source fetching (#2025)

If the main repo is not called "everest-core" this could cause issues.
Now uses the basename of the checked-out repo for flexibility

Fixes #2024

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Manager: add  to the cli (#2036)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

Bazel: Update python dependencies (#2032)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

RpcApi: normalize signed external limits to absolute values (#2005)

Fix external limit handling so negative values are mapped like the API
module and discharge limits are transferred correctly

Signed-off-by: Fabian Hartung <fabian.hartung@chargebyte.com>

Rust: Add `everestrs_main` proc macro (#2038)

* Rust: Add  proc macro

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* rename to everesrs_derive

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix bazel build

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

workaround for bazel compile issues on armv7

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
hikinggrass added a commit that referenced this pull request Apr 9, 2026
Use the mosquitto based everest::io::mqtt in the framework MQTT abstraction code

Make everest::io position independent

Use mosquitto_connect_async when no bind_address is used in mosquitto_cpp wrapper

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Pass MQTTSettings directly to MQTTAbstractionImpl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Set bind address from config if present

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Ignore errors that are already raised

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Add Message ctor and use make_unique

Use topic available at subscribe time instead of receive time to better handle wildcards

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Default to empty MQTT bind address

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Register missing disconnect callback

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Only print bind address in log if actually set

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Also start mosquitto with IPv6 support in ci

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Use disconnect event and subscribe/unsubscribe via add_action (this makes the operation threadsafe since it will run in the event loop)

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Build io lib with bazel

Since it depends on mosquitto but the upstream recipe seems to have the wrong visibility set, patch this

Depend on io lib in framework to fix bazel build

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Address review comment

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

rust/cmake: fix mismatch in cxxbridge version

cxxbridge has recently been upgraded to 1.0.194 but not in the CMake support

This leads to build errors when building the Rust support with CMake

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Downgrade mosquitto version used in bazel build to the one used by cmake (2.0.22)

2.1.x seems to cause connectivity issues in our wrapper (needs investigating)

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Add retry capability to mqtt.get()

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Refactor get_module_config to also use mqtt.get() with retry

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Revert changes to mosquitto_cpp.cpp

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

ci: add backport workflow (#1937)

pin runner version

restrict codeowners for backport workflow

update contributing docs

Update docs/source/project/contributing.rst

Apply suggestion from @Pietfried

Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Signed-off-by: Wire Jansen <mail@nzbr.de>

feat(EnergyNode): Enhancement to set per phase A limit when only W is set (#1942)

We can now configure the energy node to convert the total W power to a
current per phase limit. This is only useful for top level energy nodes.

Furthermore, we've replaced the use of the mutex for the monitor.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

docs(release-and-versioning): Add link to RpcAPI and add note to exclude Dummy and Simulation modules from public API (#1954)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Co-authored-by: Christoph Burandt <christoph.burandt@pionix.de>

fix(config): drop obsolete keys (#1924)

The config keys `max_current_import_A` and `max_current_export_A` were
recently removed (in #1736), but
were still to be found in configs introduced in newer pull requests.

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Fix(libiso15118): CMake finds edm again for local build (#1959)

Signed-off-by: Sebastian Lukas <sebastian.lukas@pionix.de>

EvseManager: use a cached value for voltage requests to power supply (#1770)

The standard ISO15518-20 [V2G20-2183] describes the provided EV target
voltage and current in ChargeLoopReq from EV.
The voltage and current shall never be send in the same message.
In the current implementation, the voltage and current is only sent
to powersupplyDC when voltage is greater than 0.
But then the voltage is only sent at the beginning of the chargeloop
(and in other states).
This prevents successful charging when the EV does not update the voltage
later.
Let's use a cached, latest non-zero value in this case.

Signed-off-by: Martin Lukas <martin.lukas@chargebyte.com>
Signed-off-by: Michael Heimpold <michael.heimpold@chargebyte.com>
Co-authored-by: Michael Heimpold <michael.heimpold@chargebyte.com>

rust/cmake: fix mismatch in cxxbridge version (#1947)

cxxbridge has recently been upgraded to 1.0.194 but not in the CMake support

This leads to build errors when building the Rust support with CMake

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

fix(backport-label): use runtime GitHub App token for backport workflow (#1964)

Generate a short-lived installation token via actions/create-github-app-token instead of passing a static secret, which caused Bad Credentials errors

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Andreas Heinrich <andreas.heinrich@rwth-aachen.de>

Bazel: Add cross compilation toolchains for armv7 and aarch64 (#1895)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

io: compatibility with older kernels

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Remove superfluous header that would create a compile error in musl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Make PACKET_IGNORE_OUTGOING compile time configurable

Set this define for cross-compile targets in bazel

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Set len8_dlc to 0 based on review

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

bazel: Use our openssl recipe in mosquitto recipe

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

bazel: remove obsolete mqtt-c recipe

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Remove mqtt_bind_address again since it is not needed

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Turn connecting message back into debug

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

mqtt broker port is a 16 bit unsigned int, not just an int

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Reduce scope of mqtt_get_config_retries

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

use constexpr

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Address review comments

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Move QOS definition into Everest namespace and add converter to io QoS

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

CMake: export standalone util lib (#1975)

Potentially fixes #1968.

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

feat(evse_manager): add hlc_session_failed variable with protocol-agnostic failure reason (#1939)

Introduces HlcSessionFailedReasonEnum and HlcSessionFailedEvent to report
ISO 15118-2 HLC session failures independently of the EvseManager state
machine. EvseV2G maps the last V2G message at disconnect to a reason and
publishes it via the ISO15118_charger interface; IsoMux forwards it from
the active protocol; EvseManager attaches the session UUID and re-publishes
on the evse_manager interface.

Adds smoke tests covering ProtocolNegotiationFailed, AuthorizationFailed,
ChargingParametersNotAccepted, and EnergyTransferSetupFailed (cable check
fault). Extends plug_in_ac_iso/plug_in_dc_iso with an optional payment_type
argument to support the new test scenarios.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Co-authored-by: Christoph Burandt <christoph.burandt@pionix.de>

exclude author emails that match github noreply addresses (#1977)

Signed-off-by: Andreas Heinrich <andreas.heinrich@rwth-aachen.de>

feat: add OCPP 1.6 to 2.x configuration key mapping (#1771)

Introduce mapping layer to reuse OCPP 2.x device model storage for
OCPP 1.6 implementations. Adds OCPP16MavericksCtrlr component for
1.6 configuration keys without direct 2.x equivalents.

feat: add mapping between OCPP V2 and V16 configuration keys
fix: remove redundant file
fix: compile & incorporate PR comments
fix: add write only parameter so that AuthorizationKey can be retrieved
feat: added checking for behind the scenes supported feature profiles
fix: addressed PR #1771 additional comments

SecurityProfile, AuthorizationKey and CentralSystemURI
now in OCPP16LegacyCtrlr

Signed-off-by: James Chapman <james.chapman@pionix.de>

fix(EvseManager): prevent delayed auth response from bypassing external cancellation (#1963)

A delayed authorization response arriving after cancel_transaction() could restore flag_authorized, preventing the state machine from routing to Finished and leaving the transaction open after a remote stop. Introduce flag_externally_cancelled to block authorize() from overriding the cancellation.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(ISO15118): Use max power capabilities in PMaxSchedule for ISO15118-2 and DIN for DC. The behavior is in line with AC. (#1979)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

bazel: fix mosquitto dependency on openssl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

yocto/kirkstone: add openssl patch for newer versions (#1917)

The patch originally provided in lib/staging/tls and lib/everest/tls was for
openssl-3.0.8, and no longer applies to openssl starting with version
3.0.19, which is currently used by poky kirkstone (post 4.0.33).

Convert the original SRC_URI from a URL pointing to a git blob to an actual patch file.
Create a rebased patch file for 3.0.19.

Apply the patches conditionally, depending on the openssl version.

Restrict the bbappend to openssl versions 3.0.x via file name scheme, as the
patch does not apply to 3.y with y >= 1 either (which kirkstone will likely
never package).

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

fix(EvseManager): Setting the powersupply target is not jumping anymore if charging in d20 dynamic mode. (#1980)

Add smoke-tests: Parameterize DC ISO15118 smoke tests so that they run with ISO15118-2 and ISO15118-20

Signed-off-by: Sebastian Lukas <sebastian.lukas@pionix.de>
Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Co-authored-by: Piet Gömpel <pietgoempel@gmail.com>

feat(framework): retries for mqtt get() (#1960)

* Add retry capability to mqtt.get()

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

* Refactor get_module_config to also use mqtt.get() with retry

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

---------

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Skip scrollbar in bottom for ocpp log and add line break in message characterisation (#1950)

Signed-off-by: Matthias Suess <matthias.suess@mail.nidec.com>

dummyTokenProviderManual: Add MQTT topic configuration for token provider (#1908)

When no mqtt_topic: provided, the module will subscribe to "everest_api/<module_id>/cmd/provide" by default.
If mqtt_topic: is provided, the module will subscribe to that topic instead.

Signed-off-by: ThatsLucas <lucasmailpro9@gmail.com>
Co-authored-by: Christoph Burandt <christoph.burandt@pionix.de>

fix(evsev2g): Flaky test by fixing threads (#1988)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(ocpp): respect CertSigningWaitMinimum in cert signing retry (#1982)

The certificate signing retry logic had two spec violations
(A02.FR.17, A02.FR.18):

- A hardcoded 250s floor overrode CertSigningWaitMinimum via
  std::max(), making configured values below 250s ineffective.
  Reduced to a 10s safety floor to prevent rapid retries from
  misconfiguration while respecting legitimate values.

- Exponential backoff started at 2^1 instead of 2^0, doubling
  the first wait. Fixed exponent to csr_attempt-1 so the first
  wait equals CertSigningWaitMinimum per spec.

Also extends the timer test stub to capture timeout intervals
and adds unit tests verifying the backoff sequence and the 10s
floor.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(websocket): prevent segfault during lws_context_destroy reconnection callbacks (#1971)

When a websocket connection fails, lws_context_destroy fires cleanup
callbacks (e.g. CLIENT_CLOSED, EVENT_WAIT_CANCELLED) while the
connection state is being torn down. These callbacks call
lws_callback_on_writable with a null wsi (set to nullptr in
reset_connection_data), causing a SIGSEGV.

Add an atomic 'resetting' flag to ConnectionData that suppresses all
callbacks in callback_minimal during context destruction. Also guard
push_deferred_callback against enqueuing during shutdown.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

added yocto specifications in CODEOWNERS file + barsnick for EvseV2G (#1966)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>

fix(message_queue): protect BootNotification from being dropped during queue overflow (#1987)

When the websocket connection is delayed, transaction messages accumulate
and trigger drop_messages_from_normal_message_queue(). Since BootNotification
sits at the front of the normal queue (push_front'd at startup), it gets
dropped first — deadlocking the queue because transaction messages with
stall_until_accepted=true wait for registration that never completes.

Skip BootNotification in the drop loop using is_boot_notification_message(),
and add a break guard in check_queue_sizes() to prevent infinite looping
when only protected messages remain in the normal queue.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(EvseManager,DC): Set default current ramp to 25A/s (#1999)

Signed-off-by: Cornelius Claussen <cc@pionix.de>

feat(IsoMux): Make proxy connect target configurable via proxy_device (#2004)

* Add a new  config option to IsoMux. When set, the proxy connects to the IPv6 link-local address of the given interface instead of the hardcoded ::1 loopback; Defaults to empty string to preserve existing behaviour.
* Required for parallel ISO 15118 test execution where multiple IsoMux instances would otherwise conflict on the shared loopback.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

feat(ocpp): inject TariffFallbackMessage into AuthorizeResponse and TotalCostFallbackMessage at offline transaction end (#1989)

* When the CSMS provides no personalMessage in the AuthorizeResponse, inject the configured TariffFallbackMessage (or OfflineTariffFallbackMessage when offline) into IdTokenInfo.personalMessage, with additional language variants in customData.personalMessageExtra (California Pricing Spec 4.3.4, I04.FR.01).
* When a transaction ends while offline, publish TotalCostFallbackMessage via the tariff_message_callback since no CSMS totalCost response will arrive (I05.FR.02).
* Extended Integrate Tariff and Cost documentation

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(iso15118): TC_SECC_CMN_VTB_SDP_004 (#1983)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

add TSC notes 2026-03-26 (#2013)

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Update index.rst (#2014)

reflect new TSC roles and election results

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Add sync timer so loop_misc() of the MQTT client is called periodically

This ensures that, if there is no MQTT traffic during the keep alive period, a PING is still sent to the broker

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

feat(mqtt_util): Add client_id support (#2011)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

Bazel: comply with the 10Gb github cache limit (#2023)

* Bazel: tighten fallback keys

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* strip everything to reduce cache

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

feat(cmake): add selective library inclusion for EDM consumers (#2021)

Allow external projects to pull only specific everest-core libraries
via EDM/CPM without building the full module framework. This is
useful for projects that only need lightweight libraries like liblog,
everest-util, everest-io, or heavier standalone ones like libocpp
and libiso15118.

Three new CMake options control this behavior:

- EVEREST_LIBS_ONLY: skip modules, applications, config, and code
  generation entirely — only build libraries under lib/everest/
- EVEREST_INCLUDE_LIBS: semicolon-separated allowlist of libraries
  to build, with automatic transitive dependency resolution
- EVEREST_EXCLUDE_LIBS: semicolon-separated blocklist of libraries
  to skip

Example usage from an external project's dependencies.yaml:

  everest-core:
    git: https://github.com/EVerest/everest-core.git
    git_tag: 2026.02.0
    options:
      - "EVEREST_LIBS_ONLY ON"
      - "EVEREST_INCLUDE_LIBS log;util;io"

The internal dependency map is defined in a single file
(cmake/ev-lib-dependencies.cmake) which also serves as the master
list of library subdirectories. Adding a new library only requires
updating this one file.

All options default to empty/OFF, preserving existing behavior.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(smoke-tests): Added a sleep to test_iso15118_dc_session_error_before_session in order to allow EvseManager to process error ; Added rerun anotation for test cases that include ev side pausing. (#2031)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Remove MQTT-C from framework dependencies.yaml

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

MQTT-C is only a dependency of the fusion_charger_lib power_stack_mock

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

refactor(framework): Change MQTTAbstraction to pure virtual function (#2022)

* Change allows for easier testability of components that use MQTTAbstraction
* Added mock class for MQTTAbstraction that can be used for testing
* Adjusted downstream usage of MQTTAbstraction

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Bazel: Extend the everest_env.bzl to handle arbitrary test binaries (#2018)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

fix(framework): log MQTT messages to level "verbose" (#2029)

In level "debug", these messages were flooding the logs, keeping you from
being able to debug actual issues.

Fixes #2028

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Bazel: Prepere support for running smoke_tests.py as integration test (#2020)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

docs(contribution-guideline): Clarify contributor responsibilities in contribution guideline (#1955)

* docs(contribution): clarify contributor responsibilities in contribution guidelines; add link to LF policy on AI-Generated open source contributions

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* add sentence for human contribution

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* Specifically mentioning human contributor

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

---------

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Fix error and warning handling; add support in bringup for temp display (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>

Bazel: build io library and dependencies (#2040)

Since the arm toolchains in the ci are quite old, do not build the "can" and "raw" portions of the io library for these targets

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

remove duplicate mosquitto entry in Bazel extension.bzl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Do not convert MQTT broker port between string an uint, just keep it at the provided uint

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Revert "io: compatibility with older kernels"

This reverts commit 775508b.

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

revert can and tun_tap changes

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix integrated yocto source fetching (#2025)

If the main repo is not called "everest-core" this could cause issues.
Now uses the basename of the checked-out repo for flexibility

Fixes #2024

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Manager: add  to the cli (#2036)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

Bazel: Update python dependencies (#2032)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

RpcApi: normalize signed external limits to absolute values (#2005)

Fix external limit handling so negative values are mapped like the API
module and discharge limits are transferred correctly

Signed-off-by: Fabian Hartung <fabian.hartung@chargebyte.com>

Rust: Add `everestrs_main` proc macro (#2038)

* Rust: Add  proc macro

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* rename to everesrs_derive

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

everest::lib::io::mqtt_client add periodic call to loop_misc

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

FIX missing pings

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>
hikinggrass added a commit that referenced this pull request Apr 9, 2026
more const ref usage and less copies

Use get_uuid from helpers in framework and ensure that the random generator isn't recreated (but still accessed in a thread safe manner) all the time

Use iterators instead of contains + at

const ref in call as well

only use at once in handle_var_message not every time in the loop

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Compile fix -> return via &

remove another unnecessary copy from EnergyNode

And another 2 copies removed

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Add missing cmake file

Add potentially faster date string parsing function

Fix call to slow date parsing function to prevent infinite recursion

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

const& EnergyFlowRequest

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix cmake of eveerest helpers

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

EvseManager const& fixes

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix ChargerTest const refs

Add ability to disable EVLOG_ verbose and debug at compile time

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

API optimazation

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Make EVerest API JSON indent configurable via

-DEVEREST_API_JSON_INDENT=-1   will disable indentations
positive values create the requested indentation levels

Directly return nlohmann:json dump without going over a temp object

EVerest API deserialize, directly return json::parse()

Add tests for existing check_topic_matches function

Replace check_topic_matches with an optimized version

Use string_view in enum conversion

Optimize on_mqtt_message by using string_view where possible, and using move

Also remove variables that are no longer used

Use find_if in subscribe_energy_flow request

Fix optimized version of publish_complete_energy_object to only publish the object once

string_view instead of const std::string&

Avoid inefficient lops in generated types

const ref for struct parameters

Use .get for cmds

Redzce temporary vars in call cmd generation

Directly construct and pass Parameters without relying on a temporary variable

Add enum_to_string_view conversion function

more const ref usage

use move with listener

Use make_unique and add Message ctor with string_view parameters

Fix vector to_json

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

fix(EvseManager,DC): Set default current ramp to 25A/s (#1999)

Signed-off-by: Cornelius Claussen <cc@pionix.de>

feat(IsoMux): Make proxy connect target configurable via proxy_device (#2004)

* Add a new  config option to IsoMux. When set, the proxy connects to the IPv6 link-local address of the given interface instead of the hardcoded ::1 loopback; Defaults to empty string to preserve existing behaviour.
* Required for parallel ISO 15118 test execution where multiple IsoMux instances would otherwise conflict on the shared loopback.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

feat(ocpp): inject TariffFallbackMessage into AuthorizeResponse and TotalCostFallbackMessage at offline transaction end (#1989)

* When the CSMS provides no personalMessage in the AuthorizeResponse, inject the configured TariffFallbackMessage (or OfflineTariffFallbackMessage when offline) into IdTokenInfo.personalMessage, with additional language variants in customData.personalMessageExtra (California Pricing Spec 4.3.4, I04.FR.01).
* When a transaction ends while offline, publish TotalCostFallbackMessage via the tariff_message_callback since no CSMS totalCost response will arrive (I05.FR.02).
* Extended Integrate Tariff and Cost documentation

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(iso15118): TC_SECC_CMN_VTB_SDP_004 (#1983)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

add TSC notes 2026-03-26 (#2013)

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Update index.rst (#2014)

reflect new TSC roles and election results

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

feat(mqtt_util): Add client_id support (#2011)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

Bazel: comply with the 10Gb github cache limit (#2023)

* Bazel: tighten fallback keys

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* strip everything to reduce cache

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

feat(cmake): add selective library inclusion for EDM consumers (#2021)

Allow external projects to pull only specific everest-core libraries
via EDM/CPM without building the full module framework. This is
useful for projects that only need lightweight libraries like liblog,
everest-util, everest-io, or heavier standalone ones like libocpp
and libiso15118.

Three new CMake options control this behavior:

- EVEREST_LIBS_ONLY: skip modules, applications, config, and code
  generation entirely — only build libraries under lib/everest/
- EVEREST_INCLUDE_LIBS: semicolon-separated allowlist of libraries
  to build, with automatic transitive dependency resolution
- EVEREST_EXCLUDE_LIBS: semicolon-separated blocklist of libraries
  to skip

Example usage from an external project's dependencies.yaml:

  everest-core:
    git: https://github.com/EVerest/everest-core.git
    git_tag: 2026.02.0
    options:
      - "EVEREST_LIBS_ONLY ON"
      - "EVEREST_INCLUDE_LIBS log;util;io"

The internal dependency map is defined in a single file
(cmake/ev-lib-dependencies.cmake) which also serves as the master
list of library subdirectories. Adding a new library only requires
updating this one file.

All options default to empty/OFF, preserving existing behavior.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(smoke-tests): Added a sleep to test_iso15118_dc_session_error_before_session in order to allow EvseManager to process error ; Added rerun anotation for test cases that include ev side pausing. (#2031)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

refactor(framework): Change MQTTAbstraction to pure virtual function (#2022)

* Change allows for easier testability of components that use MQTTAbstraction
* Added mock class for MQTTAbstraction that can be used for testing
* Adjusted downstream usage of MQTTAbstraction

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Bazel: Extend the everest_env.bzl to handle arbitrary test binaries (#2018)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

fix(framework): log MQTT messages to level "verbose" (#2029)

In level "debug", these messages were flooding the logs, keeping you from
being able to debug actual issues.

Fixes #2028

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Bazel: Prepere support for running smoke_tests.py as integration test (#2020)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

docs(contribution-guideline): Clarify contributor responsibilities in contribution guideline (#1955)

* docs(contribution): clarify contributor responsibilities in contribution guidelines; add link to LF policy on AI-Generated open source contributions

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* add sentence for human contribution

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* Specifically mentioning human contributor

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

---------

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Fix error and warning handling; add support in bringup for temp display (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>

Bazel: build io library and dependencies (#2040)

Since the arm toolchains in the ci are quite old, do not build the "can" and "raw" portions of the io library for these targets

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix integrated yocto source fetching (#2025)

If the main repo is not called "everest-core" this could cause issues.
Now uses the basename of the checked-out repo for flexibility

Fixes #2024

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Manager: add  to the cli (#2036)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

Bazel: Update python dependencies (#2032)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

RpcApi: normalize signed external limits to absolute values (#2005)

Fix external limit handling so negative values are mapped like the API
module and discharge limits are transferred correctly

Signed-off-by: Fabian Hartung <fabian.hartung@chargebyte.com>

Rust: Add `everestrs_main` proc macro (#2038)

* Rust: Add  proc macro

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* rename to everesrs_derive

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix bazel build

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

workaround for bazel compile issues on armv7

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
hikinggrass added a commit that referenced this pull request Apr 9, 2026
Use the mosquitto based everest::io::mqtt in the framework MQTT abstraction code

Make everest::io position independent

Use mosquitto_connect_async when no bind_address is used in mosquitto_cpp wrapper

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Pass MQTTSettings directly to MQTTAbstractionImpl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Set bind address from config if present

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Ignore errors that are already raised

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Add Message ctor and use make_unique

Use topic available at subscribe time instead of receive time to better handle wildcards

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Default to empty MQTT bind address

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Register missing disconnect callback

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Only print bind address in log if actually set

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Also start mosquitto with IPv6 support in ci

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Use disconnect event and subscribe/unsubscribe via add_action (this makes the operation threadsafe since it will run in the event loop)

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Build io lib with bazel

Since it depends on mosquitto but the upstream recipe seems to have the wrong visibility set, patch this

Depend on io lib in framework to fix bazel build

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Address review comment

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

rust/cmake: fix mismatch in cxxbridge version

cxxbridge has recently been upgraded to 1.0.194 but not in the CMake support

This leads to build errors when building the Rust support with CMake

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Downgrade mosquitto version used in bazel build to the one used by cmake (2.0.22)

2.1.x seems to cause connectivity issues in our wrapper (needs investigating)

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Add retry capability to mqtt.get()

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Refactor get_module_config to also use mqtt.get() with retry

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Revert changes to mosquitto_cpp.cpp

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

ci: add backport workflow (#1937)

pin runner version

restrict codeowners for backport workflow

update contributing docs

Update docs/source/project/contributing.rst

Apply suggestion from @Pietfried

Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Signed-off-by: Wire Jansen <mail@nzbr.de>

feat(EnergyNode): Enhancement to set per phase A limit when only W is set (#1942)

We can now configure the energy node to convert the total W power to a
current per phase limit. This is only useful for top level energy nodes.

Furthermore, we've replaced the use of the mutex for the monitor.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

docs(release-and-versioning): Add link to RpcAPI and add note to exclude Dummy and Simulation modules from public API (#1954)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Co-authored-by: Christoph Burandt <christoph.burandt@pionix.de>

fix(config): drop obsolete keys (#1924)

The config keys `max_current_import_A` and `max_current_export_A` were
recently removed (in #1736), but
were still to be found in configs introduced in newer pull requests.

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Fix(libiso15118): CMake finds edm again for local build (#1959)

Signed-off-by: Sebastian Lukas <sebastian.lukas@pionix.de>

EvseManager: use a cached value for voltage requests to power supply (#1770)

The standard ISO15518-20 [V2G20-2183] describes the provided EV target
voltage and current in ChargeLoopReq from EV.
The voltage and current shall never be send in the same message.
In the current implementation, the voltage and current is only sent
to powersupplyDC when voltage is greater than 0.
But then the voltage is only sent at the beginning of the chargeloop
(and in other states).
This prevents successful charging when the EV does not update the voltage
later.
Let's use a cached, latest non-zero value in this case.

Signed-off-by: Martin Lukas <martin.lukas@chargebyte.com>
Signed-off-by: Michael Heimpold <michael.heimpold@chargebyte.com>
Co-authored-by: Michael Heimpold <michael.heimpold@chargebyte.com>

rust/cmake: fix mismatch in cxxbridge version (#1947)

cxxbridge has recently been upgraded to 1.0.194 but not in the CMake support

This leads to build errors when building the Rust support with CMake

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

fix(backport-label): use runtime GitHub App token for backport workflow (#1964)

Generate a short-lived installation token via actions/create-github-app-token instead of passing a static secret, which caused Bad Credentials errors

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Andreas Heinrich <andreas.heinrich@rwth-aachen.de>

Bazel: Add cross compilation toolchains for armv7 and aarch64 (#1895)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

io: compatibility with older kernels

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Remove superfluous header that would create a compile error in musl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Make PACKET_IGNORE_OUTGOING compile time configurable

Set this define for cross-compile targets in bazel

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Set len8_dlc to 0 based on review

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

bazel: Use our openssl recipe in mosquitto recipe

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

bazel: remove obsolete mqtt-c recipe

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Remove mqtt_bind_address again since it is not needed

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Turn connecting message back into debug

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

mqtt broker port is a 16 bit unsigned int, not just an int

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Reduce scope of mqtt_get_config_retries

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

use constexpr

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Address review comments

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Move QOS definition into Everest namespace and add converter to io QoS

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

CMake: export standalone util lib (#1975)

Potentially fixes #1968.

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

feat(evse_manager): add hlc_session_failed variable with protocol-agnostic failure reason (#1939)

Introduces HlcSessionFailedReasonEnum and HlcSessionFailedEvent to report
ISO 15118-2 HLC session failures independently of the EvseManager state
machine. EvseV2G maps the last V2G message at disconnect to a reason and
publishes it via the ISO15118_charger interface; IsoMux forwards it from
the active protocol; EvseManager attaches the session UUID and re-publishes
on the evse_manager interface.

Adds smoke tests covering ProtocolNegotiationFailed, AuthorizationFailed,
ChargingParametersNotAccepted, and EnergyTransferSetupFailed (cable check
fault). Extends plug_in_ac_iso/plug_in_dc_iso with an optional payment_type
argument to support the new test scenarios.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Co-authored-by: Christoph Burandt <christoph.burandt@pionix.de>

exclude author emails that match github noreply addresses (#1977)

Signed-off-by: Andreas Heinrich <andreas.heinrich@rwth-aachen.de>

feat: add OCPP 1.6 to 2.x configuration key mapping (#1771)

Introduce mapping layer to reuse OCPP 2.x device model storage for
OCPP 1.6 implementations. Adds OCPP16MavericksCtrlr component for
1.6 configuration keys without direct 2.x equivalents.

feat: add mapping between OCPP V2 and V16 configuration keys
fix: remove redundant file
fix: compile & incorporate PR comments
fix: add write only parameter so that AuthorizationKey can be retrieved
feat: added checking for behind the scenes supported feature profiles
fix: addressed PR #1771 additional comments

SecurityProfile, AuthorizationKey and CentralSystemURI
now in OCPP16LegacyCtrlr

Signed-off-by: James Chapman <james.chapman@pionix.de>

fix(EvseManager): prevent delayed auth response from bypassing external cancellation (#1963)

A delayed authorization response arriving after cancel_transaction() could restore flag_authorized, preventing the state machine from routing to Finished and leaving the transaction open after a remote stop. Introduce flag_externally_cancelled to block authorize() from overriding the cancellation.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(ISO15118): Use max power capabilities in PMaxSchedule for ISO15118-2 and DIN for DC. The behavior is in line with AC. (#1979)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

bazel: fix mosquitto dependency on openssl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

yocto/kirkstone: add openssl patch for newer versions (#1917)

The patch originally provided in lib/staging/tls and lib/everest/tls was for
openssl-3.0.8, and no longer applies to openssl starting with version
3.0.19, which is currently used by poky kirkstone (post 4.0.33).

Convert the original SRC_URI from a URL pointing to a git blob to an actual patch file.
Create a rebased patch file for 3.0.19.

Apply the patches conditionally, depending on the openssl version.

Restrict the bbappend to openssl versions 3.0.x via file name scheme, as the
patch does not apply to 3.y with y >= 1 either (which kirkstone will likely
never package).

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

fix(EvseManager): Setting the powersupply target is not jumping anymore if charging in d20 dynamic mode. (#1980)

Add smoke-tests: Parameterize DC ISO15118 smoke tests so that they run with ISO15118-2 and ISO15118-20

Signed-off-by: Sebastian Lukas <sebastian.lukas@pionix.de>
Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Co-authored-by: Piet Gömpel <pietgoempel@gmail.com>

feat(framework): retries for mqtt get() (#1960)

* Add retry capability to mqtt.get()

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

* Refactor get_module_config to also use mqtt.get() with retry

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

---------

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Skip scrollbar in bottom for ocpp log and add line break in message characterisation (#1950)

Signed-off-by: Matthias Suess <matthias.suess@mail.nidec.com>

dummyTokenProviderManual: Add MQTT topic configuration for token provider (#1908)

When no mqtt_topic: provided, the module will subscribe to "everest_api/<module_id>/cmd/provide" by default.
If mqtt_topic: is provided, the module will subscribe to that topic instead.

Signed-off-by: ThatsLucas <lucasmailpro9@gmail.com>
Co-authored-by: Christoph Burandt <christoph.burandt@pionix.de>

fix(evsev2g): Flaky test by fixing threads (#1988)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(ocpp): respect CertSigningWaitMinimum in cert signing retry (#1982)

The certificate signing retry logic had two spec violations
(A02.FR.17, A02.FR.18):

- A hardcoded 250s floor overrode CertSigningWaitMinimum via
  std::max(), making configured values below 250s ineffective.
  Reduced to a 10s safety floor to prevent rapid retries from
  misconfiguration while respecting legitimate values.

- Exponential backoff started at 2^1 instead of 2^0, doubling
  the first wait. Fixed exponent to csr_attempt-1 so the first
  wait equals CertSigningWaitMinimum per spec.

Also extends the timer test stub to capture timeout intervals
and adds unit tests verifying the backoff sequence and the 10s
floor.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(websocket): prevent segfault during lws_context_destroy reconnection callbacks (#1971)

When a websocket connection fails, lws_context_destroy fires cleanup
callbacks (e.g. CLIENT_CLOSED, EVENT_WAIT_CANCELLED) while the
connection state is being torn down. These callbacks call
lws_callback_on_writable with a null wsi (set to nullptr in
reset_connection_data), causing a SIGSEGV.

Add an atomic 'resetting' flag to ConnectionData that suppresses all
callbacks in callback_minimal during context destruction. Also guard
push_deferred_callback against enqueuing during shutdown.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

added yocto specifications in CODEOWNERS file + barsnick for EvseV2G (#1966)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Signed-off-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>

fix(message_queue): protect BootNotification from being dropped during queue overflow (#1987)

When the websocket connection is delayed, transaction messages accumulate
and trigger drop_messages_from_normal_message_queue(). Since BootNotification
sits at the front of the normal queue (push_front'd at startup), it gets
dropped first — deadlocking the queue because transaction messages with
stall_until_accepted=true wait for registration that never completes.

Skip BootNotification in the drop loop using is_boot_notification_message(),
and add a break guard in check_queue_sizes() to prevent infinite looping
when only protected messages remain in the normal queue.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(EvseManager,DC): Set default current ramp to 25A/s (#1999)

Signed-off-by: Cornelius Claussen <cc@pionix.de>

feat(IsoMux): Make proxy connect target configurable via proxy_device (#2004)

* Add a new  config option to IsoMux. When set, the proxy connects to the IPv6 link-local address of the given interface instead of the hardcoded ::1 loopback; Defaults to empty string to preserve existing behaviour.
* Required for parallel ISO 15118 test execution where multiple IsoMux instances would otherwise conflict on the shared loopback.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

feat(ocpp): inject TariffFallbackMessage into AuthorizeResponse and TotalCostFallbackMessage at offline transaction end (#1989)

* When the CSMS provides no personalMessage in the AuthorizeResponse, inject the configured TariffFallbackMessage (or OfflineTariffFallbackMessage when offline) into IdTokenInfo.personalMessage, with additional language variants in customData.personalMessageExtra (California Pricing Spec 4.3.4, I04.FR.01).
* When a transaction ends while offline, publish TotalCostFallbackMessage via the tariff_message_callback since no CSMS totalCost response will arrive (I05.FR.02).
* Extended Integrate Tariff and Cost documentation

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(iso15118): TC_SECC_CMN_VTB_SDP_004 (#1983)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

add TSC notes 2026-03-26 (#2013)

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Update index.rst (#2014)

reflect new TSC roles and election results

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Add sync timer so loop_misc() of the MQTT client is called periodically

This ensures that, if there is no MQTT traffic during the keep alive period, a PING is still sent to the broker

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

feat(mqtt_util): Add client_id support (#2011)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

Bazel: comply with the 10Gb github cache limit (#2023)

* Bazel: tighten fallback keys

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* strip everything to reduce cache

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

feat(cmake): add selective library inclusion for EDM consumers (#2021)

Allow external projects to pull only specific everest-core libraries
via EDM/CPM without building the full module framework. This is
useful for projects that only need lightweight libraries like liblog,
everest-util, everest-io, or heavier standalone ones like libocpp
and libiso15118.

Three new CMake options control this behavior:

- EVEREST_LIBS_ONLY: skip modules, applications, config, and code
  generation entirely — only build libraries under lib/everest/
- EVEREST_INCLUDE_LIBS: semicolon-separated allowlist of libraries
  to build, with automatic transitive dependency resolution
- EVEREST_EXCLUDE_LIBS: semicolon-separated blocklist of libraries
  to skip

Example usage from an external project's dependencies.yaml:

  everest-core:
    git: https://github.com/EVerest/everest-core.git
    git_tag: 2026.02.0
    options:
      - "EVEREST_LIBS_ONLY ON"
      - "EVEREST_INCLUDE_LIBS log;util;io"

The internal dependency map is defined in a single file
(cmake/ev-lib-dependencies.cmake) which also serves as the master
list of library subdirectories. Adding a new library only requires
updating this one file.

All options default to empty/OFF, preserving existing behavior.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(smoke-tests): Added a sleep to test_iso15118_dc_session_error_before_session in order to allow EvseManager to process error ; Added rerun anotation for test cases that include ev side pausing. (#2031)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Remove MQTT-C from framework dependencies.yaml

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

MQTT-C is only a dependency of the fusion_charger_lib power_stack_mock

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

refactor(framework): Change MQTTAbstraction to pure virtual function (#2022)

* Change allows for easier testability of components that use MQTTAbstraction
* Added mock class for MQTTAbstraction that can be used for testing
* Adjusted downstream usage of MQTTAbstraction

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Bazel: Extend the everest_env.bzl to handle arbitrary test binaries (#2018)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

fix(framework): log MQTT messages to level "verbose" (#2029)

In level "debug", these messages were flooding the logs, keeping you from
being able to debug actual issues.

Fixes #2028

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Bazel: Prepere support for running smoke_tests.py as integration test (#2020)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

docs(contribution-guideline): Clarify contributor responsibilities in contribution guideline (#1955)

* docs(contribution): clarify contributor responsibilities in contribution guidelines; add link to LF policy on AI-Generated open source contributions

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* add sentence for human contribution

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* Specifically mentioning human contributor

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

---------

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Fix error and warning handling; add support in bringup for temp display (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>

Bazel: build io library and dependencies (#2040)

Since the arm toolchains in the ci are quite old, do not build the "can" and "raw" portions of the io library for these targets

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

remove duplicate mosquitto entry in Bazel extension.bzl

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Do not convert MQTT broker port between string an uint, just keep it at the provided uint

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Revert "io: compatibility with older kernels"

This reverts commit 775508b.

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

revert can and tun_tap changes

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix integrated yocto source fetching (#2025)

If the main repo is not called "everest-core" this could cause issues.
Now uses the basename of the checked-out repo for flexibility

Fixes #2024

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Manager: add  to the cli (#2036)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

Bazel: Update python dependencies (#2032)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

RpcApi: normalize signed external limits to absolute values (#2005)

Fix external limit handling so negative values are mapped like the API
module and discharge limits are transferred correctly

Signed-off-by: Fabian Hartung <fabian.hartung@chargebyte.com>

Rust: Add `everestrs_main` proc macro (#2038)

* Rust: Add  proc macro

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* rename to everesrs_derive

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

everest::lib::io::mqtt_client add periodic call to loop_misc

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

FIX missing pings

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>
hikinggrass added a commit that referenced this pull request Apr 13, 2026
more const ref usage and less copies

Use get_uuid from helpers in framework and ensure that the random generator isn't recreated (but still accessed in a thread safe manner) all the time

Use iterators instead of contains + at

const ref in call as well

only use at once in handle_var_message not every time in the loop

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Compile fix -> return via &

remove another unnecessary copy from EnergyNode

And another 2 copies removed

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Add missing cmake file

Add potentially faster date string parsing function

Fix call to slow date parsing function to prevent infinite recursion

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

const& EnergyFlowRequest

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix cmake of eveerest helpers

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

EvseManager const& fixes

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix ChargerTest const refs

Add ability to disable EVLOG_ verbose and debug at compile time

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

API optimazation

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Make EVerest API JSON indent configurable via

-DEVEREST_API_JSON_INDENT=-1   will disable indentations
positive values create the requested indentation levels

Directly return nlohmann:json dump without going over a temp object

EVerest API deserialize, directly return json::parse()

Add tests for existing check_topic_matches function

Replace check_topic_matches with an optimized version

Use string_view in enum conversion

Optimize on_mqtt_message by using string_view where possible, and using move

Also remove variables that are no longer used

Use find_if in subscribe_energy_flow request

Fix optimized version of publish_complete_energy_object to only publish the object once

string_view instead of const std::string&

Avoid inefficient lops in generated types

const ref for struct parameters

Use .get for cmds

Redzce temporary vars in call cmd generation

Directly construct and pass Parameters without relying on a temporary variable

Add enum_to_string_view conversion function

more const ref usage

use move with listener

Use make_unique and add Message ctor with string_view parameters

Fix vector to_json

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

fix(EvseManager,DC): Set default current ramp to 25A/s (#1999)

Signed-off-by: Cornelius Claussen <cc@pionix.de>

feat(IsoMux): Make proxy connect target configurable via proxy_device (#2004)

* Add a new  config option to IsoMux. When set, the proxy connects to the IPv6 link-local address of the given interface instead of the hardcoded ::1 loopback; Defaults to empty string to preserve existing behaviour.
* Required for parallel ISO 15118 test execution where multiple IsoMux instances would otherwise conflict on the shared loopback.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

feat(ocpp): inject TariffFallbackMessage into AuthorizeResponse and TotalCostFallbackMessage at offline transaction end (#1989)

* When the CSMS provides no personalMessage in the AuthorizeResponse, inject the configured TariffFallbackMessage (or OfflineTariffFallbackMessage when offline) into IdTokenInfo.personalMessage, with additional language variants in customData.personalMessageExtra (California Pricing Spec 4.3.4, I04.FR.01).
* When a transaction ends while offline, publish TotalCostFallbackMessage via the tariff_message_callback since no CSMS totalCost response will arrive (I05.FR.02).
* Extended Integrate Tariff and Cost documentation

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(iso15118): TC_SECC_CMN_VTB_SDP_004 (#1983)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

add TSC notes 2026-03-26 (#2013)

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Update index.rst (#2014)

reflect new TSC roles and election results

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

feat(mqtt_util): Add client_id support (#2011)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

Bazel: comply with the 10Gb github cache limit (#2023)

* Bazel: tighten fallback keys

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* strip everything to reduce cache

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

feat(cmake): add selective library inclusion for EDM consumers (#2021)

Allow external projects to pull only specific everest-core libraries
via EDM/CPM without building the full module framework. This is
useful for projects that only need lightweight libraries like liblog,
everest-util, everest-io, or heavier standalone ones like libocpp
and libiso15118.

Three new CMake options control this behavior:

- EVEREST_LIBS_ONLY: skip modules, applications, config, and code
  generation entirely — only build libraries under lib/everest/
- EVEREST_INCLUDE_LIBS: semicolon-separated allowlist of libraries
  to build, with automatic transitive dependency resolution
- EVEREST_EXCLUDE_LIBS: semicolon-separated blocklist of libraries
  to skip

Example usage from an external project's dependencies.yaml:

  everest-core:
    git: https://github.com/EVerest/everest-core.git
    git_tag: 2026.02.0
    options:
      - "EVEREST_LIBS_ONLY ON"
      - "EVEREST_INCLUDE_LIBS log;util;io"

The internal dependency map is defined in a single file
(cmake/ev-lib-dependencies.cmake) which also serves as the master
list of library subdirectories. Adding a new library only requires
updating this one file.

All options default to empty/OFF, preserving existing behavior.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(smoke-tests): Added a sleep to test_iso15118_dc_session_error_before_session in order to allow EvseManager to process error ; Added rerun anotation for test cases that include ev side pausing. (#2031)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

refactor(framework): Change MQTTAbstraction to pure virtual function (#2022)

* Change allows for easier testability of components that use MQTTAbstraction
* Added mock class for MQTTAbstraction that can be used for testing
* Adjusted downstream usage of MQTTAbstraction

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Bazel: Extend the everest_env.bzl to handle arbitrary test binaries (#2018)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

fix(framework): log MQTT messages to level "verbose" (#2029)

In level "debug", these messages were flooding the logs, keeping you from
being able to debug actual issues.

Fixes #2028

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Bazel: Prepere support for running smoke_tests.py as integration test (#2020)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

docs(contribution-guideline): Clarify contributor responsibilities in contribution guideline (#1955)

* docs(contribution): clarify contributor responsibilities in contribution guidelines; add link to LF policy on AI-Generated open source contributions

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* add sentence for human contribution

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* Specifically mentioning human contributor

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

---------

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Fix error and warning handling; add support in bringup for temp display (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>

Bazel: build io library and dependencies (#2040)

Since the arm toolchains in the ci are quite old, do not build the "can" and "raw" portions of the io library for these targets

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix integrated yocto source fetching (#2025)

If the main repo is not called "everest-core" this could cause issues.
Now uses the basename of the checked-out repo for flexibility

Fixes #2024

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Manager: add  to the cli (#2036)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

Bazel: Update python dependencies (#2032)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

RpcApi: normalize signed external limits to absolute values (#2005)

Fix external limit handling so negative values are mapped like the API
module and discharge limits are transferred correctly

Signed-off-by: Fabian Hartung <fabian.hartung@chargebyte.com>

Rust: Add `everestrs_main` proc macro (#2038)

* Rust: Add  proc macro

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* rename to everesrs_derive

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix bazel build

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

workaround for bazel compile issues on armv7

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
djchhp pushed a commit that referenced this pull request Apr 14, 2026
more const ref usage and less copies

Use get_uuid from helpers in framework and ensure that the random generator isn't recreated (but still accessed in a thread safe manner) all the time

Use iterators instead of contains + at

const ref in call as well

only use at once in handle_var_message not every time in the loop

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Compile fix -> return via &

remove another unnecessary copy from EnergyNode

And another 2 copies removed

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Add missing cmake file

Add potentially faster date string parsing function

Fix call to slow date parsing function to prevent infinite recursion

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

const& EnergyFlowRequest

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix cmake of eveerest helpers

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

EvseManager const& fixes

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix ChargerTest const refs

Add ability to disable EVLOG_ verbose and debug at compile time

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

API optimazation

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Make EVerest API JSON indent configurable via

-DEVEREST_API_JSON_INDENT=-1   will disable indentations
positive values create the requested indentation levels

Directly return nlohmann:json dump without going over a temp object

EVerest API deserialize, directly return json::parse()

Add tests for existing check_topic_matches function

Replace check_topic_matches with an optimized version

Use string_view in enum conversion

Optimize on_mqtt_message by using string_view where possible, and using move

Also remove variables that are no longer used

Use find_if in subscribe_energy_flow request

Fix optimized version of publish_complete_energy_object to only publish the object once

string_view instead of const std::string&

Avoid inefficient lops in generated types

const ref for struct parameters

Use .get for cmds

Redzce temporary vars in call cmd generation

Directly construct and pass Parameters without relying on a temporary variable

Add enum_to_string_view conversion function

more const ref usage

use move with listener

Use make_unique and add Message ctor with string_view parameters

Fix vector to_json

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

fix(EvseManager,DC): Set default current ramp to 25A/s (#1999)

Signed-off-by: Cornelius Claussen <cc@pionix.de>

feat(IsoMux): Make proxy connect target configurable via proxy_device (#2004)

* Add a new  config option to IsoMux. When set, the proxy connects to the IPv6 link-local address of the given interface instead of the hardcoded ::1 loopback; Defaults to empty string to preserve existing behaviour.
* Required for parallel ISO 15118 test execution where multiple IsoMux instances would otherwise conflict on the shared loopback.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

feat(ocpp): inject TariffFallbackMessage into AuthorizeResponse and TotalCostFallbackMessage at offline transaction end (#1989)

* When the CSMS provides no personalMessage in the AuthorizeResponse, inject the configured TariffFallbackMessage (or OfflineTariffFallbackMessage when offline) into IdTokenInfo.personalMessage, with additional language variants in customData.personalMessageExtra (California Pricing Spec 4.3.4, I04.FR.01).
* When a transaction ends while offline, publish TotalCostFallbackMessage via the tariff_message_callback since no CSMS totalCost response will arrive (I05.FR.02).
* Extended Integrate Tariff and Cost documentation

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(iso15118): TC_SECC_CMN_VTB_SDP_004 (#1983)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

add TSC notes 2026-03-26 (#2013)

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Update index.rst (#2014)

reflect new TSC roles and election results

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

feat(mqtt_util): Add client_id support (#2011)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

Bazel: comply with the 10Gb github cache limit (#2023)

* Bazel: tighten fallback keys

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* strip everything to reduce cache

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

feat(cmake): add selective library inclusion for EDM consumers (#2021)

Allow external projects to pull only specific everest-core libraries
via EDM/CPM without building the full module framework. This is
useful for projects that only need lightweight libraries like liblog,
everest-util, everest-io, or heavier standalone ones like libocpp
and libiso15118.

Three new CMake options control this behavior:

- EVEREST_LIBS_ONLY: skip modules, applications, config, and code
  generation entirely — only build libraries under lib/everest/
- EVEREST_INCLUDE_LIBS: semicolon-separated allowlist of libraries
  to build, with automatic transitive dependency resolution
- EVEREST_EXCLUDE_LIBS: semicolon-separated blocklist of libraries
  to skip

Example usage from an external project's dependencies.yaml:

  everest-core:
    git: https://github.com/EVerest/everest-core.git
    git_tag: 2026.02.0
    options:
      - "EVEREST_LIBS_ONLY ON"
      - "EVEREST_INCLUDE_LIBS log;util;io"

The internal dependency map is defined in a single file
(cmake/ev-lib-dependencies.cmake) which also serves as the master
list of library subdirectories. Adding a new library only requires
updating this one file.

All options default to empty/OFF, preserving existing behavior.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(smoke-tests): Added a sleep to test_iso15118_dc_session_error_before_session in order to allow EvseManager to process error ; Added rerun anotation for test cases that include ev side pausing. (#2031)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

refactor(framework): Change MQTTAbstraction to pure virtual function (#2022)

* Change allows for easier testability of components that use MQTTAbstraction
* Added mock class for MQTTAbstraction that can be used for testing
* Adjusted downstream usage of MQTTAbstraction

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Bazel: Extend the everest_env.bzl to handle arbitrary test binaries (#2018)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

fix(framework): log MQTT messages to level "verbose" (#2029)

In level "debug", these messages were flooding the logs, keeping you from
being able to debug actual issues.

Fixes #2028

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Bazel: Prepere support for running smoke_tests.py as integration test (#2020)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

docs(contribution-guideline): Clarify contributor responsibilities in contribution guideline (#1955)

* docs(contribution): clarify contributor responsibilities in contribution guidelines; add link to LF policy on AI-Generated open source contributions

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* add sentence for human contribution

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* Specifically mentioning human contributor

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

---------

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Fix error and warning handling; add support in bringup for temp display (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>

Bazel: build io library and dependencies (#2040)

Since the arm toolchains in the ci are quite old, do not build the "can" and "raw" portions of the io library for these targets

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix integrated yocto source fetching (#2025)

If the main repo is not called "everest-core" this could cause issues.
Now uses the basename of the checked-out repo for flexibility

Fixes #2024

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Manager: add  to the cli (#2036)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

Bazel: Update python dependencies (#2032)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

RpcApi: normalize signed external limits to absolute values (#2005)

Fix external limit handling so negative values are mapped like the API
module and discharge limits are transferred correctly

Signed-off-by: Fabian Hartung <fabian.hartung@chargebyte.com>

Rust: Add `everestrs_main` proc macro (#2038)

* Rust: Add  proc macro

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* rename to everesrs_derive

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix bazel build

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

workaround for bazel compile issues on armv7

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
florinmihut added a commit that referenced this pull request Apr 22, 2026
…ay (#2015)

Signed-off-by: florinmihut <florinmihut1@gmail.com>
(cherry picked from commit 913166a)
hikinggrass added a commit that referenced this pull request Apr 22, 2026
more const ref usage and less copies

Use get_uuid from helpers in framework and ensure that the random generator isn't recreated (but still accessed in a thread safe manner) all the time

Use iterators instead of contains + at

const ref in call as well

only use at once in handle_var_message not every time in the loop

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Compile fix -> return via &

remove another unnecessary copy from EnergyNode

And another 2 copies removed

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Add missing cmake file

Add potentially faster date string parsing function

Fix call to slow date parsing function to prevent infinite recursion

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

const& EnergyFlowRequest

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix cmake of eveerest helpers

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

EvseManager const& fixes

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Fix ChargerTest const refs

Add ability to disable EVLOG_ verbose and debug at compile time

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

API optimazation

Signed-off-by: Jan Christoph Habig <jan.habig@pionix.de>

Make EVerest API JSON indent configurable via

-DEVEREST_API_JSON_INDENT=-1   will disable indentations
positive values create the requested indentation levels

Directly return nlohmann:json dump without going over a temp object

EVerest API deserialize, directly return json::parse()

Add tests for existing check_topic_matches function

Replace check_topic_matches with an optimized version

Use string_view in enum conversion

Optimize on_mqtt_message by using string_view where possible, and using move

Also remove variables that are no longer used

Use find_if in subscribe_energy_flow request

Fix optimized version of publish_complete_energy_object to only publish the object once

string_view instead of const std::string&

Avoid inefficient lops in generated types

const ref for struct parameters

Use .get for cmds

Redzce temporary vars in call cmd generation

Directly construct and pass Parameters without relying on a temporary variable

Add enum_to_string_view conversion function

more const ref usage

use move with listener

Use make_unique and add Message ctor with string_view parameters

Fix vector to_json

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

fix(EvseManager,DC): Set default current ramp to 25A/s (#1999)

Signed-off-by: Cornelius Claussen <cc@pionix.de>

feat(IsoMux): Make proxy connect target configurable via proxy_device (#2004)

* Add a new  config option to IsoMux. When set, the proxy connects to the IPv6 link-local address of the given interface instead of the hardcoded ::1 loopback; Defaults to empty string to preserve existing behaviour.
* Required for parallel ISO 15118 test execution where multiple IsoMux instances would otherwise conflict on the shared loopback.

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

feat(ocpp): inject TariffFallbackMessage into AuthorizeResponse and TotalCostFallbackMessage at offline transaction end (#1989)

* When the CSMS provides no personalMessage in the AuthorizeResponse, inject the configured TariffFallbackMessage (or OfflineTariffFallbackMessage when offline) into IdTokenInfo.personalMessage, with additional language variants in customData.personalMessageExtra (California Pricing Spec 4.3.4, I04.FR.01).
* When a transaction ends while offline, publish TotalCostFallbackMessage via the tariff_message_callback since no CSMS totalCost response will arrive (I05.FR.02).
* Extended Integrate Tariff and Cost documentation

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

fix(iso15118): TC_SECC_CMN_VTB_SDP_004 (#1983)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

add TSC notes 2026-03-26 (#2013)

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

Update index.rst (#2014)

reflect new TSC roles and election results

Signed-off-by: Marco Möller <2248448+caller@users.noreply.github.com>

feat(mqtt_util): Add client_id support (#2011)

Signed-off-by: Martin Litre <mnlitre@gmail.com>

Bazel: comply with the 10Gb github cache limit (#2023)

* Bazel: tighten fallback keys

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* strip everything to reduce cache

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

feat(cmake): add selective library inclusion for EDM consumers (#2021)

Allow external projects to pull only specific everest-core libraries
via EDM/CPM without building the full module framework. This is
useful for projects that only need lightweight libraries like liblog,
everest-util, everest-io, or heavier standalone ones like libocpp
and libiso15118.

Three new CMake options control this behavior:

- EVEREST_LIBS_ONLY: skip modules, applications, config, and code
  generation entirely — only build libraries under lib/everest/
- EVEREST_INCLUDE_LIBS: semicolon-separated allowlist of libraries
  to build, with automatic transitive dependency resolution
- EVEREST_EXCLUDE_LIBS: semicolon-separated blocklist of libraries
  to skip

Example usage from an external project's dependencies.yaml:

  everest-core:
    git: https://github.com/EVerest/everest-core.git
    git_tag: 2026.02.0
    options:
      - "EVEREST_LIBS_ONLY ON"
      - "EVEREST_INCLUDE_LIBS log;util;io"

The internal dependency map is defined in a single file
(cmake/ev-lib-dependencies.cmake) which also serves as the master
list of library subdirectories. Adding a new library only requires
updating this one file.

All options default to empty/OFF, preserving existing behavior.

Signed-off-by: Martin Litre <mnlitre@gmail.com>

fix(smoke-tests): Added a sleep to test_iso15118_dc_session_error_before_session in order to allow EvseManager to process error ; Added rerun anotation for test cases that include ev side pausing. (#2031)

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

refactor(framework): Change MQTTAbstraction to pure virtual function (#2022)

* Change allows for easier testability of components that use MQTTAbstraction
* Added mock class for MQTTAbstraction that can be used for testing
* Adjusted downstream usage of MQTTAbstraction

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Bazel: Extend the everest_env.bzl to handle arbitrary test binaries (#2018)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

fix(framework): log MQTT messages to level "verbose" (#2029)

In level "debug", these messages were flooding the logs, keeping you from
being able to debug actual issues.

Fixes #2028

Signed-off-by: Moritz Barsnick <moritz.barsnick@chargebyte.com>

Bazel: Prepere support for running smoke_tests.py as integration test (#2020)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

docs(contribution-guideline): Clarify contributor responsibilities in contribution guideline (#1955)

* docs(contribution): clarify contributor responsibilities in contribution guidelines; add link to LF policy on AI-Generated open source contributions

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* add sentence for human contribution

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

* Specifically mentioning human contributor

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

---------

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>

Fix error and warning handling; add support in bringup for temp display (#2015)

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>

Bazel: build io library and dependencies (#2040)

Since the arm toolchains in the ci are quite old, do not build the "can" and "raw" portions of the io library for these targets

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix integrated yocto source fetching (#2025)

If the main repo is not called "everest-core" this could cause issues.
Now uses the basename of the checked-out repo for flexibility

Fixes #2024

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Manager: add  to the cli (#2036)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

Bazel: Update python dependencies (#2032)

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

RpcApi: normalize signed external limits to absolute values (#2005)

Fix external limit handling so negative values are mapped like the API
module and discharge limits are transferred correctly

Signed-off-by: Fabian Hartung <fabian.hartung@chargebyte.com>

Rust: Add `everestrs_main` proc macro (#2038)

* Rust: Add  proc macro

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

* rename to everesrs_derive

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>

---------

Signed-off-by: Dima Dorezyuk <ddo@qwello.eu>
Co-authored-by: Dima Dorezyuk <ddo@qwello.eu>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

Fix bazel build

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

clang-format

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>

workaround for bazel compile issues on armv7

Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants