SmartQ7 и CO2 лазер.

Готовим мой старенький сморчок для роли робомозга.
Для этой цели потребовался внутренний уарт. По счастью, с доступом к станку лазерной резки это просто. Спасибо Диме за помощь со станком.



На хедере содержаться пины:
Вход питания для зарядки батареи
3.3 вольта выход с регулятора
Земля (куда же без нее?)
RX/TX пины уарта.

Китайская поделка на InfoTM X220

Собственно свершилось. Ко мне дошел планшет на базе этого китайского чипа.
Помня большое количество мучений с SmartQ 7 я уже заготовил набор напильников, но оказалось, что китайцы в этот раз сделали все на удивление неплохо.
Итак, сначала самые основные пункты.
Тачскрин резистивный, но на удивление неплохой. нареканий особо нет, по клавиатуре не промахиваюсь, калибровка не сползает, при удержании стилуса на одном месте дребезг малозаметен.
GPS действительно есть и действительно работает. Внешняя антенка в комплекте пришлась кстати.
Видео SD и HD кушает очень неплохо, при помощи встроенного CCPlayer’a. Это поделие с «пакманом в наушниках» на значке не переводится на английский/русский но свое главное дело — играть фильмы делает. Разного рода HD кино я особо не гонял, еще предстоит, но SD играет на ура.
3D действительно есть, и действительно работает. Несколько скачанных с маркета игрушек завелись сразу.
Акселерометр тоже порадовал. aTilt3D на таком экране выглядит красиво и работает без нареканий и тормозов.
камера — обычный веб глаз, не думаю что говорить тут надо о ней особо.
Чувствительность микрофона могла бы быть и выше.
Динамики достаточно тихие, пока еще не смотрел решается ли эта проблема программно.
_ОЧЕНЬ_ порадовал USB. Оба порта не просто работают в 2.0 режиме, обеспечивая хорошую скорость как чтения, так и записи, но и еще выдают хороший ток. Планшет без проблем раскачал два внешний жесткий диска от одной батареи и перекопировал образ убунты с одного на другой. USB флешки/веники монтируются автоматом, если там fat, ext2/3 и все остальное не видит.

Теперь неприятные вещи и как с ними бороться.
Первое — это wowHome. Замена стандартному хоуму с «3д кубиком» для выбора приложений. Жрет около 40ка мегабайт памяти, и при установки LauncherPro или альтернативного хоума все равно запускается.
Судя по отрисовке, эта поделка не использует возможности 3д ускорителя, и рисует кубик через 2д — отсюда и тормоза.
Второе — «Живые обоины» не работают обычно как надо, если используют 3д. работают через раз, тормозят… в общем отключать. Благо не шибко большая потеря. \
Скайп не хочет работать нормально — звонит, а потом сразу call failed. Входящие звонки тоже не ловит — только текст.

Ну а теперь вооружимся напильником и доведем клиента до кондиции.
Сначала получаем права администратора при помощи Universal androot. проблем здесь никаких, все одной кнопкой. Далее через root explorer или командную строку ищем и переименоввываем/сносим wowHome.apk.
Это наконец прибьет китайский хоумскрин. Вместо него будет либо стандартный андройдовский хоум, либо тот, который поставите себе. Я влепил себе туда LauncherPro. Работает очень плавно, без замираний. Попутно это показало рисованную китайскую красавицу с светлоголубыми волосами.

Выглядит по любому лучше тормознутого WowHome. Сам девайс при этом разогнался, и по отзывчивости стал не слишком уступать моему Motorola Milestone.
Из прочего софта не помешает autorotate switcher, ибо лежать на боку и читать в альбомной ориентации экрана иначе не выйдет.
Но это уже на любителя.

Время работы. Погонять девайс еще предстоит, но за время просмотра 40-минутной серии мозгоразжижающего Fringe, который я скачал для тестов батарея села где-то на 40%.
Учитывая, что смотрел я его с внешнего жесткого диска при максимальной яркости подсветки вполне достойный результат. Посмотрим, как батарея будет деградировать со временем.
Антена WiFi немнго даже лучше майлстоуновской, соединение держит стабильно и проблем в стиле SmartQ7, от которых я избавлялся при помощи другой антенны, паяльника и великого русского языка не было. Сверху есть переключательль WiFi, что оказалось удобным. Подозреваю, что power management для адаптера они нормально не осилили, потому и вывели переключатель наружу.
Проверил — оказался прав. С программно выключенным вайфаем батарейка садиться немного быстрее.
Проводная сеть работает на ура, хотя ADSL я не тестил, ровно как и 3G.

Из прочих раздражающих мелочей — шипящий во время работы динамик и заметно пищащий при максимальной яркости экран.
Первое должен в теории вылечить фильтрующий кондер на питание усилка (Или DAC’a), но пока вскрывать и лезть внутро с паяльником не хочется.
Лекарств от второго я особо пока не знаю. К счастью, на максимальной яркости я обычно не работаю.

