diff --git a/bsp/stm32_radio/application.c b/bsp/stm32_radio/application.c index ea98b5f59ed1779547bccb993ba838ae3db9808f..d5735e4acfcc5f3857710a59aca15be3c5500710 100644 --- a/bsp/stm32_radio/application.c +++ b/bsp/stm32_radio/application.c @@ -46,44 +46,6 @@ #include #endif -/* -key_enter PA0 -key_down PA1 -key_up PA2 -key_right PC2 -key_left PC3 -*/ -#define key_enter_GETVALUE() GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) -#define key_down_GETVALUE() GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1) -#define key_up_GETVALUE() GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2) -#define key_right_GETVALUE() GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2) -#define key_left_GETVALUE() GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_3) - -void rt_key_entry(void *parameter) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC,ENABLE); - - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2; - GPIO_Init(GPIOA,&GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3; - GPIO_Init(GPIOC,&GPIO_InitStructure); - - while (1) - { - if ( key_enter_GETVALUE() == 0 )rt_kprintf("key_enter\r\n"); - if ( key_down_GETVALUE() == 0 )rt_kprintf("key_down\r\n"); - if ( key_up_GETVALUE() == 0 )rt_kprintf("key_up\r\n"); - if ( key_right_GETVALUE() == 0 )rt_kprintf("key_right\r\n"); - if ( key_left_GETVALUE() == 0 )rt_kprintf("key_left\r\n"); - rt_thread_delay(20); - } -} - /* thread phase init */ void rt_init_thread_entry(void *parameter) { @@ -153,6 +115,9 @@ void rt_init_thread_entry(void *parameter) rtgui_panel_register("main", &rect); rt_hw_lcd_init(); + + info_init(); + today_init(); } #endif } @@ -174,14 +139,8 @@ int rt_application_init() #endif if (init_thread != RT_NULL) rt_thread_startup(init_thread); - /* create keypad thread */ - { - rt_thread_t key_tid; - key_tid = rt_thread_create("key", - rt_key_entry, RT_NULL, - 512, 30, 5); - if (key_tid != RT_NULL) rt_thread_startup(key_tid); - } + rt_hw_key_init(); + return 0; } diff --git a/bsp/stm32_radio/board.c b/bsp/stm32_radio/board.c index 7eee40b23ae83349ebf93c2ca6d64de3def4158f..fadd81623ff3feed4ee4279c981728d9f506cfaa 100644 --- a/bsp/stm32_radio/board.c +++ b/bsp/stm32_radio/board.c @@ -138,7 +138,7 @@ void rt_hw_timer_handler(void) /** * This function will initial STM32 Radio board. */ - extern void FSMC_SRAM_Init(void); +extern void FSMC_SRAM_Init(void); void rt_hw_board_init() { NAND_IDTypeDef NAND_ID; diff --git a/bsp/stm32_radio/gui.c b/bsp/stm32_radio/gui.c index 6fae09ddc7f89c8e5b55c41ea53a21696587a9d3..f40d32ffd57796101c6a69e911b38e26c180e203 100644 --- a/bsp/stm32_radio/gui.c +++ b/bsp/stm32_radio/gui.c @@ -182,8 +182,8 @@ static void rtgui_demo_workbench_entry(void* parameter) struct rtgui_box *box = rtgui_box_create(RTGUI_VERTICAL, &rtgui_empty_rect); struct rtgui_box *hbox = rtgui_box_create(RTGUI_HORIZONTAL, &rtgui_empty_rect); struct rtgui_button* button = rtgui_button_create("OK"); - struct rtgui_textbox *textbox = rtgui_textbox_create("±à¼­¿ò"); - struct rtgui_iconbox *iconbox = rtgui_iconbox_create(image, "ͼ±ê", + struct rtgui_textbox *textbox = rtgui_textbox_create("text edit box"); + struct rtgui_iconbox *iconbox = rtgui_iconbox_create(image, "icon", RTGUI_ICONBOX_TEXT_RIGHT); RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(view)) = RTGUI_RGB(255, 255, 224); diff --git a/bsp/stm32_radio/lcd.c b/bsp/stm32_radio/lcd.c index 37fa4d4aa3e9e2828c7714ca62c12079c6351442..fd46a902c28ad0a0d0c9b0f6ab1fefcf684af3ff 100644 --- a/bsp/stm32_radio/lcd.c +++ b/bsp/stm32_radio/lcd.c @@ -40,14 +40,14 @@ void rt_hw_lcd_set_pixel(rtgui_color_t *c, rt_base_t x, rt_base_t y) unsigned short p; /* get color pixel */ - p = rtgui_color_to_565(*c); + p = rtgui_color_to_565p(*c); /* set X point */ LCD_ADDR = 0x02; LCD_DATA = x; - + /* set Y point */ - LCD_ADDR = 0x03; + LCD_ADDR = 0x03; LCD_DATA16(y); /* write pixel */ @@ -57,17 +57,21 @@ void rt_hw_lcd_set_pixel(rtgui_color_t *c, rt_base_t x, rt_base_t y) void rt_hw_lcd_get_pixel(rtgui_color_t *c, rt_base_t x, rt_base_t y) { + unsigned short p; + /* set X point */ LCD_ADDR = 0x02; LCD_DATA = x; /* set Y point */ - LCD_ADDR = 0x03; + LCD_ADDR = 0x03; LCD_DATA16( y ); /* read pixel */ LCD_ADDR = 0x0F; - LCD_DATA16_READ(*c); + LCD_DATA16_READ(p); + + *c = rtgui_color_from_565p(p); } void rt_hw_lcd_draw_hline(rtgui_color_t *c, rt_base_t x1, rt_base_t x2, rt_base_t y) @@ -82,13 +86,13 @@ void rt_hw_lcd_draw_hline(rtgui_color_t *c, rt_base_t x1, rt_base_t x2, rt_base_ LCD_DATA = x1; /* set Y point */ - LCD_ADDR = 0x03; + LCD_ADDR = 0x03; LCD_DATA16( y ); /* write pixel */ LCD_ADDR = 0x0E; - while (x1 < x2) - { + while (x1 < x2) + { LCD_DATA16(p); x1 ++; } @@ -108,7 +112,7 @@ void rt_hw_lcd_draw_vline(rtgui_color_t *c, rt_base_t x, rt_base_t y1, rt_base_t while(y1 < y2) { /* set Y point */ - LCD_ADDR = 0x03; + LCD_ADDR = 0x03; LCD_DATA16( y1 ); /* write pixel */