Skip to content
/ ps-040 Public

Audio recording and FX processing device utilizing DSPIC33e fixed point capable microcontroller. Control Surface consists of 17 pushbuttons, 6 potentiometers, one encoder. Display is targeted for character LCD (20x4 HD44780)

Notifications You must be signed in to change notification settings

d3vnu1l/ps-040

Repository files navigation

ps-040 Sampler project, uses DSPI33ep512GM310

Table of Contents: main.c; Main program loop, responsible for scanning buttons, pots, and general program control flow devInits.c; Contains functions used to initialize device and it's peripherals on startup routines.c Contains ISR utilities.c Contains utility functions, i.e. read adc, scan buttons, print info to uart, etc. sounds.c Contains sound clips and their corresponding attributes audio.c Controls audio processing flow, functions in here are generally used AFTER DCI interrupt has fetched a new sample max7219.c Functions necessary to simplify LED output

Audio processing flow: A new sample is ready for processing after the DCI interrupt is triggered. When this happens; 1. the last processed samples are loaded into TXBUF0 & TXBUF 1 2. new samples are fetched from RXBUF0 & RXBUF1 (ADC) -MSB is toggled to fix signing error -Check for clipping -Add to stream[rw][write_ptr] ping pong array *ping pong array allows writing to memory while simultanously transfering blocks to SD over DMA 3. call fx function to process sample -overwrite stream with return value 4. call mixer(stream[~rw][write_ptr]) -set 'output' as return value 'output' is sent to DAC on next interrupt

About

Audio recording and FX processing device utilizing DSPIC33e fixed point capable microcontroller. Control Surface consists of 17 pushbuttons, 6 potentiometers, one encoder. Display is targeted for character LCD (20x4 HD44780)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages