aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h18
-rw-r--r--boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h16
-rw-r--r--drivers/ginput/touch/MCU/gmouse_lld_MCU.c15
-rw-r--r--drivers/ginput/touch/MCU/gmouse_lld_MCU_board_template.h34
4 files changed, 34 insertions, 49 deletions
diff --git a/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h b/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h
index 7624cdf3..15c00e66 100644
--- a/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h
+++ b/boards/base/Mikromedia-STM32-M4-ILI9341/gmouse_lld_MCU_board.h
@@ -8,15 +8,20 @@
#ifndef _LLD_GMOUSE_MCU_BOARD_H
#define _LLD_GMOUSE_MCU_BOARD_H
-// We directly define the jitter settings
+// Resolution and Accuracy Settings
#define GMOUSE_MCU_PEN_CALIBRATE_ERROR 8
#define GMOUSE_MCU_PEN_CLICK_ERROR 6
#define GMOUSE_MCU_PEN_MOVE_ERROR 4
#define GMOUSE_MCU_FINGER_CALIBRATE_ERROR 14
#define GMOUSE_MCU_FINGER_CLICK_ERROR 18
#define GMOUSE_MCU_FINGER_MOVE_ERROR 14
+#define GMOUSE_MCU_Z_MIN 0
+#define GMOUSE_MCU_Z_MAX 4095
+#define GMOUSE_MCU_Z_TOUCHON 3090
+#define GMOUSE_MCU_Z_TOUCHOFF 400
-// Now board specific settings...
+// How much extra data to allocate at the end of the GMouse structure for the board's use
+#define GMOUSE_MCU_BOARD_DATA_SIZE 0
#define ADC_NUM_CHANNELS 2
#define ADC_BUF_DEPTH 1
@@ -36,13 +41,6 @@ static const ADCConversionGroup adcgrpcfg = {
ADC_SQR3_SQ2_N(ADC_CHANNEL_IN8) | ADC_SQR3_SQ1_N(ADC_CHANNEL_IN9)
};
-#define BOARD_DATA_SIZE 0 // How many extra bytes to add on the end of the mouse structure for the board's use
-
-#define Z_MIN 0 // The minimum Z reading
-#define Z_MAX 4095 // The maximum Z reading (12 bits)
-#define Z_TOUCHON 3090 // Values between this and Z_MAX are definitely pressed
-#define Z_TOUCHOFF 400 // Values between this and Z_MIN are definitely not pressed
-
static bool_t init_board(GMouse *m, unsigned driverinstance) {
(void) m;
@@ -71,7 +69,7 @@ static void read_xyz(GMouse *m, GMouseReading *prd) {
prd->z = samples[0];
// Take a shortcut and don't read x, y if we know we are definitely not touched.
- if (prd->z >= Z_TOUCHOFF) {
+ if (prd->z >= GMOUSE_MCU_Z_TOUCHOFF) {
// Get the x reading
palSetPad(GPIOB, GPIOB_DRIVEA);
diff --git a/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h b/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h
index 8f085f84..8c90946f 100644
--- a/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h
+++ b/boards/base/Olimex-STM32-LCD/gmouse_lld_MCU_board.h
@@ -8,15 +8,20 @@
#ifndef _LLD_GMOUSE_MCU_BOARD_H
#define _LLD_GMOUSE_MCU_BOARD_H
-// We directly define the jitter settings
+// Resolution and Accuracy Settings
#define GMOUSE_MCU_PEN_CALIBRATE_ERROR 8
#define GMOUSE_MCU_PEN_CLICK_ERROR 6
#define GMOUSE_MCU_PEN_MOVE_ERROR 4
#define GMOUSE_MCU_FINGER_CALIBRATE_ERROR 14
#define GMOUSE_MCU_FINGER_CLICK_ERROR 18
#define GMOUSE_MCU_FINGER_MOVE_ERROR 14
+#define GMOUSE_MCU_Z_MIN 0
+#define GMOUSE_MCU_Z_MAX 1
+#define GMOUSE_MCU_Z_TOUCHON 1
+#define GMOUSE_MCU_Z_TOUCHOFF 0
-// Now board specific settings...
+// How much extra data to allocate at the end of the GMouse structure for the board's use
+#define GMOUSE_MCU_BOARD_DATA_SIZE 0
#define ADC_NUM_CHANNELS 2
#define ADC_BUF_DEPTH 1
@@ -45,13 +50,6 @@ static const ADCConversionGroup adc_x_config = {
ADC_SQR3_SQ2_N(ADC_CHANNEL_IN10) | ADC_SQR3_SQ1_N(ADC_CHANNEL_IN11)
};
-#define BOARD_DATA_SIZE 0 // How many extra bytes to add on the end of the mouse structure for the board's use
-
-#define Z_MIN 0 // The minimum Z reading
-#define Z_MAX 1 // The maximum Z reading
-#define Z_TOUCHON 1 // Values between this and Z_MAX are definitely pressed
-#define Z_TOUCHOFF 0 // Values between this and Z_MIN are definitely not pressed
-
static inline void setup_z(void) {
palSetPadMode(GPIOC, 0, PAL_MODE_INPUT_PULLDOWN);
palSetPadMode(GPIOC, 1, PAL_MODE_INPUT);
diff --git a/drivers/ginput/touch/MCU/gmouse_lld_MCU.c b/drivers/ginput/touch/MCU/gmouse_lld_MCU.c
index 222b759b..babf8bc3 100644
--- a/drivers/ginput/touch/MCU/gmouse_lld_MCU.c
+++ b/drivers/ginput/touch/MCU/gmouse_lld_MCU.c
@@ -15,11 +15,6 @@
// Get the hardware interface
#include "gmouse_lld_MCU_board.h"
-// If the board file doesn't specify how many extra bytes it wants - assume 0
-#ifndef BOARD_DATA_SIZE
- #define BOARD_DATA_SIZE 0
-#endif
-
const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
{
GDRIVER_TYPE_TOUCH,
@@ -28,13 +23,13 @@ const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
// Extra flags for testing only
//GMOUSE_VFLG_DEFAULTFINGER|GMOUSE_VFLG_CAL_EXTREMES - Possible
//GMOUSE_VFLG_NOPOLL|GMOUSE_VFLG_DYNAMICONLY|GMOUSE_VFLG_SELFROTATION|GMOUSE_VFLG_CAL_LOADFREE - unlikely
- sizeof(GMouse)+BOARD_DATA_SIZE,
+ sizeof(GMouse) + GMOUSE_MCU_BOARD_DATA_SIZE,
_gmouseInitDriver, _gmousePostInitDriver, _gmouseDeInitDriver
},
- Z_MAX, // z_max
- Z_MIN, // z_min
- Z_TOUCHON, // z_touchon
- Z_TOUCHOFF, // z_touchoff
+ GMOUSE_MCU_Z_MAX, // z_max
+ GMOUSE_MCU_Z_MIN, // z_min
+ GMOUSE_MCU_Z_TOUCHON, // z_touchon
+ GMOUSE_MCU_Z_TOUCHOFF, // z_touchoff
{ // pen_jitter
GMOUSE_MCU_PEN_CALIBRATE_ERROR, // calibrate
GMOUSE_MCU_PEN_CLICK_ERROR, // click
diff --git a/drivers/ginput/touch/MCU/gmouse_lld_MCU_board_template.h b/drivers/ginput/touch/MCU/gmouse_lld_MCU_board_template.h
index 5366b16c..07583fa9 100644
--- a/drivers/ginput/touch/MCU/gmouse_lld_MCU_board_template.h
+++ b/drivers/ginput/touch/MCU/gmouse_lld_MCU_board_template.h
@@ -8,26 +8,20 @@
#ifndef _LLD_GMOUSE_MCU_BOARD_H
#define _LLD_GMOUSE_MCU_BOARD_H
-// Either define your jitter settings here or define them in the config include file
-#if 0
- #include "gmouse_lld_MCU_config.h"
-#else
- #define GMOUSE_MCU_PEN_CALIBRATE_ERROR 2
- #define GMOUSE_MCU_PEN_CLICK_ERROR 2
- #define GMOUSE_MCU_PEN_MOVE_ERROR 2
- #define GMOUSE_MCU_FINGER_CALIBRATE_ERROR 4
- #define GMOUSE_MCU_FINGER_CLICK_ERROR 4
- #define GMOUSE_MCU_FINGER_MOVE_ERROR 4
-#endif
-
-// Now board specific settings...
-
-#define BOARD_DATA_SIZE 0 // How many extra bytes to add on the end of the mouse structure for the board's use
-
-#define Z_MIN 0 // The minimum Z reading
-#define Z_MAX 100 // The maximum Z reading
-#define Z_TOUCHON 80 // Values between this and Z_MAX are definitely pressed
-#define Z_TOUCHOFF 70 // Values between this and Z_MIN are definitely not pressed
+// Resolution and Accuracy Settings
+#define GMOUSE_MCU_PEN_CALIBRATE_ERROR 8
+#define GMOUSE_MCU_PEN_CLICK_ERROR 6
+#define GMOUSE_MCU_PEN_MOVE_ERROR 4
+#define GMOUSE_MCU_FINGER_CALIBRATE_ERROR 14
+#define GMOUSE_MCU_FINGER_CLICK_ERROR 18
+#define GMOUSE_MCU_FINGER_MOVE_ERROR 14
+#define GMOUSE_MCU_Z_MIN 0 // The minimum Z reading
+#define GMOUSE_MCU_Z_MAX 100 // The maximum Z reading
+#define GMOUSE_MCU_Z_TOUCHON 80 // Values between this and Z_MAX are definitely pressed
+#define GMOUSE_MCU_Z_TOUCHOFF 70 // Values between this and Z_MIN are definitely not pressed
+
+// How much extra data to allocate at the end of the GMouse structure for the board's use
+#define GMOUSE_MCU_BOARD_DATA_SIZE 0
static bool_t init_board(GMouse *m, unsigned driverinstance) {
}