Easyelectronics.ru

Электроника для всех
Текущее время: 18 окт 2019, 19:50

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 1244 ]  На страницу Пред.  1 ... 46, 47, 48, 49, 50
Автор Сообщение
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 12 дек 2018, 12:33 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2866
Сделать в _cbDialog таймер, в case которого смотреть глобальную переменную, и обновлять значение прогбара.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 12 дек 2018, 12:42 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1786
Откуда: Донецк, ДНР
PROGBAR_SetValue(hItem, 47); надо вызывать не в main, а, внутри окна, если так можно выразиться.
Я бы сделал функцию

Код:
void Set_progressBar(int value)
{
      PROGBAR_SetValue(hItem, value);
      WM_InvalidateWindow (hItem);
}


И вызывал где надо. Естестественно, когда окно существует. hItem, глобальный. Либо инитить на ходу, как Вы и делаете в INIT.
Либо в таймере, как Hold сказал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 12 дек 2018, 13:19 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 783
Тоже хочу спросить.
Можно сделать большую прозрачную кнопку, чтобы через нее можно было видеть текст?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 12 дек 2018, 14:06 
Только пришел

Зарегистрирован: 23 фев 2012, 19:41
Сообщения: 15
Откуда: Kiev
Благодарю за ответ.
Прошу прощения за наглость, но не могли бы Вы показать как это прописать в main.c и WindowDLG.c.
Потому как в файле main.c конструкция типа:
WM_HWIN hItem2;
hItem2 = WM_GetDialogItem(hItem, ID_PROGBAR_0);

Вызывает ошибку, потому как hItem не обьявлен.

Я во вложении добавлю архив с файлом main.c и WindowDLG.с. Очень прошу показать как из вне WindowDLG.c менять параметры виджета и обновлять изображение с изменёнными параметрами. Хотелось бы не всё окно перерисовывать, а только определённый виджет. Для этого функция GUI_EXE() ?


Вложения:
emWin.rar [4.69 Кб]
Скачиваний: 56
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 13 дек 2018, 08:12 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 783
Чета не понял создаю разные окна
Код:
        GUI_EndDialog(pMsg->hWin, 0);
        WM_DeleteWindow(pMsg->hWin);
        hDlg = GUI_CreateDialogBox(s0_aDialogCreate, GUI_COUNTOF(s0_aDialogCreate), s0_cbDialog, WM_HBKWIN, 0, 0);  //переходим в нужное


Код:
        GUI_EndDialog(pMsg->hWin, 0);  //закрываем текущее
        WM_DeleteWindow(pMsg->hWin);
        hDlg = GUI_CreateDialogBox(w_aDialogCreate, GUI_COUNTOF(w_aDialogCreate), w_cbDialog, WM_HBKWIN, 0, 0);  //переходим в нужное


А переменная hDlg не меняет своего значения при создании нового окна. Всегда равняется 3.

Теперь возник вопрос как можно понять, в каком окне я нахожусь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 13 дек 2018, 10:02 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2866
Когда сам разбирался, мне показалось что это просто какой-то счетчик окон. Может повторяться, вы же предыдущее удалили. А возможно что и баг. К примеру, на версии 532 я не мог получить никаких образом хэндл родительского окна, находясь в дочернем. Не работало никаким образом, пришлось глобальную переменную объявлять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 13 дек 2018, 10:21 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 783
У меня stemwin5.40. Я думаю какое то решение должно быть.
Как понял если окно не удалять то происходит утечка памяти.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 14 дек 2018, 01:26 
Только пришел

Зарегистрирован: 23 фев 2012, 19:41
Сообщения: 15
Откуда: Kiev
hd44780 писал(а):
Естестественно, когда окно существует. hItem, глобальный. Либо инитить на ходу, как Вы и делаете в INIT.
Либо в таймере, как Hold сказал.


у меня hItem почему то не глобальный. куда копать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 14 дек 2018, 12:18 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2866
Кстати, вроде как симпатичный TouchGFX стал "бесплатным" и под крылом ST. Раньше он стоил немалых денег. Надо будет при случае опробовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 20 июн 2019, 16:23 
Здравствуйте!

Зарегистрирован: 20 июн 2019, 15:56
Сообщения: 2
может кто сталкивался, прикрутил ssd1963 (800х480) к stm32f407, stemwin 5.2, все работает замечательно, но есть проблема с красным цветом. А именно как то некорректно отображается последовательность красного
На картинке это видно (последовательно перебираю BGR от 0 до 255)
с синим и зеленым проблем нет. и остается красноватый фон вместо черного. При отображениие jpeg так же все цвета в норме, но уходит в красноту. Перекопал/перепробовал все настройки ничего криминального не нашел.
Из настроек
Инициализация
Show


pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0);


GUIDRV_FlexColor_Config(pDevice, &Config);

GUIDRV_FlexColor_SetReadFunc66720_B16(pDevice, GUIDRV_FLEXCOLOR_READ_FUNC_II);
GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66720, GUIDRV_FLEXCOLOR_M16C0B16);

Может сталкивался кто с такой проблемой?
PS: На фото зеленая полоса переходит в желтизну, на самом деле это отблик на дисплее зеленый выглядит равномерно от темного до ярко зеленого


