TouchGFX 4.22: откройте для себя новые функции с помощью Live Callouts, сжимайте изображения L8 и наслаждайтесь автономным режимом.

TouchGFX 4.22 полностью посвящен взаимоотношениям разработчиков с их инструментами для создания пользовательского интерфейса, такими как TouchGFX Designer. Благодаря новым Live Callouts пользователи смогут ознакомиться с недооцененными или малоизвестными функциями. Благодаря новым возможностям сжатия команды смогут получать небольшие сборки без потери качества и, во многих случаях, даже без потери производительности. А благодаря новому автономному режиму и инструменту настройки прокси рабочие процессы станут более гибкими и будут реже прерываться. Таким образом, это обновление делает акцент на том, как пользователи взаимодействуют с фреймворком. Речь идет не только о том, что команды могут сделать с TouchGFX, но и о том, что TouchGFX может сделать для людей, пытающихся сделать свою работу лучше.

Что такое TouchGFX?

Фреймворк

TouchGFX — это бесплатная платформа ST, которая помогает создавать графические пользовательские интерфейсы на микроконтроллерах STM32. Написанный на C++, движок использует преимущества оптимизации на устройствах ST. TouchGFX работает исходя из предположения, что интерфейсы состоят из экранов, по которым перемещаются пользователи. Следовательно, структура интуитивно понятна и отражает собственный опыт. Он также обширен, поскольку обрабатывает 2D- и 3D-объекты, видео, анимацию, переходы и т. д. Кроме того, возможность доступа к сгенерированному коду позволяет опытным инженерам оптимизировать его. Чтобы помочь им в этом процессе, документация TouchGFX предоставляет информацию об API платформы или доступных инструментах разработки.

Дизайнер TouchGFX

TouchGFX Designer часто является первым инструментом, который разработчики используют при запуске своего пользовательского интерфейса. Это утилита с подходом WYSIWYG, где дизайнеры создают то, что их пользователи будут видеть и с чем будут взаимодействовать. Разработчики могут начать с примеров проектов, таких как часы, датчик или анимированное изображение. Есть также более полноценные демонстрации, такие как анимация игральных костей, переходы между сценами или система мониторинга пула. Стартап экран помогает выбрать демонстрационное приложение, макетную плату ST, а затем все настраивает. Следовательно, запуск примеров кода и демонстраций занимает минуты, что означает более быстрое создание доказательств концепции. Элементы пользовательского интерфейса в TouchGFX Designer часто принимают форму виджетов, которые добавляются и настраиваются через интерфейс утилиты.

TouchGFX Designer является неотъемлемой частью экосистемы TouchGFX. Например, пока пользователи выбирают шаблон 3.0, можно запустить проект в Designer, затем перенести его на STM32CubeMX, настроить плату Discovery или MCU и позволить TouchGFX Generator (см. ниже) обновить файл .IOC до немедленно применить новые настройки. Точно так же разработчик может начать с TouchGFX Generator, перейти к TouchGFX Designer, а затем вернуться к STM32CubeMX, чтобы изменить дисплей разрешение. Система автоматически обновит TouchGFX Designer без необходимости закрывать приложение.

Симулятор TouchGFX

TouchGFX Simulator помогает разработчикам просмотреть свой графический пользовательский интерфейс, прежде чем запускать его на своем микроконтроллере. Часть его привлекательности заключается в том, что он предлагает сочетания клавиш для оптимизации рабочих процессов. Например, делать различные скриншоты и изучать анимацию кадр за кадром стало проще. Точно так же нажатие F2 выделяет недействительные области, то есть участки кадра, которые система должна обновить. В результате разработчики могут проверить, не тратят ли их анимации ресурсы MCU, без необходимости аннулируя активы.

Генератор TouchGFX

Генератор TouchGFX работает с STM32CubeMX для создания значительной части уровня абстракции TouchGFX. Мы поддерживаем почти все комплекты обнаружения STM32 с дисплеем, а новый плагин работает с любым микроконтроллером STM32 с процессором Cortex-M0+, M4 или M7. Разработчикам по-прежнему приходится заполнять некоторые пробелы своим пользовательским кодом и выполнять оптимизацию, но этот новый плагин значительно упрощает запуск проекта. Действительно, Generator создает пустые функции, чтобы направлять разработчиков и облегчать инициализацию платы. Существуют также настройки по умолчанию для плат разработки ST, чтобы ускорить разработку и служить в качестве примера.

