# | # | ||||
#| KLL Options | #| 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_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 | #| 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} | add_custom_command ( OUTPUT ${kll_outputname} | ||||
COMMAND ${kll_cmd} | COMMAND ${kll_cmd} | ||||
DEPENDS ${KLL_DEPENDS} | DEPENDS ${KLL_DEPENDS} |
Name = PartialMapCapabilities; | Name = PartialMapCapabilities; | ||||
Version = 0.1; | Version = 0.1; | ||||
Author = "HaaTa (Jacob Alexander) 2014"; | Author = "HaaTa (Jacob Alexander) 2014"; | ||||
KLL = 0.3; | |||||
KLL = 0.3a; | |||||
# Modified Date | # Modified Date | ||||
Date = 2014-09-14; | |||||
Date = 2014-11-21; | |||||
# Capabilties available to the PartialMap module | # Capabilties available to the PartialMap module | ||||
layerLock => Macro_layerLock_capability( layer : 2 ); | layerLock => Macro_layerLock_capability( layer : 2 ); | ||||
layerShift => Macro_layerShift_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 | |||||
// ----- Includes ----- | // ----- Includes ----- | ||||
// KLL Generated Defines | |||||
#include <kll_defs.h> | |||||
// Project Includes | // Project Includes | ||||
#include <print.h> | #include <print.h> | ||||
#include <scan_loop.h> | #include <scan_loop.h> | ||||
// It is possible to change the maximum state and indexing positions of the state machine. | // 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 | // 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. | // 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; | typedef uint8_t var_uint_t; | ||||
#else | |||||
#error "Invalid StateWordSize, possible values: 32, 16 and 8." | |||||
#endif | |||||
// - NOTE - | // - NOTE - | ||||
// Native pointer length | // Native pointer length |