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

More Manuals #923

Draft
wants to merge 19 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
79120aa
Rename 'manual' folder to 'manuals', rearrange file structure within …
SteveMicroNova Aug 30, 2024
d4940fd
Update manual(s)
SteveMicroNova Sep 13, 2024
eacea18
Move specific images into their proper specific directories, reroute …
SteveMicroNova Sep 16, 2024
4fd7f68
Update manual troubleshooting guide
SteveMicroNova Sep 16, 2024
2f6566f
Updating wording, images in manuals
SteveMicroNova Sep 19, 2024
a33d8be
Remove references of groups from the streamer manual
SteveMicroNova Sep 19, 2024
224fc0e
Add "tarball" definition to the glossaries
SteveMicroNova Sep 19, 2024
7d0f31e
Update images, fonts, spelling
SteveMicroNova Sep 25, 2024
d7934e7
Change colors, upgrade specs table
SteveMicroNova Sep 25, 2024
1d3289e
Update wording
SteveMicroNova Sep 25, 2024
3e141e8
Update tables to be in latex, add SPECS_TITLE.md as a means of keepin…
SteveMicroNova Sep 25, 2024
51ad415
Remove all references to "streamer unit" from the entire repo, now si…
SteveMicroNova Sep 26, 2024
9d3029b
Change punctuation
SteveMicroNova Sep 26, 2024
bc69340
Update images
SteveMicroNova Sep 26, 2024
e52ae4f
Add newly measured specs
SteveMicroNova Sep 27, 2024
bfd478e
Add error codes section to both TROUBLESHOOTING.md files
SteveMicroNova Oct 14, 2024
cb89643
Remove multiple instances of Airplay across supported stream lists
SteveMicroNova Oct 17, 2024
cbb8c77
Update Webapp PC picture to remove corruption
SteveMicroNova Oct 21, 2024
9445d15
Update info, fix broken font issue
SteveMicroNova Dec 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion amplipi/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -976,7 +976,7 @@ class Info(BaseModel):
mock_ctrl: bool = Field(
default=False, description='Is the controller being mocked? Indicates AmpliPi hardware is not connected')
mock_streams: bool = Field(default=False, description='Are streams being faked? Used for testing.')
is_streamer: bool = Field(default=False, description='Are we a streamer unit?')
is_streamer: bool = Field(default=False, description='Are we a streamer?')
online: bool = Field(default=False, description='can the system connect to the internet?')
latest_release: str = Field(default='unknown', description='Latest software release available from GitHub')
access_key: str = Field(default='', description='session token/API key used for authentication')
Expand Down
2 changes: 1 addition & 1 deletion amplipi/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ def streamer_test(ap1: Client):
print('Failed to get AmpliPi status.')
sys.exit(1)
if len(status.zones) != 0:
raise Exception("""Unit has zones. It may not have detected it was a streamer unit.
raise Exception("""Unit has zones. It may not have detected it was a streamer.
Do a factory reset and try testing again.""")
print('Test will play Digital 1 Left... Digital 4 Right')
print('- Verify that each side of all 4 sources are played out the corresponding RCA outputs')
Expand Down
2 changes: 1 addition & 1 deletion docs/amplipi_api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11226,7 +11226,7 @@ components:
is_streamer:
title: Is Streamer
type: boolean
description: Are we a streamer unit?
description: Are we a streamer?
default: false
online:
title: Online
Expand Down
17 changes: 0 additions & 17 deletions docs/manual/HOW_TO_WRITE_MANUAL.md

This file was deleted.

41 changes: 0 additions & 41 deletions docs/manual/MAIN_CONTROLLER_SPECS.md

This file was deleted.

30 changes: 0 additions & 30 deletions docs/manual/MANUAL.md

This file was deleted.

26 changes: 0 additions & 26 deletions docs/manual/ZONE_EXPANDER.md

This file was deleted.

24 changes: 0 additions & 24 deletions docs/manual/ZONE_EXPANDER_SPECS.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/manual/docker-compose.yaml

This file was deleted.

Binary file removed docs/manual/imgs/back_panel_main.png
Binary file not shown.
Binary file removed docs/manual/imgs/front_panel_main.png
Binary file not shown.
Binary file removed docs/manual/imgs/qr-page.png
Binary file not shown.
61 changes: 0 additions & 61 deletions docs/manual/manual.tex

This file was deleted.

17 changes: 17 additions & 0 deletions docs/manuals/HOW_TO_WRITE_MANUAL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# HOW TO WRITE THE MANUAL

## COMPILING
In VSCode:
1. Make sure you have the docker extension installed
2. On Windows, you'll have to install and open docker desktop, and make sure you have the repo downloded in WSL
3. Right click on docker-compose.yaml, and select "Compose up"
4. Wait to see if the manual.pdf compiles. If you're unsure, delete manual.pdf and try again.

Some reasons why compilation might fail:
- You've used SVGs (the LaTex module that supported SVGs has seemingly been abandoned)
- Your files are routed wrong. In VSCode, right click and copy relative path of a given file to get an accurate pathing, then parse down to the proper relative path from where you're at. This is useful to avoid spelling errors, but also remove any differences between windows and linux in filenames.

## QR CODES
When collecting QR codes, follow these steps:
1. Use the `qrencode` library in linux/wsl using these parameters: `qrencode {url} -o {filename}.svg -t SVG -s 50`
2. Use an image editor and add the QR code to the appropriate place on the qr-page.png file. If using Affinity Photo (an editor that we have a license for in onepass), make sure you combine all layers into one and then rasterize+trim that last layer before exporting as a png
File renamed without changes.
File renamed without changes.
File renamed without changes.
19 changes: 19 additions & 0 deletions docs/manuals/common/GLOSSARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Glossary

- App: Refers to the device software, whether the mobile app or the webapp (see installation page for details)

- Firmware: Software that controls the device hardware

- Group: Collection of Zones that can be controlled together as if they were a single zone

- Imaging / Reimaging: The process of restoring the device to factory settings via the micro-usb service port

- Line-Level: Unamplified output

- Source / Stream: Source of audio, such as an RCA or 3.5mm input or an instance of Spotify, Pandora, Internet Radio, etc. Connects to Groups and/or Zones to output the audio and control volume in said Groups/Zones.

- SSH: Secure Shell, a computer protocol used to wirelessly access the device

- Tarball: Type of compressed file with the `.tar` or `.tar.gz` extension. Typically used to store and transfer software packages in Linux.

- Zone: Pair of speakers connected to one of the device's outputs. Can be added or removed from Streams to change what audio is playing to said speakers, and multiple zones can be organized into groups as to be controlled all at once rather than individually.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions docs/manuals/common/SPECS_TITLE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
## Specifications
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,14 @@ Lack of audio typically has one of a few causes:

## Updating

From the app:
From the App
1. Click the gear icon in the bottom right corner to go to the configuration page
2. Select **Updates** and click the **Check for Updates** button

Without the app:
1. Collecting the IP from the front display of your AmpliPro unit
2. Navigating to `http://{Device_IP}:5001/update`

### New Release
To update your AmpliPi software to the latest version:

Expand All @@ -39,24 +43,45 @@ There are two ways configuration backups are made - manually through the fronten

### Manual backups and restores

Manual backups are taken by navigating to ⚙ -> Config -> Download Config. This configuration includes all configured streams. These backups can be restored using ⚙ -> Config -> Upload Config. It is a good idea to take a manual backup before upgrading your appliance.
Manual backups are taken by navigating to Settings (gear icon) $-\textgreater$ Config $-\textgreater$ Download Config. This configuration includes all configured streams. These backups can be restored going to Settings $-\textgreater$ Config $-\textgreater$ Upload Config and selecting the downloaded config file. It is a good idea to take a manual backup before upgrading your appliance.

### Automated system backups and restores

Automated backups are also taken nightly at 2AM and stored for 90 days, and also whenever you upgrade to a newer version of software. These are raw system backups, accessible only by an advanced user via the backend. These backups help either support, or a technical user, to restore prior system configuration from a particular point in time. If the below instructions do not make sense to you, you should feel free to email [[email protected]](mailto:[email protected]) and we can help restore a backup from your appliance.

These backups are dated tarballs stored at `/home/pi/backups`. This tarball contains the entire `/home/pi/.config/amplipi` directory. To restore this backup:
1. Stop the AmpliPi service (`systemctl stop --user amplipi` as the `pi` user).
1. Unpack a backup tarball and overwrite the contents of `.config/amplipi` (something like `tar --force-local -xvzf backups/config_2024-08-22T12:42:31-04:00_pre-fw-upgrade.tgz -C /`). Here we use `config_2024-08-22T12:42:31-04:00_pre-fw-upgrade.tgz` as an example backup file.
1. Start AmpliPi again (`systemctl start --user amplipi`).`
2. Unpack a backup tarball and overwrite the contents of `.config/amplipi` (something like `tar --force-local -xvzf backups/config_2024-08-22T12:42:31-04:00_pre-fw-upgrade.tgz -C /`). Here we use `config_2024-08-22T12:42:31-04:00_pre-fw-upgrade.tgz` as an example backup file.
3. Start AmpliPi again (`systemctl start --user amplipi`).`

## Reimaging AmpliPro
For directions on how to bring AmpliPro system back to a previous version, scan the QR labeled "Reimaging Instructions" on the links page at the start of this manual, or [click this link](https://github.com/micro-nova/AmpliPi/blob/main/docs/imaging_etcher.md). It is a good idea to take a system backup before running this process; see the above section labelled "Taking and restoring configuration backups".
For directions on how to bring AmpliPro system back to a previous version, scan the QR on the links page at the start of this manual and select "Reimaging Instructions", or [click this link](https://github.com/micro-nova/AmpliPi/blob/main/docs/imaging_etcher.md). It is a good idea to take a system backup before running this process; see the above section labelled "Taking and restoring configuration backups".

## Error Codes
The following numerical codes are displayed on the AmpliPro's E-Ink Display on newer models, or on the TFT Display on older models, when the corresponding error occurs:

- 0: E-Ink Display service is running, but the AmpliPi service itself is not
- 1: Failed to get the IP address for the AmpliPi
- 10: Cannot connnect to REST API
- 11: Time out when connecting to REST API
- 12: Invalid response from REST API
- 13: Other REST API Error
- 14: Error Getting Status From File/Another Process
- 15: Unable to find serial number (Some AmpliPro devices do not have EEPROM boards and therefore do not have internal serial numbers, but these do not have E-Ink Displays)
- 16: Unable to get number of expander units due to Exception
- 17: Unable to get number of expander units from API

## Still need help?

You can contact our support. We can be reached via email at [[email protected]](mailto:[email protected]).

### Gathering Logs

In most cases, the first thing that our support technicians will ask you for is to send us your system logs. These logs are wiped out on system reboot unless you set the "log persistence" setting in the admin panel, so when possible try to either collect them whenever an issue occurs _before_ rebooting your device or set log persistence on.
Logs can be reached by going to Settings -> About -> Logs, or by navigating directly to `http://{Device_IP}:19531/entries`. Once you reach this page, you can either copy and paste the logs into your email, or hit control+S to save them to a file that you can attach to your email.

### Support Tunnel

We may ask you to open a support tunnel so we can connect to your running appliance. When you request a tunnel, the web interface will generate and provide you with two pieces of information - the tunnel ID and a preshared key. Without these pieces of information, we are _incapable_ of connecting to your appliance. Additionally, a support tunnel can be stopped at any time and has an expiration date of 2 weeks after it was created. This is for your privacy and security.

You can request a tunnel by following these steps:
Expand Down
File renamed without changes.
File renamed without changes.
40 changes: 40 additions & 0 deletions docs/manuals/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This file allows the manual to be generated with a single click in vscode
# With the docker extension installed right click on this file and select "Compose Up"
# The file "manual.pdf" will be generated
version: '3'
services:
main:
image: witiko/markdown
container_name: markdown-translator-main
command: latexmk -lualatex main-manual.tex
restart: no
working_dir: /docs/manuals
volumes:
- .:/docs/manuals

expander:
image: witiko/markdown
container_name: markdown-translator-expander
command: latexmk -lualatex expander-manual.tex
restart: no
working_dir: /docs/manuals
volumes:
- .:/docs/manuals

streamer:
image: witiko/markdown
container_name: markdown-translator-streamer
command: latexmk -lualatex streamer-manual.tex
restart: no
working_dir: /docs/manuals
volumes:
- .:/docs/manuals

# wallpanel:
# image: witiko/markdown
# container_name: markdown-translator-wallpanel
# command: latexmk -lualatex wallpanel-manual.tex
# restart: no
# working_dir: /docs/manuals
# volumes:
# - .:/docs/manuals
Loading
Loading