• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

JL SoC

8465

Member
Возможно, следует где-то тут поискать:
[/CODE]
Искал, там все четко. Переменные все записываются правильно в любом случае. Записываются они в область памяти, которая при софтресете сохраняется. После софтресета вызывается вышеуказанная функция и в param_result уже ошибка. Что происходит сразу после ресета и до запуска main, покрыто тайной. По логике, считывается флаг, путь до файла и производится его копирование, а если флешка не найдена, то ошибка 5а04. Вот и главный вопрос, ватафак, ведь флешка на месте? И как связаны некие свойства мп3 файлов с инициализацией файловой системы, эти мп3 в рабочем режиме играют, как и остальные. С какими то мп3 все проходит гладко, а какими то 5а04.
 

beacon

Member
в param_result уже ошибка.
Какая именно ошибка?
И как связаны некие свойства мп3 файлов с инициализацией файловой системы, эти мп3 в рабочем режиме играют, как и остальные. С какими то мп3 все проходит гладко, а какими то 5а04.
Боюсь, на этот вопрос тут вряд ли кто ответит. Там же и fs и sdmmc в библиотеках.
Можете, конечно, попробовать эти либы разобрать и декомпилировать...
 

8465

Member
Какая именно ошибка?
Вот эта 5а04 - UPDATA_DEV_ERR вместо желаемого 5а02 - UPDATA_SUCC. А до софтресета там 5а01 - UPDATA_READY.

И что явно заметно, когда прошивка неудачна, в логе всякий раз разный start cluster при инициализации файловой системы. И еще такая штука, если при софтресете успеть в нужное время передернуть флешку, то все проходит удачно. Что говорит о том, что инициализация неверная, либо она успевает как-то сброситься, а при передергивании инициализация опять происходит и весьма шустро.
 

beacon

Member
И что явно заметно, когда прошивка неудачна, в логе всякий раз разный start cluster при инициализации файловой системы. И еще такая штука, если при софтресете успеть в нужное время передернуть флешку, то все проходит удачно. Что говорит о том, что инициализация неверная, либо она успевает как-то сброситься, а при передергивании инициализация опять происходит и весьма шустро.
Ну дак, какой-то косяк в либах.
Можно только гадать, либо попытаться всё-таки декомпилировать.
 

8465

Member
Пока пытаюсь найти как сделать хард ресет вместо софт ресета. Есть такая ф-я? Что-то не могу найти пока.
 

8465

Member
Сейчас дежурный вариант - программное отключение флешки - dev_power_ctrl(usb, DEV_POWER_OFF) перед софтресетом. Кажется работает, но надо проверять на разных флешках. Пока работает доже без мп3 и быстрее стало.
 

8465

Member
Ну дак, какой-то косяк в либах.
Можно только гадать, либо попытаться всё-таки декомпилировать.
Косяки там на каждом шагу. Кажется из-за наслоении проектов, когда на основе одного проекта делают другое, потом третье и тд. И получается длиннющая матрешка, когда структура в структуре в классе в структуре в классе в структуре. Гадать можно вечно, метод научного тыка не работает. Декомпилировать, это слишком большой объем работы, хотя и надежный, как лом. Один выход - мозговой штурм, желательно коллективный.
 

beacon

Member
Гадать можно вечно, метод научного тыка не работает. Декомпилировать, это слишком большой объем работы, хотя и надежный, как лом. Один выход - мозговой штурм, желательно коллективный.
Ну дак, если dev_power_ctrl(usb, DEV_POWER_OFF) работает - то вполне годный фикс. Хард ресет-то зачем? Там же какие-то переменные сохраняются...
 

8465

Member
Ну дак, если dev_power_ctrl(usb, DEV_POWER_OFF) работает - то вполне годный фикс. Хард ресет-то зачем? Там же какие-то переменные сохраняются...
Хотелось чтоб наверняка. И к тому же интересно, сбрасывается ли область памяти updata param при полном выключении. Подозреваю, что нет и её можно как-то ещё использовать при надобности как альтернатива vm.
 

beacon

Member
Хотелось чтоб наверняка. И к тому же интересно, сбрасывается ли область памяти updata param при полном выключении.
Есть подозрение, что полное выключение - это именно выключение; ну можно подёргать enter_sys_powerdown_mode или enter_sys_poweroff_mode, уж хз, в чём разница, они в либе запакованы.
 

8465

Member
Вот чего нашел:

"AC692X имеет три режима пониженного энергопотребления: Idle/Standby/Sleep с разной глубиной. В этих трех режимах с низким энергопотреблением WDT по-прежнему работает нормально.Если программное обеспечение не может продолжать кормить собаку, система все равно будет сброшена WDT. Чтобы избежать этого, выключите WDT перед переходом в режим пониженного энергопотребления."

