MakeProgress + mysql + PHP

ТЗ: Хранить задания со статусом выполнения на серваке и отдавать их плазмойду мейкпрогресс.

Реализация: Так как набросать надо было быстро – обошлось мне в 100 строк на пыхыпэ, для хранения используется mysql

Лицензия: WTFPL

Исходник под катом, выслал Никите Мельниченко, глядишь включит в виде бонуса к плазмойду.

Continue reading “MakeProgress + mysql + PHP”

Сетевой изврат

На работе, на стендовом железе рядом с макетом на котором работаю, очень все хитро до извращенности сделано. к машине разрешени входящие подключения по ссх, но с нее в интернет – ни ссх, ни хттп.. ничего. только днс фигашит да пинги.  А встала надобность подать сигнал домой, как борда освободиться. Решил я проблему примерно так:

conntrack -e DESTROY -s x.x.x.x -E | (while true; do read line; echo $line; lsay “The board is ready to use”; done )

где вместо x.x.x.x айпишнег стенда. Это конечно не тунель овер ицмп, но тоже весело.

Project myPhone: начало

Принесли мне вечерком 16 гиговый ифон. Купили с рук и жалуются, что оно “ниработает”. Пластик добротный, выглядит аутентично. Только батарея села – показывает яблоко и гаснет… На первые секунды я даже поверил, что оно настоящее. Ну а потом заметил нестыковки, и догадался расхреначить. Фото начинки и полная история под катом.
Continue reading “Project myPhone: начало”

Прогрессируй!

Не так давно наткнулся на замечательную вещицу для плазмы.

В общем сия штука позволяет быстро и просто рисовать прогрессбары на вашей плазме. Маленькая заметка, как приспособить это для мониторинга процессов на вашем серваке.
Continue reading “Прогрессируй!”

USBasp на стеройдах

В общем-то задолбал меня мой лптшный небуферизованный, который когда не в духе убивал авры. Пять минут мучительных раздумий, полчаса разводки, пара часов на утюженье и пайку и вуоля. Моя версия программатора USBasp на стеройдах.
На выбор три варианта напрги: 3.3, 3.6 (если на 78l05 на вход подать ровно пять от усб, получим аккурат 3.6 на выходе, узнал когда собрал) и, собственно, 5 вольт.
Помимо флешенья авров будет так же уметь общаться по i2c c еепромами и сможет работать как усб<-->уарт бридж. Надо только прошу дописать. Но авры шьет уже на ура.
Ах да, и, конечно же, пруфпик:

MegaDog, продолжаем доводить клиента до кондиции

Начнем с небольшой сказки. О текстолите.

Был у меня текстолит. Часть – который я сам купил, часть – который дед мне отдал из старых запасов, когда сам он этим безобразием занимался. Односторонний миллиметровый пошел хорошо и скоро трофейного однослойного не осталось – только тот, что я впоследствии прикупил. Но вот встала надобность травить двуслойку и достал я трофейный дедов двуслойный текстолит.

Создается впечатление, что он трофейный аж из германии в 45м, ну либо просто провалялся долго: мало того что поверхность от окисла час тер, так когда уже протравил при пайке он вонял, словно тухлая селедка приправленная не менее тухлыми носками. Ну и дороги после этого как-то подозрительно отрываются легко… В общем, трофей пришлось отложить в сторону, и достать однослойный полумиллиметровый текстолит, купленный на днях в “кварце”. Хотя основную роль в необходимости перетравки платы здесь сыграло то, что я по дури навалял пару косяков в разводке, которые всплыли потом и пока паял оторвал энное количество дрожек.

Впрочем, оно и к лучшему.

На полумиллиметровом разводочка вышла просто заглядение – нигде ничего не отрывается, все ровненько, все красиво, прям как с завода, несмотря на то что все еще старый добрый ЛУТ.

(Слота под карту не видно, он снизу.)

Ну а дальше уже дело навыка – V-USB, CDC-ACM реализация, и бутлоадерHID

Девайсина содержит бутлоадер (растрепанированный BootLoderHID (Не влезало в 2кб, местами пришлось напильником допиливать)). Так что ISP может отдохнуть на полочке. Коли перед стартом накинуть джампер, то можно будет его обновить. Ну и если будет целевая аудитория – могут спокойно обновляться без ISP. Автор BootloaderHID’a приспособил его даже для работы под мерзопакостной виндой.

В штатном же режиме все плугнплей. Втыкай, находи в /dev файлик ttyACM0, ну а дальше кому и чем удобнее. Хоть миникомом, хоть чатом, хоть из кода – открывай и рули АТ командами.

–cut–

AT

OK

ATV

MegaDog Prototype I rev. 1.2a CoDeName: maniac

FW: 0.1-pre; ldr: BootLoadHID-md 0.9

S/N: lilith-0000

MEPHI Science Session 2010; Party Build. Kaf 27/Mephi

