Category: архитектура

Category was added automatically. Read all entries about "архитектура".

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
Костерок

RTS2

Вчера наконец-таки в базовой сборке RTS2 правки закончились: она собралась! Сделал коммит в свою ветку и отправил пулл-риквест Кубанеку. Хотя, конечно, сомневаюсь, что он возьмет, да примет пулл-риквест на несколько сотен файлов "за присест"...
Самым популярным было не использовать аргументы функций. И если в крестах это можно попытаться объяснить наследованием (в дочернем классе эти аргументы могут использовать), то в сишных файлах это вообще никак не объяснимо!
Несколько пропусков break внутри case наводили на мысль, что это реально пропуски, а не "так и надо" (хотя, надеюсь, я не прав). Была еще парочка UB и парочка грубых ошибок.
А еще очень много всякой deprecated штуковины: зачем-то в С++ используется glib (!!!), да еще и старая его версия. За каким-то чертом используются libsoup и многие подобные ненужные вещи. Похоже на то, как из жирафа и носорога решили сделать слона: там отрежем, здесь подошьем, ну а на всякие торчащие посторонние вещи внимания обращать не будем!
Очень "весело" собирать на современной системе то, что, похоже, кроме как на компьютерах десятилетней давности никогда не собиралось.
Я уж молчу об идиотских автотулзах вместо cmake!
Но писать с нуля все это — просто нереально! Получается как бы: хочешь построить небоскреб, но понимаешь, что не осилишь; зато рядом стоит "вавилонская башня" из говна и палок. И ты начинаешь потихоньку перестраивать эту "башню" под себя, надеясь, что она не развалится в самый неподходящий момент!
Костерок

Офигеть, "прогресс"

Весь день убил (правда, было еще несколько отвлекающих факторов) на компиляцию avr-toolchain, запуск демо в среде ардуино (не зря, оказывается, я себе эту безделушку купил: на ней можно будет отлаживать код для динозавра ATmega8535) и запуск простейшей мигалки отсюда.
Ну да ладно: STM8 и STM32 намного тяжелее шли! Правда, здесь еще надо будет с архитектурой познакомиться, но, сдается мне, что хватит тупейшего ногодрыга (такой древности, как плата управления первым SCORPIO, я еще не встречал! Надо же додуматься шаговиками рулить, формируя полную диаграмму, а вместо ключей используя ТТЛ-логику "И-НЕ" на 155-х!).
Судя по схеме, больше одного ШД одновременно работать не может, импульсы подаются на все двигатели сразу, а выбор конкретного двигателя определяется подачей нуля на соответствующие логические элементы.
В пятницу посмотрю, что там нагородили внутри... Явно, в новой схеме нужно будет идти по пути миниатюризации (движки жрут мало, можно какие-нибудь совсем малюсенькие драйверы ШД использовать) и перво-наперво гигантские трансформаторы заменить на 15-амперный импульсный БП на 12 Вольт.
Костерок

КОИ8-Р в бубунте

Понадобилось мне на нетбук на работе поставить хоть какой-нибудь линукс. Т.к. с гентой заморачиваться на i686 смысла нет, а компилять отдельно в чруте на 32-битную архитектуру уж совсем не хотелось, я решил поставить эту гадость. Чувствую, конечно, намучаюсь я с ней (скажем, как инит-скрипты свои писать с ненужноД?)...
Ну, а пока в консольке захотелось нормальную локаль поставить. locale-gen сгенерировал локаль, в /etc/default/locale воткнул
LANG=ru_RU.koi8r
LC_NUMERIC="C"

немного подправил console-setup и ничего... Помучавшись немного, нашел здесь, что нужно запустить "мантру"
dpkg-reconfigure console-setup

Потыкал галочки, и все заработало. Да уж, чужда бубунта...
// сижу, устанавливаю пакеты разработки. С гентой так мучиться не надо было бы... А тут даже заголовочные файлы для ведра надо отдельно ставить!
hram nauki

JSON для БТА

Намучавшись с тем, что хитрые свичи периодически блокируют мультикасты с БТА, я решил написать простенький демон, который будет держать открытым сокет (я выбрал порт 12345 — легко запомнить) и отплевывать клиенту нужную информацию в JSON-файле. Таким образом сразу убиваются два зайца: во-первых, теперь соединение не зависит от желания свиче; а во-вторых, представление данных в виде JSON, а не бинарной структуры, позволяет сразу решить проблему архитектуры (разрядность и остро/тупоконечность), с которой я уже сталкивался, когда пытался запустить демон, слушающий мультикасты, на своих 64-битных системах.

Как обычно, все выложено на сосфорж. Правда, я решил прекращать это пложение проектов, и сделать один большой проект под названием BTA_utils, в поддиректории которого и пихать всю эту мелочевку.