Skip to content

Conversation

florinmihut
Copy link
Contributor

Describe your changes

Issue ticket number and link

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have made corresponding changes to the documentation
  • I read the contribution documentation and made sure that my changes meet its requirements

rckstrh and others added 2 commits September 5, 2025 11:06
* MCU<>Everest protobuf extension/rework
    * Config structure for a charging port has changed -> more info under its own bullet point below
    * motor locking states locking/unlocking added, not only endstates (but not really usable at the moment as motor lock interface definition does not have lock state vars where we could communicate state to other modules)
    * KeepAlive packet has added configuration_done flag that signals everest the MCU has successfully been configured, booted and is in normal run mode
    * added error flags for PP fault, coil/relay feedback divergence from target state, heartbeat timeout

* Config extension
    * coil/relay feedback active high/low and pull directions can be configured
    * motor lock type defaults to no motor lock (as is the case for DC charging or AC charging without socket/detachable charging cable)
    * has_socket defines if we have a socketed charging port (with detachable cable)
    * if configuring a port for AC charging with a socket, critical errors will be thrown on everest/MCU side when not specifying motor lock type
    * Motor lock type only enforced on socketed AC ports
    * possible to completely disable charging port to do one charging port configs only
    * phyverso_cli parameters via json mirror whole everest module parameter set now
    * renamed cli_config_*.json files for more clarity where they could be used (phyverso_cli use only, no real-world application)

* Error handling
    * Bidirectional serial communication timeouts will be reported and throw respective errors / will get cleared after normal communcation resumes
    * new errors thrown on everest side that will also have already lead to an emergency stop on MCU side
        * PP fault
        * coil/relay feedback diverges from target
        * heartbeat timeout (connection to/from Everest lost)
        * diode fault

* Misc.
    * PP state logging fixed, was constantly spamming EVLOG with info messages when receiving periodic updates from MCU
    * sometimes serial communication gets completely mangled, leading to Everest not receiving config request packets -> MCU will not get config packets and will hang in boot loop
        * BSP will wait for MCU reporting that it is properly configured -> otherwise reset MCU / serial after some time and wait for new config request packet until MCU reports properly configured MCU, boot mode exit and normal operation
    * increased hard-reset nRST low time
    * added small delay in phyverso_cli input polling loop to not use 100% CPU

Signed-off-by: Jonas Rockstroh <[email protected]>
Signed-off-by: florinmihut <[email protected]>
Signed-off-by: florinmihut <[email protected]>
@rckstrh
Copy link
Contributor

rckstrh commented Sep 22, 2025

I don't think we should mix those two branches. They should be able to be merged in separate PRs into main eventually.

I understand that you base your branch on the feature branch used for this PR (#1242) but ultimately your PR should try to merge into main, after #1242 is merged in.

@rckstrh
Copy link
Contributor

rckstrh commented Sep 22, 2025

There are also still a lot of basecamp licenses, names, references in there.

@florinmihut
Copy link
Contributor Author

I am sorry I wanted to create a draft PR, I was not aware that the system will automatically assign reviewers.
This is just internal, for me, to be able to test locally the software - head review from everest-core is not working so I kind of hacking parts things here.

Signed-off-by: florinmihut <[email protected]>
@barsnick
Copy link
Contributor

A proper title for the PR makes reading the master commit history (after merge) nicer. 😉 Someting like "Add Winline power supply driver".

I am sorry I wanted to create a draft PR

There's a button for that (though it will send out notifications to the potential reviewers anyway, I believe). You can change the PR to a draft even after the original submission.

@barsnick
Copy link
Contributor

barsnick commented Sep 24, 2025

I'm not sure why your PR wants to merge into branch feat/phyverso-extend-config-options-and-error-flags instead of main, maybe just a mishap:

image

Furthermore, with your latest commit, you duplicated the code from modules/HardwareDrivers/PowerSupplies/Winline/ into Winline/. You'll have to clean that up.

@barsnick
Copy link
Contributor

Is basecamp_io what was now merged as everest_io in PR #1365? Just wondering.

Can some of the CanBus, CanPacket and Conversions stuff be refactored into that library? They seem generically useful for CAN implementations.

Signed-off-by: florinmihut <[email protected]>
Signed-off-by: florinmihut <[email protected]>
… point(value between 0 and 3.3325)

Signed-off-by: florinmihut <[email protected]>
@florinmihut florinmihut marked this pull request as draft September 29, 2025 11:23
* MCU<>Everest protobuf extension/rework
    * Config structure for a charging port has changed -> more info under its own bullet point below
    * motor locking states locking/unlocking added, not only endstates (but not really usable at the moment as motor lock interface definition does not have lock state vars where we could communicate state to other modules)
    * KeepAlive packet has added configuration_done flag that signals everest the MCU has successfully been configured, booted and is in normal run mode
    * added error flags for PP fault, coil/relay feedback divergence from target state, heartbeat timeout

* Config extension
    * coil/relay feedback active high/low and pull directions can be configured
    * motor lock type defaults to no motor lock (as is the case for DC charging or AC charging without socket/detachable charging cable)
    * has_socket defines if we have a socketed charging port (with detachable cable)
    * if configuring a port for AC charging with a socket, critical errors will be thrown on everest/MCU side when not specifying motor lock type
    * Motor lock type only enforced on socketed AC ports
    * possible to completely disable charging port to do one charging port configs only
    * phyverso_cli parameters via json mirror whole everest module parameter set now
    * renamed cli_config_*.json files for more clarity where they could be used (phyverso_cli use only, no real-world application)

* Error handling
    * Bidirectional serial communication timeouts will be reported and throw respective errors / will get cleared after normal communcation resumes
    * new errors thrown on everest side that will also have already lead to an emergency stop on MCU side
        * PP fault
        * coil/relay feedback diverges from target
        * heartbeat timeout (connection to/from Everest lost)
        * diode fault

* Misc.
    * PP state logging fixed, was constantly spamming EVLOG with info messages when receiving periodic updates from MCU
    * sometimes serial communication gets completely mangled, leading to Everest not receiving config request packets -> MCU will not get config packets and will hang in boot loop
        * BSP will wait for MCU reporting that it is properly configured -> otherwise reset MCU / serial after some time and wait for new config request packet until MCU reports properly configured MCU, boot mode exit and normal operation
    * increased hard-reset nRST low time
    * added small delay in phyverso_cli input polling loop to not use 100% CPU

Signed-off-by: Jonas Rockstroh <[email protected]>
@florinmihut florinmihut changed the base branch from feat/phyverso-extend-config-options-and-error-flags to feat/phyverso-fw-2.0-integration October 7, 2025 10:52
Signed-off-by: florinmihut <[email protected]>
Signed-off-by: florinmihut <[email protected]>
@florinmihut
Copy link
Contributor Author

Yes, basecamp_io is now merged as everest_io.
I am having this branch in preparation for a customer that wanted a driver for Winline.
At the end the driver will be merged in everest-core main (after it is qualified and tested by the customer).

@rckstrh rckstrh force-pushed the feat/phyverso-fw-2.0-integration branch from cc9f7d4 to ebfb0be Compare October 8, 2025 15:39
Base automatically changed from feat/phyverso-fw-2.0-integration to main October 10, 2025 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants