Обсуждаем цифровые устройства...
Ответить

Re: Темброблок - анализатор спектра на STM32F103

Чт ноя 22, 2018 17:13:24

При передаче байтов проверяется только TXE:
https://github.com/WiseLord/ampcontrol- ... pdrv.c#L47
Перед изменением CS/DS - проверяется BSY:
https://github.com/WiseLord/ampcontrol- ... drv.c#L244
Ну а само использование, например, так:
https://github.com/WiseLord/ampcontrol- ... .c#L19-L29

Такой подход позволяет гнать поток данных (картинок и т.п.) вообще без пауз. На осциллографе - сплошной clk, без разрывов. Пока передаётся текущий байт, успевает подготовиться новый. И только при смене режимов (данные/команда - DC), или при окончании передачи нужно проверить BUSY флаг, чтобы последний байт ушёл до конца.

Re: Темброблок - анализатор спектра на STM32F103

Чт ноя 22, 2018 21:26:01

Благодарю, WiseLord, буду разбираться, у меня пока работал только SPI было нормально, только подключил SysTick на прерывании - на индикаторе появляются артефакты и он зависает.

Re: Темброблок - анализатор спектра на STM32F103

Чт ноя 22, 2018 23:03:47

Вообще не связанные вещи. Не замечал такого. Или Вы о каком-то своём проекте?

Re: Темброблок - анализатор спектра на STM32F103

Пт ноя 23, 2018 10:46:22

Или Вы о каком-то своём проекте?

Свой проект - STM32F103C8T6 + ST7735 SPI. Немного накосячил с сигналом SC и по SPI с флагами TX и BSY, разбираюсь.

Re: Темброблок - анализатор спектра на STM32F103

Пт ноя 23, 2018 11:01:24

Я выделил код для работы с дисплеями в отдельную библиотеку. Можете попробовать с ней поработать: https://github.com/WiseLord/wl_lcd-f103

Re: Темброблок - анализатор спектра на STM32F103

Сб ноя 24, 2018 08:32:35

Нужна помощь коллективного разума. А именно, как, с тоски зрения пользователя, удобнее всего организовать работу с радио - имею в виду поиск, настройка, сохранение, и т.д.

Re: Темброблок - анализатор спектра на STM32F103

Сб ноя 24, 2018 15:04:37

чтоб кнопка "MUTE" одинаково во всех режимах включалась, т.е. одной и той же кнопкой во всех режимах))

Re: Темброблок - анализатор спектра на STM32F103

Сб ноя 24, 2018 16:14:16

Думаю, кнопки MUTE на передней панели не будет вообще. А с пульта оно всегда так было.
Скорее всего, будет так:
0 - вкл.выкл
1 - выбор входа
2 - часы/таймер и т.п.
3 - назад (поиск, станция, и т.п.)
4 - вперёд
5 - (аудио) меню

Вопрос был не про это. А про то, нужно ли реализовывать список радиостанций. И если да, то как наложить на всё это управление кнопками.

По мне, и текущий вариант неплох, без всяких списков станций. Нажатие вперёд/назад - сканируется ближайшая работающая радиостанция. Для RDA5807 это работает (ну или для Si4703). Для других тюнеров такой вариант работать не будет, поэтому, возможно, другие тюнеры в проекте и не нужны.

Re: Темброблок - анализатор спектра на STM32F103

Сб ноя 24, 2018 22:28:42

согласен - и сейчас вполне юзабельно.


по пульту:

-если подключиться на близком расстоянии от HC-06 то - все ОК
-при потере связи или слабом сигнале - пульт не работает. т.к. команды не доходят
-а вот узнать что связь потеряна - вот чего не хватает в пульте!

а то тыкаешь тыкаешь в кнопки - а связи то уже нет)) приходится идти поближе к модулю HC-06 (хотя в приложении модуль виден - но подключения не происходит)

может индикация соединения и авто переподключение при потере связи сделала бы удобнее использование пульта?

Re: Темброблок - анализатор спектра на STM32F103

Вс ноя 25, 2018 15:40:01

Как сейчас думаю не плохой вариант т.е. сканируется ближайшая станция.

Re: Темброблок - анализатор спектра на STM32F103

Вс ноя 25, 2018 23:33:44

Список станций - вещь полезная. часто во всем диапазоне слушаещь две-три станции и пролистывать для поиска не очень удобно. Возможно в меню тюнера сделать пункт фиксированая-плавнвя настройка и по кнопкам впред-назад либо сканировать, либо переключатся по списку. В режиме сканирования в меню ввести пункт "Запомнить" и кнопками вперед-назад выбирать номер станции. Количество запоминаемых станций 4 или 8.

Re: Темброблок - анализатор спектра на STM32F103

Пн ноя 26, 2018 09:05:02

wiselord.: say hi 480x320 lcd icon editing is done in the last day of your life there are some problems in this event only pc & tv icon

Изображение

Re: Темброблок - анализатор спектра на STM32F103

Пн ноя 26, 2018 09:56:36

Gürcan: I prepared only some icons. If you want, you (or someone else) can draw the others. I would be grateful for such work.

