-
-
Notifications
You must be signed in to change notification settings - Fork 7
RFE: Create DSP "configurations" #73
Description
The current "configuration" of DSP1 and DSP2 copies to a great extend the original x32 firmware.
However, there may be a need for different "configurations" with regard to:
- the number of channels with full DYN / EQ / SENDS /etc.
- the number of channels with only basic volume control
- the number of channels with 6-band EQ as it is the case with the original FW
- the number of effects (now DSP2)
- whether or not we have some features such as RTA, sine generations, M/S stereo, etc.
It could e.g. be possible to increase the number of channel between the FPGA and DSP1 and the number of channels between DSP1 and DSP2 by using TDMA16 or even TDMA24 and then use DSP2 for channels with full DYN / EQ / SENDS /etc. exactly as DSP1 does while dropping the effects IN THIS configuration.
For this to happen it would be needed to:
- merge the code of DSP1 and DSP2 into one code base
- create a build system which would have "configurations" in forms of .h files. In each configuration_.h file it would be per #define defined which functions are used on which DSP for how many channels, effects, etc.
- for each configuration_*.h file two firmware binaries would be compiled for DSP1 and DSP2 respectively from the common code-base and a metadata file be generated (with configuration name, description, metadata for the UI with regard to channel numbers, types, effects, etc.). Alternatively, those 2 firmware files together with the metada could be packed into a single binary file
- it would be then possible for the user to choose the desired configuration on-the-flight from the user interface and directly use.
(Actually it would be the best if we could also include the FPGA code as well, but that might be tricky as DSP and FPGA use completely different build environments :-( )
That would allow for more experiments with various kinds of channels/effects/etc configurations. while maintaining a single code-base and an unified UI.
It would make new features possible which would require dropping other features to still be part of the project and not having to stick with one predefined configuration as the original firmware does.