[E-puck-user] E-puck Camera Problem
Hi, I'm trying to extract an image from the epuck camera to the matlab using the bluetooth connection. I based the image extraction on the first example of the e_po3030k.h, and used the uart interface to transfer the buffer, containing the image, from the e-puck to the matlab. All the libraries (matlab-uart and camera) were retreived from the epuck site/downloads/library/e-puck-latest-svn-trunk The code is the following: #include "e_uart_char.h" #include "e_init_port.h" #include "e_po3030k.h" #include "matlab.h" //buffer containing the image char buffer[2*40*40]; int main(void) { //initializations e_init_port(); e_init_uart1(); e_po3030k_init_cam(); //begining of the program e_send_char_to_matlab("CHECKPOINT1",11); //configuring the camera e_po3030k_config_cam((ARRAY_WIDTH -160)/2,(ARRAY_HEIGHT-160)/2,60,160,4,4,RGB_565_MODE); //?dont know what is this?? e_po3030k_write_cam_registers(); //start capturing the image e_po3030k_launch_capture(buffer); //after launching the image capture - the e-puck arrives to this stage e_send_char_to_matlab("CHECKPOINT2",11); //wait for the image to be captured and the data is on the buffer while(!e_po3030k_is_img_ready()); //when the image is ready to be sent - E-PUCK NEVER ARRIVES TO THIS STAGE e_send_char_to_matlab("CHECKPOINT3",11); //sending the data to MATLAB - 40*40 RGB565 (16 bits-2 bytes) picture e_send_char_to_matlab(buffer,2*40*40); //wait for the epuck to send the data while(e_uart1_sending()); return 0; } I can compile it and upload it to the e-puck. But when the e-pucks boots, it seems that it stays stuck on a resetting and booting loop. I can see this because of the checkpoints I put the in the program. The e-puck keeps repeatedly printing CHECKPOINT1 and CHECKPOINT2 and never arrives to CHECKPOINT 3. I tried to issuie CHECKPOINT2 after a certain time has passed (with a timer). It's seems that after a few seconds (1/2 seconds) of delay the program starts only issueing CHECKPOINT1, so I presume the rebooting ocurres somewhere arround that delay. I can't seem to get arround this problem. Could someone please help? ___ E-puck-user mailing list E-puck-user@gna.org https://mail.gna.org/listinfo/e-puck-user
Re: [E-puck-user] E-puck Camera Problem
Hi, Are you sure you have a po3030 or a po6060? Sergi 2011/2/28 Duarte Dias > Hi, > > I'm trying to extract an image from the epuck camera to the matlab using > the bluetooth connection. > > I based the image extraction on the first example of the e_po3030k.h, and > used the uart interface to transfer the buffer, containing the image, from > the e-puck to the matlab. All the libraries (matlab-uart and camera) were > retreived from the epuck site/downloads/library/e-puck-latest-svn-trunk > > The code is the following: > > #include "e_uart_char.h" > #include "e_init_port.h" > #include "e_po3030k.h" > #include "matlab.h" > > //buffer containing the image > char buffer[2*40*40]; > > int main(void) > { > //initializations > e_init_port(); > e_init_uart1(); > e_po3030k_init_cam(); > > //begining of the program > e_send_char_to_matlab("CHECKPOINT1",11); > > //configuring the camera > e_po3030k_config_cam((ARRAY_WIDTH > -160)/2,(ARRAY_HEIGHT-160)/2,60,160,4,4,RGB_565_MODE); > > //?dont know what is this?? > e_po3030k_write_cam_registers(); > > //start capturing the image > e_po3030k_launch_capture(buffer); > > //after launching the image capture - the e-puck arrives to this stage > e_send_char_to_matlab("CHECKPOINT2",11); > > //wait for the image to be captured and the data is on the buffer > while(!e_po3030k_is_img_ready()); > > //when the image is ready to be sent - E-PUCK NEVER ARRIVES TO THIS > STAGE > e_send_char_to_matlab("CHECKPOINT3",11); > > //sending the data to MATLAB - 40*40 RGB565 (16 bits-2 bytes) picture > e_send_char_to_matlab(buffer,2*40*40); > > //wait for the epuck to send the data > while(e_uart1_sending()); > > return 0; > } > > I can compile it and upload it to the e-puck. But when the e-pucks boots, > it seems that it stays stuck on a resetting and booting loop. I can see this > because of the checkpoints I put the in the program. > The e-puck keeps repeatedly printing CHECKPOINT1 and CHECKPOINT2 and never > arrives to CHECKPOINT 3. I tried to issuie CHECKPOINT2 after a certain time > has passed (with a timer). It's seems that after a few seconds (1/2 seconds) > of delay the program starts only issueing CHECKPOINT1, so I presume the > rebooting ocurres somewhere arround that delay. > > I can't seem to get arround this problem. Could someone please help? > > ___ > E-puck-user mailing list > E-puck-user@gna.org > https://mail.gna.org/listinfo/e-puck-user > > -- *SERGI TORRELLAS SOCASTRO Desenvolupador R+D Salut M. 616.21.72.97** *storrel...@bdigital.org *BARCELONA DIGITAL CENTRE TECNOLĂ’GIC* Roc Boronat 117, 5a planta, 08018 Barcelona Tel. +34 93 553 45 40 - Fax. +34 93 553 45 41 www.bdigital.org ___ E-puck-user mailing list E-puck-user@gna.org https://mail.gna.org/listinfo/e-puck-user
Re: [E-puck-user] E-puck Camera Problem
Sergi, I am very dum in camera concepts I don't know what is the diference of a po3030 and po6060. I heard the term po6060 but don't know what it is. If it is this the problem what should I do? I presume there is a po6060 camera library but I don't have it on the downloaded libraries. Thx for the reply 2011/2/28 Sergi Torrellas > Hi, > > Are you sure you have a po3030 or a po6060? > > Sergi > > 2011/2/28 Duarte Dias > >> Hi, >> >> I'm trying to extract an image from the epuck camera to the matlab using >> the bluetooth connection. >> >> I based the image extraction on the first example of the e_po3030k.h, and >> used the uart interface to transfer the buffer, containing the image, from >> the e-puck to the matlab. All the libraries (matlab-uart and camera) were >> retreived from the epuck site/downloads/library/e-puck-latest-svn-trunk >> >> The code is the following: >> >> #include "e_uart_char.h" >> #include "e_init_port.h" >> #include "e_po3030k.h" >> #include "matlab.h" >> >> //buffer containing the image >> char buffer[2*40*40]; >> >> int main(void) >> { >> //initializations >> e_init_port(); >> e_init_uart1(); >> e_po3030k_init_cam(); >> >> //begining of the program >> e_send_char_to_matlab("CHECKPOINT1",11); >> >> //configuring the camera >> e_po3030k_config_cam((ARRAY_WIDTH >> -160)/2,(ARRAY_HEIGHT-160)/2,60,160,4,4,RGB_565_MODE); >> >> //?dont know what is this?? >> e_po3030k_write_cam_registers(); >> >> //start capturing the image >> e_po3030k_launch_capture(buffer); >> >> //after launching the image capture - the e-puck arrives to this stage >> e_send_char_to_matlab("CHECKPOINT2",11); >> >> //wait for the image to be captured and the data is on the buffer >> while(!e_po3030k_is_img_ready()); >> >> //when the image is ready to be sent - E-PUCK NEVER ARRIVES TO THIS >> STAGE >> e_send_char_to_matlab("CHECKPOINT3",11); >> >> //sending the data to MATLAB - 40*40 RGB565 (16 bits-2 bytes) picture >> e_send_char_to_matlab(buffer,2*40*40); >> >> //wait for the epuck to send the data >> while(e_uart1_sending()); >> >> return 0; >> } >> >> I can compile it and upload it to the e-puck. But when the e-pucks boots, >> it seems that it stays stuck on a resetting and booting loop. I can see this >> because of the checkpoints I put the in the program. >> The e-puck keeps repeatedly printing CHECKPOINT1 and CHECKPOINT2 and never >> arrives to CHECKPOINT 3. I tried to issuie CHECKPOINT2 after a certain time >> has passed (with a timer). It's seems that after a few seconds (1/2 seconds) >> of delay the program starts only issueing CHECKPOINT1, so I presume the >> rebooting ocurres somewhere arround that delay. >> >> I can't seem to get arround this problem. Could someone please help? >> >> ___ >> E-puck-user mailing list >> E-puck-user@gna.org >> https://mail.gna.org/listinfo/e-puck-user >> >> > > > -- > *SERGI TORRELLAS SOCASTRO > Desenvolupador > R+D Salut > > M. 616.21.72.97** > *storrel...@bdigital.org > > *BARCELONA DIGITAL CENTRE TECNOLĂ’GIC* > Roc Boronat 117, 5a planta, 08018 Barcelona > Tel. +34 93 553 45 40 - Fax. +34 93 553 45 41 > www.bdigital.org > ___ E-puck-user mailing list E-puck-user@gna.org https://mail.gna.org/listinfo/e-puck-user
Re: [E-puck-user] E-puck Camera Problem
Sergi, I was using the fast_2_timer library. When I switch to the slow_3_timer library a buffer is effectively transfered throught the bluetooth. But this buffer consists of a vector of zeros, no matter the color environment the e-puck camera is looking at. I switch to the po library. The thing is the po library only exists on the fast_2_timer. The problems are the same (with the fast_2_timer we have a rebooting loop and with slow_3_timer we have a buffer of zeros). With the search I did through the po library code, I understanded that this library has the two models of the camera (3030 and 6030) included, and the interface just acts as a switcher between the two of them. When I init the camera, the model of the camera is calculated and stored in a variable. The general functions just use that variable as a switch between the functions of the two models, thus choosing allways the right function regardless of the model we are in. What I don't understand: 1 - why do the fast_2_timer library doesn't work (regardless the model I have)? 2 - what is the difference between fast_2_timer library and slow_3_timer library? 3 - why do the slow_3_timer doesn't have a po interface and there is no library for the model 6030? 4 - why do I get a buffer with zeros with the fast_2_timer library? 5 - where is the slow_3_timer library for the po6030 model? 6 - in the site you told me to download the libraries there are two files with the same description: epucklib.zip (only have model 3030) e-puck-latest-svn-trunk.tar.gz (have the models 3030, 6030 and a the model switcher ) why the first is not updated? Because I started to download that one thus never heard of the po library before ONE MORE THING: I'm not building my application on the library projects. I just take the .c and .h I need and do my own project. In the fast_2_timer library, e_interrupt.s and cam_fast.a are not included - are these files important? The project compiles! Sry for the length of the mail 2011/2/28 Sergi Torrellas > Here you have: > > > http://www.e-puck.org/index.php?option=com_phocadownload&view=category&id=11:library&Itemid=38 > > Sorry for the misunderstanding ... > There are many examples there that can help you. > > > Sergi > > 2011/2/28 Duarte Dias > >> Sorry Sergi but I don't understand what librarys you want me to >> download. Was the link u sent suppose to direct me to the libraries? because >> instead I just go to a Apach Server Debugging Page. >> >> Duarte >> >> 2011/2/28 Sergi Torrellas >> >>> Hi Duarte, >>> >>> The po3030K or po6060k are the model of the integrated camera of the >>> e-puck. However, it exists generic calls independent of the camera model. >>> Something like: >>> e_po_init_cam(); >>> e_po_config_cam((ARRAY_WIDTH -160)/2,(ARRAY_HEIGHT-160)/2, >>> 160,160,4,4,RGB_565_MODE); >>> e_po_write_cam_registers(); >>> >>> Try to have a look at the examples that come with the library >>> downloadable from e-puck.org. >>> >>> >>> Sergi >>> >>> 2011/2/28 Duarte Dias >>> Sergi, I am very dum in camera concepts I don't know what is the diference of a po3030 and po6060. I heard the term po6060 but don't know what it is. If it is this the problem what should I do? I presume there is a po6060 camera library but I don't have it on the downloaded libraries. Thx for the reply 2011/2/28 Sergi Torrellas Hi, > > Are you sure you have a po3030 or a po6060? > > Sergi > > 2011/2/28 Duarte Dias > >> Hi, >> >> I'm trying to extract an image from the epuck camera to the matlab >> using the bluetooth connection. >> >> I based the image extraction on the first example of the e_po3030k.h, >> and used the uart interface to transfer the buffer, containing the image, >> from the e-puck to the matlab. All the libraries (matlab-uart and camera) >> were retreived from the epuck >> site/downloads/library/e-puck-latest-svn-trunk >> >> The code is the following: >> >> #include "e_uart_char.h" >> #include "e_init_port.h" >> #include "e_po3030k.h" >> #include "matlab.h" >> >> //buffer containing the image >> char buffer[2*40*40]; >> >> int main(void) >> { >> //initializations >> e_init_port(); >> e_init_uart1(); >> e_po3030k_init_cam(); >> >> //begining of the program >> e_send_char_to_matlab("CHECKPOINT1",11); >> >> //configuring the camera >> e_po3030k_config_cam((ARRAY_WIDTH >> -160)/2,(ARRAY_HEIGHT-160)/2,60,160,4,4,RGB_565_MODE); >> >> //?dont know what is this?? >> e_po3030k_write_cam_registers(); >> >> //start capturing the image >> e_po3030k_launch_capture(buffer); >> >> //after launching the image capture - the e-puck arrives to this >> sta