Fix 2.2.2RC1 no gvar compile (#5961)
[opentx.git] / radio / src / targets / sky9x / CMakeLists.txt
blob883ac3d80b584b3c6cf25131e0404de15442f936
1 set(ARCH ARM)
2 set(LUA NO)
3 set(MCU cortex-m3)
4 set(SDCARD YES)
5 set(HAPTIC YES)
6 set(EEPROM EEPROM_RAW)
7 set(GUI_DIR 128x64)
8 set(TARGET_DIR sky9x)
9 set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} 9x_bitmaps)
10 set(PPM_LIMITS_SYMETRICAL YES)
12 if(PCB STREQUAL 9XRPRO)
13   add_definitions(-Dat91sam3s8 -DREVX)
14   set(FLAVOUR 9xrpro)
15   set(LINKER_SCRIPT targets/sky9x/sam3s8c_flash.ld)
16   set(TARGET_SRC
17     ${TARGET_SRC}
18     rtc_driver.cpp
19     )
20   set(OPENRC_BOOTLOADER bootflash8.lbm)
21   set(CPU_TYPE_FULL ATSAM3S8C)  # for size report
22 elseif(PCB STREQUAL AR9X)
23   add_definitions(-Dat91sam3s8 -DAR9X -DSOFTWARE_VOLUME)
24   set(FLAVOUR ar9x)
25   include_directories(${THIRDPARTY_DIR}/xdk-asf-3.31.0/sam/drivers/twi)
26   set(SRC ${SRC} ${THIRDPARTY_DIR}/xdk-asf-3.31.0/sam/drivers/twi/twi.c)
27   set(TARGET_SRC
28     ${TARGET_SRC}
29     i2c_driver.cpp
30     rtc_ds3231_driver.cpp
31     )
32   set(LINKER_SCRIPT targets/sky9x/sam3s8c_flash.ld)
33   set(OPENRC_BOOTLOADER bootflash8.lbm)
34   set(CPU_TYPE_FULL ATSAM3S8C)  # for size report
35 else()
36   set(FLAVOUR sky9x)
37   set(PCBREV "REVC" CACHE STRING "PCB Revision (REVA/REVB/REVC)")
38   set_property(CACHE PCBREV PROPERTY STRINGS "REVA" "REVB" "REVC")
39   set(TARGET_SRC
40     ${TARGET_SRC}
41     coproc_driver.cpp
42     rotenc_driver.cpp
43     rtc_driver.cpp
44     )
45   set(OPENRC_BOOTLOADER bootflash4.lbm)
46   if(PCBREV STREQUAL REVA)
47     add_definitions(-DDREVA)
48     set(LINKER_SCRIPT targets/sky9x/sam3s2c_flash.ld)
49     set(CPU_TYPE_FULL ATSAM3S2C)  # for size report
50   else()
51     if(PCBREV STREQUAL REVB)
52       add_definitions(-DDREVB)
53     elseif(PCBREV STREQUAL REVC)
54       add_definitions(-DDREVC)
55     else()
56       message(SEND_ERROR "Unknown PCB Revision '${PCBREV}'")
57     endif()
58     add_definitions(-DCOPROCESSOR)
59     set(LINKER_SCRIPT targets/sky9x/sam3s4c_flash.ld)
60     set(CPU_TYPE_FULL ATSAM3S4C)  # for size report
61   endif()
62 endif()
64 add_definitions(-DPCBSKY9X -DPPM_PIN_SERIAL -DAUDIO_DUAL_BUFFER)
65 add_definitions(-DAUDIO -DVOICE -DRTCLOCK -DVARIO)
66 add_definitions(-DEEPROM_VARIANT=0)
68 set(GUI_SRC
69   ${GUI_SRC}
70   model_input_edit.cpp
71   model_mix_edit.cpp
72   model_display.cpp
73   radio_diagkeys.cpp
74   radio_diaganas.cpp
75   radio_hardware.cpp
76   view_telemetry.cpp
77   view_about.cpp
78   )
80 if(GVARS)
81   set(GUI_SRC
82     ${GUI_SRC}
83     model_gvars.cpp
84     )
85 endif()
87 set(FIRMWARE_TARGET_SRC
88   ${FIRMWARE_TARGET_SRC}
89   ../common/arm/loadboot.cpp
90   core_cm3.c
91   board_lowlevel.c
92   crt.c
93   vectors_sam3s.c
94   eeprom_driver.cpp
95   lcd_driver.cpp
96   pwr_driver.cpp
97   usb/device/core/USBD_UDP.c
98   usb/device/core/USBDDriver.c
99   usb/device/massstorage/MSDDriver.c
100   usb/device/massstorage/MSDDStateMachine.c
101   usb/device/massstorage/MSDLun.c
102   usb/device/massstorage/MSDDriverDescriptors.c
103   usb/device/massstorage/SBCMethods.c
104   usb/common/core/USBEndpointDescriptor.c
105   usb/common/core/USBGenericRequest.c
106   usb/common/core/USBFeatureRequest.c
107   usb/common/core/USBInterfaceRequest.c
108   usb/common/core/USBGetDescriptorRequest.c
109   usb/common/core/USBSetAddressRequest.c
110   usb/common/core/USBSetConfigurationRequest.c
111   usb/common/core/USBConfigurationDescriptor.c
112   usb/common/core/USBGenericDescriptor.c
113   MEDSdcard.c
114   )
116 set(TARGET_SRC
117   ${TARGET_SRC}
118   board.cpp
119   telemetry_driver.cpp
120   adc_driver.cpp
121   pulses_driver.cpp
122   keys_driver.cpp
123   audio_driver.cpp
124   buzzer_driver.cpp
125   haptic_driver.cpp
126   sdcard_driver.cpp
127   massstorage.cpp
128   serial2_driver.cpp
129   audio_driver.cpp
130   trainer_driver.cpp
131   )
133 set(SRC
134   ${SRC}
135   debug.cpp
136   )