Simple FM Sound Synthesis with touch screen and accelerometer control, based on STM32F746G-DISCO
Dependencies: ADXL345 AUDIO_DISCO_F746NG BSP_DISCO_F746NG LCD_DISCO_F746NG SDRAM_DISCO_F746NG TS_DISCO_F746NG mbed-dev
Fork of Workshop_5 by
Diff: sinth.h
- Revision:
- 2:a1330350c32e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sinth.h Tue Aug 23 06:34:53 2016 +0000 @@ -0,0 +1,54 @@ + +// Author: Stefano Fasciani - stefanofasciani@stefanofasciani.com +// Date 7/8/2016 +// FM Sinth for DISCO_F746NG and ADXL345 + + +#include "mbed.h" +#include "AUDIO_DISCO_F746NG.h" +#include "SDRAM_DISCO_F746NG.h" +#include "LCD_DISCO_F746NG.h" +#include "TS_DISCO_F746NG.h" +#include "ADXL345.h" +#include <math.h> + +#define AUDIO_BLOCK_SIZE 1024 +#define TABLE_SIZE 2048 + +typedef enum{ + BUFFER_OFFSET_NONE = 0, + BUFFER_OFFSET_HALF = 1, + BUFFER_OFFSET_FULL = 2, +}BUFFER_StateTypeDef; + +float map(float x, float out_min, float out_max); +void sint_osc(); +void copy_buffer(int offset); +void init_sin_table(); +float get_touch_horizontal(); +float get_touch_vertical(); +float get_acc_horizontal(); +float get_acc_vertical(); +void display_keyboard(); +float get_note_pitch(); +uint8_t SetSysClock_PLL_HSE_200MHz(); + + +extern float table[]; +extern int16_t out_buffer[]; +extern float osc_buf[]; +extern __IO uint32_t audio_out_buffer_state; +extern float idx_1; +extern float idx_2; +extern float filt_old_samp; +extern float frqTL; +extern float two_pi_48k; +extern int acc_readings[]; +extern int update_round; +extern float amplitude; +extern float pitch; +extern float modrate; +extern float moddepth; +extern float filter; +extern TS_StateTypeDef TS; +extern LCD_DISCO_F746NG lcd;