UI led
This commit is contained in:
@@ -59,28 +59,26 @@ void Error_Handler(void);
|
||||
/* USER CODE END EFP */
|
||||
|
||||
/* Private defines -----------------------------------------------------------*/
|
||||
#define TEMPERATURA_Pin GPIO_PIN_4
|
||||
#define TEMPERATURA_GPIO_Port GPIOA
|
||||
#define CORRENTE_Pin GPIO_PIN_5
|
||||
#define CORRENTE_GPIO_Port GPIOA
|
||||
#define DIRETTA_Pin GPIO_PIN_6
|
||||
#define DIRETTA_GPIO_Port GPIOA
|
||||
#define RIFLESSA_Pin GPIO_PIN_7
|
||||
#define RIFLESSA_GPIO_Port GPIOA
|
||||
#define AUDIO_IN_Pin GPIO_PIN_0
|
||||
#define AUDIO_IN_GPIO_Port GPIOB
|
||||
#define A5_Pin GPIO_PIN_4
|
||||
#define A5_GPIO_Port GPIOA
|
||||
#define A4_Pin GPIO_PIN_5
|
||||
#define A4_GPIO_Port GPIOA
|
||||
#define A3_Pin GPIO_PIN_6
|
||||
#define A3_GPIO_Port GPIOA
|
||||
#define A2_Pin GPIO_PIN_7
|
||||
#define A2_GPIO_Port GPIOA
|
||||
#define A1_Pin GPIO_PIN_0
|
||||
#define A1_GPIO_Port GPIOB
|
||||
#define T_SWDIO_Pin GPIO_PIN_13
|
||||
#define T_SWDIO_GPIO_Port GPIOA
|
||||
#define T_SWCLK_Pin GPIO_PIN_14
|
||||
#define T_SWCLK_GPIO_Port GPIOA
|
||||
#define AUDIO_OL_Pin GPIO_PIN_3
|
||||
#define AUDIO_OL_GPIO_Port GPIOB
|
||||
#define RESET_BTN_Pin GPIO_PIN_4
|
||||
#define RESET_BTN_GPIO_Port GPIOB
|
||||
#define TEMP_OL_Pin GPIO_PIN_5
|
||||
#define TEMP_OL_GPIO_Port GPIOB
|
||||
#define REFL_OL_Pin GPIO_PIN_6
|
||||
#define REFL_OL_GPIO_Port GPIOB
|
||||
#define G1_Pin GPIO_PIN_3
|
||||
#define G1_GPIO_Port GPIOB
|
||||
#define G2_Pin GPIO_PIN_4
|
||||
#define G2_GPIO_Port GPIOB
|
||||
#define G4_Pin GPIO_PIN_6
|
||||
#define G4_GPIO_Port GPIOB
|
||||
|
||||
/* USER CODE BEGIN Private defines */
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#define SI5351_ADDRESS (0x60)
|
||||
|
||||
// #define SI5351_CRYSTAL_FREQ 12288000UL
|
||||
#define SI5351_CRYSTAL_FREQ 19288000UL
|
||||
|
||||
#define SI5351_MIN_FREQ 3000
|
||||
#define SI5351_MAX_FREQ 200000000
|
||||
|
||||
// #### registri ####
|
||||
|
||||
#define SI5351_OUT_ENABLE 3
|
||||
#define SI5351_OUT_DIS_STATE 24
|
||||
|
||||
#define SI5351_INPUT_SOURCE 15
|
||||
|
||||
#define SI5351_CLK0_CONTROL 16
|
||||
#define SI5351_CLK1_CONTROL 17
|
||||
#define SI5351_CLK2_CONTROL 18
|
||||
|
||||
#define SI5351_PLLA 26
|
||||
#define SI5351_PLLB 34
|
||||
|
||||
#define SI5351_MULTISYNTH0 42
|
||||
#define SI5351_MULTISYNTH1 50
|
||||
#define SI5351_MULTISYNTH2 58
|
||||
|
||||
#define SI5351_RESET 177
|
||||
#define SI5351_CRYSTAL_LOAD 183
|
||||
|
||||
extern I2C_HandleTypeDef hi2c1;
|
||||
|
||||
void si5351_initialize(void);
|
||||
void si5351_set_frequency(uint32_t freq, uint8_t pll);
|
||||
void si5351_off_clk(uint8_t clk);
|
||||
void si5351_on_clk(uint8_t clk);
|
||||
|
||||
extern uint8_t oeb;
|
||||
1
squeow_sw/Inc/si5351.h
Symbolic link
1
squeow_sw/Inc/si5351.h
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../../../uC_driver/synth/si5351/si5351.h
|
||||
@@ -1,57 +1,69 @@
|
||||
#define SYS_TICK_PRESCALE_10HZ 0
|
||||
#define SYS_TICK_PRESCALE_1HZ 10
|
||||
// device presenti
|
||||
#define SQUEOW_SYNTH
|
||||
#define SQUEOW_PWM
|
||||
#define SQUEOW_SONDA_TEMPERATURA
|
||||
#define SQUEOW_SONDA_DIRETTA
|
||||
#define SQUEOW_SONDA_RIFLESSA
|
||||
// #define SQUEOW_SONDA_CORRENTE
|
||||
|
||||
#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
|
||||
// secondo l'ordine di rank dell'ADC
|
||||
#define SQUEOW_ADC_CORRENTE 0 // IN4 (pin 12, A2)
|
||||
#define SQUEOW_ADC_TEMPERATURA 1 // IN3 (pin 11, A3)
|
||||
#define SQUEOW_ADC_DIRETTA 2 // IN13 (pin 10, A4)
|
||||
#define SQUEOW_ADC_RIFLESSA 3 // IN17 (pin 9, A5)
|
||||
|
||||
#define SAMPLES_BUFFER_SIZE (1024) ///< deve essere ^2
|
||||
#define SAMPLES_BUFFER_SIZE_MASK (SAMPLES_BUFFER_SIZE - 1)
|
||||
#define SINE_INCREMENT 0.314
|
||||
// soglie
|
||||
#define SOGLIA_CORRENTE 3096
|
||||
#define SOGLIA_TEMPERATURA 3096
|
||||
#define SOGLIA_DIRETTA 3096
|
||||
#define SOGLIA_RIFLESSA 3096
|
||||
|
||||
// base dei tempi per operazioni lente, la base dei tempi è 100hz
|
||||
#define SYS_TICK_PRESCALE_10HZ 10
|
||||
#define SYS_TICK_PRESCALE_1HZ 100
|
||||
|
||||
// modalità di blocco
|
||||
#define MODALITA_BLOCCO_PERMANENTE
|
||||
// #define MODALITA_BLOCCO_TEMPORANEO
|
||||
// #define MODALITA_BLOCCO_BASSA_POTENZA
|
||||
|
||||
#define TEMPO_BLOCCO_TEMPORANEO 1000
|
||||
#define DIVISORE_BLOCCO_BASSA_POTENZA 2
|
||||
|
||||
#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;
|
||||
extern volatile uint8_t sys_tick, sys_tick_prescale;
|
||||
|
||||
// UART
|
||||
int serial_write(char *ptr, size_t len);
|
||||
|
||||
extern UART_HandleTypeDef huart1;
|
||||
#define UART_RX_BUF_SIZE 64
|
||||
#define UART_RX_BUF_SIZE 256
|
||||
extern uint8_t UART_RX_buf[UART_RX_BUF_SIZE];
|
||||
|
||||
#define UART_TX_BUF_SIZE 256
|
||||
extern uint8_t UART_TX_buf[UART_TX_BUF_SIZE];
|
||||
extern uint8_t UART_TX_buf_lenght;
|
||||
|
||||
|
||||
// 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];
|
||||
// per usare buffer da 32 settare WORD nel canale DMA
|
||||
extern uint32_t adc2_valori[4];
|
||||
extern uint8_t adc2_done, blocco, blocco_fatto, codice_allarme;
|
||||
|
||||
// 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;
|
||||
// ADC
|
||||
void adc_rileva_soglie(uint32_t *adc_valori);
|
||||
void processa_blocco(void);
|
||||
|
||||
// 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;
|
||||
@@ -59,12 +71,11 @@ extern ADC_HandleTypeDef hadc2;
|
||||
|
||||
|
||||
// funzie
|
||||
void squeow_init(void);
|
||||
void squeow_synth_init(void);
|
||||
void squeow_synth_set(uint32_t freq);
|
||||
void squeow_synth_on(void);
|
||||
void squeow_synth_off(void);
|
||||
|
||||
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);
|
||||
|
||||
@@ -1,18 +1,49 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
extern uint8_t vu_on, vu_value, vu_tmp_value;
|
||||
extern uint8_t adc_stampa;
|
||||
#ifndef SQUEOW_UI_H
|
||||
#define SQUEOW_UI_H
|
||||
|
||||
extern uint8_t uart_sent;
|
||||
// #define SQUEOW_UI_TOSTA
|
||||
#define SQUEOW_UI_SERIOW
|
||||
#define SQUEOW_UI_LED
|
||||
|
||||
#define SQUEOW_LED_BLOCCO_LAMPO 10
|
||||
#define SQUEOW_LED_BLOCCO_PAUSA 80
|
||||
|
||||
#define VU_METER_RILASCIO 1
|
||||
#define VU_METER_SOGLIA_PICCO 2040
|
||||
#define VU_METER_TEMPO_PICCO 10000 // base 40khz
|
||||
|
||||
// codice lampeggi
|
||||
#define SQUEOW_CODICE_TEMPERATURA 1
|
||||
#define SQUEOW_CODICE_RIFLESSA 2
|
||||
#define SQUEOW_CODICE_DIRETTA 3
|
||||
#define SQUEOW_CODICE_CORRENTE 4
|
||||
|
||||
extern uint16_t ui_volume;
|
||||
|
||||
extern volatile uint8_t uart_sent;
|
||||
|
||||
// ################
|
||||
|
||||
void squeow_ui_init(void);
|
||||
|
||||
int serial_write_DMA(char *ptr, int len);
|
||||
int serial_write(char *ptr, int len);
|
||||
void vu_stampa(void);
|
||||
void stampa_adc();
|
||||
|
||||
void seriow_var_dump(void);
|
||||
void seriow_stab_dump(void);
|
||||
void seriow_log(uint8_t sev, char *msg);
|
||||
|
||||
void tosta_freq(void);
|
||||
void tosta_log(uint8_t sev, char *msg);
|
||||
void tosta_var_bars(void);
|
||||
|
||||
void led_blocco(uint8_t led_blocco_lampi);
|
||||
void led_pwm_duty(uint8_t duty);
|
||||
|
||||
// #####
|
||||
|
||||
uint16_t vu_meter(uint16_t campione);
|
||||
|
||||
uint16_t riscala_valori(uint16_t valore_in, uint16_t valore_in_minimo, uint16_t valore_in_massimo, uint16_t valore_out_minimo, uint16_t valore_out_massimo);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
* (when HSE is used as system clock source, directly or through the PLL).
|
||||
*/
|
||||
#if !defined (HSE_VALUE)
|
||||
#define HSE_VALUE (12288000UL) /*!< Value of the External oscillator in Hz */
|
||||
#define HSE_VALUE (24000000UL) /*!< Value of the External oscillator in Hz */
|
||||
#endif /* HSE_VALUE */
|
||||
|
||||
#if !defined (HSE_STARTUP_TIMEOUT)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#define __STM32G4xx_IT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
|
||||
Reference in New Issue
Block a user