Magyarokamarson -10. nap 

Ma semmi nagyon extra nem történt. Se jelentősnek modható előrelépés, se szívás. A SLUG megy mint a kisangyal.

Szoftveroldal:
A mai napon implementálva és tesztelve lettek az alábbi funkciók:

- Képfeldolgozó által észlelt elakadás jelentése a földbázisnak. Ott felajánlani a direkt módot.

- Lehet logolni a navigáció eseményeit időbélyegekkel txt fájlokba.

- Apró funkcióként implementáltam, hogy az összes sznkronizációs paramétert (sziklák, célpontok, képfeldolgozó kalibráció) egyszerre lehessen küldeni.

Implementálva de tesztelve nem lettek az alábbiak:

- Zig-zig mód az LCD-s virág előtt. Az LCDs virághoz 4 adat ban hozzárendelve:
Egy sugár, amelyet elérve a ha a rover az LCD-vel szemben áll, akkor az LCD felé fordul, és megáll, jelet küld a földre, amely átteheti zigzig módba.
Egy sugár, amin ha belül kerül úgy hogy rá van fordítva az LCDre akkor megáll, és befejezettnek tekinti a taskot. Ez azért kell, hogy ne gázoljuk el a virágot.
Egy szög ami magadja merre néz az LCD.
Egy szögtartomány, amelyen belülről fordulunk csak rá.

Szóval ha ilyen zig-zig módba kerülünk, akkor a marsjáró 5 centis egyenes szakaszokat tesz meg 3 secenként 3 sec szünettel. A szünetek kezdeténél üzen a földbázsinak,hogy lehet képfeldolgozni. Ez azért kell, mert mozgás közben bluros szokott lenni a kép. A zigzig mód n darab ilyen mozgás után leáll, illetve a fentebb említett határ elérésekor is.

Hardver:

- Megoldottam az Asus router rögzítését két tejgumival. Mostmár biztos hogy a régi elektronika marad, mindegy ez legalább működik.

- Az ónszívószalag tokból improvizált megbízhatalan liftkábel kiengedő helyett építettünk egy megbízható spulnis rendszerűt. A tápkábel továbbra is a sordrott albán zománchuzal marad.

Nagyjából ennyi. Ha minden jól megy, akkor holnap teljes teszt.
[ 3 hozzászólás ] ( 76 megtekintés ) [ 0 trackbackek ] permalink ( 3 / 440 )
Magyarok a marson -11. nap 

Eldöntöttem, hogy az utolsó két hétben ledokumentálom mit is csinálok, hogy utólag könnyen lehessen mutogatni hogy hol lett eltolva.

Ma elektró után nekiálltam tesztelni az előkészítőben a hétvégén elkészült megállásérzékelő modult a képfeldolgozóban. A dolog lényege mindössze annyi, hogy ha egyenes haladás során n képkockáig nem észlel a magengedett küszöbérték feletti mozgást, akkor az első ilyen képkocka megszerzésének időpontját tekinti a mozgás befejeződésének. Ez több okból is hasznos: egyrészt kezelni tudjuk az elakadást, másrészt a hamarabb tudjuk kalkulálni a következő műveletet.
A baj csak annyi, hogy a parancs kiküldése és a kép késése miatt kapásból megálltnak tekinti a gépet. Először próbáltam "élvezérlést tenni bele" értsd, ha elindult csak azután számolja a nem mozdult képeket. Ez sajnos nem jött be, így aztán maradt az a megoldás, hogy csak 1 sec után kezdjen el erre figyelni.

Természetesen a napi szívás ma sem maradhatott el. A képfeldolgozó időnként elvesztette a rovert periódikusan. Elveszettenk akkor tekintjük, ha 500 msig nem sikerül megtalálni a képen a rovert. Értelemszerűen ez akkor is bekövetkezik ha 500 msig nem érkezik kép. Jó mondom rossz napja van az NSLU2nek újraindítom. A hibát továbbra is produkálta.

Végül egy reboot után ráunva a dologra toltam egy:

mm@lapos:~$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr
inet addr:192.168.1.148 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21b:fcff:fedd:2c80/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:48970 errors:14568 dropped:0 overruns:0 frame:0
TX packets:68700 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3214264 (3.2 MB) TX bytes:1516204 (1.5 MB)
Interrupt:20 Base address:0xb800


Hm hm. A használt 5 méteres kábelt anno kölcsönadtam egy spanomnak, aki azzal hozta vissza, hogy nem biztos benne hogy jó. Felmásztam hát és megmozgattam kicsit a kábelt odafent érdekes módon kiesett a linkből. 70 centi levág visszakrimpel. Élet megy tovább.

Na mára ennyi. Reszelek egy kicsit még a képfeldolgozón, aztán várom a holnapi tesztet amin reményeim szerint a teljes missziót le tudjuk tesztelni.

Most pedig Symbain SDK-t telepítek. Linuxra of korsz.
http://labs.trolltech.com/blogs/2010/04 ... ing-linux/

Jahh és megy ringyózon is a marsbázis:



