Как стать автором
Обновить
11
0
Стулов Тихон Сергеевич @Kudesnick33

Разработчик встраиваемых систем

Отправить сообщение

«Правила роста: от джуниора до CTO», конспект вебинара Фёдора Борщёва

Время на прочтение6 мин
Количество просмотров13K

Фёдор Борщёв — CTO в маркетплейсе стройматериалов «ГдеМатериал», сооснователь rumetr.com и популяризатор чистоты кода. Пишет в блог, телеграм-канал @pmdaily и в советы о разработке в Бюро Гобрунова.


Я сейчас меняю работу — со средней позиции менеджера по логистике на позицию полного джуниора в аналитике данных. И, чтобы срезать пару углов на новом карьерном пути, посмотрел вебинар Фёдора и сделал его конспект. Мне кажется, что советы Фёдора будут интересны другим, поэтому публикую конспект.


За три часа Фёдор прошёлся по темам:


  • управление проектами;
  • общение с людьми;
  • продукт и бизнес;
  • личные цели.

Читать дальше →

ACPI: Добавление устройств без перекомпиляции ядра

Время на прочтение4 мин
Количество просмотров5.3K
Как выясняется, далеко немногие знают о существовании режима оверлеев в ACPICA и их поддержки в ОС Linux. Я хочу восполнить этот пробел на примере добавления ведомых устройств I2C в систему без перекомпиляции.
Читать дальше →

Полуавтоматическая регистрация юнит-тестов на чистом С

Время на прочтение4 мин
Количество просмотров8.8K
После прочтения книги Test Driven Development for Embedded C я начал знакомство с миром юнит-тестирования с фреймворка cppUtest. Не в последнюю очередь потому, что в нем свеженаписанный тест регистрируется и запускается самостоятельно. За это приходится платить — использованием C++, динамическим выделением памяти где-то в глубинах фреймворка. Может быть, можно как-то попроще?
Совсем недавно я узнал о минималистичном фреймворке minUnit, который умещается всего в 4 строчки.
Читать дальше

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortex M4

Время на прочтение12 мин
Количество просмотров9.1K


Всем доброго здравия!


В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот каламбур), а также реализацию статической подписки на С++17 и преимущества этого подхода в некоторых приложениях.

Читать дальше →

Поддержание положения в сервоприводе: подчинённое регулирование vs шаговый режим

Время на прочтение22 мин
Количество просмотров80K

После выхода предыдущих статьей о векторном управлении электродвигателями поступило много вопросов о позиционном приводе – как приводом отрабатывать заданное положение? Как работает сервопривод в современных станках, как использовать сигнал с датчика положения, чем отличается шаговый привод от сервопривода с подчиненным регулированием? Давайте всё покажу в виде картинок и видео.
Читать дальше →

Генерация и решение лабиринта с помощью метода поиска в глубину по графу

Время на прочтение6 мин
Количество просмотров116K
image

В этой статье речь пойдет о самом простом в реализации алгоритме генерации «идеального» лабиринта и его применении для поиска пути.

Мы рассмотрим алгоритм, основанный на бэктрекинге, позволяющий создавать лабиринты без циклов, имеющие единственный путь между двумя точками. Алгоритм не самый быстрый, довольно требователен к ресурсам, по сравнению с алгоритмом Эйлера или Крускала, но очень прост в реализации и позволяет создавать ветвистые лабиринты с очень длинными тупиковыми ответвлениями.

Заинтересовавшихся — прошу под кат.
Читать дальше →

Магия тензорной алгебры: Часть 5 — Действия над тензорами и некоторые другие теоретические вопросы

Время на прочтение7 мин
Количество просмотров61K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение


Прежде чем продолжать рассказ о прикладных аспектах применения тензорного исчисления, совершенно необходимо затронуть ещё тему, обозначенную заголовком. Эти вопросы всплывали в неявной форме во всех предыдущих частях частях цикла. Однако, мной были допущены некоторые неточности, в частности тензорные формы записи скалярного и векторного произведения в статьях 1 и 2 были названы мною «сверткой», хотя на деле они являются комбинацией свертки и умножения тензоров. О сложении, умножение тензоров на число, о тензорном произведении упоминалось только вскользь. О симметричных, антисимметричных тензорах вообще речи не шло.

В этой заметке мы поговорим о тензорных операциях более подробно. Для дальнейших упражнений нам потребуется хорошо в них ориентироваться.

Кроме того, важным является представление о симметричных и антисимметричных тензорах. Мы узнаем о том, что любой тензор можно разложить на симметричную и антисимметричную части, а также познакомимся с тем фактом, что антисимметричной части тензора можно поставить в соответствие псевдовектор. Многие физические величины (к примеру угловая скорость) являются псевдовекторами. И именно тензорный подход к описанию физических явлений позволяет выявить истинную природу некоторых величин.
Читать дальше →

Конечный автомат (он же машина состояний) на чистом С