Что нового в TouchGFX 4.22?

Формат сжатия L8

Графические активы занимают много места в памяти, и снижение их качества означает понижение версии пользовательского интерфейса. Таким образом, L8 является важным форматом изображения, поскольку он может сжимать файл до 75% без понижения версии благодаря ускорителю Chrom-ART в микроконтроллерах STM32. Пока актив использует максимум 256 цветов, что часто имеет место в небольших встроенных системах с микроконтроллером STM32, разработчики могут сжимать ресурс с использованием формата L8, просто установив флажок в TouchGFX Designer. Распаковка также эффективна с точки зрения вычислений, поскольку использует механизм Chrom-ART для поиска цветов в таблице и визуализации актива без потери качества.

Сжатие изображений L8

В новой версии TouchGFX Designer представлена ​​важная функция: сжатие изображений L8. Нажав «Изображения» в левом столбце, вы увидите список загруженных в данный момент графических ресурсов. Для всех изображений L8 доступно новое раскрывающееся меню «Сжатие», позволяющее пользователям выбирать между тремя методами: L4, LZW9 (Lempel-Ziv-Welch) и кодирование длин серий (RLE). Все три без потерь: L4 и LZW9 создают таблицы сжатия, которые назначают цвет записи, в то время как RLE просто учитывает повторяющиеся последовательности. У всех есть свои преимущества и недостатки, поэтому мы также предлагаем опцию «Авто», которая позволяет компилятору выбирать наиболее оптимизированный метод сжатия на основе нового размера файла и времени его рендеринга.

В среднем пользователи могут ожидать уменьшения размера файла от 20% до 80%. Пробег варьируется, но легко понять, почему так много пользователей запросили такую ​​функцию. В большинстве случаев рендеринг изображения занимает в два раза больше времени. Однако, поскольку разработчики будут использовать эту функцию для статических интерфейсов, значков или небольших ресурсов, влияние будет незаметным, поскольку рендеринг все равно будет занимать всего миллисекунды. Кроме того, во многих случаях значительно меньший размер файла означает более короткое время выборки из памяти, что компенсирует более длительное время рендеринга. Проще говоря, оптимизация хранилища уравновешивает штраф за декомпрессию, обеспечивая таким образом идентичную или почти идентичную производительность несжатого актива L8 при использовании меньшего объема памяти.

Пользователи, выполняющие обновление до TouchGFX Designer 4.22, должны вручную выбрать метод сжатия. Наши команды сохранили несжатый формат в качестве поведения по умолчанию, потому что мы не хотели, чтобы разработчики видели радикальные изменения в том, как платформа обрабатывает их образы L8, не понимая, почему это происходит. Тем не менее, мы считаем, что эта функция весьма символична, поскольку она явно сообщает о нашем желании оптимизировать объем памяти, особенно во флэш-памяти, не забывая при этом о производительности.

Живые выноски

Сжатие изображений L8 также является примером необходимости лучше общаться с нашими пользователями, чтобы информировать их о новых возможностях. TouchGFX получает частые обновления. Однако дизайнеры не всегда осознают, что происходит. Среди прочего, у нас уже есть кампании по электронной почте, этот блог и веб-сайт ST.com, но многие все еще просят нас установить более прямую линию связи. Чтобы ответить на их просьбу, мы запускаем интерактивные выноски, которые представляют собой небольшие поля, которые появляются только в нижней части экрана лобби, чтобы направлять пользователей к функциям, событиям или решениям от партнера. Нажатие на Live Callout создаст всплывающее окно с более подробной информацией или откроет окно браузера для ST.com.

Как следует из названия, Live Callouts обращают внимание пользователей на определенные функции или возможности. Они существуют только в лобби, чтобы не отвлекать разработчиков, пока они работают над своим интерфейсом. Live Callouts также отличаются от уведомлений, которые только предупреждают пользователей о новой версии фреймворка или важном сообщении. Они менее чувствительны по своей природе, а это означает, что разработчики не будут обременены, если не увидят их сразу. Мы также отдаем приоритет конфиденциальности наших пользователей. Мы настраиваем Live Callouts для каждого региона, но не собираем пользовательские данные. Данные о местоположении остаются на локальных компьютерах, и TouchGFX Designer решает, что отображать, в зависимости от местоположения системы.

