čtvrtek 1. prosince 2011

ATmega8(L)

16 MHz (16MIPS)
8 KB FLASH, 1KB RAM, 512 B EEPROM
ISP, 2x 8-bit Timer, 16-bit Timer, RTC, PWM, 8-bit ADC, USART, SPI, Watchdog, komparátor
vnitřní RC oscilátor 1, 2, 4, 8 MHz

neděle 6. listopadu 2011

První hrátky s IPBoxem 99 HD

Přístup k VFD displeji: echo " Pokus " > /dev/dbox/vfd (date '+    %H:%M' > /dev/dbox/vfd)
Příkazy pro zapínání a vypínání piktogramů na VFD:
ipbox /> /usr/sbin/vfdctl
vfdctl v0.5 - usage:
        vfdctl [[-c] text] [+sym] [-sym] ...
        -c      centered output
        to set symbols use e.g. +power or -power
        available symbols are power, play, pause, rec, stereo,
        480p, 480i, 720p,1080i, 1080p, 576i, 576p, mp3
        type "vfdctl deep" to set box in deep standby
        type "vfdctl setttime" to set system time
        type "vfdctl timer" to set wakeup system time
        type "vfdctl clearicon" to clear all icon
        type "vfdctl cleardisplay" to clear display
        type "vfdctl standby" to set standby
        type "vfdctl demo" to start demo
Info o zařízení http://ip_adresa/web/about ve formátu XML
o hlasitosti http://ip_adresa/web/vol?set=state
změna hlasitosti http://ip_adresa/web/vol?set=set23
seznam audiostop http://ip_adresa/web/getaudiotracks a výběr stopy http://ip_adresa/web/selectaudiotrack?id=2
seznam nahrávek http://ip_adresa/web/timerlist
seznam kanálů http://ip_adresa/web/getservices?sRef=1:7:1:0:0:0:0:0:0:0:FROM%20BOUQUET%20%22userbouquet.dbe04.tv%22%20ORDER%20BY%20bouquet
EPG  http://ip_adresa/web/epgservice?sRef=1:0:1:1F43:BC6:3:EB0000:0:0:0: pro ČT1
přepnutí na ČT1 (DVB-T) http://ip_adresa/web/zap?sRef=1:0:1:101:111:20CB:EEEE0000:0:0:0:
zapnutí streamování ČT1 (DVB-T) http://ip_adresa/web/stream.m3u?ref=1:0:1:101:111:20CB:EEEE0000:0:0:0:
režim ve kterém se Enigma nachází http://ip_adresa/web/powerstate
Vypnutí/zapnutí/restart atd.: http://ip_adresa/web/powerstate?newstate={powerstate_number}
Načtení informací o příjmu http://ip_adresa/web/signal?
Info o aktuálním kanálu http://ip_adresa/web/getcurrent
Ostatní na http://e2devel.com/apidoc/webif/

0 = Toogle Standby
1 = Deepstandby
2 = Reboot
3 = Restart Enigma2
4 = Wakeup form Standby
5 = Standby
seznam nahrávek http://ip_adresa/web/movielist
Více na http://dream.reichholf.net/wiki/Enigma2:WebInterface

Přehrávání nahrávek z HDD
http://ip_adresa/web/ts.m3u?file=%2Fhdd%2Fmovie%2F20121016%200510%20-%20Discovery%20HD%20CZ%20-%20Science%20of%20the%20Movies.ts

seznam nahrávek v rss formátu
http://ip_adresa/web/movielist.rss

Konfigurace, nastavení časovače i seznamy programů jsou v /etc/enigma2/
  • timers.xml - seznam pořadů které se mají nahrát
