71 lines
1.8 KiB
C
71 lines
1.8 KiB
C
#define SYS_TICK_PRESCALE_10HZ 0
|
|
#define SYS_TICK_PRESCALE_1HZ 10
|
|
|
|
#define STATO_AUDIO_DISCONNESSO 0
|
|
#define STATO_AUDIO_CONNESSO 1
|
|
#define STATO_AUDIO_RIPRODUZIONE 2
|
|
#define STATO_AUDIO_TONO 3
|
|
#define STATO_AUDIO_ADC 4
|
|
|
|
#define SAMPLES_BUFFER_SIZE (1024) ///< deve essere ^2
|
|
#define SAMPLES_BUFFER_SIZE_MASK (SAMPLES_BUFFER_SIZE - 1)
|
|
#define SINE_INCREMENT 0.314
|
|
|
|
#define DEFAULT_SYNTH_FREQUENCY 1359000UL
|
|
|
|
#define SOGLIA_TEMPERATURA 2048
|
|
#define SOGLIA_CORRENTE 2048
|
|
#define SOGLIA_DIRETTA 2048
|
|
#define SOGLIA_RIFLESSA 2048
|
|
|
|
#define max(x,y) (((x) >= (y)) ? (x) : (y))
|
|
|
|
// SYS
|
|
extern uint8_t sys_tick, sys_tick_prescale, pwm_tick;
|
|
|
|
// UART
|
|
extern UART_HandleTypeDef huart1;
|
|
#define UART_RX_BUF_SIZE 64
|
|
extern uint8_t UART_RX_buf[UART_RX_BUF_SIZE];
|
|
|
|
// SYNTH
|
|
extern uint32_t freq;
|
|
|
|
// ADC1
|
|
extern uint16_t adc1_valore;
|
|
|
|
// ADC2
|
|
extern uint16_t adc2_valori[4];
|
|
extern uint8_t adc2_done, adc_blocco, adc_allarmi[4];
|
|
|
|
// audio
|
|
extern uint16_t sample_value;
|
|
extern uint8_t stato_audio;
|
|
extern double sine_increment;
|
|
extern uint16_t samples_ringbuf[SAMPLES_BUFFER_SIZE]; ///< buffer ad anello dei dati RX
|
|
extern uint32_t samples_ringbuf_input_index, samples_ringbuf_output_index;
|
|
extern uint8_t usb_audio_tick;
|
|
|
|
// VU
|
|
void adc_rileva_soglie(uint16_t *adc_valori);
|
|
|
|
// MOD
|
|
extern uint16_t pwm_value1, pwm_value2, pwm_value3, pwm_value4;
|
|
extern uint8_t rails_number;
|
|
|
|
extern UART_HandleTypeDef huart1;
|
|
extern ADC_HandleTypeDef hadc1;
|
|
extern ADC_HandleTypeDef hadc2;
|
|
|
|
|
|
// funzie
|
|
uint32_t sat_sub(uint16_t x, uint16_t y);
|
|
uint16_t u16_sine(void);
|
|
uint16_t u12_sine(void);
|
|
uint16_t u11_sine(void);
|
|
void store_sample(uint16_t sample);
|
|
void store_samples(uint16_t *data, uint32_t size);
|
|
uint16_t get_sample(void);
|
|
uint16_t get_adc_sample(void);
|
|
uint32_t ringbuf_increment(uint32_t *index, uint32_t buff_size_mask);
|