Автономный режим

TouchGFX 4.22 представляет новый автономный режим, который позволяет пользователям загружать демонстрации и примеры для запуска без подключения к Интернету. Мы также поставляем более мощный инструмент настройки прокси-сервера для сложных настроек. Во многих случаях онлайн-соединение невозможно или сложно получить. Некоторые пользователи сталкиваются с проблемами, которые мешают их рабочему процессу, будь то в самолете или из-за ограничений пропускной способности или брандмауэра. Благодаря новому автономному режиму и инструменту настройки прокси стало проще и практичнее использовать TouchGFX Designer, а рабочий процесс стал более плавным.

Какие функции уже есть в TouchGFX?

Поддержка X-NUCLEO-GFX01M2 и X-NUCLEO-GFX02Z1

Когда инженеры решают использовать графический интерфейс пользователя, дисплей часто становится самым дорогим компонентом в их спецификации. Простой 2-дюймовый дисплей без сенсорного слоя значительно улучшит взаимодействие с пользователем, но он все равно дороже, чем что-либо другое. Таким образом, поиск доступного дисплея при цене в пять долларов или меньше является проблематичным. В результате ST поставляет платы расширения дисплея, чтобы помочь инженерам найти экономичные детали, и мы предлагаем поддержку аппаратного обеспечения в рамках TouchGFX Designer. Пользователи выбирают конфигурацию дисплея и могут начать работу с интерфейсом, который соответствует его спецификациям.

Первая плата расширения, которую могут выбрать инженеры, — это X-NUCLEO-GFX01M2. Он использует 2.2-дюймовый дисплей SPI QVGA (320 x 240), поддерживающий флэш-память SPI., и это соответствовало бы спецификации примерно в пять долларов для типичной встроенной системы с внешней флэш-памятью и двухслойной печатной платой. X-NUCLEO-GFX01M2 совместим с широким спектром 64-контактных плат NUCLEO. Например, инженеры могут использовать его на NUCLEO-WB55RG, чтобы сделать приложения Bluetooth более доступными.

Точно так же X-NUCLEO-GFX02Z1 — наша первая плата расширения дисплея, поддерживающая параллельный интерфейс, флэш-память QSPI и платы Nucleo со 144 контактами. Платформа предназначена для микроконтроллеров с большей мощностью, что объясняет совместимость с интерфейсами, обеспечивающими более высокую пропускную способность. Разработчики могут использовать X-NUCLEO-GFX02Z1 с NUCLEO-U575ZI-Q, который вышел с первыми STM32U5. Таким образом, это позволяет инженерам использовать лучшее соотношение производительности на ватт нового микроконтроллера для создания пользовательских интерфейсов, которые были невозможны на предыдущих поколениях STM32.

Встраивание видео в пользовательские интерфейсы

Желание вывести видео на большее количество пользовательских интерфейсов является естественным следствием растущей популярности дисплеев во встроенных системах. К сожалению, показать видео на встроенной системе с микроконтроллером сложно. Не существует операционной системы с медиаплеером и кодеками по умолчанию. Точно так же невозможно написать веб-страницу с видео на YouTube. Разработчики должны выполнить всю тяжелую работу, например внедрить видеобуфер, выяснить, какой формат будет лучше всего работать на их микроконтроллере, и определить, как использовать аппаратное ускорение, если оно доступно. TouchGFX Designer предлагает видео-виджет для решения этой задачи. Следовательно, для добавления видео теперь требуется всего три простых шага.

Векторные оптимизации

Большинство статических интерфейсов на микроконтроллерах используют растровые изображения, поскольку они требуют небольшой вычислительной мощности. Для сравнения, векторные изображения менее распространены, поскольку требуют гораздо большей вычислительной мощности. Проблема в том, что векторы необходимы для анимации. В результате разработчики могут использовать больше ресурсов, чтобы получить большее количество кадров в секунду, или использовать меньше энергии и получить менее плавную анимацию. Чтобы решить эту проблему, TouchGFX предлагает значительную оптимизацию при обработке векторной графики, с повышением эффективности до 70% в некоторых случаях. Таким образом, разработчики могут предложить более плавную анимацию на микроконтроллерах меньшего размера или использовать больше векторных элементов. Однако разработчики увидят наиболее значительный прирост производительности на более обширных анимациях.

