dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock Struct Reference

a clock domain of the device: its sources, the rates it serves and everything the streams of that domain are timed by More...

#include <dx_stream.h>

Collaboration diagram for dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock:

Classes

struct  defaults
 what the device asks for where nothing was stored yet - every one of them a preference's default More...
struct  setting
 one clock source of this domain: internal, or an external one the device locks to More...

Public Member Functions

uint32_t align (uint32_t samplerate) const
 align samplerate to closest supported samplerate
void describe (std::ostream &os, uint32_t granularity=1, uint32_t samplerate=0) const
uint32_t interval (uint32_t samplerate, uint32_t granularity=1) const
 returns clock interval in samples

Static Public Member Functions

static std::string interval_ticks (uint32_t interval, uint32_t ticks=1)
 describes clock as interval ticks

Public Attributes

dx::stream::clock::bitmap bitmap {}
struct dx::stream::desc::clock::defaults defaults
uint32_t lock_delay {}
char name [0x20] {}
uint32_t resolution {}
 isochonous clock ticks per second; maybe 0 -> use stream::transaction::granularity
struct dx::stream::desc::clock::setting setting [max_clock_settings]
uint32_t settings {}

Detailed Description

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
struct dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock

a clock domain of the device: its sources, the rates it serves and everything the streams of that domain are timed by

Member Function Documentation

◆ align()

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::align ( uint32_t samplerate) const
inline

align samplerate to closest supported samplerate

Here is the call graph for this function:

◆ describe()

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
void dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::describe ( std::ostream & os,
uint32_t granularity = 1,
uint32_t samplerate = 0 ) const
inline
Here is the call graph for this function:

◆ interval()

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::interval ( uint32_t samplerate,
uint32_t granularity = 1 ) const
inline

returns clock interval in samples

Here is the caller graph for this function:

◆ interval_ticks()

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
std::string dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::interval_ticks ( uint32_t interval,
uint32_t ticks = 1 )
inlinestatic

describes clock as interval ticks

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bitmap

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
dx::stream::clock::bitmap dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::bitmap {}

supported sample rates bit field

◆ defaults

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
struct dx::stream::desc::clock::defaults dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::defaults

◆ lock_delay

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::lock_delay {}

ms the device needs to lock its clock after a sample rate change before it takes the next request (USB audio: wLockDelay); 0: none

◆ name

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
char dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::name[0x20] {}

◆ resolution

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::resolution {}

isochonous clock ticks per second; maybe 0 -> use stream::transaction::granularity

◆ setting

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
struct dx::stream::desc::clock::setting dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::setting[max_clock_settings]

◆ settings

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clock::settings {}

number of clock settings


The documentation for this struct was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.