# HG changeset patch # User Jacob Alexander # Date 1416610730 28800 # Node ID 8d41330c194dbfb53ada1df9fe57d3293a9caafb # Parent 45cb81040110a1776058671a33475ffb5cc07458 Adding KLL define support diff -r 45cb81040110 -r 8d41330c194d Lib/CMake/kll.cmake --- a/Lib/CMake/kll.cmake Sun Nov 16 13:03:31 2014 -0800 +++ b/Lib/CMake/kll.cmake Fri Nov 21 14:58:50 2014 -0800 @@ -114,13 +114,15 @@ # #| 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} diff -r 45cb81040110 -r 8d41330c194d Macro/PartialMap/capabilities.kll --- a/Macro/PartialMap/capabilities.kll Sun Nov 16 13:03:31 2014 -0800 +++ b/Macro/PartialMap/capabilities.kll Fri Nov 21 14:58:50 2014 -0800 @@ -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 @@ 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 + diff -r 45cb81040110 -r 8d41330c194d Macro/PartialMap/kll.h --- a/Macro/PartialMap/kll.h Sun Nov 16 13:03:31 2014 -0800 +++ b/Macro/PartialMap/kll.h Fri Nov 21 14:58:50 2014 -0800 @@ -19,6 +19,9 @@ // ----- Includes ----- +// KLL Generated Defines +#include + // Project Includes #include #include @@ -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