@@ -84,29 +84,32 @@ uint8_t module_error_code = 0;
84
84
uint16_t touch_acq_signals_raw [DEF_NUM_CHANNELS ];
85
85
86
86
/* Acquisition set 1 - General settings */
87
- qtm_acq_node_group_config_t ptc_qtlib_acq_gen1 = {DEF_NUM_CHANNELS ,
88
- DEF_SENSOR_TYPE ,
89
- DEF_PTC_CAL_AUTO_TUNE ,
90
- DEF_SEL_FREQ_INIT ,
91
- DEF_PTC_INTERRUPT_PRIORITY };
87
+ qtm_acq_node_group_config_t ptc_qtlib_acq_gen1 = {
88
+ DEF_NUM_CHANNELS ,
89
+ DEF_SENSOR_TYPE ,
90
+ DEF_PTC_CAL_AUTO_TUNE ,
91
+ DEF_SEL_FREQ_INIT ,
92
+ DEF_PTC_INTERRUPT_PRIORITY };
92
93
93
94
/* Node status, signal, calibration values */
94
95
qtm_acq_node_data_t ptc_qtlib_node_stat1 [DEF_NUM_CHANNELS ];
95
96
96
97
/* Node configurations */
97
- qtm_acq_samd51_node_config_t ptc_seq_node_cfg1 [DEF_NUM_CHANNELS ] = {NODE_0_PARAMS ,
98
- NODE_1_PARAMS ,
99
- NODE_2_PARAMS ,
100
- NODE_3_PARAMS ,
101
- NODE_4_PARAMS ,
102
- NODE_5_PARAMS ,
103
- NODE_6_PARAMS ,
104
- NODE_7_PARAMS };
98
+ qtm_acq_samd51_node_config_t ptc_seq_node_cfg1 [DEF_NUM_CHANNELS ] = {
99
+ NODE_0_PARAMS ,
100
+ NODE_1_PARAMS ,
101
+ NODE_2_PARAMS ,
102
+ NODE_3_PARAMS ,
103
+ NODE_4_PARAMS ,
104
+ NODE_5_PARAMS ,
105
+ NODE_6_PARAMS ,
106
+ NODE_7_PARAMS };
105
107
106
108
/* Container */
107
- qtm_acquisition_control_t qtlib_acq_set1 = {& ptc_qtlib_acq_gen1 ,
108
- & ptc_seq_node_cfg1 [0 ],
109
- & ptc_qtlib_node_stat1 [0 ]};
109
+ qtm_acquisition_control_t qtlib_acq_set1 = {
110
+ & ptc_qtlib_acq_gen1 ,
111
+ & ptc_seq_node_cfg1 [0 ],
112
+ & ptc_qtlib_node_stat1 [0 ]};
110
113
111
114
/* Stores recent unfiltered scroller positions for custom filter */
112
115
__extension__ static uint16_t scroller_previous_position [][DEF_SCROLLER_NUM_PREV_POS ] = {
@@ -124,35 +127,38 @@ __extension__ static bool scroller_active[DEF_NUM_SCROLLERS] = {[0 ...(DEF_NUM_S
124
127
/**********************************************************/
125
128
126
129
/* Keys set 1 - General settings */
127
- qtm_touch_key_group_config_t qtlib_key_grp_config_set1 = {DEF_NUM_SENSORS ,
128
- DEF_TOUCH_DET_INT ,
129
- DEF_MAX_ON_DURATION ,
130
- DEF_ANTI_TCH_DET_INT ,
131
- DEF_ANTI_TCH_RECAL_THRSHLD ,
132
- DEF_TCH_DRIFT_RATE ,
133
- DEF_ANTI_TCH_DRIFT_RATE ,
134
- DEF_DRIFT_HOLD_TIME ,
135
- DEF_REBURST_MODE };
130
+ qtm_touch_key_group_config_t qtlib_key_grp_config_set1 = {
131
+ DEF_NUM_SENSORS ,
132
+ DEF_TOUCH_DET_INT ,
133
+ DEF_MAX_ON_DURATION ,
134
+ DEF_ANTI_TCH_DET_INT ,
135
+ DEF_ANTI_TCH_RECAL_THRSHLD ,
136
+ DEF_TCH_DRIFT_RATE ,
137
+ DEF_ANTI_TCH_DRIFT_RATE ,
138
+ DEF_DRIFT_HOLD_TIME ,
139
+ DEF_REBURST_MODE };
136
140
137
141
qtm_touch_key_group_data_t qtlib_key_grp_data_set1 ;
138
142
139
143
/* Key data */
140
144
qtm_touch_key_data_t qtlib_key_data_set1 [DEF_NUM_SENSORS ];
141
145
142
146
/* Key Configurations */
143
- qtm_touch_key_config_t qtlib_key_configs_set1 [DEF_NUM_SENSORS ] = {KEY_0_PARAMS ,
144
- KEY_1_PARAMS ,
145
- KEY_2_PARAMS ,
146
- KEY_3_PARAMS ,
147
- KEY_4_PARAMS ,
148
- KEY_5_PARAMS ,
149
- KEY_6_PARAMS ,
150
- KEY_7_PARAMS };
147
+ qtm_touch_key_config_t qtlib_key_configs_set1 [DEF_NUM_SENSORS ] = {
148
+ KEY_0_PARAMS ,
149
+ KEY_1_PARAMS ,
150
+ KEY_2_PARAMS ,
151
+ KEY_3_PARAMS ,
152
+ KEY_4_PARAMS ,
153
+ KEY_5_PARAMS ,
154
+ KEY_6_PARAMS ,
155
+ KEY_7_PARAMS };
151
156
/* Container */
152
- qtm_touch_key_control_t qtlib_key_set1 = {& qtlib_key_grp_data_set1 ,
153
- & qtlib_key_grp_config_set1 ,
154
- & qtlib_key_data_set1 [0 ],
155
- & qtlib_key_configs_set1 [0 ]};
157
+ qtm_touch_key_control_t qtlib_key_set1 = {
158
+ & qtlib_key_grp_data_set1 ,
159
+ & qtlib_key_grp_config_set1 ,
160
+ & qtlib_key_data_set1 [0 ],
161
+ & qtlib_key_configs_set1 [0 ]};
156
162
157
163
/**********************************************************/
158
164
/***************** Scroller Module ********************/
@@ -583,7 +589,7 @@ uint16_t qtouch_get_sensor_node_signal_filtered(uint16_t sensor_node)
583
589
if ((sensor_node == DEF_SCROLLER_OFFSET_0 ) || (sensor_node == DEF_SCROLLER_OFFSET_1 ) ||
584
590
(sensor_node == DEF_SCROLLER_OFFSET_0 + DEF_SCROLLER_NUM_CHANNELS - 1 ) ||
585
591
(sensor_node == DEF_SCROLLER_OFFSET_1 + DEF_SCROLLER_NUM_CHANNELS - 1 )) {
586
- X = X * (1 + DEF_SENSOR_EDGE_WEIGHT );
592
+ X = ( uint16_t )(( double ) X * (1 + DEF_SENSOR_EDGE_WEIGHT ) );
587
593
}
588
594
// Saturate out-of-range readings.
589
595
X = (X > 50 ) ? 50 : X ;
0 commit comments