Linux на MT6235 КИТах.

Началось. Дружно говорим ребятам из проекта oscom-baseband спасибо. Я раньше думал, что мму в КИТах нет. Оказывается, в чипе MT6235 оно есть. И линух на нем подняли.
И это даже заработало на моем Е1000
Инструкции просты. Для начала берем телефон.

Находим внутренний уарт и подрубаем к своему любимому чипу уарт-в-усб.

Далее все по инструкциям отсюда: http://bb.osmocom.org/trac/wiki/SciphoneDreamG2

Из убута пашет nand, ram, mmc
Код инициализации PLLки жестко завесил мой аппарат, так что не вариант, увы. По крайней мере пока будем тормозить.

Но все же приятно, наконец увидеть:

/ # uname -a
Linux (none) 2.6.36-next-20101029+ #72 PREEMPT Wed Nov 17 14:10:39 CET 2010 armv5tejl GNU/Linux
/ # cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 104.24
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5

Hardware : E1000 Rachel
Revision : 0000
Serial : 0000000000000000
/ #

Я продублировал код scipfone и обозвал борду e1000-rachel. Большей частью потому, что потом будет и специфика, относительно моего аппарата.
Самое время фиксить баги, писать код… Блин, да я даже и не думал, что сие возможно будет.
Покурив даташит у меня потекли слюнки.
С 2d ускорителем, вайфаем, блютузом и тв…. Этой штукой можно будет на ура рулить радиуправляемыми модельками. Возможностей куча, железо архидешево.

Много DC движков, попытка номер раз.

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


Может рулить 6ю движками, в теории. Должна была рулить семью, но я прокосячил в одном месте.
Жаль конечно полностью не успели. Мне еще предстоит написаь код, а Inky закончить механику.

Китайская мобила + MakeProgress = Вольтметр питания УСБ

Собственно вожусь со своим сетапом для удаленной отладки. УСБ девайсов у меня много, 10портового хаба не хватает. Разумеется запитать все это дело, когда там заряжается планшет мобильник, питается несколько девборд и прч. проблемно. Надо бы знать, когда питалово проседает. По крайней мере пока я не поставлю более мощный адаптер питания.
В общем воспользовавшись АТ командой AT+EADC=1, православным башем, и плазмоидом MakeProgress получил примерно такое:

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

at_daemon.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/bash
 
if [ -e /tmp/at_fifo ]; then
echo "Already ready."
cat /dev/rfcomm0 >> /tmp/at_fifo&
else
mkfifo /tmp/at_fifo
chmod 777 /tmp/at_fifo
echo "Configuring interface"
rfcomm bind rfcomm0 34:71:B9:53:66:01 10 
stty -F /dev/rfcomm0 115200 
echo "AT interface ready"
fi
 
#enable ADC & EKPD by default
 
./at_files/init.sh&
 
while true; do cat /tmp/at_fifo|while read line; do
#echo $line
CMD=`echo $line|cut -d" " -f1`
DATA=`echo $line|cut -d" " -f2| sed 's/.$//'`
case "$CMD" in
  "+EADC:")
  VBAT=`echo $DATA|cut -d"," -f1`
  VUSB=`echo $DATA|cut -d"," -f5`
  echo '{"minimum":0,"maximum":4.5,"value":'$VBAT'}' > /tmp/vbat
  echo '{"minimum":0,"maximum":6,"value":'$VUSB'}' > /tmp/vusb
  echo "VBAT=$VBAT; VUSB=$VUSB"
   ;;
  "+EKPDS:")
  KEYEVENT=`echo $DATA|cut -d"," -f1`
  KEYCODE=`echo $DATA|cut -d"," -f2`
  if [ $KEYEVENT -eq "1" ]; then
    echo $KEYCODE
    ./keymaps/e71.map $KEYCODE
    fi
  ;;
  "SEND")
  ATCMD=`echo $line|cut -d" " -f2`
  echo "$ATCMD" > /dev/rfcomm0
  echo "Sending CMD: $ATCMD"
  ;;
  "ERROR")
  echo "Bad stuff =("
  ;;
  "OK")
  echo "All fine"
  ;;
  *)
  echo $line
  ;;
 esac
done
done

init.sh
Высылает команды на включение вывода с ацп
AT() выдергиваем отсюда для своих нужд.

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
AT()
{
echo "SEND AT$1" > /tmp/at_fifo
}
sleep 5
#Since there's a bug/feature - a double command of the same thing just increases the poll frequency
AT "+EKPD=0"
AT "+EADC=0"
AT "+EKPD=1"
AT "+EADC=1"

