cmucam3-software (#4) - simple-track-color (#198) - Message List
Hi...
I manage to this simple-track-color works.. not great but at least the centroid change when i move the object..
here what you need to add.. please let me know if you can make it work better. thanks
/* dont forget to add lib on the top */
#include <cc3.h>
#include <cc3_ilp.h>
#include <cc3_color_track.h>
#include <cc3_color_info.h>
#include <cc3_frame_diff.h>
void simple_track_color(cc3_track_pkt_t *t_pkt);
int main(void) {
cc3_track_pkt_t t_pkt;
uint32_t x0, y0, x1, y1;
cc3_frame_diff_pkt_t fd_pkt;
cc3_uart_init (0, CC3_UART_RATE_115200,
CC3_UART_MODE_8N1, CC3_UART_BINMODE_TEXT);
cc3_camera_init ();
cc3_camera_set_resolution(CC3_CAMERA_RESOLUTION_LOW);
cc3_pixbuf_frame_set_subsample(CC3_SUBSAMPLE_NEAREST, 2, 1);
// init pixbuf with full size width and height
x0 = 0;
x1 = cc3_g_pixbuf_frame.raw_width;
y0 = 0;
y1 = cc3_g_pixbuf_frame.raw_height;
fd_pkt.coi = 1;
fd_pkt.template_width = 8;
fd_pkt.template_height = 8;
t_pkt.track_invert = false;
t_pkt.noise_filter = 0;
cc3_pixbuf_frame_set_roi (x0, y0, x1, y1);
// Load in color tracking parameters
t_pkt.lower_bound.channel[0] = 164;
t_pkt.upper_bound.channel[0] = 214;
t_pkt.lower_bound.channel[1] = 0;
t_pkt.upper_bound.channel[1] = 41;
t_pkt.lower_bound.channel[2] = 0;
t_pkt.upper_bound.channel[2] = 41;
while(true) {
simple_track_color(&t_pkt);
printf("\n centroid=[%d,%d] bounding box=[%d,%d,%d,%d] num pix=[%d] density=[%d] \n",
t_pkt.centroid_x, t_pkt.centroid_y,
t_pkt.x0,t_pkt.y0,t_pkt.x1,t_pkt.y1,
t_pkt.num_pixels, t_pkt.int_density );
}
}
void simple_track_color(cc3_track_pkt_t *t_pkt)
{
cc3_image_t img;
img.channels = 3;
img.width = cc3_g_pixbuf_frame.width;
img.height = 1; // image will hold just 1 row for scanline processing
img.pix = cc3_malloc_rows (1);
if (img.pix == NULL) {
return;
}
cc3_pixbuf_load ();
if (cc3_track_color_scanline_start (t_pkt) != 0) {
while (cc3_pixbuf_read_rows (img.pix, 1)) {
// This does the HSV conversion
// cc3_rgb2hsv_row(img.pix,img.width);
cc3_track_color_scanline (&img, t_pkt);
}
}
cc3_track_color_scanline_finish (t_pkt);
free (img.pix);
return;
}
-
Message #510
hello,
I'm lookig for a simple color tracking program for a cmucam 3, do you know where I can find this kind of program ? does it exit or should I program it by myself?
lvpk05/05/08 07:23:24 (4 years ago) -
Message #511
hello,
I'm lookig for a simple color tracking program for a cmucam 3, do you know where I can find this kind of program ? does it exit or should I program it by myself?
lvpk05/05/08 07:23:27 (4 years ago) -
Message #526
Nice work!
Can you please give an example on using Pan and Tilt to make the robot look at the object all the time I will be glad =)
Thanks!
xsocom05/14/08 12:17:27 (4 years ago) -
Message #527
#include <cc3.h> #include <cc3_ilp.h> #include <cc3_color_track.h> #include <cc3_color_info.h> #include <cc3_histogram.h> #include <cc3_frame_diff.h> #include <math.h> #include <stdbool.h> #include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> #include <cc3_jpg.h> #include <cc3_math.h> #include <cc3_hsv.h> #define SERVO_REVERSE_DIRECTION_PAN #define SERVO_REVERSE_DIRECTION_TILT #define SERIAL_BAUD_RATE CC3_UART_RATE_115200 // Define a jitter guard such that more than SERVO_GUARD pixels are required // for the servo to move. #define SERVO_MIN 0 #define SERVO_MID 128 #define SERVO_MAX 255 #define DEFAULT_COLOR 0 #define HSV_COLOR 1 typedef struct { uint8_t pan_step, tilt_step; uint8_t pan_range_near, tilt_range_near; uint8_t pan_range_far, tilt_range_far; int16_t x; int16_t y; bool y_control; bool x_control; bool y_report; bool x_report; } cmucam2_servo_t; static const unsigned int MAX_ARGS = 10; static const unsigned int MAX_LINE = 128; static const char VERSION_BANNER[] = "CMUcam2 v1.00 c6"; static uint8_t t_pkt_mask; static void cmucam2_write_t_packet (cc3_track_pkt_t * pkt, cmucam2_servo_t * servo_settings); static void cmucam2_track_color (cc3_track_pkt_t * t_pkt, bool poll_mode, int8_t line_mode, bool auto_led, cmucam2_servo_t * servo_settings, bool buf_mode, uint8_t sw_color_space, bool quiet); int main(void) { uint8_t sw_color_space; bool poll_mode, auto_led, buf_mode; int8_t line_mode; cc3_track_pkt_t t_pkt; cc3_frame_diff_pkt_t fd_pkt; cmucam2_servo_t servo_settings; uint32_t x0, y0, x1, y1; cc3_uart_init (0, CC3_UART_RATE_115200, CC3_UART_MODE_8N1, CC3_UART_BINMODE_TEXT); cc3_camera_init (); servo_settings.x_control = false; servo_settings.y_control = false; servo_settings.x_report = false; servo_settings.y_report = false; servo_settings.x = SERVO_MID; servo_settings.y = SERVO_MID; servo_settings.pan_range_far = 32; servo_settings.pan_range_near = 20; servo_settings.pan_step = 20; servo_settings.tilt_range_far = 32; servo_settings.tilt_range_near = 20; servo_settings.tilt_step = 20; cc3_camera_set_power_state (true); cc3_camera_set_resolution (CC3_CAMERA_RESOLUTION_LOW); printf ("%s\r", VERSION_BANNER); cc3_gpio_set_mode (0, CC3_GPIO_MODE_SERVO); cc3_gpio_set_mode (1, CC3_GPIO_MODE_SERVO); cc3_gpio_set_mode (2, CC3_GPIO_MODE_SERVO); cc3_gpio_set_mode (3, CC3_GPIO_MODE_SERVO); cc3_gpio_set_servo_position (0, SERVO_MID); cc3_gpio_set_servo_position (1, SERVO_MID); cc3_gpio_set_servo_position (2, SERVO_MID); cc3_gpio_set_servo_position (3, SERVO_MID); cc3_pixbuf_frame_set_subsample (CC3_SUBSAMPLE_NEAREST, 2, 1); //cc3_camera_set_colorspace(CC3_COLORSPACE_YCRCB); cc3_camera_set_resolution(CC3_CAMERA_RESOLUTION_LOW); //cc3_pixbuf_frame_set_subsample(CC3_SUBSAMPLE_NEAREST, 2, 2); sw_color_space=DEFAULT_COLOR; auto_led = true; poll_mode = false; line_mode = 0; buf_mode = false; t_pkt_mask = 0xFF; fd_pkt.coi = 1; fd_pkt.template_width = 8; fd_pkt.template_height = 8; t_pkt.track_invert = false; t_pkt.noise_filter = 0; servo_settings.x_control = true; servo_settings.y_control = true; servo_settings.x_report = true; servo_settings.y_report = true; // init pixbuf with full size width and height x0 = 0; x1 = cc3_g_pixbuf_frame.raw_width; y0 = 0; y1 = cc3_g_pixbuf_frame.raw_height; cc3_pixbuf_frame_set_roi (x0, y0, x1, y1); // Load in color tracking parameters t_pkt.lower_bound.channel[0] = 89; t_pkt.upper_bound.channel[0] = 139; t_pkt.lower_bound.channel[1] = 0; t_pkt.upper_bound.channel[1] = 41; t_pkt.lower_bound.channel[2] = 0; t_pkt.upper_bound.channel[2] = 41; t_pkt.noise_filter = 0; while(true) { cmucam2_track_color (&t_pkt, poll_mode, line_mode, auto_led, &servo_settings, buf_mode,sw_color_space, 0); printf( "centroid = %d,%d bounding box = %d,%d,%d,%d num pix= %d density = %d\n", t_pkt.centroid_x, t_pkt.centroid_y, t_pkt.x0,t_pkt.y0,t_pkt.x1,t_pkt.y1, t_pkt.num_pixels, t_pkt.int_density ); } } static void cmucam2_track_color (cc3_track_pkt_t * t_pkt, bool poll_mode, int8_t line_mode, bool auto_led, cmucam2_servo_t * servo_settings, bool buf_mode, uint8_t sw_color_space, bool quiet) { cc3_image_t img; uint16_t x_mid, y_mid; int8_t t_step; bool prev_packet_empty = true; img.channels = 3; img.width = cc3_g_pixbuf_frame.width; img.height = 1;// image will hold just 1 row for scanline processing img.pix = cc3_malloc_rows (1); if (img.pix == NULL) { return; } /* GET FRAME CENTER */ x_mid = cc3_g_pixbuf_frame.x0 + (cc3_g_pixbuf_frame.width / 2); y_mid = cc3_g_pixbuf_frame.y0 + (cc3_g_pixbuf_frame.height / 2); do { if (!buf_mode) cc3_pixbuf_load (); else cc3_pixbuf_rewind (); if (cc3_track_color_scanline_start (t_pkt) != 0) { uint8_t lm_width, lm_height; uint8_t *lm; lm_width = 0; lm_height = 0; while (cc3_pixbuf_read_rows (img.pix, 1)) { if(sw_color_space==HSV_COLOR && img.channels==CC3_CHANNEL_ALL) cc3_rgb2hsv_row(img.pix,img.width); cc3_track_color_scanline (&img, t_pkt); } // keep this check here if you don't want the CMUcam2 GUI to hang after // exiting a command in line mode while (!cc3_uart_has_data (0)) { if (getchar () == '\r') { free (img.pix); return; } } cc3_track_color_scanline_finish (t_pkt); if (auto_led) { printf ("AUTOLED SCANLINE \r"); if (t_pkt->int_density > 2) cc3_led_set_state (0, true); else cc3_led_set_state (0, false); } if (t_pkt->int_density > 5 && servo_settings != NULL) { printf ("DENSITY & SERVO SET TC SCANLINE \r"); if (servo_settings->x_control) { t_step = 0; if (t_pkt->centroid_x > x_mid + servo_settings->pan_range_far) t_step = servo_settings->pan_step; else if (t_pkt->centroid_x > x_mid + servo_settings->pan_range_near) t_step = (servo_settings->pan_step / 2); if (t_pkt->centroid_x < x_mid - servo_settings->pan_range_far) t_step = -servo_settings->pan_step; else if (t_pkt->centroid_x < x_mid - servo_settings->pan_range_near) t_step = -(servo_settings->pan_step / 2); #ifdef SERVO_REVERSE_DIRECTION_PAN servo_settings->x -= t_step; #else servo_settings->x += t_step; #endif t_step = 0; if (servo_settings->x > SERVO_MAX) servo_settings->x = SERVO_MAX; if (servo_settings->x < SERVO_MIN) servo_settings->x = SERVO_MIN; cc3_gpio_set_servo_position (0, servo_settings->x); } if (servo_settings->y_control) { if (t_pkt->centroid_y > y_mid + servo_settings->tilt_range_far) t_step = servo_settings->tilt_step; else if (t_pkt->centroid_y > y_mid + servo_settings->tilt_range_near) t_step = servo_settings->tilt_step / 2; if (t_pkt->centroid_y < y_mid - servo_settings->tilt_range_far) t_step = -(servo_settings->tilt_step); else if (t_pkt->centroid_y < y_mid - servo_settings->tilt_range_near) t_step = -(servo_settings->tilt_step / 2); #ifdef SERVO_REVERSE_DIRECTION_TILT servo_settings->y -= t_step; #else servo_settings->y += t_step; #endif if (servo_settings->y > SERVO_MAX) servo_settings->y = SERVO_MAX; if (servo_settings->y < SERVO_MIN) servo_settings->y = SERVO_MIN; cc3_gpio_set_servo_position (1, servo_settings->y); } } if (!quiet) { if (!(t_pkt->num_pixels == 0 && prev_packet_empty)) { cmucam2_write_t_packet (t_pkt, servo_settings); } } prev_packet_empty = t_pkt->num_pixels == 0; } else return; while (!cc3_uart_has_data (0)) { if (getchar () == '\r') break; } } while (!poll_mode); free (img.pix); return; } void cmucam2_write_t_packet (cc3_track_pkt_t * pkt, cmucam2_servo_t * servo_settings) { printf ("CALL fn WRITE_T_PACKET \r"); // cap at 255 if (pkt->centroid_x > 255) pkt->centroid_x = 255; if (pkt->centroid_y > 255) pkt->centroid_y = 255; if (pkt->x0 > 255) pkt->x0 = 255; if (pkt->x1 > 255) pkt->x1 = 255; if (pkt->y1 > 255) pkt->y1 = 255; if (pkt->y0 > 255) pkt->y0 = 255; if (pkt->num_pixels > 255) pkt->num_pixels = 255; if (pkt->int_density > 255) pkt->int_density = 255; // values to print uint8_t p[8]; if (pkt->num_pixels == 0) { p[0] = p[1] = p[2] = p[3] = p[4] = p[5] = p[6] = p[7] = 0; } else { /* BOUNDING BOX, CENTROID, NUM_PIXELS, PIX_DENSITY */ p[0] = pkt->centroid_x; p[1] = pkt->centroid_y; p[2] = pkt->x0; p[3] = pkt->y0; p[4] = pkt->x1; p[5] = pkt->y1; p[6] = pkt->num_pixels; p[7] = pkt->int_density; } uint8_t mask = t_pkt_mask; printf ("T"); // print out fields using mask for (int i = 0; i < 8; i++) { if (mask & 0x1) { printf (" %d", p[i]); } mask >>= 1; } // print servo settings? if (servo_settings != NULL) { uint8_t sx = servo_settings->x; uint8_t sy = servo_settings->y; if (servo_settings->x_report) { printf (" %d", sx); } if (servo_settings->y_report) { printf (" %d", sy); } } }Please compile and check the syntax . Let me know if there any copy & paste error from cmucam2 soucefiles
kind regards ,
Ammar
wikki05/14/08 13:26:06 (4 years ago)-
Message #807
Actually, the only thing you need to add is:
t_pkt.track_invert = false;
The problem is that this is defined as a bool type and by default the compiler does not seem to be setting it to 0. So when you call track color, it thinks that track_invert is enabled which gives you the opposite of what you want.
agr02/23/09 18:11:44 (3 years ago) -
Message #1246
Hello, I am very interested by your code, but I got an error message when I want to compile. Have you fixed the problem? Thanks
franck@franck-PC /cygdrive/c/cc3/projects/cmucam2 $ make CC lpc2106-cmucam3_buildfiles/cmucam2.o cmucam2.c: In function 'main': cmucam2.c:58: warning: declaration of 'y0' shadows a global declaration f:\program files\codesourcery\sourcery g++ lite\bin\../lib/gcc/arm-none-eabi/4.4.1/include-fixed/mat h.h:364: warning: shadowed declaration is here cmucam2.c:58: warning: declaration of 'y1' shadows a global declaration f:\program files\codesourcery\sourcery g++ lite\bin\../lib/gcc/arm-none-eabi/4.4.1/include-fixed/mat h.h:365: warning: shadowed declaration is here cmucam2.c:122: warning: missing terminating " character cmucam2.c:122: error: missing terminating " character cmucam2.c:123: error: 'density' undeclared (first use in this function) cmucam2.c:123: error: (Each undeclared identifier is reported only once cmucam2.c:123: error: for each function it appears in.) cmucam2.c:123: error: expected expression before '%' token cmucam2.c:123: error: stray '\' in program cmucam2.c:123: warning: missing terminating " character cmucam2.c:123: error: missing terminating " character cmucam2.c: In function 'cmucam2_track_color': cmucam2.c:189: warning: comparison between signed and unsigned integer expressions cmucam2.c:191: warning: comparison between signed and unsigned integer expressions cmucam2.c:212: warning: comparison between signed and unsigned integer expressions cmucam2.c:215: warning: comparison between signed and unsigned integer expressions cmucam2.c:156: warning: unused variable 'lm' cmucam2.c:131: warning: unused parameter 'line_mode' cmucam2.c: At top level: ../../lib/cc3-ilp/cc3_hsv.h:27: warning: inline function 'cc3_rgb2hsv' declared but never defined make: *** [lpc2106-cmucam3_buildfiles/cmucam2.o] Error 1 franck@franck-PC /cygdrive/c/cc3/projects/cmucam2 $
wofty07/28/10 12:58:41 (19 months ago)-
Message #1251
ok, I found the problem. At line 122.
printf( "centroid = %d,%d bounding box = %d,%d,%d,%d num pix= %d density = %d\n",Deleted spaces between %d and density
printf( "centroid = %d,%d bounding box = %d,%d,%d,%d num pix= %d density = %d\n",
Now, all is alright.
sorry about double post
wofty08/01/10 09:08:55 (18 months ago)-
Message #1340
Hi
it still doesn't work for me, even with changing line 122
I get: me@Flenders /cygdrive/c/cc3/projects/simple-track-color $ make
MKDIR lpc2106-cmucam3_buildfiles
mkdir lpc2106-cmucam3_buildfiles
CC lpc2106-cmucam3_buildfiles/main.o
In file included from main.c:13: ../../lib/cc3-ilp/cc3_jpg.h:19:21: error: jpeglib.h: No such file or directory main.c: In function 'main': main.c:56: warning: declaration of 'y0' shadows a global declaration c:\dokumente und einstellungen\me\eigene dateien\bin\../lib/gcc/arm-none-eabi/4. 2.3/include-fixed/math.h:359: warning: shadowed declaration is here main.c:56: warning: declaration of 'y1' shadows a global declaration c:\dokumente und einstellungen\me\eigene dateien\bin\../lib/gcc/arm-none-eabi/4. 2.3/include-fixed/math.h:360: warning: shadowed declaration is here main.c:123: warning: format '%d' expects type 'int', but argument 2 has type 'ui nt32_t' main.c:123: warning: format '%d' expects type 'int', but argument 3 has type 'ui nt32_t' main.c:123: warning: format '%d' expects type 'int', but argument 8 has type 'ui nt32_t' main.c:123: warning: format '%d' expects type 'int', but argument 9 has type 'ui nt32_t' main.c: In function 'cmucam2_track_color': main.c:186: warning: comparison between signed and unsigned main.c:188: warning: comparison between signed and unsigned main.c:209: warning: comparison between signed and unsigned main.c:212: warning: comparison between signed and unsigned main.c:153: warning: unused variable 'lm' main.c:128: warning: unused parameter 'line_mode' main.c:300:2: warning: no newline at end of file make: * [lpc2106-cmucam3_buildfiles/main.o] Error 1
me@Flenders /cygdrive/c/cc3/projects/simple-track-color $
would be grateful for any help
Flenders01/22/11 18:16:46 (13 months ago)-
Message #1341
sorry, here again the error message (hopefully in a better format)
me@Flenders /cygdrive/c/cc3/projects/simple-track-color $ make MKDIR lpc2106-cmucam3_buildfiles mkdir lpc2106-cmucam3_buildfiles CC lpc2106-cmucam3_buildfiles/main.o In file included from main.c:13: ../../lib/cc3-ilp/cc3_jpg.h:19:21: error: jpeglib.h: No such file or directory main.c: In function 'main': main.c:56: warning: declaration of 'y0' shadows a global declaration c:\dokumente und einstellungen\me\eigene dateien\bin\../lib/gcc/arm-none-eabi/4. 2.3/include-fixed/math.h:359: warning: shadowed declaration is here main.c:56: warning: declaration of 'y1' shadows a global declaration c:\dokumente und einstellungen\me\eigene dateien\bin\../lib/gcc/arm-none-eabi/4. 2.3/include-fixed/math.h:360: warning: shadowed declaration is here main.c:123: warning: format '%d' expects type 'int', but argument 2 has type 'ui nt32_t' main.c:123: warning: format '%d' expects type 'int', but argument 3 has type 'ui nt32_t' main.c:123: warning: format '%d' expects type 'int', but argument 8 has type 'ui nt32_t' main.c:123: warning: format '%d' expects type 'int', but argument 9 has type 'ui nt32_t' main.c: In function 'cmucam2_track_color': main.c:186: warning: comparison between signed and unsigned main.c:188: warning: comparison between signed and unsigned main.c:209: warning: comparison between signed and unsigned main.c:212: warning: comparison between signed and unsigned main.c:153: warning: unused variable 'lm' main.c:128: warning: unused parameter 'line_mode' main.c:300:2: warning: no newline at end of file make: *** [lpc2106-cmucam3_buildfiles/main.o] Error 1 me@Flenders /cygdrive/c/cc3/projects/simple-track-color $
Flenders01/22/11 18:18:23 (13 months ago)-
Message #1342
It looks like it isn't able to find jpeglib.h. You probably don't need to include jpeg to just do color tracking. However it should still compile. Can you check if jpeglib.h is in the /lib/jpeg-6b directory? Also make sure you run make from the root directory first.
agr01/22/11 18:51:12 (13 months ago)-
Message #1343
Hi
thanks for the reply. The file jpeglib.h exists in the directory. I hope I understand it right from the sdk-guide, that I have to run "make" first in the cc3 directory and afterwards in the "simple-track-color" directory - right?
I used "make clean" to undo everything and ran "make" again. The program runs and creates as well hex files (of which some are able to run); but I realized that there are already some error messages in the "make" which I run in the cc3 directory
see part of the output:
lgc.c:79: warning: cast increases required alignment of target type lgc.c:79: warning: cast increases required alignment of target type lgc.c:80: warning: cast increases required alignment of target type lgc.c:80: warning: cast increases required alignment of target type lgc.c: In function 'traversetable': lgc.c:164: warning: cast increases required alignment of target type lgc.c:164: warning: cast increases required alignment of target type lgc.c:174: warning: cast increases required alignment of target type lgc.c: In function 'traverseproto': lgc.c:214: warning: cast increases required alignment of target type lgc.c:214: warning: cast increases required alignment of target type lgc.c: In function 'traverseclosure': lgc.c:225: warning: cast increases required alignment of target type lgc.c:225: warning: cast increases required alignment of target type lgc.c:234: warning: cast increases required alignment of target type lgc.c:234: warning: cast increases required alignment of target type lgc.c:236: warning: cast increases required alignment of target type lgc.c:236: warning: cast increases required alignment of target type lgc.c: In function 'markmt': lgc.c:496: warning: cast increases required alignment of target type lgc.c:496: warning: cast increases required alignment of target type lgc.c: In function 'markroot': lgc.c:506: warning: cast increases required alignment of target type lgc.c:506: warning: cast increases required alignment of target type lgc.c: In function 'remarkupvals': lgc.c:519: warning: cast increases required alignment of target type lgc.c:519: warning: cast increases required alignment of target type lgc.c: In function 'atomic': lgc.c:536: warning: cast increases required alignment of target type lgc.c:536: warning: cast increases required alignment of target type lgc.c: In function 'luaC_barrierback': lgc.c:677: warning: cast increases required alignment of target type lgc.c: In function 'luaC_linkupval': lgc.c:697: warning: cast increases required alignment of target type lgc.c:703: warning: cast increases required alignment of target type lgc.c:703: warning: cast increases required alignment of target type CC lpc2106-cmucam3_buildfiles/llex.o CC lpc2106-cmucam3_buildfiles/loadlib.o loadlib.c: In function 'll_require': loadlib.c:458: warning: cast discards qualifiers from pointer target type loadlib.c:481: warning: cast discards qualifiers from pointer target type loadlib.c:488: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/loslib.o CC lpc2106-cmucam3_buildfiles/lstring.o CC lpc2106-cmucam3_buildfiles/ltablib.o CC lpc2106-cmucam3_buildfiles/lzio.o CC lpc2106-cmucam3_buildfiles/lauxlib.o CC lpc2106-cmucam3_buildfiles/ldblib.o ldblib.c: In function 'hookf': ldblib.c:209: warning: cast discards qualifiers from pointer target type ldblib.c: In function 'gethooktable': ldblib.c:245: warning: cast discards qualifiers from pointer target type ldblib.c:250: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/ldump.o CC lpc2106-cmucam3_buildfiles/linit.o CC lpc2106-cmucam3_buildfiles/lmathlib.o CC lpc2106-cmucam3_buildfiles/lobject.o CC lpc2106-cmucam3_buildfiles/lparser.o CC lpc2106-cmucam3_buildfiles/lstrlib.o CC lpc2106-cmucam3_buildfiles/ltm.o CC lpc2106-cmucam3_buildfiles/lundump.o lundump.c: In function 'LoadFunction': lundump.c:165: warning: cast increases required alignment of target type CC lpc2106-cmucam3_buildfiles/print.o CC lpc2106-cmucam3_buildfiles/lbaselib.o CC lpc2106-cmucam3_buildfiles/ldebug.o ldebug.c: In function 'collectvalidlines': ldebug.c:186: warning: cast increases required alignment of target type ldebug.c: In function 'lua_getinfo': ldebug.c:251: warning: cast increases required alignment of target type ldebug.c: In function 'luaG_errormsg': ldebug.c:603: warning: cast increases required alignment of target type CC lpc2106-cmucam3_buildfiles/lfunc.o lfunc.c: In function 'luaF_newCclosure': lfunc.c:25: warning: cast increases required alignment of target type lfunc.c: In function 'luaF_newLclosure': lfunc.c:35: warning: cast increases required alignment of target type lfunc.c: In function 'luaF_newupval': lfunc.c:46: warning: cast increases required alignment of target type lfunc.c: In function 'luaF_findupval': lfunc.c:61: warning: cast increases required alignment of target type lfunc.c:62: warning: cast increases required alignment of target type lfunc.c:72: warning: cast increases required alignment of target type lfunc.c: In function 'luaF_close': lfunc.c:100: warning: cast increases required alignment of target type lfunc.c: In function 'luaF_newproto': lfunc.c:117: warning: cast increases required alignment of target type CC lpc2106-cmucam3_buildfiles/liolib.o CC lpc2106-cmucam3_buildfiles/lmem.o CC lpc2106-cmucam3_buildfiles/lopcodes.o CC lpc2106-cmucam3_buildfiles/lstate.o lstate.c: In function 'f_luaopen': lstate.c:74: warning: cast increases required alignment of target type lstate.c:75: warning: cast increases required alignment of target type lstate.c: In function 'luaE_newthread': lstate.c:120: warning: cast increases required alignment of target type lstate.c:121: warning: cast increases required alignment of target type lstate.c: In function 'lua_newstate': lstate.c:149: warning: cast increases required alignment of target type lstate.c:170: warning: cast increases required alignment of target type CC lpc2106-cmucam3_buildfiles/ltable.o ltable.c: In function 'setnodevector': ltable.c:275: warning: cast discards qualifiers from pointer target type ltable.c: In function 'luaH_new': ltable.c:360: warning: cast increases required alignment of target type ltable.c:367: warning: cast discards qualifiers from pointer target type ltable.c: In function 'newkey': ltable.c:426: warning: cast increases required alignment of target type ltable.c: In function 'luaH_set': ltable.c:498: warning: cast discards qualifiers from pointer target type ltable.c: In function 'luaH_setnum': ltable.c:511: warning: cast discards qualifiers from pointer target type ltable.c: In function 'luaH_setstr': ltable.c:523: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/lvm.o lvm.c: In function 'callTMres': lvm.c:108: warning: cast increases required alignment of target type lvm.c: In function 'luaV_settable': lvm.c:163: warning: cast increases required alignment of target type lvm.c: In function 'Arith': lvm.c:343: warning: comparisons like X<=Y<=Z do not have their mathematical mean ing lvm.c:344: warning: comparisons like X<=Y<=Z do not have their mathematical mean ing lvm.c: In function 'luaV_execute': lvm.c:450: warning: cast increases required alignment of target type lvm.c:461: warning: cast increases required alignment of target type lvm.c:469: warning: cast increases required alignment of target type lvm.c:469: warning: cast increases required alignment of target type lvm.c:479: warning: cast increases required alignment of target type lvm.c:502: warning: comparisons like X<=Y<=Z do not have their mathematical mean ing lvm.c:506: warning: comparisons like X<=Y<=Z do not have their mathematical mean ing lvm.c:730: warning: cast increases required alignment of target type lvm.c:754: warning: cast increases required alignment of target type AR liblua51_lpc2106-cmucam3.a C:\Dokumente und Einstellungen\me\Eigene Dateien\bin\arm-none-eabi-ar.exe: creat ing liblua51_lpc2106-cmucam3.a make[4]: Leaving directory `/cygdrive/c/cc3/lib/lua51' make[4]: Entering directory `/cygdrive/c/cc3/lib/zlib' MKDIR lpc2106-cmucam3_buildfiles mkdir lpc2106-cmucam3_buildfiles CC lpc2106-cmucam3_buildfiles/adler32.o CC lpc2106-cmucam3_buildfiles/compress.o compress.c: In function 'compress2': compress.c:32: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/crc32.o CC lpc2106-cmucam3_buildfiles/gzio.o gzio.c: In function 'gz_open': gzio.c:101: warning: cast discards qualifiers from pointer target type gzio.c: In function 'gzwrite': gzio.c:568: warning: cast discards qualifiers from pointer target type gzio.c: In function 'gzputs': gzio.c:697: warning: cast discards qualifiers from pointer target type gzio.c: In function 'gzerror': gzio.c:1003: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/uncompr.o uncompr.c: In function 'uncompress': uncompr.c:35: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/deflate.o deflate.c: In function 'deflateInit2_': deflate.c:300: warning: cast discards qualifiers from pointer target type deflate.c: In function 'deflate': deflate.c:568: warning: cast discards qualifiers from pointer target type deflate.c:570: warning: cast discards qualifiers from pointer target type deflate.c:776: warning: cast discards qualifiers from pointer target type deflate.c:781: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/trees.o trees.c: In function '_tr_flush_block': trees.c:989: warning: cast discards qualifiers from pointer target type trees.c:989: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/zutil.o CC lpc2106-cmucam3_buildfiles/inflate.o CC lpc2106-cmucam3_buildfiles/infback.o CC lpc2106-cmucam3_buildfiles/inftrees.o CC lpc2106-cmucam3_buildfiles/inffast.o inffast.c: In function 'inflate_fast': inffast.c:82: warning: declaration of 'write' shadows a global declaration c:\dokumente und einstellungen\me\eigene dateien\bin\../lib/gcc/arm-none-eabi/4. 2.3/../../../../arm-none-eabi/include/sys/unistd.h:166: warning: shadowed declar ation is here AR libzlib_lpc2106-cmucam3.a C:\Dokumente und Einstellungen\me\Eigene Dateien\bin\arm-none-eabi-ar.exe: creat ing libzlib_lpc2106-cmucam3.a make[4]: Leaving directory `/cygdrive/c/cc3/lib/zlib' make[4]: Entering directory `/cygdrive/c/cc3/lib/libpng-12' MKDIR lpc2106-cmucam3_buildfiles mkdir lpc2106-cmucam3_buildfiles CC lpc2106-cmucam3_buildfiles/png.o CC lpc2106-cmucam3_buildfiles/pngerror.o CC lpc2106-cmucam3_buildfiles/pngget.o pngget.c: In function 'png_get_asm_flagmask': pngget.c:847: warning: unused parameter 'flag_select' pngget.c: In function 'png_get_mmx_flagmask': pngget.c:879: warning: unused parameter 'flag_select' pngget.c:879: warning: unused parameter 'compilerID' CC lpc2106-cmucam3_buildfiles/pngmem.o CC lpc2106-cmucam3_buildfiles/pngpread.o pngpread.c: In function 'png_push_read_chunk': pngpread.c:219: warning: cast discards qualifiers from pointer target type pngpread.c:276: warning: cast discards qualifiers from pointer target type pngpread.c: In function 'png_push_read_IDAT': pngpread.c:681: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/pngread.o pngread.c: In function 'png_read_info': pngread.c:420: warning: cast discards qualifiers from pointer target type pngread.c: In function 'png_create_read_struct_2': pngread.c:38: warning: variable 'png_ptr' might be clobbered by 'longjmp' or 'vf ork' CC lpc2106-cmucam3_buildfiles/pngrio.o CC lpc2106-cmucam3_buildfiles/pngrtran.o CC lpc2106-cmucam3_buildfiles/pngrutil.o pngrutil.c: In function 'png_read_finish_row': pngrutil.c:2892: warning: cast discards qualifiers from pointer target type CC lpc2106-cmucam3_buildfiles/pngset.o pngset.c: In function 'png_set_asm_flags': pngset.c:1192: warning: unused parameter 'asm_flags' pngset.c: In function 'png_set_mmx_thresholds': pngset.c:1240: warning: unused parameter 'mmx_bitdepth_threshold' pngset.c:1241: warning: unused parameter 'mmx_rowbytes_threshold' CC lpc2106-cmucam3_buildfiles/pngtrans.o pngtrans.c:654: warning: no previous prototype for 'png_get_user_transform_ptr' CC lpc2106-cmucam3_buildfiles/pngwio.o CC lpc2106-cmucam3_buildfiles/pngwrite.o pngwrite.c: In function 'png_create_write_struct_2': pngwrite.c:445: warning: variable 'png_ptr' might be clobbered by 'longjmp' or ' vfork' CC lpc2106-cmucam3_buildfiles/pngwtran.o CC lpc2106-cmucam3_buildfiles/pngwutil.o pngwutil.c: In function 'png_write_IHDR': pngwutil.c:497: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_PLTE': pngwutil.c:580: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_IDAT': pngwutil.c:652: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_IEND': pngwutil.c:664: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_gAMA_fixed': pngwutil.c:700: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_sRGB': pngwutil.c:720: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_iCCP': pngwutil.c:785: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_sPLT': pngwutil.c:825: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_sBIT': pngwutil.c:933: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_cHRM_fixed': pngwutil.c:1049: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_tRNS': pngwutil.c:1074: warning: cast discards qualifiers from pointer target type pngwutil.c:1086: warning: cast discards qualifiers from pointer target type pngwutil.c:1100: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_bKGD': pngwutil.c:1133: warning: cast discards qualifiers from pointer target type pngwutil.c:1146: warning: cast discards qualifiers from pointer target type pngwutil.c:1157: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_hIST': pngwutil.c:1182: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_tEXt': pngwutil.c:1346: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_zTXt': pngwutil.c:1406: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_oFFs': pngwutil.c:1529: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_pCAL': pngwutil.c:1571: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_sCAL_s': pngwutil.c:1661: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_pHYs': pngwutil.c:1687: warning: cast discards qualifiers from pointer target type pngwutil.c: In function 'png_write_tIME': pngwutil.c:1719: warning: cast discards qualifiers from pointer target type AR liblibpng-12_lpc2106-cmucam3.a C:\Dokumente und Einstellungen\me\Eigene Dateien\bin\arm-none-eabi-ar.exe: creat ing liblibpng-12_lpc2106-cmucam3.a make[4]: Leaving directory `/cygdrive/c/cc3/lib/libpng-12' make[3]: Leaving directory `/cygdrive/c/cc3/lib' make[2]: Leaving directory `/cygdrive/c/cc3/hal/lpc2106-cmucam3' make[2]: Entering directory `/cygdrive/c/cc3/hal/virtual-cam' make -f hal.mk make[3]: Entering directory `/cygdrive/c/cc3/hal/virtual-cam' gcc -c -o cc3.o cc3.c -I./../../include -Os -pipe -funit-at-a-time -Wall -Wstric t-prototypes -Wcast-align -Wcast-qual -Wimplicit -Wmissing-declarations -Wmissin g-prototypes -Wnested-externs -Wpointer-arith -Wswitch -Wno-redundant-decls -Wre turn-type -Wshadow -Wstrict-prototypes -Wunused -Wextra -Werror-implicit-functio n-declaration -ffreestanding -std=gnu99 -g -fdata-sections -ffunction-sections - DVIRTUAL_CAM make[3]: gcc: Command not found make[3]: *** [cc3.o] Error 127 make[3]: Leaving directory `/cygdrive/c/cc3/hal/virtual-cam' make[2]: *** [hal] Error 2 make[2]: Leaving directory `/cygdrive/c/cc3/hal/virtual-cam' make[1]: *** [all] Error 2 make[1]: Leaving directory `/cygdrive/c/cc3/hal' make: *** [all] Error 2 me@Flenders /cygdrive/c/cc3 $
do I do something wrong with the initial "make"? Is my order of running "make" in the directories wrong??
Felix
Flenders01/24/11 15:58:05 (13 months ago)
-
-
-
-
-
-
