Changeset 1553

Show
Ignore:
Timestamp:
05/16/09 05:29:27 (12 years ago)
Author:
jwoithe
Message:

RME: expand software status structure and begin to add details to device initialisation function.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/src/rme/fireface_def.h

    r1547 r1553  
    264264#define FF_DEV_FLASH_MIC_PHANTOM_ON            0x00000001 
    265265 
     266// Structure used by FFADO to keep track of the device status.  This is 
     267// decoupled from any structures used directly by the device, so it can be 
     268// added to and ordered freely.  When making changes to the device the 
     269// configuration registers must be all written to, so any function changing 
     270// a parameter must have access to the complete device status. 
    266271typedef struct { 
    267272    uint32_t mic_phantom[4]; 
     273    uint32_t spdif_input_mode; 
     274    uint32_t spdif_output_emphasis; 
     275    uint32_t spdif_output_pro; 
     276    uint32_t spdif_output_nonaudio; 
     277    uint32_t spdif_output_mode; 
     278    uint32_t clock_mode; 
     279    uint32_t sync_ref; 
     280    uint32_t tms; 
     281    uint32_t limit_bandwidth; 
     282    uint32_t stop_on_dropout; 
     283    uint32_t input_level; 
     284    uint32_t output_level; 
     285    uint32_t mic_level[2]; 
     286    uint32_t instrument; 
     287    uint32_t filter; 
     288    uint32_t fuzz; 
     289    uint32_t sample_rate; 
     290    uint32_t word_clock_single_speed; 
    268291} FF_software_settings_t; 
    269292 
  • trunk/libffado/src/rme/fireface_hw.cpp

    r1547 r1553  
    5454 
    5555    /* Input level */ 
    56     switch (1) { 
     56    switch (settings.input_level) { 
    5757        case 1: // Low gain 
    5858            data[1] |= CR1_ILEVEL_CPLD_LOGAIN;    // CPLD 
     
    7070 
    7171    /* Output level */ 
    72     switch (1) { 
     72    switch (settings.output_level) { 
    7373        case 1: // High gain 
    7474            data[1] |= CR1_OLEVEL_CPLD_HIGAIN;   // CPLD 
     
    8585    } 
    8686 
    87     /* Speaker emulation  FIXME: needs filling out */ 
     87    /* Speaker emulation / filter  FIXME: needs filling out, is tied in 
     88     * with analog input settings.  
     89     */ 
    8890    data[1] = 0xf; 
    8991 
    90     /* Drive  FIXME: needs filling out */ 
    91     data[1] = 0x200; 
     92    /* Drive / fuzz */ 
     93    if (settings.fuzz) 
     94      data[0] |= CR0_INSTR_DRIVE_FPGA; // FPGA LED control 
     95    else 
     96      data[1] |= CR1_INSTR_DRIVE;      // CPLD 
    9297 
    9398    /* Drop-and-stop is hardwired on */