rules.mk 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # MCU name
  2. MCU = atmega32a
  3. PROTOCOL = VUSB
  4. NO_UART = yes
  5. NO_SUSPEND_POWER_DOWN = yes
  6. # Processor frequency.
  7. # This will define a symbol, F_CPU, in all source code files equal to the
  8. # processor frequency in Hz. You can then use this symbol in your source code to
  9. # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
  10. # automatically to create a 32-bit value in your source code.
  11. #
  12. # This will be an integer division of F_USB below, as it is sourced by
  13. # F_USB after it has run through any CPU prescalers. Note that this value
  14. # does not *change* the processor frequency - it should merely be updated to
  15. # reflect the processor speed set externally so that the code can use accurate
  16. # software delays.
  17. F_CPU = 12000000
  18. #
  19. # LUFA specific
  20. #
  21. # Target architecture (see library "Board Types" documentation).
  22. # ARCH = AVR8
  23. # Input clock frequency.
  24. # This will define a symbol, F_USB, in all source code files equal to the
  25. # input clock frequency (before any prescaling is performed) in Hz. This value may
  26. # differ from F_CPU if prescaling is used on the latter, and is required as the
  27. # raw input clock is fed directly to the PLL sections of the AVR for high speed
  28. # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
  29. # at the end, this will be done automatically to create a 32-bit value in your
  30. # source code.
  31. #
  32. # If no clock division is performed on the input clock inside the AVR (via the
  33. # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
  34. # F_USB = $(F_CPU)
  35. # Interrupt driven control endpoint task(+60)
  36. OPT_DEFS = -DDEBUG_LEVEL=0
  37. # Bootloader selection
  38. # Teensy halfkay
  39. # Pro Micro caterina
  40. # Atmel DFU atmel-dfu
  41. # LUFA DFU lufa-dfu
  42. # QMK DFU qmk-dfu
  43. # atmega32a bootloadHID
  44. BOOTLOADER = bootloadHID
  45. # If you don't know the bootloader type, then you can specify the
  46. # Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
  47. # Teensy halfKay 512
  48. # Teensy++ halfKay 1024
  49. # Atmel DFU loader 4096
  50. # LUFA bootloader 4096
  51. # USBaspLoader 2048
  52. # OPT_DEFS += -DBOOTLOADER_SIZE=4096
  53. # Build Options
  54. # change yes to no to disable
  55. #
  56. BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
  57. MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
  58. EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
  59. CONSOLE_ENABLE = yes # Console for debug(+400)
  60. COMMAND_ENABLE = yes # Commands for debug and configuration
  61. # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
  62. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
  63. # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
  64. NKRO_ENABLE = no # USB Nkey Rollover
  65. BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
  66. RGBLIGHT_CUSTOM_DRIVER = yes
  67. RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
  68. MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
  69. UNICODE_ENABLE = no # Unicode
  70. BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
  71. AUDIO_ENABLE = no # Audio output on port C6
  72. FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
  73. HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
  74. SRC += i2c_master.c
  75. PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex