Pushbutton Controls

arduino based linestage using 12B4 tubes

Pushbutton Controls

Postby Shannon Parks » Fri Apr 25, 2014 9:01 am

These are commands controlled by the four physical pushbuttons on the Budgie. No service codes can be done via remote. The code is found at the bottom of commands.h.

Standard Commands
1) Press INPUT: Cycles through four INPUTs with each press. E.g. [1],[2],[3],[4],[3],[2],[1],[2],...
2) Press BOOST: Toggles "Flat EQ" or "Bass EQ" with each press.
3) Press GAIN: Toggles "Gain 0dB" or "Gain 6dB" with each press.
4) Press MUTE: Mutes output.

These settings are stored in memory. So [3] Turntable will stay at Bass EQ with Gain 6dB and [2] CD Player will stay at Flat EQ with Gain 0dB.


Common Service Commands
1) Hold INPUT for at least 1 second: Nametags for [1]... cycle through component list. You can edit the four input nametags in firmware or cycle through a list (which you can also customize - see char inputLabel[10][12] in the mem.h).
Code: Select all
//You can EDIT these labels to whatever you want. You have 12 spaces maximum.
char inputLabel[10][12] = {
  "CD Player ",
  "Turntable ",
  "MP3 Player",
  "DVD Player",
  "Bluetooth ",
  "Tape Deck ",
  "Radio     ",
  "Television",
  "Computer  ",
  "Smartphone"
};

2) Hold BOOST for at least 1 second: Unit enters remote learning mode. Use (almost) any remote. Just press an unused key for features you don't need on your remote to continue this prompted process.
3) Hold MUTE for at least 1 second: Unit enters standby (very low power but still on). Any of the four pushbuttons will turn unit back on from standby while the remote control will just use the dedicated standby button.


Less Common Service Commands
1) Hold GAIN for at least 10 seconds: Resets EEPROM to default values and reboots unit. If things get borked and the unit acts strange, do this.
2) Hold BOOST for at least 10 seconds: Toggle Debug mode and reboots unit. Debug mode eliminates 24V sense circuit (which turns off the display backlight) and 15 second heater warm up. Allows easy code debugging with just USB power. Note that the volume motor pot and relays will not function in Debug mode, but LCD, buttons and IR do. So basically if you are doing some code work, monitoring IR data and EEPROM via serial, etc. switch to debug mode. Switch back to regular mode after you are done to make sure you get the 15 second heater warm up, else you'll get a lot of noise at power up.

TIP: Use this Debug mode and turn on your serial monitor from within the Arduino IDE (Tools>Serial Monitor). The contents of EEPROM will be shown. You can press buttons on your remote to verify consistent HEX codes (usually 7 or 8 hexadecimal digits). The Budgie code should work with remotes that either send a dedicated repeat IR code, duplicate codes or no further code on a held down remote button. But if you get inconsistent IR codes on consecutive presses, then the remote is incompatible (at this time anyhow). You can cut-n-paste these codes to your EEPROM (code is in the middle area of setup.h). This is preferable to the learning mode if you are doing a lot of coding and resetting the EEPROM to default (i.e. you don't have to re-learn the remote every time you reset the unit). You can also post this information to the forums for common remotes. Post using the Code button as follows:
Code: Select all
    //these are the default IR codes that get written to the EEPROM from an Apple Remote
    //you can hard code your own remote's codes here if you know them
    EEPROM_writeAnything(50, 0x77E1D0E2);  //IR_VolumeUp
    EEPROM_writeAnything(54, 0xFFFFFFFF);  //IR_VolumeUpRepeat
    EEPROM_writeAnything(58, 0x77E1B0E2);  //IR_VolumeDown
    EEPROM_writeAnything(62, 0xFFFFFFFF);  //IR_VolumeDownRepeat
    EEPROM_writeAnything(66, 0x77E1E0E2);  //IR_InputUp
    EEPROM_writeAnything(70, 0x77E110E2);  //IR_InputDown
    EEPROM_writeAnything(74, 0x77E1BAE2);  //IR_Standby
    EEPROM_writeAnything(78, 0x77E17AE2);  //IR_Mute
    EEPROM_writeAnything(82, 0x77777777);  //IR_Gain - dummy data and not used with the Apple remote
    EEPROM_writeAnything(86, 0x77E140E2);  //IR_Boost


IMPORTANT: Do NOT connect 24V and USB at the same time. Current can sink to your USB port on your computer and damage it even though the Budgie seems to work OK.
User avatar
Shannon Parks
Site Admin
 
Posts: 3764
Joined: Tue Mar 18, 2003 5:40 pm
Location: Poulsbo, Washington

Return to budgie preamplifier

Who is online

Users browsing this forum: No registered users and 8 guests