Недавно я показывал свежеспаянные устройства: Теперь я хочу рассказать о программной части этой железки. Весь функционал реализован в виде прошивки для Atmel ATmega168(хотя это мог быть и ATmega8/16/88/328 - вопрос только в достаточном размере Flash). Весь код реализован на ассемблере, в качестве основы использовалась открытая операционная система реального времени core5277 и закрытая прослойка для моей линейки устройств. Операционную систему вы можете посмотреть и скачать здесь core5277. Закрытая часть включает в себя: - бутлоадер с возможностью расшифровки и записи во FLash зашифрованной прошивки передаваемой по UART - собственный протокол в основе которого лежит modbus, но с существенными доработками - функционал ведения истории событий - базовые, общие функции, для всех устройств типа перезагрузки, сброса настроек, полного сброса настроек, предоставление общей информации, чтение и запись настроек(в том числе и с участием EEPROM) и многое, многое другое - управление несколькими реле