## # This script includes arduino specific config for oic-resource ## Import('env', 'TARGET_CPU_ARCH', 'ARDUINO_HOME') # 'NET' build option if env.get('NET') is None: vars = Variables() vars.Add(EnumVariable('NET', 'Network connection type', 'Ethernet', ['Ethernet', 'Wifi'])) vars.Update(env) Help(vars.GenerateHelpText(env)) env.AppendUnique(CPPPATH = [ ARDUINO_HOME + '/libraries/Ethernet/src', ARDUINO_HOME + '/libraries/Ethernet/src/utility', ARDUINO_HOME + '/libraries/WiFi/src', ARDUINO_HOME + '/libraries/WiFi/src/utility', ARDUINO_HOME + '/libraries/Time/', ]) if TARGET_CPU_ARCH == 'arm': # Include path env.AppendUnique(CPPPATH = [ ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/USB', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/avr', ARDUINO_HOME + '/hardware/arduino/sam/system/libsam', ARDUINO_HOME + '/hardware/arduino/sam/system/CMSIS/CMSIS/Include', ARDUINO_HOME + '/hardware/arduino/sam/system/CMSIS/Device/ATMEL', ARDUINO_HOME + '/hardware/arduino/sam/variants/arduino_due_x', ARDUINO_HOME + '/hardware/arduino/sam/libraries/SPI', ]) # Compiler/Linker flags env.AppendUnique(CXXFLAGS = ['-ffunction-sections', '-fdata-sections', '-nostdlib', '--param', 'max-inline-insns-single=500', '-fno-rtti', '-fno-exceptions', '-mcpu=cortex-m3', '-mthumb' ]) env.AppendUnique(CPPDEFINES = ['printf=iprintf', 'F_CPU=84000000L', 'ARDUINO=157', 'ARDUINO_SAM_DUE', 'ARDUINO_ARCH_SAM', '__SAM3X8E__', 'USB_VID=0x2341', 'USB_PID=0x003e', 'USBCON', 'DUSB_MANUFACTURER="Unknown"', 'WITH_ARDUINO', ]) # Source ARDUINO_SRC = [] ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/*.c')) ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/*.cpp')) ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/avr/*.c')) ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/USB/*.cpp')) ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/variants/arduino_due_x/*.cpp')) ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/hardware/arduino/sam/libraries/SPI/*.cpp')) else: # Include path env.AppendUnique(CPPPATH = [ ARDUINO_HOME + '/hardware/arduino/avr/cores/arduino', ARDUINO_HOME + '/hardware/arduino/avr/libraries/SPI', ARDUINO_HOME + '/hardware/arduino/avr/variants/mega', ]) # Compiler/Linker flags env.AppendUnique(CXXFLAGS = ['-mmcu=atmega2560', '-MMD', '-std=c++0x', '-Wno-write-strings', '-ffunction-sections', '-fdata-sections', '-fno-exceptions', '-felide-constructors' ]) env.AppendUnique(CPPDEFINES = ['F_CPU=16000000L', 'ARDUINO=156', 'ARDUINO_AVR_MEGA2560', 'ARDUINO_ARCH_AVR', 'WITH_ARDUINO', 'ATMEGA2560' ]) # Source ARDUINO_SRC = [ ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/WInterrupts.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/wiring.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/wiring_digital.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/main.cpp', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/Stream.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/WMath.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/WString.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/HardwareSerial.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/Print.c', ARDUINO_HOME + '/hardware/arduino/sam/cores/arduino/IPAddress.c', ARDUINO_HOME + '/hardware/arduino/avr/libraries/SPI/SPI.cpp', ] if env.get('NET') == 'Ethernet': ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/Ethernet/src/*.cpp')) ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/Ethernet/src/utility/*.cpp')) else: ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/WiFi/src/*.cpp')) ARDUINO_SRC.extend(Glob(ARDUINO_HOME + '/libraries/WiFi/src/utility/*.cpp')) Export('ARDUINO_SRC')