День 11
Оновлення прошивки для другої версії адаптера, схема залишається без змін:
1. Бистріше роздупляється і втановлює з'єднання (актуально для Anenji і, можливо, EASUN).
2. Другий світлодіод тепер блимає, не тоді колі від інвертора прийшов запит (як раніше), а коли вже отримана відповідь від батареї. Таким чином можна зразу глянути і сказати чи є конекшен, чи ні (для діагностики).
3. Оптимізував код (ну це не цікаво).
Прошивка:
dyness-adapter-0.2.1.zip
На жаль (чи на щастя), зловив у себе схожий глюк на цьому тижні, який, поки що, не знаю як вирішити. Два рази втрачався зв'язок з батареєю. Абсолютно рандомно, перестають оновлюватися данні, причому, презагрузка ні інвертора, ні адаптера не допомагає. Підєднав комп, зняв логи і виявилося, що інвертор і адаптер в нормі, а от батарея, в якийсь момент, перестає реагувати на будь які команди. Єдине що допомагає - це перезавантаження самої батареї. Тобто виходить, що программа котроллера батареї також далека від ідеалу і також може бути причиною таких глюків.
В принципі, якщо модулів у батареї більше одного, то це не велика проблема. Наприклад Anenji видасть 19 помилку і буде пищати, підійшов, виключив-включив один модуль і все знову працює як і раніше.
А от з Daxtromn і іншими клонами такий фокус може не пройти. Справа в тому, що Daxtromn запамїятовує останні данні отримані з батареї, і далі, якщо данні не надходять, то він ніяк на це не реагує продовжуючи роботу. І цілком можлива ситуація, коли показує, що заряду лишилося 90%, а насправді вже 10%.
Виникла ідея відстежувати конкретно цей кейс у самому адаптері і, наприклад, якщо за 10 спроб не вдалося отримати респонс від батареї, то відправляти інвертору фейковий респонс у якому буде SOC скорегований до 10%. Тоді, згідно інструкції, інвертор запищить і видасть попередження з кодом 06 (The battery is low warning). Його можна буде почути і ресетнути майстер-модуль батареї. Принаймі буде хоч якийсь захист від втрати зїеднання. Тому будуть нові оновлення...