rules.mk 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #MCU = at90usb1287
  2. MCU = atmega32u4
  3. # Processor frequency.
  4. # This will define a symbol, F_CPU, in all source code files equal to the
  5. # processor frequency in Hz. You can then use this symbol in your source code to
  6. # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
  7. # automatically to create a 32-bit value in your source code.
  8. #
  9. # This will be an integer division of F_USB below, as it is sourced by
  10. # F_USB after it has run through any CPU prescalers. Note that this value
  11. # does not *change* the processor frequency - it should merely be updated to
  12. # reflect the processor speed set externally so that the code can use accurate
  13. # software delays.
  14. F_CPU = 16000000
  15. # for avr upload
  16. USB = /dev/cu.usbmodem1421
  17. #
  18. # LUFA specific
  19. #
  20. # Target architecture (see library "Board Types" documentation).
  21. ARCH = AVR8
  22. # Input clock frequency.
  23. # This will define a symbol, F_USB, in all source code files equal to the
  24. # input clock frequency (before any prescaling is performed) in Hz. This value may
  25. # differ from F_CPU if prescaling is used on the latter, and is required as the
  26. # raw input clock is fed directly to the PLL sections of the AVR for high speed
  27. # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
  28. # at the end, this will be done automatically to create a 32-bit value in your
  29. # source code.
  30. #
  31. # If no clock division is performed on the input clock inside the AVR (via the
  32. # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
  33. F_USB = $(F_CPU)
  34. # Bootloader
  35. # This definition is optional, and if your keyboard supports multiple bootloaders of
  36. # different sizes, comment this out, and the correct address will be loaded
  37. # automatically (+60). See bootloader.mk for all options.
  38. ifdef TEENSY2
  39. BOOTLOADER = halfkay
  40. OPT_DEFS += -DATREUS_TEENSY2
  41. ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
  42. else
  43. BOOTLOADER = caterina
  44. OPT_DEFS += -DATREUS_ASTAR
  45. ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
  46. avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
  47. endif
  48. # Interrupt driven control endpoint task(+60)
  49. OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
  50. # MCU name
  51. # Boot Section Size in *bytes*
  52. # Teensy halfKay 512
  53. # Teensy++ halfKay 1024
  54. # Atmel DFU loader 4096
  55. # LUFA bootloader 4096
  56. # USBaspLoader 2048
  57. OPT_DEFS += -DBOOTLOADER_SIZE=4096
  58. # Build Options
  59. # change yes to no to disable
  60. #
  61. BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
  62. MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
  63. EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
  64. CONSOLE_ENABLE = no # Console for debug(+400)
  65. COMMAND_ENABLE = no # Commands for debug and configuration
  66. # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
  67. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
  68. # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
  69. NKRO_ENABLE = no # USB Nkey Rollover
  70. BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
  71. MIDI_ENABLE = no # MIDI controls
  72. UNICODE_ENABLE = no # Unicode
  73. BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
  74. AUDIO_ENABLE = no # Audio output on port C6
  75. RGBLIGHT_ENABLE = yes