USMI

Объявление

12/06/2025 (Administration) - Spamming for the purpose of boosting messages will be punished with a ban. Спам с целью накрутки сообщений будет караться баном.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...


Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...

Сообщений 121 страница 140 из 194

121

kagaimiq написал(а):

Для русского (cp1251) нужно в прошивку добавлять файлы f_cp1251_s.pix и f_cp1251.tab вместо f_ascii_s.pix, f_gb2312_s.pix и f_gb2312.tab.

Только в этом случае отображение (в данном случае) кириллицы всё равно работать нормально не будет.
Да, там где текст оторбражается как 'ANSI', там будет работать нормально, но когда будет отображаться UTF-16 (т.е. имена файлов в плеере), вместо неё будет отображаться мусор или может даже произойти перезагрузка чипа.

(такое происходит и со штатными tab/pix файлами)

Эта проблема не только в cp1251 но и во всём font_OtherLanguage, так как там неправильно парсится сам TAB файл для конвертации с юникода в кодовую страницу к которой относится сам PIX файл.

На 695х похоже такая же ерунда, если так то на стандартном сдк нормальную локализацию не сделать. Как в старые времена, только ascii в именах файлов.

122

amateur написал(а):

На 695х похоже такая же ерунда, если так то на стандартном сдк нормальную локализацию не сделать. Как в старые времена, только ascii в именах файлов.

В общем работает, но не понятно почему так.

Код:
#if LANGUAGE&BIT(English)
    {
        .language_id = English,
        .flags = FONT_SHOW_PIXEL | FONT_SHOW_MULTI_LINE,
        .pixel.file.name = (char *)FONT_PATH"F_CP1252.PIX", //а это вообще роли не играет, можно закомментиривать
        .ascpixel.file.name = (char *)FONT_PATH"F_CP1252.PIX",//подсунул сюда это вместо F_ASCII.PIX
        .tabfile.name = (char *)FONT_PATH"F_CP1252.TAB",
        .isgb2312 = false,
        .bigendian = false,
        .putchar = font_putchar,
    },

123

amateur написал(а):

В общем работает, но не понятно почему так.

Работает, и в названиях файлов тоже?

Подпись автора

USMicro® 2026©

124

BIOS написал(а):

Работает, и в названиях файлов тоже?

Да, pix файлы именно для того. UI стринги они в JL.str. Там тоже не все в порядке, изменения шрифта игнорируются.

125

BIOS написал(а):

Работает, и в названиях файлов тоже?

amateur написал(а):

Да, pix файлы именно для того. UI стринги они в JL.str. Там тоже не все в порядке, изменения шрифта игнорируются.

Работает всё-таки. UI шрифты меняются всё-таки в excel. А не как китайцы пишут в мануале что в их программе это нужно делать.
https://upforme.ru/uploads/001b/ca/8a/24/t765423.jpg
https://upforme.ru/uploads/001b/ca/8a/24/t570809.jpg

126

По поводу .str файлов тут неудобство что для генерации excel нужен. В этих .str файлах формат очень похож как у .pix файлов только есть пара непонятных байтов, скорее всего какая-то checksum. Если догадаться что это за байты можно было бы написать свою программку для генерации этих файлов. Тогда можно отказаться от excel.

Что я догадался:
красное: всегда одинаково
фиолетовое: неизвестно, для начала все равно
желтое: похоже на checksum, причем похоже реагирует только на количество байтов и пикселей в стринге, т.е. 3-10байт
зеленое:всегда одинаково
синее:
1,2 байт: номер стринга в result_str_index.h
3,4 байт: ширина стринга в пикселях
5,6 байт: высота стринга в битах
7,8,9,10 байт: кол-во байт в стринге
11,12,13,14 байт: оффсет где начинаются пиксель-данные.

https://upforme.ru/uploads/001b/ca/8a/24/t531657.png

вот как пример:

1 и 2: разница только в длине стринга

1 и 3: стринг одинаковый но оффсет разный (ну еще номер вместо 48 D8, в 1-м и 2-м только один язык был а в 3-м 3 языка 48*3=D8)

Код:
1.  73 42 E0 B8 01 00 48 00 38 00 10 00 70 00 00 00 79 2A 00 00    
    