–cut–

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

Суть проста. Первые байты, не считая нулевого (его частенько затирает, потому выкидываем его), являются массивом из N указателей на NULL-trminated стринги в еепроме. Дефайним константы с номерами строк по мере надобности, и делаем хитрую функцию которая по номеру выдает нам стринг. желательно сразу в виртуальный уарт. Ну а далее я соорудил несколько AT команд и функций, которые потом можно исключить из проши дефайном.

ATSI – инициализирует нулями таблицу строк.

ATSA TEXT – добавляет текст в ближайшую свободную ячейку. фейлит если кончились ячейки или еепром.

ATSD – начинает поочередный дамп строк еепрома. выводит первую строку.

ATSN – дампит следующую строку из еепрома. Для сброса в начало используем ATSD

В принципе, то что надо, чтобы заполнять еепром скриптом на баше уже после прошивки. Конечно, реализация не самая красивая, зато зараза работает и сэкономит до 512 байт кода, если будем этот текст писать в PGMSPACE. ну и оперативы.

А вот с дисплеем вышел полный облом. mt6116, который я думал использовать по причине, что олед дисплейчик так и не дошел до меня, имеет минимальный уровень логической единицы – 3.6 вольт. а у меня питание 3.3. Первой мыслью было быренько соорудить на 74hc244 конвертер уровня (пока там придет заказ из элитана с готовым решением?) – читать из дисплея мне все равно не надо, но потом я эту затею оставил, ибо лень. Будем ждать OLED’a из раделя… ну и когда приедут из элитана запчасти можно будет собрать до кучи экстеншн с эзернетом… слотов под экстеншны через SPI я предусмотрел 2. Ну один еще можно добавить, перебросив проволочку на ISP коннекторе.

MegaDog, prototype 1

Картинка под катом.

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

Пришлось помаяться с полуторамиллиметровым текстолитом времен СССР, да и вонял он при пайке как-то странно, но не суть

Первое, что пришлось сделать это избавиться от OLED дисплея, ибо поднимать напругу до 10 вольт, необходимых драйверу оного было проблематично. Хотелось оставить питание от пяти вольт USB (3.3 у контроллера и карты по сути), и при этом избежать надобности впендюривать в дизайн дорогостоящий dc-dc преобразователь. Можно конечно было самодельную низкобюджетную конденсаторную помпу замутить, да вот лень было. Посему из патреотический соображений взял валявшийся без дела mt6116, благо либу для рисования на оном всяких кавайностей я перелопатил и заготовил еще осенью.

Итого в текущем дизайне:

  1. Слот под карту (card detect есть, а на защиту от записи пожадничал пина)
  2. 2 SPI разъема для плат расширения + 1 (последний выполняет роль ISP, но когда с програмированием игры закончены – можно использовать и как экстеншн слот)
  3. Резервное питание/зарядка батареек. выведено как слот под раздельную плату. просто я еще не определился что лучше – Li-Ion или NiCd. По желанию напругу батареи можно мониторить закинув на канал ацп.
  4. Три пина выведены на слот PW-CTL, предназначены для руления питанием пациента. В простейшем случае через транзисторы щелкают ресет и павер, а через релеху еще и 220, на случай если дела пациента совсем плохи.
  5. АЦП. 4 канала свободны для наблюдения за напряжениями пациента, один мониторит питание борды (до стабила на 3 вольта). При желании можно пожертвовать одним каналом и мониторить напругу батареи.

Что именно буду пихать в слоты расширения пока еще не решил. Разумеется, одна из платок будет с 10ти мегабитным эзернетом, но по поводу остального не решил, так что оставлю про запас. Кто знает, может и разрожусь каким-нибудь сверхполезным экстеншном. (Так что теперь самое интересное – посмотреть будет ли это нечто работать. (27го показываю широким массам!)

FreakBox, эпопея продолжается.

Собственно продолжаю насиловать сабж. Именно так я переименовал то, что раньше обзывал hack-o-kit. Звучит лучше.
Распаял кредл асера, последовательный порт нормально подцепился, аттайни платка зафурычила в дуэте с кпк на ура. Собрал и траванул атмежную вторую платку, которая должна служить логическим анализатором, осциллографом… и много еще чем. Похоже, подбираюсь к пределу толщины линии, которую может дать ЛУТ, потому пришлось поматериться прежде смог нормально перенести маску и протравить.
И вот неприятность – не цепляется уарт.
С помощью лома, мультиметра и какой-то матери понял, что при питании меги в 3.3 вольта высокий уровень на пине колеблеться где-то 2.5-2.7 вольта.
Что за треш?
В общем причину треша предстоит выяснять потом, а пока пойду-ка я спать. Ах да, и вот хайрес фотки текущего состояния этой кучи сами-знаете-чего. (Привет тебе, Id!)

Прорисоввываем топологию шины...