@@ -613,55 +613,112 @@ bool PinPlacer::write_dot_place(const RapidCsvReader& csv) {
613
613
if (is_out_pin) {
614
614
xyz = csv.get_opin_xyz_by_name (mode, device_pin_name, gbox_pin_name,
615
615
used_oxyz_, pt_row);
616
- if (tr >= 6 ) {
617
- if (xyz.valid ())
618
- lprintf (" get_opin_xyz annotated pt_row= %u\n " , pt_row);
619
- else
620
- lputs (" \n get_opin_xyz FAILED" );
616
+ if (tr >= 3 ) {
617
+ if (xyz.valid ()) {
618
+ if (tr >= 6 ) lprintf (" get_opin_xyz annotated pt_row= %u\n " , pt_row);
619
+ } else {
620
+ flush_out (true );
621
+ err_puts ();
622
+ lprintf2 (" [Error] get output pin xyz FAILED for mode= %s device_pin_name= %s\n " ,
623
+ mode.c_str (), device_pin_name.c_str ());
624
+ flush_out (true );
625
+ uint col_idx = csv.getModeCol (mode);
626
+ string col_label = csv.label_of_column (col_idx);
627
+ vector<uint> enabledRows = csv.get_enabled_rows_for_mode (mode);
628
+ lprintf (" ---- BEGIN DEBUG_NOTE ---- mode %s (#%u %s) is enabled for %zu rows:\n " ,
629
+ mode.c_str (), col_idx, col_label.c_str (), enabledRows.size ());
630
+ for (uint r : enabledRows) {
631
+ uint row = r + 2 ;
632
+ const RapidCsvReader::BCD& b = csv.getBCD (r);
633
+ const XYZ& p = b.xyz_ ;
634
+ flush_out (false );
635
+
636
+ if (tr < 4 and b.customer_ != device_pin_name) {
637
+ continue ;
638
+ }
639
+
640
+ lprintf (" ROW-%u " , row);
641
+ lprintf (" B:%s " , b.bump_B_ .c_str ());
642
+
643
+ lprintf (" " );
644
+ if (b.customer_ == device_pin_name)
645
+ lprintf (" NOTE:" );
646
+ lprintf (" C:%s " , b.customer_ .c_str ());
647
+
648
+ lprintf (" D:%s " , b.ball_ID_ .c_str ());
649
+
650
+ lprintf (" XYZ: (%i %i %i) " , p.x_ , p.y_ , p.z_ );
651
+
652
+ lprintf (" M:%s " , b.col_M_ .c_str ());
653
+ lprintf (" RXTX:%s " , RapidCsvReader::str_Mode_dir (b.rxtx_dir_ ));
654
+ if (b.dirContradiction ()) {
655
+ lprintf (" DIR_CONTRADICTION " );
656
+ }
657
+ flush_out (true );
658
+ }
659
+ lputs (" -------- END DEBUG_NOTE ---- " );
660
+ if (tr >= 4 ) {
661
+ lprintf (" -------- get output pin xyz FAILED for mode= %s device_pin_name= %s\n " ,
662
+ mode.c_str (), device_pin_name.c_str ());
663
+ lprintf (" -------- see info between 'BEGIN DEBUG_NOTE' 'END DEBUG_NOTE' markers\n " );
664
+ }
665
+ flush_out (true );
666
+ }
621
667
}
668
+
622
669
} else {
623
670
xyz = csv.get_ipin_xyz_by_name (mode, device_pin_name, gbox_pin_name,
624
671
used_ixyz_, pt_row);
625
- if (tr >= 4 ) {
672
+ if (tr >= 3 ) {
626
673
if (xyz.valid ()) {
627
674
if (tr >= 6 ) lprintf (" get_ipin_xyz annotated pt_row= %u\n " , pt_row);
628
675
} else {
629
676
flush_out (true );
630
- lprintf (" \n get_ipin_xyz FAILED for mode= %s device_pin_name= %s\n " ,
677
+ err_puts ();
678
+ lprintf2 (" [Error] get input pin xyz FAILED for mode= %s device_pin_name= %s\n " ,
631
679
mode.c_str (), device_pin_name.c_str ());
632
680
flush_out (true );
633
- if (tr >= 5 ) {
634
- uint col_idx = csv.getModeCol (mode);
635
- string col_label = csv.label_of_column (col_idx);
636
- lprintf (" ___ mode %s (#%u %s) is enabled for the following PT rows:\n " ,
637
- mode.c_str (), col_idx, col_label.c_str ());
638
- vector<uint> enabledRows = csv.get_enabled_rows_for_mode (mode);
639
- lprintf (" ___ enabledRows.size()= %zu\n " , enabledRows.size ());
640
- for (uint r : enabledRows) {
641
- uint row = r + 2 ;
642
- const RapidCsvReader::BCD& b = csv.getBCD (r);
643
- const XYZ& p = b.xyz_ ;
644
-
645
- flush_out (false );
646
- lprintf (" ROW-%u " , row);
647
-
648
- lprintf (" B:%s " , b.bump_B_ .c_str ());
649
- lprintf (" C:%s " , b.customer_ .c_str ());
650
- lprintf (" D:%s " , b.ball_ID_ .c_str ());
651
-
652
- lprintf (" XYZ: (%i %i %i) " , p.x_ , p.y_ , p.z_ );
653
-
654
- lprintf (" M:%s " , b.col_M_ .c_str ());
655
- lprintf (" RXTX:%s " , RapidCsvReader::str_Mode_dir (b.rxtx_dir_ ));
656
- if (b.dirContradiction ()) {
657
- lprintf (" DIR_CONTRADICTION " );
658
- }
659
- flush_out (true );
681
+ uint col_idx = csv.getModeCol (mode);
682
+ string col_label = csv.label_of_column (col_idx);
683
+ vector<uint> enabledRows = csv.get_enabled_rows_for_mode (mode);
684
+ lprintf (" ---- BEGIN DEBUG_NOTE ---- mode %s (#%u %s) is enabled for %zu rows:\n " ,
685
+ mode.c_str (), col_idx, col_label.c_str (), enabledRows.size ());
686
+ for (uint r : enabledRows) {
687
+ uint row = r + 2 ;
688
+ const RapidCsvReader::BCD& b = csv.getBCD (r);
689
+ const XYZ& p = b.xyz_ ;
690
+ flush_out (false );
691
+
692
+ if (tr < 4 and b.customer_ != device_pin_name) {
693
+ continue ;
694
+ }
695
+
696
+ lprintf (" ROW-%u " , row);
697
+ lprintf (" B:%s " , b.bump_B_ .c_str ());
698
+
699
+ lprintf (" " );
700
+ if (b.customer_ == device_pin_name)
701
+ lprintf (" NOTE:" );
702
+ lprintf (" C:%s " , b.customer_ .c_str ());
703
+
704
+ lprintf (" D:%s " , b.ball_ID_ .c_str ());
660
705
706
+ lprintf (" XYZ: (%i %i %i) " , p.x_ , p.y_ , p.z_ );
707
+
708
+ lprintf (" M:%s " , b.col_M_ .c_str ());
709
+ lprintf (" RXTX:%s " , RapidCsvReader::str_Mode_dir (b.rxtx_dir_ ));
710
+ if (b.dirContradiction ()) {
711
+ lprintf (" DIR_CONTRADICTION " );
661
712
}
662
- lputs (" --------" );
663
713
flush_out (true );
664
714
}
715
+ lputs (" -------- END DEBUG_NOTE ---- " );
716
+ if (tr >= 4 ) {
717
+ lprintf (" -------- get input pin xyz FAILED for mode= %s device_pin_name= %s\n " ,
718
+ mode.c_str (), device_pin_name.c_str ());
719
+ lprintf (" -------- see info between 'BEGIN DEBUG_NOTE' 'END DEBUG_NOTE' markers\n " );
720
+ }
721
+ flush_out (true );
665
722
}
666
723
}
667
724
}
0 commit comments