Добрый день! Возможно есть специалисты знающие язык ассемблер, в идеале перенести код в СИ для последующей доработки и отладки на Arduino, но это в идеале, на это я не рассчитываю, многие говорят что проще написать с нуля, чем разбирается с уже написанным, но мне это не под силу, я не силён в программировании, а найти энтузиастов пока не получается.
Поэтому прошу помочь разобрать по полочкам исходник, для попытки воплощения аналога на Arduino. Вот ссылка на исходник. там есть вся история разработки, начиная с самой первой версии, возможно будет проще отслеживать изменения и решения автора.
Первая задача стоит в том чтоб ГУ увидело устройство. Для отладки всё есть, макет, Ардуинка и ГУ. Изначально собирал всё под PIC но с Асемблером вообще беда, никто его не знает, а вот с СИ проблем нет.
Вложение:
Комментарий к файлу: Схема schematic_v2.pdf [17.78 KiB]
Скачиваний: 199
Переводить из НЕХ в ASM , потом сидеть разбираться с алгоритмом - еще то занятие. А автору написать не вариант? Может лучше алгоритм обмена найти и по нему сделать отладчик ?
Спасибо всем откликнувшимся, как я понимаю программа уже написана, и лежит в исходниках .ASM из HEX переводить не нужно, нужно понять что там за алгоритмы, и попробовать реализовать аналогичное под Ардуино
Добавлено after 19 minutes 43 seconds: итоговая задача законченного устройства, это с магнитолы управлять музыкой на телефоне по Bluetooth, есть вот такой Bluetooth модуль с дискретными входами (фото ниже)
в исходники была схожая задача, но управлялось ПК через ком порт, мне же по по факту нужны дискретные выхода по нужным командам...
Посмотрел, работы много. Но все можно сделать. Если вам для себя любимого - забудьте. Если вам продать от 200 штук то выйдете на ноль из за стоимости разработки.
_________________ __________________ Все, что нельзя запрограммировать на ассемблере, приходится паять
Но все можно сделать. Если вам для себя любимого - забудьте.
Сделать можно, но чтоб отладиться и потом описать весь протокол что бы переносить на любую платформу - так это нужна магнитола и комплект того с чего и чем управлять . Если это конечно не тюнинг БМП (не путать с BMW) - то и на единичном экземпляре можно быть в профите . кому интересно посмотрите тюниг этой техники. А для себя любимого , проще сменить комплект аппаратуры. С блютуза не все так просто управлять . Если стандартные команды - то да с андроида почти все плеера шлют стандартный набор команд, а так же понимают основные команды приходящие от системы. А дальше уже приложение писать надо , потом версии поддерживать. А там начнут китайские иероглифы по блютузу гулять ... с ними бороться. есть небольшой опыт в этом направлении.
Я наверно не с того начал, сейчас попробую разложить всё по полочкам.
Задача: - эмулировать CD/MD устройство, чтоб ГУ увидела дивайс, - в дискретном виде отдавать команды управления с ГУ ("следующий трек", "предыдущий трек", "следующая папка", "предыдущая папка" вывести их на отдельные выходы, чтоб при поступлении данной команды появлялась логическая 1, с "плей" и "паузой" тоже самое, только там один выход но разные задержки).
ГУ есть (менять не вариант, отсюда и заморочки), собран и подключён к магнитоле макет (фото 1 и schematic_v2), на шинах DATA и CLK наблюдаю импульсы, BUSON это логическая "1" при включении ГУ, чтоб разбудить устройство. Также есть Bluetooth модуль (фото 2).
Схематически я свяжу макет и модуль Bluetooth (главное получить нужные сигналу). Аудиосигнал в аналоге будет идти с Bluetooth модуля на вход ГУ.
Макет собирал под PIC16F648A (он тоже есть в наличии) но столкнулся с тем что язык Ассемблер никто из знакомых не знает и поправить исходник под мои задачи не может, поэтому и озадачился переводом в Си, как я понимаю это проблема. Можно подправить вышеупомянутые исходники под мои задачи скомпилировать HEX под PIC16F648A, этого будет достаточно для меня.
Просто хотел всё обкатать на Arduino, возможно ещё решить какие-нибудь задачи, например передавать название трека (протокол это позволяет) но тогда наверное надо использовать другой Bluetooth модуль, я ещё не изучал возможности QCC3031, но это уже лирика, есть знакомые готовые помочь допилить на языке Си под Arduino.
В исходниках есть хронология версий, возможно какая-то промежуточная уже содержит всё необходимое (разложенный протокол), без управления по СОМ порту, её и надо брать за основу.
Макет собирал под PIC16F648A (он тоже есть в наличии) но столкнулся с тем что язык Ассемблер никто из знакомых не знает и поправить исходник под мои задачи не может, поэтому и озадачился переводом в Си, как я понимаю это проблема. Можно подправить вышеупомянутые исходники под мои задачи скомпилировать HEX под PIC16F648A, этого будет достаточно для меня.
Вы представляете во что выливается задача изменения исходников , похоже что нет, По факту придется раз надцать править компилить , заливать прошивку в проц, смотреть лог анализатором обмен, вникать в протокол, потом описывать все это чтоб другим было понятно. ASM для пиков хорошо знаю , как раз для 16 и 18 серии , для 32 серии уже СИ. Вот два примера , как описывал другие протоколы чтоб было понятно. Вот тоже самое нужно сделать и с вашим протоколом и ГУ. Реверс-инжиниринг протокола записи адресов микросхемы UCS512 https://habr.com/ru/post/678546/ О Multi-Drop Bus замолвите слово или торговый автомат по розливу воды с управлением по MDB https://habr.com/ru/post/704646/
НЕТ. Там описан протокол SONY для камер, он достаточно известен. Применяем его для управления камерами в конференц залах. А дальше описан протокол межблочного соединения, когда главное устройство принимает ИК команды и затем транслирует их дальше на другие устройства. Это сделано для того чтоб иметь один пульт , один ИК приемник , но иметь возможность управлять всей системой. Там протокол - это те же ИК посылки , только без несущей 40кГц. и все тот же протокол RC5 для ИК управления. Но он без обратной связи . Только в одну сторону. И это используем для управления оборудованием в конференц залах. А обратная связь уже идет по другим своим проприетарным протоколам . Если бы все было просто - то в ардуино уже была бы библиотека
Возможно, но без объяснения что к чему и почему видим такую картину - все это бесполезный цифровой мусор. Тут два варианта , и о них уже писали выше. Либо вы сами собираете всю инфу и делаете это сами, либо отдавать весь комплект ГУ и чем управлять , ставите нормально задачу обсуждается бюджет и затраты и получаете готовый результат.
может быть еще гибридный вариант , когда вы все на своем месте измеряете , дистанционно показываете , в реал тайм все отлаживается с другим специалистом, но это не быстро , сложнее и т.д.
p.s. смотрел исходники , все относительно понятно , но нужно реальное железо что бы убедиться в правильности выводов . Зарисовать зафиксировать обмен , дать пояснения как реализовывать на других платформах. А тетя SONY не будет против?
если ей не рассказывать то думаю она и не узнает, тем более у нас сейчас с ней отношения не очень...
Так я понял, беру творческую паузу, попробую ещё почитать интернет.
Кто сможет скомпилировать 1.8 версию под PIC16F648A и кинуть мне HEX под него, хочу проверить увидит его ГУ или нет, или подскажите в какой программе написан этот проект?
Кто сможет скомпилировать 1.8 версию под PIC16F648A и кинуть мне HEX под него, хочу проверить увидит его ГУ или нет, или подскажите в какой программе написан этот проект?
MPLAB подойдет .
Посмотрел , для pic16f827 компилится без ошибок в MPLAB, В проекте зависимости от процессоров прописаны . А вашего pic16f648A нет в конфигурационных настройках . Надо покопаться чтоб посмотреть где зависимый от проца код. В личку напишите контакты.
bes_com, использованы AvrStudio 4 и WinAVR (GCC) 3.4.1
_________________ Платы для HLDI - установки лазерной засветки фоторезиста. ФоторезистыOrdyl Alpha 350 и AM 140. Жидкое олово для лужения плат (видео) - самое лучшее и только у меня. Паяльная маска XV501T-4 и KSM-S6189 (5 цветов). Заказ печатных плат - pcbsmac@gmail.com
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения