Поддержу.
Есть большой внутренний сишный продукт, где вручную написано ООП (наследование, полиморфизм, перегрузка) и куча диких макросов, потому что иначе 99% кода будет обёрткой над 1% логики. Это к тому, что Си многословен для высокоуровневых действий. Наверное, 20 лет назад плюсы не годились для эмбеда, поэтому выбрали си.
И есть драйвера 300-500 kloc от разных восточных друзей, с функциями на 10-20 kloc. Это к тому, что, программисты, способные написать сложный драйвер, не способны сделать это хорошо.
Рабочее место на кухне без двери в доме с маленьким ребёнком — вот это настоящий ужас. Кухня просторная, а в спальнях кроме кровати мало что помещается. Но проходной двор и бесконечные детские вопли на всё квартиру.
Не мог найти подходящий мне todo-менеджер, в итоге сам написал под свои запросы примитивную консольную утилиту для списка дел: она не идеал, но подходит мне лучше другого.
Интересно было бы глянуть, чем отличается от существующих?
По-моему, надо смотреть не на процесс, а на результат. И написание/использование кода — лишь один из способов результата достичь.
Вот я неделю читал код драйвера, добавлял отладку, тестировал. В итоге решил проблему двумя строчками. Две строчки за неделю = нулевая производительность/польза. Работающее устройство = довольный клиент, новые заказы, развитие компании.
На борту будет только MAC, PHY обойдётся ещё в 1-2 доллара. Затем нужно будет притащить в прошивку TCP/IP стек. В случае с W5500 можно просто забирать данные из буфера. Да, менее фичасто, но для данной задачи — вполне достаточно. А при желании можно обойтись восьмибитником.
Напишите, я бы с удовольствием почитал. А то, что TDD — не серебрянная пуля… ну нет её. И то, что он не решает всех проблем не значит, что нужно страдать из-за тех, которые он мог бы решить.
У них есть другая микросхема зарядника, там внутри мк и большой флэш с параметрами. Так вот, в документации описано назначение областей памяти, но нет адресов. Где их брать? В программе BQ Studio, но чтобы их там увидеть, надо залезть в настройки и включить галочку «расширенный вид». И один хрен пришлось логическим анализатором прослушивать i2c чтобы понять как именно этот флэш читать-писать.
MX Ergo великолепен.
Для тех, кому лень искать:
Металлическая пластина снизу просто примагничена. За счёт этого трекбол имеет два положения — заваленное наружу, как на рисунке, и почти горизонтальное. Очень удобно.
А есть точные цифры? Миллионы роутеров (MIPS) и смартфонов (ARM) могут не согласиться.
Есть большой внутренний сишный продукт, где вручную написано ООП (наследование, полиморфизм, перегрузка) и куча диких макросов, потому что иначе 99% кода будет обёрткой над 1% логики. Это к тому, что Си многословен для высокоуровневых действий. Наверное, 20 лет назад плюсы не годились для эмбеда, поэтому выбрали си.
И есть драйвера 300-500 kloc от разных восточных друзей, с функциями на 10-20 kloc. Это к тому, что, программисты, способные написать сложный драйвер, не способны сделать это хорошо.
Ещё и с картинками накосячили. Долго не мог понять почему две одинаковые.
Интересно было бы глянуть, чем отличается от существующих?
Вот я неделю читал код драйвера, добавлял отладку, тестировал. В итоге решил проблему двумя строчками. Две строчки за неделю = нулевая производительность/польза. Работающее устройство = довольный клиент, новые заказы, развитие компании.
Я не настоящий программист, но всегда думал, что машинный код — он не на C++.
Для тех, кому лень искать:
Металлическая пластина снизу просто примагничена. За счёт этого трекбол имеет два положения — заваленное наружу, как на рисунке, и почти горизонтальное. Очень удобно.