Qt OnChange

Alles rund um die Programmierung mit Qt
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

RHBaum hat geschrieben:Mit seiner loesung "pollt" er ja nicht, sondern macht sich zunutze, das der joy treiber bei linux in die geraetedatei schreibt, und triggert auf die schreibvorgaenge (fnctl) .
Okay war unglücklich formuliert. Du hast natürlich recht. Was ich ausdrücken war, ist, dass er natürlich nicht alle x ms nachschaut (=pollen) sondern beliebig oft durch das blockende read() getriggert wird, die du richtig beschrieben hast.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Aber ich bin denke ich schon mal auf der sicherren seite wenn ich versuche eine möglichst perfomace starke und gleichzeitig etwas bastel was kaum rechenleistung verbraucht.
das rechnen an sich wird "kaum" rechenleistung verbrauchen.
Integer arithmetic an sich is recht billig.
die kosten des signal / slot mechanismus stehen in keiner relation dazu ...

ich wuerd also prizipiell das errechnen der beschleunigung in den auslesethread nehmen ...

wie kommst du eigentlich auf die zeiten ? ich hoffe du nimmst das rtc register und keine time funktion ...

Die frage iss weiterhin, ob dein treiber ueberhaupt eine genaue aufloesung bietet, um verwertbare beschleunigungen auszurechnen ....

Nimm mal deinen Joy, und beweg den so schnell du kannst von links/rechts bzw oben/unten. Dazu wirst du sicher 10ms oder mehr benoetigen. Wieviel werte bekommst du für den weg, und wie genau kannst du zeitstempel dafuer generieren ?

Ciao ....
Lord_Luncher
Beiträge: 11
Registriert: 28. Februar 2010 19:21

Beitrag von Lord_Luncher »

Also ich verwende Ubuntu 9.10 . das installiert für meinen usb joystick von hama automatisch nen treiber.... ich bekomm es ab und zu hin dass nur ein wert ausser der null ausgegeben wird... meistens jedoch sind es zwei.

Muss grad mal weg kann aber sobald ich wieder zuhause bin mal mich an Messungen begeben....

Joa das mit der auflösung für meinen beschleunigungssensor ist natürlich ein problem... sowohl von der bit zahl als auch von der abtastrate....

Bin natürlich immer offen für bessere Lösungen die zu einer optimaleren messung kommen.... das Beagleboard hat 600 Mhz und ich werd ubuntu 9.10 drauf installieren vorraussichtlich.

/edit:
PS: Wenn ich ohne blocken das read in einer while schleife ohne sleep ausführe kommt mein prozessor auf 100%. Das war gemeint mit möglichst wenig rechenleistungs Aufwand
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Joa das mit der auflösung für meinen beschleunigungssensor ist natürlich ein problem... sowohl von der bit zahl als auch von der abtastrate....
würd ich auch so sehen :-)

1. du bist im userspace ... d.h. du kommst ueberhaupt nur zum messen, wenn dein system "mal laune" zu hat.

2. beschleunigung ausrechnen ... du hasst nen wegpunkt zu ner bestimmten Zeit. daraus das 2.differential ... du kriegst irgendwie die zeitdifferenzen als quadrat in nen Bruch. Dann betrachte die formel mal aus statistischer sicht ... ala fehlerfortpflanzung. Ich weiss ned was du da fuer werte erwartest ... zumal du selber ne "hohe abtastrate" brauchst.

Ciao ...
Lord_Luncher
Beiträge: 11
Registriert: 28. Februar 2010 19:21

Beitrag von Lord_Luncher »

bin gestern nicht mehr zu den messungen gekommen und heute hab ich mir überlegt dass die auch relativ sinnfrei sind weil ich das beagleboard noch nicht habe und das hat weit aus weniger leistung als mein desktop.

Das mit der berechnung hab ich mir auch so in etwa gedacht.... denke das werd ich dann so umsetzen dass jede beschleunigung kurzeitig aufgezeichnet wird und dann in einen wert umgerechnet wird der die zurückgelegte strecke symbolisieren soll.... welche dann durch eine gegen Aktion (motor auf der gegenüberliegenden Seite beschleunigen) ausgeglichen wird so dass der wert der strecke immer null sein soll, bzw nahezu null... je nach dem wie empfindlich die beschleunigungssensoren sind XD

Eine etwas andere Frage:

Weiss jemand konkret wie man unter linux einen usb -> parallel adapter ansteuert? Also ich hab die datei /dev/usb/lp0
Antworten