Термодатчики ГЗ БТА
![топ 100 блогов](/media/images/default.jpg)
Оказалось, что пострадала флешка. После fsck одноплатник загрузился и даже USB заработали (а я уж думал, что физически сдохли), однако, некоторые библиотеки оказались побитыми. Попытка их переустановить не увенчалась успехом, т.к. еще и база пакетов пострадала. Ну, пока что работает без веб-морды, только выдает температуры по запросу на сокет. А я сел дома отлаживать косяки, т.к. упомянутая проблемка сводилась к тому, что МК почему-то перезагружался после первой пары принятых данных по CAN. Нашел несколько мест, где он мог уйти в хардфолт или вынудить watchdog его перезагрузить. Заодно решил немного причесать код.
Сразу отмел идею сменить "движок" USB на последний (с циклическими буферами): слишком долго переделывать. Хочется еще отладки по CAN добавить, надо подумать, как завести еще пару конечных автоматов для этой цели. Ну, а еще бы и CAN сделать не поллингом, а прерываниями - но это уже когда-нибудь буду над преобразователями USB-CAN издеваться (т.к. там выплыла проблема, что на скоростях в мегабод и выше поллинг просто не успевает фиксировать все входящие сообщения, даже если CANовский циклический буфер увеличить).
А с одноплатником чуть позже разберусь: надо будет на новую флешку опять армбиан развернуть и поднять весь нужный софт. Но уже сказал администрации, что таки надо нормальный компьютер купить, тысяч за 20, чтобы таких проблем не было. Да и там уже можно будет развернуть полноценный Calculate, а не гребаную бунту. Ну и веб-морду когда-нибудь приличную сделать (не на баш-скриптах, а полноценную, еще и с проверкой пароля - чтобы управлять вентиляцией зеркала; ведь мы в дальнейшем туда еще и кондиционер хотим добавить, придется и органы управления им в веб-морду выносить).
|
</> |