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

Create automated full-unit tests #638

Open
7 tasks
Lohrer opened this issue Feb 7, 2024 · 3 comments
Open
7 tasks

Create automated full-unit tests #638

Lohrer opened this issue Feb 7, 2024 · 3 comments
Assignees
Milestone

Comments

@Lohrer
Copy link
Collaborator

Lohrer commented Feb 7, 2024

We would like to improve testing speed and accuracy by automating as many of the full-unit tests as possible. To start just the AmpliPi main unit should be targeted, but eventually the expanders and streamer should have automated tests as well. The end result should be as many of the checkboxes in TESTING.md being automatically checked (or not) with minimal human intervention.

Tests that should be automated:

  • Configure EEPROM (Needs values input by user)
  • USB Ports
  • Ethernet
  • Program Main + Exp Preamp
  • Communicate with expander
  • Aux Input
  • Preamp
  • Peak detect
  • Preouts

Tests that will be difficult to automate:

  • Service Port

  • Display

  • LEDs

  • Fans and Power

  • Get hardware capable of performing the above tests

    • Find ADCs to record the 32 audio channel outputs
    • Find DACs to output to the 10 audio channel inputs
    • Find/build speaker-level to line-level converter for 12 channels.
    • Computer system capable of processing the audio
  • Write software to record a sample of audio for all possible configurations.

  • Write software to analyze the recorded samples.

@Lohrer Lohrer self-assigned this Feb 7, 2024
@Lohrer
Copy link
Collaborator Author

Lohrer commented Feb 7, 2024

This could be a good ADC/DAC https://motu.com/en-us/products/gen5/ultralite-mk5/ but it's only got 6 input channels out of the 32 we need. Maybe we could do some analog muxing?

There's also this beast with 16 analog inputs https://us.focusrite.com/products/red-16line. Or this cheaper one with 8 analog inputs but it doesn't look like they are fixed https://us.focusrite.com/products/clarett-plus-8pre.

More:

  • (PreSonus Studio 1810c)[https://www.presonus.com/en-US/interfaces/usb-audio-interfaces/studio-series/2777700401.html] $400, 8 line-in 6 line-out
  • (Behringer ADA8200)[https://www.behringer.com/product.html?modelCode=P0ATL] $230 8 line-in 8 line-out

@Lohrer
Copy link
Collaborator Author

Lohrer commented Feb 8, 2024

@linknum23 suggested looking at the Pi+HiFiBerry DAC/ADC. Here's some options:

DAC+ADC options:

Pi options:

Compared to the multi-channel audio devices from the previous post (>$100 per audio channel input) the Pi options (ranging from ~$43 to ~$85 per channel) are surprisingly enticing. More importantly, using many two-channel test components creates flexibility in scaling up and down for the different main unit, expander, and streamer testers.

Downsides mostly are that the main unit needs 16 Pi+Hat+Power+Ethernet.

  • Big! Would need a cluster case or similar to try to contain everything.
  • Ethernet: 16 Pis plus the main controller plus connection to the outside world is going to need a big switch.
  • Power: the Pi 5 required 5A @5v, the Pi 4 requires 3A. I'm sure they won't be pulling that much on average but that still means up to around 5V5A16 = 400W, plus the power strips for it all.

@linknum23
Copy link
Contributor

linknum23 commented Feb 8, 2024 via email

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

No branches or pull requests

3 participants