Показать сообщение отдельно
Старый 30.09.2019, 01:06   #8067 (permalink)
Завсегдатай
 
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
По умолчанию

Благодаря логам любезно предоставленным SerjP и бесконечного числа экспериментов с таймаутами и протоколами LMX9830 и SYS54, мне наконец удалось реализовать вход в параметры в EDICConfig, функцию Reset to defaults, изменение параметров энергосбережения и динамика, чисто программным путем (без использования каких либо микросхем, диодов и т.п.)

Впереди еще реализация функций сохранения изменений PIN, bluetooth имени и security mode, но это дело техники.

Для полного счастья (читайте феншуя) не хватает разобраться с PG6.
Как я уже сообщал ранее, я запаял перемычку между PG6 infineon и PIO9. PIO9 я запрограммировал держать низкий уровень на PG6 Infineon до того момента, как установлено соединение по bluetooth (при этом светодиод мигает с интервалом раз в секунду). Когда соединение установлено, я устанавливаю PIO9 в 3В (светодиод горит постоянно).

Если перемычку не паять, на PG6 всегда высокий уровень и Infineon считает что соединение всегда установлено (всегда горит светодиод). Соответственно он не может уйти в спящий режим даже если его включить в настройках.

Управление PG6 как бы решает задачу спящего режима, но вот незадача, если я при разрыве соединения устанавливаю PG6 в низкое состояние и пробую сразу повторно соединиться (открыть порт bluetooth), установить соединение не удается (завершается ошибкой, не удалось открыть COM порт).
Если сделать еще одну попытку, порт открывается отлично. Но!
EDICConfig когда записывает параметры, делает это в несколько действий:
1. Открывает порт, считывает текущие параметры и закрывает порт
2. Открывает порт, записывает текущие параметры, закрывает порт
3. Открывает порт и читает текущие параметры еще раз

и вот если я управляю PIO9 (держу его при дисконнекте в низком состоянии), EDICConfig не удается повторно соединиться (п.3), а так как повтора попытки в нем нет, он или подвисает или выдает ошибку.

Если я не управляю PIO9, проблем с повторным соединением после закрытия и открытия порта bluetooth нет. Но естественно все время горит светодиод и не работает спящий режим.

Следовательно у меня вопрос к владельцам оригинала:
1. При подаче питания через OBD2 разъем (если по bluetooth еще не соединялись), какое напряжение на PG6?
2. Начинает ли мигать светодиод сразу же если закрыть компорт? Для проверки этого, необходимо открыть порт bluetooth например в том же HTerm или RealTerm, послать hex байты f0 f1 f2 f3 (без перевода строки). Светодиод должен гореть постоянно). Закрыть COM порт и проследить за светодиодом.

Последний раз редактировалось lprot; 30.09.2019 в 01:15..
lprot вне форума   Ответить с цитированием