Fix LAYER_STATE_8BIT compile issues (#7304)
authorJoel Challis <git@zvecr.com>
Sat, 9 Nov 2019 02:23:26 +0000 (02:23 +0000)
committerDrashna Jaelre <drashna@live.com>
Sat, 9 Nov 2019 02:23:26 +0000 (18:23 -0800)
tmk_core/common/action_layer.c
tmk_core/common/action_layer.h
tmk_core/common/eeconfig.c

index 07d78c5..4c7d15c 100644 (file)
@@ -268,7 +268,7 @@ uint8_t layer_switch_get_layer(keypos_t key) {
     /* fall back to layer 0 */
     return 0;
 #else
-    return biton32(default_layer_state);
+    return get_highest_layer(default_layer_state);
 #endif
 }
 
index fee9b24..b8562f5 100644 (file)
@@ -23,7 +23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #if defined(LAYER_STATE_8BIT)
 typedef uint8_t layer_state_t;
-#    define get_highest_layer(state) biton8(state)
+#    define get_highest_layer(state) biton(state)
 #elif defined(LAYER_STATE_16BIT)
 typedef uint16_t layer_state_t;
 #    define get_highest_layer(state) biton16(state)
index 4cf4ca3..72f198d 100644 (file)
@@ -2,13 +2,13 @@
 #include <stdbool.h>
 #include "eeprom.h"
 #include "eeconfig.h"
+#include "action_layer.h"
 
 #ifdef STM32_EEPROM_ENABLE
 #    include "hal.h"
 #    include "eeprom_stm32.h"
 #endif
 
-extern uint32_t default_layer_state;
 /** \brief eeconfig enable
  *
  * FIXME: needs doc