Comments (4)
Hi @matth-x , is there any update on this issue? could you please prioritize.
Thank you,
Aylaa
from microocpp.
Hi @Aylaa1,
To change configurations programatically, use the Configuration API like here:
Lines 98 to 99 in 735efa2
The first call gets a handle for the Config, the second call effectively changes its value. The same functions exist for strings and bools. You can see more usage examples in the file "Metering.cpp" I linked above.
Also #include <MicroOcpp/Core/Configuration.h>
to get access to the Configuration API. Perform the changes after mocpp_initialize().
Manually manipulating the contents of the JSON files is without effect after initialization of the library. And before initialization it is risky, because I do not test such interaction with the firmware.
from microocpp.
Hi @matth-x,
Thanks you for the response,
the sequence you have mentioned is followed the same way, i.e., mocpp_initialize() is called first and later the configuration related apis.
The actual problem is when the ocpp-config.json file is reaching the size above 1024(eg 1031), the application crashes.
If I restrict the jsonCapacity to 1024 in (DynamicJsonDocument doc {jsonCapacity}), but the jsonCapacity calculated in the runtime is 1031, json file would be invalid and the application still crashes.
The crash still persists if I increase the jsonCapacity to Max json capacity(4096).
Basically I observe crash if I try to write anything more than 1024 bytes to ocpp-config.jsn file.
The problem does not occur, if I reduce the number of key-value pairs written to the ocpp-config.jsn file in such a way that the file size will not cross 1024 bytes.
(All other jsn files are below 1024 bytes except ocpp-config.jsn file, throughout the application like bootstats.jsn, ws-conn.jsn, sc-tx-1-0.jsn, ...)
PFA, the crash scenario log snips
Thanks,
Aylaa
from microocpp.
Hi @Aylaa1,
Sorry, I'm still lacking an idea what could happen here. The most suspicious thing I see is that the application crashes due to a stack overflow. Normally, the stack stack size should rarely grow with payload data. Did you integrate a custom filesystem adapter which has payload buffers on the stack by any chance?
However, it is true that the default stack size in esp-idf is too small to run MicroOcpp. I increased it to 8192 in the example project:
MicroOcpp/examples/ESP-IDF/sdkconfig
Line 505 in 735efa2
from microocpp.
Related Issues (20)
- Commercially Available Options HOT 4
- FreeVending Mode for Two conectors Simultaneously HOT 5
- cppcheck fail (cppcheck --force src/MicroOcpp) HOT 4
- Charge profile limiting not working if current is set (tested with the simulator) HOT 1
- First StatusNotification 1970-01-01 timestamp HOT 3
- [Firmware Update]How Can We do The Firmware update in ESP-IDF, there is no any document available how to implement it.. HOT 1
- Unable to Remote Start Transaction strangely one day HOT 3
- Server error, data loss! HOT 1
- Error compiling for board DOIT ESP32 DEVKIT V1
- What value do I measure with "L1" compared to "L1-N" and "L1-L2", according to the protocol specifications? What value do I get via "L1"? HOT 1
- ESP32-IDF ESP32C3 : How to test all the ocpp opetrations over esp32 module HOT 3
- GetDiagnostics‘s issue HOT 2
- Offline Start transaction using local list HOT 2
- Ethernet (W5500) Support with Mongoose WebSocket Adapter on Arduino platform HOT 2
- Error compiling for board DOIT ESP32 DEVKIT V1
- How to send 'Finishing' when receive 'SoftReset' during charging. Not 'Unableable' HOT 2
- Is OCPP 1.6 security whitepaper edition 3 planned HOT 1
- How to pass the OCTT tast case 2.4.3. EV Side Disconnected HOT 4
- How to make specific feature not support HOT 1
- configuration key 'ChargingScheduleAllowedChargingRateUnit' accessibility is wrong, and some item is missing HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from microocpp.