e71.map
Пример мэппинга. В туду сделать его красивше, но это как-нибудь в следующий раз.
e71.map
A small and limited example of key mapping script. Yet to be remade into a better looking map using a more neat solution.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash -x
echo $1
 
case "$1" in
14)
  xdotool key Up
;;
15)
  xdotool key Down
;;
16)
  xdotool key Left
;;
17)
  xdotool key Right
;;

МейкПрогресс для этого пришлось немного хакнуть, он только в % отображал значение. Фичреквест отправил Никите Мельниченко, авось пофиксит к след. релизу.
P.S. Через TST-PS можно оказывается получать координаты нажатия на экран. Жаль в синий зуб не пробросишь…

madwimax + ap mode

Пришлось попотеть прежде чем заставить заработать субж на ноуте. По ходу модуь ath5k идущий с бубунтой 10.04 не умеет режима точки доступа и нужно ставить ath_pci. (Фанатики сча заорут про проприетарный hal и ненужность, бла бла.) Забавно, что снапшоты не заработали, и не хотел работать даже svn head. Все запускается, но не видят AP устройства, а сам лэптоп вайфай сетки.
Внезапно: modbrobe -r ath5k && modprobe ath_pci работать вообще никаким макаром не будет.Надо либо заблэклистить ath5k, и перезагрузиться, или


modprobe -r ath5k
переводим лэптоп в спячку
будим
modprobe ath_pci

Впрочим, виндофанаты могут сделать и ребут. Им не привыкать.
Ну а теперь самое главное скрипт, переключающий режимы wifi карточки между AP и STA

#!/bin/bash
WW=$1
if [ $WW == "ap" ]; then
ifconfig ath0 down
wlanconfig ath0 destroy
killall knetworkmanager
/etc/init.d/network-manager stop
wlanconfig ath0 create wlandev wifi0 wlanmode ap
#wlanconfig ath0 destroy
#wlanconfig ath0 create wlandev wifi0 wlanmode ap
#wlanconfig ath1 create wlandev wifi0 wlanmode sta nosbeacon
hostapd -B /etc/hostapd/anomalia.conf&
sleep 1
ifconfig ath0 192.168.0.1
/etc/init.d/dhcp3-server start
exit 0
fi
if [ "$WW" == "sta" ]; then
killall hostapd
ifconfig ath0 down
wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode sta nosbeacon
sleep 1
/etc/init.d/network-manager start
su necromant -c knetworkmanager&
/etc/init.d/dhcp3-server stop
sleep 1
exit 0
fi

./ap.sh ap прибивает network-manager & knetworkmanager
(Гномерам надо прибивать nm-applet)
./ap.sh sta возвращает sta режим.
Дешево, сердито, но работает.
Полный хавту писать было лень.

Где моя БСка, чувак?

Плохой сигнал йоты. Что делать? биквадрат самому позиционировать лень!
Но есть старый сканер, шаговый двигатель, attiny2313, uln2003a и немного свободного времени…

Дешевый и сердитый кондиционер.

Тут газенваген:
Freaking smoke!

Потому решил соорудить нечто, дабы моск не пропускал такты от перегрева…

2 ведра, вода, лед, насос и кулер от БП. Продуваем воздух через водяную камеру где разбрызгиваем воду (большое ведро) и вуоля!

Уже лучше. Эта малышка охладила воздух с 34 до 30… А потом кончился лед…
Впрочем в гроде сейчас хуже.

Леды!11

В общем работаю над автокрутилкой йотовской антенны. На прошлый выходных завел шаговое двигло на attiny2313 и uln2003a. Движок от хдд не прокатил — оказался 3хфазным бесколлекторным, который без лишнего геморроя не подключишь к простенькому контроллеру. Потому я использовал его вместо подшипника. Всю конструкцию оставил на даче на доработку, а попутно, уже дома сооружаю светодиодное оформление этого чуда инженерной мысли. Проблема в том, что пинов мало осталось свободных, а светодиодов навешать хочется много.
Но тут на помощь пришли регистры 74HCT273. Их мне отсыпали по 4ре рубля в честь распроджажи, в то время как сдвиговые были по десятке. Будучи человеком жадным, я соединил выход предыдущего со входом следующего, получил сдвиговый геристр. Вообще как пример в учебнике. Проверяем через LPT и обожемой! оно работает.
Ну все, теперь только закончить антенну….

Биквадрат.

Соорудил биквадрат для йоты. Попутно кантузил корпус модема, потому пришлось оный выкинуть и запихнуть модем в корпус от ретрогеймбой адаптера (так я его ни разу и не поюзал в детстве).
Что из этого вышло — фотки под катом.
На тесте на улицах москвы оная конструкция показала себя очень и очень хорошо — 7-9 мегабит на даунлоад в большинстве мест — только высуни в окно.
А вот на даче ни в какую. даже после установки на параболику от нтв+… Сдается мне, надо делать что-то более мощное…