From 117e26bffdf040e25a63c6253e3c4fac254a260d Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Tue, 20 Oct 2015 18:19:04 +0200 Subject: [PATCH 1/3] Fixing wrong macro default value definition --- src/gwin/gwin_options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gwin/gwin_options.h b/src/gwin/gwin_options.h index 45dfcd36..ab3e284a 100644 --- a/src/gwin/gwin_options.h +++ b/src/gwin/gwin_options.h @@ -28,7 +28,7 @@ * @details Defaults to FALSE */ #ifndef GWIN_NEED_WINDOWMANAGER - #define GWIN_NEED_WIDGET FALSE + #define GWIN_NEED_WINDOWMANAGER FALSE #endif /** * @brief Should the widget hierarchy be included. This provides parent-child features. From 56794c2eb911ef6c3fe77517696b0ea1681f68e4 Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Tue, 20 Oct 2015 19:52:22 +0200 Subject: [PATCH 2/3] Fixing compiler warnings in STM32F746-Discovery board files --- .../STM32F746-Discovery/board_STM32LTDC.h | 71 +++++++++---------- .../gmouse_lld_FT5336_board.h | 4 +- 2 files changed, 35 insertions(+), 40 deletions(-) diff --git a/boards/base/STM32F746-Discovery/board_STM32LTDC.h b/boards/base/STM32F746-Discovery/board_STM32LTDC.h index f5011d4c..ccdd1451 100644 --- a/boards/base/STM32F746-Discovery/board_STM32LTDC.h +++ b/boards/base/STM32F746-Discovery/board_STM32LTDC.h @@ -13,11 +13,6 @@ #include "stm32f7xx_hal_gpio.h" #include -#if !GFX_USE_OS_CHIBIOS - #define AFRL AFR[0] - #define AFRH AFR[1] -#endif - static const ltdcConfig driverCfg = { 480, 272, // Width, Height (pixels) 41, 10, // Horizontal, Vertical sync (pixels) @@ -61,181 +56,181 @@ static void configureLcdPins(void) GPIOI->MODER |= GPIO_MODER_MODER15_1; GPIOI->OTYPER &=~ GPIO_OTYPER_OT_15; GPIOI->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR15_0 | GPIO_OSPEEDER_OSPEEDR15_1; - GPIOI->AFRH |= (0b1110 << 4*7); + GPIOI->AFR[1] |= ((uint32_t)0xE << 4*7); // PJ0: LCD_R1 GPIOJ->MODER |= GPIO_MODER_MODER0_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_0; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR0_0 | GPIO_OSPEEDER_OSPEEDR0_1; - GPIOJ->AFRL |= (0b1110 << 4*0); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*0); // PJ1: LCD_R2 GPIOJ->MODER |= GPIO_MODER_MODER1_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_1; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR1_0 | GPIO_OSPEEDER_OSPEEDR1_1; - GPIOJ->AFRL |= (0b1110 << 4*1); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*1); // PJ2: LCD_R3 GPIOJ->MODER |= GPIO_MODER_MODER2_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_2; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR2_0 | GPIO_OSPEEDER_OSPEEDR2_1; - GPIOJ->AFRL |= (0b1110 << 4*2); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*2); // PJ3: LCD_R4 GPIOJ->MODER |= GPIO_MODER_MODER3_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_3; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR3_0 | GPIO_OSPEEDER_OSPEEDR3_1; - GPIOJ->AFRL |= (0b1110 << 4*3); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*3); // PJ4: LCD_R5 GPIOJ->MODER |= GPIO_MODER_MODER4_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_4; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4_0 | GPIO_OSPEEDER_OSPEEDR4_1; - GPIOJ->AFRL |= (0b1110 << 4*4); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*4); // PJ5: LCD_R6 GPIOJ->MODER |= GPIO_MODER_MODER5_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_5; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR5_0 | GPIO_OSPEEDER_OSPEEDR5_1; - GPIOJ->AFRL |= (0b1110 << 4*5); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*5); // PJ6: LCD_R7 GPIOJ->MODER |= GPIO_MODER_MODER6_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_6; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR6_0 | GPIO_OSPEEDER_OSPEEDR6_1; - GPIOJ->AFRL |= (0b1110 << 4*6); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*6); // PJ7: LCD_G0 GPIOJ->MODER |= GPIO_MODER_MODER7_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_7; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR7_0 | GPIO_OSPEEDER_OSPEEDR7_1; - GPIOJ->AFRL |= (0b1110 << 4*7); + GPIOJ->AFR[0] |= ((uint32_t)0xE << 4*7); // PJ8: LCD_G1 GPIOJ->MODER |= GPIO_MODER_MODER8_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_8; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR8_0 | GPIO_OSPEEDER_OSPEEDR8_1; - GPIOJ->AFRH |= (0b1110 << 4*0); + GPIOJ->AFR[1] |= ((uint32_t)0xE << 4*0); // PJ9: LCD_G2 GPIOJ->MODER |= GPIO_MODER_MODER9_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_9; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR9_0 | GPIO_OSPEEDER_OSPEEDR9_1; - GPIOJ->AFRH |= (0b1110 << 4*1); + GPIOJ->AFR[1] |= ((uint32_t)0xE << 4*1); // PJ10: LCD_G3 GPIOJ->MODER |= GPIO_MODER_MODER10_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_10; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR10_0 | GPIO_OSPEEDER_OSPEEDR10_1; - GPIOJ->AFRH |= (0b1110 << 4*2); + GPIOJ->AFR[1] |= ((uint32_t)0xE << 4*2); // PJ11: LCD_G4 GPIOJ->MODER |= GPIO_MODER_MODER11_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_11; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR11_0 | GPIO_OSPEEDER_OSPEEDR11_1; - GPIOJ->AFRH |= (0b1110 << 4*3); + GPIOJ->AFR[1] |= ((uint32_t)0xE << 4*3); // PK0: LCD_G5 GPIOK->MODER |= GPIO_MODER_MODER0_0; GPIOK->OTYPER &=~ GPIO_OTYPER_OT_0; GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR0_0 | GPIO_OSPEEDER_OSPEEDR0_1; - GPIOK->AFRL |= (0b1110 << 4*0); + GPIOK->AFR[0] |= ((uint32_t)0xE << 4*0); // PK1: LCD_G6 GPIOK->MODER |= GPIO_MODER_MODER1_1; GPIOK->OTYPER &=~ GPIO_OTYPER_OT_1; GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR1_0 | GPIO_OSPEEDER_OSPEEDR1_1; - GPIOK->AFRL |= (0b1110 << 4*1); + GPIOK->AFR[0] |= ((uint32_t)0xE << 4*1); // PK2: LCD_G7 GPIOK->MODER |= GPIO_MODER_MODER2_1; GPIOK->OTYPER &=~ GPIO_OTYPER_OT_2; GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR2_0 | GPIO_OSPEEDER_OSPEEDR2_1; - GPIOK->AFRL |= (0b1110 << 4*2); + GPIOK->AFR[0] |= ((uint32_t)0xE << 4*2); // PE4: LCD_B0 GPIOE->MODER |= GPIO_MODER_MODER4_1; GPIOE->OTYPER &=~ GPIO_OTYPER_OT_4; GPIOE->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4_0 | GPIO_OSPEEDER_OSPEEDR4_1; - GPIOE->AFRL |= (0b1110 << 4*4); + GPIOE->AFR[0] |= ((uint32_t)0xE << 4*4); // PJ13: LCD_B1 GPIOJ->MODER |= GPIO_MODER_MODER13_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_13; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR13_0 | GPIO_OSPEEDER_OSPEEDR13_1; - GPIOJ->AFRH |= (0b1110 << 4*5); + GPIOJ->AFR[1] |= ((uint32_t)0xE << 4*5); // PJ14: LCD_B2 GPIOJ->MODER |= GPIO_MODER_MODER14_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_14; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR14_0 | GPIO_OSPEEDER_OSPEEDR14_1; - GPIOJ->AFRH |= (0b1110 << 4*6); + GPIOJ->AFR[1] |= ((uint32_t)0xE << 4*6); // PJ15: LCD_B3 GPIOJ->MODER |= GPIO_MODER_MODER15_1; GPIOJ->OTYPER &=~ GPIO_OTYPER_OT_15; GPIOJ->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR15_0 | GPIO_OSPEEDER_OSPEEDR15_1; - GPIOJ->AFRH |= (0b1110 << 4*7); + GPIOJ->AFR[1] |= ((uint32_t)0xE << 4*7); // PG12: LCD_B4 GPIOG->MODER |= GPIO_MODER_MODER12_1; GPIOG->OTYPER &=~ GPIO_OTYPER_OT_12; GPIOG->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR12_0 | GPIO_OSPEEDER_OSPEEDR12_1; - GPIOG->AFRH |= (0b1110 << 4*4); + GPIOG->AFR[1] |= ((uint32_t)0xE << 4*4); // PK4: LCD_B5 GPIOK->MODER |= GPIO_MODER_MODER4_1; GPIOK->OTYPER &=~ GPIO_OTYPER_OT_4; GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4_0 | GPIO_OSPEEDER_OSPEEDR4_1; - GPIOK->AFRL |= (0b1110 << 4*4); + GPIOK->AFR[0] |= ((uint32_t)0xE << 4*4); // PK5: LCD_B6 GPIOK->MODER |= GPIO_MODER_MODER5_1; GPIOK->OTYPER &=~ GPIO_OTYPER_OT_5; GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR5_0 | GPIO_OSPEEDER_OSPEEDR5_1; - GPIOK->AFRL |= (0b1110 << 4*5); + GPIOK->AFR[0] |= ((uint32_t)0xE << 4*5); // PK6: LCD_B7 GPIOK->MODER |= GPIO_MODER_MODER6_1; GPIOK->OTYPER &=~ GPIO_OTYPER_OT_6; GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR6_0 | GPIO_OSPEEDER_OSPEEDR6_1; - GPIOK->AFRL |= (0b1110 << 4*6); + GPIOK->AFR[0] |= ((uint32_t)0xE << 4*6); // PK7: LCD_DE GPIOK->MODER |= GPIO_MODER_MODER7_1; GPIOK->OTYPER &=~ GPIO_OTYPER_OT_7; GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR7_0 | GPIO_OSPEEDER_OSPEEDR7_1; - GPIOK->AFRL |= (0b1110 << 4*7); + GPIOK->AFR[0] |= ((uint32_t)0xE << 4*7); // PI9: LCD_VSYNC GPIOI->MODER |= GPIO_MODER_MODER9_1; GPIOI->OTYPER &=~ GPIO_OTYPER_OT_9; GPIOI->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR9_0 | GPIO_OSPEEDER_OSPEEDR9_1; - GPIOI->AFRH |= (0b1110 << 4*1); + GPIOI->AFR[1] |= ((uint32_t)0xE << 4*1); // PI10: LCD_VSYNC GPIOI->MODER |= GPIO_MODER_MODER10_1; GPIOI->OTYPER &=~ GPIO_OTYPER_OT_10; GPIOI->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR10_0 | GPIO_OSPEEDER_OSPEEDR10_1; - GPIOI->AFRH |= (0b1110 << 4*2); + GPIOI->AFR[1] |= ((uint32_t)0xE << 4*2); // PI13: LCD_INT GPIOI->MODER |= GPIO_MODER_MODER13_1; GPIOI->OTYPER &=~ GPIO_OTYPER_OT_13; GPIOI->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR13_0 | GPIO_OSPEEDER_OSPEEDR13_1; - GPIOI->AFRH |= (0b1110 << 4*5); + GPIOI->AFR[1] |= ((uint32_t)0xE << 4*5); // PI14: LCD_CLK GPIOI->MODER |= GPIO_MODER_MODER14_1; GPIOI->OTYPER &=~ GPIO_OTYPER_OT_14; GPIOI->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR14_0 | GPIO_OSPEEDER_OSPEEDR14_1; - GPIOI->AFRH |= (0b1110 << 4*6); + GPIOI->AFR[1] |= ((uint32_t)0xE << 4*6); // PI8: ??? GPIOI->MODER |= GPIO_MODER_MODER8_1; GPIOI->OTYPER &=~ GPIO_OTYPER_OT_8; GPIOI->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR8_0 | GPIO_OSPEEDER_OSPEEDR8_1; - GPIOI->AFRH |= (0b1110 << 4*0); + GPIOI->AFR[1] |= ((uint32_t)0xE << 4*0); // PI12: LCD_DISP_PIN GPIOI->MODER |= GPIO_MODER_MODER12_0; @@ -248,7 +243,7 @@ static void configureLcdPins(void) GPIOK->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR3_0 | GPIO_OSPEEDER_OSPEEDR3_1; } -static inline void init_board(GDisplay *g) { +static void init_board(GDisplay *g) { // As we are not using multiple displays we set g->board to NULL as we don't use it g->board = 0; @@ -295,11 +290,11 @@ static inline void init_board(GDisplay *g) { } } -static inline void post_init_board(GDisplay* g) { +static void post_init_board(GDisplay* g) { (void) g; } -static inline void set_backlight(GDisplay* g, uint8_t percent) { +static void set_backlight(GDisplay* g, uint8_t percent) { (void) g; // ST was stupid enought not to hook this up to a pin that diff --git a/boards/base/STM32F746-Discovery/gmouse_lld_FT5336_board.h b/boards/base/STM32F746-Discovery/gmouse_lld_FT5336_board.h index 1e3e6877..8dd3ebf3 100644 --- a/boards/base/STM32F746-Discovery/gmouse_lld_FT5336_board.h +++ b/boards/base/STM32F746-Discovery/gmouse_lld_FT5336_board.h @@ -40,14 +40,14 @@ static bool_t init_board(GMouse* m, unsigned instance) GPIOH->MODER |= GPIO_MODER_MODER7_1; // Alternate function GPIOH->OTYPER |= GPIO_OTYPER_OT_7; // OpenDrain GPIOH->OSPEEDR &= ~GPIO_OSPEEDER_OSPEEDR7; // LowSpeed - GPIOH->AFRL |= (0b0100 << 4*7); // AF4 + GPIOH->AFRL |= (uint32_t)(0x04 << 4*7); // AF4 // I2C3_SDA GPIOH8, alternate, opendrain, highspeed RCC->AHB1ENR |= RCC_AHB1ENR_GPIOHEN; // Enable clock GPIOH->MODER |= GPIO_MODER_MODER8_1; // Alternate function GPIOH->OTYPER |= GPIO_OTYPER_OT_8; // OpenDrain GPIOH->OSPEEDR &= ~GPIO_OSPEEDER_OSPEEDR8; // LowSpeed - GPIOH->AFRH |= (0b0100 << 4*0); // AF4 + GPIOH->AFRH |= (uint32_t)(0x04 << 4*0); // AF4 // Initialize the I2C3 peripheral if (!(i2cInit(I2C3))) { From fd7e047bf80720cc5dc2801955a74b425942102c Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Tue, 20 Oct 2015 20:00:45 +0200 Subject: [PATCH 3/3] Moving INLINE macro to gfx.h main file as inlined functions are also used outside of gdisp.h --- gfx.h | 12 ++++++++++++ src/gdisp/gdisp.c | 12 ------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gfx.h b/gfx.h index 2d073c0c..21d5dbb1 100644 --- a/gfx.h +++ b/gfx.h @@ -51,6 +51,18 @@ #endif #endif +/** + * __inline was standardized with C99. previous to that each compiler handles it differently. + */ +#undef INLINE +#ifdef(__KEIL__) + #define INLINE __inline +#elif(__C51__) + #define INLINE __inline +#else + #define INLINE inline +#endif + /* gfxconf.h is the user's project configuration for the GFX system. */ #include "gfxconf.h" diff --git a/src/gdisp/gdisp.c b/src/gdisp/gdisp.c index 0ddee1f6..27b52e92 100644 --- a/src/gdisp/gdisp.c +++ b/src/gdisp/gdisp.c @@ -12,18 +12,6 @@ /* Include the low level driver information */ #include "gdisp_driver.h" -#if 1 - #undef INLINE - #if defined(__KEIL__) || defined(__C51__) - #define INLINE __inline - #else - #define INLINE inline - #endif -#else - #undef INLINE - #define INLINE -#endif - // Number of milliseconds for the startup logo - 0 means disabled. #if GDISP_NEED_STARTUP_LOGO #define GDISP_STARTUP_LOGO_TIMEOUT 1000