working visualisation that just shows the current waveform

This commit is contained in:
2016-09-03 00:50:25 +02:00
parent fc7f31f033
commit 4fb61d1ea9
11 changed files with 450 additions and 13 deletions
+5
View File
@@ -31,6 +31,7 @@
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include <utils.h>
#include "stm32f1xx_hal.h"
#include "stm32f1xx.h"
#include "stm32f1xx_it.h"
@@ -65,6 +66,7 @@ void NMI_Handler(void)
void HardFault_Handler(void)
{
/* USER CODE BEGIN HardFault_IRQn 0 */
uart_print("Hard fault.\n");
/* USER CODE END HardFault_IRQn 0 */
while (1)
@@ -81,6 +83,7 @@ void HardFault_Handler(void)
void MemManage_Handler(void)
{
/* USER CODE BEGIN MemoryManagement_IRQn 0 */
uart_print("MemManage fault.\n");
/* USER CODE END MemoryManagement_IRQn 0 */
while (1)
@@ -97,6 +100,7 @@ void MemManage_Handler(void)
void BusFault_Handler(void)
{
/* USER CODE BEGIN BusFault_IRQn 0 */
uart_print("Bus fault.\n");
/* USER CODE END BusFault_IRQn 0 */
while (1)
@@ -113,6 +117,7 @@ void BusFault_Handler(void)
void UsageFault_Handler(void)
{
/* USER CODE BEGIN UsageFault_IRQn 0 */
uart_print("Usage fault.\n");
/* USER CODE END UsageFault_IRQn 0 */
while (1)
+1 -1
View File
@@ -50,7 +50,7 @@ void MX_TIM3_Init(void)
htim3.Instance = TIM3;
htim3.Init.Prescaler = 0;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 1800;
htim3.Init.Period = 6000;//1800
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
if (HAL_TIM_OC_Init(&htim3) != HAL_OK)
{
+46 -10
View File
@@ -4,6 +4,7 @@
#include <inttypes.h>
#include <stm32f1xx_hal_gpio.h>
#include <dotmatrix.h>
#include "mxconstants.h"
#include "stm32f1xx_hal.h"
#include "utils.h"
@@ -13,23 +14,37 @@
static uint32_t audio_samples[256];
void start_DMA() {
uart_print("- Starting ADC DMA\n");
static DotMatrix_Cfg *disp;
HAL_ADC_Start_DMA(&hadc1, audio_samples, 256);
void start_DMA() {
//uart_print("- Starting ADC DMA\n");
HAL_ADC_Start_DMA(&hadc1, audio_samples, 32);
HAL_TIM_Base_Start(&htim3);
}
/** This callback is called by HAL after the transfer is complete */
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) {
uart_print("- DMA complete.\n");
// uart_print("- DMA complete.\n");
char x[100];
sprintf(x, "%"PRIu32"\n", audio_samples[0]);
uart_print(x);
// char x[100];
//
// for (int i = 0; i < 256; i++) {
// sprintf(x, "%"PRIu32" ", audio_samples[i]);
// uart_print(x);
// }
// uart_print("\n");
dmtx_clear(disp);
for (int i = 0; i < 32; i++) {
dmtx_set(disp, i, ((audio_samples[i])>>6)-24, 1);
}
dmtx_show(disp);
}
void user_main() {
uart_print("== USER CODE STARTING ==\n");
// Leds OFF
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, 1);
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, 1);
@@ -39,13 +54,29 @@ void user_main() {
// Enable audio input
HAL_GPIO_WritePin(AUDIO_NSTBY_GPIO_Port, AUDIO_NSTBY_Pin, 1);
DotMatrix_Init disp_init;
disp_init.cols = 4;
disp_init.rows = 2;
disp_init.CS_GPIOx = SPI1_CS_GPIO_Port;
disp_init.CS_PINx = SPI1_CS_Pin;
disp_init.SPIx = SPI1;
disp = dmtx_init(&disp_init);
dmtx_intensity(disp, 2);
dmtx_clear(disp);
dmtx_show(disp);
while (1) {
// Blink
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
HAL_Delay(500);
HAL_Delay(50);
uart_print("Main loop\n");
//uart_print("Main loop\n");
start_DMA();
//dmtx_toggle(disp, 31, 15);
//dmtx_show(disp);
}
}
@@ -64,7 +95,12 @@ void user_Error_Handler() {
* @retval None
*/
void user_assert_failed(uint8_t *file, uint32_t line) {
uart_print("Assert failed in file ");
user_error_file_line("Assert failed", (const char *) file, line);
}
void user_error_file_line(const char *message, const char *file, uint32_t line) {
uart_print(message);
uart_print(" in file ");
uart_print((char *) file);
uart_print(" on line ");