Новая оптимизация использует Chrom-ART для разгрузки микроконтроллера во время определенных операций, таких как заливка цветом. ST также обновил способ вычисления краев формы. Более того, поскольку обновления относятся к обработке векторной графики фреймворком, пользователи автоматически получают от них выгоду. Таким образом, разработчики сразу же увидят повышение производительности и смогут соответствующим образом планировать свои действия. Некоторые могут снизить требования к памяти своего приложения или добавить новые анимации в свой интерфейс. Команды также могут пересмотреть свой пользовательский интерфейс, поскольку некоторые элементы могут работать быстрее, чем ожидалось.

Экспорт пользовательских контейнеров

В своей наиболее упрощенной форме TouchGFX Designer опирается на виджеты, представляющие функцию, нарисованную на экране. Программное обеспечение поставляется со многими предопределенными виджетами, такими как датчик, часы или график, и разработчики также могут создавать собственные виджеты. Чтобы сделать виджеты более простыми, дизайнеры могут сгруппировать их внутри контейнера. Контейнеры часто являются строительными блоками интерфейса. Они позволяют программистам повторно использовать набор виджетов на нескольких экранах без необходимости каждый раз перенастраивать их. Кроме того, изменение контейнера влияет на каждый использующий его экран, что значительно упрощает разработку. TouchGFX также имеет предопределенные контейнеры для ускорения наиболее распространенных операций проектирования, и разработчики могут создавать собственные контейнеры.

Пользовательские контейнеры очень популярны, потому что они позволяют разработчикам настраивать свой интерфейс и конкретизировать точную концепцию. Однако неотъемлемая проблема любого инструмента дизайна заключается в том, что работа, затраченная на один проект, редко может быть экспортирована в другой пользовательский интерфейс. Действительно, пользовательский контейнер включает в себя код, графические ресурсы, тексты, зависимости и многое другое, что связывает его с существующим проектом. Начиная с версии 4.20, TouchGFX Designer решает эту проблему, предлагая функцию экспорта, которая создает пакет (файл .tpkg), который можно повторно использовать в других проектах. Утилита добавит все активы, включая шрифты, в пакет, а XML-файл перечислит его содержимое. Поэтому разработчики могут проверить и изменить этот файл, чтобы выбрать, что они хотят экспортировать.

Импорт пользовательских контейнеров

Чтобы импортировать пользовательский контейнер, пользователи выбирают «Правка» -> «Импорт» -> «Пользовательский контейнер». TouchGFX включает в себя новую утилиту импорта, которая помогает пользователям в процессе. Например, программа определяет языки, определенные пользовательским контейнером, и сопоставляет их с языками, доступными в новом проекте, или игнорирует их. Система также остановит процесс импорта, если возникнет конфликт между общими именами или если проблема может вызвать проблемы внутри нового интерфейса. TouchGFX Designer заставляет пользователей исправлять проблемы в исходном пользовательском контейнере, а не создавать обходные пути в процессе импорта. Поскольку цель этой функции — сохранить внешний вид интерфейсов между продуктами, принудительное внесение изменений в исходный проект обеспечивает согласованность между пользовательскими интерфейсами.

Кэшаблеконтейнеры

Как следует из названия, он использует кеш растровых изображений для ускорения графической производительности и обеспечения более высокой частоты кадров для более плавных переходов. Демонстрация ниже работает на комплекте STM32F429I Discovery. Без CacheableContainers простая полноэкранная анимация слайдов (240 × 320) выполняется со скоростью девять кадров в секунду. С TouchGFX technology, система достигает 60 кадров в секунду. Некоторые умные часы используют эту функцию для обеспечения бесперебойной работы пользователя, несмотря на значительные аппаратные ограничения, присущие их форм-фактору, и необходимость увеличения срока службы батареи. Помимо анимации, CacheableContainers может оптимизировать сложные виджеты, такие как средства отображения текстур или небольшие динамические элементы, отображаемые на статическом фоне.

