Skip to content

Commit

Permalink
making pio_calculate_clkdiv8_from_float round to the neareset 1/256 (…
Browse files Browse the repository at this point in the history
…not lower 1/256)
  • Loading branch information
kilograham committed Nov 20, 2024
1 parent 482dd59 commit 4bf91aa
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions src/rp2_common/hardware_pio/include/hardware/pio.h
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,7 @@ static inline void sm_config_set_clkdiv_int_frac(pio_sm_config *c, uint16_t div_

static inline void pio_calculate_clkdiv8_from_float(float div, uint32_t *div_int, uint8_t *div_frac8) {
valid_params_if(HARDWARE_PIO, div >= 1 && div <= 65536);
div += 0.5f / 256; // round to the nearest 1/256
*div_int = (uint16_t)div;
// not a strictly necessary check, but if this changes, then this method should
// probably no longer be used in favor of one with a larger fraction
Expand Down

0 comments on commit 4bf91aa

Please sign in to comment.