IPAT and parameters¶
JP150PCB 1.3PCB 1.4Jan PřibyslavskýThis page does not apply to the product or PCB revision chosen in the header.
The firmware does not write into the DSP program's memory by raw address. It goes through the program's indirect parameter access table (IPAT): a table the SigmaStudio design builds, in which each entry names a parameter cell and whether it may be written or read back. The firmware and the hosts address a parameter by its table entry, so a design can change and recompile without the firmware having to know where a cell landed.
What the firmware uses¶
| Use | Table entry | Direction | Why it matters |
|---|---|---|---|
| Input selection | The input mux of the INPUTS_PROCESSING board | Write | The firmware writes the value of the selected source through it once the DSP program runs, at power-up and after every wake. Without the entry the input cannot be selected and the DSP plays its export default, the test tone |
| Level meter | The rms output of the level meter, read-enabled entry 0x600A |
Read | Drives the six LEDs of the level meter, answers DSP:LVLMETER:RMS? and feeds the silence threshold of the automatic power-down. Without it the meter stays dark and the module never powers down on silence |
Both come with the starter project. An own design keeps the INPUTS_PROCESSING board unchanged, and with it these two entries and the per-source values of the input mux.
The firmware waits for the DSP program to start before it writes the input, because a parameter
written during the boot would be overwritten by the boot image; DSP:BOOT? shows when that
happened. The input mux entry is write-only, so the firmware cannot read the selection back; the
value SYS:INPUT? reports is the one it last wrote.
Your own parameters¶
A parameter you expose in the table can be written from MuraLink on DSP > Direct memory: under
DSP IPAT write, enter the entry's indirect write address as Write address (IPAT) and the Value,
and click Write via IPAT; MuraLink asks for a confirmation, because the write affects the live
audio path. Over the control interface the same write is DSP:IPAT:SETBLOCK
<write_address>,<value>. The write address is the entry's indirect write address from the
project's export; the value is the 32-bit word of the cell's format (for example 8.24 fixed point
for a gain). Nothing is read back, so a host keeps its own copy of what it wrote. The deprecated
DSP:INPUTMUX commands write the mux behind the table instead and are kept only for old software.
DSP:SETBLOCK <address>,<value> (DSP block write on the same MuraLink page) writes a value to a
direct DSP address and bypasses the table.
It is a diagnostic primitive: a parameter that the table manages must not be written this way, or
the program's own copy and the hardware diverge.
To be added
The table of the starter project's parameter entries (name, write address, read address, format) and the SigmaStudio steps that add an entry of your own.