Anzeige:
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 16 bis 30 von 53

Thema: QT + installieren von Qextserialport.tar.gz

  1. #16
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi quinte17,
    vielen dank fuer deinen hinweis
    werd's morgen frueh nochmals versuchen.
    dank an dich

    @kater
    falls du schon openmp installiert hast und einen quad-core hast

    aus: http://rajorshi.net/blog/2009/05/pro...on-openmp-gcc/

    als attachmend multmul.c
    compile : cc mutmul -o mutmul -fopenmp
    results:
    Enter dimension ('N' for 'NxN' matrix) (100-2000): 1000
    Populating array with random values...
    Completed array init.
    Crunching without OMP... took 10.827485 seconds.
    Crunching with OMP... took 3.569509 seconds.

    ist schon erstaunlich
    gruss nomad

  2. #17
    Registrierter Benutzer
    Registriert seit
    31.12.2008
    Beiträge
    34
    zu cv3d
    Ich musste nur glui.h auskommentieren, dann konnte ich es compilieren. Nur funktionieren... es kommen viele rosa Punkte *G*
    Ok, in Zeile 498 reservierst du mit glGenTextures(1, &cameraImageTextureID); bei jedem Frame neuen Speicher, gibts ihn aber nicht mehr frei. So läuft der Speicher voll. Normal kommt sowas in irgendeine glutInit Funktion, würde ich sagen. Da es die aber nicht gibt, habe ich sie vor die glutMainLoop() gesetzt. Funktioniert

    zum avi File:
    Wie der Error schon sagt fehlt dir ein Programm welches mpeg4 abspielen kann. Das ist nicht schlimm, 50% aller Leute denen ich dieses Video gezeigt habe konnten es nicht abspielen. Installier dir einfach vlc oder mplayer, je nach Geschmack. Ach und aktualisiere mal dein Browser auf Version 3

    zu demo02.cpp
    Ja, kein Bild. Soweit ich das sehe muss man erst die Taste r drücken damit das Kamerabild zu OpenGl hin kopiert wird. Funktioniert nur irgendwie nicht. Aber das abgespeicherte Bild auf der Festplatte seh ich aber.

    @openmp
    Quadcore ists nicht, aber 4 Rechner mit 2 Opterons drinne. Ich werde es morgen mal ausprobieren. Danke schonmal.

  3. #18
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi
    @kater:
    zu demo02.cpp
    war mein fehler: wenn das prog laeuft
    1) gesicht frontal zur camera
    2) click mit mouse (3x) -> linkes auge -> rechtes auge -> nase
    in dieser reihenfolge
    3) dann verschwindet das rote fenster
    4) und eigentlich sollste sich dann die 3dAxis bewegen
    --> hab unterdessen das prog verbessert, synchrones bewegen von kopf und axis.

    zu cv3d.cpp
    komisch, komisch
    1) also das mit dem freigeben hab mir auch schon gedacht
    in main hab ich aber ein glutInit(); .-)

    Frage: wie bist du vorgegangen:
    waer um diesen tip dankbar (code-schnippsel)

    2) glui.h ist in diesem fall auch nicht notwendig
    (man kann mit glui auch GUI erzeugen) inkl. buttons etc und einen virituellen trackball)
    wie in qt (wird aber in der community nicht sehr oft verwendet)
    3) versteh ich dich richtig, : du siehst kein Quad mit deiner webcam-texture und im vordergrund eine 3-farbigen 3d-Axis
    mit der mouse solltest du den quad bewegen koennen, mit den arrow-tasten die 3dAxis

    zu avi-file: sobalrd ich mal mehr zeit habe mach ich das.

    zu openmp: mit dem demo-prog wollt ich nur mal testen ob bei mir wirklich dann 4 cores
    arbeiten.

    @quinte17
    compile fehler:

    hab also in einem folder folgende
    source-files:
    main.cpp
    myserial.cpp
    myserial.h
    qextserialport.h

    hab dann mit Qt ein neues Project file
    erzeugt
    anschliessend die obigen files hinzugefuegt.

    dann ein build mit *.pro via qtcreator

    fehlermeldungen zuhauf:

    durch meine fehlenden qt & c++ kenntnise hab ich jetzt
    interpretations schwierigkeiten.
    geb glaub ich mal auf....
    oder benutz meine seriellen c-funktionen

    konnte dann die fehler-meldung mit einem "make" extrahieren
    ss. unten

    an alle
    gruss nomad

    Code:
    In file included from myserial.h:8,
                     from myserial.cpp:2:
    ./qextserialport.h:18: error: expected class-name before ‘{’ token
    ./qextserialport.h:22: error: expected `)' before ‘const’
    ./qextserialport.h:23: error: ‘PortSettings’ has not been declared
    myserial.cpp: In constructor ‘MySerial::MySerial()’:
    myserial.cpp:10: error: ‘class QextSerialPort’ has no member named ‘setBaudRate’
    myserial.cpp:10: error: ‘BAUD9600’ was not declared in this scope
    myserial.cpp:11: error: ‘class QextSerialPort’ has no member named ‘setDataBits’
    myserial.cpp:11: error: ‘DATA_8’ was not declared in this scope
    myserial.cpp:12: error: ‘class QextSerialPort’ has no member named ‘setStopBits’
    myserial.cpp:12: error: ‘STOP_1’ was not declared in this scope
    myserial.cpp:13: error: ‘class QextSerialPort’ has no member named ‘setParity’
    myserial.cpp:13: error: ‘PAR_NONE’ was not declared in this scope
    myserial.cpp:14: error: ‘class QextSerialPort’ has no member named ‘setFlowControl’
    myserial.cpp:14: error: ‘FLOW_OFF’ was not declared in this scope
    myserial.cpp:15: error: ‘class QextSerialPort’ has no member named ‘setTimeout’
    myserial.cpp: In destructor ‘virtual MySerial::~MySerial()’:
    myserial.cpp:22: error: ‘class QextSerialPort’ has no member named ‘close’
    myserial.cpp: In member function ‘virtual void MySerial::run()’:
    myserial.cpp:34: error: ‘class QextSerialPort’ has no member named ‘open’
    myserial.cpp:39: error: ‘class QextSerialPort’ has no member named ‘flush’
    myserial.cpp: In member function ‘void MySerial::pollSerial()’:
    myserial.cpp:56: error: ‘class QextSerialPort’ has no member named ‘isReadable’
    myserial.cpp:60: error: ‘class QextSerialPort’ has no member named ‘bytesAvailable’
    myserial.cpp:63: error: ‘class QextSerialPort’ has no member named ‘read’
    make: *** [myserial.o] Error 1

  4. #19
    Registrierter Benutzer
    Registriert seit
    31.12.2008
    Beiträge
    34
    zu cv3d.cpp
    also du musst glGenTextures(1, &cameraImageTextureID); einfach eine Zeile über glutMainLoop(); setzen. Und da wo sie vorher stand entfernen. In der Summe hast du dann nur einmal glGenTextures(1, &cameraImageTextureID); im ganzen Code, da du ja auch nur eine Textur brauchst.
    Und Entschuldigung für alle nachfolgenden Leser, das ist nur eine quick&dirty Lösung. Nicht das jemand denkt, wir würden hier nur schlechten Code machen

    zu demo02.cpp
    wie gesagt ich bekomme kein Bilder der Kamera. Es gehen zwei Fenster auf, das eine schwarz das andere weis. Ich schaue mal den Code genauer an warum da nichts kommt.

    openmp wurde heute auch nicht. Es gab ein Stromausfall heute nacht um 2Uhr und dann durfte ich mich eine Stunde lang mit alternate auseinander setzten wegen 5 dumme Kabel.
    Morgen noch eine Prüfung schreiben, (dann etwas ausnüchtern) und dann wird es schnell weiter gehen.

    Zu deinem Compile Error.
    Schau mal in ./qextserialport.h Zeile 18. Da fehlt irgendwo ein Komma. Vllt. auch eine Zeile davor oder in einer andern Datei. Wenn du eine Klasse dir machst muss auch ein Komma da sein class { }; <--

  5. #20
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi kater,
    vielen dank fuer deine antworten,
    trotz des stresses.
    viel glueck bei den klausuren

    versuch gerade das camheadsystem openmp faehig zu machen, gott der aerger
    also noch einen schoenen abernd
    gruss
    nomad

  6. #21
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496
    also mal langsam
    bitte ALLE *.cpp und *.h dateien von qextserialport in dein projekt hinzufügen... ist das so schwer?
    und wie gesagt, die eine header datei anpassen, so dass die für deine architektur richtige datei includiert wird. ansonsten kann es nicht laufen, da der code einfach fehlt... (wir haben das ganze nun nicht als lib eingebunden sondern direkt als code)

  7. #22
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi quinte 17
    eigentlich nicht (schwer.....:-)
    gleich im anschluss werd ichs nochmals versuchen
    vielen dank fuer deine geduld und deine tips
    gruss nomad

  8. #23
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi quinte17,

    ich geb endgueltig auf.
    da hab ich im augenblick nicht die nerven dazu....
    und qextserialport ist ja nicht zwingend notwendig

    habs nochmals probiert ss. unten
    falls ich mit qt weitermachen sollte ???
    werd ich meine c-low-leve-functionen (rs232) einsetzen.

    also:
    inhalt meines qextserialport-Projects
    Code:
    --------------------------------------
    qtserial2.pro
    main.cpp
    main.o
    qtserial2.pro.user
    myserial.h
    posix_qextserialport.h
    qextserialbase.h
    qestserialport.h
    myserial.cpp
    posix_qexterialport.cpp
    qextserialbase.cpp
    qexterialport.cpp
    
    Makefile
    ----------------------------
    -> build clear
    -> rebuild
    -> build
    waehrend: build: 2 things:
    - overriding commands for target 'posix_qestserialport.o
    - ignoring old commands for target posix_qestserialport.o

    dann auf der console ein 'make' fuer die fehlermeldungen: ss. unten

    also nichts fuer ungut und vielen dank fuer deine hilfe
    gruss nomad

    Code:
    ---------------
     make
    Makefile:214: warning: overriding commands for target `posix_qextserialport.o'
    Makefile:210: warning: ignoring old commands for target `posix_qextserialport.o'
    g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtCore -I/usr/include -I. -I. -o myserial.o myserial.cpp
    In file included from myserial.h:8,
                     from myserial.cpp:2:
    ./qextserialport.h:12:32: error: win_qextserialport.h: No such file or directory
    In file included from myserial.h:8,
                     from myserial.cpp:2:
    ./qextserialport.h:16: error: expected class-name before ‘{’ token
    ./qextserialport.h:20: error: expected `)' before ‘const’
    ./qextserialport.h:21: error: ‘PortSettings’ has not been declared
    myserial.cpp: In constructor ‘MySerial::MySerial()’:
    myserial.cpp:10: error: ‘class QextSerialPort’ has no member named ‘setBaudRate’
    myserial.cpp:10: error: ‘BAUD9600’ was not declared in this scope
    myserial.cpp:11: error: ‘class QextSerialPort’ has no member named ‘setDataBits’
    myserial.cpp:11: error: ‘DATA_8’ was not declared in this scope
    myserial.cpp:12: error: ‘class QextSerialPort’ has no member named ‘setStopBits’
    myserial.cpp:12: error: ‘STOP_1’ was not declared in this scope
    myserial.cpp:13: error: ‘class QextSerialPort’ has no member named ‘setParity’
    myserial.cpp:13: error: ‘PAR_NONE’ was not declared in this scope
    myserial.cpp:14: error: ‘class QextSerialPort’ has no member named ‘setFlowControl’
    myserial.cpp:14: error: ‘FLOW_OFF’ was not declared in this scope
    myserial.cpp:15: error: ‘class QextSerialPort’ has no member named ‘setTimeout’
    myserial.cpp: In destructor ‘virtual MySerial::~MySerial()’:
    myserial.cpp:22: error: ‘class QextSerialPort’ has no member named ‘close’
    myserial.cpp: In member function ‘virtual void MySerial::run()’:
    myserial.cpp:34: error: ‘class QextSerialPort’ has no member named ‘open’
    myserial.cpp:39: error: ‘class QextSerialPort’ has no member named ‘flush’
    myserial.cpp: In member function ‘void MySerial::pollSerial()’:
    myserial.cpp:56: error: ‘class QextSerialPort’ has no member named ‘isReadable’
    myserial.cpp:60: error: ‘class QextSerialPort’ has no member named ‘bytesAvailable’
    myserial.cpp:63: error: ‘class QextSerialPort’ has no member named ‘read’
    make: *** [myserial.o] Error 1
    linux-753o:~/Desktop/mrunixQT_serialSource/qtserialtest/qtserial2 #   
    --------------------------------

  9. #24
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi kater,
    also ich hab deinen algo Pavlidis Kontur gesucht und gefunden
    at: http://www.fbmn.fh-darmstadt.de/home...ode/bv1_6.html
    iss'es dieser?

    nach dem 1. durchlessen erinnert mich dass an den opencv-contur-Algo
    opencv -> conturs.c

    gruss nomad

  10. #25
    Registrierter Benutzer
    Registriert seit
    31.12.2008
    Beiträge
    34
    Ja genau das ist der. Da studiere ich gerade

    Ich habe mal opemp installiert und das Programm mit der Matrixmultiplikation gestartet, funktioniert. Vllt. baue ich noch eine Statusanzeige ein damit man auch mal größere Matrizen nutzen kann.

    Jetzt muss ich nur noch irgendwie das mit dem Cluster verbinden.

  11. #26
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi kater,

    alles gut ueberstanden?

    schoen dass bei dir die installation
    von openmp ok ist.....

    hab heute versucht openmpi zu installieren
    so weit so gut
    hat eine kleine ewigkeit gedauert
    aber hab propleme
    das erste testprog zu compilieren
    ss. foren <sprachen, Standard APi>
    --> openmpi - fragen wegen mpicc-compile

    2. um an openmp weiter zu arbeiten,
    hab ich mein CamHeadSystem-prog
    um openmp-compile direktiven erweitert
    funzzt also opencv + openmp
    dann weil ich ja timing-probleme habe
    das prog mit einer simulierten RS232-schnittstelle
    ausgestattet, jetzt verliert der algo wieder
    den focus -> wie gewuenscht. Hi,hi

    3) nachmittags noch ein openmp + opencv Prog-gefunden
    unter:
    http://code.google.com/p/derin-deli-mavi/downloads/list

    als attachment: openmp_test-cpp.txt

    noch ein schoener abend
    gruss
    nomad

  12. #27
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi kater
    betr. cluster verbindungen....
    es gibt im netz einige anlaufstellen
    ibm, sun, university of cambridge
    livermore labs -> HPC
    oder google mal openmp + cluster
    gruss nomad

  13. #28
    Registrierter Benutzer
    Registriert seit
    31.12.2008
    Beiträge
    34
    Hai,
    ich habe schon nach openmp und cluster gesucht, aber das geht nur mit dem Intel compiler, ich will aber unbedingt den GNU Compiler nutzen.
    Also es hängt wohl davon ab welche Software auf dem Cluster seine Arbeit verrichten soll, dann entscheide ich wie es weiter geht.

    Übrigens hätte ich nie gedacht, dass es so einfach ist mehrere Kerne zu benutzen. Einfach eine Zeile mehr vor die zeitintensive For Schleife gepackt und schon gehts fast doppelt so schnell

  14. #29
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi kater
    schoen von dir zu hoeren,
    hab mich heute bei openmp.org im forum registrieren lassen
    da hab ich dann was.
    es gibt bei openmp.org rechts auf der seite eine doku
    mit beispielen nennt sich Using-OpenMP-Examples-Distr.zip
    mit etlichen demos.
    musste am make-file einwenig drehen damit fuer linux ausfuehrbare datein gemacht werdne
    den gnu-compiler kannst du einstellen
    laeuft super....
    bin jetzt gerade drann fuer mein problem die ersten progs zu entwickeln
    mit 2 parallelen threads
    erkenntnis: wie loriot schon sagte "na wo sind sie denn" .-)
    gruss nomad und ein schoenes weekend

  15. #30
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150
    hi
    hab heute zum erst mal probiert
    wie ich openmp bei meinem CamHeadSystem
    einsetzen kann

    hab da noch einige Probleme
    folgendes:
    in dem untenstehenden pseudo-code und im attachmend
    habe ich festgestellt:
    dass GrabCam & der Algo ca. .
    - LK = took 0.010723 seconds.
    - COM = took 0.519834 seconds.
    benoetigen

    Also kommt OpenCV aus dem tritt und verliert den Focus
    jetzt wuerd ich gern
    dass:
    - grabWebCamImages()
    - lucasKanade-Algo(frame)

    in einem unterbrechungsfreien openMP-Thread laufen
    und trotzdem der comController sobald neue werte (plmx,plmy) vorhanden sind
    diese an den microcontroller schickt.

    hast du oder selbstverstaendliche auch andere, ideen und tips wie ich das
    entwickeln kann
    gruss nomad

    das ist ein wenig pseudo-code
    Code:
    main()
    {
       initialisierungen()
        
       while
       { 
          grabWebCamImages()
          
          lucasKanade-Algo(frame)
          {
             set-MausPoints
              
             for_loop 
             {
                -> output: plmx,plmy (1 lucasKanadePunkt (Nase)
             } 
          }
            
          comControl()
          {
             input: plmx,plmy
             
             calcPoints : convert x,y into drehwinkelX, drehwinkelY
             convert drehwinkel into servoPulses
             convert int to String
             -> output: servoPulse1, servoPulse2 as string
             
             Call: comSendData()
          }
             
          comSendData()
          {   
             forLoop 2x
             {   
                Sender() // sendDatas to microController
                Reader() // wait on <5> acknowledge
             }
          }   
             
       }
    }

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •