Рубрика «модули»

В данной статье хотел бы с вами обсудить все, что касается оптических кабелей. От основ их устройства до практических рекомендаций по выбору.

❯ Зачем нужна эта статья?

Данная статья нам нужна для того, чтобы разобраться в базовых понятиях и разобрать:

  • что такое оптическое волокно, патч-корд, пигтейл и из чего они состоят;

  • симплекс и дуплекс;

  • Читать полностью »

Напомню, что UMF.0 (Universal Module for Flipper Zero) — это мое видение универсального модуля для Flipper Zero, который, надеюсь, придется по вкусу большинству пользователей. Параллельно этот проект является моей итоговой аттестационной работой в учебном заведении.

Предыдущие материалы:
- [1] Идея и задумка проекта
- [2] Разработка корпуса

Летние работы и прогресс
Основной задачей на лето была систематизация всех наработокЧитать полностью »

Продолжая тему создания своего модуля для Flipper Zero, речь сегодня будет идти о создании корпуса.

UMF.0(…)

Идея названия пришла просто (UNIVERSAL MODULE FOR FLIPPER ZERO), аббревиатура. В конце будет индекс, обозначающий версию всего модуля в целом. Это просто формальность, для понимания отличий между версиями и их изменениями.

Читать полностью »

Компилятор WebAssembly, который помещается в один твит - 1

▍ Введение

Наш первый «компилятор WebAssembly в твите» имел длину 269 байт; с тех пор мы смогли снизить её всего до 192 байтов.

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

let c=(b,l)=>WebAssembly.instantiate(new Int8Array(
[,97,115,109,1,,,,1,5,1,96,,1,127,3,2,1,,7,4,1,,,,10,
l=(b=b.split` `.flatMap(t=>t>-1?[65,t]:107+'-*/'.indexOf(t)))
.length+4,1,l-2,,...b,11]))

А вот пример его использования:

(await c('11 11 1 - + 4 * 2 /')).instance.exports['']()

Но это не просто хитрый трюк — если вы начнёте разбираться, как работает этот код, то на удивление много узнаете о WebAssembly! В этом посте мы объясним, как это всё работает, пошагово деобфусцируя код.Читать полностью »

Модули INA226: действительно ли «хорошие» хороши, а «плохие» плохи? - 1

По интернету ходят упорные слухи, что с модулями на INA226 всё плохо: поддельные чипы, отбраковка, неправильная схемотехника, откровенный треш типа припайки микросхемы не той стороной и т. д.

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

А заодно попытаемся установить, что же за микросхемы установлены в этих модулях.
Читать полностью »

Закон распределения делителей числа (расширенная версия) - 1

В арифметике известны элементарные действия с числами (+), (–), (×), (/) и др., использование которых при заданных исходных данных дает нам возможность получать определенные результаты: сумму, разность, произведение, частное. Обратное действие с результатами в качестве исходных данных возможно далеко не всегда. Например, возведение в третью степень числа 7 3 = 343, Читать полностью »

Прим. перев.: системный архитектор Avery Pennarun, создавший VPN-решение Tailscale на базе WireGuard, размышляет об отличиях монолитов с модулями от микросервисов. Он рассказывает об эволюции подхода к модульности вообще и о том, почему изоляция до сих пор далека от совершенства, а также делится своим мнением о том, когда проводить границы между сервисами рационально.

В последнее время меня часто спрашивают, в каких случаях переход на микросервисы — хорошая затея. В статье «Systems design explains the worldЧитать полностью »

Си по-прежнему остаётся любимым языком программирования среди разработчиков встраиваемых систем, однако и среди них есть достаточное число тех, кто использует в своей практике С++.

Используя соответствующие возможности С++ можно написать код, который не будет уступать по своей эффективности коду аналогичного приложения, написанного на Си, а в ряде случаев он будет даже более эффективным, поскольку рядовому программисту может быть достаточно утомительно реализовывать некоторый функционал на Си, который гораздо проще реализуется с помощью дополнительных возможностей С++.

С++20Читать полностью »

Псс, парень, не хочешь сделать модуль для Flipper Zero? - 1

У Flipper Zero на боку есть отверстия GPIO под стандартную гребенку 2.54 мм, к которым выведены ноги микроконтроллера. Там есть аппаратный SPI, I2C, UART и много другой периферии, доступной в нашем чипе STM32. Эти контакты можно использовать для подключения к сторонним устройствам по промышленным протоколам. На GPIO выведено питание 3.3V и 5V, чтобы можно было питать подключенное устройство сразу от Флиппера.

Подобно Arduino, для Флиппера можно изготовить железные модули расширения с разными интересными функциями. Но в отличие от Arduino, где модули (шилды) это просто голые платы, модули для Флиппера можно сразу сделать продолжением корпуса.

Мы приглашаем разработчиков сделать собственные модули для Флиппера и заработать на этом. Если вы сделаете свой готовый модуль, мы будем его рекламировать вместе с Флиппером во всех рассылках и на нашем сайте. При этом вы можете продавать его самостоятельно, мы не будем требовать никакой комиссии и отчислений.
Читать полностью »

Node.js 13.2.0 идет с поддержкой ECMAScript модулей, известных по своему синтаксису import и export. Ранее эта функциональность была за флагом --experimental-modules, который больше не требуется. Однако, реализация все еще экспериментальная и может меняться.

От переводчика: это долгожданная фича наконец-то позволит нам использовать стандартный модульный синтаксис, уже доступный в современных браузерах, а теперь еще и в Node.js без флагов и транспайлеров

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js