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

Streamer Software #460

Merged
merged 47 commits into from
May 3, 2023
Merged

Streamer Software #460

merged 47 commits into from
May 3, 2023

Conversation

klay2000
Copy link
Contributor

Changes for supporting streamer box, eeprom(s), and eink display.

Copy link
Contributor

@linknum23 linknum23 left a comment

Choose a reason for hiding this comment

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

you will need to add support for the streamer config in app.load_factory_config right now it defaults to a config with 6 zones.

Michael will review the changes to the display code.

amplipi/ctrl.py Outdated Show resolved Hide resolved
amplipi/eeprom.py Outdated Show resolved Hide resolved
amplipi/display/display.py Outdated Show resolved Hide resolved
@linknum23 linknum23 requested a review from Lohrer April 24, 2023 21:02
Copy link
Collaborator

@Lohrer Lohrer left a comment

Choose a reason for hiding this comment

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

First off, rebase on develop.

Things to fix that I've noticed so far:

  • RCA inputs shouldn't be available.
  • Factory reset config adds zones.
  • Updates fail due to not being able to program the preamp firmware.

Minor issue that can be ignored or fixed later:

  • Zones still show up in the API documentation page.
    The example preset "Mute Some" returns "TypeError: response.presets is undefined"
  • Mute all still occasionaly gets added (not sure by what) as a preset (which fails to run properly).
  • The RCA audiodetector will be installed (note, there's currently a bug where a deploy won't install the audiodetector but the updater will)
  • Shortcuts to tests that won't work are still placed on the Desktop.
  • Error: no preamps found. AmpliPi still tries to connect to the non-existent preamp. I think enough checks are in place that no attempted I2C messages are sent but we should probably be using the "Mock" preamp.
  • "RCA Input" is a Stream Type option for creating a new Stream. Trying to create one currently fails however.

Open questions:

  • Keep amplipi hostname?
  • I get bluetooth errors at startup even though no bluetooth streams are configured. It's possible this is fixed by rebasing on develop which has bluetooth updates.
/usr/bin/bluetoothctl
Error checking for bluetooth hardware: Command '['bluetoothctl', 'show']' timed out after 0.5 seconds
bluetooth dongle unavailable

CHANGELOG.md Outdated Show resolved Hide resolved
@codecov-commenter
Copy link

codecov-commenter commented May 1, 2023

Codecov Report

Merging #460 (4c35c10) into develop (17390bb) will decrease coverage by 3.58%.
The diff coverage is 35.02%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@             Coverage Diff             @@
##           develop     #460      +/-   ##
===========================================
- Coverage    56.25%   52.67%   -3.58%     
===========================================
  Files           12       22      +10     
  Lines         2839     5272    +2433     
===========================================
+ Hits          1597     2777    +1180     
- Misses        1242     2495    +1253     
Flag Coverage Δ
unittests 52.67% <35.02%> (-3.58%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
amplipi/asgi.py 0.00% <0.00%> (ø)
amplipi/display/__init__.py 0.00% <0.00%> (ø)
amplipi/display/common.py 0.00% <0.00%> (ø)
amplipi/display/display.py 0.00% <0.00%> (ø)
amplipi/display/einkdisplay.py 0.00% <0.00%> (ø)
amplipi/display/epd2in13_V3.py 0.00% <0.00%> (ø)
amplipi/display/tftdisplay.py 0.00% <0.00%> (ø)
amplipi/updater/asgi.py 0.00% <0.00%> (ø)
amplipi/rt.py 26.30% <23.07%> (-0.13%) ⬇️
amplipi/mpris.py 37.62% <37.62%> (ø)
... and 8 more

... and 1 file with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Updates should be successful now even when a preamp board doesn't exist.
NOTE: This has a documented dependency that the software must be run once before firmware is installed.
Display was getting into a bad state and the old reset was leaving the display in a busy state. Manually resetting the display using the reset pin got the display out of a bad state. This may fix similar problems in the future but is unproven.
For now these are specified in requirements.txt
This appears to be indicated by a timeout when calling the bluetooth show command
@linknum23 linknum23 requested review from linknum23, jonahshader and Lohrer and removed request for linknum23 May 3, 2023 16:53
@linknum23
Copy link
Contributor

@klay2000 Can you look at the changes I made to the display and verify that they make sense?

Copy link
Contributor

@jonahshader jonahshader left a comment

Choose a reason for hiding this comment

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

No major concerns, looks good

@linknum23 linknum23 merged commit b5454a9 into develop May 3, 2023
1 check passed
@linknum23 linknum23 deleted the streamer-software branch May 3, 2023 21:04
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.

None yet

5 participants