Вложения:
stm.jpg
stm.jpg [ 112.39 Кб | Просмотров: 590 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 20 июн 2019, 16:27 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2866
Смахивает на хардварный коротыш/непропай где-то в линии красного цвета. От FPC коннектора на матрицу до SSD1963 нет никакого криминала?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 20 июн 2019, 22:57 
Здравствуйте!

Зарегистрирован: 20 июн 2019, 15:56
Сообщения: 2
Hold писал(а):
Смахивает на хардварный коротыш/непропай где-то в линии красного цвета. От FPC коннектора на матрицу до SSD1963 нет никакого криминала?

На двух одинаковых дисплеях одно и тоже


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 22 июн 2019, 13:50 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1786
Откуда: Донецк, ДНР
sabrat писал(а):
у меня hItem почему то не глобальный. куда копать?

А кто мешает переделать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 28 июн 2019, 12:33 
Здравствуйте!

Зарегистрирован: 28 июн 2019, 12:17
Сообщения: 1
Добрый день посетителям форума.
Осилил 50 страниц. Что-то понял, что-то нет.
1. Искал алгоритм работы с экраном, нашел, спасибо.
2. Искал способы перерисовки экрана, нашел, спасибо. Оказалось, что через таймер не мерцает, а через WM_Invalidet мерцает из-за полной перерисовки.
3. Искал способ вывода рисунка поверх текущего, "Пример, вывести сердце на фоне человека", выводит на задний фон (видно по маленькой полочке с краю экрана).
Прошу помочь с алгоритмами таких действий.

Работаю под FreeRTOS c emWin.
Основная задача:
Код:
  GUI_SetBkColor(GUI_TRANSPARENT);
  GUI_SelectLayer(1);
  GUI_Clear();
  GUI_SetBkColor(GUI_TRANSPARENT);
  GUI_SelectLayer(0);
  WM_MULTIBUF_Enable(0);
  KS_hWin = CreateWindow();
while (1)
   {
      GUI_Exec();
   }

Код диалога CreateWindow(); создан стандартно GUIBilder

Код работы по таймеру для вывода дополнительного рисунка в CreateWindow();
Код:
case WM_TIMER:
GUI_DrawBitmap(&bm3,0,0);
GUI_Exec();
WM_RestartTimer ( pMsg->Data.v, 1000 );
break;


Способ открытия второго окна по какому либо событию не пробовал. Боюсь потерять память, боюсь отхватить проблем с прозрачностью, боюсь просто отхватить, просто боюсь :)
Основная цель поворот и перемещение рисунка. Примеры из библиотеки типа ZoomAndRotate не понял как реализовали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 13 сен 2019, 13:26 
Заглядывает иногда

Зарегистрирован: 14 авг 2012, 14:40
Сообщения: 71
Коллеги, подскажите, можно ли Bmp-конвертером сгенерировать код изображения и с RLE компрессией и с палитрой RGB565? Ни как не получается такое провернуть. Ну или может кто знает альтернативный способ это сделать не средствами EmWin?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 13 сен 2019, 15:32 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 437
Ruslan-maniak писал(а):
Коллеги, подскажите, можно ли Bmp-конвертером сгенерировать код изображения и с RLE компрессией и с палитрой RGB565? Ни как не получается такое провернуть. Ну или может кто знает альтернативный способ это сделать не средствами EmWin?


Самому писать программу. И использовать не просто RLE, а комбинированный метод: первый бит определяет - пачка RLE из одинаковых пикселей или серия разных пикселей и их длина.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 14 сен 2019, 11:02 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2013, 12:33
Сообщения: 1786
Откуда: Донецк, ДНР
Конвертер делает то, что может схавать STemWin. Сжатые бмп оно вроде не хавает.
У меня даже PNG не пошёл на официальных PNG исходниках от emWin. ХЗ, может они старые уже и для новых версий не годятся. Забросил пару-тройку лет назад.
К слову PNG заработал с какой-то сторонней либой, но там были какие-то нюансы с форматом пикселей, не всё гладко прошло. Тоже забросил.

Если вам нужно сжатие, пишите его сами либо ищите что-то готовое в тырнете. RLE сжатие простое, STM32 вполне потянет, раз уж PNG с его zlib работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 14 сен 2019, 11:27 
Старожил
Аватара пользователя

Зарегистрирован: 08 сен 2011, 13:39
Сообщения: 891
Откуда: Беларусь, Гомель
Если не нужна возможность иметь стандартный формат, а тупо пожать ресурсы в прошивке, то можно что-то из LZ алгоритмов рассмотреть... Тот же LZSS например... Он на распаковку так же мощностей особо не требует...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STemWin на STM32F4. Первый опыт. Вопросы.
СообщениеДобавлено: 14 сен 2019, 15:07 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 437
N1X писал(а):
Если не нужна возможность иметь стандартный формат, а тупо пожать ресурсы в прошивке, то можно что-то из LZ алгоритмов рассмотреть... Тот же LZSS например... Он на распаковку так же мощностей особо не требует...


Будет медленее, чем RLE и }{аффман вместе взятые - проверяли уже ))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1244 ]  На страницу Пред.  1 ... 46, 47, 48, 49, 50

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB