comparison modulator.c @ 6:5bed069f0c33

WIP
author Daniel O'Connor <darius@dons.net.au>
date Sun, 16 Feb 2025 09:47:44 +1030
parents 2db42eaba3c8
children 4ad473648949
comparison
equal deleted inserted replaced
5:2db42eaba3c8 6:5bed069f0c33
171 // Step size is 0.25 (ie stretching by 4x) 171 // Step size is 0.25 (ie stretching by 4x)
172 unsigned step = (1 << uv_fractional_bits) / 4; 172 unsigned step = (1 << uv_fractional_bits) / 4;
173 173
174 puts("interp_test\n"); 174 puts("interp_test\n");
175 // Setup lane 0 to generate index into shape table 175 // Setup lane 0 to generate index into shape table
176 // Mask start is 0 because we use 8 bit samples
176 cfg = interp_default_config(); 177 cfg = interp_default_config();
177 interp_config_set_shift(&cfg, uv_fractional_bits); 178 interp_config_set_shift(&cfg, uv_fractional_bits);
178 interp_config_set_mask(&cfg, 0, 32 - uv_fractional_bits); 179 interp_config_set_mask(&cfg, 0, 32 - uv_fractional_bits);
179 interp_config_set_blend(&cfg, true); 180 interp_config_set_blend(&cfg, true);
180 interp_set_config(interp0, 0, &cfg); 181 interp_set_config(interp0, 0, &cfg);
181 182
182 // Setup lane 1 to LERP each sample pair 183 // Setup lane 1 to LERP each sample pair
183 // shift XXXX XXXX XXXX XXXX XXXX FFFF FFFF FFFF (accum 0 via cross input)
184 // to 0000 XXXX XXXX XXXX XXXX FFFF FFFF FFFF
185 cfg = interp_default_config(); 184 cfg = interp_default_config();
186 interp_config_set_shift(&cfg, uv_fractional_bits - 8); 185 interp_config_set_shift(&cfg, uv_fractional_bits - 8);
187 interp_config_set_signed(&cfg, false); 186 interp_config_set_signed(&cfg, false);
188 interp_config_set_cross_input(&cfg, true); // unsigned blending 187 interp_config_set_cross_input(&cfg, true); // unsigned blending
189 interp_set_config(interp0, 1, &cfg); 188 interp_set_config(interp0, 1, &cfg);
223 // https://github.com/raspberrypi/pico-sdk/issues/1152#issuecomment-1418248639 222 // https://github.com/raspberrypi/pico-sdk/issues/1152#issuecomment-1418248639
224 timer_hw->dbgpause = 0; 223 timer_hw->dbgpause = 0;
225 224
226 gpio_init(PICO_DEFAULT_LED_PIN); 225 gpio_init(PICO_DEFAULT_LED_PIN);
227 gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT); 226 gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT);
228
229 interp_config cfg = interp_default_config();
230 interp_config_set_blend(&cfg, true);
231 interp_set_config(interp0, 0, &cfg);
232
233 cfg = interp_default_config();
234 interp_set_config(interp0, 1, &cfg);
235 227
236 interp_test(pulse_data, shaped_trap); 228 interp_test(pulse_data, shaped_trap);
237 229
238 uint32_t idx; 230 uint32_t idx;
239 uint16_t plen = 4000; 231 uint16_t plen = 4000;