Introduction
Assuming you have bought a PreampController, this is the place to get started. It shows how the configuration for your hardware setup is done and provides basic troubleshooting.
Important: In most of the cases, troubleshooting is done through the UART connection! So if something unexpected happens, you need the UART connection to see what is going on.
Boot sequence
When a power supply is connected to the PreampController it starts and does the following:
- The Bootloader checks for 1s for a specific character on the UART to enter firmware upgrade mode
- The Djuke Preamp software is started if this character is not received
- A welcome message is shown on the Display and UART
- The settings are loaded from the internal EEPROM and verified with a checksum
- The software enters standby mode (yellow LED) and waits for user input
Basic control
For basic control of the PreampController the first thing to do is check the power button, then the other buttons, the encoder and finally the display.
Power button
After pressing the power button, the 'powered' mode is entered. This is indicated by the green power LED to light up and yellow standby LED to switch off. Pressing the power button can be emulated from the UART terminal using the command:
button power
Other buttons
The other buttons (menu, left, right, select) can most easily be checked from the UART terminal. Make sure the Preamp is in standby mode. From the UART terminal enter:
db 2
This will provide more debug output (can be switched off again with 'db 0'). Now press each button and check that the following (or similar) output is received:
[D] Right event
Encoder
The encoder can obviously be used to set the volume, but in some menus it is used to change values. Rotate the encoder and check for the following terminal output:
[D] Encoder event
Display
For displays with backlights, the backlight is switched on when the 'powered' mode is entered. The contrast setting for LCD displays can be set with the onboard potmeter. OLED or VFD displays normally do not need any particular configuration. The PreampController checks the 'busy' flag of the display, to cope with varying delay times of different displays. Power the preamp to see if the main status is correctly displayed. If that is not the case, check in the terminal output (with 'db 2') if the display gives a timeout. Instead of checking for the 'busy' flag, try setting a fixed delay with:
par set lcd-delay 2
which sets a fixed delay of 2x100ms. A changed parameter is saved to EEPROM when the Preamp goes from powered to standby mode. It can also be commanded from the terminal:
settings save
Now reboot the PreampController (command 'reboot' from the terminal) to check if the display is working. If not, try other values.
Hardware setup
If the basic control is working, the next step to do would be to configure your hardware setup. The hardware setup can be entered from standby mode, by keeping the 'menu' button pressed and press the 'power' button. The display shows that hardware setup is entered and a special menu is entered, which asks which pcb's are present in your preamp:
- Stereo input selection? Yes/no
- 5.1 input selection? Yes/no
- DAC? Yes/no
- CS3318VolumeControl? Yes/no
- CS3318Type? 5.1ch/8ch/2x8ch
Use the encoder to select the right answer to the questions. Use the left/right/select button to navigate through the questions. When the hardware setup is finished, enter standby mode to save the settings to EEPROM. Basic configuration is now finished! When the preamp is powered, enter the menu to change many more settings (input names, input offsets, channel offsets, parameters, etc).
Advanced control - infrared
A more convenient way to control your preamp is with a remote control. Currently, RC5 remotes are supported, where the IR address of your remote can be set. The IR is setup in a similar way: enter 'db 2', press a button on the remote control and check that the Infrared event is being received in the terminal. Expected output is something like:
[D] Infrared event
[D] IR=RC5 A:0 C:1 S:0
[D] Received=1
In particular the second line is important, which shows that a RC5 code is received with A(address)=0, C(command/button)=1 and the S=0 (amount of same code presses). Make sure the IR address that the preamp listens to corresponds to your remote, this can be set with:
par set ir-address 0
And change the value to what you see after A:#
Again: save settings to EEPROM and enjoy many listening hours!