DF Player mini (MP3-TF-16P)мои грабли

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Всем привет

Уже несколько дней тыкаюсь (надо подразумевать ещё неделю потыкаться)

Пытаюсь одолеть оный модуль, изначально всё упиралось в checksum, потом стало интереснее, когда ДШ не сходится с практикой

Про сумму начиналось тут

Про команды продолжил тут

Всё же хочется запустить девайс от uart

Гипотетические понятия и домыслы приветствуются, ибо кроме кривого ДШ и ответов от модуля на руках больше ничего нет

Подскажите, что же за это ?
Заранее спасибо

зы: и что значит
"Format: $S Ver. Number Command Feedback Param_MSB Param_LSB Check_MSB Check_LSB $O

Number Number of bytes from version info to Check_LSB, typically 0x06 (checksum not counted)"

Якобы не считается checksum для 06 ?

Ведь в ДШ явные противоречия !

Подскажите, как правильно, пока факир на забанил
Изображение
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

проверить в терминале делов на 2 минуты, в первом сообщении я выкладывал нормальный даташит.
Якобы не считается checksum для 06 ?
НЕТ!, 06 это длина посылки в которую не входят байты контрольной суммы
Отправляйте команды, только два байта контрольной суммы не посылайте и все будет работать, если будут два байта контрольной суммы модуль будет проверять сумму, т.е. начало передачи (7E) потом 6 байт и конец передачи(EF)
Понятно?
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Эмм..проверил по фото - 4R7, 10к
Не получилось загрузить фото на форум...
https://mega.nz/#!0xQnXRIB!BzHtAU7an7yl ... JreR7vwgs4

Из ДШ
For example, if we specify playback of SD card, we need to send the command “7E FF 06 09 00 00 02 FF F0 EF”.
The number is 6 bytes, and these 6 bytes are “FF 06 09 00 00 02”. Start byte, end byte and checksum are not
counted.

В моём случае получается FEF0h, судя по ответам из девайса считается имеено так...хз

Можно, просто подскажите, как проиграть трек и -/+ трек

Какие команды с суммами ?

Спасибо !
Изображение
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

Аааа, забей про контрольные суммы! модуль и без них прекрасно работает
Что ж вы мозг себе взрываете?
7E FF 06 09 00 00 02 FF F0 EF это типо с контрольной суммой, а надо слать вот так
7E FF 06 09 00 00 02 EF
это просто пример хз какой команды
Последний раз редактировалось Mishany Сб июл 22, 2017 18:18:44, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Я бы рад, но так не работает - на все команды огрызается "7E FF 06 40 00 00 20 FE 9B EF"
Причём в ДШ есть упоминание после 40h только 01h 02h 03h
Из уарта ни один раз не сработала команда

Сейчас ещё раз ваш ДШ просмотрю...
Изображение
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

открой мой даташит и от туда копируй команды с контрольной суммой или без,
в кетайском ДШ ошибка в расчете контрольной суммы вот и не работает никуя,
7E FF 06 01 00 00 00 FE FA EF трек+
7E FF 06 02 00 00 00 FE F9 EF трек-
еще раз настройки уарта проверить
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

На Next 01h у меня на видео команда с суммой FEFEh и без неё - одинаковый отзыв - оная самая первая сверху
https://youtu.be/PMrfNdTQMJU

Контрольные суммы понятны из ответов самого модуля, они разняться с ДШ - но это не проблема
Не работает модуль, не принимает команды,
выдает ответ 40h ... 20h

Не хочет оный отзываться....

Просмотрите, пожалуйста мои потуги по ссылкам....
Наверное, я все варианты перепробовал...
Изображение
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

пути смотрел, даташит неправильный там.
см. уровни уарта должно быть 3.3в
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Иметься-улыбаться...После двух неправильных посылок приходит ответ "7E FF 06 40 00 00 20 FE 9B EF"
И до выкл/вкл питания не реагирует больше даже на правильные посылки, ответ только как выше...столько времени прошло...
По уровням uart-работает от 5В вроде не плохо, отказов не было

Огромное спасибо, наконец одолел
Изображение
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

В чем косяк то был?
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Даже стыдно сказать....в терминале между $7E $FF..." стоял пробел, что видимо и выдавал терминал как 20h в ошибке (32 - пробел)
2 раза отсылаю, идёт возврат и всё, после этого только питание отключать

ещё нюанс - пока присматриваюсь = засыпает модуль через несколько минут бездействия, с первой команды "играй" - не хочет....
пробую пока его будить "0Bh", в некоторых ДШ оного нет
в некоторых "0x0B Normal working"
сбросом также не всегда просыпается....

Когда спит - отвечает "7E FF 06 40 00 00 03 FE B8 EF" "Serial receiving error(a frame has not been received
completely yet)" - и всё )))

upd: после сна достаточно 09-02 (выбор SD карты) и девайс просыпается, отзывается на команды :music:
Изображение
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Всех привет. Столкнулся с проблемой возвратных значений от модуля...
Чего-то его прёт минимум выдавать 2 раза, но иногда и поболее...
Отдаю команду "играть в такой-то папке такой-то трек" - всё отрабатывает, играет.
Если ставлю "эхо" - также возвращает, мол "команда принята успешно".

Код: Выделить всё

$7E $FF $06 $14 $01 $30 $03 $FE $B3 $EF
Но вот после окончания - выдаётся гора однотипных сообщений, мол "трек успешно проигран"...

Код: Выделить всё

7E FF 06 3D 00 00 57 FE 67 EF
Видео https://youtu.be/T1ZL79YHhvY

Мне нужно отслеживать как начало, так и окончание...но не c таким же спамом, причём на разные треки разное количество ответов...

Что делать ?

Спасибо
Изображение
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

может глюк терминала? либо модуль ждет подтверждения принятия сообщения
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

По терминалу врядли, а вот про confirm требование от модуля - не вычитал в ДШ...

Можете подсказать ?
Изображение
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

ну хз, что там за косяки, либо трудности перевода, но вот понять можно по разному
1). There is a returned data after a track is finished playing. For example, the returned data is 7E FF 06 3C 00 00 01
xx xx EF. 0x3C represents USB flash and 0x3D represents SD card. 0x00 and 0x01 represents the 1
st track. 0x01
and 0xF4 represents the 500th track(0x01F4=500).
2). Because all of the files(tracks) in the storage device are read in physical sequence, the returned data still follow
the physical sequence, which needs to be noted.
2). Поскольку все файлы (дорожки) на запоминающем устройстве считываются в физической последовательности, возвращаемые данные все еще следуют
физическую последовательность, которая должна быть отмечена.
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Да, читал про этот пункт, но связи с "note" не нашёл...

Сегодня немного потыркался, только на указание определённого № трека идёт ответ 2 раза, один раз при каждом цикличном воспроизведении трека

В остальных случаях по указанию папки/файла - от 4-х до (10 или сколько там) повторных ответов без закономерности...как думается - таким количеством и отвечат

Может есть какая лазейка (мол CPU принял, спасибо...дальше не нужно 10 раз слать) ?

По ДШ какой ногой дёрнуть не увидел, такой команды также...

Или просто по приёму "первого ответа - мол всё проиграло" - сбрасывать командой ?

Спасибо

зы: попробую после первого ответа дать сброс...просто если поток ответа летит безостановочно (сегодня узнаю) - то смысл давать ответ, если во время ответа уже несколько блоков прилетят...

Видео, где заметны разные количества ответов (цифровой шум - ответ от модуля)
https://youtu.be/XrU8YGVIfM8

Добавлено after 1 hour 37 minutes 46 seconds:
Если использовать

Код: Выделить всё

$7E $FF $06 $0F $01 $01 $01 $EF
ака 00/ххх для 255 файлов - то всё равно возвращает от 2 до 10 команды


Подскажите что по делу, спасибо.

Вот видео, как реагирует...что ххх не так ?
https://www.youtube.com/watch?v=dEWvvO2ks68
Последний раз редактировалось Ferrum-1827 Пн сен 25, 2017 08:54:37, всего редактировалось 1 раз.
Изображение
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

может глюк китайского клона все таки....
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

Тоже так думал, но из 4-х модулей все ведут себя одинаково...

Питание вертел, по линии управления различные варианты пробовал - всё одинаково

Програмно - даже не знаю, что ещё ему присунуть...
Изображение
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

У меня тоже все 4 модуля бракованые были)))) см. 1 сообщение
Встал на лапы
Аватара пользователя
Сообщения: 130
Зарегистрирован: Чт янв 05, 2012 23:47:20
Откуда: BY

Сообщение Ferrum-1827 »

По поводу первых ваших сообщений - смотрел, чуть ранее отписывал
Синий индикатор, по элементам всё совпадало...

Сейчас снял логическим анализатором приём в модуль (2-й канал) и его ответ (1-й канал)
https://www.youtube.com/watch?v=6Do2zeOw05s
Сам файл с анализатора, врядли чем поможет...но хз, вдруг какие мысли...
Изображение
Ответить

Вернуться в «Периферия»