• Что там в Университете ИТМО — антистресс от разработчика, аксионы, кристаллы времени и хакатоны

      Наша подборка ближайших мероприятий для студентов и специалистов. На этот раз она получилась весьма необычной. Здесь вы найдете и лекции по психотерапии, и хакатоны для начинающих и продвинутых разработчиков. Плюс — неплохую возможность обсудить проблемы темной материи с одним из ведущих экспертов в этой области.

      Читать далее
    • Полноценный трехпортовый USB-Serial адаптер на STM32 Blue Pill (STM32F103C8T6)

        Некоторое время назад мне в очередной раз потребовался USB-Serial адаптер. И не просто адаптер c RX/TX, а чтобы еще присутствовали управляющие сигналы. И не один UART, а несколько. И еще желательно, в виде одного композитного устройства, чтобы все это хозяйство не занимало больше одного USB-порта. Так и началась эта история...

        Читать дальше →
      • Раскладываем по полочкам параметры АЦП

          Привет, Хабр! Многие разработчики систем довольно часто сталкиваются с обработкой аналоговых сигналов. Не все манипуляции с сигналами можно осуществить в аналоговой форме, поэтому требуется переводить аналог в цифровой мир для дальнейшей постобработки. Возникает вопрос: на какие параметры стоит обратить внимание при выборе микроконтроллера или дискретного АЦП? Что все эти параметры означают? В этой статье постараемся детально рассмотреть основные характеристики АЦП и разобраться на что стоит обратить внимание при выборе преобразователя.

          image

          Читать дальше →
        • Подборка полезной информации для начинающих во Flutter



          Всем привет!

          Я создатель канала Flutter For Dev и в данном посте я хотел бы помочь тем людям, которые часто задают вопросы подобного типа: «Привет, я новичок в Flutter, что посоветуете почитать?», «А какие курсы по Flutter лучше пройти и какие из них бесплатные?». На все эти вопросы я постараюсь ответить максимально подробным списком информации.
          Читать дальше →
          • +10
          • 11,6k
          • 4
        • Варианты аппаратной реализации USB Type-C, или Когда не требуется Power Delivery



            Когда мы в SberDevices делаем новое устройство, работаем над его аппаратной частью, перед нами встаёт вопрос выбора интерфейсов. Важным моментом при выборе является их доступность и совместимость с другими устройствами.

            В своих устройствах мы не могли пройти мимо интерфейса USB-C. Помимо того, что он очень популярен в современных девайсах, он серьёзно расширил функциональность USB по сравнению со своими предшественниками. Давайте расскажу о нём поподробнее.
            Читать дальше →
          • Исправление кратных ошибок при кодировании сообщений



              В информационных системах обмен сообщениями в сетях связи или вычислительных сопровождается возмущающими воздействиями среды или нарушителя, что приводит к появлению искажений сигналов и к ошибкам в символах при цифровой передаче. Борьбу с этим явлением ведут, используя корректирующие коды. Ранее я описывал код Хемминга, и показал как исправляется одиночная ошибка в кодовом слове. Естественно возник вопрос и о ситуациях с большим количеством ошибок. Сегодня рассмотрим случай двух ошибок в кодовом слове (кратную ошибку). С одной стороны, все в теории более менее просто и понятно, но с другой — совершенно не очевидно. Изложение материала выполнено на основе работ Э. Берлекемпа.
              Читать дальше →
            • Операционные усилители: 10 схем на (почти) все случаи жизни

                Всем привет!

                В последнее время я по большей части ушел в цифровую и, отчасти, в силовую электронику и схемы на операционных усилителях использую нечасто. В связи с этим, повинуясь неуклонному закону полураспада памяти, мои знания об операционных усилителях стали постепенно тускнеть, и каждый раз, когда все-таки надо было использовать ту или иную схему с их участием, мне приходилось гуглить ее расчет или искать его в книгах. Это оказалось не очень удобно, поэтому я решил написать своего рода шпаргалку, в которой отразил наиболее часто используемые схемы на операционных усилителях, приведя их расчет, а также результаты моделирования в LTSpice.


                Читать дальше →
              • Похудеть без самоистязаний и СМС

                  я и жена на нашем первом опене

                  Это будет очень короткая статья. Открыл я «Просто похудеть» — непросто и дочитал её ровно до слов «Спорт не приводит к сбросу веса. Точка.» Чё???

                  Лично мой максимальный вес 104кг, что при моём росте в 175 даёт Индекс Массы Тела 34, попросту говоря ожирение. И я не диабетик, так что оправданий никаких. Лично мой минимальный вес, полученный без каких либо ограничений в пище и державшийся несколько лет 91кг, что всего лишь выше нормы, и нормально для человека выжимающего ногами 230 килограмм никогда в жизни не качавшись.

                  Для этого нужно всего лишь...
                • Асинхронные задачи в С++11

                    Доброго времени суток, хотел бы поделиться с сообществом своей небольшой библиотектой.
                    Я программирую на С/C++, и, к сожалению, в рабочих проектах не могу использовать стандарт C++11. Но вот пришли майские праздники, появилось свободное время и я решил поэкспериментировать и по-изучать этот запретный плод. Самое лучшее для изучения чего либо — это практика. Чтение статей о языке программирования научит максимум лучше читать, поэтому я решил написать маленькую библиотеку для асинхронного выполнения функций.
                    Сразу оговорюсь, что я знаю, что существует std::future, std::async и тп. Мне было интересно реализовать самому нечто подобное и окунуться в мир лямбда-функций, потоков и мьютексов с головой. Праздники — отличное время для велопрогулок.
                    Читать дальше →
                  • FT232H и почти универсальный USB<->JTAG-адаптер за 15 евро

                      Продолжая тему практического применения микросхемы FTDI FT232H, затронутую мной в предыдущей статье, хотелось бы рассказать об использовании отладочной платы на ней в качестве дешевого и почти универсального JTAG-адаптера с интерфейсом USB и поддержкой множества микроконтроллеров различных архитектур и производителей. Я намеренно не называю этот адаптер «JTAG-отладчиком», т.к. далеко не все устройства с JTAG TAP поддерживают отладку, но обычными пользователями JTAG-адаптер используется в большинстве случаев именно для прошивки и отладки своего кода на МК. В этой статье я опишу только собственный опыт использования FT232H в качестве JTAG-адаптера, чтобы не давать ссылок на непроверенные решения, поэтому предлагаю читателям поделиться своими (или чужими) способами использования этой микросхемы в комментариях. Уверен, что способов этих найдется намного больше, чем здесь описано.
                      Заинтересовавшихся прошу под кат.
                      Псс, хабраюзер, не хочешь немного JTAG'а недорого?
                    • Как начать использовать USB Type-C в своих разработках


                        В современных embedded-устройствах используется огромное количество различных разъемов, таких как USB Type-B, miniUSB, microUSB и так далее. Все они отличаются форм-фактором, максимальной пропускной способностью и другими различными характеристиками. Самым верным решением в данной ситуации было бы минимизировать количество используемых разъемов и остановиться на каком-то одном, «едином» для большинства разработок. Наиболее перспективным выглядит использование разъема Type-C. В нем объединены невероятная пропускная способность с высокой мощностью питания. Такие производители, как Apple, Huawei, Sony уже внедряют разъем Type-C в свои разработки, постепенно отказываясь от использования «старых» разъемов. А чем embedded-разработчики хуже?


                        В данной статье мы приведем общую информацию, необходимую для практического применения Type-C. Наиболее полезной она будет для новичков в сфере embedded, но надеемся, что каждый найдет в ней что-то интересное.

                        Читать дальше →
                      • Реверс протокола СКУД RS485 от Perco. Берегите линии своих СКУД от вторжения

                          Участвуя последнее время в разных интересных проектах, возникла задачка альтернативного управления продуктом Perco Электронная проходная KT02.3. Данный продукт является законченным решением и не подразумевает использование в составе других систем СКУД, а также какого-либо вторжения в свою среду управления. Но, как говорится в поговорке, «Возможно все! На невозможное просто требуется больше времени» (С) Дэн Браун.

                          Но мы сделали это. Как всё получилось читайте под катом.
                          Читать дальше →
                          • +8
                          • 15,8k
                          • 5
                        • Протокол связи FT8 — как это работает

                            Привет, Хабр.

                            Наверное каждый, кто хоть немного интересовался радиосвязью и радиолюбительством, слышал о цифровом протоколе связи FT8. Этот вид связи появился в 2017, и с тех пор его популярность только растет.


                            Источник: www.qsl.net/w1dyj/FT8%20for%20web.pdf

                            Для тех кому интересно, как это работает и зачем это нужно, продолжение под катом.
                            Читать дальше →
                          • Трассировка silicon-а в формате хакатона. Без Physical Design не будет Айфона



                              Все смотрели фильм Дудя про стартапы Силиконовой Долины? А вы знаете, какой стартап Долины был самый силиконовый в 1977 году? Это был Silicon Valley Research, также известный как SVR и Silvar-Lisco. Стартап делал программы, которые автоматически размещали транзисторы на площадке чипа и соединяли их дорожками. Стартап вышел на биржу и даже дожил до 21 века, но не смог конкурировать с новыми лидерами — сначала Daisy/Mentor/Valid, а потом Synopsys и Cadence.

                              Программы, которые делал SVR, назывались программами размещения и трассировки, по английски Place & Route — P&R. Они сильно повысили производительность труда инженеров — до P&R программ чертежи маски чипа клеили из цветного картона (Intel 4004), рисовали карандашами на бумаге, или бегали курсором по текстовому экрану и соединяли плюсиками и минусиками элементарные блоки, которые изображались звездочками (так проектировали чипы в IBM/370-совместимых компьютерах Amdahl, продвинутых родственниках советских ЕС ЭВМ).

                              SVR основал профессор из Стенфорда Билл ван Климпат, которого я знал лично, так как он был ангел-инвестором и членом совета директоров моего собственного стартапа. Билл периодически воспитывал меня за плохое поведение на заседаниях и прокрастинацию, а также рассказывал байки про патентные суды, по которым он постоянно ходил в качестве эксперт-свидетеля.

                              Поэтому когда в казанском Иннополисе мне предложили организовать проект на их хакатоне для студентов по CASE Tools, я вспомнил Билла и предложил сделать на хакатоне минимальную программу трассировки. Этот пост — отчет о результатах этого экспериментального хакатона. Их также наверное стоит обсудить на zoom-конференции в Иннополисе по Open Source проектам, которая будет через неделю.
                              Читать дальше →
                            • Как наши датчики свою первую зиму провели

                                Привет! В одной из прошлых статей я писал о том, что мы решили делать собственные взрывозащищенные датчики для наших объектов, а не использовать продукты сторонних производителей. Так вот, сказано — сделано.



                                Теперь у нас есть пилотная партия, 190 штук, которые мы тестируем на протяжении полугода. Старт пришёлся на ноябрь 2019 года, когда мы установили достаточно большое количество датчиков в Тобольске, чтобы посмотреть, как они работают в боевых условиях, и собрать полноценную статистику. Полгода спустя мы можем точно сказать, что идея делать всё самим была правильной и оправдалась — они нормально прошли боевое крещение зимой (а зима в тех краях, где стоят наши объекты, весьма и весьма серьезная штука). Значит, будем выпускать такие датчики в тираж.

                                Что это за датчики и зачем они нужны


                                Прежде всего — это датчики, которые измеряют как температуру рабочих поверхностей, так и температуру объектов. Поэтому датчики должны работать в вилке температурных условий от -56 до +50 градусов по Цельсию. Мы поставили их на производство пиролиза ЗапСибНефтехима, чтобы защищать от замерзания трубы теплоспутников (второстепенные по значимости объекты производства). До введения системы датчиков этот контроль осуществлялся людьми, которые ходили и руками трогали эти трубы на предмет «замерзло — не замерзло».
                                Читать дальше →
                              • Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio

                                • Tutorial
                                Привет, Хабр.

                                Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию модема с помощью OFDM и GNU Radio.

                                Данные мы будем передавать по воздуху, в прямом смысле этого слова — для приема и передачи будет достаточно динамика и микрофона.

                                Для тех, кому интересно как это работает, продолжение под катом.
                                Читать дальше →
                              • Flutter, руководство для начинающих

                                  На дворе середина 2019 года, кроссплатформа плотно вошла в жизнь стартапов по всему миру, но все чаще в ее сторону смотрят и команды аутсорс-разработки, и клиенты, которые делают ставку на снижение затрат. Кто-то делает ставку на React Native, кто-то исследует возможности Kotlin Multiplatform, а новый гость подкаста AppsCast Евгений Сатуров saturovv последние полгода активно разрабатывает на Flutter, следит за обновлениями фреймворка и продвигает технологию в массы. Максимум полезных ссылок и советов для начинающего Flutter-разработчика: от гайдлайнов до репозиторием с примерами реализации архитектуры — в разговоре с Евгением.



                                  AppsCast — подкаст, посвященный мобильной разработке и выходящий при поддержке конференции AppsConf. Каждые две недели новый гость, с которым мы с Даниилом Поповым (int02h) обсуждаем технологии, лучшие практики, жизнь разработчиков, а так же холиварим и делимся опытом.
                                  Читать дальше →
                                  • +30
                                  • 25,1k
                                  • 9
                                • Flutter. Асинхронность и параллельность

                                  Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в DartFlutter в частности).


                                  TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
                                  Читать дальше →
                                • Байки из склепа (из 40 лет работы программиста)

                                    С ЭВМ (слово компьютер тогда не было в ходу) я столкнулся в году 1977, просто курс такой был на мехмате. Fortran IV, коды М-20, Algol-60, PL/1, сразу после универа попал в программисты (системные программисты!), и пошло-поехало…

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

                                    Как бы то ни было, за это время было некоторое количество забавных и/или интересных (ну, по крайней мере запомнившихся) историй, почитать которые и приглашаю под кат. Истории не обязательно строго про программирование, больше про жизнь программиста.
                                    Читать дальше →
                                  • Software Defined Radio — как это работает? Часть 9

                                      Привет, Хабр.

                                      В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер.

                                      Вариантов будет два — простой, и более сложный, с RDS.



                                      Как и в предыдущих случаях, сделаем мы все это в GNU Radio, не написав ни одной строчки кода. Для тех кому интересно, продолжение под катом.
                                      Читать дальше →