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 HIL tests for all peripherals which are practical to test #1334

Closed
24 of 38 tasks
jessebraham opened this issue Mar 21, 2024 · 18 comments
Closed
24 of 38 tasks

Add HIL tests for all peripherals which are practical to test #1334

jessebraham opened this issue Mar 21, 2024 · 18 comments
Labels
status:long-term This task will be around a while tests Unit, Integration, or Hardware-in-Loop Testing

Comments

@jessebraham
Copy link
Member

jessebraham commented Mar 21, 2024

For now, let's use the table from #809 (comment):

I've gathered a list of the esp-hal modules and how hard/easy I think it would be to test those (take it with a grain of salt as I may have misevaluated some). Also, some modules can't be tested, or it does not make sense:

@jessebraham jessebraham added the tests Unit, Integration, or Hardware-in-Loop Testing label Mar 21, 2024
@jessebraham jessebraham pinned this issue Mar 21, 2024
@MabezDev
Copy link
Member

One reference for the peripherals is the list @SergioGasquez created here: #809 (comment)

@jessebraham jessebraham added the status:needs-attention This should be prioritized label Apr 4, 2024
@SergioGasquez
Copy link
Member

I will be working on RSA

@SergioGasquez
Copy link
Member

I will be working on CRC

@JurajSadel
Copy link
Contributor

Working on usb-serial-jtag

@SergioGasquez
Copy link
Member

Working on SHA

@SergioGasquez
Copy link
Member

Working on clock monitoring

@JurajSadel
Copy link
Contributor

I'm currently stuck with usb-serial-jtag, I will work on debug-assist next.

@SergioGasquez
Copy link
Member

I will also try to add aes_dma and improve the current aes test to cover all the modes.

@MabezDev MabezDev added status:long-term This task will be around a while and removed status:needs-attention This should be prioritized labels Apr 22, 2024
@Dominaezzz
Copy link
Collaborator

I want to write a HIL test for the LCD_CAM but there's not enough loopback pin connections. At the moment there's only two, any chance I could get two more (at least on the S3)?
The alternative is going through the GPIO matrix (which would be ideal I suppose, less faff to run the tests) but that'll need #1662 .

@SergioGasquez
Copy link
Member

At the moment there's only two, any chance I could get two more (at least on the S3)?

How many connected pins would you need? Feel free to suggest any pins that you would like to get connected, see #1332 (comment) which might be helpful.

@Dominaezzz
Copy link
Collaborator

4 total pairs. A clock pin, a data pin, and two ctrl pins.

According to https://github.com/esp-rs/esp-hal/tree/main/hil-test:

  • GPIO2 and GPIO4 are connected.
  • GPIO5 and GPIO6 are connected.

I suppose a strategic choice for two more pairs would be:

  • GPIO1 and GPIO21. (GPIO1 is the only (excluding strapping pins) pin with the RTC_I2C function).
  • GPIO43 and GPIO45. (GPIO43 is U0TXD pin)

My strategy there was to connect a pin with a specific function to another pin with no functions.
This is an S3 only choice, as the LCD_CAM only exists there.

@SergioGasquez
Copy link
Member

Awesome, I'll try to get those pins connected in the upcoming days. On the ESP32-S3, the following would be added:

  • GPIO1 and GPIO21 are connected.
  • GPIO43 and GPIO45 are connected.

@SergioGasquez
Copy link
Member

@Dominaezzz, our S3 self-hosted runner already has the connections we discussed.

@jessebraham
Copy link
Member Author

As discussed in our team meeting today, it would be nice to come up with some method of testing the TWAI peripheral, whether this be via loopback, external tranciever, or some other solution.

@bugadani
Copy link
Contributor

We can maybe tick systimer after #1979

@Dominaezzz
Copy link
Collaborator

Now that we've got #2128 those extra S3 connections can be removed, as they now get in the way of finding dummy pins. The LCD_CAM HIL test works without the extra connections atm.

@bugadani
Copy link
Contributor

bugadani commented Sep 20, 2024

Yeah those are biting me as well on the 32 I think. We probably need some, though, so let's not mindlessly rip off everything :D

@jessebraham
Copy link
Member Author

This is going to be an eternal issue, there will always be new things to test and new devices are released and new use cases/APIs arise, so I am going to close this and we can open individual issues for peripherals as the need arises.

@bugadani bugadani unpinned this issue Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:long-term This task will be around a while tests Unit, Integration, or Hardware-in-Loop Testing
Projects
Status: Done
Development

No branches or pull requests

6 participants