А есть ли настройка (или модуль), которая в значительной степени облегчает прошивку и делает задержку в передаче звука от источника минимальной ?
Вопросы по работе с JL SDK. Настройка, конфигурирование....
Сообщений 301 страница 320 из 329
Поделиться3022025-05-31 18:25:25
которая в значительной степени облегчает прошивку и делает задержку в передаче звука от источника минимальной ?
не совместимые желания)
Используйте стандартный EDR он же A2DP (SBC/AAC)
- Подпись автора
USMicro(R) (C)2025
Поделиться3032025-06-03 21:17:58
А там её нету. То просто конфиги без UI и прочего. Просто запустить бат файл.
Вес зависит от подключенных кодеков/декодеров/функций/библиотек
Всё таки есть, #define CONFIG_SOUNDBOX_FLASH_256K Делает прошивку меньше, и закидывает ее в ту папку. Правда звука нет, но с этим надо разобраться)))
Поделиться3042025-06-05 18:49:23
Всё таки есть, #define CONFIG_SOUNDBOX_FLASH_256K Делает прошивку меньше, и закидывает ее в ту папку. Правда звука нет, но с этим надо разобраться)))
Офигеть, удивительное рядом)
Это в субконфиге?
Нужно вынести эти настройки в основнык конфиги)
Вообще крайне не удобные сдк. Огромные.
На сколько вес уменшился?
- Подпись автора
USMicro(R) (C)2025
Поделиться3052025-06-05 19:24:44
Прям в board_ac696x_demo_cfg.h вписал, найдя это в каких-то старых СДК. У меня уменьшилось на пару десятков килобайт, возможно из-за другой озвучки... Дальше не копал.
Отредактировано Osya Trutkov (2025-06-05 19:26:15)
Поделиться3062025-08-03 16:41:59
В 695Х сдк не нашел сохранения настройки языка UI, дописал пару строк кода. Может кому пригодится.
Код:apps\soundbox\ui\lcd\ui_sys_param_api.c typedef struct _UI_SYS_PARAM { u16 cur_auto_close_time; //The currently set shutdown time struct SYS_INFO sys_infomation; //System Information struct UI_DISPLAY display; //Display information u8 language;//amateur } UI_SYS_PARAM; void set_sys_param_default(void) { __this->display.backlight_time = 0; __this->display.backlight_brightness = 0; __this->cur_auto_close_time = 0; __this->language = English;//amateur auto_power_off_timer_close(); } void set_language(u8 language) { __this->language = language; sys_param_write2vm(); } u8 get_language(void) { return __this->language; } apps\soundbox\ui\lcd\STYLE_02\system_action.c static int language_enter_callback(void *ctr, struct element_key_event *e) { struct ui_grid *grid = (struct ui_grid *)ctr; printf("ui key %s %d\n", __FUNCTION__, e->value); int sel_item; switch (e->value) { case KEY_OK: sel_item = ui_grid_cur_item(grid); if (sel_item >= 0 && sel_item < sizeof(table_system_language) / sizeof(table_system_language[0])) { ui_language_set(table_system_language[sel_item]); set_language(table_system_language[sel_item]);//amateur ui_hide(SYS_LANGUAGE); } else { ui_hide(SYS_LANGUAGE); } return false; default: return false; } return TRUE; } apps\soundbox\task_manager\power_on\power_on.c static void lcd_ui_power_on() { #if (TCFG_SPI_LCD_ENABLE) int logo_time = 0; UI_SHOW_WINDOW(ID_WINDOW_POWER_ON); ui_language_set(get_language());//amateur sys_timeout_add(NULL, lcd_ui_power_on_timeout, 1000); #endif }
Поделиться3072025-08-05 11:10:17
Does anyone know how to configure the AC6965A to have the highest volume when starting up? I have configured it in the AC696X DEMO SDK and it is running, but the sound is too small, I have to press the volume up button all the time, very inconvenient.
Поделиться3082025-08-05 19:57:33
Does anyone know how to configure the AC6965A to have the highest volume when starting up? I have configured it in the AC696X DEMO SDK and it is running, but the sound is too small, I have to press the volume up button all the time, very inconvenient.
I don't understand your problem. When I increase the volume, it saves the volume and stays the next time I turn it on. What do you mean, "I have to press the volume up button all the time?"
Поделиться3092025-08-05 20:27:20
I think, he mean "starting volume" aka default vol.
- Подпись автора
USMicro(R) (C)2025
Поделиться3102025-08-05 23:32:06
В 695Х сдк нужно изменить кое-что иначе не работает нормально переключение EQ из меню. В режиме ФМ EQ в UI не предусмотрен, но можно добавить.
apps\soundbox\ui\lcd\STYLE_02\music_action.c #if TCFG_EQ_ENABLE eq_mode_set(sel_item); ui_pic_show_image_by_id(MUSIC_EQ, sel_item);//добавить #endif cpu\br23\audio_effect\eq_config.c int eq_mode_set(EQ_MODE mode) { eq_mode = mode;//добавить
Отредактировано amateur (2025-08-06 02:43:58)
Поделиться3112025-08-06 11:03:28
Tôi nghĩ ý anh ấy là "âm lượng ban đầu" hay còn gọi là âm lượng mặc định.
yeah i mean default volume i want max
Поделиться3122025-08-06 11:05:01
I don't understand your problem. When I increase the volume, it saves the volume and stays the next time I turn it on. What do you mean, "I have to press the volume up button all the time?"
I mean default volume, I want max.
Поделиться3142025-08-06 18:26:15
trong cấu hình của bạn:
#define SYS_VOL_TYPE VOL_TYPE_ANALOG
i tried it and it worked, thank you
Поделиться3152025-08-06 22:26:25
В 6956Х сдк удаление станций ФМ из меню тоже не доделано.
Код:apps\soundbox\task_manager\fm\fm_api.c void fm_delete_freq() { if (!__this || __this->scan_flag) { return; } delete_fm_point(__this->fm_freq_cur); if (__this->fm_total_channel > 0) { __this->fm_total_channel--; if (__this->fm_freq_channel_cur > 1) __this->fm_freq_channel_cur--; } if (__this->fm_total_channel == 0) __this->fm_freq_channel_cur = 0; __set_fm_station(); __fm_ui_cur_station(); } apps\soundbox\task_manager\fm\fm_rw.c void delete_fm_point(u16 fre) { u16 i, k; FM_INFO fm_info = {0}; fm_read_info(&fm_info); i = fre / 8; k = fre % 8; if (fm_info.dat[i] & BIT(k)) { fm_info.dat[i] &= (~BIT(k)); fm_info.total_chanel--; if (fm_info.curChanel > 1) fm_info.curChanel--; if (fm_info.total_chanel == 0) fm_info.curChanel = 0; fm_save_info(&fm_info); } } apps\soundbox\ui\lcd\STYLE_02\fm_action.c static int fm_menu_list_onkey(void *ctr, struct element_key_event *e) { struct ui_grid *grid = (struct ui_grid *)ctr; int sel_item = 0; printf("ui key %s %d\n", __FUNCTION__, e->value); switch (e->value) { case KEY_OK: sel_item = ui_grid_cur_item(grid); switch (sel_item) { case 0: app_task_put_key_msg(KEY_FM_SCAN_ALL, 0); ui_hide(FM_MENU_LAYOUT); break; case 1: fm_delete_freq(); ui_hide(FM_MENU_LAYOUT); break; case 2: ui_hide(FM_MENU_LAYOUT); break; } break; default: return false; } return false; }
Поделиться3162025-08-07 21:15:43
В этом же 695Х сдк ID_WINDOW_POWER_ON (welcome) page5 с первого раза не показывается, видимо что-то к этому моменту еще недоинициализировалось, и в терминале так:
window_show 5 open_resouece_file... open_resfile: mnt/sdfile/res/JL.res open_str_file: mnt/sdfile/res/JL.str
пока просто прячу и еще раз показываю
static void lcd_ui_power_on() { #if (TCFG_SPI_LCD_ENABLE) int logo_time = 1000; UI_SHOW_WINDOW(ID_WINDOW_POWER_ON); UI_HIDE_WINDOW(ID_WINDOW_POWER_ON); UI_SHOW_WINDOW(ID_WINDOW_POWER_ON); sys_timeout_add(NULL, lcd_ui_power_on_timeout, logo_time); ui_language_set(get_language()); #endif }
Поделиться3172025-08-12 16:10:46
Все тот же 695Х сдк. Доделал настройку подсветки дисплея и сделал отдельный файл для ST7565
Код:apps\soundbox\ui\lcd\ui_sys_param_api.c //Backlight brightness static const char table_system_lcd_value[] = { 100, 60, 20, }; void set_backlight_brightness(u16 brightness) { if (brightness >= sizeof(table_system_lcd_value) / sizeof(table_system_lcd_value[0])) { return; } __this->display.backlight_brightness = brightness; lcd_backlight_ctrl(get_backlight_brightness());//Add sys_param_write2vm(); } cpu\br23\ui_driver\lcd_spi\spi_lcd_st7565.c #include "includes.h" #include "app_config.h" #include "ui/ui_api.h" #include "system/includes.h" #include "system/timer.h" #include "asm/spi.h" #if TCFG_LCD_ST7565_ENABLE #define USED_SW_CS 0 #define USED_SW_RESET 0 void lcd_spi_dma_send_wait(u8 *map, u32 size); static void ST7565_BackLightCtrl(u8 on) { #if (TCFG_BACKLIGHT_PWM_MODE == 1) //Note: Duty cannot be greater than PRD, and PRD and duty are non-standard nonlinear. //It is recommended to use an oscilloscope to adjust extern int pwm_led_output_clk(u8 gpio, u8 prd, u8 duty); if (on) { pwm_led_output_clk(TCFG_BACKLIGHT_PWM_IO, 100, on); } else { pwm_led_output_clk(TCFG_BACKLIGHT_PWM_IO, 100, 0); } #else if (on) { lcd_bl_h(); } else { lcd_bl_l(); } #endif } static void delay_ms(unsigned int ms) { unsigned int a; while (ms) { a = 80; while (a--); ms--; } return; } static void ST7565_Write_Cmd(u8 dat) { lcd_cs_l(); lcd_rs_l(); spi_dma_send_byte(dat); lcd_cs_h(); } static void ST7565_Write_Data(u8 dat) { lcd_cs_l(); lcd_rs_h(); spi_dma_send_byte(dat); lcd_cs_h(); } void ST7565_Set_Pos(u8 x, u8 page) { ST7565_Write_Cmd(0xB0 + page); ST7565_Write_Cmd(0x10 + (x >> 4)); ST7565_Write_Cmd(0x00 + (x & 0x0f)); } static void ST7565_Set_Draw_Area(int xs, int xe, int ys, int ye) { ST7565_Set_Pos(xs, (ys / 8) % 8); } static void ST7565_Write_PAGE(char *map, u8 page_star, u8 page_len) { u8 page; for (page = page_star; page < page_star + page_len; page++) { ST7565_Set_Pos(0, page); lcd_cs_l(); lcd_rs_h(); lcd_spi_dma_send_wait(map, 128); map += 128; lcd_cs_h(); } } static void ST7565_Write_Map(char *map, int size) { u8 page; u8 col; for (page = 0; page < 8; page++) { ST7565_Set_Pos(0, page); lcd_cs_l(); lcd_rs_h(); lcd_spi_dma_send_wait(map, 128); map += 128; lcd_cs_h(); } } void ST7565_Clear(void) { u8 i, n; for (i = 0; i < 8; i++) { ST7565_Set_Pos(0, i); for (n = 0; n < 128; n++) { ST7565_Write_Data(0x00); } } } static void ST7565_Init(void) { printf("ST7565_Init...\n"); #if USED_SW_RESET lcd_reset_h(); delay_ms(1);//? lcd_reset_l(); delay_ms(1);//? lcd_reset_h(); #endif delay_ms(100);//? ST7565_Write_Cmd(0xE2);// soft reset ST7565_Write_Cmd(0xAE);// display off// ST7565_Write_Cmd(0x40);// set display start line to 0 //normal screen orientation //ST7565_Write_Cmd(0xA1);// ADC set to reverse //ST7565_Write_Cmd(0xC0);// common output mode //flip screen ST7565_Write_Cmd(0xA0);// ADC set to reverse ST7565_Write_Cmd(0xC8);// common output mode ST7565_Write_Cmd(0xA6);// display normal, bit val 0: LCD pixel off. ST7565_Write_Cmd(0xA2);// LCD bias 1/9 ST7565_Write_Cmd(0x2F);// all power control circuits on ST7565_Write_Cmd(0xF8);// set booster ratio to 4x ST7565_Write_Cmd(0x00); ST7565_Write_Cmd(0x25);// set V0 voltage resistor ratio to large ST7565_Write_Cmd(0x81),// set contrast ST7565_Write_Cmd(0x26); ST7565_Clear(); ST7565_Write_Cmd(0xAF);// display on ST7565_Set_Pos(0, 0); } #define LCD_BUFFER_SIZE (128*64/8) u8 LCDBuff[8][128]; static void ST7565_EnterSleep() { ST7565_Write_Cmd(0xAE);// display off } static void ST7565_ExitSleep() { ST7565_Write_Cmd(0xAF);// display on } REGISTER_LCD_DRIVE() = { .name = "ST7565", .lcd_width = 128, .lcd_height = 64, .color_format = LCD_COLOR_MONO, .interface = LCD_SPI, .column_addr_align = 1, .row_addr_align = 1, .dispbuf = LCDBuff, .bufsize = LCD_BUFFER_SIZE, .initcode = NULL, .initcode_cnt = 0, .Init = ST7565_Init, .WriteComm = ST7565_Write_Cmd, .WriteData = ST7565_Write_Data, .WriteMap = ST7565_Write_Map, .SetDrawArea = ST7565_Set_Draw_Area, .Reset = NULL, .BackLightCtrl = ST7565_BackLightCtrl, .WritePAGE = ST7565_Write_PAGE, .EnterSleep = ST7565_EnterSleep, .ExitSleep = ST7565_ExitSleep, }; #endif
Поделиться3182025-08-12 21:23:56
Раз пошла такая пьянка, добавлю от себя - режим сна в последнем офф сдк ac695n_soundbox_sdk-sdk_3.1.0 с косяком...
Когда мы переходим в power_set_soft_poweroff(); то у нас потребление порядка 200 uA.
Нужно заменить на эту библиотеку от следующей не официальной версии сдк(хз почему они так её обозвали, толи не доделали релиз, толи забили... Но продукцию они лепят из того же 3.1.0)
cpu lib
Я проверил - библиотека работает, в power_set_soft_poweroff() у нас 1-2uA как положенно по PDF. 1 uA кстати с WDT на куче портов + включено VDDIO на 3.2v.....
Долго искал в чем проблема), долгие пару вечеров дебага ни к чему не привели, и пошел по другому методу...
- Подпись автора
USMicro(R) (C)2025
Поделиться3192025-08-13 23:26:15
... Но продукцию они лепят из того же 3.1.0)
Наверное какие нибудь свистки для прикуривателя. Все что с дисплеем сделано не до конца, подключил ST7735 - такие картинки рисует - Малевичу и не снилось.
Поделиться3202025-08-21 18:49:45
Кто-нибудь пытался сделать свое/изменить UI для 6925Х? В HSC-690x_sdk_V2013 есть DV10.exe но оно похоже было написано в дельфи еще в те времена когда оно не поддерживало юникод и поля там жестко прописаны по китайски, то есть нужно наверное китайскую ос. Еще там есть Designer, но к нему нет папки про которую пишут в мануале. В общем у меня ничего не вышло.
Похожие темы
RTC | MCU, SoC, CPU Микроконтроллеры | 2023-09-20 |
JL SoC. 杰理芯片 | MCU, SoC, CPU Микроконтроллеры | 2025-09-03 |