Quellcode durchsuchen

fix assembly errors with hal

Jack Humbert vor 7 Jahren
Ursprung
Commit
a6afb16c90
4 geänderte Dateien mit 31 neuen und 23 gelöschten Zeilen
  1. 1 0
      keyboards/planck/light/rev2/matrix.c
  2. 1 19
      quantum/config_common.h
  3. 1 1
      quantum/encoder.c
  4. 28 3
      quantum/quantum.h

+ 1 - 0
keyboards/planck/light/rev2/matrix.c

@@ -10,6 +10,7 @@
 #include "action.h"
 #include "keycode.h"
 #include <string.h>
+#include "quantum.h"
 
 /*
  *     col: { A10, B2, A15, A0, A1, A2, B0, B1, C13, A6, A7, A3 }

+ 1 - 19
quantum/config_common.h

@@ -23,8 +23,6 @@
 #define CUSTOM_MATRIX 2 /* Disables built-in matrix scanning code */
 
 #ifdef __AVR__
-  #include <avr/io.h>
-  #define LINE_TYPE uint8_t
 
   /* I/O pins */
   #ifndef F0
@@ -78,18 +76,8 @@
       #define A7 0x07
   #endif
 
-  #define setPadMode(line, mode) _SFR_IO8((line >> 4) + 1) mode _BV(line & 0xF)
-  #define setPad(line) _SFR_IO8((line >> 4) + 2) |=  _BV(line & 0xF)
-  #define clearPad(line) _SFR_IO8((line >> 4) + 2) &= ~_BV(line & 0xF)
-  #define readPad(line) (_SFR_IO8(line >> 4) & _BV(line & 0xF))
 
-  #define PAD_MODE_INPUT &= ~
-  #define PAD_MODE_OUTPUT |=
-
-#else
-  #include "hal.h"
-
-  #define LINE_TYPE ioline_t
+#elif defined(__arm__)
 
   #define A0  PAL_LINE(GPIOA, 0)
   #define A1  PAL_LINE(GPIOA, 1)
@@ -188,12 +176,6 @@
   #define F14 PAL_LINE(GPIOF, 14)
   #define F15 PAL_LINE(GPIOF, 15)
 
-  #define setPadMode(line, mode) palSetPadMode(PAL_PORT(line), PAL_PAD(line), mode)
-  #define setPad(line) palSetPad(PAL_PORT(line), PAL_PAD(line))
-  #define clearPad(line) palClearPad(PAL_PORT(line), PAL_PAD(line))
-  #define readPad(line) palReadPad(PAL_PORT(line), PAL_PAD(line))
-
-  #define PAD_MODE_INPUT PAL_MODE_INPUT_PULLUP
 #endif
 
 

+ 1 - 1
quantum/encoder.c

@@ -16,7 +16,7 @@
  */
 
 #include "encoder.h"
-#include <stdbool.h>
+#include "quantum.h"
 
 #ifndef ENCODER_RESOLUTION
   #define ENCODER_RESOLUTION 4

+ 28 - 3
quantum/quantum.h

@@ -17,10 +17,11 @@
 #define QUANTUM_H
 
 #if defined(__AVR__)
-#include <avr/pgmspace.h>
-#include <avr/io.h>
-#include <avr/interrupt.h>
+  #include <avr/pgmspace.h>
+  #include <avr/io.h>
+  #include <avr/interrupt.h>
 #endif
+
 #include "wait.h"
 #include "matrix.h"
 #include "keymap.h"
@@ -130,6 +131,30 @@ extern uint32_t default_layer_state;
   #define MIN(x, y) (((x) < (y)) ? (x) : (y))
 #endif
 
+
+#ifdef __AVR__
+  #include <avr/io.h>
+  #define LINE_TYPE uint8_t
+
+  #define setPadMode(line, mode) _SFR_IO8((line >> 4) + 1) mode _BV(line & 0xF)
+  #define setPad(line) _SFR_IO8((line >> 4) + 2) |=  _BV(line & 0xF)
+  #define clearPad(line) _SFR_IO8((line >> 4) + 2) &= ~_BV(line & 0xF)
+  #define readPad(line) (_SFR_IO8(line >> 4) & _BV(line & 0xF))
+
+  #define PAD_MODE_INPUT &= ~
+  #define PAD_MODE_OUTPUT |=
+#elif defined(__arm__)
+  #include "hal.h"
+  #define LINE_TYPE ioline_t
+
+  #define setPadMode(line, mode) palSetPadMode(PAL_PORT(line), PAL_PAD(line), mode)
+  #define setPad(line) palSetPad(PAL_PORT(line), PAL_PAD(line))
+  #define clearPad(line) palClearPad(PAL_PORT(line), PAL_PAD(line))
+  #define readPad(line) palReadPad(PAL_PORT(line), PAL_PAD(line))
+
+  #define PAD_MODE_INPUT PAL_MODE_INPUT_PULLUP
+#endif
+
 #define STRINGIZE(z) #z
 #define ADD_SLASH_X(y) STRINGIZE(\x ## y)
 #define SYMBOL_STR(x) ADD_SLASH_X(x)