@@ -27,9 +27,9 @@ String.prototype.rpad = function(len, chr) {
27
27
return s ;
28
28
} ;
29
29
30
- const mpatt = [ '-?\\d+ ' , 'P[A-I]\\d+' , 'P\\d_\\d+' ] ,
31
- definePatt = new RegExp ( `^\\s*(//)?#define\\s+[A-Z_][A-Z0-9_]+\\s+(${ mpatt [ 0 ] } |${ mpatt [ 1 ] } |${ mpatt [ 2 ] } )\\s*(//.*)?$` , 'gm' ) ,
32
- ppad = [ 3 , 4 , 5 ] ,
30
+ const mpatt = [ '-?\\d{1,3} ' , 'P[A-I]\\d+' , 'P\\d_\\d+' , 'Pin[A-Z]\\d\\b ' ] ,
31
+ definePatt = new RegExp ( `^\\s*(//)?#define\\s+[A-Z_][A-Z0-9_]+\\s+(${ mpatt [ 0 ] } |${ mpatt [ 1 ] } |${ mpatt [ 2 ] } | ${ mpatt [ 3 ] } )\\s*(//.*)?$` , 'gm' ) ,
32
+ ppad = [ 3 , 4 , 5 , 5 ] ,
33
33
col_comment = 50 ,
34
34
col_value_rj = col_comment - 3 ;
35
35
55
55
56
56
// Find the pin pattern so non-pin defines can be skipped
57
57
function get_pin_pattern ( txt ) {
58
- var r , m = 0 , match_count = [ 0 , 0 , 0 ] ;
58
+ var r , m = 0 , match_count = [ 0 , 0 , 0 , 0 ] ;
59
59
definePatt . lastIndex = 0 ;
60
60
while ( ( r = definePatt . exec ( txt ) ) !== null ) {
61
61
let ind = - 1 ;
@@ -65,7 +65,7 @@ function get_pin_pattern(txt) {
65
65
return r [ 2 ] . match ( p ) ;
66
66
} ) ) {
67
67
const m = ++ match_count [ ind ] ;
68
- if ( m >= 10 ) {
68
+ if ( m >= 5 ) {
69
69
return { match : mpatt [ ind ] , pad :ppad [ ind ] } ;
70
70
}
71
71
}
@@ -79,7 +79,8 @@ function process_text(txt) {
79
79
if ( ! patt ) return txt ;
80
80
const pindefPatt = new RegExp ( `^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+(${ patt . match } )\\s*(//.*)?$` ) ,
81
81
noPinPatt = new RegExp ( `^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+(-1)\\s*(//.*)?$` ) ,
82
- skipPatt = new RegExp ( '^(\\s*(//)?#define)\\s+(AT90USB|USBCON|BOARD_.+|.+_MACHINE_NAME|.+_SERIAL)\\s+(.+)\\s*(//.*)?$' ) ,
82
+ skipPatt1 = new RegExp ( '^(\\s*(//)?#define)\\s+(AT90USB|USBCON|(BOARD|DAC|FLASH|HAS|IS|USE)_.+|.+_(ADDRESS|AVAILABLE|BAUDRATE|CLOCK|CONNECTION|DEFAULT|FREQ|ITEM|MODULE|NAME|ONLY|PERIOD|RANGE|RATE|SERIAL|SIZE|SPI|STATE|STEP|TIMER))\\s+(.+)\\s*(//.*)?$' ) ,
83
+ skipPatt2 = new RegExp ( '^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+(0x[0-9A-Fa-f]+|\d+|.+[a-z].+)\\s*(//.*)?$' ) ,
83
84
aliasPatt = new RegExp ( '^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+([A-Z_][A-Z0-9_()]+)\\s*(//.*)?$' ) ,
84
85
switchPatt = new RegExp ( '^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s*(//.*)?$' ) ,
85
86
undefPatt = new RegExp ( '^(\\s*(//)?#undef)\\s+([A-Z_][A-Z0-9_]+)\\s*(//.*)?$' ) ,
@@ -96,6 +97,12 @@ function process_text(txt) {
96
97
// Comments in column 45
97
98
line = '' . rpad ( col_comment ) + r [ 1 ] ;
98
99
100
+ else if ( skipPatt1 . exec ( line ) !== null ) {
101
+ //
102
+ // #define SKIP_ME
103
+ //
104
+ if ( do_log ) console . log ( "skip:" , line ) ;
105
+ }
99
106
else if ( ( r = pindefPatt . exec ( line ) ) !== null ) {
100
107
//
101
108
// #define MY_PIN [pin]
@@ -115,7 +122,7 @@ function process_text(txt) {
115
122
line = line . rpad ( col_value_lj ) + '-1' ;
116
123
if ( r [ 5 ] ) line = line . rpad ( col_comment ) + r [ 5 ] ;
117
124
}
118
- else if ( ( r = skipPatt . exec ( line ) ) !== null ) {
125
+ else if ( skipPatt2 . exec ( line ) !== null ) {
119
126
//
120
127
// #define SKIP_ME
121
128
//
0 commit comments