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

# #


#| 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}

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

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


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



// ----- 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