2 # This script includes arduino specific config for oic-resource
4 Import('env', 'TARGET_CPU_ARCH', 'ARDUINO_HOME')
7 if env.get('NET') is None:
9 vars.Add(EnumVariable('NET', 'Network connection type', 'Ethernet', ['Ethernet', 'Wifi']))
11 Help(vars.GenerateHelpText(env))
13 env.AppendUnique(CPPPATH = [
14 ARDUINO_HOME + '/libraries/Ethernet/src',
15 ARDUINO_HOME + '/libraries/Ethernet/src/utility',
16 ARDUINO_HOME + '/libraries/WiFi/src',
17 ARDUINO_HOME + '/libraries/WiFi/src/utility',
18 ARDUINO_HOME + '/libraries/Time/',
21 if TARGET_CPU_ARCH == 'arm':
23 env.AppendUnique(CPPPATH = [
24 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino',
25 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/USB',
26 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/avr',
27 ARDUINO_HOME + '/hardware/arduino/sam/system/libsam',
28 ARDUINO_HOME + '/hardware/arduino/sam/system/CMSIS/CMSIS/Include',
29 ARDUINO_HOME + '/hardware/arduino/sam/system/CMSIS/Device/ATMEL',
30 ARDUINO_HOME + '/hardware/arduino/sam/variants/arduino_due_x',
31 ARDUINO_HOME + '/hardware/arduino/sam/libraries/SPI',
34 # Compiler/Linker flags
35 env.AppendUnique(CXXFLAGS = ['-ffunction-sections', '-fdata-sections', '-nostdlib',
36 '--param', 'max-inline-insns-single=500', '-fno-rtti', '-fno-exceptions',
37 '-mcpu=cortex-m3', '-mthumb'
39 env.AppendUnique(CPPDEFINES = ['printf=iprintf', 'F_CPU=84000000L', 'ARDUINO=157',
40 'ARDUINO_SAM_DUE', 'ARDUINO_ARCH_SAM', '__SAM3X8E__', 'USB_VID=0x2341',
41 'USB_PID=0x003e', 'USBCON', 'DUSB_MANUFACTURER="Unknown"', 'WITH_ARDUINO',
46 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/*.c'))
47 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/*.cpp'))
48 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/avr/*.c'))
49 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/USB/*.cpp'))
50 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/variants/arduino_due_x/*.cpp'))
51 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/libraries/SPI/*.cpp'))
54 env.AppendUnique(CPPPATH = [
55 ARDUINO_HOME + '/hardware/arduino/avr/cores/arduino',
56 ARDUINO_HOME + '/hardware/arduino/avr/libraries/SPI',
57 ARDUINO_HOME + '/hardware/arduino/avr/variants/mega',
60 # Compiler/Linker flags
61 env.AppendUnique(CXXFLAGS = ['-mmcu=atmega2560', '-MMD', '-std=c++0x',
62 '-Wno-write-strings', '-ffunction-sections', '-fdata-sections',
63 '-fno-exceptions', '-felide-constructors'
65 env.AppendUnique(CPPDEFINES = ['F_CPU=16000000L', 'ARDUINO=156', 'ARDUINO_AVR_MEGA2560',
66 'ARDUINO_ARCH_AVR', 'WITH_ARDUINO', 'ATMEGA2560'
71 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/WInterrupts.c',
72 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/wiring.c',
73 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/wiring_digital.c',
74 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/main.cpp',
75 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/Stream.c',
76 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/WMath.c',
77 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/WString.c',
78 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/HardwareSerial.c',
79 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/Print.c',
80 ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/IPAddress.c',
81 ARDUINO_HOME + '/hardware/arduino/avr/libraries/SPI/SPI.cpp',
84 if env.get('NET') == 'Ethernet':
85 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/Ethernet/src/*.cpp'))
86 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/Ethernet/src/utility/*.cpp'))
88 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/WiFi/src/*.cpp'))
89 ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/WiFi/src/utility/*.cpp'))