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; }
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(""); }
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(""); }
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; }
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); }
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); } } }
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); }
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; } }