2.  14 6E 1D EF 01 00 48 00 40 00 10 00 80 00 00 00 79 2A 00 00	
    
3.  F8 F4 E0 B8 01 00 D8 00 38 00 10 00 70 00 00 00 35 64 00 00

127

Байты 0-15 = RES_HEAD_T — заголовок
  0-3 = magic ('R' 'U' '2' 0x31) — сигнатура
  4-5 = version (0x101) — версия
  6-7 = bPanelType (0) — тип дисплея
  8-9 = totalPage — кол-во страниц (относится к файлу JL.res)
  10-11 = reserved
  12-15 = resver — некая версия, проверяющееся через res_file_version_compare, в SDK вроде бы нигде не используется

Байты 16-27 = RES_ENTRY_T — описание секции со строками (bItemType ­= 0x53 = 'S')
  16-19 = dwOffset — смещение к описанию каждой строки
  20-21 = wCount — кол-во строк
  22 = bItemType — тип (0x53 = 'S' = строки)
  23 = langsum — кол-во языков (кол-во строк для одного языка = wCount / langsum)
  24-27 = language — битовая маска с языками, которые присутствуют в файле

С байта 28 (dwOffset = 0x1c у RES_ENTRY_T выше) = RES_STR_T
  0-1 = head_crc — CRC16 заголовка (байтов 2-19)
  2-3 = data_crc — CRC16 данных
  4-5 = res_type — 1
  6-7 = type_id — индекс строки
  8-9 = wWidth — ширина
  10-11 = wHeight — высота
  12-15 = dwLength — размер данных
  16-19 = dwOffset — смещение к началу данных

Подпись автора

水Mizu-DEC JLtech since 22.06.2019

128

kagaimiq написал(а):

Байты..

Спасибо, это ты где-то в *.а нашел?

129

amateur написал(а):

А как показывается название папки на стандартном LCD? У меня почему-то только на первом файле в папке показывается нормальное название. При переходе к следующему файлу, не важно вручную или автоматически, показывается сокращение. Только при смене папки и только на первом файле опять полное название.
Примерно так: 80's Collection превращается в  80'SCO~2.

все пытаюсь приделать LCD 2004 на AC6925

Вернулся к этой теме. До сих пор у меня было так: если lfn_cnt==0 это либо папка ROOT либо просто нужно показывать последнее название которое было в юникоде, как-никак в 2025 живем, все давно должно быть в юникоде.

Попробовал по другому,

Код:
common\file_operate\file_operate.c
    case FOP_OPEN_FILE_BYNUM:
        fop_printf("FOP_OPEN_FILE_BYNUM\n");
        ret = fs_get_file_byindex(&(obj->fop_file->fs_hdl), &(obj->fop_file->file_hdl), 0);//добавил
        ret = fs_get_file_byindex(&(obj->fop_file->fs_hdl), &(obj->fop_file->file_hdl), obj->fop_info->filenum);

пока побочных эффектов не заметил

130

kagaimiq написал(а):

Для русского (cp1251) нужно в прошивку добавлять файлы f_cp1251_s.pix и f_cp1251.tab вместо f_ascii_s.pix, f_gb2312_s.pix и f_gb2312.tab.

Только в этом случае отображение (в данном случае) кириллицы всё равно работать нормально не будет.
Да, там где текст оторбражается как 'ANSI', там будет работать нормально, но когда будет отображаться UTF-16 (т.е. имена файлов в плеере), вместо неё будет отображаться мусор или может даже произойти перезагрузка чипа.

(такое происходит и со штатными tab/pix файлами)

Эта проблема не только в cp1251 но и во всём font_OtherLanguage, так как там неправильно парсится сам TAB файл для конвертации с юникода в кодовую страницу к которой относится сам PIX файл.

Работает только cp1252, все что больше 255 не работает. Как они так жидко обделались, там вроде ничего сложного быть не должно..

131

Ну кто же знал что лог дебага, от аудио отстает на пару сек, там или буферизация,или хз чего. Но вот прикол, былся пару часов над не существующей проблемой! Одел наушники и послушал, когда звук в 0-1 то он прям сразу за нажатием кнопок происходит, а принт тупит.

Код:
common vol-: 1
[Info]: [APP_ACTION]common_key_event:162

[Info]: [APP_ACTION]COMMON KEY_VOL_DOWN

