Проект, офигенный в том, что самодельные расстановщики схожего уровня себе делали многие самоделкины, но до готового к продаже набора довели единицы.
И когда оно приезжает - понимаешь, почему: это несколько немаленьких коробок, до отказа заполненных тщательно отсортированными и подписанными пакетиками. То есть вот прямо под отвёрточную сборку, там самостоятельно, кажется, только провода купить и нарезать надо. И всё это нормального и вполне фабричного вида, никакого напилинга по фанере. Делает чувак из Финляндии в одно лицо.
Ну а в остальном - да, штука со скоростью ручного монтажа, только не требующая для работы ручного монтажника.
И когда оно приезжает - понимаешь, почему: это несколько немаленьких коробок, до отказа заполненных тщательно отсортированными и подписанными пакетиками. То есть вот прямо под отвёрточную сборку, там самостоятельно, кажется, только провода купить и нарезать надо. И всё это нормального и вполне фабричного вида, никакого напилинга по фанере. Делает чувак из Финляндии в одно лицо.
Ну а в остальном - да, штука со скоростью ручного монтажа, только не требующая для работы ручного монтажника.
В каждом проекте приходит время писать Code of Conduct
Мы себе взяли за основу RIOT'овский, но немного подправили в паре мест: https://github.com/unwireddevices/RIOT/blob/loralan-public-2018.07/CODE_OF_CONDUCT.md
Мы себе взяли за основу RIOT'овский, но немного подправили в паре мест: https://github.com/unwireddevices/RIOT/blob/loralan-public-2018.07/CODE_OF_CONDUCT.md
GitHub
RIOT/CODE_OF_CONDUCT.md at loralan-public-2018.07 · unwireddevices/RIOT
RIOT - The friendly OS for IoT. Contribute to unwireddevices/RIOT development by creating an account on GitHub.
На примере RIOT мы наблюдаем яркий пример проекта без лидера — или, скорее, с некоей неформальной группой недолидеров, которые не хотят брать на себя обязанности лидера.
Вот та ситуация с угрёбищным, сломанным, плохо написанным, никем не тестировавшимся драйвером акселерометра — она же вообще на самом деле только отчасти про акселерометр.
Глобально она про то, что есть два чувака — один написал говнокод, а другой поставил его в релиз ОС — которым никто ничего не сделает, чтобы помешать им писать и релизить такой же говнокод в дальнейшем, равно как никто и не пойдёт проверять их предыдущие коммиты и аппрувалы, нет ли там такого же говнокода.
То есть, никто не предпримет, простите за выражение, decisive actions. Не выдаст пиздюлей.
Потому что некому. Нет такого человека.
То есть, вся текущая буча не имеет никакого практического смысла, потому что максимально возможный эффект от неё — исправление одного конкретного драйвера, который мы у себя и так давно уже исправили.
Вот та ситуация с угрёбищным, сломанным, плохо написанным, никем не тестировавшимся драйвером акселерометра — она же вообще на самом деле только отчасти про акселерометр.
Глобально она про то, что есть два чувака — один написал говнокод, а другой поставил его в релиз ОС — которым никто ничего не сделает, чтобы помешать им писать и релизить такой же говнокод в дальнейшем, равно как никто и не пойдёт проверять их предыдущие коммиты и аппрувалы, нет ли там такого же говнокода.
То есть, никто не предпримет, простите за выражение, decisive actions. Не выдаст пиздюлей.
Потому что некому. Нет такого человека.
То есть, вся текущая буча не имеет никакого практического смысла, потому что максимально возможный эффект от неё — исправление одного конкретного драйвера, который мы у себя и так давно уже исправили.
Но, кстати, я слабо верю, что они этот драйвер вообще исправят.
Разве что пару самых грубых ошибок.
Всё остальное уйдёт в песок в очередном обсуждении, в котором первые три дня автор драйвера будет упираться, а потом всем просто станет лень писать, ведь нельзя же просто так взять и решить, надо сначала к консенсусу придти.
Разве что пару самых грубых ошибок.
Всё остальное уйдёт в песок в очередном обсуждении, в котором первые три дня автор драйвера будет упираться, а потом всем просто станет лень писать, ведь нельзя же просто так взять и решить, надо сначала к консенсусу придти.
https://github.com/RIOT-OS/RIOT/issues/10090
Я им тут, кстати, понасабмитил за отпуск.
Вот с интересом следим за развитием событий — ткнул людей носом в то, что АЦП на STM32 в их реализации по сути бесполезен, так как выдаёт на выходе попугаи.
Мой прогноз: развития событий не будет, всем похрену.
Подумаешь, кому нахрен АЦП на STM32 вообще нужен-то.
Я им тут, кстати, понасабмитил за отпуск.
Вот с интересом следим за развитием событий — ткнул людей носом в то, что АЦП на STM32 в их реализации по сути бесполезен, так как выдаёт на выходе попугаи.
Мой прогноз: развития событий не будет, всем похрену.
Подумаешь, кому нахрен АЦП на STM32 вообще нужен-то.
GitHub
ADC data on STM32 are useless #10090
I'm not sure if it's bug or a feature, but... ADC scale on STM32 is related to VDDA voltage, which usually means VDD voltage, which often means not-so-stable battery voltage VDD can be calculated and ADC values properly scaled by reading...
Потому что открываем баг-трекер и берём там что-нибудь постарее, ну например, https://github.com/RIOT-OS/RIOT/issues/495
2014:
— Тут баг.
2016:
— Надо бы пофиксить.
2017:
— Может напишем, что не фиксится?
— Не, нехорошо как-то, лучше пофиксить.
2014:
— Тут баг.
2016:
— Надо бы пофиксить.
2017:
— Может напишем, что не фиксится?
— Не, нехорошо как-то, лучше пофиксить.
GitHub
native not float safe #495
When the FPU is used when an asynchronous context switch occurs, something goes wrong. Something (as far as quick testing could reveal): either the stack gets corrupted or a floating point exception occurs. Test case: test_irq with a flo...
Причём заранее понятно, что в выбранной модели разработки (читай: построения комьюнити) проблема с АЦП является нерешаемой
Потому что любое решение требует:
а) изменения API (но тут можно исхитриться и через макрос с VA_ARGS сделать аналог плюсового adc_sample(int adc_line, bool convert_to_mv = false), это через жопу и MISRA C вряд ли одобрит, но можно)
б) дописывания того самого преобразования в милливольты хотя бы в десяток-полтора самых популярных микроконтроллеров из поддерживаемых ОС
В рамках централизованной (формально или неформально) разработки обе проблемы решаются штатными методами: «мы посовещались и я решил, об исполнении доложить к понедельнику».
В рамках комьюнити, в котором нет что-либо решающего лидера, уже первый пункт приведёт к вялой, ничем не кончающейся дискуссии, а второй нереализуем вообще, ибо требует мобилизации полудесятка разработчиков, а это невозможно, если только они сами как-нибудь так не согласятся вдруг (особенно с учётом, что поддержка части процессоров брошена на полпути, и дописывать туда что-то серьёзнее нового инклюда или дефайна тупо некому).
Потому что любое решение требует:
а) изменения API (но тут можно исхитриться и через макрос с VA_ARGS сделать аналог плюсового adc_sample(int adc_line, bool convert_to_mv = false), это через жопу и MISRA C вряд ли одобрит, но можно)
б) дописывания того самого преобразования в милливольты хотя бы в десяток-полтора самых популярных микроконтроллеров из поддерживаемых ОС
В рамках централизованной (формально или неформально) разработки обе проблемы решаются штатными методами: «мы посовещались и я решил, об исполнении доложить к понедельнику».
В рамках комьюнити, в котором нет что-либо решающего лидера, уже первый пункт приведёт к вялой, ничем не кончающейся дискуссии, а второй нереализуем вообще, ибо требует мобилизации полудесятка разработчиков, а это невозможно, если только они сами как-нибудь так не согласятся вдруг (особенно с учётом, что поддержка части процессоров брошена на полпути, и дописывать туда что-то серьёзнее нового инклюда или дефайна тупо некому).
А вообще это уже не про IoT, но вы понимаете же, что для инвестора нет слов страшнее, чем «у нас в стартапе три основателя и полная демократия»?
https://www.computer.org/web/education/code-of-ethics
Реальный Code of Conduct реальных проектов, а не плюшевые посмешища про то, что «мы здесь все друг другу друзья, давайте за руки возьмёмся».
Реальный Code of Conduct реальных проектов, а не плюшевые посмешища про то, что «мы здесь все друг другу друзья, давайте за руки возьмёмся».
IEEE Computer Society
Code of Ethics
IEEE Computer Society and ACM have established a joint task force on software engineering ethics. Read through the best practices.
https://devanlai.github.io/projects/dap42/
DAP42 — это такой набортный мини-программатор с поддержкой SWD и проброса UART на базе STM32F042F6P6.
Позволяет на 20-ногом процессоре стоимостью доллар-полтора сделать интерфейс для отладочной платы. Без всех возможностей ST-Link, DAPLink или Black Magic, но вполне достаточный.
DAP42 — это такой набортный мини-программатор с поддержкой SWD и проброса UART на базе STM32F042F6P6.
Позволяет на 20-ногом процессоре стоимостью доллар-полтора сделать интерфейс для отладочной платы. Без всех возможностей ST-Link, DAPLink или Black Magic, но вполне достаточный.
devanlai.github.io
dap42
An open-source CMSIS-DAP debug probe
https://github.com/SushiBits/DAP42-Firmware
А это его чуть более свежая версия, причёсанная другими людьми.
А это его чуть более свежая версия, причёсанная другими людьми.
GitHub
SushiBits/DAP42-Firmware
CMSIS-DAP debug probe based on STM32F042. Contribute to SushiBits/DAP42-Firmware development by creating an account on GitHub.
Впрочем, с причёсыванием я поторопился — что-то там огрызки и ошмётки какие-то.
https://github.com/RIOT-OS/RIOT/pull/10037
Чувак отказался ревьюить валидный и, более того, полезный код, потому что моё поведение ему не нравится. К коду претензий нет.
Кстати, а никому не приходила в голову идея весёлого троллинга проектов борцов за справедливость:
а) регулярно сабмитить хороший и полезный код
б) вести себя при этом достаточно неприятно по отношению ко всяким идиотам, чтобы мейнтейнеры твои реквесты целенаправленно игнорировали
в) при попытке мейнтейнеров засабмитить тот же код (он же хороший и полезный) от своего лица бить по мордасам за GPL violation, если твой копирайт из кода убрали
Чувак отказался ревьюить валидный и, более того, полезный код, потому что моё поведение ему не нравится. К коду претензий нет.
Кстати, а никому не приходила в голову идея весёлого троллинга проектов борцов за справедливость:
а) регулярно сабмитить хороший и полезный код
б) вести себя при этом достаточно неприятно по отношению ко всяким идиотам, чтобы мейнтейнеры твои реквесты целенаправленно игнорировали
в) при попытке мейнтейнеров засабмитить тот же код (он же хороший и полезный) от своего лица бить по мордасам за GPL violation, если твой копирайт из кода убрали
GitHub
sys/crypto: optimize AES footprint by olegart · Pull Request #10037 · RIOT-OS/RIOT
Contribution denoscription
AES tables on-the-fly calculation instead of using precalculated tables - roughly the same performance while saving ~8 KB code size.
Testing procedure
Passes unittests/test...
AES tables on-the-fly calculation instead of using precalculated tables - roughly the same performance while saving ~8 KB code size.
Testing procedure
Passes unittests/test...
Неплохая идея, высказанная в фейсбуке: сводить перечень изменений, которые мы сделали в RIOT, в отдельный файл
https://github.com/unwireddevices/RIOT/blob/loralan-public-2018.07/UNWDS.md
https://github.com/unwireddevices/RIOT/blob/loralan-public-2018.07/UNWDS.md
GitHub
RIOT/UNWDS.md at loralan-public-2018.07 · unwireddevices/RIOT
RIOT - The friendly OS for IoT. Contribute to unwireddevices/RIOT development by creating an account on GitHub.
https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies
S for Security
Китайцы якобы имплантировали в заказные железки контроллеры с бэкдором, подключённые к внутренней шине контроллера самой железки.
А на иллюстрация Блумберга при этом — безобидный согласующий балун, у которого всех внутренностей-то штук пять пассивных компонентов, зато очень характерный внешний вид, так что любителям сенсаций будет несложно найти его в тысячах IoT-устройств.
S for Security
Китайцы якобы имплантировали в заказные железки контроллеры с бэкдором, подключённые к внутренней шине контроллера самой железки.
А на иллюстрация Блумберга при этом — безобидный согласующий балун, у которого всех внутренностей-то штук пять пассивных компонентов, зато очень характерный внешний вид, так что любителям сенсаций будет несложно найти его в тысячах IoT-устройств.
Bloomberg.com
China Used a Tiny Chip in a Hack That Infiltrated U.S. Companies
The attack by Chinese spies reached almost 30 U.S. companies by compromising America's technology supply chain.
To whom it may concern:
1) наши прошивки версии 2 по мере завершения работы над ними начинают переезжать в основную ветку кода loralan-public — https://github.com/unwireddevices/RIOT/tree/loralan-public
2) в структуре кода изменения:
* приложения переехали из examples в новую папку apps, ибо в examples много мусора, и люди уже путают простенький примерчик lorawan из кода ОС с нашим полноценным приложением loralan-wan
* в unwired-modules остались только подключаемые пользовательские модули
* MAC-уровни и инициализация устройств для радиосети переехали из unwired-modules/loralan-* в apps/unwds-common
* общие для всех приложений функции переехали из unwired-modules/unwds-common в apps/unwds-common
1) наши прошивки версии 2 по мере завершения работы над ними начинают переезжать в основную ветку кода loralan-public — https://github.com/unwireddevices/RIOT/tree/loralan-public
2) в структуре кода изменения:
* приложения переехали из examples в новую папку apps, ибо в examples много мусора, и люди уже путают простенький примерчик lorawan из кода ОС с нашим полноценным приложением loralan-wan
* в unwired-modules остались только подключаемые пользовательские модули
* MAC-уровни и инициализация устройств для радиосети переехали из unwired-modules/loralan-* в apps/unwds-common
* общие для всех приложений функции переехали из unwired-modules/unwds-common в apps/unwds-common
GitHub
GitHub - unwireddevices/RIOT: RIOT - The friendly OS for IoT
RIOT - The friendly OS for IoT. Contribute to unwireddevices/RIOT development by creating an account on GitHub.
Ветка loralan-public-2018.07 отмирает и ясности ради вскоре будет снесена с гитхаба и из files.unwds.com
2018-10-05_09-25-17.png
314.5 KB
Китайцы взломали мой радиомодуль ещё пять лет назад!
2018-10-05_09-29-58.png
372.6 KB
Какие ещё доказательства вам нужны?! Про этот чип написал сам Bloomberg!
(подумав) Хотя, возможно, я работаю на ГРУ и просто хотел заразить весь свободный американский IoT ещё тогда.
https://github.com/RIOT-OS/RIOT/pull/10124
Портировал LoRaMAC на использование родной для RIOT имплементации AES.
Удивительно, но тот факт, что использовать одновременно RIOT AES и LoRaMAC AES нельзя (функции разные, имена у них одинаковые, а у нас тут голый C), никого в комьюнити за предыдущие месяцы сильно не волновал — ну подумаешь, использование LoRaMAC автоматически убивает любые другие функции, которым может AES потребоваться, мелочь какая.
Портировал LoRaMAC на использование родной для RIOT имплементации AES.
Удивительно, но тот факт, что использовать одновременно RIOT AES и LoRaMAC AES нельзя (функции разные, имена у них одинаковые, а у нас тут голый C), никого в комьюнити за предыдущие месяцы сильно не волновал — ну подумаешь, использование LoRaMAC автоматически убивает любые другие функции, которым может AES потребоваться, мелочь какая.
GitHub
pkg/semtech-loramac: switch to RIOT AES by olegart · Pull Request #10124 · RIOT-OS/RIOT
Contribution denoscription
Patch to adapt LoRaMAC 4.4.1 to RIOT AES implementation.
Code size: RIOT AES significantly bigger without #10037, ~1KB bigger with #10037, about the same size as LoRaMAC ...
Patch to adapt LoRaMAC 4.4.1 to RIOT AES implementation.
Code size: RIOT AES significantly bigger without #10037, ~1KB bigger with #10037, about the same size as LoRaMAC ...