Changeset 2139

Show
Ignore:
Timestamp:
05/01/12 17:36:12 (12 years ago)
Author:
jwoithe
Message:

dice: default router setup patch 6/10 from Philippe Carriere: DICE EAP Saffire Pro 24 Introduce specific default routing functions. The default configuration for low mid rate has been extracted from output listing from a Pro 24 user. For mid rate, it is an extrapolation which might require further corrections.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/src/dice/focusrite/saffire_pro24.cpp

    r2126 r2139  
    105105void SaffirePro24::SaffirePro24EAP::setupDestinations_high() { 
    106106    printMessage("High (192 kHz) sample rate not supported by Saffire Pro 24\n"); 
     107} 
     108 
     109/** 
     110 * The default configurations for the Saffire Pro 24 router. 
     111 *  For coherence with hardware, destinations must follow a specific ordering 
     112 *  There must be 44 destinations at low samplerate 
     113 *  Front LEDs are connected to the first four router entries 
     114 */ 
     115void 
     116SaffirePro24::SaffirePro24EAP::setupDefaultRouterConfig_low() { 
     117    unsigned int i; 
     118    // the 1394 stream receivers except the two "loops" one 
     119    for (i=0; i<4; i++) { 
     120        addRoute(eRS_InS0, i, eRD_ATX0, i); 
     121    } 
     122    for (i=0; i<2; i++) { 
     123        addRoute(eRS_AES, i+6, eRD_ATX0, i+4); 
     124    } 
     125    for (i=0; i<8; i++) { 
     126        addRoute(eRS_ADAT, i, eRD_ATX0, i+6); 
     127    } 
     128    // The audio ports 
     129    // Ensure that audio port are not muted 
     130    for (i=0; i<6; i++) { 
     131        addRoute(eRS_ARX0, i%2, eRD_InS0, i); 
     132    } 
     133    // the SPDIF receiver 
     134    for (i=0; i<2; i++) { 
     135        addRoute(eRS_Muted, 0, eRD_AES, i+6); 
     136    } 
     137    // the "loops" 1394 stream receivers 
     138    for (i=0; i<2; i++) { 
     139        addRoute(eRS_Muted, i, eRD_ATX0, i+14); 
     140    } 
     141    // the Mixer inputs 
     142    for (i=0; i<4; i++) { 
     143        addRoute(eRS_InS0, i, eRD_Mixer0, i); 
     144    } 
     145    for (i=0; i<2; i++) { 
     146        addRoute(eRS_AES, i+6, eRD_Mixer0, i+4); 
     147    } 
     148    for (i=0; i<8; i++) { 
     149        addRoute(eRS_ADAT, i, eRD_Mixer0, i+6); 
     150    } 
     151    for (i=0; i<2; i++) { 
     152        addRoute(eRS_ARX0, i, eRD_Mixer0, i+14); 
     153    } 
     154    for (i=0; i<2; i++) { 
     155        addRoute(eRS_Muted, 0, eRD_Mixer1, i); 
     156    } 
     157    // The two mute destinations 
     158    for (i=0; i<2; i++) { 
     159        addRoute(eRS_Mixer, i, eRD_Muted, 0); 
     160    } 
     161} 
     162 
     163/** 
     164 *  There must be 40 (?) destinations at mid samplerate 
     165 *  Front LEDs are connected to the first four router entries 
     166 */ 
     167void 
     168SaffirePro24::SaffirePro24EAP::setupDefaultRouterConfig_mid() { 
     169    unsigned int i; 
     170    // the 1394 stream receivers except the two "loops" one 
     171    for (i=0; i<4; i++) { 
     172        addRoute(eRS_InS0, i, eRD_ATX0, i); 
     173    } 
     174    for (i=0; i<2; i++) { 
     175        addRoute(eRS_AES, i+6, eRD_ATX0, i+4); 
     176    } 
     177    for (i=0; i<4; i++) { 
     178        addRoute(eRS_ADAT, i, eRD_ATX0, i+6); 
     179    } 
     180    // The audio ports 
     181    // Ensure that audio port are not muted 
     182    for (i=0; i<6; i++) { 
     183        addRoute(eRS_ARX0, i%2, eRD_InS0, i); 
     184    } 
     185    // the SPDIF receiver 
     186    for (i=0; i<2; i++) { 
     187        addRoute(eRS_Muted, 0, eRD_AES, i+6); 
     188    } 
     189    // the "loops" 1394 stream receivers 
     190    for (i=0; i<2; i++) { 
     191        addRoute(eRS_Muted, i, eRD_ATX0, i+10); 
     192    } 
     193    // the Mixer inputs 
     194    for (i=0; i<4; i++) { 
     195        addRoute(eRS_InS0, i, eRD_Mixer0, i); 
     196    } 
     197    for (i=0; i<2; i++) { 
     198        addRoute(eRS_AES, i+6, eRD_Mixer0, i+4); 
     199    } 
     200    for (i=0; i<4; i++) { 
     201        addRoute(eRS_ADAT, i, eRD_Mixer0, i+6); 
     202    } 
     203    for (i=0; i<2; i++) { 
     204        addRoute(eRS_ARX0, i, eRD_Mixer0, i+10); 
     205    } 
     206    for (i=0; i<4; i++) { 
     207        addRoute(eRS_Muted, 0, eRD_Mixer0, i+12); 
     208    } 
     209    for (i=0; i<2; i++) { 
     210        addRoute(eRS_Muted, 0, eRD_Mixer1, i); 
     211    } 
     212    // The two mute destinations 
     213    for (i=0; i<2; i++) { 
     214        addRoute(eRS_Mixer, i, eRD_Muted, 0); 
     215    } 
     216} 
     217 
     218/** 
     219 *  High rate not supported 
     220 */ 
     221void 
     222SaffirePro24::SaffirePro24EAP::setupDefaultRouterConfig_high() { 
     223    printMessage("High (192 kHz) sample rate not supported by Saffire Pro 40\n"); 
    107224} 
    108225 
  • trunk/libffado/src/dice/focusrite/saffire_pro24.h

    r2050 r2139  
    6868        void setupSources_high(); 
    6969        void setupDestinations_high(); 
     70        void setupDefaultRouterConfig_low(); 
     71        void setupDefaultRouterConfig_mid(); 
     72        void setupDefaultRouterConfig_high(); 
    7073    }; 
    7174    Dice::EAP* createEAP();