Browse Source

Adding KLL define support

simple
Jacob Alexander 9 years ago
parent
commit
15bb1a767f
3 changed files with 23 additions and 9 deletions
  1. 6
    4
      Lib/CMake/kll.cmake
  2. 6
    2
      Macro/PartialMap/capabilities.kll
  3. 11
    3
      Macro/PartialMap/kll.h

+ 6
- 4
Lib/CMake/kll.cmake View File

@@ -114,13 +114,15 @@ endforeach ()
#

#| KLL Options
set ( kll_backend -b kiibohd )
set ( kll_template -t ${PROJECT_SOURCE_DIR}/kll/templates/kiibohdKeymap.h )
set ( kll_backend -b kiibohd )
set ( kll_template -t ${PROJECT_SOURCE_DIR}/kll/templates/kiibohdKeymap.h )
set ( kll_outputname generatedKeymap.h )
set ( kll_output -o ${kll_outputname} )
set ( kll_output -o ${kll_outputname} )
set ( kll_define_output --defines-output kll_defs.h )
set ( kll_define_template --defines-template ${PROJECT_SOURCE_DIR}/kll/templates/kiibohdDefs.h )

#| KLL Cmd
set ( kll_cmd ${PROJECT_SOURCE_DIR}/kll/kll.py ${BaseMap_Args} ${DefaultMap_Args} ${PartialMap_Args} ${kll_backend} ${kll_template} ${kll_output} )
set ( kll_cmd ${PROJECT_SOURCE_DIR}/kll/kll.py ${BaseMap_Args} ${DefaultMap_Args} ${PartialMap_Args} ${kll_backend} ${kll_template} ${kll_output} ${kll_define_template} ${kll_define_output} )
add_custom_command ( OUTPUT ${kll_outputname}
COMMAND ${kll_cmd}
DEPENDS ${KLL_DEPENDS}

+ 6
- 2
Macro/PartialMap/capabilities.kll View File

@@ -1,10 +1,10 @@
Name = PartialMapCapabilities;
Version = 0.1;
Author = "HaaTa (Jacob Alexander) 2014";
KLL = 0.3;
KLL = 0.3a;

# Modified Date
Date = 2014-09-14;
Date = 2014-11-21;


# Capabilties available to the PartialMap module
@@ -13,3 +13,7 @@ layerLatch => Macro_layerLatch_capability( layer : 2 );
layerLock => Macro_layerLock_capability( layer : 2 );
layerShift => Macro_layerShift_capability( layer : 2 );

# Defines available to the PartialMap module
stateWordSize => StateWordSize_define;
stateWordSize = 8; # Default for now, increase to 16 or 32 for higher limits


+ 11
- 3
Macro/PartialMap/kll.h View File

@@ -19,6 +19,9 @@

// ----- Includes -----

// KLL Generated Defines
#include <kll_defs.h>

// Project Includes
#include <print.h>
#include <scan_loop.h>
@@ -36,10 +39,15 @@
// It is possible to change the maximum state and indexing positions of the state machine.
// This usually affects the SRAM usage quite a bit, so it can be used to fit the code on smaller uCs
// Or to allow for nearly infinite states.
// TODO Make selectable from layout variable
//typedef uint32_t var_uint_t;
//typedef uint16_t var_uint_t;
#if StateWordSize_define == 32
typedef uint32_t var_uint_t;
#elif StateWordSize_define == 16
typedef uint16_t var_uint_t;
#elif StateWordSize_define == 8
typedef uint8_t var_uint_t;
#else
#error "Invalid StateWordSize, possible values: 32, 16 and 8."
#endif

// - NOTE -
// Native pointer length