Двое из ларца, одинаковых с лица
В чатах просили поделиться китайскими спартанами. Вот, обфотал под разным углом XC6SLX9 от двух разных поставщиков с Али. Помимо маркировки отливка корпуса и его шероховатость тоже отличаются.
В комментах можем поиграть в угадайку какой из них оригинальный (и по какому признаку). Правильного ответа я не знаю, mojo v3 у меня тоже китайская 🤷♂️
@embedoka
В чатах просили поделиться китайскими спартанами. Вот, обфотал под разным углом XC6SLX9 от двух разных поставщиков с Али. Помимо маркировки отливка корпуса и его шероховатость тоже отличаются.
В комментах можем поиграть в угадайку какой из них оригинальный (и по какому признаку). Правильного ответа я не знаю, mojo v3 у меня тоже китайская 🤷♂️
@embedoka
RPi + CAN bus
Наконец закончил описание моего сетапа малинки с дополнением в виде двух шин CAN на базе МСР2515. В первую очередь пишу для того, чтобы раз в полгода не вспоминать каждый раз как я там что настраивал. Вообще настройка шины CAN - это часть моих заметок по различным аспектам настройки Raspberry Pi: https://github.com/iDoka/raspberrypi-recipes
Немного подробнее о железе (для тех кто захочет повторить): использую китайскую макетку с МСР2515 + TJA1050, на которой трансивер перепаян на модель с питанием 3.3В - соответственно это всё добро питается с гребёнки малины 3,3 вольтами. Далее настроена WiFi точка доступа (инструкция есть в репо), к которой в полевых условиях можно подключаться с планшета/смартфона и запускать скрипты записи дампов обмена по шине. Чтобы дампы писались с правильной датой - сетап был дополнен платой с RTC. Для настольного подключения и сброса дампов захожу терминалом через UART-to-USB адаптер (у меня модель А без Ethernet).
PS: полезная ремарка - питается это всё от battery-pack, чтобы не ловить спонтанные перезагрузки и зависания при питании от бортсети.
@embedoka
Наконец закончил описание моего сетапа малинки с дополнением в виде двух шин CAN на базе МСР2515. В первую очередь пишу для того, чтобы раз в полгода не вспоминать каждый раз как я там что настраивал. Вообще настройка шины CAN - это часть моих заметок по различным аспектам настройки Raspberry Pi: https://github.com/iDoka/raspberrypi-recipes
Немного подробнее о железе (для тех кто захочет повторить): использую китайскую макетку с МСР2515 + TJA1050, на которой трансивер перепаян на модель с питанием 3.3В - соответственно это всё добро питается с гребёнки малины 3,3 вольтами. Далее настроена WiFi точка доступа (инструкция есть в репо), к которой в полевых условиях можно подключаться с планшета/смартфона и запускать скрипты записи дампов обмена по шине. Чтобы дампы писались с правильной датой - сетап был дополнен платой с RTC. Для настольного подключения и сброса дампов захожу терминалом через UART-to-USB адаптер (у меня модель А без Ethernet).
PS: полезная ремарка - питается это всё от battery-pack, чтобы не ловить спонтанные перезагрузки и зависания при питании от бортсети.
@embedoka
GitHub
raspberrypi-recipes/CAN.md at master · iDoka/raspberrypi-recipes
Collection of practice recipes for RPi. Contribute to iDoka/raspberrypi-recipes development by creating an account on GitHub.
#БольшойБрат
Уж не знаю что это: пасхалочка/специфическое чувство юмора разрабов или просто импортозамещённый ББ решил напомнить, что он знает обо мне больше, чем я ему когда-либо "рассказывал"?!... 🤔
В 2020г такими "совпадениями" уже мало кого удивить. Тот случай, когда вслух не говорят, но все всё понимают.
Уж не знаю что это: пасхалочка/специфическое чувство юмора разрабов или просто импортозамещённый ББ решил напомнить, что он знает обо мне больше, чем я ему когда-либо "рассказывал"?!... 🤔
В 2020г такими "совпадениями" уже мало кого удивить. Тот случай, когда вслух не говорят, но все всё понимают.
Много боли в заметке и комментах, но освещены увы только минусы, а есть и плюсы: потом в Сбер без собеса и на нормальные деньги берут 😊
Трижды, с интервалами в полтора года и полгода, успешно проходил все9 кругов этапы собеседования в Яндекс. С каждым разом, разумеется, всё лучше и лучше. И мне трижды давали понять что я могу войти в клуб. Что готовы взять меня, но не за те деньги, которые я просил. Говорили мне, что пока я недостаточно хорош. Вот через год, если я получу две оценки "D" на ревью, мне поднимут зарплату. И это притом, что я изначально делал экслюзивную скидку Яндексу: просил ровно столько, сколько получал на текущей работе, хотя считал, что мне серьёзно недоплачивают. Но Яндекс мне говорил, что недоплачивать, как тебе сейчас недоплачивают, мы начнём только через год, а пока будем недоплачивать так, что тебе и не снилось.
Не знаю точно сколько Яндекс создал технологий, но уверен, что самая крутая их технология — это технология HR. Они раскусили нас и покупают время самых дорогих разработчиков на рынке за средние, если не ниже, зарплаты, выжимая из нас всё, на что мы способны. И делают они это не кнутом и не пряником, мы сами готовы им продаваться за копейки.
https://habr.com/ru/post/530228/
@embedoka
Трижды, с интервалами в полтора года и полгода, успешно проходил все
Не знаю точно сколько Яндекс создал технологий, но уверен, что самая крутая их технология — это технология HR. Они раскусили нас и покупают время самых дорогих разработчиков на рынке за средние, если не ниже, зарплаты, выжимая из нас всё, на что мы способны. И делают они это не кнутом и не пряником, мы сами готовы им продаваться за копейки.
https://habr.com/ru/post/530228/
@embedoka
«Изобретать велосипед [ДА][НЕТ]»
А вы знали, что у термина NIH (not invented here — «изобретено не нами»), обозначающего синдром неприятия чужой разработки есть антипод в лице PFE ("proudly found elsewhere" or "invented elsewhere"— «с гордостью найдено в другом месте»).
В качестве примера второго термина часто приводят кейс Procter & Gamble, которые, начиная с 80хх, преодолевали кризис инноваций.
@embedoka
А вы знали, что у термина NIH (not invented here — «изобретено не нами»), обозначающего синдром неприятия чужой разработки есть антипод в лице PFE ("proudly found elsewhere" or "invented elsewhere"— «с гордостью найдено в другом месте»).
В качестве примера второго термина часто приводят кейс Procter & Gamble, которые, начиная с 80хх, преодолевали кризис инноваций.
@embedoka
Не только FPGAшники упарываются по миганию светодиодами, вот тут чел заморочился и реализовал 4 подхода к имплементации blink LED на bluepill:
▫️using STM32CubeMX platform
▫️using libopencm3 library function calls
▫️using libopencm3, but only for register definitions
▫️bare-metal without libraries
и конечно куда ж без сравнения размеров итоговой прошивки в байтах (в том же порядке):
▫️
@embedoka
▫️using STM32CubeMX platform
▫️using libopencm3 library function calls
▫️using libopencm3, but only for register definitions
▫️bare-metal without libraries
и конечно куда ж без сравнения размеров итоговой прошивки в байтах (в том же порядке):
▫️
3496
▫️1088
▫️ 608
▫️ 440
Результаты более чем красноречивы и коррелируют со звучащим из каждого динамика лозунгом: "кремний нонче дёшев"@embedoka
СберОС vs iOS
то чувство, когда начинаешь понимать истинный смысл выражения "Сбер хочет быть как Эппл" 😱
@embedoka
то чувство, когда начинаешь понимать истинный смысл выражения "Сбер хочет быть как Эппл" 😱
@embedoka
Embedded Doka
#пятничное @embedoka
внезапно в STM32F0 обнаружилась возможность лёгким движением руки махнуть RXD c TXD местами, тем самым уменьшив баттхёрт от классических ошибок.
@embedoka
@embedoka
👍1
Продолжаем про UART в STM32
Кстати сказать, такие фичи как раздельная инверсия RXD и TXD тоже довольно востребованы.
Вот вам пример использования в китайском девайсе для преобразователя K-line: приёмник (неинверсный) реализован на резистивном делителе, а вот передатчик удалось скостить с двух транзисторов (6 элементов) до одного транзистора (3 элемента), проинвертировав сигнал второй раз внутри МК.
В этом смысле китайские ребята всё больше напоминают советстких инженеров,которые из говна и палок с их школой бережливости и оптимизаторства, заданной линией партии. 👍🏻
Конечно подкупает такая продуманность и забота со стороны разработчиков периферийного блока - вот так вот в инженерной среде и создают адвокатов бренда 😍
PS: Чипмейкерам на заметку! ☝🏻
@embedoka
Кстати сказать, такие фичи как раздельная инверсия RXD и TXD тоже довольно востребованы.
Вот вам пример использования в китайском девайсе для преобразователя K-line: приёмник (неинверсный) реализован на резистивном делителе, а вот передатчик удалось скостить с двух транзисторов (6 элементов) до одного транзистора (3 элемента), проинвертировав сигнал второй раз внутри МК.
В этом смысле китайские ребята всё больше напоминают советстких инженеров,
Конечно подкупает такая продуманность и забота со стороны разработчиков периферийного блока - вот так вот в инженерной среде и создают адвокатов бренда 😍
PS: Чипмейкерам на заметку! ☝🏻
@embedoka
Вторая жизнь FPGA-плат или девборд задёшево
Потихоньку выхожу из постновогодней спячки.
По ссылке подборка плат на ПЛИС: морально устаревших либо просто неактуальных, а потому продающихся за копейки. Итак, что в ней есть:
▫️контрольная плата на Zynq от майнера
▫️платы на ECP5 & Spartan6 от контроллеров матриц светодиодов
▫️ECP5 от видеоадаптера (HDMI-USB3)
▫️Arria GX от PCI-E Gzip ускорителя
▫️Spartan3 от тонкого клиента Panologic
▫️серверная числодробилка о которой писал тут https://news.1rj.ru/str/embedoka/31
@embedoka
Потихоньку выхожу из постновогодней спячки.
По ссылке подборка плат на ПЛИС: морально устаревших либо просто неактуальных, а потому продающихся за копейки. Итак, что в ней есть:
▫️контрольная плата на Zynq от майнера
▫️платы на ECP5 & Spartan6 от контроллеров матриц светодиодов
▫️ECP5 от видеоадаптера (HDMI-USB3)
▫️Arria GX от PCI-E Gzip ускорителя
▫️Spartan3 от тонкого клиента Panologic
▫️серверная числодробилка о которой писал тут https://news.1rj.ru/str/embedoka/31
@embedoka
GitHub
GitHub - iDoka/awesome-fpga-boards: :atm: Second life for FPGA boards which can be repurposed to DYI/Hobby projects ..........…
:atm: Second life for FPGA boards which can be repurposed to DYI/Hobby projects ............................................................................................... - iDoka/awesome-fpga-...
YAGNI for HW
«You aren't gonna need it» («Вам это не понадобится») — процесс и принцип проектирования софта, при котором в качестве основной ценности декларируется отказ от избыточной функциональности (отказ добавления функциональности, в которой нет непосредственной надобности).
Если перенести YAGNI в эмбеддед сферу, то опыт HW-инженера необходим для нахождения оптимального компромисса между риском баттхёрта при bringup и/или отладке девайса и избыточной функциональности с другой стороны.
Последствия последнего таковы:
▫️Увеличенное время разработки железа
▫️Чрезмерное раздувание ВОМ:
▫️увеличение стоимости девайса
▫️увеличение времени сборки из-за цепочек поставок
▫️Чрезмерный функционал крадёт тот функционал, который может быть добавлен в будущем (при ограничениях, например, на размер РСВ)
▫️Трудно предугадать как именно этот функционал будет использован в будущем (моё любимое)
▫️Увеличение рисков взлома девайса (чрезмерное увлечение дебаг интерфейсами, удобство доступа к компонентам)
▫️[поделитесь в комментариях тем, что я пропустил/забыл]
@embedoka
«You aren't gonna need it» («Вам это не понадобится») — процесс и принцип проектирования софта, при котором в качестве основной ценности декларируется отказ от избыточной функциональности (отказ добавления функциональности, в которой нет непосредственной надобности).
Если перенести YAGNI в эмбеддед сферу, то опыт HW-инженера необходим для нахождения оптимального компромисса между риском баттхёрта при bringup и/или отладке девайса и избыточной функциональности с другой стороны.
Последствия последнего таковы:
▫️Увеличенное время разработки железа
▫️Чрезмерное раздувание ВОМ:
▫️увеличение стоимости девайса
▫️увеличение времени сборки из-за цепочек поставок
▫️Чрезмерный функционал крадёт тот функционал, который может быть добавлен в будущем (при ограничениях, например, на размер РСВ)
▫️Трудно предугадать как именно этот функционал будет использован в будущем (моё любимое)
▫️Увеличение рисков взлома девайса (чрезмерное увлечение дебаг интерфейсами, удобство доступа к компонентам)
▫️[поделитесь в комментариях тем, что я пропустил/забыл]
@embedoka
как документировать FSM?
Самые шикарные диаграммы машины состояний я встречал толи у самсунговской, толи у SK-hynix памяти.
В принципе, для генерации noscript достаточно Graphviz с формализованным описанием переходов и настроенными стилями. Но вот этот парень пошёл дальше, что позволяет встраивать ASCII-art c FSM прямо в исходник:
https://github.com/ggerganov/dot-to-ascii
PS: сразу вспоминаются тёплые ламповые времена, когда ASCII-art'ом в исходнике рисовали времянки 😝
@embedoka
Самые шикарные диаграммы машины состояний я встречал толи у самсунговской, толи у SK-hynix памяти.
В принципе, для генерации noscript достаточно Graphviz с формализованным описанием переходов и настроенными стилями. Но вот этот парень пошёл дальше, что позволяет встраивать ASCII-art c FSM прямо в исходник:
https://github.com/ggerganov/dot-to-ascii
PS: сразу вспоминаются тёплые ламповые времена, когда ASCII-art'ом в исходнике рисовали времянки 😝
@embedoka