Внимание! Перед тем как создавать тему на форуме, воспользуйтесь поиском! Пользователь создавший тему, которая уже была, будет немедленно забанен! Читайте правила названия тем. Пользователи создавшие тему с непонятными заголовками, к примеру: "Помогите, Схема, Резистор, Хелп и т.п." также будут заблокированны навсегда. Пользователь создавший тему не по разделу форума будет немедленно забанен! Уважайте форум, и вас также будут уважать!
Группа: Автор
Сообщений: 7625
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков
Я тут это отрыл, но здесь как то вообще заморочено.
QUOTE
Commands with checksums are calculated and sent in the following manner. For this example we will use the Play command from one of our DVD players and provide the basic command string information needed to implement the command. The Play command is a hex 40 otherwise written as 40h or an ASCII "@" sign. Please note, in our protocol document commands in quotes (' ') are ASCII characters. To send this command and activate Play on our DVD player, the complete hex string would look like 02 40 00 00 00 00 03 34 33 as indicated in the protocol document. A BD hex string would add an additional place holder. (ie: 02 40 00 00 00 00 00 03 34 33) Now let's explain how we got there.
The 02h starts the transmission, 40h is the play command itself, 00h 00h 00h 00h are four reserved bytes and must be sent (placeholders), the 03h is the end of transmission, and the 34h and the 33h bytes are the high (BCCH) and low (BCCL) checksums respectively. To calculate the checksums, you must add from the command byte through the end of transmission byte, omitting the start byte. For this Play command we add in hex 40h 00h 00h 00h 00h and 03h. This equals 43h. It is suggested that you use a hex calculator as not to make a mistake. The Windows calculator has a setting for hex which makes this easy to do. Do not add these numbers in standard decimal format with a regular calculator as this will not work.
Once the string has been added, in this case a 43h, we can generate the checksums. To do this, the tens place number "4" is used for calculating the high checksum and the ones place "3" is used for calculating the low checksum. Treat both numbers as ASCII characters and convert them into hex. An "ASCII - 4" equals 34 and an "ASCII - 3" equals 33, therefore the high and low checksums are 34h 33h which is added to the end of the command string.
*Note - If your added string has a value with a hundreds place, ignore the hundreds place when calculating the checksums.
Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY
Вообщем на любую команду через раз ругается "7E FF 06 40 00 00 20 FE 9B EF" Согласно ДШ, если это оный 40h - "Returns an error, request retransmission" С контрольной суммой разобрался вроде, спасибо всем romanetz, придётся приложиться к вашей ссылке-исходнику, ибо пока успехов согласно ДШ нет
зы: может кто подскажет какой продвинутый терминал, ибо ручками остопротивело писать
Это сообщение отредактировал Ferrum-1827 - Jul 21 2017, 02:17 AM
Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY
Идёт возврат "7E FF 06 40 00 00 20 FE 9B EF " и хоть стреляй
Может есть ещё какие дш на оный девайс ?
ps: хоть что-то сходится с ДШ в некой части
CODE
Push in TF card 7E FF 06 3A 00 00 02 FE BF EF //microSD Push out TFcard 7E FF 06 3B 00 00 02 FE BE EF //microSD Включение без MicroCD карты 7E FF 06 3F 00 00 00 FE BC EF Включение с MicroSD картой 7E FF 06 3F 00 00 02 FE BA EF
Это сообщение отредактировал Ferrum-1827 - Jul 21 2017, 06:55 PM
Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY
Ну, с контрольной суммой - вроде всё понятно, оная и там for (int i=1; i<7; i++) За это отдельное спасибо
Тут сейчас другая замануха...не реагирует ни на одну команду, выплёвывает выше ответ через раз и всё... Все команды по ДШ исходника выше, например "Next", но ответ один...
Туплюсь пока, даже не знаю, как быть дальше..
зы: "с кнопки" почему-то запускается 5-й трек, по окончанию выдаёт "трек №5 проигран" и останавливается
Кнопками мотается туда-сюда, но пока несистемно, может вторую папку проиграть...
Нумерация треков сквозная, о чём успешно отписывается в ответе...
Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY
Очередной день возюкаюсь с командами и этим девайсом...
Тема уже конечно ушла от описания...
Тем не менее - что же это за такое западло ?
Есть ДШ, который кривой в сумме = ни один образец из ДШ неверен, если верить логике ответа из модуля
Не хотет отзыватся ни на одну команду. Причём ответ "ошибка 40h" выскакивает ровно в 2 посылки в модуль
Ссылку на код "DFPlayer" я прочитал по диагонали, ибо не увидел ни одного значения "FFh", который требуется вторым байтом посылать
romanetz,из-за закрученной ссылочно-древесной методики определений/программирования на коде С я так и не понял, что же высылается в итоге. Данный пример мне негде скомпилировать
Сможете помочь - просто какой буфер отсылается для просто проиграть трек ?
Это, что получилось принять от модуля...
CODE
7E FF 06 3A 00 00 02 FE BF EF //Вставляем TF card microSD 7E FF 06 3B 00 00 02 FE BE EF //Вынимаем TFcard microSD 7E FF 06 3F 00 00 00 FE BC EF //Включение без MicroCD карты 7E FF 06 3F 00 00 02 FE BA EF //Включение с MicroSD картой
7E FF 06 3D 00 00 0C FE B2 EF //Закончился 012.мр3 в папке 02 7E FF 06 3D 00 00 0A FE B4 EF //Закончился 010.мр3 в папке 02 7E FF 06 3D 00 00 05 FE B9 EF //Закончился 005.мр3 в папке 01 7E FF 06 3D 00 00 03 FE BB EF //Закончился 003.мр3 в папке 01 7E FF 06 3D 00 00 02 FE BC EF //Закончился 002.мр3 в папке 01 7E FF 06 3D 00 00 01 FE BD EF //Закончился 001.мр3 в папке 01
Ошибки 7E FF 06 40 00 00 20 FE 9B EF //чаще всего на любую команду 7E FF 06 40 00 00 04 FE B7 EF //Единичная 7E FF 06 40 00 00 FF FD BC EF //Единичная
Это сообщение отредактировал Ferrum-1827 - Jul 22 2017, 05:37 PM
Я немного поигрался, отличный модуль, с простым и удобным управлением начинал с этого сайта урок , сделал макеткус ардуиной...работает. а вот пример работы, видео Ан-30 стенд
Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY
Столько времени потерял...
После 2-х неверных команд идёт ответ "7E FF 06 40 00 00 20 FE 9B EF" В ДШ описания значения 20h нет, но скорее всего значит - блокировка управления по уарту После которых хоть и правильные команды передаются - ответ один, выше Помогает только выкл/вкл, даже команду 0Ch (сброс) не отрабатывает
Всё как всегда банально просто, некоторые нюансы как грабли
Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY
Хм, странно, но на "7E 03 11 12 EF" реагирует "7E FF 06 40 00 00 03 FE B8 EF" Что по сути 40h - ошибка, а вот что такое 03h - опять в ДШ не кажут ничего
А что это за команда ?
зы: из второго ДШ вычитал "Serial receiving error(a frame has not been received completely yet)" - это когда часто жмякал на передачу
Это сообщение отредактировал Ferrum-1827 - Jul 23 2017, 06:01 PM