aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ginput/toggle/Pal
diff options
context:
space:
mode:
authorAndrew Hannam <andrewh@inmarket.com.au>2012-12-06 18:45:54 +1000
committerAndrew Hannam <andrewh@inmarket.com.au>2012-12-06 18:45:54 +1000
commit07f34835358ef65de310934ae726b66c7ca46f68 (patch)
tree6b6875cc38f19bc1dd41b3b7edc8ea10ab7dbc84 /drivers/ginput/toggle/Pal
parente236a0a6b79ccd4446df72256740913392cf12f7 (diff)
downloaduGFX-07f34835358ef65de310934ae726b66c7ca46f68.tar.gz
uGFX-07f34835358ef65de310934ae726b66c7ca46f68.tar.bz2
uGFX-07f34835358ef65de310934ae726b66c7ca46f68.zip
Restructure
Create global include file called gfx.h which knows about sub-system dependancies. Deprecate Touchscreen (GINPUT touch is now working properly) Merge Graph into GWIN Change directory structure to reflect sub-system structure Many small bugs fixed Split Nokia6610 gdisp driver into GE8 and GE12 controller versions Fixed broken demos. GFX sub-systems are now clearly defined and new ones should be much easier to add.
Diffstat (limited to 'drivers/ginput/toggle/Pal')
-rw-r--r--drivers/ginput/toggle/Pal/ginput_lld_toggle.c6
-rw-r--r--drivers/ginput/toggle/Pal/ginput_lld_toggle_board_example.h57
-rw-r--r--drivers/ginput/toggle/Pal/ginput_lld_toggle_board_olimexsam7ex256.h26
-rw-r--r--drivers/ginput/toggle/Pal/ginput_lld_toggle_config.h5
4 files changed, 44 insertions, 50 deletions
diff --git a/drivers/ginput/toggle/Pal/ginput_lld_toggle.c b/drivers/ginput/toggle/Pal/ginput_lld_toggle.c
index 560d11b9..a3a360d8 100644
--- a/drivers/ginput/toggle/Pal/ginput_lld_toggle.c
+++ b/drivers/ginput/toggle/Pal/ginput_lld_toggle.c
@@ -28,13 +28,13 @@
#include "ch.h"
#include "hal.h"
+#include "gfx.h"
#if (GFX_USE_GINPUT && GINPUT_NEED_TOGGLE) /*|| defined(__DOXYGEN__)*/
-// Declare the static members in the following include file
-#define GINPUT_TOGGLE_DECLARE_CONFIG
+#include "ginput/lld/toggle.h"
-#include "lld/ginput/toggle.h"
+GINPUT_TOGGLE_DECLARE_STRUCTURE();
/**
* @brief Initialise the port.
diff --git a/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_example.h b/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_example.h
index 46d32b47..a96178b0 100644
--- a/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_example.h
+++ b/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_example.h
@@ -29,37 +29,32 @@
#ifndef _GDISP_LLD_TOGGLE_BOARD_H
#define _GDISP_LLD_TOGGLE_BOARD_H
-#ifndef _GINPUT_LLD_TOGGLE_CONFIG_H
- // Visible in ginput.h
-
- #define GINPUT_TOGGLE_SW1 0 // Switch 1
- #define GINPUT_TOGGLE_SW2 1 // Switch 2
- #define GINPUT_TOGGLE_UP 2 // Joystick Up
- #define GINPUT_TOGGLE_DOWN 3 // Joystick Down
- #define GINPUT_TOGGLE_LEFT 4 // Joystick Left
- #define GINPUT_TOGGLE_RIGHT 5 // Joystick Right
- #define GINPUT_TOGGLE_CENTER 6 // Joystick Center
-
-#elif !defined(GINPUT_TOGGLE_DECLARE_CONFIG)
- // Visible in ginput_lld.h
-
- #define GINPUT_TOGGLE_NUM_PORTS 7 // The total number of toggle inputs
-
-#else
- // Visible in ginput_lld_toggle.c
-
- GToggleConfig GInputToggleConfigTable[] = {
- {AT91C_BASE_PIOB, // Switch 1 and Switch 2
- PIOB_SW1_MASK|PIOB_SW2_MASK,
- PIOB_SW1_MASK|PIOB_SW2_MASK,
- PAL_MODE_INPUT},
- {AT91C_BASE_PIOA, // B1..4 Joystick
- PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK,
- PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK,
- PAL_MODE_INPUT},
- };
-
-#endif
+#error "GINPUT Toggle Pal Driver: You need to define your board definitions"
+
+// The below are example values
+
+#define GINPUT_TOGGLE_NUM_PORTS 7 // The total number of toggle inputs
+#define GINPUT_TOGGLE_CONFIG_ENTRIES 2 // The total number of GToggleConfig entries
+
+#define GINPUT_TOGGLE_SW1 0 // Switch 1
+#define GINPUT_TOGGLE_SW2 1 // Switch 2
+#define GINPUT_TOGGLE_UP 2 // Joystick Up
+#define GINPUT_TOGGLE_DOWN 3 // Joystick Down
+#define GINPUT_TOGGLE_LEFT 4 // Joystick Left
+#define GINPUT_TOGGLE_RIGHT 5 // Joystick Right
+#define GINPUT_TOGGLE_CENTER 6 // Joystick Center
+
+#define GINPUT_TOGGLE_DECLARE_STRUCTURE() \
+ const GToggleConfig GInputToggleConfigTable[GINPUT_TOGGLE_CONFIG_ENTRIES] = { \
+ {AT91C_BASE_PIOB, /* Switch 1 and Switch 2 */ \
+ PIOB_SW1_MASK|PIOB_SW2_MASK, \
+ PIOB_SW1_MASK|PIOB_SW2_MASK, \
+ PAL_MODE_INPUT}, \
+ {AT91C_BASE_PIOA, /* B1..4 Joystick */ \
+ PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK, \
+ PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK, \
+ PAL_MODE_INPUT}, \
+ }
#endif /* _GDISP_LLD_TOGGLE_BOARD_H */
/** @} */
diff --git a/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_olimexsam7ex256.h b/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_olimexsam7ex256.h
index b767f32c..3ba5858d 100644
--- a/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_olimexsam7ex256.h
+++ b/drivers/ginput/toggle/Pal/ginput_lld_toggle_board_olimexsam7ex256.h
@@ -40,21 +40,17 @@
#define GINPUT_TOGGLE_RIGHT 5 // Joystick Right
#define GINPUT_TOGGLE_CENTER 6 // Joystick Center
-#ifdef GINPUT_TOGGLE_DECLARE_CONFIG
- // Visible in ginput_lld_toggle.c
-
- const GToggleConfig GInputToggleConfigTable[GINPUT_TOGGLE_CONFIG_ENTRIES] = {
- {AT91C_BASE_PIOB, // Switch 1 and Switch 2
- PIOB_SW1_MASK|PIOB_SW2_MASK,
- PIOB_SW1_MASK|PIOB_SW2_MASK,
- PAL_MODE_INPUT},
- {AT91C_BASE_PIOA, // B1..4 Joystick
- PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK,
- PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK,
- PAL_MODE_INPUT},
- };
-
-#endif
+#define GINPUT_TOGGLE_DECLARE_STRUCTURE() \
+ const GToggleConfig GInputToggleConfigTable[GINPUT_TOGGLE_CONFIG_ENTRIES] = { \
+ {AT91C_BASE_PIOB, /* Switch 1 and Switch 2 */ \
+ PIOB_SW1_MASK|PIOB_SW2_MASK, \
+ PIOB_SW1_MASK|PIOB_SW2_MASK, \
+ PAL_MODE_INPUT}, \
+ {AT91C_BASE_PIOA, /* B1..4 Joystick */ \
+ PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK, \
+ PIOA_B1_MASK|PIOA_B2_MASK|PIOA_B3_MASK|PIOA_B4_MASK|PIOA_B5_MASK, \
+ PAL_MODE_INPUT}, \
+ }
#endif /* _GDISP_LLD_TOGGLE_BOARD_H */
/** @} */
diff --git a/drivers/ginput/toggle/Pal/ginput_lld_toggle_config.h b/drivers/ginput/toggle/Pal/ginput_lld_toggle_config.h
index a3fcf22e..774be200 100644
--- a/drivers/ginput/toggle/Pal/ginput_lld_toggle_config.h
+++ b/drivers/ginput/toggle/Pal/ginput_lld_toggle_config.h
@@ -31,7 +31,10 @@
#if GFX_USE_GINPUT && GINPUT_NEED_TOGGLE
-#if defined(BOARD_OLIMEX_SAM7_EX256)
+#if GINPUT_TOGGLE_USE_CUSTOM_BOARD
+ /* Include the user supplied board definitions */
+ #include "ginput_lld_toggle_board.h"
+#elif defined(BOARD_OLIMEX_SAM7_EX256)
#include "ginput_lld_toggle_board_olimexsam7ex256.h"
#else
/* Include the user supplied board definitions */