Skip to content

Commit 495e14f

Browse files
authored
added API to sets custom touch pins
added API to sets custom touch pins
1 parent abd10dd commit 495e14f

File tree

4 files changed

+22
-11
lines changed

4 files changed

+22
-11
lines changed

src/Arduino_MCHPTouch.cpp

+10-4
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,20 @@ void QtouchClass::setSensorsSensitivity(unsigned int newSens)
100100

101101
/*******************************************************************************
102102
* Function Name : setTouchPad
103-
* Description : Sets the touch's pad zero in accord with the carrier
103+
* Description : Sets the touch's pad
104104
* version
105-
* Input : pad - desired pad
105+
* Input : pads - desired pads
106106
* Return : NONE
107107
*******************************************************************************/
108-
void QtouchClass::setTouchPad(int pad)
108+
void QtouchClass::setTouchPad(int pad0, int pad1, int pad2, int pad3, int pad4)
109109
{
110-
setTouchZero(pad);
110+
int pads[5];
111+
pads[0] = pad0;
112+
pads[1] = pad1;
113+
pads[2] = pad2;
114+
pads[3] = pad3;
115+
pads[4] = pad4;
116+
setPads(pads);
111117
}
112118

113119
/*******************************************************************************

src/Arduino_MCHPTouch.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class QtouchClass
2323
int available();
2424
int read(int sensor_id);
2525
void setSensorsSensitivity(unsigned int newSens);
26-
void setTouchPad(int pad = 0);
26+
void setTouchPad(int pad0, int pad1 = -1, int pad2 = -1, int pad3 = -1, int pad4 = -1);
2727
void setSensorsSensitivity(unsigned int newSens ,unsigned int btn_channel);
2828
void setSensorsHysteresis(hysteresis_t newHyst);
2929
unsigned int getSensorsSensitivity();

src/touch.c

+10-5
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ unsigned int _sensitivity = 50u;
9696
unsigned int _sensitivity_ch[5] = {50u , 50u, 50u, 50u, 50u};
9797

9898
hysteresis_t _hysteresis = HYST_6_25;
99-
int _pad = 0;
99+
int _pad[5] = {-1,-1,-1,-1,-1};
100100
uint8_t module_error_code = 0;
101101
/*----------------------------------------------------------------------------
102102
* static variables
@@ -258,8 +258,9 @@ touch_ret_t touch_sensors_init(void)
258258

259259
touch_time.measurement_period_ms = DEF_TOUCH_MEASUREMENT_PERIOD_MS;
260260

261-
touch_config.p_selfcap_config->p_selfcap_y_nodes[0] = Y(_pad);
262-
261+
for(int i = 0; i < 5; i++) {
262+
touch_config.p_selfcap_config->p_selfcap_y_nodes[i] = Y(_pad[i]);
263+
}
263264
/* Initialize touch library for Self Cap operation. */
264265
touch_ret = touch_selfcap_sensors_init(&touch_config);
265266
if (touch_ret != TOUCH_SUCCESS) {
@@ -419,8 +420,12 @@ void setSensitivity(unsigned int newSens){
419420
}
420421
}
421422

422-
void setTouchZero(int pad){
423-
_pad = pad;
423+
void setPads(int *pad){
424+
for(int i = 0; i < 5; i++) {
425+
if(pad[i] != -1){
426+
_pad[i] = pad[i];
427+
}
428+
}
424429
}
425430

426431
void setSensitivityChannel(unsigned int newSens, unsigned int btn_channel){

src/touch_api_SAMD.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ void setSensitivity(unsigned int newSens);
994994
void setSensitivityChannel(unsigned int newSens, unsigned int btn_channel);
995995
hysteresis_t getHysteresis();
996996
unsigned int getSensitivity();
997-
void setTouchZero(int pad);
997+
void setPads(int *pad);
998998

999999
/* Acquisition module SAMD21 Sequential */
10001000

0 commit comments

Comments
 (0)