You can find the tool for editing icons here, icons to be edited are in files/icons/ of sources.

The list of icons in the 'font' is here.

I just don't want to waste time on drawing icons right now. I did some for 320x240 resolution, you can use them as an example.


MisterDi: В том и вопрос - как реализовать эту настройку, чтобы было достаточно удобно. Какие кнопки нажимать, и т.д.

Re: Темброблок - анализатор спектра на STM32F103

Пн ноя 26, 2018 12:42:02

Как вариант сценария управления:
- кнопкой 1 выбираем режим работы с тюнером.
- нажатие кнопки 5 выводит на экран меню из пунктов:
- Режим настройки плавно-фиксировано
- Текущая частота
- Станция 1 - частота ...
- Станция N - частота
- Выход
Выбор пунктов меню - кнопками 3 и 4
Активизация - кнопкой 2
Выход - кнопка 5
При выборе пункта "Текущая частота " кнопки 3 и 4 сканируют ближайшую станцию вверх и вниз по частоте кнопка 2 фиксирует станцию и выходит в режим выбора пунктов меню. кнопка 5 - выход в режим выбора пунктов меню без фиксации частоты.
При выборе пунктов "Станция ..." кнопка 2 закрепляет значение текущей частоты за выбранной станцией.

Отключение меню либо выбором пункта, либо по времени - 45-60сек.(Тут нужно подбирать комфортное время задержки )
Возможно кроме частоты в пунктах "Станция ..." выводить название, но будет сложно набирать буквы :(

Re: Темброблок - анализатор спектра на STM32F103

Пн ноя 26, 2018 14:09:02

Кнопка 1 - переключение входов.
Кнопка 5 - выбор аудиопараметра

Конфликт получается.

В том-то и дело, что это всё должно гармонично вписаться в текущую систему (кнопка - действие - действие на длинное нажатие)
0 - вкл/выкл - яркость
1 - выбор входа - <не занято>
2 - часы - <не занято>
3 - назад - <не занято>
4 - вперёд - <не занято>
5 - аудиоменю - <не занято, в жд. режиме - меню настроек>

Re: Темброблок - анализатор спектра на STM32F103

Пн ноя 26, 2018 16:54:09

wiselord .: Thank you for the info

Добавлено after 1 hour 54 minutes 53 seconds:
wiselord .: I downloaded the icon editing program that I have said again, I downloaded 64x64 black and white icons from the site, but lcd-image-converter can give information about the settings you have used.

Re: Темброблок - анализатор спектра на STM32F103

Пн ноя 26, 2018 18:58:27

All files are in files/fonts.
You need template-font-ampcontrol-f103.tmpl (font template) and conversion-config-ampcontrol-f103-rle3.xml (image parameters).

But you can just edit icons xml file, I can convert it to the code by myself.

Icons should be 2-color (black and white), without gray tones.

Re: Темброблок - анализатор спектра на STM32F103

Пн ноя 26, 2018 21:33:20

В том-то и дело, что это всё должно гармонично вписаться в текущую систему (кнопка - действие - действие на длинное нажатие)


Мне не очень нравится концепция короткого-длинного нажатия, т.к. в результате дрожания рук, неудачного вектора нажатия и т.п может получится ситуация с выдачей неправильной команды. Особенно интересная ситуация с кнопкой 0. Хочу изменить яркость, а вместо этого включаю/выключаю устройство. Поэтому может есть смысл немного изменить концепцию управления. Например выбор(вниз по иерархии меню) - отмена(вверх по иерархии меню) - вперед - назад. Еще один вариант - размещать кнопки вдоль нижней или боковой стороны экрана и на экран выводить текущее значение кнопки, как это сделано в измерительных приборах и простых мобилах, когда действие по кнопке написано на экране.

Re: Темброблок - анализатор спектра на STM32F103

Вт ноя 27, 2018 02:51:33

А управление с тача сильно сложно организовать? Сейчас же практически все экраны с тачем идут.

Re: Темброблок - анализатор спектра на STM32F103

Вт ноя 27, 2018 07:20:21

These are the settings I use for the icons. I'm adding the file c file as a look at the file as if there is something missing
Код:
/*******************************************************************************
* generated by lcd-image-converter rev.aff2edd from 2018-09-09 14:13:46 +0300
* image
* filename: unsaved
* name: Image
*
* preset name: Grayscale 8
* data block size: 8 bit(s), uint8_t
* RLE compression enabled: yes
* conversion type: Grayscale, not_used not_used
* split to rows: yes
* bits per pixel: 8
*
* preprocess:
*  main scan direction: top_to_bottom
*  line scan direction: forward
*  inverse: no
*******************************************************************************/

/*
 typedef struct {
     const uint8_t *data;
     uint16_t width;
     uint16_t height;
     uint8_t dataSize;
     } tImage;
*/
#include <stdint.h>



static const uint8_t image_data_Image[66] = {
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    // ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
    0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x20, 0x00
};
const tImage Image = { image_data_Image, 64, 64,
    8 };

Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Ответить