1# Copyright (c) 2025 Linumiz GmbH
2# SPDX-License-Identifier: Apache-2.0
3
4config OCPP
5	bool "Open Charge Point Protocol [EXPERIMENTAL]"
6	depends on JSON_LIBRARY
7	depends on WEBSOCKET_CLIENT
8	select EXPERIMENTAL
9	select POSIX_C_LANG_SUPPORT_R
10	help
11	  This option enables the open charge point protocol library
12
13if OCPP
14
15module=OCPP
16module-dep=NET_LOG
17module-str=Log level for OCPP
18module-help=Enables ocpp debug messages.
19source "subsys/net/Kconfig.template.log_config.net"
20
21config OCPP_INT_THREAD_STACKSIZE
22	int "OCPP internal thread stacksize"
23	default 4096
24	help
25	   OCPP internal thread stacksize
26
27config OCPP_WSREADER_THREAD_STACKSIZE
28	int "OCPP websocket reader thread stacksize"
29	default 4096
30	help
31	   OCPP websocket reader thread stacksize
32
33config OCPP_RECV_BUFFER_SIZE
34	int "OCPP websocket recive buffer size"
35	default 2048
36	help
37	   OCPP websocket recive buffer size
38
39config OCPP_INTERNAL_MSGQ_CNT
40	int "OCPP internal message queue count"
41	default 10
42	help
43	   Messages communication between websocket reader and internal
44	   process thread
45
46config OCPP_MSG_JSON
47	bool "PDU message format as JSON"
48	default y
49	help
50	   If enabled y, then the Charge Point and Central System PDU message
51	   format as JSON
52
53config OCPP_PROFILE_SMART_CHARGE
54	bool "OCPP profile smart charging"
55	help
56	  Enables the OCPP library to support the Smart Charging profile
57	  functionality. Charge Point may support this profile as optional.
58
59config OCPP_PROFILE_REMOTE_TRIG
60	bool "OCPP profile remote trigger"
61	help
62	  Enables the OCPP library to support the Remote Trigger
63	  functionality. Charge Point may support this profile as optional.
64
65config OCPP_PROFILE_RESERVATION
66	bool "OCPP profile reservation"
67	help
68	  Enables the OCPP library to support the Profile Reservation
69	  functionality. Charge Point may support this profile as optional.
70
71config OCPP_PROFILE_LOCAL_AUTH_LIST
72	bool "OCPP profile local authorization list"
73	help
74	  Enables the OCPP library to support the Local Authorization List
75	  functionality. Stores IdTag and its validity information in the
76	  persistent stroage. Charge Point may support this as optional.
77
78config OCPP_PROFILE_FIRMWARE_MGNT
79	bool "OCPP profile firmware management"
80	help
81	  Enables the OCPP library to support the Firmware Management of
82	  Charge Point as optional profile.
83
84endif # OCPP
85