1.通过新版的上位机中抓取出要通讯的数组。
2.通过I2C userguide编写I2C底层代码
3.针对stm32F103编写底层代码
#include "npca110x.h"
static u8 IIC_ReadByte(void);
static void IIC_WriteByte(u8 byte);
static void IIC_WriteDate(u8 byte);
static int IIC_WaitAck(void);
static void IIC_Stop(void);
static void IIC_Start(void);
static void IIC_Init(void);
static void I2C_Ack(void);
static void I2C_NoAck(void);
static void I2C_Delay(void);
//static void I2C_Write(u8 adress,unsigned long num,const unsigned char *CmdList);
unsigned char MaxxAudio_Cmd_FULL[] =
{
0x00, 0xA5, 0x00, // Setup Start (start initialization state)
0x00, 0xC3, 0x00, // Set Sample Rate : 48KHz
0x00, 0xA4, 0x11, // Load Mixer Gains - Start
0x00, 0x00, 0x00, // M1 - SDI0 to Processing path (-inf)
0x00, 0x00, 0x00, // M2 - SDI1 to Processing path (-inf)
0x00, 0x00, 0x00, // M3 - SDI2 to Processing path (-inf)
0x10, 0x1D, 0x3F, // M4 - SDI3 to Processing path (ADC) (-0.00 dB)
0x00, 0x00, 0x00, // M5 - SDI0 to UnProcessing path (-inf)
0x00, 0x00, 0x00, // M6 - SDI1 to UnProcessing path (-inf)
0x00, 0x00, 0x00, // M7 - SDI2 to UnProcessing path (-inf)
0x00, 0x00, 0x00, // M8 - SDI3 to UnProcessing path (ADC) (-inf)
0x00, 0x00, 0x00, // M9 - SDO0 from Processed path (-inf)
0x00, 0x00, 0x00, // M10- SDO1 from Processed path (-inf)
0x7F, 0xFF, 0xFF, // M11- SDO3 from Processed path (DAC1/AMP) (0.00 dB)
0x00, 0x00, 0x00, // M12- SDO0 from UnProcessed path (-inf)
0x00, 0x00, 0x00, // M13- SDO1 from UnProcessed path (-inf)
0x00, 0x00, 0x00, // M14- SDO3 from UnProcessed path (DAC1/AMP) (-inf)
0x00, 0x00, 0x00, // M15- SDO2 from Subwoofer path (DAC2/AMP) (-inf)
0x00, 0x00, 0x00, // M16- SDO2 from UnProcessed path (DAC2) (-inf)
0x7F, 0xFF, 0xFF, // M17- SDO2 from Processed path (DAC2) (0.00 dB)
0x00, 0xC8, 0x00, // Load Mixer Gains - End
0x00, 0xA7, 0x3E, // Set SSI Control (!!! Verify update POP file (patch) is loaded !!!)
0x00, 0xBF, 0xD5, // ==> Master mode, I2S, 24bit, 64 x DCLK,.
// # PLL and Clocks Configuration (verify 250usec delay between PLL commands)
0xFF, 0xAB, 0xFB, // Set Clock Control Settings
0x24, 0x10, 0x09, // ==> REF=Crystal, CLKOUT=REF/10, DSP=REF/1, CODEC=REF/10,
0xFF, 0xAB, 0xFA, // Set PLL Settings
0x08, 0x00, 0x09, // ==> PLL is RESET.
0xFF, 0xAB, 0xFA, // Set PLL Settings
0x00, 0x00, 0x09, // ==> PLL = (REF * 10) / (1 * 1).
0xFF, 0xAB, 0xFB, // Set Clock Control Settings
0xA4, 0x18, 0x29, // ==> REF=Crystal, CLKOUT=PLL/10, DSP=PLL/1, CODEC=PLL/10,
0xFF, 0xAD, 0x84, // Set CODEC Interface Control
0x00, 0x00, 0x18, // ==> 48KHz, I2S.
0xFF, 0xAD, 0x85, // Set CODEC Power Control
0x00, 0x1F, 0xFF, // ==> DAC1R power-up, DAC1L power-up, DAC2R power-up, DAC2L power-up, ADCR power-up, ADCL power-up,
0xFF, 0xAD, 0x81, // Set ADC Programmable Gain Amp (PGA) Control
0x00, 0x12, 0x12, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x82, // Set ADC Volume Control
0x00, 0x14, 0x14, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x83, // Set ADC Input Control
0x00, 0x00, 0x88, // ==> Stereo, LIN1(30K), RIN1(30K).
0xFF, 0xAD, 0x80, // Set DAC1 Volume Control
0x00, 0x54, 0x54, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x87, // Set DAC2 Volume Control
0x00, 0x54, 0x54, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x86, // CODEC Latch
0x00, 0x00, 0x00,
0xFF, 0xAD, 0x86, // CODEC Latch
0x00, 0x00, 0x01,
0xFF, 0xAD, 0x86, // CODEC Latch
0x00, 0x00, 0x00,
0x00, 0xF4, 0x00, // Sub EQ - Bypass, No Reset
0x03, 0xA8, 0xE0, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE1, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE2, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE3, // Generic Write (Y)
0x40, 0x00, 0x00,
0x03, 0xA8, 0xE4, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE5, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE6, // Generic Write (Y)
0x00, 0x00, 0x00,
0x01, 0xF4, 0x01, // Sub EQ - Active, Reset
0x00, 0xF4, 0x00, // Sub EQ - Bypass, No Reset
0x03, 0xA8, 0xE0, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE1, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE7, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE8, // Generic Write (Y)
0x40, 0x00, 0x00,
0x03, 0xA8, 0xE9, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xEA, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xEB, // Generic Write (Y)
0x00, 0x00, 0x00,
0x01, 0xF4, 0x01, // Sub EQ - Active, Reset
//# I/O Configuration
0xFF, 0xAB, 0xF2, // Set GPIO Pull-Up
0xFF, 0xFF, 0xFF,
0xFF, 0xAB, 0xDB, // Set GPIO Output Enable
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xDC, // Set GPIO Output Value
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF3, // Set GPIO Selection 2
0x00, 0x00, 0x50, // ==> GPIO20, [GPO07/SDO1], Crystal: ON, [SDO2/GPO18] -> GPO18,
0xFF, 0xAB, 0xDA, // Set GPIO Selection 1
0x00, 0x3F, 0x67, // ==> SDO3, SDO2, GPO07, SDO0, SDI3, GPIO04, GPIO03, SDI0, SYNC, DCLK,
//# Start Algorithm Configuration
0x00, 0xC2, 0x00, // Set Speaker Type (Also disable Bypass) : 2.0 Mode
0x00, 0xC9, 0x78, // Set Balance L-CH: 0dB, R-CH: 0dB.
0x00, 0xDF, 0x1E, // Set Leveler Target : -6.00 dB
0x00, 0xDB, 0x78, // Set Leveler Range : -24.00 dB
0x00, 0xDB, 0x78, // Set Leveler Range : -24.00 dB
0x00, 0xC7, 0x00, // Set Soft Mute : Un-Mute (NOTE: Add soft-mute fade time delay)
0x00, 0xE0, 0x0A, // Set Soft-Mute Fade Time : 10 msec
0x00, 0xD5, 0x30, // Set MaxxBass Cutoff Freq : 20.0 Hz
0x00, 0xCF, 0x01, // Set Bypass Algorithm. Bypass is enabled for : High Pass Filter,
0x00, 0xE1, 0x70, // Set MaxxBass Noise Gate Threshold : -100 dB
0x00, 0xCB, 0x00, // Set Original Bass : Disable adding original bass
0x00, 0xE2, 0x2F, // Set MaxxBass Noise Gate Gap : -47 dB
0x00, 0xD9, 0x7F, // Set MaxxTreble Freq : 19903.1 Hz
0x00, 0xE5, 0x2F, // Set MaxxTreble Noise Gate Gap : -47 dB
0x00, 0xE4, 0x70, // Set MaxxTreble Noise Gate Threshold : -100 dB
0x00, 0xD7, 0x30, // Set SubCrossover : 20.0 Hz
0x01, 0xD0, 0x90, // Set MaxxVolume Gain : 0.00 dB
0x00, 0xC6, 0x01, // Set Leveler : OFF
0x00, 0xDD, 0x01, // Set MaxxVolume Type : Hard-Knee
0x00, 0xD4, 0x00, // Set MaxxVolume Dynamic Range : -80 dB
0x00, 0xDA, 0x00, // Set MaxxVolume Low Gain : 0.00 dB
0x00, 0xDC, 0x00, // Set MaxxVolume Noise Gate : -96 dB
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x00, // Ch: 1
0x00, 0x00, 0x01, // Type: Low Shelf
0x00, 0x00, 0x0C, // Freq: 32 Hz
0x00, 0x00, 0x16, // Q: 1.37
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x01, // Ch: 2
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x18, // Freq: 64 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x02, // Ch: 3
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x24, // Freq: 128 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x03, // Ch: 4
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x30, // Freq: 256 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x04, // Ch: 5
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x3C, // Freq: 512 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x05, // Ch: 6
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x48, // Freq: 1024 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x06, // Ch: 7
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x54, // Freq: 2048 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x07, // Ch: 8
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x60, // Freq: 4096 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x08, // Ch: 9
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x6C, // Freq: 8192 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x09, // Ch: 10
0x00, 0x00, 0x02, // Type: High Shelf
0x00, 0x00, 0x78, // Freq: 16384 Hz
0x00, 0x00, 0x16, // Q: 1.37
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xCF, 0x01, // Set Bypass Algorithm. Bypass is enabled for : High Pass Filter,
0x00, 0xD1, 0x00, // Set MaxxBass Intensity : 0.0 %
0x00, 0xD1, 0x09, // Set MaxxBass Intensity : 11.8 %
0x00, 0xD1, 0x12, // Set MaxxBass Intensity : 23.7 %
0x00, 0xD1, 0x1B, // Set MaxxBass Intensity : 35.5 %
0x00, 0xD1, 0x24, // Set MaxxBass Intensity : 47.4 %
0x00, 0xD1, 0x2D, // Set MaxxBass Intensity : 59.2 %
0x00, 0xD1, 0x36, // Set MaxxBass Intensity : 71.1 %
0x00, 0xD1, 0x3F, // Set MaxxBass Intensity : 82.9 %
0x00, 0xD1, 0x48, // Set MaxxBass Intensity : 94.7 %
0x00, 0xD1, 0x4C, // Set MaxxBass Intensity : 100.0 %
0x00, 0xD1, 0x00, // Set MaxxBass Intensity : 0.0 %
0x00, 0xCF, 0x01, // Set Bypass Algorithm. Bypass is enabled for : High Pass Filter,
0x00, 0xD2, 0x00, // Set MaxxTreble Intensity : 0.0 %
0x00, 0xCF, 0x01, // Set Bypass Algorithm. Bypass is enabled for : High Pass Filter,
0x00, 0xD3, 0x00, // Set Maxx3D Intensity : 0.0 %
0x00, 0xD6, 0x0B, // Set Maxx3D Mode : SF 44.1KHz/48KHz, Speaker Span Normal, Low-Pass 0 dB
0x00, 0xCF, 0x01, // Set Bypass Algorithm. Bypass is enabled for : High Pass Filter,
0x00, 0xE8, 0x3F, // Set MaxxDialog Level : 49.6 %
0x00, 0xE9, 0x3F, // Set MaxxDialog Side Level : 49.6 %
0x00, 0xCF, 0x01, // Set Bypass Algorithm. Bypass is enabled for : High Pass Filter,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0xC7, 0x13,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x00, 0x01, 0x40,
0x00, 0xA2, 0x1D, // Load Patch (extend data 29 x 3)
0x0B, 0xF0, 0x80,
0x00, 0xC2, 0x71,
0x0B, 0xF0, 0x80,
0x00, 0x01, 0x53,
0x20, 0x00, 0x13,
0x50, 0xF0, 0x00,
0x00, 0x01, 0xA5,
0x00, 0x00, 0x0A,
0x0D, 0x10, 0x42,
0x00, 0x00, 0x06,
0x0A, 0x9C, 0x21,
0x08, 0xC8, 0x34,
0x00, 0x00, 0x00,
0x08, 0xC8, 0x35,
0x50, 0x70, 0x00,
0x00, 0x01, 0xA5,
0x0B, 0xF0, 0x80,
0x00, 0xC2, 0xAE,
0x00, 0x00, 0x04,
0x50, 0xF4, 0x00,
0x00, 0xBB, 0x80,
0x50, 0x70, 0x00,
0x00, 0x01, 0xA5,
0x20, 0x00, 0x13,
0x07, 0x70, 0x88,
0x00, 0x01, 0x42,
0x07, 0x70, 0x88,
0x00, 0x01, 0x43,
0x00, 0x00, 0x0C,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0xC1, 0xB5,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x0A, 0xF0, 0x80,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x01, 0x40,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x01,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0xC7, 0x29,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x54, 0x58, 0x00,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x02,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0xC7, 0x13,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x00, 0x02, 0xE0,
0x00, 0xA2, 0x88, // Load Patch (extend data 136 x 3)
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x02, 0x55, 0x96,
0x02, 0x79, 0x1F,
0x02, 0x9E, 0xC5,
0x02, 0xC6, 0xA8,
0x02, 0xF0, 0xEA,
0x03, 0x1D, 0xAF,
0x03, 0x4D, 0x1E,
0x03, 0x7F, 0x5F,
0x03, 0xB4, 0x9D,
0x03, 0xED, 0x05,
0x04, 0x28, 0xC8,
0x04, 0x68, 0x19,
0x04, 0xAB, 0x2D,
0x04, 0xF2, 0x3F,
0x05, 0x3D, 0x8A,
0x05, 0x8D, 0x50,
0x05, 0xE1, 0xD4,
0x06, 0x3B, 0x5F,
0x06, 0x9A, 0x3D,
0x06, 0xFE, 0xBF,
0x07, 0x69, 0x3B,
0x07, 0xDA, 0x0C,
0x08, 0x51, 0x92,
0x08, 0xD0, 0x34,
0x09, 0x56, 0x5D,
0x09, 0xE4, 0x81,
0x0A, 0x7B, 0x19,
0x0B, 0x1A, 0xA6,
0x0B, 0xC3, 0xAF,
0x0C, 0x76, 0xC5,
0x0D, 0x34, 0x82,
0x0D, 0xFD, 0x88,
0x0E, 0xD2, 0x82,
0x0F, 0xB4, 0x26,
0x10, 0xA3, 0x36,
0x11, 0xA0, 0x7D,
0x12, 0xAC, 0xD4,
0x13, 0xC9, 0x21,
0x14, 0xF6, 0x56,
0x16, 0x35, 0x76,
0x17, 0x87, 0x91,
0x18, 0xED, 0xC8,
0x1A, 0x69, 0x4D,
0x1B, 0xFB, 0x66,
0x1D, 0xA5, 0x6A,
0x1F, 0x68, 0xC5,
0x21, 0x46, 0xFB,
0x23, 0x41, 0xA5,
0x25, 0x5A, 0x74,
0x27, 0x93, 0x34,
0x29, 0xED, 0xCD,
0x2C, 0x6C, 0x42,
0x2F, 0x10, 0xB8,
0x31, 0xDD, 0x73,
0x34, 0xD4, 0xDA,
0x37, 0xF9, 0x78,
0x3B, 0x4E, 0x02,
0x3E, 0xD5, 0x54,
0x01, 0x0A, 0x4A,
0x01, 0x1A, 0x23,
0x01, 0x2A, 0xED,
0x01, 0x3C, 0xB8,
0x01, 0x4F, 0x92,
0x01, 0x63, 0x8D,
0x01, 0x78, 0xB9,
0x01, 0x8F, 0x28,
0x01, 0xA6, 0xEF,
0x01, 0xC0, 0x21,
0x01, 0xDA, 0xD6,
0x01, 0xF7, 0x24,
0x02, 0x15, 0x24,
0x02, 0x34, 0xF1,
0x02, 0x56, 0xA6,
0x02, 0x7A, 0x63,
0x02, 0xA0, 0x46,
0x02, 0xC8, 0x71,
0x02, 0xF3, 0x0A,
0x03, 0x20, 0x37,
0x03, 0x50, 0x20,
0x03, 0x82, 0xF4,
0x03, 0xB8, 0xE0,
0x03, 0xF2, 0x17,
0x04, 0x2E, 0xD1,
0x04, 0x6F, 0x48,
0x04, 0xB3, 0xBA,
0x04, 0xFC, 0x6D,
0x05, 0x49, 0xA9,
0x05, 0x9B, 0xBF,
0x05, 0xF3, 0x04,
0x06, 0x4F, 0xD8,
0x06, 0xB2, 0xA2,
0x07, 0x1B, 0xD1,
0x07, 0x8B, 0xE2,
0x08, 0x03, 0x5E,
0x08, 0x82, 0xDC,
0x09, 0x0B, 0x05,
0x09, 0x9C, 0x95,
0x0A, 0x38, 0x5E,
0x0A, 0xDF, 0x51,
0x0B, 0x92, 0x7D,
0x0C, 0x53, 0x17,
0x0D, 0x22, 0x84,
0x0E, 0x02, 0x61,
0x0E, 0xF4, 0x91,
0x0F, 0xFB, 0x4D,
0x11, 0x19, 0x37,
0x12, 0x51, 0x77,
0x13, 0xA7, 0xE3,
0x15, 0x21, 0x2B,
0x16, 0xC3, 0x21,
0x18, 0x95, 0x18,
0x1A, 0xA0, 0x69,
0x1C, 0xF1, 0x39,
0x1F, 0x97, 0xA2,
0x22, 0xA9, 0x72,
0x26, 0x45, 0x00,
0x2A, 0x95, 0xCE,
0x2F, 0xDC, 0xA1,
0x36, 0x7E, 0x5D,
0x3F, 0x21, 0x66,
0x4A, 0xED, 0x42,
0x5C, 0x26, 0x73,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x01,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0x1A, 0x48,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x20, 0xEE, 0x7D,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x02, 0x90, 0x78,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x02,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0x1A, 0x4A,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x21, 0xE6, 0x00,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x03,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0x10, 0x95,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x4F, 0xDC, 0xBA,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x04,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0x13, 0x9E,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x05,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0x0F, 0x6C,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x56, 0xF4, 0x00,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x00, 0xA9,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x06,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0x0F, 0x66,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x0A, 0xF0, 0x80,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x00, 0xB6,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x07,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x20, 0x19, 0xE4,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x63, 0xF4, 0x00,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x02, 0xE0,
0x06, 0xAA, 0x06, // Set Patch Version
0x00, 0xA2, 0xD4, // Load Patch (extend data 212 x 3)
0x61, 0xF4, 0x00,
0x00, 0x00, 0xE7,
0x61, 0x70, 0x00,
0x00, 0x02, 0x47,
0x3C, 0x0A, 0x00,
0x38, 0x0A, 0x00,
0x64, 0xF4, 0x00,
0x00, 0x01, 0x34,
0x60, 0xF4, 0x00,
0x00, 0x01, 0xDA,
0x05, 0xF4, 0x20,
0xFF, 0xFF, 0xFF,
0x04, 0x64, 0xA0,
0x20, 0x4C, 0x00,
0x20, 0x48, 0x00,
0x44, 0xB8, 0x00,
0x0C, 0xC4, 0xA0,
0x00, 0x00, 0x16,
0x57, 0xF4, 0x00,
0x7F, 0xF7, 0x05,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0x38,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x20, 0x5C, 0x00,
0x20, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0xBC,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xC7, 0x29,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x0A, 0xF0, 0x80,
0x00, 0x00, 0x78,
0x57, 0xF4, 0x00,
0x7F, 0xF6, 0x3A,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0x27,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x20, 0x5C, 0x00,
0x20, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0xB6,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xC2, 0x23,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x54, 0xF0, 0x00,
0xFF, 0xFF, 0xF1,
0x0C, 0x1E, 0xE2,
0x01, 0x40, 0xC6,
0x00, 0x00, 0x07,
0x01, 0x40, 0xC5,
0x00, 0x00, 0x01,
0x0A, 0xF0, 0xA2,
0x00, 0x00, 0x89,
0x61, 0xF4, 0x00,
0x00, 0xCD, 0xAC,
0x61, 0x70, 0x00,
0x00, 0x02, 0x14,
0x61, 0xF4, 0x00,
0x00, 0xC8, 0x32,
0x61, 0x70, 0x00,
0x00, 0x01, 0xFF,
0x60, 0xF4, 0x00,
0x00, 0x00, 0xEF,
0x60, 0x70, 0x00,
0x00, 0x01, 0xF8,
0x0B, 0xF0, 0x80,
0x00, 0x00, 0xEF,
0x6C, 0xF0, 0x00,
0x00, 0x02, 0x4E,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x43,
0x4C, 0xEC, 0x00,
0x0C, 0xC4, 0xA0,
0x00, 0x00, 0x06,
0x61, 0xF0, 0x00,
0x00, 0x02, 0x51,
0x0B, 0xE1, 0x80,
0x00, 0x00, 0x0C,
0x44, 0xF0, 0x00,
0x00, 0x02, 0xB2,
0x0B, 0xF0, 0x80,
0x00, 0xD2, 0xAB,
0x44, 0xF0, 0x00,
0x00, 0x01, 0xB2,
0x0B, 0xF0, 0x80,
0x00, 0xD3, 0x01,
0x61, 0xF4, 0x00,
0x00, 0x00, 0xBD,
0x61, 0x70, 0x00,
0x00, 0x02, 0x42,
0x61, 0xF4, 0x00,
0xFF, 0xFF, 0xF4,
0x44, 0xF4, 0x00,
0x00, 0x00, 0x07,
0x44, 0x59, 0x00,
0x44, 0xB8, 0x00,
0x0C, 0xC4, 0xA0,
0x00, 0x00, 0x06,
0x44, 0xF4, 0x00,
0x20, 0x19, 0xE4,
0x0A, 0xF0, 0x80,
0x00, 0x00, 0xB4,
0x44, 0xF4, 0x00,
0x30, 0x19, 0xE4,
0x44, 0x61, 0x00,
0x00, 0x00, 0x0C,
0x61, 0xF0, 0x00,
0x00, 0x02, 0x20,
0x21, 0xBA, 0x00,
0x0B, 0xE1, 0x80,
0x0B, 0xF0, 0x80,
0x00, 0x00, 0xC2,
0x00, 0x00, 0x0C,
0x0B, 0xF0, 0x80,
0x00, 0xD1, 0x39,
0x0B, 0xF0, 0x80,
0x00, 0x00, 0xC2,
0x00, 0x00, 0x0C,
0x6C, 0xF0, 0x00,
0x00, 0x02, 0x4E,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x0A,
0x20, 0x4C, 0x00,
0x4E, 0xE4, 0x00,
0x20, 0xCF, 0x00,
0x6C, 0xF0, 0x00,
0x00, 0x02, 0x4E,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x03,
0x20, 0x4C, 0x00,
0x4E, 0xE4, 0x00,
0x20, 0xCE, 0x00,
0x20, 0x00, 0x0D,
0x0D, 0x10, 0x49,
0x00, 0x00, 0x15,
0x57, 0xF0, 0x00,
0x00, 0x02, 0xB7,
0x46, 0xF4, 0x00,
0x00, 0x00, 0x01,
0x20, 0x00, 0x58,
0x21, 0xE5, 0x3A,
0x20, 0x00, 0x68,
0x47, 0xF4, 0x00,
0x00, 0x16, 0x00,
0x46, 0xF0, 0x78,
0x00, 0x00, 0x48,
0x20, 0x00, 0x58,
0x21, 0xF3, 0x00,
0x4E, 0xDB, 0x00,
0x4E, 0x5C, 0x00,
0x4E, 0xDB, 0x00,
0x4E, 0x5C, 0x00,
0x4E, 0xDB, 0x00,
0x4E, 0x64, 0x00,
0x00, 0x00, 0x0C,
0x0B, 0xF0, 0x80,
0x00, 0xD3, 0x68,
0x46, 0xF4, 0x00,
0x4D, 0xF8, 0xF0,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x1E,
0x4E, 0x6C, 0x00,
0x00, 0x00, 0x0C,
0x55, 0xBE, 0x00,
0x01, 0x40, 0xCE,
0xFF, 0xFF, 0x3F,
0x30, 0xFF, 0x00,
0x04, 0xCD, 0xCD,
0x20, 0x00, 0x1B,
0x22, 0x09, 0x00,
0x00, 0x00, 0x0B,
0x0D, 0x10, 0x4A,
0x00, 0x00, 0x0A,
0x0A, 0x9D, 0xA1,
0x00, 0x00, 0xF6,
0x22, 0x09, 0x00,
0x00, 0x00, 0x0B,
0x0D, 0x10, 0x4A,
0x00, 0x00, 0x04,
0x0A, 0x9D, 0x81,
0x00, 0x00, 0xFC,
0x08, 0x45, 0x1A,
0x56, 0xF4, 0x00,
0x00, 0x03, 0xFF,
0x20, 0x00, 0x62,
0x08, 0xCC, 0x1A,
0x20, 0xA4, 0x00,
0x07, 0xF0, 0x2D,
0x00, 0x00, 0x3E,
0x57, 0xF0, 0x00,
0x00, 0x02, 0xAC,
0x45, 0xF4, 0x00,
0x00, 0x00, 0x02,
0x45, 0xF4, 0x6A,
0xFF, 0x0F, 0xFF,
0x20, 0x00, 0x6E,
0x55, 0x70, 0x00,
0x00, 0x02, 0xAC,
0x08, 0xC4, 0x1A,
0x00, 0x00, 0x0C,
0x00, 0xAC, 0x00, // Setup Completed (end initialization state and start audio processing state)
0x00, 0xF0, 0x00, // Disable MaxxVolume to MaxxBass Correlation
0x01, 0xF1, 0xD6, // Correlation Threshold
0x00, 0xF2, 0x01, // Correlation Ratio
0x00, 0xF3, 0x00, // Disable Midnight Mode
0x00, 0xF4, 0x01, // Sub EQ - Active, No Reset
0x00, 0xAC, 0x00, // Setup Completed (end initialization state and start audio processing state)
};
#define MaxxAudio_Cmd_FULL_Size (sizeof(MaxxAudio_Cmd_FULL))
unsigned char MaxxAudio_Cmd_Alg[] =
{
0x00, 0xF4, 0x00, // Sub EQ - Bypass, No Reset
0x01, 0xF4, 0x01, // Sub EQ - Active, Reset
0x00, 0xF4, 0x00, // Sub EQ - Bypass, No Reset
0x01, 0xF4, 0x01, // Sub EQ - Active, Reset
0x00, 0xC2, 0x00, // Set Speaker Type (Also disable Bypass) : 2.0 Mode
0x00, 0xC9, 0x78, // Set Balance L-CH: 0dB, R-CH: 0dB.
0x00, 0xDF, 0x1E, // Set Leveler Target : -6.00 dB
0x00, 0xDB, 0x78, // Set Leveler Range : -24.00 dB
0x00, 0xDB, 0x78, // Set Leveler Range : -24.00 dB
0x00, 0xC7, 0x00, // Set Soft Mute : Un-Mute (NOTE: Add soft-mute fade time delay)
0x00, 0xE0, 0x0A, // Set Soft-Mute Fade Time : 10 msec
0x00, 0xD5, 0x30, // Set MaxxBass Cutoff Freq : 20.0 Hz
0x00, 0xE3, 0x30, // Set Front High-Pass Freq : 20.0 Hz
0x00, 0xCF, 0x00, // Set Bypass Algorithm. Bypass is disabled for all algorithms.
0x00, 0xE1, 0x70, // Set MaxxBass Noise Gate Threshold : -100 dB
0x00, 0xCB, 0x01, // Set Original Bass : Enable adding original bass
0x00, 0xE2, 0x2F, // Set MaxxBass Noise Gate Gap : -47 dB
0x00, 0xD9, 0x7F, // Set MaxxTreble Freq : 19903.1 Hz
0x00, 0xE5, 0x2F, // Set MaxxTreble Noise Gate Gap : -47 dB
0x00, 0xE4, 0x70, // Set MaxxTreble Noise Gate Threshold : -100 dB
0x00, 0xD7, 0x30, // Set SubCrossover : 20.0 Hz
0x01, 0xD0, 0x90, // Set MaxxVolume Gain : 0.00 dB
0x00, 0xC6, 0x01, // Set Leveler : OFF
0x00, 0xDD, 0x01, // Set MaxxVolume Type : Hard-Knee
0x00, 0xD4, 0x00, // Set MaxxVolume Dynamic Range : -80 dB
0x00, 0xDA, 0x00, // Set MaxxVolume Low Gain : 0.00 dB
0x00, 0xDC, 0x00, // Set MaxxVolume Noise Gate : -96 dB
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x00, // Ch: 1
0x00, 0x00, 0x01, // Type: Low Shelf
0x00, 0x00, 0x0D, // Freq: 34 Hz
0x00, 0x00, 0x16, // Q: 1.37
0x00, 0x00, 0x56, // Gain: 6.2
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x01, // Ch: 2
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x18, // Freq: 64 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x02, // Ch: 3
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x25, // Freq: 136 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x57, // Gain: 6.5
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x03, // Ch: 4
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x30, // Freq: 256 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x04, // Ch: 5
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x3D, // Freq: 542 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x52, // Gain: 5.1
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x05, // Ch: 6
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x48, // Freq: 1024 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x06, // Ch: 7
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x54, // Freq: 2048 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x07, // Ch: 8
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x60, // Freq: 4096 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x08, // Ch: 9
0x00, 0x00, 0x00, // Type: Bell
0x00, 0x00, 0x6C, // Freq: 8192 Hz
0x00, 0x00, 0x3A, // Q: 2.96
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xA1, 0x05, // Load PEQ Start
0x00, 0x00, 0x09, // Ch: 10
0x00, 0x00, 0x02, // Type: High Shelf
0x00, 0x00, 0x78, // Freq: 16384 Hz
0x00, 0x00, 0x16, // Q: 1.37
0x00, 0x00, 0x40, // Gain: -0.0
0x00, 0xD8, 0x00, // Load PEQ End
0x00, 0xCF, 0x01, // Set Bypass Algorithm. Bypass is enabled for : High Pass Filter,
0x00, 0xD1, 0x00, // Set MaxxBass Intensity : 0.0 %
0x00, 0xD1, 0x09, // Set MaxxBass Intensity : 11.8 %
0x00, 0xD1, 0x12, // Set MaxxBass Intensity : 23.7 %
0x00, 0xD1, 0x1B, // Set MaxxBass Intensity : 35.5 %
0x00, 0xD1, 0x24, // Set MaxxBass Intensity : 47.4 %
0x00, 0xD1, 0x2D, // Set MaxxBass Intensity : 59.2 %
0x00, 0xD1, 0x36, // Set MaxxBass Intensity : 71.1 %
0x00, 0xD1, 0x3F, // Set MaxxBass Intensity : 82.9 %
0x00, 0xD1, 0x48, // Set MaxxBass Intensity : 94.7 %
0x00, 0xD1, 0x4C, // Set MaxxBass Intensity : 100.0 %
0x00, 0xD1, 0x11, // Set MaxxBass Intensity : 22.4 %
0x00, 0xCF, 0x00, // Set Bypass Algorithm. Bypass is disabled for all algorithms.
0x00, 0xD2, 0x00, // Set MaxxTreble Intensity : 0.0 %
0x00, 0xCF, 0x00, // Set Bypass Algorithm. Bypass is disabled for all algorithms.
0x00, 0xD3, 0x00, // Set Maxx3D Intensity : 0.0 %
0x00, 0xD6, 0x0B, // Set Maxx3D Mode : SF 44.1KHz/48KHz, Speaker Span Normal, Low-Pass 0 dB
0x00, 0xCF, 0x00, // Set Bypass Algorithm. Bypass is disabled for all algorithms.
0x00, 0xE8, 0x3F, // Set MaxxDialog Level : 49.6 %
0x00, 0xE9, 0x3F, // Set MaxxDialog Side Level : 49.6 %
0x00, 0xCF, 0x00, // Set Bypass Algorithm. Bypass is disabled for all algorithms.
0x00, 0xF0, 0x01, // Enable MaxxVolume to MaxxBass Correlation
0x01, 0xF1, 0xB8, // Correlation Threshold
0x00, 0xF2, 0x02, // Correlation Ratio
0x00, 0xF3, 0x00, // Disable Midnight Mode
0x00, 0xF4, 0x01, // Sub EQ - Active, No Reset
};
#define MaxxAudio_Cmd_Alg_Size (sizeof(MaxxAudio_Cmd_Alg))
unsigned char MaxxAudio_Cmd_Sys[] =
{
0x00, 0xC3, 0x00, // Set Sample Rate : 48KHz
0x00, 0xA4, 0x11, // Load Mixer Gains - Start
0x00, 0x00, 0x00, // M1 - SDI0 to Processing path (-inf)
0x00, 0x00, 0x00, // M2 - SDI1 to Processing path (-inf)
0x00, 0x00, 0x00, // M3 - SDI2 to Processing path (-inf)
0x10, 0x1D, 0x3F, // M4 - SDI3 to Processing path (ADC) (-0.00 dB)
0x00, 0x00, 0x00, // M5 - SDI0 to UnProcessing path (-inf)
0x00, 0x00, 0x00, // M6 - SDI1 to UnProcessing path (-inf)
0x00, 0x00, 0x00, // M7 - SDI2 to UnProcessing path (-inf)
0x00, 0x00, 0x00, // M8 - SDI3 to UnProcessing path (ADC) (-inf)
0x00, 0x00, 0x00, // M9 - SDO0 from Processed path (-inf)
0x00, 0x00, 0x00, // M10- SDO1 from Processed path (-inf)
0x7F, 0xFF, 0xFF, // M11- SDO3 from Processed path (DAC1/AMP) (0.00 dB)
0x00, 0x00, 0x00, // M12- SDO0 from UnProcessed path (-inf)
0x00, 0x00, 0x00, // M13- SDO1 from UnProcessed path (-inf)
0x00, 0x00, 0x00, // M14- SDO3 from UnProcessed path (DAC1/AMP) (-inf)
0x00, 0x00, 0x00, // M15- SDO2 from Subwoofer path (DAC2/AMP) (-inf)
0x00, 0x00, 0x00, // M16- SDO2 from UnProcessed path (DAC2) (-inf)
0x7F, 0xFF, 0xFF, // M17- SDO2 from Processed path (DAC2) (0.00 dB)
0x00, 0xC8, 0x00, // Load Mixer Gains - End
0x00, 0xA7, 0x3E, // Set SSI Control (!!! Verify update POP file (patch) is loaded !!!)
0x00, 0xBF, 0xD5, // ==> Master mode, I2S, 24bit, 64 x DCLK,.
// # PLL and Clocks Configuration (verify 250usec delay between PLL commands)
0xFF, 0xAB, 0xFB, // Set Clock Control Settings
0x24, 0x10, 0x09, // ==> REF=Crystal, CLKOUT=REF/10, DSP=REF/1, CODEC=REF/10,
0xFF, 0xAB, 0xFA, // Set PLL Settings
0x08, 0x00, 0x09, // ==> PLL is RESET.
0xFF, 0xAB, 0xFA, // Set PLL Settings
0x00, 0x00, 0x09, // ==> PLL = (REF * 10) / (1 * 1).
0xFF, 0xAB, 0xFB, // Set Clock Control Settings
0xA4, 0x18, 0x29, // ==> REF=Crystal, CLKOUT=PLL/10, DSP=PLL/1, CODEC=PLL/10,
0xFF, 0xAD, 0x84, // Set CODEC Interface Control
0x00, 0x00, 0x18, // ==> 48KHz, I2S.
0xFF, 0xAD, 0x85, // Set CODEC Power Control
0x00, 0x1F, 0xFF, // ==> DAC1R power-up, DAC1L power-up, DAC2R power-up, DAC2L power-up, ADCR power-up, ADCL power-up,
0xFF, 0xAD, 0x81, // Set ADC Programmable Gain Amp (PGA) Control
0x00, 0x12, 0x12, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x82, // Set ADC Volume Control
0x00, 0x14, 0x14, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x83, // Set ADC Input Control
0x00, 0x00, 0x88, // ==> Stereo, LIN1(30K), RIN1(30K).
0xFF, 0xAD, 0x80, // Set DAC1 Volume Control
0x00, 0x54, 0x54, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x87, // Set DAC2 Volume Control
0x00, 0x54, 0x54, // ==> L-CH: 0.0 dB, R-CH: 0.0 dB,
0xFF, 0xAD, 0x86, // CODEC Latch
0x00, 0x00, 0x00,
0xFF, 0xAD, 0x86, // CODEC Latch
0x00, 0x00, 0x01,
0xFF, 0xAD, 0x86, // CODEC Latch
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE0, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE1, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE2, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE3, // Generic Write (Y)
0x40, 0x00, 0x00,
0x03, 0xA8, 0xE4, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE5, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE6, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE0, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE1, // Generic Write (Y)
0x00, 0x00, 0x01,
0x03, 0xA8, 0xE7, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xE8, // Generic Write (Y)
0x40, 0x00, 0x00,
0x03, 0xA8, 0xE9, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xEA, // Generic Write (Y)
0x00, 0x00, 0x00,
0x03, 0xA8, 0xEB, // Generic Write (Y)
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF2, // Set GPIO Pull-Up
0xFF, 0xFF, 0xFF,
0xFF, 0xAB, 0xDB, // Set GPIO Output Enable
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xDC, // Set GPIO Output Value
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF3, // Set GPIO Selection 2
0x00, 0x00, 0x40, // ==> GPIO20, [GPO07/SDO1], Crystal: ON, [SDO2/GPO18] -> SDO2,
0xFF, 0xAB, 0xDA, // Set GPIO Selection 1
0x00, 0x3F, 0xEF, // ==> SDO3, SDO2, SDO1, SDO0, SDI3, GPIO04, SDI1, SDI0, SYNC, DCLK,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0xC7, 0x13,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x00, 0x01, 0x40,
0x00, 0xA2, 0x1D, // Load Patch (extend data 29 x 3)
0x0B, 0xF0, 0x80,
0x00, 0xC2, 0x71,
0x0B, 0xF0, 0x80,
0x00, 0x01, 0x53,
0x20, 0x00, 0x13,
0x50, 0xF0, 0x00,
0x00, 0x01, 0xA5,
0x00, 0x00, 0x0A,
0x0D, 0x10, 0x42,
0x00, 0x00, 0x06,
0x0A, 0x9C, 0x21,
0x08, 0xC8, 0x34,
0x00, 0x00, 0x00,
0x08, 0xC8, 0x35,
0x50, 0x70, 0x00,
0x00, 0x01, 0xA5,
0x0B, 0xF0, 0x80,
0x00, 0xC2, 0xAE,
0x00, 0x00, 0x04,
0x50, 0xF4, 0x00,
0x00, 0xBB, 0x80,
0x50, 0x70, 0x00,
0x00, 0x01, 0xA5,
0x20, 0x00, 0x13,
0x07, 0x70, 0x88,
0x00, 0x01, 0x42,
0x07, 0x70, 0x88,
0x00, 0x01, 0x43,
0x00, 0x00, 0x0C,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0xC1, 0xB5,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x0A, 0xF0, 0x80,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x01, 0x40,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x01,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0xC7, 0x29,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x54, 0x58, 0x00,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x02,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0xC7, 0x13,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x00, 0x02, 0xE0,
0x00, 0xA2, 0x88, // Load Patch (extend data 136 x 3)
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x02, 0x55, 0x96,
0x02, 0x79, 0x1F,
0x02, 0x9E, 0xC5,
0x02, 0xC6, 0xA8,
0x02, 0xF0, 0xEA,
0x03, 0x1D, 0xAF,
0x03, 0x4D, 0x1E,
0x03, 0x7F, 0x5F,
0x03, 0xB4, 0x9D,
0x03, 0xED, 0x05,
0x04, 0x28, 0xC8,
0x04, 0x68, 0x19,
0x04, 0xAB, 0x2D,
0x04, 0xF2, 0x3F,
0x05, 0x3D, 0x8A,
0x05, 0x8D, 0x50,
0x05, 0xE1, 0xD4,
0x06, 0x3B, 0x5F,
0x06, 0x9A, 0x3D,
0x06, 0xFE, 0xBF,
0x07, 0x69, 0x3B,
0x07, 0xDA, 0x0C,
0x08, 0x51, 0x92,
0x08, 0xD0, 0x34,
0x09, 0x56, 0x5D,
0x09, 0xE4, 0x81,
0x0A, 0x7B, 0x19,
0x0B, 0x1A, 0xA6,
0x0B, 0xC3, 0xAF,
0x0C, 0x76, 0xC5,
0x0D, 0x34, 0x82,
0x0D, 0xFD, 0x88,
0x0E, 0xD2, 0x82,
0x0F, 0xB4, 0x26,
0x10, 0xA3, 0x36,
0x11, 0xA0, 0x7D,
0x12, 0xAC, 0xD4,
0x13, 0xC9, 0x21,
0x14, 0xF6, 0x56,
0x16, 0x35, 0x76,
0x17, 0x87, 0x91,
0x18, 0xED, 0xC8,
0x1A, 0x69, 0x4D,
0x1B, 0xFB, 0x66,
0x1D, 0xA5, 0x6A,
0x1F, 0x68, 0xC5,
0x21, 0x46, 0xFB,
0x23, 0x41, 0xA5,
0x25, 0x5A, 0x74,
0x27, 0x93, 0x34,
0x29, 0xED, 0xCD,
0x2C, 0x6C, 0x42,
0x2F, 0x10, 0xB8,
0x31, 0xDD, 0x73,
0x34, 0xD4, 0xDA,
0x37, 0xF9, 0x78,
0x3B, 0x4E, 0x02,
0x3E, 0xD5, 0x54,
0x01, 0x0A, 0x4A,
0x01, 0x1A, 0x23,
0x01, 0x2A, 0xED,
0x01, 0x3C, 0xB8,
0x01, 0x4F, 0x92,
0x01, 0x63, 0x8D,
0x01, 0x78, 0xB9,
0x01, 0x8F, 0x28,
0x01, 0xA6, 0xEF,
0x01, 0xC0, 0x21,
0x01, 0xDA, 0xD6,
0x01, 0xF7, 0x24,
0x02, 0x15, 0x24,
0x02, 0x34, 0xF1,
0x02, 0x56, 0xA6,
0x02, 0x7A, 0x63,
0x02, 0xA0, 0x46,
0x02, 0xC8, 0x71,
0x02, 0xF3, 0x0A,
0x03, 0x20, 0x37,
0x03, 0x50, 0x20,
0x03, 0x82, 0xF4,
0x03, 0xB8, 0xE0,
0x03, 0xF2, 0x17,
0x04, 0x2E, 0xD1,
0x04, 0x6F, 0x48,
0x04, 0xB3, 0xBA,
0x04, 0xFC, 0x6D,
0x05, 0x49, 0xA9,
0x05, 0x9B, 0xBF,
0x05, 0xF3, 0x04,
0x06, 0x4F, 0xD8,
0x06, 0xB2, 0xA2,
0x07, 0x1B, 0xD1,
0x07, 0x8B, 0xE2,
0x08, 0x03, 0x5E,
0x08, 0x82, 0xDC,
0x09, 0x0B, 0x05,
0x09, 0x9C, 0x95,
0x0A, 0x38, 0x5E,
0x0A, 0xDF, 0x51,
0x0B, 0x92, 0x7D,
0x0C, 0x53, 0x17,
0x0D, 0x22, 0x84,
0x0E, 0x02, 0x61,
0x0E, 0xF4, 0x91,
0x0F, 0xFB, 0x4D,
0x11, 0x19, 0x37,
0x12, 0x51, 0x77,
0x13, 0xA7, 0xE3,
0x15, 0x21, 0x2B,
0x16, 0xC3, 0x21,
0x18, 0x95, 0x18,
0x1A, 0xA0, 0x69,
0x1C, 0xF1, 0x39,
0x1F, 0x97, 0xA2,
0x22, 0xA9, 0x72,
0x26, 0x45, 0x00,
0x2A, 0x95, 0xCE,
0x2F, 0xDC, 0xA1,
0x36, 0x7E, 0x5D,
0x3F, 0x21, 0x66,
0x4A, 0xED, 0x42,
0x5C, 0x26, 0x73,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0x77, 0xF3, 0xD5,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x01,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0x1A, 0x48,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x20, 0xEE, 0x7D,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x02, 0x90, 0x78,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x02,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0x1A, 0x4A,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x21, 0xE6, 0x00,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x03,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0x10, 0x95,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x4F, 0xDC, 0xBA,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x04,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x10, 0x13, 0x9E,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x00, 0x00, 0x00,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x05,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0x0F, 0x6C,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x56, 0xF4, 0x00,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x00, 0xA9,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x06,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x30, 0x0F, 0x66,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x0A, 0xF0, 0x80,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x00, 0xB6,
0xFF, 0xAB, 0xF4, // Set HWP_INDEX
0x00, 0x00, 0x07,
0xFF, 0xAB, 0xF5, // Set HWP_CTL
0x20, 0x19, 0xE4,
0xFF, 0xAB, 0xF6, // Set HWP_DATA0
0x63, 0xF4, 0x00,
0xFF, 0xAB, 0xF7, // Set HWP_DATA1
0x00, 0x02, 0xE0,
0x06, 0xAA, 0x06, // Set Patch Version
0x00, 0xA2, 0xD4, // Load Patch (extend data 212 x 3)
0x61, 0xF4, 0x00,
0x00, 0x00, 0xE7,
0x61, 0x70, 0x00,
0x00, 0x02, 0x47,
0x3C, 0x0A, 0x00,
0x38, 0x0A, 0x00,
0x64, 0xF4, 0x00,
0x00, 0x01, 0x34,
0x60, 0xF4, 0x00,
0x00, 0x01, 0xDA,
0x05, 0xF4, 0x20,
0xFF, 0xFF, 0xFF,
0x04, 0x64, 0xA0,
0x20, 0x4C, 0x00,
0x20, 0x48, 0x00,
0x44, 0xB8, 0x00,
0x0C, 0xC4, 0xA0,
0x00, 0x00, 0x16,
0x57, 0xF4, 0x00,
0x7F, 0xF7, 0x05,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0x38,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x20, 0x5C, 0x00,
0x20, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0xBC,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xC7, 0x29,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x0A, 0xF0, 0x80,
0x00, 0x00, 0x78,
0x57, 0xF4, 0x00,
0x7F, 0xF6, 0x3A,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0x27,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x20, 0x5C, 0x00,
0x20, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xFF, 0xB6,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x57, 0xF4, 0x00,
0x7F, 0xC2, 0x23,
0x5F, 0x5C, 0x00,
0x5F, 0x58, 0x00,
0x54, 0xF0, 0x00,
0xFF, 0xFF, 0xF1,
0x0C, 0x1E, 0xE2,
0x01, 0x40, 0xC6,
0x00, 0x00, 0x07,
0x01, 0x40, 0xC5,
0x00, 0x00, 0x01,
0x0A, 0xF0, 0xA2,
0x00, 0x00, 0x89,
0x61, 0xF4, 0x00,
0x00, 0xCD, 0xAC,
0x61, 0x70, 0x00,
0x00, 0x02, 0x14,
0x61, 0xF4, 0x00,
0x00, 0xC8, 0x32,
0x61, 0x70, 0x00,
0x00, 0x01, 0xFF,
0x60, 0xF4, 0x00,
0x00, 0x00, 0xEF,
0x60, 0x70, 0x00,
0x00, 0x01, 0xF8,
0x0B, 0xF0, 0x80,
0x00, 0x00, 0xEF,
0x6C, 0xF0, 0x00,
0x00, 0x02, 0x4E,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x43,
0x4C, 0xEC, 0x00,
0x0C, 0xC4, 0xA0,
0x00, 0x00, 0x06,
0x61, 0xF0, 0x00,
0x00, 0x02, 0x51,
0x0B, 0xE1, 0x80,
0x00, 0x00, 0x0C,
0x44, 0xF0, 0x00,
0x00, 0x02, 0xB2,
0x0B, 0xF0, 0x80,
0x00, 0xD2, 0xAB,
0x44, 0xF0, 0x00,
0x00, 0x01, 0xB2,
0x0B, 0xF0, 0x80,
0x00, 0xD3, 0x01,
0x61, 0xF4, 0x00,
0x00, 0x00, 0xBD,
0x61, 0x70, 0x00,
0x00, 0x02, 0x42,
0x61, 0xF4, 0x00,
0xFF, 0xFF, 0xF4,
0x44, 0xF4, 0x00,
0x00, 0x00, 0x07,
0x44, 0x59, 0x00,
0x44, 0xB8, 0x00,
0x0C, 0xC4, 0xA0,
0x00, 0x00, 0x06,
0x44, 0xF4, 0x00,
0x20, 0x19, 0xE4,
0x0A, 0xF0, 0x80,
0x00, 0x00, 0xB4,
0x44, 0xF4, 0x00,
0x30, 0x19, 0xE4,
0x44, 0x61, 0x00,
0x00, 0x00, 0x0C,
0x61, 0xF0, 0x00,
0x00, 0x02, 0x20,
0x21, 0xBA, 0x00,
0x0B, 0xE1, 0x80,
0x0B, 0xF0, 0x80,
0x00, 0x00, 0xC2,
0x00, 0x00, 0x0C,
0x0B, 0xF0, 0x80,
0x00, 0xD1, 0x39,
0x0B, 0xF0, 0x80,
0x00, 0x00, 0xC2,
0x00, 0x00, 0x0C,
0x6C, 0xF0, 0x00,
0x00, 0x02, 0x4E,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x0A,
0x20, 0x4C, 0x00,
0x4E, 0xE4, 0x00,
0x20, 0xCF, 0x00,
0x6C, 0xF0, 0x00,
0x00, 0x02, 0x4E,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x03,
0x20, 0x4C, 0x00,
0x4E, 0xE4, 0x00,
0x20, 0xCE, 0x00,
0x20, 0x00, 0x0D,
0x0D, 0x10, 0x49,
0x00, 0x00, 0x15,
0x57, 0xF0, 0x00,
0x00, 0x02, 0xB7,
0x46, 0xF4, 0x00,
0x00, 0x00, 0x01,
0x20, 0x00, 0x58,
0x21, 0xE5, 0x3A,
0x20, 0x00, 0x68,
0x47, 0xF4, 0x00,
0x00, 0x16, 0x00,
0x46, 0xF0, 0x78,
0x00, 0x00, 0x48,
0x20, 0x00, 0x58,
0x21, 0xF3, 0x00,
0x4E, 0xDB, 0x00,
0x4E, 0x5C, 0x00,
0x4E, 0xDB, 0x00,
0x4E, 0x5C, 0x00,
0x4E, 0xDB, 0x00,
0x4E, 0x64, 0x00,
0x00, 0x00, 0x0C,
0x0B, 0xF0, 0x80,
0x00, 0xD3, 0x68,
0x46, 0xF4, 0x00,
0x4D, 0xF8, 0xF0,
0x74, 0xF4, 0x00,
0x00, 0x00, 0x1E,
0x4E, 0x6C, 0x00,
0x00, 0x00, 0x0C,
0x55, 0xBE, 0x00,
0x01, 0x40, 0xCE,
0xFF, 0xFF, 0x3F,
0x30, 0xFF, 0x00,
0x04, 0xCD, 0xCD,
0x20, 0x00, 0x1B,
0x22, 0x09, 0x00,
0x00, 0x00, 0x0B,
0x0D, 0x10, 0x4A,
0x00, 0x00, 0x0A,
0x0A, 0x9D, 0xA1,
0x00, 0x00, 0xF6,
0x22, 0x09, 0x00,
0x00, 0x00, 0x0B,
0x0D, 0x10, 0x4A,
0x00, 0x00, 0x04,
0x0A, 0x9D, 0x81,
0x00, 0x00, 0xFC,
0x08, 0x45, 0x1A,
0x56, 0xF4, 0x00,
0x00, 0x03, 0xFF,
0x20, 0x00, 0x62,
0x08, 0xCC, 0x1A,
0x20, 0xA4, 0x00,
0x07, 0xF0, 0x2D,
0x00, 0x00, 0x3E,
0x57, 0xF0, 0x00,
0x00, 0x02, 0xAC,
0x45, 0xF4, 0x00,
0x00, 0x00, 0x02,
0x45, 0xF4, 0x6A,
0xFF, 0x0F, 0xFF,
0x20, 0x00, 0x6E,
0x55, 0x70, 0x00,
0x00, 0x02, 0xAC,
0x08, 0xC4, 0x1A,
0x00, 0x00, 0x0C,
};
#define MaxxAudio_Cmd_Sys_Size (sizeof(MaxxAudio_Cmd_Sys))
unsigned char g_abMaxxDSPCommands[] =
{
0x00, 0xa5, 0x00, /* Command DETECT */
0x00, 0xa5, 0x00, /* Command DETECT */
/* System Configuration Begin */
0x00, 0xc3, 0x01, /* Command SAMPLE, Value = 48 kHz */
0x00, 0xa4, 0x11, /* Command ANALOG_SETTING */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x10, 0x1d, 0x3f, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x2b, 0x92, 0x7e, /* */
0x00, 0x00, 0x00, /* */
0x7f, 0xff, 0xff, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x00, /* */
0x7f, 0xff, 0xff, /* */
0x00, 0xc8, 0x00, /* Command UPD_ANALOG */
0xbf, 0xc4, 0xc5, /* Command DIG_IO_CONFIG, Value = 0000c5 */
0xff, 0xab, 0xfb,
0x24, 0x10, 0x09, /* */
0xff, 0xab, 0xfa,
0x08, 0x00, 0x09, /* */
0xff, 0xab, 0xfa,
0x00, 0x00, 0x09, /* */
0xff, 0xab, 0xfb,
0xa4, 0x18, 0x29, /* */
0xff, 0xad, 0x84,
0x00, 0x00, 0x17, /* */
0xff, 0xad, 0x85,
0x00, 0x1f, 0xff, /* */
0xff, 0xad, 0x81,
0x00, 0x12, 0x12, /* */
0xff, 0xad, 0x82,
0x00, 0x14, 0x14, /* */
0xff, 0xad, 0x83,
0x00, 0x00, 0x88, /* */
0xff, 0xad, 0x80,
0x00, 0x54, 0x54, /* */
0xff, 0xad, 0x87,
0x00, 0x54, 0x54, /* */
0xff, 0xad, 0x86,
0x00, 0x00, 0x00, /* */
0xff, 0xad, 0x86,
0x00, 0x00, 0x01, /* */
0xff, 0xad, 0x86,
0x00, 0x00, 0x00, /* */
0x00, 0xc2, 0x00, /* Command SPEAKER, Value = 2.0 */
/* System Configuration End */
/* Algorithms Configuration Begin */
0x00, 0xc9, 0x78, /* Command BALANCE, Value = 0 */
0x00, 0xdf, 0x1e, /* Command LEVELER_TARGET, Value = -6.0 */
0x00, 0xdb, 0x78, /* Command LEVELER_RANGE, Value = -24.0 */
0x00, 0xdb, 0x78, /* Command LEVELER_RANGE, Value = -24.0 */
0x00, 0xc7, 0x00, /* Command MUTE, Value = Out */
0x00, 0xe0, 0x0a, /* Command MUTE, Value = 10 */
0x00, 0xd5, 0x30, /* Command MAXX_BASS_FREQUENCY, Value = 20.0 */
0x00, 0xcf, 0x3d, /* Command Internal */
0x00, 0xe1, 0x70, /* Command MAXX_BASS_NG_THRESHOLD, Value = -100 */
0x00, 0xcb, 0x00, /* Command MAXX_BASS_ORIGINAL_BASS, Value = Off */
0x00, 0xe2, 0x2f, /* Command MAXX_BASS_NG_GAP, Value = -47 */
0x00, 0xd9, 0x7f, /* Command MAXX_TREBLE_FREQUENCY, Value = 20000.0 */
0x00, 0xe5, 0x2f, /* Command MAXX_TREBLE_NG_GAP, Value = -47 */
0x00, 0xe4, 0x70, /* Command MAXX_TREBLE_NG_THRESHOLD, Value = -100 */
0x00, 0xd7, 0x30, /* Command SUB_FREQ, Value = 20.0 */
0x01, 0xd0, 0x90, /* Command MAXX_VOLUME_SLIDER */
0x00, 0xc6, 0x01, /* Command LEVELER_ON_OFF */
0x00, 0xdd, 0x01, /* Command HARD_KNEE */
0x00, 0xd4, 0x00, /* Command VOLUME_DYN_RANGE */
0x00, 0xda, 0x00, /* Command VOLUME_LOW_GAIN */
0x00, 0xdc, 0x00, /* Command VOLUME_GATE */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x01, /* */
0x00, 0x00, 0x0c, /* */
0x00, 0x00, 0x16, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x01, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x18, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x02, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x24, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x03, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x30, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x04, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x3c, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x05, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x48, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x06, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x54, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x07, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x60, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x08, /* */
0x00, 0x00, 0x00, /* */
0x00, 0x00, 0x6c, /* */
0x00, 0x00, 0x3a, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xa1, 0x05, /* Command SET_PEQ */
0x00, 0x00, 0x09, /* */
0x00, 0x00, 0x02, /* */
0x00, 0x00, 0x78, /* */
0x00, 0x00, 0x16, /* */
0x00, 0x00, 0x40, /* */
0x00, 0xd8, 0x00, /* Command UPD_PEQ */
0x00, 0xd1, 0x4c, /* */
0x00, 0xd1, 0x3f, /* */
0x00, 0xd1, 0x4c, /* */
0x00, 0xd1, 0x36, /* */
0x00, 0xd1, 0x2d, /* */
0x00, 0xd1, 0x24, /* */
0x00, 0xd1, 0x1b, /* */
0x00, 0xd1, 0x12, /* */
0x00, 0xd1, 0x09, /* */
0x00, 0xd1, 0x00, /* */
0x00, 0xcf, 0x11, /* */
0x00, 0xcf, 0x3d, /* Command Internal */
0x00, 0xcf, 0x3d, /* Command Internal */
0x00, 0xcf, 0x3d, /* Command Internal */
0x00, 0xcf, 0x3d, /* Command Internal */
/* Patch Begin */
0xff, 0xab, 0xf4, /* */
0x00, 0x00, 0x01, /* */
0xff, 0xab, 0xf5, /* */
0x30, 0x1a, 0x48, /* */
0xff, 0xab, 0xf6, /* */
0x20, 0xee, 0x7d, /* */
0xff, 0xab, 0xf7, /* */
0x02, 0x90, 0x78, /* */
0xff, 0xab, 0xf4, /* */
0x00, 0x00, 0x02, /* */
0xff, 0xab, 0xf5, /* */
0x10, 0x1a, 0x4a, /* */
0xff, 0xab, 0xf6, /* */
0x21, 0xe6, 0x00, /* */
0xff, 0xab, 0xf4, /* */
0x00, 0x00, 0x03, /* */
0xff, 0xab, 0xf5, /* */
0x10, 0x10, 0x95, /* */
0xff, 0xab, 0xf6, /* */
0x4f, 0xdc, 0xba, /* */
0xff, 0xab, 0xf4, /* */
0x00, 0x00, 0x04, /* */
0xff, 0xab, 0xf5, /* */
0x10, 0x13, 0x9e, /* */
0xff, 0xab, 0xf6, /* */
0x00, 0x00, 0x00, /* */
0xff, 0xab, 0xf4, /* */
0x00, 0x00, 0x05, /* */
0xff, 0xab, 0xf5, /* */
0x30, 0x0f, 0x6c, /* */
0xff, 0xab, 0xf6, /* */
0x56, 0xf4, 0x00, /* */
0xff, 0xab, 0xf7, /* */
0x00, 0x00, 0xa9, /* */
0xff, 0xab, 0xf4, /* */
0x00, 0x00, 0x06, /* */
0xff, 0xab, 0xf5, /* */
0x30, 0x0f, 0x66, /* */
0xff, 0xab, 0xf6, /* */
0x0a, 0xf0, 0x80, /* */
0xff, 0xab, 0xf7, /* */
0x00, 0x00, 0xb6, /* */
0xff, 0xab, 0xf4, /* */
0x00, 0x00, 0x07, /* */
0xff, 0xab, 0xf5, /* */
0x20, 0x19, 0xe4, /* */
0xff, 0xab, 0xf6, /* */
0x63, 0xf4, 0x00, /* */
0xff, 0xab, 0xf7, /* */
0x00, 0x02, 0xe0, /* */
0x06, 0xaa, 0x06, /* */
0x00, 0xa2, 0xd4, /* */
0x61, 0xf4, 0x00, /* */
0x00, 0x00, 0xe7, /* */
0x61, 0x70, 0x00, /* */
0x00, 0x02, 0x47, /* */
0x3c, 0x0a, 0x00, /* */
0x38, 0x0a, 0x00, /* */
0x64, 0xf4, 0x00, /* */
0x00, 0x01, 0x34, /* */
0x60, 0xf4, 0x00, /* */
0x00, 0x01, 0xda, /* */
0x05, 0xf4, 0x20, /* */
0xff, 0xff, 0xff, /* */
0x04, 0x64, 0xa0, /* */
0x20, 0x4c, 0x00, /* */
0x20, 0x48, 0x00, /* */
0x44, 0xb8, 0x00, /* */
0x0c, 0xc4, 0xa0, /* */
0x00, 0x00, 0x16, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xf7, 0x05, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xff, 0x38, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x20, 0x5c, 0x00, /* */
0x20, 0x58, 0x00, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xff, 0xbc, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xc7, 0x29, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x0a, 0xf0, 0x80, /* */
0x00, 0x00, 0x78, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xf6, 0x3a, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xff, 0x27, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x20, 0x5c, 0x00, /* */
0x20, 0x58, 0x00, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xff, 0xb6, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x57, 0xf4, 0x00, /* */
0x7f, 0xc2, 0x23, /* */
0x5f, 0x5c, 0x00, /* */
0x5f, 0x58, 0x00, /* */
0x54, 0xf0, 0x00, /* */
0xff, 0xff, 0xf1, /* */
0x0c, 0x1e, 0xe2, /* */
0x01, 0x40, 0xc6, /* */
0x00, 0x00, 0x07, /* */
0x01, 0x40, 0xc5, /* */
0x00, 0x00, 0x01, /* */
0x0a, 0xf0, 0xa2, /* */
0x00, 0x00, 0x89, /* */
0x61, 0xf4, 0x00, /* */
0x00, 0xcd, 0xac, /* */
0x61, 0x70, 0x00, /* */
0x00, 0x02, 0x14, /* */
0x61, 0xf4, 0x00, /* */
0x00, 0xc8, 0x32, /* */
0x61, 0x70, 0x00, /* */
0x00, 0x01, 0xff, /* */
0x60, 0xf4, 0x00, /* */
0x00, 0x00, 0xef, /* */
0x60, 0x70, 0x00, /* */
0x00, 0x01, 0xf8, /* */
0x0b, 0xf0, 0x80, /* */
0x00, 0x00, 0xef, /* */
0x6c, 0xf0, 0x00, /* */
0x00, 0x02, 0x4e, /* */
0x74, 0xf4, 0x00, /* */
0x00, 0x00, 0x43, /* */
0x4c, 0xec, 0x00, /* */
0x0c, 0xc4, 0xa0, /* */
0x00, 0x00, 0x06, /* */
0x61, 0xf0, 0x00, /* */
0x00, 0x02, 0x51, /* */
0x0b, 0xe1, 0x80, /* */
0x00, 0x00, 0x0c, /* */
0x44, 0xf0, 0x00, /* */
0x00, 0x02, 0xb2, /* */
0x0b, 0xf0, 0x80, /* */
0x00, 0xd2, 0xab, /* */
0x44, 0xf0, 0x00, /* */
0x00, 0x01, 0xb2, /* */
0x0b, 0xf0, 0x80, /* */
0x00, 0xd3, 0x01, /* */
0x61, 0xf4, 0x00, /* */
0x00, 0x00, 0xbd, /* */
0x61, 0x70, 0x00, /* */
0x00, 0x02, 0x42, /* */
0x61, 0xf4, 0x00, /* */
0xff, 0xff, 0xf4, /* */
0x44, 0xf4, 0x00, /* */
0x00, 0x00, 0x07, /* */
0x44, 0x59, 0x00, /* */
0x44, 0xb8, 0x00, /* */
0x0c, 0xc4, 0xa0, /* */
0x00, 0x00, 0x06, /* */
0x44, 0xf4, 0x00, /* */
0x20, 0x19, 0xe4, /* */
0x0a, 0xf0, 0x80, /* */
0x00, 0x00, 0xb4, /* */
0x44, 0xf4, 0x00, /* */
0x30, 0x19, 0xe4, /* */
0x44, 0x61, 0x00, /* */
0x00, 0x00, 0x0c, /* */
0x61, 0xf0, 0x00, /* */
0x00, 0x02, 0x20, /* */
0x21, 0xba, 0x00, /* */
0x0b, 0xe1, 0x80, /* */
0x0b, 0xf0, 0x80, /* */
0x00, 0x00, 0xc2, /* */
0x00, 0x00, 0x0c, /* */
0x0b, 0xf0, 0x80, /* */
0x00, 0xd1, 0x39, /* */
0x0b, 0xf0, 0x80, /* */
0x00, 0x00, 0xc2, /* */
0x00, 0x00, 0x0c, /* */
0x6c, 0xf0, 0x00, /* */
0x00, 0x02, 0x4e, /* */
0x74, 0xf4, 0x00, /* */
0x00, 0x00, 0x0a, /* */
0x20, 0x4c, 0x00, /* */
0x4e, 0xe4, 0x00, /* */
0x20, 0xcf, 0x00, /* */
/* Algorithms Configuration End */
0x6c, 0xf0, 0x00, /* */
0x00, 0x02, 0x4e, /* */
0x74, 0xf4, 0x00, /* */
0x00, 0x00, 0x03, /* */
0x20, 0x4c, 0x00, /* */
0x4e, 0xe4, 0x00, /* */
0x20, 0xce, 0x00, /* */
0x20, 0x00, 0x0d, /* */
0x0d, 0x10, 0x49, /* */
0x00, 0x00, 0x15, /* */
0x57, 0xf0, 0x00, /* */
0x00, 0x02, 0xb7, /* */
0x46, 0xf4, 0x00, /* */
0x00, 0x00, 0x01, /* */
0x20, 0x00, 0x58, /* */
0x21, 0xe5, 0x3a, /* */
0x20, 0x00, 0x68, /* */
0x47, 0xf4, 0x00, /* */
0x00, 0x16, 0x00, /* */
0x46, 0xf0, 0x78, /* */
0x00, 0x00, 0x48, /* */
0x20, 0x00, 0x58, /* */
0x21, 0xf3, 0x00, /* */
0x4e, 0xdb, 0x00, /* */
0x4e, 0x5c, 0x00, /* */
0x4e, 0xdb, 0x00, /* */
0x4e, 0x5c, 0x00, /* */
0x4e, 0xdb, 0x00, /* */
0x4e, 0x64, 0x00, /* */
0x00, 0x00, 0x0c, /* */
0x0b, 0xf0, 0x80, /* */
0x00, 0xd3, 0x68, /* */
0x46, 0xf4, 0x00, /* */
0x4d, 0xf8, 0xf0, /* */
0x74, 0xf4, 0x00, /* */
0x00, 0x00, 0x1e, /* */
0x4e, 0x6c, 0x00, /* */
0x00, 0x00, 0x0c, /* */
0x55, 0xbe, 0x00, /* */
0x01, 0x40, 0xce, /* */
0xff, 0xff, 0x3f, /* */
0x30, 0xff, 0x00, /* */
0x04, 0xcd, 0xcd, /* */
0x20, 0x00, 0x1b, /* */
0x22, 0x09, 0x00, /* */
0x00, 0x00, 0x0b, /* */
0x0d, 0x10, 0x4a, /* */
0x00, 0x00, 0x0a, /* */
0x0a, 0x9d, 0xa1, /* */
0x00, 0x00, 0xf6, /* */
0x22, 0x09, 0x00, /* */
0x00, 0x00, 0x0b, /* */
0x0d, 0x10, 0x4a, /* */
0x00, 0x00, 0x04, /* */
0x0a, 0x9d, 0x81, /* */
0x00, 0x00, 0xfc, /* */
0x08, 0x45, 0x1a, /* */
0x56, 0xf4, 0x00, /* */
0x00, 0x03, 0xff, /* */
0x20, 0x00, 0x62, /* */
0x08, 0xcc, 0x1a, /* */
0x20, 0xa4, 0x00, /* */
0x07, 0xf0, 0x2d, /* */
0x00, 0x00, 0x3e, /* */
0x57, 0xf0, 0x00, /* */
0x00, 0x02, 0xac, /* */
0x45, 0xf4, 0x00, /* */
0x00, 0x00, 0x02, /* */
0x45, 0xf4, 0x6a, /* */
0xff, 0x0f, 0xff, /* */
0x20, 0x00, 0x6e, /* */
0x55, 0x70, 0x00, /* */
0x00, 0x02, 0xac, /* */
0x08, 0xc4, 0x1a, /* */
0x00, 0x00, 0x0c, /* */
0x02, 0xa7, 0xe0, /* */
0x00, 0x00, 0x00, /* */
0x02, 0xa7, 0xe1, /* */
0x00, 0x00, 0x00, /* */
0x02, 0xa7, 0xe2, /* */
0x02, 0x55, 0x96, /* */
0x02, 0xa7, 0xe3, /* */
0x02, 0x79, 0x1f, /* */
0x02, 0xa7, 0xe4, /* */
0x02, 0x9e, 0xc5, /* */
0x02, 0xa7, 0xe5, /* */
0x02, 0xc6, 0xa8, /* */
0x02, 0xa7, 0xe6, /* */
0x02, 0xf0, 0xea, /* */
0x02, 0xa7, 0xe7, /* */
0x03, 0x1d, 0xaf, /* */
0x02, 0xa7, 0xe8, /* */
0x03, 0x4d, 0x1e, /* */
0x02, 0xa7, 0xe9, /* */
0x03, 0x7f, 0x5f, /* */
0x02, 0xa7, 0xea, /* */
0x03, 0xb4, 0x9d, /* */
0x02, 0xa7, 0xeb, /* */
0x03, 0xed, 0x05, /* */
0x02, 0xa7, 0xec, /* */
0x04, 0x28, 0xc8, /* */
0x02, 0xa7, 0xed, /* */
0x04, 0x68, 0x19, /* */
0x02, 0xa7, 0xee, /* */
0x04, 0xab, 0x2d, /* */
0x02, 0xa7, 0xef, /* */
0x04, 0xf2, 0x3f, /* */
0x02, 0xa7, 0xf0, /* */
0x05, 0x3d, 0x8a, /* */
0x02, 0xa7, 0xf1, /* */
0x05, 0x8d, 0x50, /* */
0x02, 0xa7, 0xf2, /* */
0x05, 0xe1, 0xd4, /* */
0x02, 0xa7, 0xf3, /* */
0x06, 0x3b, 0x5f, /* */
0x02, 0xa7, 0xf4, /* */
0x06, 0x9a, 0x3d, /* */
0x02, 0xa7, 0xf5, /* */
0x06, 0xfe, 0xbf, /* */
0x02, 0xa7, 0xf6, /* */
0x07, 0x69, 0x3b, /* */
0x02, 0xa7, 0xf7, /* */
0x07, 0xda, 0x0c, /* */
0x02, 0xa7, 0xf8, /* */
0x08, 0x51, 0x92, /* */
0x02, 0xa7, 0xf9, /* */
0x08, 0xd0, 0x34, /* */
0x02, 0xa7, 0xfa, /* */
0x09, 0x56, 0x5d, /* */
0x02, 0xa7, 0xfb, /* */
0x09, 0xe4, 0x81, /* */
0x02, 0xa7, 0xfc, /* */
0x0a, 0x7b, 0x19, /* */
0x02, 0xa7, 0xfd, /* */
0x0b, 0x1a, 0xa6, /* */
0x02, 0xa7, 0xfe, /* */
0x0b, 0xc3, 0xaf, /* */
0x02, 0xa7, 0xff, /* */
0x0c, 0x76, 0xc5, /* */
0x03, 0xa7, 0x00, /* */
0x0d, 0x34, 0x82, /* */
0x03, 0xa7, 0x01, /* */
0x0d, 0xfd, 0x88, /* */
0x03, 0xa7, 0x02, /* */
0x0e, 0xd2, 0x82, /* */
0x03, 0xa7, 0x03, /* */
0x0f, 0xb4, 0x26, /* */
0x03, 0xa7, 0x04, /* */
0x10, 0xa3, 0x36, /* */
0x03, 0xa7, 0x05, /* */
0x11, 0xa0, 0x7d, /* */
0x03, 0xa7, 0x06, /* */
0x12, 0xac, 0xd4, /* */
0x03, 0xa7, 0x07, /* */
/* Algorithms Configuration Begin */
0x13, 0xc9, 0x21, /* */
0x03, 0xa7, 0x08, /* */
0x14, 0xf6, 0x56, /* */
0x03, 0xa7, 0x09, /* */
0x16, 0x35, 0x76, /* */
0x03, 0xa7, 0x0a, /* */
0x17, 0x87, 0x91, /* */
0x03, 0xa7, 0x0b, /* */
0x18, 0xed, 0xc8, /* */
0x03, 0xa7, 0x0c, /* */
0x1a, 0x69, 0x4d, /* */
0x03, 0xa7, 0x0d, /* */
0x1b, 0xfb, 0x66, /* */
0x03, 0xa7, 0x0e, /* */
0x1d, 0xa5, 0x6a, /* */
0x03, 0xa7, 0x0f, /* */
0x1f, 0x68, 0xc5, /* */
0x03, 0xa7, 0x10, /* */
0x21, 0x46, 0xfb, /* */
0x03, 0xa7, 0x11, /* */
0x23, 0x41, 0xa5, /* */
0x03, 0xa7, 0x12, /* */
0x25, 0x5a, 0x74, /* */
0x03, 0xa7, 0x13, /* */
0x27, 0x93, 0x34, /* */
0x03, 0xa7, 0x14, /* */
0x29, 0xed, 0xcd, /* */
0x03, 0xa7, 0x15, /* */
0x2c, 0x6c, 0x42, /* */
0x03, 0xa7, 0x16, /* */
0x2f, 0x10, 0xb8, /* */
0x03, 0xa7, 0x17, /* */
0x31, 0xdd, 0x73, /* */
0x03, 0xa7, 0x18, /* */
0x34, 0xd4, 0xda, /* */
0x03, 0xa7, 0x19, /* */
0x37, 0xf9, 0x78, /* */
0x03, 0xa7, 0x1a, /* */
0x3b, 0x4e, 0x02, /* */
0x03, 0xa7, 0x1b, /* */
0x3e, 0xd5, 0x54, /* */
0x03, 0xa7, 0x1c, /* */
0x01, 0x0a, 0x4a, /* */
0x03, 0xa7, 0x1d, /* */
0x01, 0x1a, 0x23, /* */
0x03, 0xa7, 0x1e, /* */
0x01, 0x2a, 0xed, /* */
0x03, 0xa7, 0x1f, /* */
0x01, 0x3c, 0xb8, /* */
0x03, 0xa7, 0x20, /* */
0x01, 0x4f, 0x92, /* */
0x03, 0xa7, 0x21, /* */
0x01, 0x63, 0x8d, /* */
0x03, 0xa7, 0x22, /* */
0x01, 0x78, 0xb9, /* */
0x03, 0xa7, 0x23, /* */
0x01, 0x8f, 0x28, /* */
0x03, 0xa7, 0x24, /* */
0x01, 0xa6, 0xef, /* */
0x03, 0xa7, 0x25, /* */
0x01, 0xc0, 0x21, /* */
0x03, 0xa7, 0x26, /* */
0x01, 0xda, 0xd6, /* */
0x03, 0xa7, 0x27, /* */
0x01, 0xf7, 0x24, /* */
0x03, 0xa7, 0x28, /* */
0x02, 0x15, 0x24, /* */
0x03, 0xa7, 0x29, /* */
0x02, 0x34, 0xf1, /* */
0x03, 0xa7, 0x2a, /* */
0x02, 0x56, 0xa6, /* */
0x03, 0xa7, 0x2b, /* */
0x02, 0x7a, 0x63, /* */
0x03, 0xa7, 0x2c, /* */
0x02, 0xa0, 0x46, /* */
0x03, 0xa7, 0x2d, /* */
0x02, 0xc8, 0x71, /* */
0x03, 0xa7, 0x2e, /* */
0x02, 0xf3, 0x0a, /* */
0x03, 0xa7, 0x2f, /* */
0x03, 0x20, 0x37, /* */
0x03, 0xa7, 0x30, /* */
0x03, 0x50, 0x20, /* */
0x03, 0xa7, 0x31, /* */
0x03, 0x82, 0xf4, /* */
0x03, 0xa7, 0x32, /* */
0x03, 0xb8, 0xe0, /* */
0x03, 0xa7, 0x33, /* */
0x03, 0xf2, 0x17, /* */
0x03, 0xa7, 0x34, /* */
0x04, 0x2e, 0xd1, /* */
0x03, 0xa7, 0x35, /* */
0x04, 0x6f, 0x48, /* */
0x03, 0xa7, 0x36, /* */
0x04, 0xb3, 0xba, /* */
0x03, 0xa7, 0x37, /* */
0x04, 0xfc, 0x6d, /* */
0x03, 0xa7, 0x38, /* */
0x05, 0x49, 0xa9, /* */
0x03, 0xa7, 0x39, /* */
0x05, 0x9b, 0xbf, /* */
0x03, 0xa7, 0x3a, /* */
0x05, 0xf3, 0x04, /* */
0x03, 0xa7, 0x3b, /* */
0x06, 0x4f, 0xd8, /* */
0x03, 0xa7, 0x3c, /* */
0x06, 0xb2, 0xa2, /* */
0x03, 0xa7, 0x3d, /* */
0x07, 0x1b, 0xd1, /* */
0x03, 0xa7, 0x3e, /* */
0x07, 0x8b, 0xe2, /* */
0x03, 0xa7, 0x3f, /* */
0x08, 0x03, 0x5e, /* */
0x03, 0xa7, 0x40, /* */
0x08, 0x82, 0xdc, /* */
0x03, 0xa7, 0x41, /* */
0x09, 0x0b, 0x05, /* */
0x03, 0xa7, 0x42, /* */
0x09, 0x9c, 0x95, /* */
0x03, 0xa7, 0x43, /* */
0x0a, 0x38, 0x5e, /* */
0x03, 0xa7, 0x44, /* */
0x0a, 0xdf, 0x51, /* */
0x03, 0xa7, 0x45, /* */
0x0b, 0x92, 0x7d, /* */
0x03, 0xa7, 0x46, /* */
0x0c, 0x53, 0x17, /* */
0x03, 0xa7, 0x47, /* */
0x0d, 0x22, 0x84, /* */
0x03, 0xa7, 0x48, /* */
0x0e, 0x02, 0x61, /* */
0x03, 0xa7, 0x49, /* */
0x0e, 0xf4, 0x91, /* */
0x03, 0xa7, 0x4a, /* */
0x0f, 0xfb, 0x4d, /* */
0x03, 0xa7, 0x4b, /* */
0x11, 0x19, 0x37, /* */
0x03, 0xa7, 0x4c, /* */
0x12, 0x51, 0x77, /* */
0x03, 0xa7, 0x4d, /* */
0x13, 0xa7, 0xe3, /* */
0x03, 0xa7, 0x4e, /* */
0x15, 0x21, 0x2b, /* */
0x03, 0xa7, 0x4f, /* */
0x16, 0xc3, 0x21, /* */
0x03, 0xa7, 0x50, /* */
0x18, 0x95, 0x18, /* */
0x03, 0xa7, 0x51, /* */
0x1a, 0xa0, 0x69, /* */
0x03, 0xa7, 0x52, /* */
0x1c, 0xf1, 0x39, /* */
0x03, 0xa7, 0x53, /* */
0x1f, 0x97, 0xa2, /* */
0x03, 0xa7, 0x54, /* */
0x22, 0xa9, 0x72, /* */
0x03, 0xa7, 0x55, /* */
0x26, 0x45, 0x00, /* */
0x03, 0xa7, 0x56, /* */
0x2a, 0x95, 0xce, /* */
0x03, 0xa7, 0x57, /* */
0x2f, 0xdc, 0xa1, /* */
0x03, 0xa7, 0x58, /* */
0x36, 0x7e, 0x5d, /* */
0x03, 0xa7, 0x59, /* */
0x3f, 0x21, 0x66, /* */
0x03, 0xa7, 0x5a, /* */
0x4a, 0xed, 0x42, /* */
0x03, 0xa7, 0x5b, /* */
0x5c, 0x26, 0x73, /* */
0x03, 0xa7, 0x5c, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x5d, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x5e, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x5f, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x60, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x61, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x62, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x63, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x64, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x65, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x66, /* */
0x77, 0xf3, 0xd5, /* */
0x03, 0xa7, 0x67, /* */
0x77, 0xf3, 0xd5, /* */
/* Patch End */
0x00, 0xac, 0x00, /* Command COMLET_SETTING */
0x00, 0x85, 0x00, /* Command Internal */
};
#define MaxxAudio_cmd_dsp (sizeof(g_abMaxxDSPCommands))
unsigned char MaxxAudio_Cmd_Init [] =
{
0x00, 0xC5, 0x00, // Soft-Reset
// Add 30msec delay here
0x00, 0xA5, 0x00, // Configuration Start
};
#define MaxxAudio_Cmd_Init_Size (sizeof( MaxxAudio_Cmd_Init ))
unsigned char MaxxAudio_Cmd_Final [] =
{
0x00, 0xAC, 0x00, // Configuration End
};
#define MaxxAudio_Cmd_Final_Size (sizeof( MaxxAudio_Cmd_Final ))
static void I2C_Delay(void)
{
uint8_t i;
//cpu 72MHZ
// 10 times scl=205K
// 7 times scl=347k high 1.5us scl 2.87 us
//5 times scl=421k high 1.25us scl 2.375us
for (i = 0; i < 26; i++);
}
static void IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Configure I2C1 pins: SCL and SDA */
RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = SCL_PIN | SDA_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_Init(SCL_PORT, &GPIO_InitStructure);
SCL_H();
SDA_H();
}
static void IIC_Start(void)
{
SDA_H();
SCL_H();
I2C_Delay();
SDA_L();
I2C_Delay();
SCL_L();
I2C_Delay();
}
static void IIC_Stop(void)
{
SCL_L();
//I2C_Delay();
SDA_L();
I2C_Delay();
SCL_H();
I2C_Delay();
SDA_H();
I2C_Delay();
}
static int IIC_WaitAck(void)
{
// u16 k;
// SDA_L();
// SCL_L();
// I2C_Delay();
SCL_H();
I2C_Delay();
SCL_L();
I2C_Delay();
// SCL_H();
// k = 0;
// while((Read_SDA()==0) && (k < 6000))k++;
// I2C_Delay();
// SCL_L();
// SDA_H();
// I2C_Delay();
u16 k;
int ack;
SCL_L();
I2C_Delay();
SCL_H();
SDA_H();
while((Read_SDA()==1)&&(k < 6000))
//if(Read_SDA()==1)
{
k++;
}
if(k<6000)
{
ack=0;
}
else
ack=1;
SCL_L();
I2C_Delay();
return ack;
}
static void IIC_WriteByte(u8 byte)
{
u8 i = 0;
for(i=0;i<8;i++)
{
if(byte & 0x80)
{
SDA_H();
}
else
{
SDA_L();
}
I2C_Delay();
SCL_H();
I2C_Delay();
SCL_L();
byte<<=1;
}
}
static void IIC_WriteDate(u8 byte)
{
u8 i = 0;
SCL_H();
I2C_Delay();
for(i=0;i<8;i++)
{
if(byte & 0x80)
{
SDA_H();
}
else
{
SDA_L();
}
SCL_L();
I2C_Delay();
byte<<=1;
//I2C_Delay();
}
}
static u8 IIC_ReadByte(void)
{
u8 i,ReadByte;
SDA_H();
for(i = 0; i < 8; i++)
{
ReadByte <<= 1;
SCL_L();
I2C_Delay();
SCL_H();
I2C_Delay();
if(Read_SDA())
{
ReadByte |= 0x01;
}
else
{
ReadByte &= ~(0x01);
}
}
return ReadByte;
}
static void I2C_Ack(void)
{
SCL_L();
I2C_Delay();
SDA_L();
I2C_Delay();
SCL_H();
I2C_Delay();
SCL_L();
I2C_Delay();
}
static void I2C_NoAck(void)
{
SCL_L();
I2C_Delay();
SDA_H();
I2C_Delay();
SCL_H();
I2C_Delay();
SCL_L();
I2C_Delay();
}
static void I2C_Write(u8 adress,const unsigned char *CmdList,unsigned long start)
{
unsigned char data[3]={0};
uint8_t i;
for(i=0;i<3;i++)
{
data[i]=CmdList[start+i];
}
IIC_Start();
IIC_WriteByte(adress);
IIC_WaitAck();
IIC_WriteByte(data[0]);
IIC_WaitAck();
IIC_WriteByte(data[1]);
IIC_WaitAck();
IIC_WriteByte(data[2]);
IIC_WaitAck();
IIC_Stop();
for(i=0;i<50;i++)
{
I2C_Delay();
}
}
void NPCA110x_Init(void)
{
IIC_Init();
}
void NPCA110x_start(void)
{
// MaxxDSP_SendCmd (MaxxAudio_Cmd_Init, MaxxAudio_Cmd_Init_Size);
// // Add 30msec delay here
// MaxxDSP_SendCmd (MaxxAudio_Cmd_Sys, MaxxAudio_Cmd_Sys_Size);
// MaxxDSP_SendCmd (MaxxAudio_Cmd_Alg, MaxxAudio_Cmd_Alg_Size);
// MaxxDSP_SendCmd (MaxxAudio_Cmd_Final, MaxxAudio_Cmd_Final_Size);
// MaxxDSP_SendCmd (g_abMaxxDSPCommands, MaxxAudio_cmd_dsp);
MaxxDSP_SendCmd (MaxxAudio_Cmd_FULL, MaxxAudio_Cmd_FULL_Size);
}
void MaxxDSP_SendCmd (unsigned char *CmdList, unsigned long size)
{
unsigned long index;
//int status;
for (index=0;index<(size/3);index++)
{
I2C_Write (0xE6,CmdList,index*3);
}
}
#ifndef _NPCA110X_H_
#define _NPCA110X_H_
#include "stm32f10x.h"
#define SCL_PORT GPIOC
#define SDA_PORT GPIOC
#define SCL_PIN GPIO_Pin_10
#define SDA_PIN GPIO_Pin_11
#define SCL_H() GPIO_SetBits(SCL_PORT, SCL_PIN)
#define SCL_L() GPIO_ResetBits(SCL_PORT, SCL_PIN)
#define SDA_H() GPIO_SetBits(SDA_PORT, SDA_PIN)
#define SDA_L() GPIO_ResetBits(SDA_PORT, SDA_PIN)
#define Read_SDA() GPIO_ReadInputDataBit(SDA_PORT, SDA_PIN)
void NPCA110x_Init(void);
void MaxxDSP_SendCmd (unsigned char *CmdList, unsigned long size);
void NPCA110x_start(void);
#endif