A megjelenítés (zoom pan ilyesmik) fürgébbnek tűnnnek, mivel itt be lehet kapcsolni az OpenGL accelerationt.
[ 1 hozzászólás ] ( 7 megtekintés ) [ 0 trackbackek ] permalink ( 3 / 402 )
Napi Qt okosságok: vegyesválogatott 

1) Amikor a QTimerek szórakoznak.

Történt a marsjáróvezérlő programmal, hogy elkezdett néha lefagyni a navigáció. Némi debug után arra jutottam, hogy bizony néhány QTimer nem emittál timeOut() szignált. Hosszas szívózás után rájöttem a dolog nyitjára. A program több saját készítésű könyvtárat használ. (Képletöltő, képfeldolgozó, rovervezérlő). Ez sok szíváshoz vezet, azonban symlinkek nélkül így sikerült megoldanom a földbázis és a marsbázis közös komponenseinek kezelését. A rovervezérlő könyvtárban elkövettem azt az hibát, hogy nem QTimert használtam, hanem a QObject startTimer() és timerEvent(QTimerEvent *event) metódusait az időzítésre. Ez önnmagában nem hiba, sőt átláthatóbb kódot eredményezhet bizonyos esetekben. Azonban a killTimer(int timerid) függvényt csak ésszel szabad használni. A hiba pontos okát nem tudtam feltárni, de annyi bizonyos:

A) killTimer() -t nem hívunk meg nem megfelelően inicializált értékkel

B) killTimer() -t egy timerId-vel csak egyszer hívunk meg.


2) Amikor a windowsos build elbukik mert nem találja a LIBS+= -lsettings -L=../../libs/bin után a settings libet, holott az ott van.

A QtCreator újonnan szeret létrehozni egy shadow build könyvtárat, amiben a fordítás egy desktop nevű könyvtárban történik. Így nem
-L=../../libs/bin -el kell linkelni, hanem egyel fentebbi könyvtárba.


3) Miután sikerrel lefordítottuk a stuffot az alkamazás
QWidget: Must construct a QApplication before a QPaintDevice hibával elszáll.

Az alkalmazásunk és a libjeink azonos módban legyenek fordítva (debug vagy release)

És hogy legyen valami színes is a végére, ami unalmas, és semmitmondó mivel itthonról írok:

A marsbázis fut fostalicska OS-en is némi hekkelés árán.

BTW:
Még : 14 nap van hátra.
Az pontosan annyi mint: 336 óra.
Azaz 20160 perc

[ hozzászólás ] ( 1 megtekintés ) [ 0 trackbackek ] permalink ( 3.1 / 392 )
Csatlakozás Bluetooth-soros adapterhez Linux alól 

Csak azért, hogy meglegyen, mert a tavalyi versenyen használt technológia képességeit idén újra fel kellett fedeznem.

Tehát adott egy Bluegiga WT12 modul, egy olcsó USB-s BT dongle, és egy Ubuntu 9.04

Első lépés (opcionális):


sudo /etc/init.d/bluetooth start


Majd:


lucifer@lapos:~$ hcitool scan
Scanning ...
00:07:80:81:A5:84 SECRC1571
lucifer@lapos:~$


Állapítsuk meg milyen szolgáltatások futnak az eszközön:
Ehhez kérni fogja a kódot, amit a felbukkanó grafikus dialógusban megadhatunk neki.


lucifer@lapos:~$ sdptool browse 00:07:80:85:A5:84
Browsing 00:07:80:81:A5:84 ...
Service Name: Bluetooth Serial Port
Service RecHandle: 0x10000
Service Class ID List:
UUID 128: 00001101-0000-1000-8000-00805f9b34fb
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100



Mint látjuk a soros port szlgáltatás az 1. csatornán van.

Ezt követően regisztáljuk a szolgáltatást.

lucifer@lapos:~$ sdptool add --channel=1 SP
Serial Port service registered


Majd csatlakozzunk az eszközünkhöz:



lucifer@lapos:~$ sudo rfcomm connect /dev/rfcomm0 00:07:80:81:A5:84 1
[sudo] password for lucifer:
Connected /dev/rfcomm0 to 00:07:80:81:A5:84 on channel 1
Press CTRL-C for hangup



Ennyi. Innentől van egy /dev/rfcomm0 sorosportunk amit ugyanúgy használhatunk mint egy sima sorosportot.

// A MAC címek természetesen FAKE-k, illetve ha használni akarod, akkor a sajátodat kell beírogatnod.

Update:

Ha sima mezei userként is szeretnéd használni a /dev/rfcomm0 portot, akkor add hozzá magad a dialout csoporthoz például a következő parancs segítségével:

sudo usermod -a -G dialout $USER



Ha pedig random Device or resource is busy hibaüzeneteket kapunk a port megnyitásakor, akkor töröljük a modemmanagert.

[ hozzászólás ] ( 2 megtekintés ) [ 0 trackbackek ] permalink ( 3 / 524 )

<< <Előző | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |

 
számláló