Время на прочтение5 мин
Количество просмотров131K
Почти каждый микроконтроллерщик сталкивался с громадными switch-case и мучительно их отлаживал.
И много кто, начиная писать реализацию какого-либо протокола, задумывался как написать её красиво, изящно, так чтобы через месяц было понятно что ты имел в виду, чтобы она не отжирала всю память и вообще какала бабочками.
И вот тут на помощь приходят машины состояний, они же конечные автоматы (те самые которые используются в регулярных выражениях).

Собственно через регулярные выражения я к ним и пришёл.
Читать дальше →

Федеральный закон № 243, или Тихая пенсионная реформа

Время на прочтение4 мин
Количество просмотров428K
счастливая старость

Началось все с того, что мне пришло письмо от знакомого. Я усомнился и пошел проверять. Уж больно неправдоподобным показалось написанное в нем.

Однако факт остается фактом: «… с 1 января 2014 г. будет осуществлен т. н. страховой маневр — сокращены с 6 до 2% отчисления на формирование накопительной части пенсии. Высвободившиеся 4% пойдут на финансирование страховой части.»

UPDATE! Весьма вероятно, что скоро сокращение будет не до двух процентов, а до нуля — смотрите обновление №3 в конце поста.

Ну, кто там спрашивал, от чего отвлекают наше внимание?! Здесь был горький смайлик с кривой ухмылкой.

Кому интересно / небезразлично, добро пожаловать под кат!
Читать дальше →

Железо на службе у алгоритма

Время на прочтение14 мин
Количество просмотров199K
Борис Бабаян о прошлом, настоящем и будущем вычислительной техники

Борис Бабаян
Каким представляется развитие вычислительной техники человеку, который уже более полувека занимается разработкой компьютерных технологий?

Мне удалось побеседовать на эту тему с Борисом Арташесовичем Бабаяном, директором по архитектуре компании «Интел».

Борис Бабаян известен как главный архитектор компьютерных вычислительных систем «Эльбрус-1», «Эльбрус-2» и «Эльбрус-3». Некоторые из его идей использованы в архитектуре Transmeta. В настоящее время Борис возглавляет разработку новой микропроцессорной архитектуры в компании «Интел».

Чтобы совсем покончить с формальностями, перечислю звания, степени и должности Бориса: член-корреспондент РАН, доктор технических наук, профессор, заведующий кафедрой «Микропроцессорные технологии» МФТИ, Intel Fellow, лауреат Государственной и Ленинской премий.

Дальнейшее повествование построено от лица Бабаяна. Мои скупые комментарии оформлены в виде врезок либо ссылок на интернет-страницы.

Поехали!

RepRap: 3D принтеры, которые печатают 3D принтеры. Еще один успешный проект

Время на прочтение2 мин
Количество просмотров65K
image

В 2005 году был основан проект RepRap, цель которого — создание такого 3D принтера, который смог бы «печатать» собственных собратьев. Основал этот проект британский инженер Эдриан Боуйер. С тех пор проект вырос в сообщество, в котором работает много технических специалистов. Идеальным принтером для сообщества видится такое устройство, какое могло бы воспроизводить себе подобных без необходимости приобретать дополнительные детали. Но это в идеале, который вряд ли достижим в ближайшем будущем. Однако, успешные проекты подобного типа есть, и об одном из них — ниже.

Читать дальше →

Логика авторобота: от машинного зрения до управления трансмиссией

Время на прочтение5 мин
Количество просмотров34K
А.Жуковский, С.Усилин, В.Постников

Сегодня мы хотим рассказать о новом проекте, который начали чуть больше года назад на кафедре «Когнитивных технологий» МФТИ.

Состоит он в создании системы машинного зрения, робота – автомобиля (Рис. 1), который в режиме реального времени должен обрабатывать видеопоток, распознавать окружающую сцену, детектировать объекты и формировать управляющее воздействие, направленное на решение поставленной задачи.


Рис. 1

При этом мы не пытались полностью воссоздать реальные условия дорожной сцены, исключив все прелести малоразмерного моделирования.
Читать дальше →

LPC1102 и тёплый ламповый индикатор

Время на прочтение6 мин
Количество просмотров75K


Написать этот текст меня заставила статья – «Freescale уменьшила размеры самого маленького в мире микроконтроллера на архитектуре ARM». За три дня до публикации этой статьи я закончил свой маленький проект, в котором был использован контроллер NXP LPC1102, — это прямой конкурент описанного в статье Freescale KL02 и возможно нового KL03. Далее будет сравнение двух микроконтроллеров от NXP (Филипс) и Freescale (Моторола), и мой проект на LPC1102.
Читать дальше →

Freescale уменьшила размеры самого маленького в мире микроконтроллера на архитектуре ARM

Время на прочтение1 мин
Количество просмотров44K
image
Компания Freescale Semiconductor, известный производитель полупроводниковых чипов и микропроцессоров, представила преемника микросхемы Kinetis KL02, которой в прошлом году достался титул самого маленького микроконтроллера на архитектуре ARM. В ассортименте производителя новинка получила обозначение Kinetis KL03. Она на 15% меньше по сравнению с Kinetis KL02.
Читать дальше →

Создание собственных драйверов под Linux