common vol-: 0
[IR] NEW_KEY: 41
[Info]: [APP_ACTION]common_key_event:161

[Info]: [APP_ACTION]COMMON KEY_VOL_UP

common vol+: 1

Люблю такой дебаг,  %-)

Подпись автора

USMicro® 2026©

132

Добренького всем,  подскажите можно с данного чипа  JL AS218P0C462-25A4  снять аналоговый аудио сигнал для линейного выхода? На плате контроллера расположено два модудя блютус, один отвечает за управление датчиками и обменом цифровой информацией,  с итерфейсом UART (HC-08 BLUETOOTH UART COMMUNICATION MODULE), а второй отвечает неосредственно за звук  и Даташит к сожалению не получилось найти на данную микросхему  но вот плеер/гарнитура у меня именно на чипе JL,  из за чего предполагаю связь с звуком.  Заранее благодарен за любую помощь в данном вопросе!

133

Rom4ik54321 написал(а):

JL AS218P0C462-25A4

AC6925A.

Rom4ik54321 написал(а):

Добренького всем,  подскажите можно с данного чипа  JL AS218P0C462-25A4

Если софтово не отключено, то просто подпаяться. А если отключено - заново собрать прошивку из сдк.

Подпись автора

USMicro® 2026©

134

BIOS написал(а):

AC6925A.

Если софтово не отключено, то просто подпаяться. А если отключено - заново собрать прошивку из сдк.

А какие контакты на звук идут, чтоб проверить? Даташит не получилось найти.  По хорошему может в этой мирухе можно как то  и раздачу блютус сигнала включить, чтоб не морочится с линейным выходом, но к сожалению в програмировании очень слабо разбираюсь. Плеер второй год уже не могу заняться 🤪, всё откладываю😔, хоть и програматор  спецом закупленный лежит пылится...

135

Чип AC6925A найден  быстро https://www.kepuhaodianzikeji.com/newsinfo/643148.html . Благодарю за  информацию! Сначала не совсем понял, сообщение выше отправил...

136

Здравствуйте! Интересует возможность использования ЖК-дисплея ST7920 с этим устройством, поскольку он у меня уже есть. Но если для него нет готовых библиотек, я куплю SSD1306 I2C. (К Bt201/AC6925B4 )(будет использовать английский язык)
Спасибо

Отредактировано barbaror4 (2026-04-18 19:15:19)

Подпись автора

"JieLi, if your firmware is closed and your pathways unseen, are you an intelligence or just a carefully gated circuit of borrowed intention?"

137

barbaror4 написал(а):

Здравствуйте! Интересует возможность использования ЖК-дисплея ST7920 с этим устройством, поскольку он у меня уже есть. Но если для него нет готовых библиотек, я куплю SSD1306 I2C. (К Bt201/AC6925B4 )(будет использовать английский язык)
Спасибо

Отредактировано barbaror4 (Вчера 19:15:19)

В общем, столкнулся с проблемой: PC3, PC4, PC5 заняты SD-картой, я могу использовать PB0, PB1, но PB5 и PB4 остаются свободными...

Подпись автора

"JieLi, if your firmware is closed and your pathways unseen, are you an intelligence or just a carefully gated circuit of borrowed intention?"

138

Friends every time reflash after dead modules

139

barbaror4 написал(а):

So, I ran into a problem: PC3, PC4, PC5 are occupied by SD card, I can use PB0, PB1, but PB5 and PB4 remain free...

Итак, мой план — использовать стандартный SDK 2.6.3 вместо BT201, напишу собственную библиотеку инициализации/GDRAM для ST7920 или для LCD-дисплея или LCD12864. ADK работает на PA3, светодиодный индикатор использовать не буду, так что PB3, PB4, PB5 и PB0 будут свободны для использования!

Подпись автора

"JieLi, if your firmware is closed and your pathways unseen, are you an intelligence or just a carefully gated circuit of borrowed intention?"

140

В общем, если коротко, я не смог написать это сам, и был бы очень рад, если бы кто-нибудь помог или предложил готовую библиотеку для ST7920. Спасибо.

Подпись автора

"JieLi, if your firmware is closed and your pathways unseen, are you an intelligence or just a carefully gated circuit of borrowed intention?"


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...