(07-24-2020, 01:39 PM)TheOldPresbyope Wrote: If you examine the contents of the cfg_audiodev table in moOde's database (/var/local/www/db/moode-sqlite3.db) you'll see that many vendor's DACs (including a number of HiiBerry ones) use one or another of just a few basic drivers.
Those are simple DACs with no fancy-schmantzy onboard options. Trivial to implement support for a new one in moOde. Basically just add the database line so the user can pick from the list. It's the fancy-schmantzy ones with their own drivers which need serious support from the vendor to figure out the control functions and how to implement them in moOde.
Regards,
Kent
I might try what you suggest. Here are the lines of code relative to the HifiBerry products:
Code:
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (58, 'HIFI DAC', 'Burr Brown PCM5102A', '', 'I2S', 'yes', 'hifiberry-dac', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (59, 'HIFI DAC+', 'Burr Brown PCM5122', '100,0,FIR interpolation with de-emphasis', 'I2S', 'yes', 'hifiberry-dacplus', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (60, 'HIFI Digi', 'Wolfson WM8804G', '', 'I2S', 'yes', 'hifiberry-digi', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (61, 'HIFI Digi+', 'Wolfson WM8804G', '', 'I2S', 'yes', 'hifiberry-digi', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (62, 'HiFiBerry Amp(Amp+)', 'Burr Brown TAS5713', '', 'I2S', 'yes', 'hifiberry-amp', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (63, 'HiFiBerry Amp2', 'Burr Brown TAS5756M', '100,0,FIR interpolation with de-emphasis', 'I2S', 'yes', 'hifiberry-dacplus', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (64, 'HiFiBerry Beocreate', 'Burr Brown PCM4104 DAC, TPA3128 Amp, Analog Devices ADAU1451 DSP', '', 'I2S', 'yes', 'hifiberry-dac', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (65, 'HiFiBerry DAC', 'Burr Brown PCM5102A', '', 'I2S', 'yes', 'hifiberry-dac', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (66, 'HiFiBerry DAC/DAC+ Zero', 'Burr Brown PCM5101A', '', 'I2S', 'yes', 'hifiberry-dac', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (67, 'HiFiBerry DAC+', 'Burr Brown PCM5122', '100,0,FIR interpolation with de-emphasis', 'I2S', 'yes', 'hifiberry-dacplus', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (68, 'HiFiBerry DAC+ ADC', 'Burr Brown PCM5122, PCM1861 ADC', '100,0,FIR interpolation with de-emphasis', 'I2S', 'yes', 'hifiberry-dacplusadc', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (69, 'HiFiBerry DAC+ DSP', 'Burr Brown PCM5102A, Analog Devices ADAU1451 DSP', '', 'I2S', 'yes', 'hifiberry-dac', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (70, 'HiFiBerry DAC+ Light', 'ESS Sabre ES9023', '', 'I2S', 'yes', 'hifiberry-dac', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (71, 'HiFiBerry DAC+ Pro', 'Burr Brown PCM5122', '100,0,FIR interpolation with de-emphasis', 'I2S', 'yes', 'hifiberry-dacplus', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (72, 'HiFiBerry Digi(Digi+)', 'Cirrus Logic WM8804', '', 'I2S', 'yes', 'hifiberry-digi', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (73, 'HiFiBerry Digi+ Pro', 'Cirrus Logic WM8804', '', 'I2S', 'yes', 'hifiberry-digi-pro', '');
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (74, 'HiFiBerry MiniAmp', 'Burr Brown PCM5101A, Diodes PAM8403', '', 'I2S', 'yes', 'hifiberry-dac', '');
From what I understand, the line for the DAC2 HD should look like this:
Code:
INSERT INTO cfg_audiodev (id, name, dacchip, chipoptions, iface, list, driver, drvoptions) VALUES (75, 'HiFiBerry DAC2 HD', 'Burr Brown PCM1796', '100,0,FIR interpolation with de-emphasis', 'I2S', 'yes', 'hifiberry-dac2-hd', '');
The only value I'm actually not sure about is for the driver column. I put hifiberry-dac2-hd in my example, but that's only a guess based on what can be found in the driver column for the already existing HifiBerry products.
Couldn't find any information about required drivers. I might as well left generic hifiberry-dac value, but new DAC2 HD might not work properly with old drivers.
Balena Etchering lastest release of Moode on a microSD right now. Will keep you informed.