Skip to content
This repository has been archived by the owner on Oct 2, 2021. It is now read-only.
/ ampy Public archive

audio mixer amp power circuit

License

GPL-3.0, BSD-3-Clause licenses found

Licenses found

GPL-3.0
LICENSE
BSD-3-Clause
LICENSE-TI
Notifications You must be signed in to change notification settings

rodan/ampy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
an audio amplifier project that contains a mixer controlled by an MSP430 microcontroller


contents:
 hardware/power_amp  - power circuit for the amplifier
 hardware/power_pre  - power circuit used by the mixer board
 hardware/amp        - 2x25W amplifier. for a quad setup this board is used twice, for 6 channels it's used 3 times.
 hardware/mixer      - mixer board. 10 inputs, 6 outputs, 12 channels of mixing. a stereo-to-quad panning circuit is included

 firmware_mixer      - software that runs on the MSP430F5510 that is present on the mixer board
 firmware_brain      - software for the main uC (CC430F5137) that interfaces the user with the mixer board. currently user input comes via remote control presses.
 firmware_display    - software that runs on the atmega present on the BADGEr. this is a simple adaptation on Jeremy Blum's "Pi BADGEr ePaper Weather Station".

 linux               - linux client that talks over a serial link to firmware_brain and controls the mixer and the power amp

pictures now available: https://photos.app.goo.gl/L8txqSKrcZFV2BbR8

--------------------------------------------

Mixer board input

two different input methods are available, either via UART or I2C. since they use the exact same 2 pins the switch between them is a compile time option - see config.h. the i2c interface is highly recommended.

I2C implementation

the communication protocol consists of either a direct 14 byte read in which case the current settings are being shared, 2 byte writes for sending commands or 4 byte writes for sending new volume values. the slave address is 0x28.

UART commands
v___   set volume
 ||  volume - [0-255]
 | - channel - {r,l,b}
  -- pga ID - [1-6]
     1: front, 2: rear, 3: line-in
     4: spdif, 5: front-rear pan, 6: center and subwoofer
m_     mute pga
  - pga ID - [1-6]
u_     unmute pga
  - pga ID - [1-6]
w_     write current settings to flash
  - location [1-3]
r_     load saved settings from flash
  - location [1-3]
s      show settings
?      show help



 homepage:        https://github.com/rodan/ampy
 author:          Petre Rodan <[email protected]>
 license:         GNU GPLv3

 parts of the code were originally forked from the openchronos-ng project [1]. 
 linux mixer control code based on alsamixer [2]

 software requirements:

   msp430 toolchain

[1] http://openchronos-ng.sourceforge.net
[2] http://www.alsa-project.org