Время на прочтение24 мин
Количество просмотров209K


Многие мои друзья и знакомые крутят пальцем у виска или задаются вопросом: не жмёт ли мне череп, когда узнают, что я пишу драйвера под Linux. Слово “драйвер” окутано каким-то почти мистическим смыслом, и постичь Дао его написания способны лишь избранные гуру.
К счастью это не так. Не знаю, как обстоят дела с написанием драйверов под другие операционные системы, в т.ч. и наиболее популярные, но под linux, вне зависимости от аппаратной архитектуры драйвера пишутся очень просто. Для написания драйвера необходимы базовые знания языка си, представление о работе ОС линукс (базовые), понимание того, что мы хотим получить, желание чтения документации и исходных кодов, ну и усидчивость. Всё.
Вы хотите посмотреть как написать драйвер для своего устройства? Тогда ныряйте под кат!
Читать дальше →

Обработка событий в реальном масштабе времени с помощью SynapseGrid

Время на прочтение15 мин
Количество просмотров4.3K
Занимались мы как-то обработкой аудио на Java с помощью сложных алгоритмов. Каждый кусочек аудио должен был пройти длинную цепочку обработки (20-50 алгоритмов разной степени сложности). Потоки аудио поступали параллельно, алгоритмы работали параллельно, и завершались в разные моменты. Некоторые алгоритмы нуждались в разной степени буферизации. Из кусочков аудио извлекалась информация повышающегося уровня абстракции, то есть начиная с какого-то уровня уже шло не аудио, а извлечённая информация об этом аудио.

Всё хозяйство должно было работать в рамках одного экземпляра приложения, но при этом должно было быть несколько вложенных почти независимых очень похожих контейнеров для клиентского кода (типа Bean'ов).

С самого начала мы не ставили задачу всеобщей унификации, и решали в каждой части системы по своему. Где-то использовали потоки для длительных задач, где-то создавали цепочки вызовов, где-то — модель подписки. Так как система была довольно большой, то практически все известные способы декомпозиции и обработки были задействованы в той или иной степени. Потом мы обнаруживали общность и реализовывали похожие решения в разных частях системы. А потом изобрели первую версию того, что сейчас мы называем система контактов или SynapseGrid.
Как мы изобрели систему контактов SynapseGrid

Конспекты лекций «Haskell как первый язык программирования». Часть1

Время на прочтение3 мин
Количество просмотров47K
image
Привет Habr! Сегодня я достал свои старые конспекты по курсу «Haskell как первый язык программирования» Сергея Михайловича Абрамова и попробую максимально доходчиво и с примерами рассказать об этом замечательном языке тем, кто с ним еще не знаком. Рассказ ориентирован на неподготовленного читателя. Так что, даже если вы впервые услышали слово Haskell…
добро пожаловать под кат.

Делаем приставку — счётчик Гейгера к iPhone за 2 часа

Время на прочтение3 мин
Количество просмотров202K
image

UPD: Кто уже читал пост — пожалуйста зайдите и поучаствуйте в опросе. Спасибо большое!

Примерно полтора года назад на нескольких сетевых ресурсах, в том числе и на хабре, начали пиарить проект «До-ра» — приставку к iPhone, позволяющую измерять радиационный фон и делать много всего вкусного на основании получаемой со счётчика Гейгера информации. Статьи в новостях проекта упоминают несколько многомиллионных грантов, выделенных на разработку приборчика фондом «Сколково». Шли месяцы, «До-ра» всё никак не получалась, покупатели ждали, конкуренты не дремали. Так ли сложна «До-ра» как её малюют и как собрать за пару часов из подручных деталей в десять раз более чувствительный аналог я расскажу тем кто нажмёт на
кнопку

Реализация мечты, или Радио 86РК — 25 лет спустя

Время на прочтение13 мин
Количество просмотров184K
В уже далеком 1986 году у меня появилась мечта. Вернее, МЕЧТА – построить свою собственную микро-ЭВМ «Радио-86РК», схема которой была опубликована в журнале «Радио» (и который уже неоднократно упоминался на Хабре, например, здесь — habrahabr.ru/post/172405 ).
Читать дальше →

Как мы делали Wiren Board

Время на прочтение7 мин
Количество просмотров59K
Последние 9 месяцев мы разрабатывали Wiren Board — компактный индустриальный компьютер с множеством встроенных интерфейсов (Wi-Fi, GPRS, GPS, NFC, Ethernet и т.д.) Мы уже писали о нём, и получили кучу отзывов и пожеланий. В итоге в новую версию было внесено много изменений, и эта статья про самые значительные из них.

По сравнению с апрельским прототипом на плате появились 2 USB-host, интерфейс RS-485 и разъём с 8 GPIO. Кроме этого мы сделали новую схему питания, поддерживающую входные напряжения от 5 до 22 вольт, Passive PoE и подключение Li-Pol аккумулятора, добавили управление низковольтной нагрузкой и аналоговые входы на клеммниках.



Как мы это делали, с какими трудностями столкнулись и что получилось в итоге — читайте в нашей статье.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность