10.05.2016, 00:38 | #91 | |
Старший Пользователь
Регистрация: 11.08.2013
Возраст: 35
Регион: 86
Сообщений: 445
|
Цитата:
Возможно вы заметили что у меня в проекте будет присутствовать ещё и OLED дисплей для отображения всякой инфы. Так вот, я в неё добавил графику, шрифты и т.д и всё это жрёт не мало памяти) + код для управления tda у меня на почти 1000 строк. Проект будет построен на arduino due, 100%! Я не хочу в какойто определённый момент застрять на том что не хватает памяти для реализации, той или иной идеи. А так проект я делаю для себя, и одновременно делюсь с вами и конечно выслушаю ваши мнения) т.е. я хочу сделать базу для open source проекта с возможностью кастомизации и набором конструктивных решений. |
|
10.05.2016, 00:44 | #92 | |
Гуру
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
|
Цитата:
__________________
------------------------ Новая версия блока питания (BP5mini) для подключения всех планшетов (плата, прошивка, инструкции) ------------------------ Неспешно расписываемый проект. ------------------------ Регулировка звука аудиопроцессором. TDA7442 + ардуино. |
|
10.05.2016, 01:28 | #93 | |
Старший Пользователь
Регистрация: 11.08.2013
Возраст: 35
Регион: 86
Сообщений: 445
|
Цитата:
на плате у меня специально отведено пространство под блок питания размером 55х33мм, хватит? Если не хватит придётся 2-й этаж строить) благо корпус это позволяет. |
|
10.05.2016, 01:41 | #94 |
Старший Пользователь
Регистрация: 13.11.2011
Возраст: 46
Город: Гомель BY
Регион: 03
Машина: Гольф2 -> Lancia Zeta
Сообщений: 376
|
Для начало токи скажи по каждому, а потом уже можно ,что-то говорить....
__________________
Управление под ANDROID ... http://www.pccar.ru/showthread.php?t=24001 Мой старый проект http://www.pccar.ru/showthread.php?t=18038 |
10.05.2016, 01:46 | #95 |
Старший Пользователь
Регистрация: 11.08.2013
Возраст: 35
Регион: 86
Сообщений: 445
|
|
10.05.2016, 01:58 | #96 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Alekssandr
тысяча строк на управление микрухой? Офигеть! Надо посмотреть будет что там такого хитрого. |
10.05.2016, 02:07 | #97 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Оу нашёл твой код!
Да так памяти не хватит ни какой! case 6: tdaparametr="GAIN REAR R"; if(selectmenu==true){ encoder_data=dueFlashStorage.read(25);} tdapodparametr="0 to 39"; add = 1; encoder_data = constrain(encoder_data, 0,39); rear_r = encoder_data; rear_rtda = 223-(rear_r+attenation); if(selectmenu==false){ tda7719(16, rear_rtda); //Настройки динамика задний правый :Speaker Attenuator Left Front } break; case 7: tdaparametr="GAIN SUBWOOFER L"; if(selectmenu==true){ encoder_data=dueFlashStorage.read(26);} tdapodparametr="0 to 39"; add = 1; encoder_data = constrain(encoder_data, 0,39); sub_l = encoder_data; sub_ltda = 223-(sub_l+attenation); if(selectmenu==false){ tda7719(17, sub_ltda); //Настройки сабвуфера левый :Speaker Attenuator Left Front } break; А теперь смотри фишку! Можно создать функцию, скажем PARAM и передавать в неё значения. Сильно с твоим кодом не разбирался, но вот так: case 5: tdaparametr="GAIN REAR L"; PARAM(24,100,16) break; case 6: tdaparametr="GAIN REAR R"; PARAM(25,100,16) break; .... void PARAM(int a , int b, int c){ if(selectmenu==true){ encoder_data=dueFlashStorage.read(a);} tdapodparametr="0 to 39"; add = 1; encoder_data = constrain(encoder_data, 0,39); rear_l = encoder_data; rear_ltda = 223-(b+attenation); if(selectmenu==false){ tda7719(c, rear_ltda); //Настройки динамика задний левый :Speaker Attenuator Left Front } идея понятна? Таким образом ты выкинешь треть кода своего! так же можешь сделать возвратный параметр из функции, но он тебе не нужен в данном коде. |
10.05.2016, 08:50 | #98 |
Пользователь
Регистрация: 19.03.2016
Возраст: 40
Город: Кувандык
Регион: 56
Машина: Emgrand ec7
Сообщений: 74
|
Александр, твое устройство для планшета и ты планируешь делать приложение под андроид, зачем же дисплей туда прикручивать? Через приложение все настройки можно организовать. Уберешь дисплей и размер убавиться и можно будет на анрдуино про микро делать.
|
10.05.2016, 11:40 | #99 |
Старший Пользователь
Регистрация: 11.08.2013
Возраст: 35
Регион: 86
Сообщений: 445
|
Так у меня почти тоже самое. 5 основных функции. Просто все параметры заведены в одну функцию void meny_oled. А вы предлагаете сделать почти тоже самое только вывести каждый параметр в отдельную функцию, только смысл, возможно удобней будет конечно.
Или я чтото не понял? весь код здесь 172) void encoder() //обработка энкодера, и пока его не крутанешь остальные функции вызываться не будут. 210) void meny_oled() //здесь все меню которые есть, и расчеты для аудиопроца . 817) void tda7719(int subaddress, int data) //сюда подаются параметры из меню и отправляются на аудиопроц по I2C 824) void displayprint() //Здесь происходит отображение инфы на дисплее 852) void flaschwrite() //эта функция, сохраняет параметры в память после 1 сек как перестали вращать энкодер. По поводу того что я ещё приделал дисплей он мне нужен, для отображения всякой важной информации, да и чтоб устройство было самодостаточным. управление с android тоже будет но попозже как печатную плату сделаю. Дисплей останется 100%. Думаю сделать 2 платы внутри, 1 снизу для слаботочки, 2-ю сверху для блоков питания и усилителей. (Корпус заказал сегодня за 1200р), причем верхнюю без проблем можно будет вытравить самому) чтоб экономичней вышло. Последний раз редактировалось Alekssandr; 17.05.2016 в 08:23. |
10.05.2016, 13:31 | #100 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Alekssandr
Я про то, что там куча повторяющегося кода. Который различается на один или пару параметров. Предлагаю такие куски запихать в функцию и передавать в неё параметры. Очень много однотипного кода. Если его сократить, то программа сократится втрое наверное. |
Здесь присутствуют: 17 (пользователей: 0 , гостей: 17) | |
|
|