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

Add support for NuttX RTOS, with optional support for Espressif devices (RDT-1004) #318

Merged

Conversation

fdcavalcanti
Copy link
Contributor

@fdcavalcanti fdcavalcanti commented Nov 11, 2024

Description

This PR adds support for NuttX RTOS and Espressif devices.

  • DUT: new DUT class for NuttX, supporting write and return, return codes and reboot.
  • Serial: Supports flashing Espressif devices (ESP32|S2|S3|C3|C6|H2).
  • App: Supports parsing binaries for Espressif device (both app and bootloader), extracting flash information automatically, which is used by the serial class to flash.

Looking forward for reviews and improvement suggestions!

Related

Testing

Tested on Espressif internal CI for NuttX. The entire test suite has been ported to Pytest.
Local test environment for this tool simply follows common pip instructions already available in the docs.


Checklist

Before submitting a Pull Request, please ensure the following:

  • 🚨 This PR does not introduce breaking changes.
  • All CI checks (GH Actions) pass.
  • Documentation is updated as needed.
  • Tests are updated or added as necessary.
  • Code is well-commented, especially in complex areas.
  • Git history is clean — commits are squashed to the minimum necessary.

@fdcavalcanti fdcavalcanti force-pushed the feature/pytest-embedded-nuttx-review branch 2 times, most recently from 09c6c4e to 5601fab Compare November 11, 2024 15:43
Copy link
Member

@hfudev hfudev left a comment

Choose a reason for hiding this comment

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

LGTM! I left some questions regarding the dependencies.

@fdcavalcanti fdcavalcanti force-pushed the feature/pytest-embedded-nuttx-review branch from 5601fab to 32418b7 Compare November 12, 2024 11:31
Copy link
Member

@hfudev hfudev left a comment

Choose a reason for hiding this comment

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

found one more issue :D

pytest-embedded-nuttx/pytest_embedded_nuttx/__init__.py Outdated Show resolved Hide resolved
pytest-embedded-nuttx/pyproject.toml Outdated Show resolved Hide resolved
pytest-embedded/pytest_embedded/dut_factory.py Outdated Show resolved Hide resolved
Squashed commits:
Main pytest_embedded modifications to support Nuttx
Binary test files for nuttx
Created Nuttx App
Added serial module of NuttX
Added DUT for Nuttx
Fixes on nuttx serial
Added nuttx example
General fixes + docs
Dut now has return code method
Fixed return code issues. Added write_and_return
Return code now waits for nsh ready
Added short delay after write to obtain nsh prompt
Checking filename at the stem instead of full path
Skipping 'merged' files
Target is passed to App in dut_factory
Debug app path
Documentation update
General fixes
Documentation update
Improved nsh prompt parse
@fdcavalcanti fdcavalcanti force-pushed the feature/pytest-embedded-nuttx-review branch from 32418b7 to b4c564b Compare November 12, 2024 13:24
@fdcavalcanti
Copy link
Contributor Author

fdcavalcanti commented Nov 12, 2024

@hfudev all done! Thanks for the review!
Please let me know if anything else.

@github-actions github-actions bot changed the title Add support for NuttX RTOS, with optional support for Espressif devices Add support for NuttX RTOS, with optional support for Espressif devices (RDT-1004) Nov 12, 2024
@hfudev hfudev merged commit 8e742dd into espressif:main Nov 12, 2024
3 of 5 checks passed
@hfudev
Copy link
Member

hfudev commented Nov 12, 2024

Thank you! Will release today or tomorrow

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.

2 participants