Changeset 1588

Show
Ignore:
Timestamp:
06/27/09 05:15:51 (14 years ago)
Author:
jwoithe
Message:

RME: differentiate between general sampling rate and that programmed into the device's DDS. It's still not completely clear how these two distinct rates interact though.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/src/rme/fireface_flash.cpp

    r1587 r1588  
    278278Device::write_device_settings(void)  
    279279{ 
    280     // Write the current settings as held in the "settings" data member to 
     280    // Write the current settings as held in the "settings" data field to 
    281281    // the device configuration flash. 
    282282 
  • trunk/libffado/src/rme/rme_avdevice.cpp

    r1584 r1588  
    9797    , m_rme_model( RME_MODEL_NONE ) 
    9898    , m_ddsFreq( -1 ) 
     99    , m_streaming_freq( -1 ) 
    99100    , tco_present( 0 ) 
    100101{ 
     
    199200 * (the default value of m_ddsFreq). 
    200201 */ 
    201     return m_ddsFreq; 
     202    return m_streaming_freq; 
    202203} 
    203204 
     
    224225 * be controlled is yet to be determined. 
    225226 */ 
     227    bool ret; 
    226228 
    227229    /* Work out whether the requested rate is supported */ 
     
    240242     
    241243    /* Send the desired frequency to the RME */ 
    242     if (writeRegister(stream_init_reg(), samplingFrequency) != 0) 
    243       return false; 
    244  
    245     m_ddsFreq = samplingFrequency; 
     244    if (m_rme_model == RME_MODEL_FIREFACE400) 
     245        ret = writeRegister(RME_FF400_STREAM_SRATE, samplingFrequency); 
     246    else 
     247        ret = writeRegister(RME_FF800_STREAM_SRATE, samplingFrequency); 
     248 
     249    m_streaming_freq = samplingFrequency; 
    246250    return true; 
    247251} 
  • trunk/libffado/src/rme/rme_avdevice.h

    r1587 r1588  
    9292 
    9393    signed int m_ddsFreq; 
     94    signed int m_streaming_freq; 
    9495 
    9596    signed int tco_present;