@web-font-path: "roboto-debian.css";
v2.2.0 (RP2040)
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)
interp_add_accumulator
static void interp_add_accumulator(interp_hw_t *interp, uint lane, uint32_t val)
Add to accumulator.
Definition interp.h:441