Skip to content

WIP: Support for Voltronic Axpert P30 protocol inverters (main) #1407

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

Open
wants to merge 36 commits into
base: master
Choose a base branch
from

Conversation

minfrin
Copy link

@minfrin minfrin commented Apr 27, 2022

Adds support for the Voltronic Axpert inverters based on the P30 protocol.

Updated the nutdrv_qx driver to support the optional sending of commands
protected by CRC.

Initial support for query commands. Based on work done in the Voltronic
Sunny driver in https://github.com/nickma82/nut/tree/nutdrv_qx_voltronic-sunny_rebased+command

Still TODO:

Implement commands to write to the inverter.
Remove commented code originating from sunny driver.
Further testing.
Update docs (manpages, acknowledgements, NEWS.adoc...)

Adds support for the Voltronic Axpert inverters based on the P30 protocol.

Updated the nutdrv_qx driver to support the optional sending of commands
protected by CRC.

Initial support for query commands. Based on work done in the Voltronic
Sunny driver in https://github.com/nickma82/nut/tree/nutdrv_qx_voltronic-sunny_rebased+command

Still TODO:

Implement commands to write to the inverter.
Remove commented code originating from sunny driver.
Further testing.
Update docs (manpages, acknowledgements...)
@lgtm-com
Copy link

lgtm-com bot commented Apr 27, 2022

This pull request introduces 1 alert when merging 5375524 into 9cb8de6 - view on LGTM.com

new alerts:

  • 1 for Comparison of narrow type with wide type in loop condition

@jimklimov jimklimov marked this pull request as draft August 10, 2022 16:32
@jimklimov
Copy link
Member

@minfrin : I marked the PR as draft for now, so it would not burden CI with failing code to build ephemeral merges as master branch marches on. Feel free to un-set draft mode when needed to test fixes to broken builds.

@minfrin
Copy link
Author

minfrin commented Aug 10, 2022

Thanks for this.

All the parameters being read are working well, and it's doing the job.

Testing the write functions is tricky, as the inverter is powering the machine it was developed on, so options are limited. Lining up a time to do safe testing.

@jimklimov
Copy link
Member

Cheers! Wondering if you have any updates on this? :)

@jimklimov
Copy link
Member

Resyncing with main NUT code base after v2.8.3 release.

@jimklimov jimklimov marked this pull request as ready for review April 25, 2025 08:40
@AppVeyorBot
Copy link

…o check dynamic formating string sanity at run-time [networkupstools#1407]

Signed-off-by: Jim Klimov <[email protected]>
…and commands (and their processing methods) better than "#if 0" [networkupstools#1407]

Signed-off-by: Jim Klimov <[email protected]>
… the mapping table as such; comment a few of them [networkupstools#1407]

Signed-off-by: Jim Klimov <[email protected]>
@jimklimov jimklimov added Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others Voltronic labels Apr 26, 2025
@jimklimov jimklimov added this to the 2.8.4 milestone Apr 26, 2025
@jimklimov jimklimov added the experimental-namespace This PR or issue deals with names not standardized in nut-names.txt and code would need to change label Apr 26, 2025
@jimklimov jimklimov mentioned this pull request Apr 26, 2025
@jimklimov
Copy link
Member

Proposed a NEWS.adoc entry usable in case of immediate merge (as an experimental driver at least, potentially for NUT community to share on further completion).

…PERT* macro definitions for better visibility [networkupstools#1407]

Signed-off-by: Jim Klimov <[email protected]>
…arm[LARGEBUF] so that item->value[SMALLBUF] can fit with added markup [networkupstools#1407]

...not that we expect problems with this, but compiler warns they are feasible:
    error: '%s' directive output may be truncated writing up to 511 bytes
           into a region of size 497 [-Werror=format-truncation=]

Signed-off-by: Jim Klimov <[email protected]>
@jimklimov
Copy link
Member

@minfrin : I've updated this PR branch to the extent that I think the code is mergeable "quality-wise": there are changes to news and man pages, the questionable data points and related methods are hidden with #ifdef as "unmapped" items in some other drivers (and whatever concept names did not fit existing NUT standards, were renamed to the experimental.* namespace).

In your original post you've had plans for further work, and named this PR as a "WIP"... do you have any reservations (like this code is only a boilerplate and not really functional with the devices), or can it be merged as it is now and continued in later PRs? Do you see yourself doing that in short term, BTW? :)

jimklimov added a commit to jimklimov/nut that referenced this pull request Apr 30, 2025
jimklimov added a commit to jimklimov/nut that referenced this pull request Apr 30, 2025
jimklimov added a commit to jimklimov/nut that referenced this pull request Apr 30, 2025
networkupstools#1407]

Help with ChangeLog entry for an old URL buried in commit message years ago,
from a branch getting merged just now.

Signed-off-by: Jim Klimov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experimental-namespace This PR or issue deals with names not standardized in nut-names.txt and code would need to change Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others Voltronic
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants