Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter

- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
This commit is contained in:
Eric F
2026-06-08 00:38:27 -04:00
parent 468cfeaa50
commit d398a6ced2
7326 changed files with 1177561 additions and 7 deletions

View File

@@ -0,0 +1,69 @@
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_test")
load("@everest_crate_index//:defs.bzl", "all_crate_deps")
load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
cargo_build_script(
name = "build_script",
srcs = ["build.rs"],
edition="2021",
build_script_env = {
"EVEREST_CORE_ROOT": "../../../..",
},
data = [
"manifest.yaml",
"@everest-core//errors",
"@everest-core//interfaces",
"@everest-core//types",
],
deps = all_crate_deps(build = True) + [
"//lib/everest/framework/everestrs/everestrs-build",
],
)
rust_binary(
name = "RsPaymentTerminalBinary",
srcs = glob(["src/*.rs"]),
edition="2021",
proc_macro_deps = all_crate_deps(proc_macro = True),
visibility = ["//visibility:public"],
deps = all_crate_deps(normal = True) + [
":build_script",
"//lib/everest/framework/everestrs/everestrs",
"//lib/everest/framework/everestrs/everestrs:everestrs_sys",
"//lib/everest/framework/everestrs/everestrs:everestrs_bridge",
],
crate_features = ["with_lavego_error_codes"],
)
rust_test(
name = "RsPaymentTerminalTest",
edition="2021",
srcs = [],
crate_features = ["mockall", "mockall_double"],
crate = ":RsPaymentTerminalBinary",
)
binary = ":RsPaymentTerminalBinary"
manifest = ":manifest.yaml"
name = "RsPaymentTerminal"
genrule(
name = "copy_to_subdir",
srcs = [binary, manifest],
outs = [
"{}/manifest.yaml".format(name),
"{}/{}".format(name, name),
],
cmd = "mkdir -p $(RULEDIR)/{} && ".format(name) +
"cp $(location {}) $(RULEDIR)/{}/{} && ".format(binary, name, name) +
"cp $(location {}) $(RULEDIR)/{}/".format(manifest, name),
)
filegroup(
name = name,
srcs = [
":copy_to_subdir",
],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,23 @@
[package]
name = "RsPaymentTerminal"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
everestrs = { workspace=true }
anyhow = "1.0.82"
zvt = { git = "https://github.com/Everest/zvt.git", rev = "60574939d2cbe35b5d4fc9b03af7e8c3e098706c" }
zvt_feig_terminal = { git = "https://github.com/Everest/zvt.git", rev = "60574939d2cbe35b5d4fc9b03af7e8c3e098706c", features = ["with_lavego_error_codes"] }
tokio = { version = "1.47.0", features = ["macros", "rt-multi-thread", "net", "sync"] }
log = "0.4.20"
mockall = { version = "0.12.1", optional = true }
mockall_double = { version = "0.3.1", optional = true}
[build-dependencies]
everestrs-build = { workspace=true }
[features]
with_lavego_error_codes = ["zvt_feig_terminal/with_lavego_error_codes"]
default = ["mockall", "mockall_double", "with_lavego_error_codes"]

View File

@@ -0,0 +1,75 @@
description: Payment terminal module for Feig devices.
config:
ip:
description: IP Address of Feig terminal, like "192.168.0.1"
type: string
feig_serial:
description: >-
Serial of Feig terminal. Typically a seven characters long string like
"ABCD123".
type: string
terminal_id:
description: Payment terminal ID.
type: string
currency:
description: Currency in ISO 4217 format.
default: 978
type: integer
pre_authorization_amount:
description: Pre authentication amount in Cents.
default: 2500
type: integer
read_card_timeout:
description: The time (is seconds) to wait for a card to be read.
default: 2
type: integer
read_card_debounce:
description: >-
The debounce time (in seconds) after a successful card reading. The
parameter prevents re-reading the same card.
default: 2
type: integer
transactions_max_num:
description: >-
The maximum number of concurrent transactions. The Feig terminal will
reject a transaction if it would exceed the maximum number of concurrent
transactions - in this case you need to finish a transaction to allow a
new one.
default: 1
type: integer
password:
description: Password for the Feig terminal.
type: integer
end_of_day_max_interval:
description: >-
The maximum time (in sec) between end of day jobs. Payment backends might
force the payment terminals to run them regularly. Defaults to one day.
default: 86400
type: integer
requires:
session:
interface: session_cost
min_connections: 0
max_connections: 1
ignore:
vars:
- default_price
bank_session_token:
interface: bank_session_token_provider
min_connections: 0
max_connections: 1
provides:
token_provider:
interface: auth_token_provider
description: Provides an authentication token from the Feig terminal.
token_validator:
interface: auth_token_validator
description: Reserves the `pre_authorization_amount` from a bank card.
payment_terminal:
interface: payment_terminal
description: Provides all the commands specific for bank cards handling
enable_external_mqtt: false
metadata:
license: https://opensource.org/licenses/Apache-2.0
authors:
- embedded-team@qwello.eu

File diff suppressed because it is too large Load Diff