Без CacheableContainers анимация должна перерисовывать каждый кадр, что может привести к большим вычислительным затратам. CacheableContainer обходит эту проблему, сохраняя первый и последний кадры в отдельном контейнере в виде растрового изображения, которое система хранит в оперативной памяти. Вместо рендеринга анимации система извлекает два изображения из памяти с помощью DMA и показывает их в разных местах благодаря простому методу DynamicBitmap. MCU больше не генерирует каждый кадр, что значительно оптимизирует производительность. Разработчикам нужно только установить флажок «Кэшировать» в TouchGFX Designer, выбрать расположение в памяти контейнеров, которые они хотят кэшировать, и вызывать их при необходимости. Этот метод снижает время рендеринга со 100 мс до 5 мс.

Частичный фреймбуфер

Буфер кадра — это непрерывное пространство памяти, в котором хранится представление каждого пикселя, который будет отображаться на дисплее. Например, стандартное 24-битное изображение 390 x 390 для дисплея умных часов требует кадрового буфера размером 3,650,400 456.3 390 бит или 390 КБ (((24×8×70)div32)), что составляет более 4% SRAM, доступной на STMXNUMXLXNUMX+, что превосходно. на умные часы и носимые устройства. И это число может резко увеличиться, если приложению требуется более одного буфера кадров. Помимо ограничений емкости, для выборки большого буфера кадров требуется больше времени, так как больше данных должно передаваться из памяти на дисплей, что снижает производительность.

Как следует из названия, Partial Framebuffer хранит только часть буфера кадров, тем самым уменьшая занимаемую им память на 10. Разработчики могут настроить его размер в соответствии с частью экрана, которая будет меняться, а затем сохранять несколько частичных буферов. Затем фреймворк выберет подходящий и отправит его на дисплей. Технология лучше всего работает с короткими анимациями, такими как часы, полосы загрузки или график, который строится сам по себе с течением времени. Это также требует, чтобы экран использовал встроенный контроллер, поскольку он будет напрямую получать частичный буфер кадров из ОЗУ микроконтроллера, таким образом минуя флэш-память для повышения производительности. Технология работает на дисплеях Parallel/8080, DSI и SPI.

TouchGFX также оптимизирует частичный буфер кадров, чтобы предоставить пользовательские интерфейсы микроконтроллерам с ограниченными ресурсами. Традиционно для минимального графического интерфейса требуется буфер кадров размером около 200 КБ. Однако когда у микроконтроллера, такого как STM32G071, всего 36 КБ ОЗУ, это может стать настоящей проблемой. TouchGFX решает эту проблему, оптимизируя частичный буфер кадров до шести килобайт. С учетом данных приложения фреймворка для запуска пользовательского интерфейса начального уровня потребуется всего 16 КБ ОЗУ. TouchGFX также использует интеллектуальное частичное обновление экрана. Функциональность дополняет частичную буферизацию кадров для оптимизации порядка обновлений на экране. Этот процесс экономит ресурсы, что позволяет выполнять больше обновлений за тот же период.

Поддержка масштабируемой векторной графики (SVG)

В TouchGFX 4.21 появилась поддержка SVG. Традиционно платформа хранит растровые изображения, такие как файлы PNG, потому что к ним легко получить доступ и отобразить. И наоборот, файлы SVG содержат не визуализацию, а инструкции по их рисованию. Это делает их легко масштабируемыми, но значительно более требовательными. И хотя это не проблема для ноутбука или настольного компьютера, совсем другое дело для маломощного микроконтроллера. Проблема в том, что дизайнеры все чаще создают анимированные интерфейсы и пытаются масштабировать один пользовательский интерфейс для разных размеров экрана. Следовательно, команды хотят использовать файлы SVG для экономии ресурсов, поскольку один файл можно рисовать разными способами и он занимает меньше места в памяти.

ST использует свой новый ускоритель NeoChrom 2.5D, доступный на некоторых STM32U5, для решения этой новой задачи. Аппаратная оптимизация анимации рисования разгружает некоторые вычисления, связанные с файлами SVG, тем самым решая проблему производительности. IP также зависит от более быстрых интерфейсов памяти, ускоряющих операции выборки, и файл часто меньше. Следовательно, меньше штрафа при хранении файлов во внешней памяти. В конечном счете, это объявление весьма символично, потому что SVG не было в списке функций, когда мы обсуждали NeoChrom в мае 2022 года. Однако сегодняшний выпуск показывает, что IP имеет большой потенциал, и ST продолжит выпускать новые функции, используя его возможности. .

XML-файл для текста

