Пожалуй, это самый первый и простой хак с этим принтером.
solidoodle это достаточно дешевый 3д принтер, которым я разжился несколько недель назад. Помимо разного треша и мелочей, самая большая проблема в механики — дребезг при позиционировании по Z, который оставляет заметные артефакты на детали, заметные даже при печати .35 мм на один слой. И это… печально. Про .1 мм я вообще молчу.
Автор: ncrmnt
Треш и угар: android, ping и java
Кодинг под мобильные платформы, это то еще удовольствие. Наверное, начиная с времен J2ME. С надеждой жду, когда Jolla Mobile выкатит свою продукцию на рыкок, ибо iOS и android это та еще пакость. Ну а пока выбираю дройд, как меньшее из зол и более вменяемое.
Потребовалось мне на днях пингануть приложением интернеты, проверить живо ли оно да в зависимости от этого пошаманствовать. Свежа история, на прошлой неделе человек рассказывал мне про лютые извращения с SCNetworkCheckReachabilityByName
на iOS для этой цели, пришла теперь моя очередь познакомиться с этим адом в контексте андроеда.
uboot для ar9331
Кто там просил дамп для Mercury? Забираем тут
OpenWRT на cubieboard (Allwinner A10)
ЛУТ 80го уровня: прототипируем MP2109DQ
Я еще даже не забросил свой унылый инженерный бложик 😉
Для тех кто еще не слышал, есть такие очень хорошие и годные импульсники: MP2109DQ, которыми я затарился в китаях, где стоят они немногим меньше юаня, почти по цене линейников AMS1117.
Это синхронные степдауны, 2 штуки в одном корпусе, диод в обвяз не нужен: только 2.2uH индуктивности, пара конденсаторов и резисторов. И все это в QFN10 (3×3 мм). Но лепить их так сразу на проект было стремно, ибо плата там большая, а на рефаб налетать не хочется. Потому, как и обычно я решил оттестить их на мелкой самоделной плате. Заодно и проверить/прокачать свои скиллы ЛУТа.
Под катом еще пара фотографий
(далее…)
uISP Tool
Давненько надо было описать эту тулу, да вот никак руки не доходили. В общем, история такая. Хотелось мне иметь в кармане компактный мультитул, который и отладочную плату юзать можно. Готового не оказалось. И я решил сделать свой. За основу взял самое доступное и дешевое, что было под рукой — atmega8, добавил на борт usb через vusb, после прошелся по всем основным проектам, созданным на основе vusb и адаптировал их под созданную железку. В этом-то и плюс avr — много готовых проектов, которые надо было просто собрать в кучу.
Хабы-убийцы.
Не так давно товарищ жаловался, что ему хаб с внешним питанием попалил материнку. И даже показывал хаб. 10ти портовый хаб, точь-в-точь как те, которые я притащил из китаев. Разве что товарищ этот его покупал здесь, а я напрямую у китаез. Почесав голову я не долго думая я вскрыл свой 10-портовый хаб на предмет понюхать что там и как.
(далее…)
stcdude 0.1-rc1 доставлен
Ну что, было весело, и я могу похвастаться первым работающим релизом stcdude.
stcdude это опенсорсная ISP утилита для прошивки микроконтроллеров STC. Долгожданная замена упоротой софтине от китаез написанной на VB6.
так что теперь можно комфортно работать используя привычные инструменты: sdcc и make.
(далее…)
Занимательная математика
Продолжаю веселиться с микроконтроллерами STC, и опять попалась интересная задачка. В общем, частота на которой работает мк определяется хост компьютером по 8ми 16-битным числам, которые передает хосту контроллер в инфопакете. MCU измеряет какую-то часть временной диаграммы последовательности двух байт {0x7f, 0x7f} и передает 8 измерений хосту в инфопакете вместе с другими настройками. Из них надо получить частоту кварца/RC осциллятора в мегагерцах. Получилась хорошая задачка решающаяся небольшим количеством школьной математики.
Скажем дружно «привет, stcdude»
Прошло некоторое время, с тех пор как были последние подвижки над этой проблемой, но сейчас уже начинает что-то вырисоввываться.
Я оказался полным идиотом и несколько дней потратил на брутфорс поиск нестандартного полинома дл CRC-16 и как-то недоглядел, что это чексуммой оказалась простая сумма байт в посылке в порядке BIG ENDIAN. ну а после задача развалилась и стала тривиальной, протокол оказался прост как три копейки одной монетой. отдельное время потребовалось на написание пары дешевых, но очень сердитых парсеров на луа, которые мне живехонько сварганили базу данных по контроллерам STC, их меджикам, а после дополнили это инфой из CDB файла от Keil’а Сейчас это тупо табличка луашная, которую просто обновлять вмерживая в нее инфу. Не шибко чистое решение для бд, но пока сойдет. А уж будет тормозить — переедем на sqlite.
Ладно, мой ‘proof-of-concept’ код, который пока только и умеет, что запрашивать инфо пакет и декодировать его, и то не полностью, в действии можно увидеть ниже:
[necromant@lamia stcdude]$ ./stcdude -d ./mcudb/stc12x.lua -p /dev/ttyUSB1 -i STC ISP Tool. (c) Necromant 2012 Using mcudb file: ./mcudb/stc12x.lua Loading mcudb ./init.lua Done with result 0 Loading mcudb ./mcudb/stc12x.lua Done with result 0 Using /dev/ttyUSB1 @ 19200 fd is 3 Waiting for an infopacket from MCU... --- 8< --- Part name: STC12C5A32S2 Magic bytes: D170 IRAM size: 256 (0x100) bytes XRAM size: 1024 (0x400) bytes IROM size: 32768 (0x8000) bytes Tested ops: FixMe: implement reading of tested ops Description: 8051-based microcontroller with 1T(1-clock) High-Speed Core, Dual DPTR, 36-44 I/O Lines, 2 Timers/Counters, 2 PCA Timers, Alternative build-in oscillator, Independent Baud Rate Generator, Programmable Clock-Out, 32K bytes flash ROM, 1280 bytes data RAM, On-chip EEPROM, 2 UARTs, WDT, ISP/IAP, A/D, CCP/PWMm --- 8< ---
Все остальное - в этапе напилинга, копания показали, что существует по меньшей мере 3 вариации ISP протокола, так что мы далеки от полной поддержки всего, что только есть. Но их добавить будет уже просто. Желающие отведать чудной препреальфы могут сходить взять копию с моего шитхаба.