Example #1
0
int list_framerates(QSP_ARG_DECL  PGR_Cam *pgcp)
{
	unsigned int i;
	dc1394framerates_t	framerates;
	const char *s;

	// format7 doesn't have a framerate!?
	if( mode_is_format7(pgcp) ){
		WARN("list_framerates:  No framerates associated with format7 video mode!?");
		return -1;
	}

	if ( dc1394_video_get_supported_framerates( pgcp->pc_cam_p, pgcp->pc_video_mode, &framerates )
			!= DC1394_SUCCESS ){
		warn("error fetching framerates");
		return -1;
	}

	if( framerates.num <= 0 ){
		warn("no framerates for this video mode!?");
		return -1;
	}

	for(i=0;i<framerates.num; i++){
		s=name_for_framerate(framerates.framerates[i]);
		assert( s != NULL );
		prt_msg_frag("\t");
		prt_msg(s);
	}
	return 0;
}
Example #2
0
void print_dump_legend(SINGLE_QSP_ARG_DECL)
{
	/* blank line */
	prt_msg("");

	/* first line */
	prt_msg_frag("node\t");

	if( SHOWING_LHS_REFS )
		prt_msg_frag("n_lhs\t");
	if( SHOWING_COST )
		prt_msg_frag("depth,\tflops\tnmath");

	prt_msg("\top\t\tchildren");

	/* second line */
	if( SHOWING_COST )
		prt_msg("\tnelts");

	/* blank line */
	prt_msg("");
}
Example #3
0
static void _vf_info(QSP_ARG_DECL  Vector_Function *vfp)
{
	int i;
	int n_printed=0;

	sprintf(msg_str,"Vector function %s:",VF_NAME(vfp));
	prt_msg(msg_str);

#define MAX_PER_LINE	4

	prt_msg_frag("\tallowable precisions:");
	for(i=0;i<N_MACHINE_PRECS;i++){
		if( VF_PRECMASK(vfp) & (1<<i) ){
			/* BUG?  is 0 a legal precision code? it is PREC_NONE... */
			sprintf(msg_str,"%s%s",
			(n_printed>=MAX_PER_LINE?",\n\t\t\t": (n_printed>0?", ":"")),
			PREC_NAME(prec_for_code(i)) );
			prt_msg_frag(msg_str);
			if( n_printed >= MAX_PER_LINE ) n_printed=0;
			n_printed++;
		}
	}
	prt_msg("");
	prt_msg_frag("\tallowable types:");
	n_printed=0;
	for(i=0;i<N_ARGSET_TYPES;i++){
		if( VF_TYPEMASK(vfp) & VL_TYPE_MASK(i) ){
			sprintf(msg_str,"%s%s",
			n_printed>0?", ":"",
			number_type_name[i]);
			prt_msg_frag(msg_str);
			n_printed++;
		}
	}
	prt_msg("");
}
Example #4
0
int list_video_modes(QSP_ARG_DECL  PGR_Cam *pgcp)
{
	dc1394video_modes_t	video_modes;
	const char *s;
	unsigned int i;

	if ( dc1394_video_get_supported_modes( pgcp->pc_cam_p, &video_modes ) != DC1394_SUCCESS )
		return -1;

	for( i = 0; i< video_modes.num; i++ ){
		s=name_for_video_mode(video_modes.modes[i]);
		assert( s != NULL );
		prt_msg_frag("\t");
		prt_msg(s);
	}
	return 0;
}
Example #5
0
static COMMAND_FUNC(do_disp_chunk)
{
	Chunk_Data *cd_p;
	Data_Obj *dp;
	char buf[64];

	cd_p = pick_chunk_data("");
	dp = pick_obj("camera buffer");

	if( cd_p == NULL || dp == NULL ) return;

	fetch_chunk_data(cd_p,dp);
	format_chunk_data(buf,cd_p);

	sprintf(MSG_STR,"\t%s:  ",cd_p->cd_name);
	prt_msg_frag(MSG_STR);
	prt_msg(buf);
}
Example #6
0
static void _dump_node_basic(QSP_ARG_DECL  Vec_Expr_Node *enp)
{
	Tree_Code code;
	int i;
	const char *s;

	if( enp==NULL ) return;

	/* print the node "name", and a code that tells about shape knowledge */

// Temporarily print to stderr instead of stdout for debugging...
	prt_node(enp,msg_str);
	prt_msg_frag(msg_str);

	if( SHOWING_LHS_REFS ){
		sprintf(msg_str,"\t%d",VN_LHS_REFS(enp));
		prt_msg_frag(msg_str);
	}

	if( SHOWING_COST ){
		if( VN_SHAPE(enp) != NULL ){
			sprintf(msg_str,"\t%d", SHP_N_MACH_ELTS(VN_SHAPE(enp)));
		}

		prt_msg_frag(msg_str);

		sprintf(msg_str,"\t%d\t%d", VN_FLOPS(enp),VN_N_MATH(enp));
		prt_msg_frag(msg_str);
	}

	if( IS_CURDLED(enp) ){
		sprintf(msg_str,"\t%s (curdled!?)", NNAME(enp));
		prt_msg(msg_str);
		return;
	}

	sprintf(msg_str,"\t%s", NNAME(enp));
	prt_msg_frag(msg_str);

	/* print the special op-dependent args in human-readable form */

	code = VN_CODE(enp);

	if( code==T_DYN_OBJ || code == T_UNDEF || code == T_PROTO || code==T_POINTER || code==T_FUNCPTR || code==T_STR_PTR ){
		sprintf(msg_str,"\t%s",VN_STRING(enp));
		prt_msg_frag(msg_str);
		if( code == T_POINTER ){
			Identifier *idp;
			/* We don't use get_set_ptr() here because we don't want an error msg... */
			idp = id_of(VN_STRING(enp));
			if( idp != NULL && IS_POINTER(idp) && POINTER_IS_SET(idp) ){
				if( PTR_REF(ID_PTR(idp)) == NULL ){
					/* how could this ever happen??? */
					prt_msg_frag("->???");
				} else {
					Data_Obj *dp;
					dp = REF_OBJ(PTR_REF(ID_PTR(idp)));
					sprintf(msg_str,"->%s",OBJ_NAME(dp));
					prt_msg_frag(msg_str);
				}
			}
		}
	} else if( code == T_STATIC_OBJ ){
		sprintf(msg_str,"\t%s",OBJ_NAME(VN_OBJ(enp)));
		prt_msg_frag(msg_str);
#ifdef SCALARS_NOT_OBJECTS
	} else if( code == T_SCALAR_VAR ){
		sprintf(msg_str,"\t%s",VN_STRING(enp));
		prt_msg_frag(msg_str);
#endif // SCALARS_NOT_OBJECTS
	} else if ( code == T_FUNCREF ){
		Subrt *srp;
		srp=VN_SUBRT(enp);
		sprintf(msg_str,"\t%s",SR_NAME(srp));
		prt_msg_frag(msg_str);
	} else if( code == T_SIZE_FN ){
		sprintf(msg_str,"\t%s",FUNC_NAME(VN_FUNC_PTR(enp)));
		prt_msg_frag(msg_str);
	}
#ifdef NOT_YET
	else if(code == T_CALL_NATIVE ){
		// was kw_token???
		// curr_native_func_tbl...
		sprintf(msg_str,"\t%s",FUNC_NAME(VN_FUNC_PTR(enp)));
		prt_msg_frag(msg_str);
	}
#endif /* NOT_YET */
	else if(code == T_TYPECAST ){
		// BUG not how we do precision any more!!!
		//sprintf(msg_str,"  %s",NAME_FOR_PREC_CODE(VN_INTVAL(enp)));
        if( VN_SHAPE(enp) == NULL ) error1("CAUTIOUS:  null node shape for typecast node!?");
        else {
            sprintf(msg_str,"  %s",PREC_NAME(VN_PREC_PTR(enp)));
            prt_msg_frag(msg_str);
        }
    } else if( code == T_SUBRT_DECL || code == T_SCRIPT ){
		Subrt *srp;
		srp=VN_SUBRT(enp);
		sprintf(msg_str,"\t%s",SR_NAME(srp));
		prt_msg_frag(msg_str);
	} else if( code==T_DECL_STAT ){
		//sprintf(msg_str," %s",NAME_FOR_PREC_CODE(VN_INTVAL(enp)));
		sprintf(msg_str," %s",PREC_NAME(VN_DECL_PREC(enp)));
		prt_msg_frag(msg_str);
	} else if( IS_DECL(code) ){
		sprintf(msg_str," %s",VN_STRING(enp));
		prt_msg_frag(msg_str);
	} else if( code==T_ADVISE ){
		/* BUG need to elim yylex_qsp */
		s=eval_string(VN_CHILD(enp,0));
		sprintf(msg_str,"\t\"%s\"",s);
		prt_msg_frag(msg_str);
	} else if( code==T_WARN ){
		/* BUG need to elim yylex_qsp */
		s=eval_string(VN_CHILD(enp,0));
		sprintf(msg_str,"\t\"%s\"",s);
		prt_msg_frag(msg_str);
	} else if( code==T_STRING ){
		sprintf(msg_str,"\t\"%s\"",VN_STRING(enp));
		prt_msg_frag(msg_str);
	} else if( code == T_LABEL || code ==T_GO_BACK || code == T_GO_FWD ){
		sprintf(msg_str," %s",VN_STRING(enp));
		prt_msg_frag(msg_str);
	} else if( code==T_LIT_DBL ){
		sprintf(msg_str," %g",VN_DBLVAL(enp));
		prt_msg_frag(msg_str);
	} else if( code == T_MATH0_FN ){
		sprintf(msg_str," %s",FUNC_NAME(VN_FUNC_PTR(enp)));
		prt_msg_frag(msg_str);
	} else if( code == T_MATH1_FN ){
		sprintf(msg_str," %s",FUNC_NAME(VN_FUNC_PTR(enp)));
		prt_msg_frag(msg_str);
	} else if( code == T_MATH2_FN ){
		sprintf(msg_str," %s",FUNC_NAME(VN_FUNC_PTR(enp)));
		prt_msg_frag(msg_str);
	} else if (
		   code == T_MATH0_VFN
		|| code == T_MATH1_VFN
		|| code == T_MATH2_VFN
		|| code == T_MATH2_VSFN
		|| code == T_CHAR_VFN
			/* BUG? shouldn't there bre a VSFN2 ??? */
		|| code == T_VS_FUNC
		|| code == T_VV_FUNC
		){
		sprintf(msg_str," %s",VF_NAME(FIND_VEC_FUNC(VN_VFUNC_CODE(enp))));
		prt_msg_frag(msg_str);
	} else if( code==T_CALLFUNC ){
assert(VN_SUBRT(enp)!=NULL);
		sprintf(msg_str," %s", SR_NAME(VN_SUBRT(enp)));
		prt_msg_frag(msg_str);
	} else if( code==T_LIT_INT ){
		sprintf(msg_str," %"PRId64, VN_INTVAL(enp) );
		prt_msg_frag(msg_str);
	} else if( code==T_ASSIGN ){
		prt_msg_frag("\t");
	} else if( code==T_MAXVAL ){
		prt_msg_frag("\t");
	} else if( code==T_MINVAL ){
		prt_msg_frag("\t");
	} else if( code==T_RAMP ){
		prt_msg_frag("\t");
	}

	/* Now print the addresses of the child nodes */

	if( VN_CHILD(enp,0)!=NULL){
		sprintf(msg_str,"\t\tn%d",VN_SERIAL(VN_CHILD(enp,0)));
		prt_msg_frag(msg_str);
	}
	for(i=1;i<MAX_CHILDREN(enp);i++){
		if( VN_CHILD(enp,i)!=NULL){
			sprintf(msg_str,", n%d",VN_SERIAL(VN_CHILD(enp,i)));
			prt_msg_frag(msg_str);
		}
	}
	prt_msg("");

	if( SHOWING_SHAPES && VN_SHAPE(enp) != NULL ){
		prt_msg_frag("\t");
		if( OWNS_SHAPE(enp) ){
			sprintf(msg_str,"* 0x%lx  ",(u_long)VN_SHAPE(enp));
			prt_msg_frag(msg_str);
		}
		else {
			sprintf(msg_str,"@ 0x%lx  ",(u_long)VN_SHAPE(enp));
			prt_msg_frag(msg_str);
		}
		prt_msg_frag("\t");
		describe_shape(VN_SHAPE(enp));
	}

	if( SHOWING_RESOLVERS && VN_RESOLVERS(enp)!=NULL ){
		Node *np; Vec_Expr_Node *enp2;
		prt_msg("\tResolvers:");
		np=QLIST_HEAD(VN_RESOLVERS(enp));
		while(np!=NULL){
			enp2=(Vec_Expr_Node *)NODE_DATA(np);
			sprintf(msg_str,"\t\t%s",node_desc(enp2));
			prt_msg(msg_str);
			np=NODE_NEXT(np);
		}
	}
}
Example #7
0
File: acquire.c Project: nasa/QuIP
static void disp_one( QSP_ARG_DECL  Fmt_Pt *fpp, Polh_Output_Type type)
{
	if( fmt_one(QSP_ARG  msg_str,fpp,type) < 0 ) return;
	prt_msg_frag(msg_str);
}
Example #8
0
void report_feature_info(QSP_ARG_DECL  PGR_Cam *pgcp, dc1394feature_t id )
{
	Node *np;
	dc1394feature_info_t *f;
	unsigned int i;
	const char *name;
	char nbuf[32];

	np = QLIST_HEAD(pgcp->pc_feat_lp);
	f=NULL;
	while( np != NULL ){
		f= (dc1394feature_info_t *) np->n_data;

		if( f->id == id )
			np=NULL;
		else
			f=NULL;

		if( np != NULL )
			np = np->n_next;
	}

	assert( f != NULL );

	name=/*dc1394_feature_desc[f->id - DC1394_FEATURE_MIN]*/
		dc1394_feature_get_string(f->id);
	sprintf(nbuf,"%s:",name);
	sprintf(msg_str,"%-16s",nbuf);
	prt_msg_frag(msg_str);

	if (f->on_off_capable) {
		if (f->is_on) 
			prt_msg_frag("ON\t");
		else
			prt_msg_frag("OFF\t");
	} else {
		prt_msg_frag("\t");
	}

	/*
	if (f->one_push){
		if (f->one_push_active)
			prt_msg_frag("  one push: ACTIVE");
		else
			prt_msg_frag("  one push: INACTIVE");
	}
	prt_msg("");
	*/
	/* BUG need to use (new?) feature_get_modes... */
	 /* FIXME */
	/*
	if( f->auto_capable ){
		if (f->auto_active) 
			prt_msg_frag("AUTO\t");
		else
			prt_msg_frag("MANUAL\t");
	} else {
		prt_msg_frag("\t");
	}
	*/

	/*
	prt_msg("");
	*/

	/*
	if( f->id != DC1394_FEATURE_TRIGGER ){
		sprintf(msg_str,"\tmin: %d max %d", f->min, f->max);
		prt_msg(msg_str);
	}
	if( f->absolute_capable){
		sprintf(msg_str,"\tabsolute settings:  value: %f  min: %f  max: %f",
			f->abs_value,f->abs_min,f->abs_max);
		prt_msg(msg_str);
	}
	*/

	switch(f->id){
		case DC1394_FEATURE_TRIGGER:
			switch(f->trigger_modes.num){
				case 0:
					prt_msg("no trigger modes available");
					break;
				case 1:
					sprintf(msg_str,"one trigger mode (%s)",
						name_for_trigger_mode(f->trigger_modes.modes[0]));
					prt_msg(msg_str);
					break;
				default:
					sprintf(msg_str,"%d trigger modes (",f->trigger_modes.num);
					prt_msg_frag(msg_str);
					for(i=0;i<f->trigger_modes.num-1;i++){
						sprintf(msg_str,"%s, ",
					name_for_trigger_mode(f->trigger_modes.modes[i]));
						prt_msg_frag(msg_str);
					}
					sprintf(msg_str,"%s)",
						name_for_trigger_mode(f->trigger_modes.modes[i]));
					prt_msg(msg_str);

					break;
			}
			break;
			/*
    printf("\n\tAvailableTriggerModes: ");
    if (f->trigger_modes.num==0) {
      printf("none");
    }
    else {
      int i;
      for (i=0;i<f->trigger_modes.num;i++) {
	printf("%d ",f->trigger_modes.modes[i]);
      }
    }
    printf("\n\tAvailableTriggerSources: ");
    if (f->trigger_sources.num==0) {
      printf("none");
    }
    else {
      int i;
      for (i=0;i<f->trigger_sources.num;i++) {
	printf("%d ",f->trigger_sources.sources[i]);
      }
    }
    printf("\n\tPolarity Change Capable: ");
    
    if (f->polarity_capable) 
      printf("True");
    else 
      printf("False");
    
    printf("\n\tCurrent Polarity: ");
    
    if (f->trigger_polarity) 
      printf("POS");
    else 
      printf("NEG");
    
    printf("\n\tcurrent mode: %d\n", f->trigger_mode);
    if (f->trigger_sources.num>0) {
      printf("\n\tcurrent source: %d\n", f->trigger_source);
    }
    */
		case DC1394_FEATURE_WHITE_BALANCE: 
		case DC1394_FEATURE_TEMPERATURE:
		case DC1394_FEATURE_WHITE_SHADING: 
			warn("unhandled case in feature type switch");
			break;
		default:
			sprintf(msg_str,"value: %-8d  range: %d-%d",f->value,f->min,f->max);
			prt_msg(msg_str);
			break;
	}
}