Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
sbl::dsp::pm::HybridFriction Class Reference

Detailed Description

Definition at line 25 of file hybrid_friction.hpp.

#include <hybrid_friction.hpp>

Public Member Functions

void set_bow (const BowTable &bow)
 The table read, and the cold limits the rosin warms.
 
void set_force_su (float su)
 
ThermalFriction & rosin ()
 The rosin, for its parameters (ThermalFriction::set_rosin, set_fast_cooling).
 
const ThermalFriction & rosin () const
 
float process (float dv_free)
 One sample: relative velocity in, force out (wave units).
 
bool sticking () const
 
float limit () const
 
float temperature () const
 
void reset ()
 
diagram::Ports describe (diagram::Graph &g, uint8_t group, const char *name="friction (hybrid)") const
 

Member Function Documentation

◆ set_bow()

void sbl::dsp::pm::HybridFriction::set_bow ( const BowTable &  bow)
inline

The table read, and the cold limits the rosin warms.

Note
All public methods are ISR-safe — bounded computation, no I/O.

Definition at line 30 of file hybrid_friction.hpp.

References sbl::dsp::pm::BowTable::limits, sbl::dsp::pm::TableFriction::set_bow(), sbl::dsp::pm::ThermalFriction::set_limits(), and sbl::dsp::pm::BowTable::slices.

◆ set_force_su()

void sbl::dsp::pm::HybridFriction::set_force_su ( float  su)
inline

Bow force across the family [0, 1]; the table sees it scaled by the rosin's warmth as of now. Set once a block.

Definition at line 37 of file hybrid_friction.hpp.

References sbl::dsp::pm::ThermalFriction::mu_rel(), sbl::dsp::pm::TableFriction::set_force_su(), and sbl::dsp::pm::ThermalFriction::set_force_su().

◆ rosin() [1/2]

ThermalFriction & sbl::dsp::pm::HybridFriction::rosin ( )
inline

The rosin, for its parameters (ThermalFriction::set_rosin, set_fast_cooling).

Definition at line 44 of file hybrid_friction.hpp.

◆ rosin() [2/2]

const ThermalFriction & sbl::dsp::pm::HybridFriction::rosin ( ) const
inline

Definition at line 45 of file hybrid_friction.hpp.

◆ process()

float sbl::dsp::pm::HybridFriction::process ( float  dv_free)
inline

One sample: relative velocity in, force out (wave units).

Definition at line 48 of file hybrid_friction.hpp.

References sbl::dsp::pm::ThermalFriction::advance(), sbl::dsp::pm::TableFriction::process(), and sbl::dsp::pm::TableFriction::sticking().

◆ sticking()

bool sbl::dsp::pm::HybridFriction::sticking ( ) const
inline

Definition at line 56 of file hybrid_friction.hpp.

References sbl::dsp::pm::TableFriction::sticking().

◆ limit()

float sbl::dsp::pm::HybridFriction::limit ( ) const
inline

Definition at line 57 of file hybrid_friction.hpp.

References sbl::dsp::pm::TableFriction::limit().

◆ temperature()

float sbl::dsp::pm::HybridFriction::temperature ( ) const
inline

Definition at line 58 of file hybrid_friction.hpp.

References sbl::dsp::pm::ThermalFriction::temperature().

◆ reset()

void sbl::dsp::pm::HybridFriction::reset ( )
inline

◆ describe()

diagram::Ports sbl::dsp::pm::HybridFriction::describe ( diagram::Graph &  g,
uint8_t  group,
const char *  name = "friction (hybrid)" 
) const
inline

Definition at line 65 of file hybrid_friction.hpp.

References sbl::dsp::pm::TableFriction::describe().


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