<?xml version="1.0" ?>
<timers>
<timer begin="1320697200" end="1320702600" serviceref="1:0:1:201:209:20CB:EEEE0000:0:0:0:" repeated="1" name="Dr. House VII (10)" description="(House VII) Cukr nebo bi T+m l+ꦏ+ instruktora z n+�avn+ꨯ chlapeck+ꨯ t+�ra s urin+�+mi probl+ꭹ. Zd+�e, +e instruktor mohl b+t nkter+m ze sv+ch chovanc+ otr+�n+. Jen+e ve chv+li, kdy se v nemocnici" afterevent="deepstandby" eit="106" location="/hdd/movie/" tags="" disabled="0" justplay="0">
</timer></timers>
·        profile, blacklist, whitelist
·        settings – soubor s nastavením
config.av.policy_43=nonlinear
config.av.videomode.HDMI=1080i
config.av.videoport=HDMI
config.misc.rcused=1
config.misc.firstrun=false
config.misc.initialchannelselection=false
config.misc.startCounter=5
config.misc.languageselected=false
config.misc.defaultchosen=false
config.misc.videowizardenabled=false
config.misc.isNextRecordTimerAfterEventActionAuto=true
config.timezone.val=(GMT+01:00) Belgrade, Bratislava, Budapest, Prague
config.Nims.0.diseqcA=235
config.Nims.0.diseqcMode=single
config.Nims.0.configMode=simple
·        bouquets.radio – soubor se seznamem oblíbených rádií
·        bouquets.tv – soubor se seznamem oblíbených tv programů
#NAME User - bouquets (TV)
#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dbe01.tv" ORDER BY bouquet
#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dbe02.tv" ORDER BY bouquet
·        userbouquet.dbe00.tv
#NAME HDTV
#SERVICE 1:0:1:36f6:c8e:3:eb0000:0:0:0:
#SERVICE 1:0:19:13cf:c8a:3:eb0000:0:0:0:
#SERVICE 1:0:1:3332:c89:3:eb0000:0:0:0:
#SERVICE 1:0:19:1770:c81:3:eb0000:0:0:0:

složka WebInterface /usr/local/lib/enigma2/python/Plugins/Extensions/WebInterface
složka konfigurace emulátorů /usr/local/tuxbox/config

Co ještě prozkoumat:
#define VFDBRIGHTNESS 0xc0425a03 // možnost řízení jasu VFD?

Odstranění problému s TimeShiftem (soubor /usr/lib/enigma2/python/Screens/InfoBarGenerics.py):
http://www.ab-forum.info/download/file.php?id=40924

IRDETO karta, do souboru /var/keys/oscam.dvbapi přidat:

P: 0D96 1
P: 0D96

Ikonky pro DVB-T programy:

cd /usr/share/enigma2/picon/
ln -s 1_0_1_36F6_C8E_3_EB0000_0_0_0.png 1_0_1_1F43_BC6_3_EB0000_0_0_0.png # CT1 (DVB-S)
ln -s 1_0_1_1F43_BC6_3_EB0000_0_0_0.png 1_0_1_101_111_20CB_EEEE0000_0_0_0.png # CT1
ln -s 1_0_1_1F44_BC6_3_EB0000_0_0_0.png 1_0_1_102_111_20CB_EEEE0000_0_0_0.png # CT2
ln -s 1_0_1_3352_C93_3_EB0000_0_0_0.png 1_0_1_201_209_20CB_EEEE0000_0_0_0.png # Nova
ln -s 1_0_1_1F42_BC6_3_EB0000_0_0_0.png 1_0_1_301_209_20CB_EEEE0000_0_0_0.png # Prima
ln -s 1_0_1_3353_C93_3_EB0000_0_0_0.png 1_0_1_202_209_20CB_EEEE0000_0_0_0.png # Nova Cinema
ln -s 1_0_1_3338_C89_3_EB0000_0_0_0.png 1_0_1_302_209_20CB_EEEE0000_0_0_0.png # Prima COOL
ln -s 1_0_1_13AB_C85_3_EB0000_0_0_0.png 1_0_1_801_209_20CB_EEEE0000_0_0_0.png # Barrandov TV
ln -s 1_0_1_1F46_BC6_3_EB0000_0_0_0.png 1_0_1_103_111_20CB_EEEE0000_0_0_0.png # CT 24
ln -s 1_0_1_1F47_BC6_3_EB0000_0_0_0.png 1_0_1_104_111_20CB_EEEE0000_0_0_0.png # CT4


