1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-23 16:25:16 +03:00

hello.wav was not played anymore

This commit is contained in:
Bertrand Songis 2016-08-02 07:37:07 +02:00
parent ba681666a0
commit 0524f24ac6
16 changed files with 38 additions and 51 deletions

View file

@ -496,10 +496,6 @@ void audioTask(void * pdata)
}
setSampleRate(AUDIO_SAMPLE_RATE);
while (!sdMounted()) {
CoTickDelay(10);
}
if (!unexpectedShutdown) {
AUDIO_HELLO();

View file

@ -173,7 +173,7 @@ class AudioQueue {
friend void audioTask(void* pdata);
#if defined(SIMU_AUDIO)
friend void *audioThread(void *);
friend void * audioThread(void *);
#endif
#if defined(CLI)
friend void printAudioVars();
@ -231,7 +231,8 @@ class AudioQueue {
return NULL;
}
bool filledAtleast(int noBuffers) {
bool filledAtleast(int noBuffers)
{
int count = 0;
for(int n= 0; n<AUDIO_BUFFER_COUNT; ++n) {
if (audioBuffers[n].state == AUDIO_BUFFER_FILLED) {

View file

@ -20,7 +20,7 @@
#include "opentx.h"
#if defined(PCBTARANIS) || defined(PCBHORUS)
#if defined(PCBTARANIS) || defined(PCBHORUS) || defined(PCBFLAMENCO)
uint8_t switchToMix(uint8_t source)
{
div_t qr = div(source-1, 3);

View file

@ -2546,6 +2546,7 @@ void opentxInit(OPENTX_INIT_ARGS)
#endif
#if defined(CPUARM)
referenceSystemAudioFiles();
audioQueue.start();
setBacklight(g_eeGeneral.backlightBright);
#endif

View file

@ -58,7 +58,12 @@
#define USBD_SERIALNUMBER_FS_STRING "00000000001B"
#if defined(USB_JOYSTICK)
#if defined(BOOT)
#define USBD_PID 0x5720
#define USBD_PRODUCT_FS_STRING USB_NAME " Bootloader"
#define USBD_CONFIGURATION_FS_STRING "MSC Config"
#define USBD_INTERFACE_FS_STRING "MSC Interface"
#elif defined(USB_JOYSTICK)
#define USBD_PID 0x5710
#define USBD_PRODUCT_FS_STRING USB_NAME " Joystick"
#define USBD_CONFIGURATION_FS_STRING "HID Config"

View file

@ -312,8 +312,6 @@ void sdMount()
// call sdGetFreeSectors() now because f_getfree() takes a long time first time it's called
sdGetFreeSectors();
referenceSystemAudioFiles();
#if defined(LOG_TELEMETRY)
f_open(&g_telemetryFile, LOGS_PATH "/telemetry.log", FA_OPEN_ALWAYS | FA_WRITE);
if (f_size(&g_telemetryFile) > 0) {

View file

@ -161,7 +161,7 @@
// Telemetry
#define TELEMETRY_RCC_AHB1Periph (RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1)
#define TELEMETRY_RCC_APB1Periph RCC_APB1Periph_USART2
#define TELEMETRY_GPIO_DIR GPIOD
#define TELEMETRY_DIR_GPIO GPIOD
#define TELEMETRY_DIR_GPIO_PIN GPIO_Pin_4 // PD.04
#define TELEMETRY_GPIO GPIOD
#define TELEMETRY_TX_GPIO_PIN GPIO_Pin_5 // PD.05

View file

@ -52,8 +52,8 @@ void telemetryPortInit(uint32_t baudrate, int mode)
GPIO_InitStructure.GPIO_Pin = TELEMETRY_DIR_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(TELEMETRY_GPIO_DIR, &GPIO_InitStructure);
GPIO_ResetBits(TELEMETRY_GPIO_DIR, TELEMETRY_DIR_GPIO_PIN);
GPIO_Init(TELEMETRY_DIR_GPIO, &GPIO_InitStructure);
GPIO_ResetBits(TELEMETRY_DIR_GPIO, TELEMETRY_DIR_GPIO_PIN);
USART_InitStructure.USART_BaudRate = baudrate;
if (mode == TELEMETRY_SERIAL_8E2) {

View file

@ -78,7 +78,7 @@ void init_trainer_capture()
GPIO_PinAFConfig(TRAINER_GPIO, TRAINER_GPIO_PinSource_IN, TRAINER_GPIO_AF);
TRAINER_TIMER->ARR = 0xFFFF;
TRAINER_TIMER->PSC = (PERI1_FREQUENCY * TIMER_MULT_APB1) / 2000000 - 1; // 0.5uS
TRAINER_TIMER->PSC = TRAINER_TIMER_FREQ / 2000000 - 1; // 0.5uS
TRAINER_TIMER->CR2 = 0;
TRAINER_TIMER->CCMR1 = TIM_CCMR1_IC1F_0 | TIM_CCMR1_IC1F_1 | TIM_CCMR1_CC1S_0;
TRAINER_TIMER->CCER = TIM_CCER_CC1E;

View file

@ -539,8 +539,6 @@ void * audioThread(void *)
}
SDL_PauseAudio(0);
referenceSystemAudioFiles();
while (simuAudio.threadRunning) {
audioQueue.wakeup();
sleep(1);
@ -1220,8 +1218,6 @@ void sdInit(void)
// call sdGetFreeSectors() now because f_getfree() takes a long time first time it's called
sdGetFreeSectors();
referenceSystemAudioFiles();
#if defined(LOG_TELEMETRY)
f_open(&g_telemetryFile, LOGS_PATH "/telemetry.log", FA_OPEN_ALWAYS | FA_WRITE);
if (f_size(&g_telemetryFile) > 0) {

View file

@ -1001,7 +1001,6 @@ void sdMountPoll()
case SD_ST_DATA:
if (!usbPlugged() && f_mount(0, &g_FATFS_Obj) == FR_OK) {
referenceSystemAudioFiles();
Card_state = SD_ST_MOUNTED;
}
break;
@ -1071,8 +1070,6 @@ void sdInit()
if (f_mount(&g_FATFS_Obj, "", 1) == FR_OK) {
// call sdGetFreeSectors() now because f_getfree() takes a long time first time it's called
sdGetFreeSectors();
referenceSystemAudioFiles();
Card_state = SD_ST_MOUNTED;
}

View file

@ -1,7 +1,6 @@
option(SHUTDOWN_CONFIRMATION "Shutdown confirmation" OFF)
option(LCD_DUAL_BUFFER "Dual LCD Buffer" OFF)
option(TARANIS_INTERNAL_PPM "Taranis internal module hack to output PPM" OFF)
add_definitions(-DUSB_NAME="FrSky Taranis")
if(PCB STREQUAL X9E)
option(STICKS "Sticks type" STANDARD)
@ -58,7 +57,7 @@ elseif(PCB STREQUAL X7D)
add_definitions(-DEEPROM_VARIANT=0)
set(GUI_DIR 128x64)
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} 9x_bitmaps)
set(LCD_DRIVER lcd_driver_spi2.cpp)
set(LCD_DRIVER lcd_driver_spi.cpp)
endif()
set(HSE_VALUE 12000000)

View file

@ -1003,8 +1003,6 @@ void sdInit(void)
if (f_mount(&g_FATFS_Obj, "", 1) == FR_OK) {
// call sdGetFreeSectors() now because f_getfree() takes a long time first time it's called
sdGetFreeSectors();
referenceSystemAudioFiles();
#if defined(LOG_TELEMETRY)
f_open(&g_telemetryFile, LOGS_PATH "/telemetry.log", FA_OPEN_ALWAYS | FA_WRITE);

View file

@ -423,7 +423,7 @@
// Telemetry
#define TELEMETRY_RCC_AHB1Periph (RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1)
#define TELEMETRY_RCC_APB1Periph RCC_APB1Periph_USART2
#define TELEMETRY_GPIO_DIR GPIOD
#define TELEMETRY_DIR_GPIO GPIOD
#define TELEMETRY_DIR_GPIO_PIN GPIO_Pin_4 // PD.04
#define TELEMETRY_GPIO GPIOD
#define TELEMETRY_TX_GPIO_PIN GPIO_Pin_5 // PD.05

View file

@ -51,8 +51,10 @@ void lcdWriteCommand(uint8_t Command_Byte)
LCD_NCS_HIGH();
}
void lcdInitSpi()
void lcdHardwareInit()
{
GPIO_InitTypeDef GPIO_InitStructure;
// APB1 clock / 2 = 133nS per clock
LCD_SPI->CR1 = 0; // Clear any mode error
LCD_SPI->CR1 = SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_CPOL | SPI_CR1_CPHA;
@ -60,21 +62,6 @@ void lcdInitSpi()
LCD_SPI->CR1 |= SPI_CR1_MSTR; // Make sure in case SSM/SSI needed to be set first
LCD_SPI->CR1 |= SPI_CR1_SPE;
LDC_DMA_Stream->CR &= ~DMA_SxCR_EN; // Disable DMA
LCD_DMA->HIFCR = LCD_DMA_FLAGS; // Write ones to clear bits
LDC_DMA_Stream->CR = DMA_SxCR_PL_0 | DMA_SxCR_MINC | DMA_SxCR_DIR_0;
LDC_DMA_Stream->PAR = (uint32_t) &LCD_SPI->DR;
LDC_DMA_Stream->M0AR = (uint32_t)displayBuf;
LDC_DMA_Stream->FCR = 0x05; // DMA_SxFCR_DMDIS | DMA_SxFCR_FTH_0;
LDC_DMA_Stream->NDTR = LCD_W*LCD_H/8*4;
NVIC_EnableIRQ(LCD_DMA_Stream_IRQn);
}
void lcdHardwareInit()
{
GPIO_InitTypeDef GPIO_InitStructure;
LCD_NCS_HIGH();
GPIO_InitStructure.GPIO_Pin = LCD_NCS_GPIO_PIN;
@ -97,6 +84,16 @@ void lcdHardwareInit()
GPIO_PinAFConfig(LCD_SPI_GPIO, LCD_MOSI_GPIO_PinSource, LCD_GPIO_AF);
GPIO_PinAFConfig(LCD_SPI_GPIO, LCD_CLK_GPIO_PinSource, LCD_GPIO_AF);
LDC_DMA_Stream->CR &= ~DMA_SxCR_EN; // Disable DMA
LCD_DMA->HIFCR = LCD_DMA_FLAGS; // Write ones to clear bits
LDC_DMA_Stream->CR = DMA_SxCR_PL_0 | DMA_SxCR_MINC | DMA_SxCR_DIR_0;
LDC_DMA_Stream->PAR = (uint32_t)&LCD_SPI->DR;
LDC_DMA_Stream->M0AR = (uint32_t)displayBuf;
LDC_DMA_Stream->FCR = 0x05; // DMA_SxFCR_DMDIS | DMA_SxFCR_FTH_0;
LDC_DMA_Stream->NDTR = LCD_W*LCD_H/8*4;
NVIC_EnableIRQ(LCD_DMA_Stream_IRQn);
}
void lcdStart()
@ -246,8 +243,6 @@ void lcdInitFinish()
{
lcdInitFinished = true;
lcdInitSpi();
/*
LCD needs longer time to initialize in low temperatures. The data-sheet
mentions a time of at least 150 ms. The delay of 1300 ms was obtained

View file

@ -23,7 +23,8 @@
Fifo<uint8_t, TELEMETRY_FIFO_SIZE> telemetryFifo;
uint32_t telemetryErrors = 0;
void telemetryPortInit(uint32_t baudrate, int mode) {
void telemetryPortInit(uint32_t baudrate, int mode)
{
if (baudrate == 0) {
USART_DeInit(TELEMETRY_USART);
return;
@ -52,15 +53,16 @@ void telemetryPortInit(uint32_t baudrate, int mode) {
GPIO_InitStructure.GPIO_Pin = TELEMETRY_DIR_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(TELEMETRY_GPIO_DIR, &GPIO_InitStructure);
GPIO_ResetBits(TELEMETRY_GPIO_DIR, TELEMETRY_DIR_GPIO_PIN);
GPIO_Init(TELEMETRY_DIR_GPIO, &GPIO_InitStructure);
GPIO_ResetBits(TELEMETRY_DIR_GPIO, TELEMETRY_DIR_GPIO_PIN);
USART_InitStructure.USART_BaudRate = baudrate;
if (mode == TELEMETRY_SERIAL_8E2) {
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
USART_InitStructure.USART_StopBits = USART_StopBits_2;
USART_InitStructure.USART_Parity = USART_Parity_Even;
} else {
}
else {
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
@ -76,13 +78,13 @@ void telemetryPortInit(uint32_t baudrate, int mode) {
void telemetryPortSetDirectionOutput()
{
TELEMETRY_GPIO_DIR->BSRRL = TELEMETRY_DIR_GPIO_PIN; // output enable
TELEMETRY_DIR_GPIO->BSRRL = TELEMETRY_DIR_GPIO_PIN; // output enable
TELEMETRY_USART->CR1 &= ~USART_CR1_RE; // turn off receiver
}
void telemetryPortSetDirectionInput()
{
TELEMETRY_GPIO_DIR->BSRRH = TELEMETRY_DIR_GPIO_PIN; // output disable
TELEMETRY_DIR_GPIO->BSRRH = TELEMETRY_DIR_GPIO_PIN; // output disable
TELEMETRY_USART->CR1 |= USART_CR1_RE; // turn on receiver
}
@ -130,7 +132,6 @@ extern "C" void TELEMETRY_DMA_TX_IRQHandler(void)
}
}
#define USART_FLAG_ERRORS (USART_FLAG_ORE | USART_FLAG_NE | USART_FLAG_FE | USART_FLAG_PE)
extern "C" void TELEMETRY_USART_IRQHandler(void)
{