библиотека emWin виджет checkbox

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
wanes101
Встал на лапы
Сообщения: 97
Зарегистрирован: Вт мар 01, 2011 10:06:35

библиотека emWin виджет checkbox

Сообщение wanes101 »

Всем привет, стоит ли тут это спрашивать? но попробую.
Проблема такая: есть stm32f429i-disco. Делаю одно приложение там по лику по чекбоксу все окна перестают отвечать на сообщения.
Вот так создается этот элемент
{ CHECKBOX_CreateIndirect, "Check", ID_CHECKBOX_0, 126, 223, 80, 26,0, 0x0, 0 },

собирал GUI GUIbuilder-ом. после клика по чекбоксу появляется галочка но на сообщения перестают отвечать все окна.
приходит только этому чекбоксу сообщение WM_NOTIFY_PARENT с id-шником чекбокса и нотификационным кодом 0, при клике по любой части экрана. Что может быть?
Реклама
wanes101
Встал на лапы
Сообщения: 97
Зарегистрирован: Вт мар 01, 2011 10:06:35

Re: библиотека emWin виджет checkbox

Сообщение wanes101 »

Подобная проблема не только с чекбоксом и еще у DROPDOWN см
Реклама
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Re: библиотека emWin виджет checkbox

Сообщение Кинг »

а где скачивал Gui bilder?
wanes101
Встал на лапы
Сообщения: 97
Зарегистрирован: Вт мар 01, 2011 10:06:35

Re: библиотека emWin виджет checkbox

Сообщение wanes101 »

он вместе с кубом от stm, куб качал тут http://www.st.com/web/en/catalog/tools/PF259243
gui builder https://yadi.sk/d/xxNhRwVYf2vr7
собранный GUI https://yadi.sk/i/waWOMjrDf2vxy
emWin версии 5,26
Вложения
calendarDLG.c
(31.25 КБ) 190 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Кинг
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн дек 07, 2009 19:29:29

Re: библиотека emWin виджет checkbox

Сообщение Кинг »

а проект можно посмотреть как все это впихнуто
Реклама
wanes101
Встал на лапы
Сообщения: 97
Зарегистрирован: Вт мар 01, 2011 10:06:35

Re: библиотека emWin виджет checkbox

Сообщение wanes101 »

спасибо что обратили внимание, вот проект лежал в папке \STM32Cube_FW_F4_V1.4.0\Projects\STM32F429I-Discovery\Templates
https://yadi.sk/d/l4Zdb_ZQf2zeR
среда разработки keil 5
там сначала из main вызывается CreateWindow() в ней создается окно main, в обработчике сообщения WM_INIT_DIALOG этого окна вызывается Createcalendar(). А в потоке РТОС периодически вызывается GUI_Delay(1)
Реклама
wanes101
Встал на лапы
Сообщения: 97
Зарегистрирован: Вт мар 01, 2011 10:06:35

Re: библиотека emWin виджет checkbox

Сообщение wanes101 »

Нашел в чем дело. Ошибка была в апдейте тачскрина, ошибка вроде у производителя в кубе, нужно поменять код функции так:
static void BSP_Pointer_Update(void)
{
GUI_PID_STATE TS_State;
static TS_StateTypeDef prev_state;
TS_StateTypeDef ts;
uint16_t xDiff, yDiff;

BSP_TS_GetState(&ts);

TS_State.Pressed = ts.TouchDetected;

xDiff = (prev_state.X > ts.X) ? (prev_state.X - ts.X) : (ts.X - prev_state.X);
yDiff = (prev_state.Y > ts.Y) ? (prev_state.Y - ts.Y) : (ts.Y - prev_state.Y);

//if(ts.TouchDetected)
//{
if((prev_state.TouchDetected != ts.TouchDetected )|| (ts.TouchDetected &&
((xDiff > 3 )||
(yDiff > 3))))
{
prev_state = ts;

TS_State.Layer = 0;
TS_State.x = ts.X;
TS_State.y = ts.Y;

GUI_TOUCH_StoreStateEx(&TS_State);
if(ts.TouchDetected)
osDelay(50);
}
//}
}
то что закомментировал нужно убрать, и задержку добавить
Ответить

Вернуться в «ARM»