Команды дизайнеров часто сохраняют текст в файле Excel для работы с различными переводчиками по всему миру. Однако вместо использования систем контроля версий, таких как Git, редакторы должны вручную обрабатывать изменения и следить за тем, чтобы никто непреднамеренно не перезаписал чужую работу, что может быть обременительно. Чтобы решить эту проблему, TouchGFX сохраняет весь текст в файле XML. Формат значительно упрощает операции слияния и разрешения конфликтов. TouchGFX также включает XML в Excel. Преобразователь чтобы соответствовать существующим рабочим процессам. Разработчики могут экспортировать в Excel, а затем импортировать свой файл Excel обратно в TouchGFX и его формат XML.

Оптимизированные файлы проекта

TouchGFX также способствует совместной работе благодаря небольшим файлам проекта. Их размер облегчает их объединение и потенциальное совместное использование. Раньше файлы проекта хранили все параметры в формате JSON. Проблема в том, что такой файл может стать довольно большим. Поэтому ST решила оптимизировать файлы проекта, сохраняя только пользовательские настройки. Поэтому все, чего нет в файле, рассматривается как использующее значение по умолчанию. Следовательно, файл намного меньше, что делает операции слияния в Git намного проще и быстрее.

Одноразовый текст и его случайный идентификатор

Разработчики, желающие использовать текст, должны создать ресурс на текстовой панели TouchGFX Designer, а затем использовать идентификатор текста в пользовательском интерфейсе. Однако TouchGFX также позволяет использовать «одноразовый текст», который не отображается как обычный текстовый ресурс. Разработчики используют его во время тестирования или если текст не важен. Это предотвращает заполнение базы данных ненужными текстами и помогает быстрее создавать прототипы. Действительно, одноразовая текстовая функция автоматически генерирует идентификатор и стирает ресурс из базы данных при удалении из пользовательского интерфейса, в отличие от обычных текстовых ресурсов. TouchGFX также использует генератор случайных строк для создания идентификатора. В результате почти невозможно, чтобы два одноразовых текстовых идентификатора в одном и том же проекте были идентичными.

Акции TouchGFX

Бесплатная библиотека изображений

TouchGFX Stock — крупнейшая библиотека бесплатных графических ресурсов для пользовательских интерфейсов, предоставляемая фреймворком, предназначенным для микроконтроллеров. Он включает в себя значки, элементы графического интерфейса, темы, изображения и многое другое. Поскольку значки взяты из бесплатной библиотеки Google, а ST владеет правами на все остальные ресурсы, TouchGFX Stock имеет обширную лицензию, которая позволяет командам использовать активы бесплатно, даже для коммерческих проектов, если они работают на устройства STM32. Пользователи могут захватить активы, чтобы изменить их размер для своего интерфейса или отредактировать их в соответствии со своими конкретными потребностями. Лицензия распространяется даже на использование этих активов с другой графической структурой, если программа работает на микроконтроллере ST.

В последнее время многие стартапы повторно используют заполнители TouchGFX или примеры ресурсов в своем дизайне. Новая тенденция связана с увеличением количества небольших команд, у которых нет ресурсов для инвестирования в дизайнеров. Следовательно, внедряя TouchGFX, некоторые разработчики находят заполнители элегантными и добавляют их в свои окончательные интерфейсы. Вот почему мы решили инвестировать в TouchGFX Stock и стали поставщиком микроконтроллеров с самой обширной бесплатной библиотекой графических ресурсов. Это также объясняет наш подход к лицензированию. На протяжении многих лет мы стремились сделать графический интерфейс на микроконтроллерах более доступным. Это еще один камень на вершине этого здания, и мы стремимся со временем расширять эту библиотеку новыми темами, изображениями и многим другим.

Бесплатный дизайнер к вашим услугам

Тем временем TouchGFX Stock поставляется с элементами пользовательского интерфейса, такими как полосы, всплывающие окна, часы, датчики и многое другое. Мы также предоставляем светлые и темные версии некоторых ресурсов. В конечном счете, TouchGFX 4.21 служит уроком дизайна. Инженерам не нужно беспокоиться о несоответствии цветовых палитр или полагаться на устаревшие представления о дизайне. Мы предоставляем наборы, чтобы интерфейсы оставались целостными и современными. Мы также предлагаем различные размеры, подходящие для большинства дисплеев, поэтому многим даже не нужно изменять размер самостоятельно. TouchGFX Stock поставляется с пятью темами при запуске. Однако переключение тем не происходит автоматически из-за особенностей графического интерфейса на микроконтроллерах. Поскольку не существует взаимно однозначной связи со всеми активами, пользователи должны заменять их вручную.

