Skip to content
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

PPP: add "battery status" read stub functions #10043

Merged
merged 5 commits into from
Jul 22, 2024

Conversation

WebDust21
Copy link
Contributor

Description of Change

  • Add Arduino stub functions to access the functionality provided by the underlying ESP-MODEM "esp_modem_get_battery_status" call
  • Replaced verbose checks on each Arduino stub function call with a single succint #define for ease of code maintainability.

Tests scenarios

Tested on an ESP32-S2 with a SIM7080G modem. Love the PPP functionality, it just works! Just providing some functional extensibility to functionality that is already present.

    testClient("google.com", 80);
    Serial.print("RSSI: "); Serial.println(PPP.RSSI());
    Serial.print("BtyVolt: "); Serial.println(PPP.getBatteryVoltage());

output result

[...]
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
Connection Success
RSSI: 18
BtyVolt: 3846

showing that the modem VCC power supply is 3.846v.

Related links

ESP-MODEM "esp_modem_get_battery_status": https://github.com/espressif/esp-protocols/blob/906e447193710c1772305a218a9d0b315a549de4/components/esp_modem/src/esp_modem_c_api.cpp#L280-L293

Initially I thought that "esp_modem_get_battery_status" was leveraging AT+CADC, but it's not: it's using AT+CBC: https://github.com/espressif/esp-protocols/blob/906e447193710c1772305a218a9d0b315a549de4/components/esp_modem/src/esp_modem_command_library.cpp#L207-L234

replaced all function protections with a #define to simplify code functionality.  Also added "getBattery" functions to leverage "esp_modem_get_battery_status" call in ESP-MODEM.
@CLAassistant
Copy link

CLAassistant commented Jul 17, 2024

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

github-actions bot commented Jul 17, 2024

Warnings
⚠️

Some issues found for the commit messages in this PR:

  • the commit message "add "getBattery" function defs to PPP.h":
    • summary looks empty
    • type/action looks empty
  • the commit message "add "getBattery" functions + #define simplicity":
    • body's lines must not be longer than 100 characters
    • summary looks empty
    • type/action looks empty

Please fix these commit messages - here are some basic tips:

  • follow Conventional Commits style
  • correct format of commit message should be: <type/action>(<scope/component>): <summary>, for example fix(esp32): Fixed startup timeout issue
  • allowed types are: change,ci,docs,feat,fix,refactor,remove,revert,test
  • sufficiently descriptive message summary should be between 20 to 72 characters and start with upper case letter
  • avoid Jira references in commit messages (unavailable/irrelevant for our customers)

TIP: Install pre-commit hooks and run this check when committing (uses the Conventional Precommit Linter).

Messages
📖 You might consider squashing your 5 commits (simplifying branch history).

👋 Hello WebDust21, we appreciate your contribution to this project!


Click to see more instructions ...


This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.

DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.

Please consider the following:
- Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes.
- Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues.
- Resolve all warnings (⚠️ ) before requesting a review from human reviewers - they will appreciate it.
- Addressing info messages (📖) is strongly recommended; they're less critical but valuable.
- To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.

Review and merge process you can expect ...


We do welcome contributions in the form of bug reports, feature requests and pull requests.

1. An internal issue has been created for the PR, we assign it to the relevant engineer.
2. They review the PR and either approve it or ask you for changes or clarifications.
3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing.
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
4. If the change is approved and passes the tests it is merged into the default branch.

Generated by 🚫 dangerJS against 81f9e54

Copy link
Contributor

Memory usage test (comparing PR against master branch)

The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target.

MemoryFLASH [bytes]FLASH [%]RAM [bytes]RAM [%]
TargetDECINCDECINCDECINCDECINC
ESP32S30⚠️ +840.00⚠️ +0.02000.000.00
ESP32S20⚠️ +840.00⚠️ +0.02000.000.00
ESP32C3000.000.00000.000.00
ESP32C6000.000.00000.000.00
ESP32H2000.000.00000.000.00
ESP320⚠️ +840.00⚠️ +0.02000.000.00
Click to expand the detailed deltas report [usage change in BYTES]
TargetESP32S3ESP32S2ESP32C3ESP32C6ESP32H2ESP32
ExampleFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAM
PPP/examples/PPP_Basic⚠️ +840⚠️ +840000000⚠️ +840

Copy link
Contributor

github-actions bot commented Jul 17, 2024

Test Results

 56 files  ±0   56 suites  ±0   4m 50s ⏱️ -7s
 21 tests ±0   21 ✅ ±0  0 💤 ±0  0 ❌ ±0 
135 runs  ±0  135 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 81f9e54. ± Comparison against base commit 690bdb5.

♻️ This comment has been updated with latest results.

libraries/PPP/src/PPP.h Outdated Show resolved Hide resolved
int volt, bcs, bcl;
esp_err_t err = esp_modem_get_battery_status(_dce, volt, bcs, bcl);
if (err != ESP_OK) {
//log_e("esp_modem_get_battery_status failed with %d %s", err, esp_err_to_name(err));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are the log lines commented out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I copied the functionality from other functions in PPP.cpp (RSSI + BER), which had them commented out:

// log_e("esp_modem_get_signal_quality failed with %d %s", err, esp_err_to_name(err));

// log_e("esp_modem_get_signal_quality failed with %d %s", err, esp_err_to_name(err));

I guess I'm not sure why those two are commented out...when none of the others in the entire file are.

That's literally the only reason I commented them out...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the were commented out because they were causing floods during normal operation. If you expect the battery functions to often fail, you can leave them commented

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOL, OK...well...I uncommented those two lines referenced above in the latest commit...oops?

I would not expect those commands to be "frequent failures", but maybe they are problematic. No issues on my end though.

@VojtechBartoska VojtechBartoska added the Area: Libraries Issue is related to Library support. label Jul 18, 2024
@me-no-dev me-no-dev added the Status: Pending Merge Pull Request is ready to be merged label Jul 19, 2024
@me-no-dev me-no-dev merged commit 0fa4aa6 into espressif:master Jul 22, 2024
40 checks passed
@WebDust21 WebDust21 deleted the ppp-add-battery-status branch July 23, 2024 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Libraries Issue is related to Library support. Status: Pending Merge Pull Request is ready to be merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants