Avid Diamond Platform

From musings of k8
Revision as of 21:33, 14 December 2020 by Admin (talk | contribs)
Jump to navigation Jump to search

Supported Avid devices include: Avid E3 Engine, Avid Stage 16

    1. Overview

carbonio is a Linux module that directly controls the audio I/O devices.

Audio settings that can be controlled: - Gain - Pad - Phase - Mute - Phantom

Non-audio settings that can be controlled: - LEDs on the Avid Stage 16 - The opamp (operational amplifier) for each channel.


    1. Devices
      1. /sys/bus/i2c/devices

Device numbers:

1 (bus 1)
generic
4 (bus 4)
carbonui

The `i2c*` commands don't seem to work on the carbonui devices.

      1. /sys/bus/spi/devices

Device overview:

spi1.[0-8]
channel gain and pad
spi2.[0-3]
unknown
spi3.[0-2]
unknown
spi4.0
power, mute, phantom, and status LEDs

The `_en` extension on some files represents "enable".

| Directory | File | modalias | Description | | ---------- | --------------- | ---------------- | ----------- | | spi1.[0-3] | | carbonio_adc4 | mic inputs (\*1) | | | chX_pad_en | | pad -- 0=off, 1=on | | | chX_preamp_gain | | gain -- 1-51 (10.0-60.0 dB) (\*2) | | spi1.[4-5] | | carbonio_dac4 | line outputs (\*1) | | | chX_attenuation | | | | | chX_mute | | mute -- 0=off, 1=on | | | opamp_en | | | | | phase_invert | | | | spi1.6 | | carbonio_aes4x4 | aes outputs | | spi1.7 | | spidev | | | spi1.8 | | cs4272 | | | spi2.[0-3] | | spidev | | | spi3.[0-2] | | carbonui-s6-spi | | | spi4.0 | LED indicators | carbonreario_bosb | | | | adc0_phantom_en | | 0-15 (binary) / Ch 8 - Ch 5 Phantom | | | adc1_phantom_en | | 0-15 (binary) / Ch 4 - Ch 1 Phantom | | | adc2_phantom_en | | 0-15 (binary) / Ch 12 - Ch 9 Phantom | | | adc3_phantom_en | | 0-15 (binary) / Ch 16 - Ch 13 Phantom | | | mute_led_en | | 0,1 (off, on) / Mute LED | | | status_led_0_en | | 0-2 (off, orange, green) / Status LED | | | status_led_1_en | | 0-2 (off, orange, green) / Power LED |

    • (\*1)** Each directory controls a bank of 4 channels. The directory 0 or 4: Ch 8-5, 1 or 5: Ch 4-1, 2: Ch 12-9 3: Ch 16-13). E.g., `spi1` channel #1 == `spi1.1/ch3_*`. **NOTE:** Changing file values directly will not be reflected in the VENUE UI.
    • \(*2)** The `preamp_gain` values are set to 0 before the device is first initialized by the E3 Engine.
    • /usr/bin/carbonui-util.sh**

This command seems to control the LEDs on the Avid S3 console using the `/sys/kernel/carbonui/oled` interface.


    1. Discovery
    • /usr/bin/carbonio-dump.sh**

Dumps the values of the IO board devices in /sys/bus/spi/devices.

```

  1. carbonio-dump.sh

]]] slot spi1.0 ]]] board ID: 0x6 ]]] board rev: 0x0 ]]] ch0_overload: 0 ]]] ch0_pad_en: 0 ]]] ch0_preamp_gain: 1 ]]] ch1_overload: 0 ]]] ch1_pad_en: 0 ]]] ch1_preamp_gain: 1 ]]] ch2_overload: 0 ]]] ch2_pad_en: 0 ]]] ch2_preamp_gain: 1 ]]] ch3_overload: 0 ]]] ch3_pad_en: 0 ]]] ch3_preamp_gain: 1 ... ```

```

  1. ls -R spi1.0/

spi1.0/ spi1.0/uevent spi1.0/modalias spi1.0/subsystem spi1.0/power spi1.0/power/wakeup spi1.0/power/runtime_status spi1.0/power/control spi1.0/power/runtime_suspended_time spi1.0/power/runtime_active_time spi1.0/power/autosuspend_delay_ms spi1.0/driver spi1.0/board_id spi1.0/board_revision spi1.0/ch0_preamp_gain spi1.0/ch0_overload spi1.0/ch0_pad_en spi1.0/ch1_preamp_gain spi1.0/ch1_overload spi1.0/ch1_pad_en spi1.0/ch2_preamp_gain spi1.0/ch2_overload spi1.0/ch2_pad_en spi1.0/ch3_preamp_gain spi1.0/ch3_overload spi1.0/ch3_pad_en ```

```

  1. ls -R spi4.0/

spi4.0/ spi4.0/uevent spi4.0/modalias spi4.0/subsystem spi4.0/power spi4.0/power/wakeup spi4.0/power/runtime_status spi4.0/power/control spi4.0/power/runtime_suspended_time spi4.0/power/runtime_active_time spi4.0/power/autosuspend_delay_ms spi4.0/driver spi4.0/board_id spi4.0/board_revision spi4.0/ins_a_board_present spi4.0/ins_b_board_present spi4.0/mute_n spi4.0/mute_led_en spi4.0/status_led_0_en spi4.0/status_led_1_en spi4.0/dac0_mute_n spi4.0/dac1_mute_n spi4.0/adc0_phantom_en spi4.0/adc1_phantom_en spi4.0/adc2_phantom_en spi4.0/adc3_phantom_en ```