Archived
1
0

Adding KLL define support

This commit is contained in:
Jacob Alexander 2014-11-21 14:58:50 -08:00
parent 355fdc48e0
commit 15bb1a767f
3 changed files with 23 additions and 9 deletions

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}

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

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