Version 3: Trying to interleave capture and read

Dependencies:   ov7670_lib Project_test

Revision:
7:9e4e66a8554e
Parent:
6:c7450b320c30
Child:
8:36adb37e976d
--- a/main.cpp	Mon Apr 06 10:26:11 2020 +0000
+++ b/main.cpp	Mon Apr 06 11:23:49 2020 +0000
@@ -19,203 +19,26 @@
 int main() 
 {   
 //FILE *wrt=fopen("/local/out.txt","w");
-    int pixel[QQVGA];
-    int pixel2[QQVGA];
-    camera.Init('y', QQVGA);
-    pc.printf("Camera initiated");
+    int pixel[QVGA];
+    int pixel2[QVGA];
+    camera.Init('y', QVGA);
+    pc.printf("\r\nCamera initiated");
     camera.CaptureNext();
     while(camera.CaptureDone() == false);  
     camera.ReadStart();  
         t1 = t.read_ms();
         t.start();
-        for(int x = 0; x<QQVGA; x++)
+        for(int x = 0; x<QVGA; x++)
         {
                pixel[x]=camera.ReadOnebyte();
                //fprintf(fp,"%i", pixel[x]);
                //pixel2[x]=camera.ReadOnebyte();
                //fprintf(fp,"%i/n", pixel2[x]);
-               printf("%d ", camera.ReadOnebyte());       
+               pc.printf("%d ", camera.ReadOnebyte());       
         }
        
         camera.ReadStop();
         pc.printf("done in %f\r\n",t.read());
         //fclose(fp);
- /*   
-    pc.baud(921600);       
-    pc.printf("SystemCoreClock: %dMHz\r\n", SystemCoreClock/1000000);       // print the clock frequency
-    led4 = 0;
-  
-    t.start();
-    //pc.attach(&rxCallback, MODSERIAL::RxIrq);
-
-    while(1) 
-    { 
-        if(new_send)
-        {
-            int i = 0;
-       
-            while(pc.readable())
-            {
-                word[i] = pc.getc();
-                i++;
-            }
-            parse_cmd(); 
-        }            
-        wait_ms(50);
-    }
-}
-
-
-
-void parse_cmd()
-{
-            new_send = false;
-            
-            if(strcmp("snap", word) == 0)              
-            {
-                    CameraSnap();
-                    memset(word, 0, sizeof(word));      
-            }else
-            if(strcmp("init_bw_VGA", word) == 0)                    // Set up for 640*480 pixels RAW    
-            {
-                    format = 'b';
-                    resolution = VGA;
-                    if(camera.Init('b', VGA) != 1)
-                    {
-                      pc.printf("Init Fail\r\n");
-                    }
-                    pc.printf("Initializing done\r\n");
-                    memset(word, 0, sizeof(word));
-            }else  
-            if(strcmp("init_yuv_QVGA", word) == 0)                  // Set up for 320*240 pixels YUV422   
-            {
-                    format = 'y';
-                    resolution = QVGA;
-                    if(camera.Init('b', QVGA) != 1)
-                    {
-                      pc.printf("Init Fail\r\n");
-                    }
-                    pc.printf("Initializing done\r\n");
-                    memset(word, 0, sizeof(word));
-            }else  
-            if(strcmp("init_rgb_QVGA", word) == 0)                  // Set up for 320*240 pixels RGB565   
-            {
-                    format = 'r';
-                    resolution = QVGA;
-                    if(camera.Init('r', QVGA) != 1)
-                    {
-                      pc.printf("Init Fail\r\n");
-                    }
-                    pc.printf("Initializing done\r\n");
-                    memset(word, 0, sizeof(word));
-            }else 
-            if(strcmp("init_bw_QVGA", word) == 0)                  // Set up for 320*240 pixels YUV (Only Y)         
-            {
-                    format = 'b';
-                    resolution = QVGA;
-                    if(camera.Init('b', QVGA) != 1)
-                    {
-                      pc.printf("Init Fail\r\n");
-                    }
-                    pc.printf("Initializing done\r\n");
-                    memset(word, 0, sizeof(word));
-            }else  
-            if(strcmp("init_yuv_QQVGA", word) == 0)                 // Set up for 160*120 pixels YUV422
-            {                            
-                    format = 'y';
-                    resolution = QQVGA;
-                    if(camera.Init('b', QQVGA) != 1)
-                    {
-                      pc.printf("Init Fail\r\n");
-                    }
-                    pc.printf("Initializing done\r\n");
-                    memset(word, 0, sizeof(word));
-            }else   
-            if(strcmp("init_rgb_QQVGA", word) == 0)                 // Set up for 160*120 pixels RGB565
-            {                            
-                    format = 'r';
-                    resolution = QQVGA;
-                    if(camera.Init('r', QQVGA) != 1)
-                    {
-                      pc.printf("Init Fail\r\n");
-                    }
-                    pc.printf("Initializing done\r\n");
-                    memset(word, 0, sizeof(word));
-            }else
-            if(strcmp("init_bw_QQVGA", word) == 0)                 // Set up for 160*120 pixels YUV (Only Y)
-            {                        
-                    format = 'b';
-                    resolution = QQVGA;
-                    if(camera.Init('b', QQVGA) != 1)
-                    {
-                      pc.printf("Init Fail\r\n");
-                    }
-                    pc.printf("Initializing done\r\n");
-                    memset(word, 0, sizeof(word));
-            }else
-            if(strcmp("reset", word) == 0)              
-            {
-                    //mbed_reset();        
-            }else
-            if(strcmp("time", word) == 0)              
-            {
-                    pc.printf("Tot time acq + send (mbed): %dms\r\n", t2-t1);
-                    memset(word, 0, sizeof(word));
-            }else
-            if(strcmp("reg_status", word) == 0)              
-            {  
-                    int i = 0;
-                    pc.printf("AD : +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F");
-                    for (i=0;i<OV7670_REGMAX;i++) 
-                    {
-                        int data;
-                        data = camera.ReadReg(i); // READ REG
-                        if ((i & 0x0F) == 0) 
-                        {
-                            pc.printf("\r\n%02X : ",i);
-                        }
-                        pc.printf("%02X ",data);
-                    }
-                    pc.printf("\r\n");
-            }
-            
-            memset(word, 0, sizeof(word));
-            
-}
-
-
-void CameraSnap()
-{
-        led4 = 1;
-
-                // Kick things off by capturing an image
-        camera.CaptureNext();
-        while(camera.CaptureDone() == false);      
-                // Start reading in the image data from the camera hardware buffer                   
-        camera.ReadStart();  
-        t1 = t.read_ms();
-        
-        for(int x = 0; x<resolution; x++)
-        {
-               // Read in the first half of the image
-               if(format == 'b' && resolution != VGA)
-               {
-                    camera.ReadOnebyte();
-               }else
-               if(format == 'y' || format == 'r')
-               {
-                    pc.putc(camera.ReadOnebyte());
-               }     
-               // Read in the Second half of the image
-               pc.putc(camera.ReadOnebyte());      // Y only         
-        }
-       
-        camera.ReadStop();
-        t2 = t.read_ms(); 
-        
-        camera.CaptureNext();
-        while(camera.CaptureDone() == false);             
-        
-        pc.printf("Snap_done\r\n");   
-        led4 = 0;*/
+ 
 }
\ No newline at end of file