diff --git a/flight/sys/pios_led.c b/flight/sys/pios_led.c index 64464fb28..f0277ce97 100644 --- a/flight/sys/pios_led.c +++ b/flight/sys/pios_led.c @@ -34,16 +34,13 @@ const uint32_t LED_GPIO_CLK[NUM_LED] = {LED1_GPIO_CLK, LED2_GPIO_CLK}; /* Initialises all the LED's */ void LED_INIT(void) { - for(int LEDNum = 0; LEDNum < NUM_LED; LEDNum++) - { - GPIO_InitTypeDef GPIO_InitStructure; - + GPIO_InitTypeDef GPIO_InitStructure; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + + for(int LEDNum = 0; LEDNum < NUM_LED; LEDNum++) { RCC_APB2PeriphClockCmd(LED_GPIO_CLK[LEDNum], ENABLE); - GPIO_InitStructure.GPIO_Pin = LED_GPIO_PIN[LEDNum]; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(LED_GPIO_PORT[LEDNum], &GPIO_InitStructure); } } diff --git a/flight/sys/pios_settings.c b/flight/sys/pios_settings.c index 0a1a05c96..aa240b412 100644 --- a/flight/sys/pios_settings.c +++ b/flight/sys/pios_settings.c @@ -40,17 +40,12 @@ void LoadSettings(void) long Result; /* Section: GPS */ - Settings.GPS.Baudrate = ini_getl("GPS", "Baudrate", GPS_BAUDRATE, SETTINGS_FILE); + Settings.GPS.Baudrate = (uint32_t) ini_getl("GPS", "Baudrate", GPS_BAUDRATE, SETTINGS_FILE); /* Section: Telemetry */ - Settings.Telem.Baudrate = ini_getl("Telemetry", "Baudrate", TELEM_BAUDRATE, SETTINGS_FILE); + Settings.Telem.Baudrate = (uint32_t) ini_getl("Telemetry", "Baudrate", TELEM_BAUDRATE, SETTINGS_FILE); /* Section: Auxillary_UART */ - Settings.AuxUART.Enabled = ini_getl("Auxillary_UART", "Enabled", AUXUART_ENABLED, SETTINGS_FILE); - Settings.AuxUART.Baudrate = ini_getl("Auxillary_UART", "Baudrate", AUXUART_BAUDRATE, SETTINGS_FILE); + Settings.AuxUART.Enabled = (bool) ini_getl("Auxillary_UART", "Enabled", AUXUART_ENABLED, SETTINGS_FILE); + Settings.AuxUART.Baudrate = (uint32_t) ini_getl("Auxillary_UART", "Baudrate", AUXUART_BAUDRATE, SETTINGS_FILE); } - -int foo(void) -{ - return 0; -} \ No newline at end of file diff --git a/flight/sys/pios_settings.h b/flight/sys/pios_settings.h index 69ea84389..512d0607b 100644 --- a/flight/sys/pios_settings.h +++ b/flight/sys/pios_settings.h @@ -30,11 +30,11 @@ /* Default Values */ /* GPSUART Default Values */ -#define GPS_BAUDRATE 19200 +#define GPS_BAUDRATE 19200 #define TELEM_BAUDRATE 19200 -#define AUXUART_ENABLED 1 +#define AUXUART_ENABLED 0 #define AUXUART_BAUDRATE 19200 /* Global types */ diff --git a/flight/sys/pios_sys.c b/flight/sys/pios_sys.c index 083d355e7..4368aeed0 100644 --- a/flight/sys/pios_sys.c +++ b/flight/sys/pios_sys.c @@ -43,9 +43,12 @@ void SysInit(void) LED_INIT(); /* Initialize FatFS disk */ - if(f_mount(0, &Fatfs[0]) != FR_OK) - { - //Failed to mount MicroSD filesystem, should we do something? + if(f_mount(0, &Fatfs[0]) != FR_OK) { + /* Failed to mount MicroSD filesystem, flash LED1 forever */ + while(1) { + for(int i = 0; i < 1000; i++); + LED_TOGGLE(LED1); + } } LoadSettings(); @@ -61,6 +64,7 @@ void SysInit(void) *******************************************************************************/ void GPIO_Configuration(void) { + } /******************************************************************************* @@ -70,7 +74,6 @@ void GPIO_Configuration(void) * Output : None * Return : None *******************************************************************************/ - void NVIC_Configuration(void) { /* Set the Vector Table base address as specified in .ld file */ @@ -80,4 +83,3 @@ void NVIC_Configuration(void) /* Configure HCLK clock as SysTick clock source. */ SysTick_CLKSourceConfig( SysTick_CLKSource_HCLK ); } - diff --git a/flight/sys/pios_uart.c b/flight/sys/pios_uart.c index 2c74477b4..6d84d87cd 100644 --- a/flight/sys/pios_uart.c +++ b/flight/sys/pios_uart.c @@ -1,3 +1,4 @@ + /** * Project: OpenPilot * @@ -122,6 +123,10 @@ void UARTInit(void) USART_Cmd(GPS_UART, ENABLE); USART_Cmd(TELEM_UART, ENABLE); + + if(Settings.AuxUART.Enabled == 1) { + EnableAuxUART(); + } } void EnableAuxUART(void) @@ -148,12 +153,9 @@ void UARTChangeBaud(USART_TypeDef* USARTx, uint32_t Baud) RCC_ClocksTypeDef RCC_ClocksStatus; RCC_GetClocksFreq(&RCC_ClocksStatus); - if (usartxbase == USART1_BASE) - { + if (usartxbase == USART1_BASE) { apbclock = RCC_ClocksStatus.PCLK2_Frequency; - } - else - { + } else { apbclock = RCC_ClocksStatus.PCLK1_Frequency; } diff --git a/flight/sys/usb_conf.h b/flight/sys/usb_conf.h deleted file mode 100644 index 97f63e300..000000000 --- a/flight/sys/usb_conf.h +++ /dev/null @@ -1,132 +0,0 @@ -/******************** (C) COPYRIGHT 2009 STMicroelectronics ******************** -* File Name : usb_conf.h -* Author : MCD Application Team -* Version : V3.1.0 -* Date : 10/30/2009 -* Description : Mass Storage Demo configuration header -******************************************************************************** -* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -*******************************************************************************/ -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __USB_CONF_H -#define __USB_CONF_H - -/*-------------------------------------------------------------*/ -/* EP_NUM */ -/* defines how many endpoints are used by the device */ -/*-------------------------------------------------------------*/ -#define EP_NUM (3) - -#ifndef STM32F10X_CL -/*-------------------------------------------------------------*/ -/* -------------- Buffer Description Table -----------------*/ -/*-------------------------------------------------------------*/ -/* buffer table base address */ - -#define BTABLE_ADDRESS (0x00) - -/* EP0 */ -/* rx/tx buffer base address */ -#define ENDP0_RXADDR (0x18) -#define ENDP0_TXADDR (0x58) - -/* EP1 */ -/* tx buffer base address */ -#define ENDP1_TXADDR (0x98) - -/* EP2 */ -/* Rx buffer base address */ -#define ENDP2_RXADDR (0xD8) - - -/* ISTR events */ -/* IMR_MSK */ -/* mask defining which events has to be handled */ -/* by the device application software */ -#define IMR_MSK (CNTR_CTRM | CNTR_RESETM) -#endif /* STM32F10X_CL */ - -/* CTR service routines */ -/* associated to defined endpoints */ -//#define EP1_IN_Callback NOP_Process -#define EP2_IN_Callback NOP_Process -#define EP3_IN_Callback NOP_Process -#define EP4_IN_Callback NOP_Process -#define EP5_IN_Callback NOP_Process -#define EP6_IN_Callback NOP_Process -#define EP7_IN_Callback NOP_Process - - -#define EP1_OUT_Callback NOP_Process -//#define EP2_OUT_Callback NOP_Process -#define EP3_OUT_Callback NOP_Process -#define EP4_OUT_Callback NOP_Process -#define EP5_OUT_Callback NOP_Process -#define EP6_OUT_Callback NOP_Process -#define EP7_OUT_Callback NOP_Process - -#ifdef STM32F10X_CL - -/* OTGD-FS-DEVICE IP interrupts Enable definitions */ -/* Uncomment the define to enable the selected interrupt */ -//#define INTR_MODEMISMATCH -#define INTR_SOFINTR -#define INTR_RXSTSQLVL /* Mandatory */ -//#define INTR_NPTXFEMPTY -//#define INTR_GINNAKEFF -//#define INTR_GOUTNAKEFF -//#define INTR_ERLYSUSPEND -#define INTR_USBSUSPEND /* Mandatory */ -#define INTR_USBRESET /* Mandatory */ -#define INTR_ENUMDONE /* Mandatory */ -//#define INTR_ISOOUTDROP -#define INTR_EOPFRAME -//#define INTR_EPMISMATCH -#define INTR_INEPINTR /* Mandatory */ -#define INTR_OUTEPINTR /* Mandatory */ -//#define INTR_INCOMPLISOIN -//#define INTR_INCOMPLISOOUT -#define INTR_WKUPINTR /* Mandatory */ - -/* OTGD-FS-DEVICE IP interrupts subroutines */ -/* Comment the define to enable the selected interrupt subroutine and replace it - by user code */ -#define INTR_MODEMISMATCH_Callback NOP_Process -#define INTR_SOFINTR_Callback NOP_Process -#define INTR_RXSTSQLVL_Callback NOP_Process -#define INTR_NPTXFEMPTY_Callback NOP_Process -#define INTR_NPTXFEMPTY_Callback NOP_Process -#define INTR_GINNAKEFF_Callback NOP_Process -#define INTR_GOUTNAKEFF_Callback NOP_Process -#define INTR_ERLYSUSPEND_Callback NOP_Process -#define INTR_USBSUSPEND_Callback NOP_Process -#define INTR_USBRESET_Callback NOP_Process -#define INTR_ENUMDONE_Callback NOP_Process -#define INTR_ISOOUTDROP_Callback NOP_Process -#define INTR_EOPFRAME_Callback NOP_Process -#define INTR_EPMISMATCH_Callback NOP_Process -#define INTR_INEPINTR_Callback NOP_Process -#define INTR_OUTEPINTR_Callback NOP_Process -#define INTR_INCOMPLISOIN_Callback NOP_Process -#define INTR_INCOMPLISOOUT_Callback NOP_Process -#define INTR_WKUPINTR_Callback NOP_Process - -/* Isochronous data update */ -#define INTR_RXSTSQLVL_ISODU_Callback NOP_Process - -/* Isochronous transfer parameters */ -/* Size of a single Isochronous buffer (size of a single transfer) */ -#define ISOC_BUFFER_SZE 1 -/* Number of sub-buffers (number of single buffers/transfers), should be even */ -#define NUM_SUB_BUFFERS 2 - -#endif /* STM32F10X_CL */ - -#endif /* __USB_CONF_H */ - -/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/