@web-font-path: "roboto-debian.css";
Loading...
Searching...
No Matches
interp.h File Reference
#include "pico.h"
#include "hardware/structs/interp.h"
#include "hardware/regs/sio.h"
Include dependency graph for interp.h:

Go to the source code of this file.

Data Structures

struct  interp_config
struct  interp_hw_save_t

Macros

#define PARAM_ASSERTIONS_ENABLED_HARDWARE_INTERP   0
#define interp0   interp0_hw
#define interp1   interp1_hw
#define interp_lane_claim   interp_claim_lane
#define interp_lane_unclaim   interp_unclaim_lane
#define interp_add_accumulater(interp, lane, val)

Functions

static uint interp_index (interp_hw_t *interp)
void interp_claim_lane (interp_hw_t *interp, uint lane)
 Claim the interpolator lane specified.
void interp_claim_lane_mask (interp_hw_t *interp, uint lane_mask)
 Claim the interpolator lanes specified in the mask.
void interp_unclaim_lane (interp_hw_t *interp, uint lane)
 Release a previously claimed interpolator lane.
bool interp_lane_is_claimed (interp_hw_t *interp, uint lane)
 Determine if an interpolator lane is claimed.
void interp_unclaim_lane_mask (interp_hw_t *interp, uint lane_mask)
 Release previously claimed interpolator lanes, see interp_claim_lane_mask.
static void interp_config_set_shift (interp_config *c, uint shift)
 Set the interpolator shift value.
static void interp_config_set_mask (interp_config *c, uint mask_lsb, uint mask_msb)
 Set the interpolator mask range.
static void interp_config_set_cross_input (interp_config *c, bool cross_input)
 Enable cross input.
static void interp_config_set_cross_result (interp_config *c, bool cross_result)
 Enable cross results.
static void interp_config_set_signed (interp_config *c, bool _signed)
 Set sign extension.
static void interp_config_set_add_raw (interp_config *c, bool add_raw)
 Set raw add option.
static void interp_config_set_blend (interp_config *c, bool blend)
 Set blend mode.
static void interp_config_set_clamp (interp_config *c, bool clamp)
 Set interpolator clamp mode (Interpolator 1 only).
static void interp_config_set_force_bits (interp_config *c, uint bits)
 Set interpolator Force bits.
static interp_config interp_default_config (void)
 Get a default configuration.
static void interp_set_config (interp_hw_t *interp, uint lane, interp_config *config)
 Send configuration to a lane.
static void interp_set_force_bits (interp_hw_t *interp, uint lane, uint bits)
 Directly set the force bits on a specified lane.
void interp_save (interp_hw_t *interp, interp_hw_save_t *saver)
 Save the specified interpolator state.
void interp_restore (interp_hw_t *interp, interp_hw_save_t *saver)
 Restore an interpolator state.
static void interp_set_base (interp_hw_t *interp, uint lane, uint32_t val)
 Sets the interpolator base register by lane.
static uint32_t interp_get_base (interp_hw_t *interp, uint lane)
 Gets the content of interpolator base register by lane.
static void interp_set_base_both (interp_hw_t *interp, uint32_t val)
 Sets the interpolator base registers simultaneously.
static void interp_set_accumulator (interp_hw_t *interp, uint lane, uint32_t val)
 Sets the interpolator accumulator register by lane.
static uint32_t interp_get_accumulator (interp_hw_t *interp, uint lane)
 Gets the content of the interpolator accumulator register by lane.
static uint32_t interp_pop_lane_result (interp_hw_t *interp, uint lane)
 Read lane result, and write lane results to both accumulators to update the interpolator.
static uint32_t interp_peek_lane_result (interp_hw_t *interp, uint lane)
 Read lane result.
static uint32_t interp_pop_full_result (interp_hw_t *interp)
 Read lane result, and write lane results to both accumulators to update the interpolator.
static uint32_t interp_peek_full_result (interp_hw_t *interp)
 Read lane result.
static void interp_add_accumulator (interp_hw_t *interp, uint lane, uint32_t val)
 Add to accumulator.
static uint32_t interp_get_raw (interp_hw_t *interp, uint lane)
 Get raw lane value.

Macro Definition Documentation

◆ interp_add_accumulater

#define interp_add_accumulater ( interp,
lane,
val )
Value:
interp_add_accumulator(interp, lane, val)
static void interp_add_accumulator(interp_hw_t *interp, uint lane, uint32_t val)
Add to accumulator.
Definition interp.h:441