Ofront+, DIY-часы… и «малина» знает время
За полгода пользования «малиной» (RPi3b) понял — надоело каждый раз по включении вводить дату-время. Штатно «малина» время не хранит, посему из наличной комплектухи были сделаны вот такие часики:
Автономные часы сделал на древней мс ds1302 (проверил с микроконтроллером MSP430 — работают, но там ассемблер и всё в моих руках); вот теперь идёт процесс разбирательства с инструментом (Ofront), c ОС (Raspbian) и wiringpi. DS1302S микросхема древняя, её интерфейс (3Wire) аппаратно «малиной» не поддерживается — пришлось делать «ногодрыгом». Библиотека работы с портами ввода-вывода wiringPi (by Gordon Henderson) на «малине» была уже «из коробки» и обёртка к ней оказалась в составе системы Ofront Йозефа Темпля. Всё бы хорошо, но в модуле Unix нет реализации вызова системной функции system — нечем установить время в системе. Ofront: кириллицы нет, «_» буквой не является — читаемость идентификаторов негодная; тачпад в BT-клавиатуре 2-х кнопчатый, заявленный левый Ctrl средней кнопкой не работает; приходится перетыкать мышь и клавиатуру от ПК. Беззнаковых целых и побитовых логических операций в Oberon-2 нет — горожу «городушки». Это при том, что ARM эти типы и операции умеет нативно. ОС: то переменные среды не определены, то права доступа не те. Не быстро всё продвигается.
Глянул на Ofront+: автор (Oleg N. Cher) любезно сделал порт на ARM, любезно и терпеливо доработал транслятор в соответствии с ComponentPascalLanguageReport, помог с адаптацией модулей WiringPi и Platform (аналог Unix) к КП.
Т.к. Компонентный Паскаль — боевой диалект офронт+, стал я переделывать свои программульки на КП. Пользуюсь, как основой, Component Pascal Language Report. Забрал офронт+ свежего замеса, собрал «экзешники» и библиотеку. Подключил часы к «малине» — работают-читаются в sys-режиме, но не без косяков (но это к офронту+ не относится — надо будет смотреть осциллографом).
Большое спасибо. Вот реально. Тронут, можно сказать… вниманием к запросам моей, в общем-то (вписать нужное), персоны. Ну а по поводу выбора Ц: «не созданы мы, зайцы, по деревьям лазать». Если уж с университетских времён паскаля хватало, то и теперь перетопчемся. На Ц программил один проект микроконтроллерный, но от «криптосинтаксиса» евонного с души воротило; на electronix.ru редкий месяц не бывает срачей на тему «количества чертей на острии иглы» — мутное всё.
И ещё про малину: вместо SublimeText (его нет для арм) была предустановлена IDE Geany — вполне себе многооконный редактор, с подсветками синтаксиса. Собрал я из исходников её свежую версию — нормально. И главное: в редакторе есть свойство, которое не видел с ’94, с микровакса — скроллинг начинается на заданном числе строк сверху\снизу, т.е. курсор, пока можно, никогда не доходит до границы экрана и всегда видны несколько последующих\предыдущих строк.
КП, конечно, гениальная штука, но только если точно знаешь, что железо работает исправно: всё было отсмотрено под отладчиком (jtag) в IAR для MSP430. Тактовая 8 МГц, ОС никакой нет, только тот код, что сам себе сочинил; на любом месте можно остановиться, любую переменную\адрес в памяти посмотреть\руками поменять. Красота.
Всё, теперь «малина» всегда «при часах».
Исходники для желающих отрецензировать 😉
А Ofront+… ну слов нет — ВЕЩЬ!!!
Вообще, жизнь постепенно меняется. Возможно, что в какой-то момент Оберон станет очень востребованным, если вопросы надёжности кода встанут на первое место.
С наилучшими пожеланиями,
Валерий Артёмов,
Воронеж, Россия.