-
Notifications
You must be signed in to change notification settings - Fork 122
Add Huawei_V100R023C10 PowerSupply driver #1593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
5a586fb to
75766fa
Compare
bd87836 to
eac4719
Compare
markxoe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, ev_add_module(Huawei_V100R023C10) is missing in modules/HardwareDrivers/PowerSupplies/CMakeLists.txt
modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/Huawei_V100R023C10.cpp
Outdated
Show resolved
Hide resolved
hikinggrass
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think most/all of the review comments from #1336 still apply here (things like too high CMake versions / C++20 usage etc)
...pplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/CMakeLists.txt
Outdated
Show resolved
Hide resolved
...pplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/CMakeLists.txt
Outdated
Show resolved
Hide resolved
markxoe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should fix all C++ downgrade compile errors. Has been tested against the user acceptance tests
...rge-driver/libs/fusion_charger_modbus_driver/include/fusion_charger/modbus/registers/raw.hpp
Outdated
Show resolved
Hide resolved
...ies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/lib/dispenser.cpp
Outdated
Show resolved
Hide resolved
...rge-driver/libs/fusion_charger_modbus_driver/include/fusion_charger/modbus/registers/raw.hpp
Show resolved
Hide resolved
...werSupplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/README.md
Outdated
Show resolved
Hide resolved
...werSupplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/README.md
Outdated
Show resolved
Hide resolved
...werSupplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/README.md
Outdated
Show resolved
Hide resolved
...werSupplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/README.md
Outdated
Show resolved
Hide resolved
...upplies/Huawei_V100R023C10/fusion_charger_lib/huawei-fusioncharge-driver/auffaelligkeiten.md
Outdated
Show resolved
Hide resolved
modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/Huawei_V100R023C10.cpp
Outdated
Show resolved
Hide resolved
modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/connector_base/base.cpp
Outdated
Show resolved
Hide resolved
modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/fusion_charger_lib/.clang-format
Outdated
Show resolved
Hide resolved
...upplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/.clang-format
Outdated
Show resolved
Hide resolved
...pplies/Huawei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/CMakeLists.txt
Outdated
Show resolved
Hide resolved
...erSupplies/Huawei_V100R023C10/fusion_charger_lib/modbus-server/libs/registers/CMakeLists.txt
Outdated
Show resolved
Hide resolved
| uint8_t sys_buffer[buffer_size]; | ||
| uint8_t net_buffer[buffer_size]; | ||
|
|
||
| // read the current value and convert it to network byte order | ||
| data_provider.on_read(sys_buffer, buffer_size); | ||
| converter.sys_to_net(sys_buffer, net_buffer, buffer_size); | ||
|
|
||
| // write the new data to the buffer | ||
| memcpy(net_buffer + byte_offset, data.data(), | ||
| std::min(data.size(), sizeof(net_buffer) - byte_offset)); | ||
|
|
||
| // convert the buffer back to system byte order and write it to the provider | ||
| converter.net_to_sys(net_buffer, sys_buffer, buffer_size); | ||
| data_provider.on_write(sys_buffer, buffer_size); | ||
| } | ||
|
|
||
| std::vector<uint8_t> on_read() override { | ||
| std::vector<uint8_t> net_buffer(buffer_size); | ||
|
|
||
| uint8_t sys_buffer[buffer_size]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::array
...PowerSupplies/Huawei_V100R023C10/fusion_charger_lib/modbus-server/libs/server/CMakeLists.txt
Outdated
Show resolved
Hide resolved
.../HardwareDrivers/PowerSupplies/Huawei_V100R023C10/fusion_charger_lib/modbus-server/readme.md
Outdated
Show resolved
Hide resolved
.../HardwareDrivers/PowerSupplies/Huawei_V100R023C10/fusion_charger_lib/modbus-server/readme.md
Outdated
Show resolved
Hide resolved
4259042 to
4abeafc
Compare
|
Addressed most of the comments, except for the ones regarding the usage of std::array. I'd prefer to handle those in a subsequent PR, as the current changeset relative to the original driver has already become very large and I am likely not able to verify all of these changes. |
...ei_V100R023C10/fusion_charger_lib/fusion-charger-dispenser-library/include/configuration.hpp
Outdated
Show resolved
Hide resolved
...wareDrivers/PowerSupplies/Huawei_V100R023C10/fusion_charger_lib/modbus-server/CMakeLists.txt
Outdated
Show resolved
Hide resolved
...PowerSupplies/Huawei_V100R023C10/fusion_charger_lib/modbus-server/libs/client/CMakeLists.txt
Outdated
Show resolved
Hide resolved
Signed-off-by: Mark Oude Elberink <[email protected]> Signed-off-by: corneliusclaussen <[email protected]> Co-authored-by: Fabian Gajek <[email protected]> Co-authored-by: Kai Hermann <[email protected]> Co-authored-by: Tim <[email protected]> ---------- Additional changes when this driver was moved from BaseCamp to EVerest: * Replaced usage of designated initializers * Removed gitlab ci files * Replace README with doc.rst * Remove Auffaeligkeiten and renamed readme.md to README.md * Use std:: prefixed integer types * Remove clang format files * Removed unused files * Removed code that was commented out * Use modern instead of c-style casts * Refactor CMakeLists: Refactor test setup and register libraries with ev_register_library_target to include those in EVerest coverage generation * Renamed and refactored library README to address the updated CMake structure. The module internally libraries can currently not be built standalone Signed-off-by: Piet Gömpel <[email protected]>
c9bf39b to
81ed812
Compare
Describe your changes
Added the Huawei_V100R023C10 PowerSupply driver from BaseCamp
Issue ticket number and link
Checklist before requesting a review