Перейти к содержанию
    

Ruslan-maniak

Участник
  • Постов

    107
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Ruslan-maniak

  • Звание
    Частый гость
    Частый гость

Информация

  • Город
    Array

Посетители профиля

1 847 просмотров профиля
  1. Да, спасибо. Html - можно конечно заюзать, но это костыль от безысходности был бы. В целом нашел способ писать кириллицу без встраивания шрифтов, но нужны были еще и надстрочные и подстрочные символы. Так что без встраивания шрифтов точно было не обойтись. Но библиотеку которая умеет встраивать шрифты не обнаружил, а все это зашаривать слишком трудозатратно. Так что остановился на PdfGen и сохранении текста в виде картинок с помощью нее, так как все нужные шрифты и символы есть как ассеты к графической части устройства. В результате все норм работает.
  2. Я не спрашивал ЧТО делать. Я спросил КАК делать то, ЧТО мне нужно. Как линуксоид вы наверно не слышали про такое понятие как юзабилити. Нет ни каких серверов, нет приложений для постобработки файла на ПК. Какое еще orange Pi? Я не поделку диванную разрабатываю, чтобы в нее напихать кучу железа. Может мне просто цельный пк в каждый прибор засунуть. Вы про себестоимость слышали что-нибудь? Какой-то обывательский взгляд у вас на разработку. Тысячи пользователей должны иметь возможность просто вставить флэшку в тысячи приборов, нажать на кнопочку и получить pdf файл с нужной информацией на нее. Может мой ответ покажется грубым, но ваши пространные рассуждения не привязанные к реальности и теме топика просто обескураживают.
  3. Не нашел раздела подходящего для данной темы, так что размещу её здесь. Реализую генерацию pdf файлов на МК. И столкнулся с проблемой создания текстов с кириллицей. Описание как это сделать не нагуглил и реверс-инжиниринг даже очень простых файлов результата не дал. Может кто знает как это работает или даже сам такое реализовывал? Для примера как нужно изменить вот такой простейший файл содержащий стандартный "Hello word!" на "Привет мир!": %PDF-1.4 1 0 obj <</Type /Catalog /Pages 2 0 R>> endobj 2 0 obj <</Type /Pages /Kids [3 0 R] /Count 1>> endobj 3 0 obj<</Type /Page /Parent 2 0 R /Resources 4 0 R /MediaBox [0 0 500 800] /Contents 6 0 R>> endobj 4 0 obj<</Font <</F1 5 0 R>>>> endobj 5 0 obj<</Type /Font /Subtype /Type1 /BaseFont /Helvetica>> endobj 6 0 obj <</Length 44>> stream BT /F1 24 Tf 175 720 Td (Hello World!)Tj ET endstream endobj xref 0 7 0000000000 65535 f 0000000009 00000 n 0000000056 00000 n 0000000111 00000 n 0000000212 00000 n 0000000250 00000 n 0000000317 00000 n trailer <</Size 7/Root 1 0 R>> startxref 406 %%EOF
  4. Добрый день. Есть следующая задача. Необходимо разработать часть софта для STM32WB отвечающую за работу с BLE, желательно с использованием HAL и проектом в СUBE_MX и CUBE_IDE. Девайс должен работать в сети как стандартный Pulse oximeter (PLX) UUID = 0x1822 с соответствующими профилями. И без труда подсоединяться и работать со стандартными мобильными приложениями работающими с такими устройствами, например Pulse Oximeter Pro. В идеале для совместного удобства работы у вас должна быть дев.борда от Nucleo с целевым контроллером на борту. Обсудить подробности и условия - прошу в личку.
  5. Коллеги, сталкивался кто-нибудь с проблемой застревания программы на функции takeFrameBufferSemaphore()? На форуме ST их специалисты попросту отмалчиваются несмотря на то что жалоб не мало на эту ситуацию. Как я понимаю происходит конфликт обращения к внешней оперативе между LTDC и FMC. И разрешить это не получается. Если кто-то сталкивался - буду рад вашей помощи.
  6. Приветствую, коллеги. Столкнулся с проблемой запуска дисплея на контроллере ili9488 под управлением Stm32f429. Интерфейс для связи используется MIPI-DBI Type B 16-bit bus. Все пины кроме RESET сконфигурированы под альтернативную функцию FMC (AF = 0x0C). Думаю что проблема на уровне FMC так как cчитать например ID (команда 0x04) не получается. При любом считывании возвращается команда считывания. Например если я считываю ID то получаю 3 байта равных 0x04. Не могу найти в чем проблема. Железо точно рабочее, т.к. другая прошивка на нем работает как надо. Добавлю немного кода. 1) Используемые пины gpioFmcD0 = {D, 14, VERY_HIGH, MODE_FMC}, gpioFmcD1 = {D, 15, VERY_HIGH, MODE_FMC}, gpioFmcD2 = {D, 0, VERY_HIGH, MODE_FMC}, gpioFmcD3 = {D, 1, VERY_HIGH, MODE_FMC}, gpioFmcD4 = {E, 7, VERY_HIGH, MODE_FMC}, gpioFmcD5 = {E, 8, VERY_HIGH, MODE_FMC}, gpioFmcD6 = {E, 9, VERY_HIGH, MODE_FMC}, gpioFmcD7 = {E, 10, VERY_HIGH, MODE_FMC}, gpioFmcD8 = {E, 11, VERY_HIGH, MODE_FMC}, gpioFmcD9 = {E, 12, VERY_HIGH, MODE_FMC}, gpioFmcD10 = {E, 13, VERY_HIGH, MODE_FMC}, gpioFmcD11 = {E, 14, VERY_HIGH, MODE_FMC}, gpioFmcD12 = {E, 15, VERY_HIGH, MODE_FMC}, gpioFmcD13 = {D, 8, VERY_HIGH, MODE_FMC}, gpioFmcD14 = {D, 9, VERY_HIGH, MODE_FMC}, gpioFmcD15 = {D, 10, VERY_HIGH, MODE_FMC}, gpioFmcNOE = {D, 4, VERY_HIGH, MODE_FMC}, // RD gpioFmcNWE = {D, 5, VERY_HIGH, MODE_FMC}, // WR gpioFmcNE1 = {D, 7, VERY_HIGH, MODE_FMC}, // CS gpioFmcA12 = {G, 2, VERY_HIGH, MODE_FMC}; // D/C 2) Инициализация FMC void FmcInit (void) { FmcInitGpio(); RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FMC, ENABLE); FMC_NORSRAMTimingInitTypeDef FMC_ReadWriteTimingStruct = { .FMC_AddressSetupTime = 0, .FMC_AddressHoldTime = 0, .FMC_DataSetupTime = 4, .FMC_BusTurnAroundDuration = 0, .FMC_CLKDivision = 15, .FMC_DataLatency = 15, .FMC_AccessMode = FMC_AccessMode_A, }; FMC_NORSRAMInitTypeDef FMC_NORSRAMInitStructure = { .FMC_Bank = FMC_Bank1_NORSRAM1, .FMC_DataAddressMux = FMC_DataAddressMux_Disable, .FMC_MemoryType = FMC_MemoryType_SRAM, .FMC_MemoryDataWidth = FMC_NAND_MemoryDataWidth_16b, .FMC_BurstAccessMode = FMC_BurstAccessMode_Disable, .FMC_WaitSignalPolarity = FMC_WaitSignalPolarity_Low, .FMC_WrapMode = FMC_WrapMode_Disable, .FMC_WaitSignalActive = FMC_WaitSignalActive_BeforeWaitState, .FMC_WriteOperation = FMC_WriteOperation_Enable, .FMC_WaitSignal = FMC_WaitSignalPolarity_Low, .FMC_ExtendedMode = FMC_ExtendedMode_Disable, .FMC_AsynchronousWait = FMC_AsynchronousWait_Disable, .FMC_WriteBurst = FMC_WriteBurst_Disable, .FMC_ContinousClock = FMC_CClock_SyncOnly, .FMC_ReadWriteTimingStruct = &FMC_ReadWriteTimingStruct, .FMC_WriteTimingStruct = 0, }; FMC_NORSRAMInit(&FMC_NORSRAMInitStructure); FMC_NORSRAMCmd(FMC_Bank1_NORSRAM1, ENABLE); } 3) Функции чтения и записи void Ili9488WriteCommand (uint16_t cmd) { *(uint16_t*)(0x60000000) = cmd; } void Ili9488WriteData (uint16_t data) { *(uint16_t*)(0x60002000) = data; } void Ili9488ReadParam (uint16_t cmd, uint16_t* param, uint32_t len) { *(uint16_t*)(0x60000000) = cmd; param[0] = *(uint16_t*)(0x60002000); // dummy for(uint32_t i = 0; i < len; i++) param[i] = *(uint16_t*)(0x60002000); } Инициализацию думаю смысла нет показывать. Использовал разные варианты, в том числе вариант топик-стартера. Но скорее всего косяк уровнем ниже. Кто что может подсказать?
  7. Приветствую. Я только начинаю работать со звуковыми устройствами. Есть задача выводить звук в один линейный канал (небалансный) с хорошим качеством. Прочая работа со звуковыми данными ограничивает их битрейт сверху на отметке 24 бита 48кГц. Подскажите микросхему аудио ЦАП (желательно с 1 преобразователем) от которого можно получить качественное звучание с минимальной обвязкой, входным интерфейсом i2s и не большой ценой. Звук в формате простого аналогового сигнала, потому никакие кодеки не нужны. И звуковые процессоры тоже не нужны. Просто ЦАП с объективно хорошим качеством преобразования. Наличие встроенного усилителя, думаю, не обязательно. Прошу прощения если вопрос звучит дилетантски, я с аналоговыми сигналами и тем более с аудио практически не работал. Что бы вы применили для данной задачи? Спасибо.
  8. Вы предлагаете сделать это на этом же процессоре? Я пока в своем уме чтобы так не делать. Если же вы предлагаете взять микроконтроллер предназначенный под bare-metal, то таковой с HDMI на борту я не знаю. Можно конечно использовать преобразователь интерфейсов с какого-нибудь параллельного RGB в HDMI, но по-моему куда логичнее и адекватнее использовать платформу на которой сразу все есть. Вопрос лишь как правильно использовать, и на него никто не дает ответа.
  9. Ок. Я вас понял. Действительно стоило сначала проверить возможности железа. Но для меня стало шоком что малина не тянет столь примитивный интерфейс. Я такой интерфейс например на стм32f429 сделаю и он не будет тормозить. А тут такая подстава. Но основной мой вопрос был в том, а на чем тогда реализовать нужный мне кастомный интерфейс с озвученой архитектурой железа. Смотрю в сторону qt device creation, но где гарантии что там будут работать 2 дисплея как мне нужно.
  10. Так этот пример же вроде бы на виджетах сделан. В приложениях построенных на виджетах ничего не лагает. Я смотрю на этот геморой с QML и то что мне по факту нужно видеть на экране и мне кажется я быстрее и надежнее напишу свою графическую либу которая будет гораздо быстрее работать.
  11. Если интересно, вот Видео тормозов. Качество не очень, но все понятно.
  12. Вы имеете в виду скомпилированную демку, или предлагаете взять исходники и собрать из них на моем текущем qt. Если первое, то я не нахожу такого. А если второе, то не вижу в этом смысла. Моя приложуха и так крайне примитивная: фон png, и listview из 3 элементов , где делегат это картинка png меняющаяся в зависимости установлен фокус на элемент или нет. Я думаю что косяк в том что qt собран с неподходящим конфигом. Но не уверен в этом.
  13. Vnc к тому, что подключившись к малине по vnc (там spi и не пахнет) и запустив приложение я также наблюдаю жуткие тормоза. Так spi же ни как не связано с тем что и каким образом складывается во фреймбуфер. Я не сильно секу в линуксе. Я занимаюсь bare-metal разработкой.
  14. А что насчет vnc? Там также ни как не учавствует видеоядро? Я просто искренне надеялся что gpu будет работать с фрэймбуфером, а spi драйвер будет выдергивать данные из фрэймбуффера и передавать на дисплей. То есть вы считаете что в малине аппаратные ограничения и то что я хочу сделать - не получится?
  15. Приветствую. Вопрос на чем сделать gui под малину для меня тоже очень актуален. И в его решении столкнулся со следующей проблемой: написал на QML (не сильно сложный интерфейс) и С++ приложение на винде. Все более-менее нормально работает. Скинул проект на малину, там собрал его. И что я вижу QML дичайше тормозит и лагает. Встречал совет что надо включить аппаратное ускорение OpenGL. Однако у меня к малине подключено 2 дисплея (по HDMI и по SPI). По hdmi - является просто периферийное устройство в которое я напрямую пишу через dev/fb0. А иксы работают на дисплее по SPI и соответственно приложуха там же должна отображаться в киоск режиме. Так вот если я включаю openGL то иксы отваливаются от SPI-дисплея. И на этом тупик. Я не могу в моем случае получить адекватный кастомный gui на малине. Кто может что посоветовать?
×
×
  • Создать...