Анимации и виджеты

Вставные переходы и динамические графики

Задача разработчиков состоит в том, чтобы воспользоваться всеми функциями, которые мы постоянно добавляем в TouchGFX. Следовательно, мы предлагаем оптимизированные анимации, которые уже используют перечисленные выше функции. Например, в то время как традиционный скользящий переход требует полного обновления экрана, анимация стирания TouchGFX использует гораздо меньше ресурсов. Точно так же динамический график виджет лучше показывает последовательные данные с меньшим воздействием на оперативную память и микроконтроллер.

Статические графики

Поскольку носимые устройства отслеживают экологические или физические данные, пользователи хотят видеть прогресс. Графики могут отслеживать частоту сердечных сокращений, температуру, пройденные шаги и многое другое. Разработчики TouchGFX сначала попросили динамические графики, так как их может быть сложно реализовать, и эта функция была доступна начиная с TouchGFX 4.15. Теперь наши команды выпускают статические графики для поддержки новых приложений. Действительно, данные, которые не нуждаются в постоянном развитии или имеют лишь незначительные изменения во времени, лучше подходят для статического представления. Новые графики работают немного по-другому. Разработчикам нужно отправить только одну точку данных на динамическую, так как временной интервал является постоянным. Однако на статических программисты должны вводить информацию для осей X и Y.

Часы и картограф текстур

TouchGFX также имеет виджеты, имитирующие приложения, такие как аналоговые и цифровые часы, Существует также картограф текстуры, что означает, что разработчики могут начать создавать свою картографическую программу простым перетаскиванием. Им по-прежнему нужно будет вводить свой код C++, но это значительно упростит весь процесс. Texture Mapper также является отличным примером оптимизации TouchGFX на микроконтроллерах с ограниченными ресурсами. Он может помочь анимировать объекты и даже работает на STM32G0, если графический актив находится в ОЗУ, а не во флэш-памяти.

измерительный прибор

Шаблон датчика рисует стрелку и дугу, чтобы помочь пользователям контролировать значения. Разработчики также могут изменить его фон, ориентацию стрелки, диапазон значений и многое другое. В приведенной ниже демонстрации показано, как программисты могут переключаться между своей IDE и TouchGFX Designer для более плавного рабочего процесса. Команды могут быстро проверить датчик, настроить его на лету и мгновенно протестировать свой код. Например, на видео показано, как handleTickEvent() Функция управляет поведением датчика. С помощью очень небольшого количества строк кода разработчики могут, среди прочего, изменить диапазон значений и частоту обновления индикатора. Такие оптимизации могут сэкономить много ресурсов в приложениях, которым не нужно постоянно обновлять отображаемое значение.

Расширенное управление текстом

Текст необходим для большинства графических пользовательских интерфейсов, что объясняет, почему дизайнеры так много работают над ним. Они настраивают его, переводят и формируют. Некоторые приложения, созданные в TouchGFX Designers, могут содержать тысячи текстовых ресурсов, каждый из которых переведен на множество языков. Проблема в том, что работа с текстом может быть громоздкой. Следовательно, чтобы уменьшить трения, TouchGFX теперь предлагает группы, которые разработчики могут определять в соответствии с разделом или функцией своих приложений. Новая функция упрощает отображение переведенного текста рядом в TouchGFX Designer. Это также помогает объединить соответствующую информацию для проверки на согласованность и точность. Наконец, группы ускоряют поиск и поиск определенных ресурсов.

TouchGFX Designer также включает в себя Typographies возможность установить параметры по умолчанию в группах. В этом разделе пользователи могут выбирать характеристики шрифта, резервные символы, подстановочные знаки, выравнивание и т. д. Раньше разработчикам приходилось перезаписывать параметры для каждого текстового ресурса, что требовало больших усилий. Благодаря группам можно одновременно задавать параметры для многих ресурсов, что значительно оптимизирует разработку. Настройки существующих проектов с пользовательскими типографиками будут перемещены в новый раздел. Новый текстовый интерфейс также отображает одноразовые тексты и позволяет при необходимости продвигать их на ресурс.