- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 27 von 27

Thema: NGW100 ISI Video

  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    Die Register für ov7620 sind gleich mit ov6620 auf diesem Fall.

    Es liefert immer die Daten (unbekannte Symbole), und wird nur durch strg+c beenden.

    Der Fehler liegt in:

    i2c-adapter i2c-0: sendbytes: NAK bailout.

    Ich versuche noch den Fehler zu beheben, aber ist noch nicht erfolgreich.

    Vielen Dank.
    MfG

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Wahrscheinlich liegt der i2c-Fehler in der Hardware. Verwendest Du das eingebaute Atmel-I2C des Chips oder GPIO-bit-banging? Beim ersteren gibts nämlich (immer noch) einige Bugs.

    Mann kann das Catpture-Prog das Bild auch in eine Datei speichern lassen durch -o <filename> und es dann am PC betrachten.

    MfG Mark

  3. #23
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Es gibt Fehler beim Laden des Atmel-twi-Moduls, also verwende ich i2c-gpio Modul.

    Ich habe versucht, das Bild in eine Datei zu speichern, aber weil der Aufnahme nicht zum Ende kommt, reicht der Speicherplatz nicht aus. Die Datei enthält also segmentation fault.

    Dieser Fehler
    i2c-adapter i2c-0: sendbytes: NAK bailout.
    ist von /drivers/i2c/algos/i2c-algo-bit.c

    /* A slave NAKing the master means the slave didn't like
    * something about the data it saw. For example, maybe
    * the SMBus PEC was wrong.
    */
    } else if (retval == 0) {
    dev_err(&i2c_adap->dev, "sendbytes: NAK bailout.\n");
    return -EIO;

    Vielen Dank Mark.
    MfG

  4. #24
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Ich habe versucht, das Bild in eine Datei zu speichern, aber weil der Aufnahme nicht zum Ende kommt, reicht der Speicherplatz nicht aus. Die Datei enthält also segmentation fault.
    Das Porgramm berechnet die Anzahl der zu lesenden Bytes aus der Größe des Bildes, da man unendlich viele Bytes aus video0/1 lesen kann(es werden einfach immer neue Frames aufgenommen).. Lass Dir mal die Auflösung ausgeben, in dem Du printf("%dx%d: %d bytes\n", image->width,image->height, image->size); ans Ende der init_videodev() Funktion in capture.c schreibst.

    Sorry kann Dir nichts zu I2C sagen, bei mir hats es sofort funktionert. Eventuell ist die Kamera falsch an den Bus angeschlossen.
    Code:
    #include <stdio.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <errno.h>
    #include <sys/ioctl.h>
    #include <linux/i2c.h>
    #include <linux/i2c-dev.h>
    
    #define RD_LEN 1
    
    int main(int argc, char *argv[])
    {
       int fd, i;
       struct i2c_rdwr_ioctl_data msgset;
       struct i2c_msg msg[2];
       unsigned char write = 0x9B; /* subaddress */
       unsigned char read[RD_LEN];
       long slave_addr = 0x0B;
    
       msg[0].addr = slave_addr;
       msg[0].flags = 0;
       msg[0].len = 1;
       msg[0].buf = &write;
    
       msg[1].addr = slave_addr;
       msg[1].flags = I2C_M_RD;
       msg[1].len = RD_LEN;
       msg[1].buf = read;
    
       msgset.msgs = msg;
       msgset.nmsgs = 2;
    
       if((fd = open("/dev/i2c-0",O_RDWR)) < 0) {
          perror("could not open device");
          return fd;
       } else {
          printf("opened device i2c-0\n");
       }
    
       if(ioctl(fd,I2C_RDWR,&msgset) < 0) {
          perror("ioctl");
          return -1;
       }
    
       for (i = 0; i < RD_LEN; i++)
          printf("0x%08x\n", read[i]);
    
       return 0;
    }
    Wenn dieses Programm anstandslos funktioniert ist es höchswahrscheinlich ein Hardwareproblem.

    MfG Mark

  5. #25
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Hallo Mark,

    jetzt kann ich das Bild mit irfanView sehen, aber sieht nicht gut aus.

    Hier ist die ausgabe von Deinem Programm:
    opened device i2c-0
    0x00000001

    Der Fehler tritt nicht mehr, wenn ich video0 verwende. Video1 funktioniert gar nicht.

    Vielen Dank.
    MfG
    Angehängte Dateien Angehängte Dateien
    • Dateityp: rar 2.rar (58,4 KB, 86x aufgerufen)

  6. #26
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Das ist ja wunderbar dass jetzt endlich überhaupt ein Bild aufgenommen werden kann. Keine Sorge, bei mir hats am Anfang genauso ausgesehen, Es kommt daher dass die Kamera die Daten im falschen Format mir möglicherweise auch falscher Auflösung liefert. Wie gesagt, die Auflösung der Kamera muss exakt der im Programm angegebenen entsprechen und sollte die Daten im VYUY ausgeben, also V vom ersten Pixel, Takt, Y vom ersten Pixel, Takt, U vom zweiten Pixel, Takt, Y vom zweiten Pixel, Takt, V vom dritten Pixel, Takt usw....

    Video1 ist fürs Streaming gedacht und bietet soweit ich mich erinnern kann kein Capture-Interface. Beim Streaming werden mehrere Buffer angelegt (beim atmel-isi immer 4) die dann ins User-Memory gemappt werden und wo dann die Kamara nacheinander dauernd Daten hinschreibt und nach jedem Frame den Buffer wechselt. Dabei können größere Frameraten erziehlt werden als mit Capture.

    MfG Mark

  7. #27
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Danke für die Info.

    Vor 2 Tagen hat Lars Haering, die neue Version von dem ISI-Treiber und Micron Treiber hochgeladen. Vielleicht brauchst Du auch die, um deins zu verbessern oder mit dem zu spielen.

    MfG

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

LiFePO4 Speicher Test