Из этого можно сделать перезагрузку.
 

8465

Member
Есть еще вопрос. Надо во время работы блютуз скидывать лог на флешку, а она через 5 сек последнего обращения становится не видимой. Я пока каждые 4 сек сканирую ее, не даю ей заснуть. Хотелось бы сделать по уму. Почему она засыпает или отключается и как это прекратить?
 

pvvx

Активный участник сообщества
Вот эта 5а04 - UPDATA_DEV_ERR вместо желаемого 5а02 - UPDATA_SUCC. А до софтресета там 5а01 - UPDATA_READY.

И что явно заметно, когда прошивка неудачна, в логе всякий раз разный start cluster при инициализации файловой системы. И еще такая штука, если при софтресете успеть в нужное время передернуть флешку, то все проходит удачно. Что говорит о том, что инициализация неверная, либо она успевает как-то сброситься, а при передергивании инициализация опять происходит и весьма шустро.
Ошибки в работе ПО с флешкой. Тайм-ауты неверные, древний каталог FAT содержит много удаленных файлов и поиск чего либо задерживается... И т.д. = китайское ПО-г...но.
 

pvvx

Активный участник сообщества
Есть еще вопрос. Надо во время работы блютуз скидывать лог на флешку, а она через 5 сек последнего обращения становится не видимой. Я пока каждые 4 сек сканирую ее, не даю ей заснуть. Хотелось бы сделать по уму. Почему она засыпает или отключается и как это прекратить?
Написать собственный код для чипа с нуля с bootloader-а для какого-го нужного всем устройства, да с новыми фичами, скинуть на github и молиться что появятся хоть пару человек ковыряюших ваш код, а не тупо записывающих в чип. Если вам так любим этот чип - других вариантов ныне нет.
 

pvvx

Активный участник сообщества
Чем вам т.н. SDK не "пример"? вполне рабочий код.
Тот, что для 692N серии - так уже даже и неплохо структурирован.
Нет и намека на BT5.0 в SDK и доки 2014 года - в момент выхода BT4.2.
16 июня 2016 года Bluetooth Special Interest Group (SIG) представила спецификацию Bluetooth 5.0
Нет поддержки USB2.0HS - необходимо искать древнюю USB-Flash.
Т.е. чип и SDK морально и физически устарели ещё лет 5 назад.
 

beacon

Member
Нет и намека на BT5.0 в SDK и доки 2014 года - в момент выхода BT4.2.
Вы, во-первых, не удосужились даже посмотреть даташиты - но при этом собственное неведение пытаетесь выдать за "недостатки" чипа 🤦‍♂️
AC690N:

Bluetooth Feature


Compliant with Bluetooth V4.2+BR+EDR+BLE specification


AC692N:

Bluetooth Feature


Compliant with Bluetooth V5.0+BR+EDR+BLE specification
А во-вторых, зачем-то виляете, как та профурсетка перед клиентом:
Т.е. чип и SDK морально и физически устарели ещё лет 5 назад.
Какое это имеет отношениие к якобы отсутствующим "примерам кода"?🤦‍♂️ 🤦‍♂️ 🤦‍♂️
 

beacon

Member
Есть еще вопрос. Надо во время работы блютуз скидывать лог на флешку, а она через 5 сек последнего обращения становится не видимой. Я пока каждые 4 сек сканирую ее, не даю ей заснуть. Хотелось бы сделать по уму. Почему она засыпает или отключается и как это прекратить?
Подозреваю, что 5 сек. могут быть внутренней задержкой в ф-ии dev_power_ctrl(sd0, DEV_POWER_OFF), которая дёргается из dev_power_off_spec_dev(dev_handle), которая вызывается в конце file_operate_dev_sel.
Но могу и ошибаться, сильно копаться лень.
Вообще, сами же китайцы рекомендуют для понимания кода Source Insight, а не этот ублюдочный CodeBlocks, от которого польза только в том, что там пути к либам и postbuild уже прописаны. Что собственно можно было в нормальный makefile запихать.

У меня вот встречный вопрос: вам код-то для 692х удалось без вырезания жизненно важных "органов" до необходимых 512К ужать? У меня что-то даже с отключением RF и заменой mp3 либы на старую (меньшего размера) в своё время не получилось (потом забил и дальше уже не пробовал).
 

8465

Member
У меня вот встречный вопрос: вам код-то для 692х удалось без вырезания жизненно важных "органов" до необходимых 512К ужать? У меня что-то даже с отключением RF и заменой mp3 либы на старую (меньшего размера) в своё время не получилось (потом забил и дальше уже не пробовал).
Место освободил за счет обрезки китайских шрифтов. Штатно они 252 кб занимают. После обрезки 214 байт. Еще звуки убрал. Пока проблем не испытываю с нехваткой места.
 
Сверху Снизу