Co třeba tuning Webinterfejsu (/usr/local/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data/gfx):
Nutno přepsat původní obázek ajaxload.gif (http://www.ab-forum.info/download/file.php?id=39608
Odstranění přepínání videomódů pomocí červeného tlačítka (/usr/share/enigma2/keymap.xml).
<map context="InfobarChannelSelection">
        ...
        <key id="KEY_GREEN" mapto="aspectratio" flags="m" />       
        <key id="KEY_RED" mapto="red" flags="m" />

Jak je to se startem aplikací po startu zařízení?
Odkazy na skripty jsou v /etc/rc.d/rc3.d, rc3 - normální režim bez grafického prostředí [1]
vlastní skripty jsou v adresáři /etc/int.d
#!/bin/sh
/usr/local/bin/oscam

Po čisté instalaci (nainstalované balíčky)

busybox - 1.17.1-r1 -
dropbear - r0 -
enigma2 - r2 -
enigma2-plugin-systemplugins-allinonepanel - 0.8 -
enigma2-plugin-systemplugins-hotplug - r0 -
enigma2-plugin-systemplugins-networkbrowser - r0 -
enigma2-plugin-systemplugins-networkwizard - r0 -
enigma2-plugin-systemplugins-positionersetup - r0 -
enigma2-plugin-systemplugins-satfinder - r0 -
enigma2-plugin-systemplugins-skinselector - r0 -
enigma2-plugin-systemplugins-softwareupdate - r0 -
enigma2-plugin-systemplugins-videomode - r0 -
enigma2-plugin-systemplugins-videotune - r0 -
ethtool - r0 -
ipbox-dvb-modules - r3 -
ipbox-keymaps - r2 -
kernel-module - r0 -
python - r3 -
tuxbox-image-info - r3 -
tuxbox-tuxtxt-32bpp - r0 -
twisted - r0 -
update-etc - r2 -

Defaultní zdroje, po instalaci klientserver pluginu (Download)
src/gz locales http://update.abipbox.com/enigmaupd/abng/e2/locales
src/gz plugins http://update.abipbox.com/enigmaupd/abng/e2/plugins
src/gz settings http://update.abipbox.com/enigmaupd/abng/e2/settings

src/gz settings_e1 http://www.abipbox.com/enigmaupd/abng/e1/settings
src/gz plugins_e1 http://www.abipbox.com/enigmaupd/abng/e1/plugins
src/gz skins_e1 http://www.abipbox.com/enigmaupd/abng/e1/skins
src/gz locales_e1 http://www.abipbox.com/enigmaupd/abng/e1/locales
src/gz addons http://www.enigma.satupdate.net/abng/new
src/gz abforum http://www.ab-forum.info/feed/e2hd 


Přimountování samby do Enigmy2

insmod /lib/modules/cifs.ko
mount -t cifs -o username=root,password=heslo  //192.168.1.3/opt /media/SERVER



Zatím konec.

[1] http://www.linuxexpres.cz/praxe/jak-startuje-system
[2] http://dream.reichholf.net/e2web

pondělí 24. října 2011

SQLite3 na 500gP




Co takhle si hodnoty naměřené domácím teploměrem ukládat do databáze? A co třeba potom malovat grafy?
Nejprve je nutné nainstalovat balíček sqlite3-cli.

A nyní už je možné skriptovat:
#!/bin/bash
sqlite3 /opt/www/Databaze/teploty.db "prikaz;"

Takto vytvoříme tabulku venku, se sloupci ID, čas a teplota.
  
CREATE TABLE 'venku' ('ID' INTEGER PRIMARY KEY AUTOINCREMENT, 'Datum' TIMEDATE NOT NULL, 'Teplota' INT);

středa 12. října 2011

Maskování bitů

#define ZapBit(registr,pin) ((registr)|=1<<(pin))
#define VypBit(registr,pin) ((registr)&=~(1<<(pin)))
#define InvertBit(registr,pin) (registr^=1<<pin)
#define GetBit(registr,pin) ((registr)&(1<<(pin)))


debug &= 0xC;
debug = ~debug;
debug &= 0xC;
pokus ^= ~pokus;
//pokus |= debug;

úterý 13. září 2011

Výpočet ceny za elektřinu pro spotřebiče


Příkon [W]
Cena za kWh [Kč]
Cena za den [Kč]
Cena za týden [Kč]
Cena za měsíc [Kč]
Cena za rok [Kč]

pondělí 12. září 2011

Práce s videm z kamery

Hrátky s kamerou HDR-XR160E

Spojovat MTS soubory je možné pomocí příkazu (binárně sloučí soubory)
copy /b video1.mts+video2.mts vystup.mts


Potom již stačí pomocí programu AVIDemux převést video do požadovaného formátu.


http://avidemux.sourceforge.net/
http://forum.avmania.e15.cz/viewtopic.php?f=1704&t=1084852&st=0&sk=t&sd=a&start=15

Pro lepší komfort je možné použít program TSSniper pro stříhání a editaci
http://www.videohelp.com/tools/TSSniper
Nejprve je nutné nainstalovat ffdshow a Haali media splitter

OpenWRT Flash

cd /tmp/
wget http://downloads.openwrt.org/backfire/10.03.1-rc5/brcm47xx/openwrt-brcm47xx-squashfs.trx
sysupgrade /tmp/openwrt-brcm47xx-squashfs.trx

UART na ADuC702x

Výpočet konstant pro určitou přenosovou rychlost.

BaudRate
Frekvence
CD
DL
Skytečný BaudRate
Chyba BaudRate v %

čtvrtek 1. září 2011

Programování FLASH ADuC702x

Pro programování FLASH paměti stačí připojit ADuC702x sériovou linkou. Pozor některé MCU mají I2C bootloadres, viz následující tabulka. I2C bootloader je označen I na konci zančení. Například ADuC7021BCPZ62 je s UARTEM a ADuC7021BCPZ62I je s I2C.

Logický analyzátor a osciloskop s rozhraním USB

Stavba se nejprve ubírala směrem ke klonu podle Pandatronu [1]. Bohužel výrobce takové klony nerad podporuje, proto se bránil formou nového FW, viz diskuze na MCU[2]. Nakonec používám zařízení založené na zapojení [3].

Přidávám několik naměřených průběhů:


Průběh napětí MC34063

Popis ADuC7021

MCU s jádrem ARM7TDMI RISC 32bit
Periferie - AD převodník 12bit 1 MSPS
               - DA převodník 12bit
               - PWM
               - Komparátor
               - UART
               - I2C®
               - SPI
               - Programovatelná logika IO pinů (PLA)
               - PLL pro získání hodinového kmitočtu z vnitřního nebo externího 32,768 kHz oscilátoru

Taktování ADuC702x

Časování, různé módy a předděličku ovládá registr POWCON.

GPIO u ADuC702x

IO porty jsou 5V kompatibilní, mají vnitřní pull-up (100 kΩ). Pull-up je možné vypnout u P0.0, P0.4, P0.5, P0.6, P0.7 a GPIO pinů portu P1. Při uspání MCU se porty přepnou do stavu vysoké impedance.

Nastavení funkce pinů GPxCON.

středa 27. července 2011

USB Serial + Storage

OpenWRT 10.03.1-rc5
nainstalovat balíčky
opkg install kmod-usb2 kmod-usb-storage kmod-usb-uhci kmod-usb-ohci kmod-nls-iso8859-1 kmod-nls-cp437 kmod-fs-vfat kmod-fs-ext2 kmod-fs-ext3 kmod-fs-ext4 nano kmod-usb-serial-ftdi luci-app-hd-idle luci-app-wol bash


Pro čtení i zápis na NTFS je nutný balíček ntfs-3g

Pomocí luci-app-hd-idle je možné nastavit čas po jehož uplynutí se HDD uspí.


Díky luci-app-wol můžeme rozesílat magic pakety k zapínání počítačů.



středa 8. června 2011

Další z možností vložení asembleru do C


Další z možností vložení asembleru do C v KEILu. Dokonce funguje krokování v C i v Asembleru.

soubor DA.asm


NAME    DA_FUNC

?PR?da_func?DA_FUNC    SEGMENT CODE
    PUBLIC  da_func

    RSEG  ?PR?da_func?DA_FUNC
da_func:
    USING   0
    ;DEC        A
    ;INC        A
    DA      A
    RET

    END
 soubor main.c

extern void da_func(void);

void main()
{
               
da_func();

}


Pokus o kompilaci WRTáku a balíčků

stáhnout
http://downloads.openwrt.org/backfire/10.03/brcm47xx/OpenWrt-ImageBuilder-brcm47xx-for-Linux-i686.tar.bz2
http://downloads.openwrt.org/backfire/10.03/brcm47xx/OpenWrt.config
make menuconfig
načteme konfiguraci, přidáme volby SDK, Toolchair a ukončíme
make -j 3
spustíme a počkáme
stoličku si také přeložíme

Postup instalace do Ubuntu i jiné distribuce je na:
http://wiki.openwrt.org/doc/howto/buildroot.exigence
Balíčky pro Ubuntu x64
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core quilt
Vlastní Build je popsán na:
http://wiki.openwrt.org/doc/howto/build

pátek 20. května 2011

Linux praktické příkazy

Zobrazení všech rozhraní
iwconfig
zobrazení nastavení všech rozhraní (obdoba ipconfigu)
ifconfig
detekce WiFi karty
wifi detect >  /etc/config/wireless
jak zapnout WiFi ve firmware 500gP OpenWRT
v souboru /etc/config/wireless
option 'disabled' '0'
změnit na option 'disabled' '1'
může se také hodit seznam WiFi kanálů
http://wiki.airdump.cz/Seznam_WiFi_kan%C3%A1l%C5%AF_pro_WLAN

Karta z notebooku MSI RT-2560 funguje s ovladačem kmod-rt2500-pci.


Přesměrování výstupu do souboru (i chybové hlášky)
/usr/local/bin/oscam > /tmp/log.txt 2>&1 

úterý 5. dubna 2011

Sériová linka + přerušení



        org     0000H    ; začátek programu po resetu

        jmp     init
        org     000BH    ; přerušení od čítače/časovače0
        jmp     T0int
        org     0023H    ; přerušení od sériové linky
        jmp     Sint       
        org     30H

C0L     EQU     30h
C0H     EQU     31h
REZIM   EQU     32h 
CAS     EQU     33h
roste   BIT     0