12#ifndef INC_SOUND_TASK_H_
13#define INC_SOUND_TASK_H_
16#include "stm32f4xx_hal.h"
29#define SAMPLE_RATE 44100U
30#define PWM_FREQ 88200U
31#define STEP_RATIO (PWM_FREQ / SAMPLE_RATE)
38extern volatile uint32_t
playing;
volatile uint8_t pwm_div_count
Definition sound_task.c:20
volatile uint32_t sample_index
Definition sound_task.c:19
volatile uint32_t audio_buf_len
Definition sound_task.c:21
volatile uint32_t playing
Definition sound_task.c:22
const int16_t * audio_buf_ptr
Definition sound_task.c:23
void sound_task_state_3_hit(SoundTask *sound_task)
Starts the interrupts and sets the array pointer for the hit sound(state 3).
Definition sound_task.c:126
void sound_task_run(SoundTask *sound_task)
Executes the current sound task state.
Definition sound_task.c:34
void sound_task_state_2_laser(SoundTask *sound_task)
Starts the interrupts and sets the array pointer for the laser sound(state 2).
Definition sound_task.c:97
void sound_task_state_5_start(SoundTask *sound_task)
Starts the interrupts and sets the array pointer for the start sound(state 5).
Definition sound_task.c:190
void sound_task_state_0_init(SoundTask *sound_task)
Initializes the sound task (state 0).
Definition sound_task.c:57
void sound_task_state_6_stop(SoundTask *sound_task)
Stops the interrupts and PWM for speaker after sound played (state 6)
Definition sound_task.c:221
void(* sound_fcn_t)(SoundTask *sound_task)
Function pointer type for sound state functions.
Definition sound_task.h:27
void sound_task_state_1_wait(SoundTask *sound_task)
Waits for sound flags (state 1).
Definition sound_task.c:71
void sound_task_state_4_win(SoundTask *sound_task)
Starts the interrupts and sets the array pointer for the win sound(state 4).
Definition sound_task.c:158
Structure that represents the sound task state and configuration.
Definition sound_task.h:48
int32_t hit_snd
Definition sound_task.h:52
int32_t num_states
Definition sound_task.h:50
TIM_HandleTypeDef * htim
Definition sound_task.h:56
int32_t win_snd
Definition sound_task.h:54
int32_t start_snd
Definition sound_task.h:53
sound_fcn_t state_list[]
Definition sound_task.h:58
int32_t laser_snd
Definition sound_task.h:51
int32_t state
Definition sound_task.h:49
uint32_t chan
Definition sound_task.h:55