diff options
-rw-r--r-- | obdlogger/cores/CDC.cpp | 3 | ||||
-rw-r--r-- | obdlogger/cores/HardwareSerial.cpp | 3 | ||||
-rw-r--r-- | obdlogger/cores/Print.cpp | 1 | ||||
-rw-r--r-- | obdlogger/cores/Stream.cpp | 1 | ||||
-rw-r--r-- | obdlogger/cores/USBCore.cpp | 2 | ||||
-rw-r--r-- | obdlogger/cores/WInterrupts.c | 1 | ||||
-rw-r--r-- | obdlogger/cores/WMath.cpp | 1 | ||||
-rw-r--r-- | obdlogger/cores/WString.cpp | 1 | ||||
-rw-r--r-- | obdlogger/cores/main.cpp | 1 | ||||
-rw-r--r-- | obdlogger/cores/new.cpp | 1 | ||||
-rw-r--r-- | obdlogger/cores/wiring.c | 1 | ||||
-rw-r--r-- | obdlogger/cores/wiring_analog.c | 1 | ||||
-rw-r--r-- | obdlogger/cores/wiring_digital.c | 1 | ||||
-rw-r--r-- | obdlogger/cores/wiring_pulse.c | 1 | ||||
-rw-r--r-- | obdlogger/cores/wiring_shift.c | 1 | ||||
-rw-r--r-- | obdlogger/libraries/SD.cpp | 5 | ||||
-rw-r--r-- | obdlogger/libraries/SoftwareSerial.cpp | 1 | ||||
-rw-r--r-- | obdlogger/libraries/Wire.cpp | 1 | ||||
-rw-r--r-- | obdlogger/libraries/twi.c | 1 | ||||
-rw-r--r-- | obdlogger/obdlogger.cbp | 467 | ||||
-rw-r--r-- | obdlogger/obdlogger.hex | 1336 | ||||
-rw-r--r-- | samples/dashboard_oled/dashboard_oled.cbp | 574 |
22 files changed, 929 insertions, 1476 deletions
diff --git a/obdlogger/cores/CDC.cpp b/obdlogger/cores/CDC.cpp deleted file mode 100644 index 1af755e..0000000 --- a/obdlogger/cores/CDC.cpp +++ /dev/null @@ -1,3 +0,0 @@ -/* Stub for CDC.cpp */ - -#include <CDC.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/HardwareSerial.cpp b/obdlogger/cores/HardwareSerial.cpp deleted file mode 100644 index 33f301e..0000000 --- a/obdlogger/cores/HardwareSerial.cpp +++ /dev/null @@ -1,3 +0,0 @@ -/* Stub for HardwareSerial.cpp */ - -#include <HardwareSerial.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/Print.cpp b/obdlogger/cores/Print.cpp deleted file mode 100644 index dedc1af..0000000 --- a/obdlogger/cores/Print.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <Print.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/Stream.cpp b/obdlogger/cores/Stream.cpp deleted file mode 100644 index 5e18362..0000000 --- a/obdlogger/cores/Stream.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <Stream.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/USBCore.cpp b/obdlogger/cores/USBCore.cpp deleted file mode 100644 index 76ff084..0000000 --- a/obdlogger/cores/USBCore.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include <HID.cpp> -#include <USBCore.cpp> diff --git a/obdlogger/cores/WInterrupts.c b/obdlogger/cores/WInterrupts.c deleted file mode 100644 index 67e386e..0000000 --- a/obdlogger/cores/WInterrupts.c +++ /dev/null @@ -1 +0,0 @@ -#include <WInterrupts.c>
\ No newline at end of file diff --git a/obdlogger/cores/WMath.cpp b/obdlogger/cores/WMath.cpp deleted file mode 100644 index 22ac58c..0000000 --- a/obdlogger/cores/WMath.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <WMath.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/WString.cpp b/obdlogger/cores/WString.cpp deleted file mode 100644 index 835c753..0000000 --- a/obdlogger/cores/WString.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <WString.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/main.cpp b/obdlogger/cores/main.cpp deleted file mode 100644 index 14a9885..0000000 --- a/obdlogger/cores/main.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <main.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/new.cpp b/obdlogger/cores/new.cpp deleted file mode 100644 index 2ba8b6b..0000000 --- a/obdlogger/cores/new.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <new.cpp>
\ No newline at end of file diff --git a/obdlogger/cores/wiring.c b/obdlogger/cores/wiring.c deleted file mode 100644 index b986fad..0000000 --- a/obdlogger/cores/wiring.c +++ /dev/null @@ -1 +0,0 @@ -#include <wiring.c>
\ No newline at end of file diff --git a/obdlogger/cores/wiring_analog.c b/obdlogger/cores/wiring_analog.c deleted file mode 100644 index 0c23337..0000000 --- a/obdlogger/cores/wiring_analog.c +++ /dev/null @@ -1 +0,0 @@ -#include <wiring_analog.c>
\ No newline at end of file diff --git a/obdlogger/cores/wiring_digital.c b/obdlogger/cores/wiring_digital.c deleted file mode 100644 index 420e9c6..0000000 --- a/obdlogger/cores/wiring_digital.c +++ /dev/null @@ -1 +0,0 @@ -#include <wiring_digital.c> diff --git a/obdlogger/cores/wiring_pulse.c b/obdlogger/cores/wiring_pulse.c deleted file mode 100644 index 9b11811..0000000 --- a/obdlogger/cores/wiring_pulse.c +++ /dev/null @@ -1 +0,0 @@ -#include <wiring_pulse.c> diff --git a/obdlogger/cores/wiring_shift.c b/obdlogger/cores/wiring_shift.c deleted file mode 100644 index cd996d4..0000000 --- a/obdlogger/cores/wiring_shift.c +++ /dev/null @@ -1 +0,0 @@ -#include <wiring_shift.c> diff --git a/obdlogger/libraries/SD.cpp b/obdlogger/libraries/SD.cpp deleted file mode 100644 index d922fc8..0000000 --- a/obdlogger/libraries/SD.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include <SD.cpp> -#include <Sd2Card.cpp> -#include <SdFile.cpp> -#include <SdVolume.cpp> -#include <File.cpp> diff --git a/obdlogger/libraries/SoftwareSerial.cpp b/obdlogger/libraries/SoftwareSerial.cpp deleted file mode 100644 index 4ae6f36..0000000 --- a/obdlogger/libraries/SoftwareSerial.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <SoftwareSerial.cpp> diff --git a/obdlogger/libraries/Wire.cpp b/obdlogger/libraries/Wire.cpp deleted file mode 100644 index d56e040..0000000 --- a/obdlogger/libraries/Wire.cpp +++ /dev/null @@ -1 +0,0 @@ -#include <Wire.cpp> diff --git a/obdlogger/libraries/twi.c b/obdlogger/libraries/twi.c deleted file mode 100644 index 4621167..0000000 --- a/obdlogger/libraries/twi.c +++ /dev/null @@ -1 +0,0 @@ -#include <twi.c> diff --git a/obdlogger/obdlogger.cbp b/obdlogger/obdlogger.cbp index eaab57a..b82383f 100644 --- a/obdlogger/obdlogger.cbp +++ b/obdlogger/obdlogger.cbp @@ -6,302 +6,582 @@ <Option pch_mode="2" /> <Option compiler="avrgcc" /> <Build> - <Target title="Simulator - Release"> - <Option output="obdlogger_sim.exe" prefix_auto="1" extension_auto="0" /> + <Target title="Simulator"> + <Option output="bin/Release/obdlogger_sim.exe" prefix_auto="1" extension_auto="0" /> <Option object_output="obj/Release/" /> <Option type="1" /> <Option compiler="GCC" /> <Compiler> <Add option="-Os" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-DARDUSIM" /> - <Add option="-DENABLE_API_NAME" /> - <Add option="-D__AVR_ATmega328P__" /> + <Add option="-D__AVR_ATmega2560__" /> + <Add option="-x c++" /> <Add directory="$(ARDUINO_DIR)/arduino/cores" /> <Add directory="$(ARDUINO_DIR)/arduino/variants/standard" /> <Add directory="$(ARDUINO_DIR)/include" /> </Compiler> + <Linker> + <Add option="-lardusim" /> + </Linker> <Environment> <Variable name="ARDUINO_DIR" value="$(APP_PATH)\ardusim" /> </Environment> </Target> <Target title="Arduino Uno"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> - <Add option="-Os" /> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Uno" /> <Variable name="BOARD_ID" value="uno" /> <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> <Variable name="UPLOAD_BAUDRATE" value="115200" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> <Target title="Arduino Leonardo"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> - <Add option="-Os" /> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega32U4__" /> <Add option="-DUSB_VID=0x2341" /> <Add option="-DUSB_PID=0x8036" /> + <Add option="-Os" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/leonardo" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Leonardo" /> <Variable name="BOARD_ID" value="leonardo" /> <Variable name="MCU" value="atmega32u4" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Esplora"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega32U4__" /> + <Add option="-DUSB_VID=0x2341" /> + <Add option="-DUSB_PID=0x8037" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/leonardo" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Esplora" /> + <Variable name="BOARD_ID" value="esplora" /> + <Variable name="MCU" value="atmega32u4" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Micro"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega32U4__" /> + <Add option="-DUSB_VID=0x2341" /> + <Add option="-DUSB_PID=0x803C" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/micro" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Micro" /> + <Variable name="BOARD_ID" value="micro" /> + <Variable name="MCU" value="atmega32u4" /> + <Variable name="MCU_CLOCK" value="16" /> <Variable name="UPLOAD_BAUDRATE" value="57600" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> <Target title="Arduino Duemilanove (328)"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> - <Add option="-O2" /> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Duemilanove (328)" /> <Variable name="BOARD_ID" value="duemilanove328" /> <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> <Variable name="UPLOAD_BAUDRATE" value="57600" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> - <Target title="Arduino Nano (328)"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Target title="Arduino Duemilanove (168)"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Duemilanove (168)" /> + <Variable name="BOARD_ID" value="duemilanove168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Nano (328)"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Nano (328)" /> <Variable name="BOARD_ID" value="nano328" /> <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> <Variable name="UPLOAD_BAUDRATE" value="57600" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> - <Target title="Arduino Mini (328)"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Target title="Arduino Nano (168)"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> + </Compiler> + <Linker> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Nano (168)" /> + <Variable name="BOARD_ID" value="nano168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Mini (328)"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Mini (328)" /> <Variable name="BOARD_ID" value="mini328" /> <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> <Variable name="UPLOAD_BAUDRATE" value="57600" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> - <Target title="Arduino Pro Mini (328)"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Target title="Arduino Mini (168)"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Mini (168)" /> + <Variable name="BOARD_ID" value="mini168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Pro Mini (328)"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Pro Mini (328)" /> <Variable name="BOARD_ID" value="promini328" /> <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> <Variable name="UPLOAD_BAUDRATE" value="57600" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> + <Target title="Arduino Pro Mini (168)"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Pro Mini (168)" /> + <Variable name="BOARD_ID" value="promini168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> <Target title="Arduino Mega 2560/ADK"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> - <Add option="-O2" /> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega2560__" /> + <Add option="-O2" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/mega" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Mega 2560\ADK" /> <Variable name="BOARD_ID" value="mega2560" /> <Variable name="MCU" value="atmega2560" /> - <Variable name="UPLOAD_BAUDRATE" value="115200" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> <Target title="Arduino Mega 1280"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> - <Add option="-O2" /> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega1280__" /> + <Add option="-O2" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/mega" /> </Compiler> <Linker> - <Add option="-s" /> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> - <Variable name="ARDUINO_DIR" value="$(APP_PATH)\arduino" /> <Variable name="BOARD" value="Arduino Mega 1280" /> <Variable name="BOARD_ID" value="mega1280" /> <Variable name="MCU" value="atmega1280" /> + <Variable name="MCU_CLOCK" value="16" /> <Variable name="UPLOAD_BAUDRATE" value="57600" /> <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> + <Target title="Arduino Mega 8"> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Mega 8" /> + <Variable name="BOARD_ID" value="mega8" /> + <Variable name="MCU" value="atmega8" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> <Target title="Microduino Core+ (644P)"> - <Option output="bin/Release/obdlogger_${BOARD_ID}_$(UPLOAD_PORT).elf" prefix_auto="1" extension_auto="0" /> + <Option output="bin/Release/obdlogger_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> <Option type="1" /> <Option compiler="avrgcc" /> <Compiler> - <Add option="-O2" /> + <Add option="-O3" /> + <Add option="-x c++" /> <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> <Add option="-D__AVR_ATmega644P__" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/plus" /> </Compiler> <Linker> <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> </Linker> <ExtraCommands> - <Add after="avr-objcopy -O ihex -R .eeprom -R .eesafe $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).hex" /> - <Add after="avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).eep.hex" /> - <Add after="avr-size --mcu=$(MCU) --format=avr $(TARGET_OUTPUT_FILE)" /> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> </ExtraCommands> <Environment> + <Variable name="BOARD" value="Microduino Core+ (644P)" /> <Variable name="BOARD_ID" value="uduino644p" /> <Variable name="MCU" value="atmega644p" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="115200" /> + <Variable name="UPLOAD_PORT" value="" /> </Environment> </Target> </Build> <Compiler> - <Add option="-fno-exceptions" /> - <Add option="-ffunction-sections" /> - <Add option="-fdata-sections" /> - <Add option="-s" /> - <Add option="-DF_CPU=16000000L" /> <Add directory="." /> - <Add directory="include" /> </Compiler> - <Linker> - <Add option="-Wl,--gc-sections" /> - </Linker> <Unit filename="LCD4Bit_mod.cpp" /> <Unit filename="LCD4Bit_mod.h" /> <Unit filename="MPU6050.cpp" /> @@ -316,46 +596,9 @@ <Unit filename="TinyGPS.h" /> <Unit filename="ZtLib.cpp" /> <Unit filename="ZtLib.h" /> - <Unit filename="cores/CDC.cpp" /> - <Unit filename="cores/HardwareSerial.cpp" /> - <Unit filename="cores/Print.cpp" /> - <Unit filename="cores/Stream.cpp" /> - <Unit filename="cores/USBCore.cpp" /> - <Unit filename="cores/WInterrupts.c"> - <Option compilerVar="CC" /> - </Unit> - <Unit filename="cores/WMath.cpp" /> - <Unit filename="cores/WString.cpp" /> - <Unit filename="cores/main.cpp" /> - <Unit filename="cores/new.cpp" /> - <Unit filename="cores/wiring.c"> - <Option compilerVar="CC" /> - </Unit> - <Unit filename="cores/wiring_analog.c"> - <Option compilerVar="CC" /> - </Unit> - <Unit filename="cores/wiring_digital.c"> - <Option compilerVar="CC" /> - </Unit> - <Unit filename="cores/wiring_pulse.c"> - <Option compilerVar="CC" /> - </Unit> - <Unit filename="cores/wiring_shift.c"> - <Option compilerVar="CC" /> - </Unit> - <Unit filename="libraries/SD.cpp" /> - <Unit filename="libraries/SoftwareSerial.cpp"> - <Option compile="0" /> - <Option link="0" /> - </Unit> - <Unit filename="libraries/Wire.cpp" /> - <Unit filename="libraries/twi.c"> - <Option compilerVar="CC" /> - </Unit> <Unit filename="obdlogger.ino"> <Option compile="1" /> <Option link="1" /> - <Option compiler="avrgcc" use="1" buildCommand="$compiler $options -x c++ $includes -c $file -o $object" /> </Unit> <Extensions> <code_completion /> diff --git a/obdlogger/obdlogger.hex b/obdlogger/obdlogger.hex deleted file mode 100644 index 0c23f7b..0000000 --- a/obdlogger/obdlogger.hex +++ /dev/null @@ -1,1336 +0,0 @@ -:100000000C9493000C94BB000C94BB000C94BB00AC -:100010000C94BB000C94BB000C94BB000C94BB0074 -:100020000C94BB000C94BB000C94BB000C94BB0064 -:100030000C94BB000C94BB000C94BB000C94BB0054 -:100040000C94E0260C94BB000C946A230C94B82307 -:100050000C94BB000C94BB000C94BB000C94BB0034 -:100060000C94D8210C94BB0041545A0D000041540B -:1000700045300D0041544C310D004154490D0000F4 -:10008000303130300D00303132300D00303134300D -:100090000D0061746C700D00534541524348494E48 -:1000A0004700343120002530325825303258203175 -:1000B0000D007C3C3E5E2B3D3F2F5B5D3B2C2A229E -:1000C0005C0000000000240027002A00000000005F -:1000D000250028002B000000000023002600290036 -:1000E00004040404040404040202020202020303DE -:1000F00003030303010204081020408001020408E6 -:100100001020010204081020000000070002010076 -:10011000000304060000000000000000AA08460ECC -:1001200045212425A30811241FBECFEFD8E0DEBF50 -:10013000CDBF12E0A0E0B1E0E2E3F2E502C005903D -:100140000D92A432B107D9F716E0A4E2B2E001C0E3 -:100150001D92AC37B107E1F711E0C4E2D1E004C071 -:100160002297FE010E940829CC31D107C9F70E94CD -:100170007A250C940C290C940000FB01DC010590FD -:100180000D920020E1F70895FB0155915523A9F048 -:10019000BF01DC014D9145174111E1F759F4CD0143 -:1001A0000590002049F04D9140154111C9F3FB0124 -:1001B0004111EFCF81E090E001970895FB01DC0150 -:1001C00004C08D910190801921F441505040C8F72E -:1001D000881B990B0895FC018191861721F08823D3 -:1001E000D9F7992708953197CF010895FB01DC01D4 -:1001F0004150504048F001900D920020C9F701C0D5 -:100200001D9241505040E0F70895AEE0B0E0EBE0C1 -:10021000F1E00C94DD280D891E8986E08C831A8319 -:1002200009838FEF9FE79E838D839E01275E3F4F5B -:10023000CE0101966F89788DA9010E944D012F8111 -:100240003885020F131FF80110822E96E4E00C94FB -:10025000F928AEE0B0E0EFE2F1E00C94DD280D8982 -:100260001E898EE08C831A8309838FEF9FE79E831C -:100270008D839E01275E3F4FCE0101966F89788D59 -:10028000A9010E944D012F813885020F131FF8012B -:1002900010822E96E4E00C94F928ABE0B0E0E3E5A0 -:1002A000F1E00C94CF283C012B015A01FC0117828C -:1002B0001682838181FD03C06FEF7FEFC6C19AE094 -:1002C000892E1E010894211C311CF3012381F201A7 -:1002D00023FD859123FF81912F01882309F4B2C169 -:1002E000853239F423FD859123FF81912F018532D9 -:1002F00029F490E0B3010E944003E7CF982FFF2438 -:10030000EE249924FFE1FF15D0F09B3269F09C3276 -:1003100028F4903259F0933291F40EC09D3249F096 -:10032000903369F441E024C052E0F52A84E0F82AD1 -:1003300028C098E0F92A25C0E0E1FE2A22C0F7FC97 -:1003400029C0892F80538A3070F4F6FE05C0989C2E -:10035000902C1124980E15C0E89CE02C1124E80E76 -:10036000F0E2FF2A0EC09E3229F4F6FC6BC140E495 -:10037000F42A07C09C3619F450E8F52A02C09836D2 -:1003800049F4F20123FD959123FF91912F019923C7 -:1003900009F0B8CF892F8554833018F0805283300C -:1003A00038F444E050E0A40EB51E5FE359830FC05B -:1003B000933631F0933779F0933509F056C020C069 -:1003C000F5018081898342E050E0A40EB51E6101F1 -:1003D00001E010E012C0F501C080D180F6FC03C03E -:1003E0006FEF7FEF02C0692D70E042E050E0A40E95 -:1003F000B51EC6010E9435038C015FE7F52214C0CB -:10040000F501C080D180F6FC03C06FEF7FEF02C022 -:10041000692D70E042E050E0A40EB51EC6010E94B6 -:100420002A038C0150E8F52AF3FE07C01AC080E2C7 -:1004300090E0B3010E944003EA948E2D90E00817EB -:100440001907A8F30EC0F601F7FC8591F7FE81911C -:100450006F0190E0B3010E944003E110EA94015063 -:1004600010400115110579F7EAC0943611F099365C -:1004700069F5F7FE08C0F501208131814281538181 -:1004800084E090E00AC0F501808191819C014427BD -:1004900037FD4095542F82E090E0A80EB91E9FE6EC -:1004A000F92257FF09C050954095309521953F4F4F -:1004B0004F4F5F4FE0E8FE2ACA01B901A1012AE0CF -:1004C00030E00E946C03D82ED21840C0953729F432 -:1004D0001F2D1F7E2AE030E01DC01F2D197F9F3683 -:1004E00061F0903720F4983509F0ACC00FC0903718 -:1004F00039F0983709F0A6C004C028E030E00AC0FF -:10050000106114FD146020E130E004C014FD166099 -:1005100020E132E017FF08C0F5016081718182811E -:10052000938144E050E008C0F50180819181BC01D5 -:1005300080E090E042E050E0A40EB51EA1010E94D0 -:100540006C03D82ED2188FE7F82EF122F6FE0BC0DE -:100550005EEFF522D91438F4F4FE07C0F2FC05C0B2 -:100560008FEEF82202C01D2D01C0192DF4FE0DC022 -:10057000FE01ED0DF11D8081803319F499EEF92211 -:1005800008C01F5FF2FE05C003C08F2D867809F0FA -:100590001F5F0F2DF3FC14C0F0FE0FC01E1510F0EE -:1005A0009D2C0BC09D2C9E0C911A1E2D06C080E226 -:1005B00090E0B3010E9440031F5F1E15C0F304C00A -:1005C0001E1510F4E11A01C0EE2404FF0FC080E3F1 -:1005D00090E0B3010E94400302FF1DC001FD03C073 -:1005E00088E790E00EC088E590E00BC0802F867809 -:1005F00091F001FF02C08BE201C080E2F7FC8DE2C6 -:1006000090E0B3010E94400306C080E390E0B30194 -:100610000E9440039A94D914C0F3DA94F101ED0DCD -:10062000F11D808190E0B3010E944003DD20A9F715 -:1006300006C080E290E0B3010E944003EA94EE20FD -:10064000C1F743CEF30166817781CB012B96E2E1BE -:100650000C94EB28FC010590615070400110D8F714 -:10066000809590958E0F9F1F0895FC0161507040FA -:1006700001900110D8F7809590958E0F9F1F0895D7 -:100680000F931F93CF93DF938C01EB018B8181FF3D -:100690001BC082FF0DC02E813F818C819D81281758 -:1006A000390764F4E881F9810193F983E88306C08E -:1006B000E885F985802F0995892B31F48E819F81FA -:1006C00001969F838E8302C00FEF1FEFC801DF9159 -:1006D000CF911F910F910895FA01AA27283051F167 -:1006E000203181F1E8946F936E7F6E5F7F4F8F4F63 -:1006F0009F4FAF4FB1E03ED0B4E03CD0670F781FC2 -:10070000891F9A1FA11D680F791F8A1F911DA11DA6 -:100710006A0F711D811D911DA11D20D009F46894DF -:100720003F912AE0269F11243019305D3193DEF687 -:10073000CF010895462F4770405D4193B3E00FD03D -:10074000C9F7F6CF462F4F70405D4A3318F0495D28 -:1007500031FD4052419302D0A9F7EACFB4E0A6950B -:100760009795879577956795BA95C9F7009761052D -:10077000710508959B01AC010A2E06945795479583 -:1007800037952795BA95C9F7620F731F841F951F78 -:10079000A01D08950F931F938C01FC01838160E0DD -:1007A0000E94132881E090E00E948F27F801838146 -:1007B00061E00E94132881E090E00E948F27F801F9 -:1007C000838160E00E94132861E070E080E090E0A7 -:1007D0000E9436271F910F9108950F931F93CF9377 -:1007E000DF93EC01062F0F701C8107C0602F617032 -:1007F000812F0E94132806951F5F8F818117B0F704 -:10080000CE010E94CA03DF91CF911F910F910895ED -:10081000EF92FF921F937C01162F70E084E0759594 -:1008200067958A95E1F7C7010E94ED031F70C70124 -:10083000612F0E94ED031F91FF90EF9008951F9389 -:10084000CF93DF93EC01162F898160E00E9413287B -:100850008881882321F08A8160E00E941328CE01DC -:10086000612F0E94ED03DF91CF911F9108951F9397 -:10087000CF93DF93EC01162F898161E00E9413284A -:100880008881882321F08A8160E00E941328CE01AC -:10089000612F0E940804DF91CF911F910895EF927C -:1008A000FF920F931F93CF93DF937C01FB01019085 -:1008B0000020E9F731970E2F061BEB0110E008C06E -:1008C000688164311CF0C7010E9437041F5F2196C4 -:1008D0001017B0F3DF91CF911F910F91FF90EF9020 -:1008E00008951F93CF93DF93EC01162F898160E069 -:1008F0000E9413288881882321F08A8160E00E9469 -:100900001328CE01612F0E940804DF91CF911F911F -:100910000895FF920F931F93CF93DF93EC01F62E70 -:10092000042F62E00E94710488E2089F8001112474 -:10093000F00E00E005C0CE0164E10E9471040F5F7B -:100940000F15C8F3DF91CF911F910F91FF9008957C -:10095000CF93DF93EC018B8161E00E94D4278981E2 -:1009600061E00E94D4278881882321F08A8161E098 -:100970000E94D4278C8161E00E94D4278D8161E0A0 -:100980000E94D4278E8161E00E94D4278F8161E08C -:100990000E94D42762E370E080E090E00E94362756 -:1009A000CE0163E00E941F0465E070E080E090E00B -:1009B0000E943627CE0163E00E941F0484E690E087 -:1009C0000E948F27CE0163E00E941F0465E070E063 -:1009D00080E090E00E943627CE0162E00E941F0472 -:1009E000CE0162E00E941F0468856150660F660FA9 -:1009F000660FCE010E941F048CE390E00E948F27B7 -:100A0000CE016CE00E9471048CE390E00E948F277D -:100A1000CE0161E00E94710463E070E080E090E04C -:100A20000E943627CE0166E00E94710461E070E00A -:100A300080E090E00E943627DF91CF91089561E039 -:100A40000E94710461E070E080E090E00E9436272F -:100A50000895FC01408120E030E050E023C0842F65 -:100A60008154863010F447500CC0842F8156863054 -:100A700010F4475206C0403299F0842F80538A30D8 -:100A8000A8F4C90124E0880F991F2A95E1F7242FC3 -:100A9000332727FD30952F703070282B392B5F5F5F -:100AA00031964081442311F05430CCF2C9010895AD -:100AB000FC0120819181822F8154863010F42750CF -:100AC0000AC0822F8156863010F4275204C0822F2C -:100AD00080538A30B0F4892F8154863010F49750B7 -:100AE0000AC0892F8156863010F4975204C0892F8E -:100AF00080538A3030F49F70822F8295807F892BBB -:100B0000089580E00895CF93DF93EA018F3009F4D0 -:100B100040C0803198F48B3009F463C08C3038F4D5 -:100B20008530B9F18A3069F1843009F550C08D30D3 -:100B300009F457C08E3008F05AC01BC08F3209F438 -:100B400046C0803340F4813109F441C08131A8F1BD -:100B50008F3169F455C0833309F443C0843318F4EA -:100B6000813329F44DC08334D1F0863491F080E094 -:100B70004DC0CB010E942905959587959595879540 -:100B800042C0CB010E94580593E0899FC001112407 -:100B90003AC0CB010E94580590E0889734C0CB0141 -:100BA0000E94290524E630E0AC01429FC001439F2A -:100BB000900D529F900D112411C0CB010E94290568 -:100BC00064E670E00E949A28798368831EC0CB0196 -:100BD0000E94580594E6899FC00111246FEF70E0D0 -:100BE000F1CFCB010E945805888319820EC0CB013A -:100BF0000E94580590E0805890409595879503C0D5 -:100C0000CB010E9429059983888381E0DF91CF91F0 -:100C10000895DF92EF92FF920F931F93DF93CF938C -:100C2000CDB7DEB7E0970FB6F894DEBF0FBECDBFED -:100C30008C01D62E7A01DC01ED91FC910190F081BE -:100C4000E02DAE014F5F5F4F0995BC01009759F44D -:100C5000D801ED91FC910484F585E02DC8016DE08B -:100C6000099580E004C08D2DA7010E948305E096C0 -:100C70000FB6F894DEBF0FBECDBFCF91DF911F91AD -:100C80000F91FF90EF90DF900895CF92DF92EF9257 -:100C9000FF920F931F93DF93CF93CDB7DEB7E0970B -:100CA0000FB6F894DEBF0FBECDBFFC017B016A0119 -:100CB000A081B1812D913C9160E0AE014F5F5F4F0B -:100CC000F90109958C01009711F480E009C00397A0 -:100CD0000E945805F7018083B801A6010E94830590 -:100CE000E0960FB6F894DEBF0FBECDBFCF91DF9177 -:100CF0001F910F91FF90EF90DF90CF9008955F923A -:100D00006F927F928F929F92AF92BF92CF92DF921B -:100D1000EF92FF920F931F93DF93CF9300D000D0F9 -:100D200000D0CDB7DEB78C01562EEE24FF243E0155 -:100D30000894611C711C5520A9F4B701660F771F38 -:100D40006E0D7F1D660F771F68597F4FC3010E948C -:100D5000BD00D801ED91FC910284F385E02DC8011E -:100D6000B30109950E9428274B015C01CC24DD24A6 -:100D7000D801ED91FC910680F781E02DC80109951D -:100D8000882389F0D801ED91FC910084F185E02D54 -:100D9000C80109958E3311F4D394EACFBEE2BC1595 -:100DA00038F3C394E5CFDD2069F40E942827681941 -:100DB00079098A099B09695B7B4080409040C0F2B9 -:100DC00080E00CC00894E11CF11CF7E0EF16F10480 -:100DD00009F0B1CFD80113961C9281E026960FB688 -:100DE000F894DEBF0FBECDBFCF91DF911F910F9161 -:100DF000FF90EF90DF90CF90BF90AF909F908F903B -:100E00007F906F905F9008958F929F92AF92BF9264 -:100E1000CF92DF92EF92FF920F931F93CF93DF93C6 -:100E20008C01C62E7A010E9428274B015C01DD242B -:100E3000D801ED91FC910680F781E02DC80109955C -:100E4000CD2DD0E08823A9F0D801ED91FC9100844C -:100E5000F185E02DC8010995CE0DDF1D8883D3945F -:100E6000BFE2DB1669F18E3319F7E6E0ED1500F706 -:100E700027C0CE0DDF1D1882D80112968C918130CB -:100E800051F4C70168E970E00E94C400892B19F48D -:100E9000C0EDD7E002C0C8E5DBE10E942827681951 -:100EA00079098A099B099E0140E050E0261737071F -:100EB0004807590708F0BCCFF80183818F5F83830F -:100EC000F701ED0DF11D1082E70114C0EC0123962E -:100ED000CC2029F0CE010E9458058C1559F4D80178 -:100EE00013961C9222968881803221F4AE014F5FC6 -:100EF0005F4F09C0CE0162EA70E00E94C400009713 -:100F000029F740E050E0CA01DF91CF911F910F9186 -:100F1000FF90EF90DF90CF90BF90AF909F908F9019 -:100F200008956115710591F0DB010D900020E9F73E -:100F30001197A61BB70BE0914F06F0915006028067 -:100F4000F381E02D8FE496E0AD01099508958FE4DB -:100F500096E00E94AB2408958FE496E00E947A24E4 -:100F600020E0892B09F021E0822F0895EF92FF9273 -:100F70000F931F93DF93CF93CDB7DEB728970FB6AC -:100F8000F894DEBF0FBECDBF8C018DB79EB708971A -:100F90000FB6F8949EBF0FBE8DBFEDB7FEB731966A -:100FA0007E010894E11CF11CADB7BEB71296FC920D -:100FB000EE92119786EA90E093838283D80112968D -:100FC0008C9184831582668317820E9429018DB7D4 -:100FD0009EB708960FB6F8949EBF0FBE8DBFD8017E -:100FE000ED91FC910284F385E02DC801B7010995CC -:100FF00028960FB6F894DEBF0FBECDBFCF91DF911C -:101000001F910F91FF90EF900895BF92CF92DF92C2 -:10101000EF92FF920F931F93CF93DF93EC01B62EC5 -:101020006A012223C9F00E9428277B018C01E881F4 -:10103000F9810680F781E02DCE010995882371F4AE -:101040000E9428276E197F09800B910B605D774005 -:1010500080409040B0F4EBCF0E94B607E881F98160 -:101060000280F381E02DCE016B2DA6010995DF9161 -:10107000CF911F910F91FF90EF90DF90CF90BF9095 -:1010800008958B818F5F8B8380E0F1CF772767FD99 -:1010900070958FE496E00E94E424089581309105D4 -:1010A00009F047C06F5F7F4F09F04CC08DED91E0B4 -:1010B000909325028093240281E08093260210926F -:1010C000270210922D0210922E02109231021092DD -:1010D000330282E090E0A0E0B0E08093340290938D -:1010E0003502A0933602B093370210924B0282E58C -:1010F00092E00E94DD0C10926D0288E080936E02F7 -:101100008BE080936F0289E08093700284E080938B -:10111000710285E08093720286E08093730287E01B -:101120008093740282E090E090937602809375023F -:101130000895892B39F46F5F7F4F21F482E592E0A7 -:101140000E94F00C089580E090E06FEF7FEF0E9426 -:101150004E08089581E090E06FEF7FEF0E944E0807 -:1011600008950F931F930DE612E0C8010E941F051A -:10117000C8016CE540E00E948904C80160E071E0AC -:101180000E944F04C8016CE541E00E948904C80137 -:1011900064E071E00E944F041F910F910895DF9267 -:1011A000EF92FF920F931F93CF93DF93D82E84E299 -:1011B00092E06D2D0E94B6074091880250918902FD -:1011C000141615060CF0E7C0CAE8D2E082E592E0FA -:1011D000BE010E94B30D6091AA027091AB02809192 -:1011E000AC029091AD0224E630E040E050E00E9475 -:1011F000AD286336710581059105D9F582E592E048 -:101200000E94510D00D000D000D0EDB7FEB731964E -:10121000ADB7BEB71296DC93CE93119788E091E0FC -:10122000938382838091840290918502A0918602AB -:10123000B09187022AE0B695A795979587952A954C -:10124000D1F7958384830E9405012DB73EB72A5FAD -:101250003F4F0FB6F8943EBF0FBE2DBF8DE692E014 -:1012600068E443E00E9489048DE692E0BE010E949A -:101270004F043DE0D31681F181E3D81609F454C040 -:101280009CE0D91609F087C000D000D000D0EDB79F -:10129000FEB731960AE812E0ADB7BEB712961C93BE -:1012A0000E9311978FE091E0938382838091AE0239 -:1012B0009091AF02958384830E9405012DB73EB7BC -:1012C0002A5F3F4F0FB6F8943EBF0FBE2DBF8DE68D -:1012D00092E060E040E058C000D000D000D0EDB710 -:1012E000FEB731960AE812E0ADB7BEB712961C936E -:1012F0000E93119783E191E0938382838091AE02F4 -:101300009091AF02958384830E9405012DB73EB76B -:101310002A5F3F4F0FB6F8943EBF0FBE2DBF8DE63C -:1013200092E060E141E030C02091AE023091AF0226 -:101330004091B0025091B1022417350764F100D0FA -:1013400000D000D0EDB7FEB731960AE812E0ADB795 -:10135000BEB712961C930E93119787E191E0938389 -:101360008283241B350B358324830E9405012DB70E -:101370003EB72A5F3F4F0FB6F8943EBF0FBE2DBF5A -:101380008DE692E060E043E00E9489048DE692E001 -:10139000B8010E944F0484E292E06D2D4EEA52E0C3 -:1013A0000E940906882309F46FC00E9428277B0148 -:1013B0008C018DB79EB70A970FB6F8949EBF0FBEEB -:1013C0008DBFEDB7FEB731968AE892E0ADB7BEB7F4 -:1013D00012969C938E93119780E291E0938382837F -:1013E0008091B2029091B3029701281B390B35838B -:1013F0002483D68217828091AE029091AF029187AA -:1014000080870E9405019C01909389028093880245 -:10141000442737FD4095542F809184029091850296 -:10142000A0918602B0918702820F931FA41FB51F5F -:101430008093840290938502A0938602B0938702E2 -:101440008091AA029091AB02A091AC02B091AD0242 -:101450000196A11DB11D8093AA029093AB02A093A7 -:10146000AC02B093AD02E092B202F092B3020093EC -:10147000B4021093B5028DB79EB70A960FB6F894D2 -:101480009EBF0FBE8DBF04C01092890210928802C9 -:10149000DF91CF911F910F91FF90EF90DF90089512 -:1014A0000F931F93DF93CF93CDB7DEB764970FB63B -:1014B000F894DEBF0FBECDBF88E292E061E04AE063 -:1014C0000E94DC13882309F4A1C08091330282308A -:1014D00029F0833049F0813051F403C02AE231E031 -:1014E00008C02EE231E005C022E331E002C027E36C -:1014F00031E000D000D000D0EDB7FEB731968E01BC -:101500000F5F1F4FADB7BEB712961C930E93119786 -:101510008BE391E093838283358324830E940501CA -:101520008DB79EB706960FB6F8949EBF0FBE8DBFBF -:101530008DE692E060E040E00E9489048DE692E052 -:10154000B8010E944F0484E392E068E272E041E057 -:101550000E94EA1C8823A1F484E392E068E272E02E -:1015600040E00E94EA1C882359F48DE692E060E096 -:1015700041E00E9489048DE692E067E471E050C08A -:101580006091380270E080E090E0969587957795BD -:10159000679520913D0230913E0240913F0250916B -:1015A00040020E94672800D000D000D0EDB7FEB7FF -:1015B00031968E010F5F1F4FADB7BEB712961C93C9 -:1015C0000E9311972FE431E0338322833AE096950E -:1015D0008795779567953A95D1F7758364830E94CF -:1015E00005018DB79EB706960FB6F8949EBF0FBE45 -:1015F0008DBF8DE692E060E041E00E9489048DE6B7 -:1016000092E0B8010E944F0481E00DC08DE692E0A7 -:1016100060E041E00E9489048DE692E06DE571E0B2 -:101620000E944F0480E064960FB6F894DEBF0FBEB0 -:10163000CDBFCF91DF911F910F910895CF92DF928F -:10164000EF92FF920F931F93DF93CF93CDB7DEB747 -:10165000A8970FB6F894DEBF0FBECDBF7E010894E9 -:10166000E11CF11C5EE6C52E51E0D52E0E94500A09 -:10167000882339F468EE73E080E090E00E9436271A -:10168000F5CF86EB92E06AE00E94771101E010E06E -:1016900000D000D000D0EDB7FEB73196ADB7BEB7E1 -:1016A0001296FC92EE921197D382C2821583048324 -:1016B0000E9405018DB79EB706960FB6F8949EBF9F -:1016C0000FBE8DBF86EB92E0B7010E94290F8823E1 -:1016D00099F00F5F1F4F9FEF0F3F1907C9F68DE677 -:1016E00092E060E042E00E9489048DE692E06AE7C1 -:1016F00071E00E944F04BACF8DE692E060E042E0D4 -:101700000E9489048DE692E0B7010E944F04109276 -:101710008402109285021092860210928702CE01F6 -:101720000E9666EB72E0A70123E10E9452108889B1 -:10173000998990935502809354028A899B89AC8938 -:10174000BD898093560290935702A0935802B0939C -:1017500059028E899F89A88DB98D80935A029093E2 -:101760005B02A0935C02B0935D02AEE5B2E0FE01C5 -:101770007A968DE001900D928150E1F78FA198A5A6 -:1017800090936C0280936B02CE010E960E94F00C37 -:1017900082E592E00E94320D882361F48DE692E0AA -:1017A00060E042E00E9489048DE692E065E871E025 -:1017B0000E944F04A8960FB6F894DEBF0FBECDBFAF -:1017C000CF91DF911F910F91FF90EF90DF90CF901D -:1017D0000895CF93DF93809177028823A1F487E760 -:1017E00092E00E94A826892B71F00E94282760931E -:1017F0007F0270938002809381029093820287E738 -:1018000092E00E94B226809183028F5F80938302D0 -:101810008150843059F085301CF4882329F00BC0A6 -:10182000843131F0803439F481E303C085E001C0B4 -:101830008FE00E94CF088CE00E94CF088DE00E94CC -:10184000CF08809127028530A8F182E592E00E94BE -:101850003F0D8DE692E00E941F058DE692E060E963 -:1018600071E00E944F048AE060E00E941328C0E00B -:10187000D0E008C0CA30D10521F48DE692E00E9484 -:101880001F05219684E292E060E00E947F06882393 -:1018900089F38AE061E00E9413280E941E0B68EE23 -:1018A00073E080E090E00E9436270E94B108109219 -:1018B00083022AC00E9428279B01AC0180917F02ED -:1018C00090918002A0918102B0918202281B390B75 -:1018D0004A0B5B0B20937F0230938002409381027E -:1018E00050938202283E83E0380780E0480780E07A -:1018F000580750F468EE73E080E090E0621B730BD1 -:10190000840B950B0E943627DF91CF9108958FE4C9 -:1019100096E040E056E960E070E00E94F3238DE637 -:1019200092E00E94A8048DE692E00E941F058DE6D9 -:1019300092E060EA71E00E944F048AE061E00E9458 -:10194000D4270E941E0B8DE692E060E043E00E94E7 -:1019500089048DE692E06DEA71E00E944F0484E212 -:1019600092E060E00E947F068823C9F384E292E05F -:1019700061E340EB52E020E00E9405088DE692E032 -:1019800060E043E00E9489048DE692E06EEB71E036 -:101990000E944F0468EE73E080E090E00E943627DA -:1019A0000E94B1080E9428276093B2027093B3028C -:1019B0008093B4029093B5020895FC0113821282C1 -:1019C00088EE93E0A0E0B0E084839583A683B7839C -:1019D0008FEE91E091838083128E118E148608958C -:1019E000FC018FEE91E0918380830895DF93CF9384 -:1019F0000F92CDB7DEB7FC016983A081B181129649 -:101A00002D913C911397BE016F5F7F4F41E050E0F5 -:101A1000F90109950F90CF91DF910895DC01599656 -:101A2000ED91FC915A97309719F420E030E018C0FE -:101A3000238934894589568982859385A485B5850E -:101A4000281B390B4A0B5B0B2030B0E83B07B0E09A -:101A50004B07B0E05B0720F02FEF3FE740E050E09E -:101A6000C9010895DC015996ED91FC915A97309780 -:101A700011F480E008958581811181E00895CF936C -:101A8000DF93EC01898D9A8D009741F00E9400163A -:101A9000898D9A8D0E9410261A8E198EDF91CF9112 -:101AA0000895FC01818D928D009711F00E94B6156A -:101AB0000895DF93CF930F92CDB7DEB7FC01818DF0 -:101AC000928D009749F0BE016F5F7F4F41E050E07B -:101AD0000E94D716019719F02FEF3FEF03C08981BD -:101AE000282F30E0C9010F90CF91DF910895EF9238 -:101AF000FF920F931F93DF93CF930F92CDB7DEB773 -:101B00007C01DC0159968D919C915A97009719F4AC -:101B100000E010E01FC0BE016F5F7F4F41E050E06A -:101B20000E94D716019719F00FEF1FEF13C089819C -:101B3000082F10E0D7015996ED91FC915A974285F4 -:101B40005385648575854150504060407040CF0199 -:101B50000E94F014C8010F90CF91DF911F910F9157 -:101B6000FF90EF900895CF93DF93EC01E98DFA8D0C -:101B7000309761F013821282CF010E941C199C01E0 -:101B8000E98DFA8D82819381892B31F081E090E09B -:101B90009B838A8320E030E0C901DF91CF910895D3 -:101BA000EF92FF920F931F93CF93DF93EC01F62EEA -:101BB000E72E8A011B821A8288EE93E0A0E0B0E053 -:101BC0008C839D83AE83BF838FEE91E0998388835E -:101BD0008DE190E00E9489259A8F898F009791F07E -:101BE000DC018F2D9E2D9C01F9018DE101900D925C -:101BF0008150E1F7CE010C96B8014CE050E00E9414 -:101C0000F600188EDF91CF911F910F91FF90EF900A -:101C100008950F931F93CF93DF938C01FB01C08135 -:101C2000D181FC01EC0FFD1F80818F3209F42196D8 -:101C300098012C0F3D1FA0E0B0E00BC0FA01EA0FA5 -:101C4000FB1F8083119621962F5F3F4FAC30B1056B -:101C500031F0F90180818F3211F0882379F7A40FD8 -:101C6000B51F1C92F801EC0FFD1F80818F3209F423 -:101C70002196FB01D183C083C00FD11F88818111C0 -:101C800081E0DF91CF911F910F9108951092BB02D7 -:101C90001092BC021092BF021092C10282E090E04A -:101CA000A0E0B0E08093C2029093C302A093C4026C -:101CB000B093C5021092D9021092E3021092E20290 -:101CC0008FEF91E09093E1028093E0021092E502A1 -:101CD0000895EF92FF921F93DF93CF93CDB7DEB7B6 -:101CE0006D970FB6F894DEBF0FBECDBF9C01AB0160 -:101CF0001C821B828FEF91E09A8389831E827E0172 -:101D00000894E11CF11CC701B90121E00E94491BA4 -:101D1000182F882319F0C7010E940016812F6D9695 -:101D20000FB6F894DEBF0FBECDBFCF91DF911F91EC -:101D3000FF90EF9008952F923F924F925F926F9293 -:101D40007F928F929F92BF92CF92DF92EF92FF92FB -:101D50000F931F93DF93CF93CDB7DEB7C954D04015 -:101D60000FB6F894DEBF0FBECDBF1C017B012A0168 -:101D700039011B8A1A8A8FEF91E0998B888B1D8A13 -:101D800018AA1FA69EA78DA71AAA1A8219828B01CC -:101D900020E1C22ED12CCC0EDD1E93E0892E912C99 -:101DA0008C0E9D1E03C0C80186016C01C101BE01DD -:101DB0006F5F7F4FA4010E94090EB82E40E0882378 -:101DC00009F441E0C801B4019301F20109958823A7 -:101DD00039F40E151F0519F1C8010E9400161FC025 -:101DE000BB20A9F0C601B801A40121E00E94491B53 -:101DF000B82E0E151F0519F0C8010E940016BB2051 -:101E000071F00E151F0579F6CE018D96CDCF0E150A -:101E10001F0519F0C8010E94001681E001C080E092 -:101E2000C75BDF4F0FB6F894DEBF0FBECDBFCF91BB -:101E3000DF911F910F91FF90EF90DF90CF90BF90B7 -:101E40009F908F907F906F905F904F903F902F90DA -:101E500008959B01BC01665D7F4FC90149E65EE0C4 -:101E600020E030E00E949B0E08952F923F924F9207 -:101E70005F926F927F928F929F92AF92BF92CF921A -:101E8000DF92EF92FF920F931F93DF93CF93CDB723 -:101E9000DEB7C754D0400FB6F894DEBF0FBECDBF3B -:101EA000582E492EFB013A01190184A595A5998B5D -:101EB000888B2FEF31E03F872E8786A58A8B87A5F9 -:101EC0008B8B80A991A9A2A9B3A98C8B9D8BAE8B7A -:101ED000BF8B84A995A9A6A9B7A9888F998FAA8F26 -:101EE000BB8F80AD91ADA2ADB3AD8C8F9D8FAE8F0A -:101EF000BF8F84AD88A3FD9681919191A191B191FD -:101F000089A39AA3ABA3BCA381919191A191B19113 -:101F10008DA39EA3AFA3B8A7808191819AA789A71B -:101F20001EA61DA63CA72BA718AA7A018E01025F48 -:101F30001F4F3BE2A32EB12CAC0EBD1E4E010894E8 -:101F4000811C911C35C0D7018C918F3221F40894EB -:101F5000E11CF11C2DC0422F4E194D3008F04CE011 -:101F6000C42EDD24C401B701A6010E94F600F401CD -:101F7000EC0DFD1D1082C5010E940016C501B801BF -:101F8000A40121E00E94491B882351F4E52DF42D82 -:101F9000138212828FEF91E091838083158266C055 -:101FA000EC0CFD1CC8010E940016C50158018C01F3 -:101FB000C7016FE270E00E94EB009C01009719F6E8 -:101FC000E618F708F101F182E082E52DF42DD80141 -:101FD00012968D919C911397938382838FEF91E05A -:101FE0009183808314968C911497848315968C9199 -:101FF0001597858316962D913D914D915C9119977A -:1020000026833783408751871A962D913D914D91B4 -:102010005C911D9722873387448755871E962D91A3 -:102020003D914D915C91519726873787408B518B1D -:1020300052968C915297828B53962D913D914D9152 -:102040005C915697238B348B458B568B57962D91ED -:102050003D914D915C915A97278B308F418F528FD4 -:102060005B968D919C915C97948F838F852D942D99 -:10207000C95BDF4F0FB6F894DEBF0FBECDBFCF9167 -:10208000DF911F910F91FF90EF90DF90CF90BF9065 -:10209000AF909F908F907F906F905F904F903F9008 -:1020A0002F9008959F92AF92BF92CF92DF92EF92BE -:1020B000FF920F931F93DF93CF93CDB7DEB7C65731 -:1020C000D0400FB6F894DEBF0FBECDBFC82E992EFC -:1020D0008A01D22E43E0A42EB12CAC0EBD1EC50148 -:1020E000A8019E012F5F3F4F0E94350FE980FA80C3 -:1020F000E00EF11EF70180814FEF51E02885882323 -:1021000009F03FC08D819E819BA38AA359A348A358 -:102110008F818CA32DA389859A85AB85BC858EA3E1 -:102120009FA3A8A7B9A78D859E85AF85B8898AA7E3 -:102130009BA7ACA7BDA789899A89AB89BC898EA7C3 -:102140009FA7A8ABB9AB8D898AAB8E899F89A88DD3 -:10215000B98D8BAB9CABADABBEAB8A8D9B8DAC8D83 -:10216000BD8D8FAB98AFA9AFBAAF8E8D9F8D9CAF51 -:102170008BAF8C2D992DBE01605E7F4F4FEC51E0EF -:102180009FC0FE01FF96118210825EAF4DAFFE012F -:10219000EE5BFF4F10822223A9F02250CE01CD9694 -:1021A000223048F460EE72E0A7012D2D0E94491BF9 -:1021B000882381F407C0B501A7012D2D0E94491B7A -:1021C000882329F48C2D992D0E94DD0C7BC0C5013C -:1021D0000E940016F6E0DF2259F0FE01E05BFF4F9F -:1021E0004081518162817381CE01CD960E94F014AD -:1021F0009E01265A3F4FFE01FF9680819181F90191 -:10220000938382838FEF91E091838083FE01EF5B64 -:10221000FF4F8081F9018483FE01EE5BFF4F8081D7 -:10222000F9018583FE01ED5BFF4F80819181A281E1 -:10223000B381F90186839783A087B187FE01E95BAB -:10224000FF4F80819181A281B381F90182879387B9 -:10225000A487B587FE01E55BFF4F80819181A28154 -:10226000B381F90186879787A08BB18BFE01E15B73 -:10227000FF4F8081F901828BFE01E05BFF4F80817F -:102280009181A281B381F901838B948BA58BB68B4D -:10229000FE01EC5AFF4F80819181A281B381F90147 -:1022A000878B908FA18FB28FFE01E85AFF4F8081FC -:1022B0009181F901948F838F8C2D992DB901A701FC -:1022C0000E94D00D8C2D992DCA58DF4F0FB6F8946F -:1022D000DEBF0FBECDBFCF91DF911F910F91FF9059 -:1022E000EF90DF90CF90BF90AF909F9008950F93A5 -:1022F0001F93CF93DF93EC01462F61E00E94DC1324 -:102300008823D1F08E01045F1F4FC801BE0141E058 -:102310000E94EA1C882339F4C801BE0140E00E94F3 -:10232000EA1C882349F0CE018A96B8010E9436182B -:10233000882319F081E001C080E0DF91CF911F91E7 -:102340000F910895FC01673020F086E1858380E0DD -:102350000895262F30E060FD02C0663019F48DB577 -:102360008E7F02C08DB581608DBD8CB58C7F8CBD9C -:102370004CB522FD02C090E001C092E03695279551 -:10238000822F8170842B892B8CBD81E00895FF9270 -:102390000F931F93CF93DF938B010E942827EB01AC -:1023A000FF24FA94FEBC0DB407FEFDCF8EB58F3F1F -:1023B00011F481E008C00E9428276C1B7D0B601778 -:1023C000710780F380E0DF91CF911F910F91FF9013 -:1023D0000895FC01848160E00E9413280895FC01A7 -:1023E000848161E00E9413280895DC016EBDFA012A -:1023F00020E030E00DB407FEFDCF80818EBD0DB42E -:1024000007FEFDCF81818EBD2E5F3F4F329682E069 -:102410002030380779F70DB407FEFDCF8FEF8EBD62 -:102420000DB407FEFDCF8FEF8EBD0DB407FEFDCFBF -:102430008FEF8EBD0DB407FEFDCF8EB51A968C932F -:102440001A978F71853011F481E0089581E1159616 -:102450008C931597CD010E94EF1180E00895FF92B3 -:102460000F931F93CF93DF93EC010E9428278B01DA -:10247000FF24FA9409C00E942827601B710B6D523B -:10248000714010F08FE00DC0FEBC0DB407FEFDCF13 -:102490008EB58A878F3F79F38E3F11F481E006C0B5 -:1024A0008DE08D83CE010E94EF1180E0DF91CF910E -:1024B0001F910F91FF900895CF93DF93EC018E81D0 -:1024C0008823D1F08FEF8EBD2F8138854FEF04C068 -:1024D0000DB407FEFDCF4EBD2F5F3F4FC9010197E1 -:1024E00081509240A8F338872F830DB407FEFDCFAB -:1024F000CE010E94EF111E82DF91CF910895DF92ED -:10250000EF92FF920F931F93CF93DF93EC01D62EA0 -:1025100079018A010E945C12CE010E94E911CE016C -:102520006CE271E00E94C7118D2D80648EBD0DB4E8 -:1025300007FEFDCF28E130E0D801C701022E04C01C -:10254000B695A795979587950A94D2F78EBD0DB449 -:1025500007FEFDCF285030408FEF283F380761F746 -:10256000DD2011F485E906C088E0D81611F487E86B -:1025700001C08FEF8EBD0DB407FEFDCF90E02FEFB1 -:102580002EBD0DB407FEFDCF8EB587FF02C0915062 -:10259000B9F78A87DF91CF911F910F91FF90EF904C -:1025A000DF900895CF92DF92EF92FF920F931F93E7 -:1025B000CF93DF93EC017A018B016901411551053D -:1025C0006105710511F482E137C08B85833039F0E4 -:1025D00029E0EE0CFF1C001F111F2A95D1F7CE0138 -:1025E00068E1A80197010E947F12882311F084E01E -:1025F00023C0CE016EEFA6010E94F5118823E9F0F9 -:10260000CE0168E572E00E94C711882311F485E1CC -:1026100013C0CE016DE020E030E040E050E00E94C9 -:102620007F12882341F48FEF8EBD0DB407FEFDCFDE -:102630008EB5882379F084E18D83CE010E94EF115D -:1026400080E0DF91CF911F910F91FF90EF90DF908D -:10265000CF900895CE010E94EF1181E0F2CF8F92CA -:102660009F92AF92BF92CF92DF92EF92FF920F9321 -:102670001F93CF93DF93EC015A016B0149010115C0 -:10268000110509F47BC0C801820F931F815092404D -:1026900008F06FC08E81882371F088819981AA81AA -:1026A000BB81481759076A077B0729F48F819885F2 -:1026B0008816990618F5A882B982CA82DB828B85B2 -:1026C000833039F069E0AA0CBB1CCC1CDD1C6A9578 -:1026D000D1F7CE0161E1A60195010E947F12882306 -:1026E00019F083E08D8345C0CE010E942F1288230C -:1026F00009F43FC018861F8281E08E838FEF8EBD64 -:102700008F8198852FEF05C00DB407FEFDCF2EBD3C -:10271000019688159905C0F398878F83D801119782 -:1027200020E030E09FEF0BC00DB407FEFDCF8EB56B -:10273000F701E20FF31F80839EBD2F5F3F4F2A17E3 -:102740003B0790F30DB407FEFDCF8EB5AE0DBF1D58 -:102750008C932F813885200F311F38872F838985EF -:10276000882319F02050324048F0CE010E945C12BC -:1027700005C0CE010E94EF1180E001C081E0DF9131 -:10278000CF911F910F91FF90EF90DF90CF90BF906E -:10279000AF909F908F900895EF92FF920F931F93A9 -:1027A000790120E030E000E012E00E942F131F9139 -:1027B0000F91FF90EF900895BF92CF92DF92EF922A -:1027C000FF920F931F93CF93DF93EC01B62E1B86DE -:1027D00019861E821D824C830E9428276B018C81E2 -:1027E00061E00E94D427CE010E94EF118CE060E0EE -:1027F0000E94D4278BE061E00E94D4278DE061E045 -:102800000E94D4278AE061E00E94D4278AE061E038 -:102810000E94132883E58CBD8DB58E7F8DBD80E031 -:102820009FEF9EBD0DB407FEFDCF8F5F8A30C9F7C5 -:10283000CE010E94E91109C00E9428276C197D0968 -:10284000615D774010F081E05EC0CE0160E020E085 -:1028500030E040E050E00E947F12182F8A878130DC -:1028600059F7CE0168E02AEA31E040E050E00E94EA -:102870007F1282FF02C01B8711C080E02FEF2EBDA8 -:102880000DB407FEFDCF9EB58F5F8430C1F79A87E8 -:102890009A3A11F082E037C082E08B878B858230D4 -:1028A00021F0EE24FF2487010FC0E12CF12C012D33 -:1028B000F0E41F2F09C00E9428276C197D09615D73 -:1028C000774010F088E01FC0CE0167E320E030E0E1 -:1028D00040E050E00E947F12CE0169E2A80197011A -:1028E0000E947F128A87882331F78B85823031F5E9 -:1028F000CE016AE320E030E040E050E00E947F1229 -:10290000882339F086E08D83CE010E94EF1180E0AC -:102910001CC08FEF8EBD0DB407FEFDCF8EB5807C41 -:10292000803C11F483E08B8780E09FEF9EBD0DB467 -:1029300007FEFDCF2EB58F5F8330C1F7CE010E9419 -:10294000EF11CE016B2D0E94A211DF91CF911F914B -:102950000F91FF90EF90DF90CF90BF900895CF93AD -:10296000DF93EC01DB0180E090E020E2FD01E80F65 -:10297000F91F208301968B309105C1F757E040E0A5 -:1029800021C02E3219F082EB90E007C05A3019F1C5 -:102990005AE048E017C03217F1F0FC01019634917B -:1029A0003323C9F75417B8F02132A8F02F3798F421 -:1029B000822F81568A3108F42052FD01E40FF11D67 -:1029C00020834F5F29912223E1F690E08C918032A1 -:1029D00019F091E001C090E0892FDF91CF91089527 -:1029E0006F927F928F929F92AF92BF92CF92DF921F -:1029F000EF92FF920F931F93CF93DF93EC017A0135 -:102A00008B012D81222309F480C08B899C89AD899B -:102A1000BE8984179507A607B70708F476C085C056 -:102A2000E114F1040105110549F41E821F82188684 -:102A300019861A861B861C861D8665C02A853B85DD -:102A40004C855D85EB8DFC8D858590E00996215048 -:102A500030404040504039014A01082E04C096944D -:102A60008794779467940A94D2F72F5F3F4F4F4F24 -:102A70005F4F0894E108F108010911095701680145 -:102A800004C0D694C794B794A7948A95D2F70894B3 -:102A9000E11CF11C011D111DA614B704C804D904C2 -:102AA00028F0211531054105510549F48F89988D8C -:102AB000A98DBA8D8E839F83A887B98716C0A61863 -:102AC000B708C808D90811C04E815F81688579852B -:102AD0008B8D9C8D94010E94CB1E0894A108B10897 -:102AE000C108D108882331F410C086E0882E912CCB -:102AF0008C0E9D1EA114B104C104D10429F7EA86ED -:102B0000FB860C871D8781E001C080E0DF91CF91BB -:102B10001F910F91FF90EF90DF90CF90BF90AF90FB -:102B20009F908F907F906F900895223009F078CF1A -:102B3000E6CFCF93DF93EC01462F6E857F858889A2 -:102B400099890E94AF1C882319F420E030E00AC064 -:102B50008A89282F30E095E0220F331F9A95E1F7FC -:102B60002F5F3C4FC901DF91CF9108950F931F93C1 -:102B7000CF93DF938C01FC0185818823D9F1848177 -:102B800087FF35C0C80161E00E949915EC010097EC -:102B900089F1F8018581823040F483899489A5897F -:102BA000B6898C8F9D8FAE8FBF8FF8018789908DEE -:102BB0009B8F8A8F8789908DA18DB28DCD01AA2799 -:102BC000BB279D8B8C8BE091FF02F0910003309727 -:102BD00051F0BE016A5E7F4FCE0148960995888DFF -:102BE000998D9B8B8A8BF80184818F7784830E94D7 -:102BF000501C01C080E0DF91CF911F910F9108958B -:102C0000CF93DF93EC010E94B615882311F01D824B -:102C100081E0DF91CF9108956F927F928F929F9282 -:102C2000AF92BF92CF92DF92EF92FF920F931F93DA -:102C3000DF93CF9300D000D0CDB7DEB77C015A012F -:102C40006B01DC0115968C911597813009F08FC0CE -:102C500014968C9181FF8BC09EC00097A105B10591 -:102C600011F481E085C0F7016284738484849584C3 -:102C7000C701B601A5010E94F014882309F477C0AA -:102C8000D7015B968D919C915C97A114B104C1040E -:102C9000D10489F457964D915D916D917C915A972D -:102CA0000E943E1F882309F462C0F701178A108E24 -:102CB000118E128E3DC0D70116964D915D916D918A -:102CC0007C9119979E012F5F3F4F0E94CB1E882356 -:102CD00009F44DC0D7015B96ED91FC915C97498159 -:102CE0005A816B817C818789803129F088EF9FEF41 -:102CF000AFEFBFE004C088EF9FEFA0E0B0E048175F -:102D000059076A077B07A0F4CF010E943E1F882362 -:102D100071F1F7014681578160857185838D948DAE -:102D20000FEF1FEF2FEF3FE00E942F1E8823F9F0D7 -:102D3000D7015396AD92BD92CD92DC9256971496E0 -:102D40008C911497806814968C93C7010E94B615D5 -:102D5000882369F0B601A5016A147B048C049D04E4 -:102D600010F4B401A301C7010E94F01401C080E077 -:102D70000F900F900F900F90CF91DF911F910F91B7 -:102D8000FF90EF90DF90CF90BF90AF909F908F908B -:102D90007F906F900895F70183899489A589B689FA -:102DA00084179507A607B70708F057CFE0CF2F92F3 -:102DB0003F924F925F926F927F928F929F92AF92CB -:102DC000BF92CF92DF92EF92FF920F931F93CF9318 -:102DD000DF93EC012A018D81882309F4C6C08C8120 -:102DE00080FFC3C0D8C025014E185F084B0176E0B4 -:102DF000272E312C2C0E3D1E3201B1C02A853B8579 -:102E00004C855D856FEFA62E61E0B62EA222B3221F -:102E10008D8179018A0199E016950795F794E794D9 -:102E20009A95D1F7EB8DFC8D823049F4428D538D0C -:102E3000648D758D4E0D5F1D601F711F3FC0D48066 -:102E4000DA94DE20A114B104D9F4DD20C9F42115EF -:102E500031054105510549F48F89988DA98DBA8DA9 -:102E60008E839F83A887B9870BC04E815F81688559 -:102E70007985CF0191010E94CB1E882309F475C08A -:102E8000EB8DFC8D4E815F81688579854250504085 -:102E900060407040058404C0440F551F661F771FB3 -:102EA0000A94D2F786859785A089B189480F591F62 -:102EB0006A1F7B1F4D0D511D611D711D80E092E049 -:102EC0008A199B0963018615970508F46C018C81AA -:102ED00086FD06C080E0C81682E0D80609F073C0FF -:102EE0008091D1019091D201A091D301B091D401F0 -:102EF000481759076A077B0709F465C080910105E7 -:102F0000909102059501860174010E942F13882378 -:102F100061F18C0C9D1C12C095012F5F3C4FA901E3 -:102F20004C0D5D1DD401F90102C081918D93E41710 -:102F3000F507D9F7E21BF30B8E0E9F1E960140E0BA -:102F400050E08A859B85AC85BD85820F931FA41FA9 -:102F5000B51F8A879B87AC87BD876C187D08611475 -:102F6000710409F04BCFA20102C04FEF5FEFCA011D -:102F7000DF91CF911F910F91FF90EF90DF90CF9055 -:102F8000BF90AF909F908F907F906F905F904F9089 -:102F90003F902F900895AB88BC88CD88DE88EA8466 -:102FA000FB840C851D859A0140E050E0D601C501E7 -:102FB0008E199F09A00BB10B82179307A407B507C1 -:102FC00008F411CF13CFCB01BA0140E00E94AF1C2F -:102FD000882309F0A1CFC9CFCF92DF92EF92FF9261 -:102FE0000F931F93DF93CF930F92CDB7DEB76C0192 -:102FF000FC018581823070F0E284F38404851585BC -:10300000C601BE016F5F7F4F41E050E00E94D716BE -:10301000019769F020E030E0C9010F90CF91DF9176 -:103020001F910F91FF90EF90DF90CF900895F601E0 -:1030300082859385A485B5854F96A11DB11D828794 -:103040009387A487B587F5E016950795F794E794DD -:10305000FA95D1F78E2D8F70282F30E0E5E0220F02 -:10306000331FEA95E1F72F5F3C4FD6CF0F931F93A5 -:10307000CF93DF93EC018B018D81882309F041C050 -:10308000FB0187898031B1F482E08D831F8A188E1D -:10309000198E1A8E808D918DA0E0B0E045E0880FEA -:1030A000991FAA1FBB1F4A95D1F78B8B9C8BAD8BA9 -:1030B000BE8B15C0803229F583E08D83FB01428DE4 -:1030C000538D648D758D4F8B588F698F7A8F9E01CC -:1030D0002D5E3F4FC8010E94971F882391F01C8FDF -:1030E0000B8F81E08C831E821F82188619861A86B8 -:1030F0001B861C861D861E861F86188A198A1A8AB8 -:1031000001C080E0DF91CF911F910F9108951F932F -:10311000CF93DF93EC01142FE62FF0E075E0EE0F74 -:10312000FF1F7A95E1F7EF5FFC4F8385817121F0F6 -:10313000842F827409F054C06A8B8091D1019091E0 -:10314000D201A091D301B091D4018E879F87A88B23 -:10315000B98B84899589A0E0B0E0BC01552744274C -:10316000828D938DA0E0B0E0482B592B6A2B7B2BEE -:103170004F8B588F698F7A8F838590E0887190701C -:10318000009751F4848D958DA68DB78D8B8B9C8B7C -:10319000AD8BBE8B81E00CC0409711F59E012D5E7A -:1031A0003F4F8B8D9C8D0E94971F8823C9F084E030 -:1031B0008D83812F8F708C831E821F8218861986C3 -:1031C0001A861B861C861D8616FD02C081E009C07A -:1031D000CE0140E050E060E070E00E940C1601C0BB -:1031E00080E0DF91CF911F910895CF93DF93EC01A1 -:1031F0009C012A5F3F4F8B8D9C8D41E050E060E049 -:1032000070E00E9406208823A1F08F89988DA98DF7 -:10321000BA8D0097A105B10559F48E819F81A885CB -:10322000B9858F8B988FA98FBA8F8C8180688C839A -:1032300081E0DF91CF9108952F923F924F925F925C -:103240007F928F929F92AF92BF92CF92DF92EF9236 -:10325000FF920F931F93DF93CF9300D000D000D045 -:10326000CDB7DEB76C01162F072F5E834D83DC01CF -:1032700015968C911597813009F070C114968C9138 -:1032800081FF6CC18EC1F6014389548965897689B5 -:1032900082859385A485B58584179507A607B7070A -:1032A00031F0C6010E94F014882309F457C1812F20 -:1032B000902F9C0129012D803E8017C1D6015B967D -:1032C000ED91FC915C97DA01C90119E0B695A795DB -:1032D000979587951A95D1F774807A9478227FEF25 -:1032E000872E71E0972E82229322772009F04EC01C -:1032F0008114910409F04AC0D60116964D915D9152 -:103300006D917C911997411551056105710581F405 -:1033100057968D919D910D90BC91A02D0097A10580 -:10332000B10549F1F60186839783A087B1872EC046 -:10333000CF019E012F5F3F4F0E94CB1E882309F4CF -:1033400014C129813A814B815C81D6015B96ED9154 -:10335000FC915C978789803129F088EF9FEFAFEF70 -:10336000BFE004C088EF9FEFA0E0B0E02817390766 -:103370004A075B0730F0C6010E94F518882331F434 -:10338000EDC0F601268337834087518780E092E0C5 -:103390008819990951018215930508F45C01D60139 -:1033A0005B96ED91FC915C971696ED90FD900D91DA -:1033B0001C9119978EEF9FEFAFEFBFEFE80EF91E4C -:1033C0000A1F1B1F058404C0EE0CFF1C001F111FE9 -:1033D0000A94D2F786859785A089B189E80EF91EEF -:1033E0000A1F1B1FE70CF11C011D111D90E0A916FF -:1033F00092E0B90651F58091D1019091D201A0914E -:10340000D301B091D4018E159F05A007B10761F4D7 -:103410008FEF9FEFAFEFBFEF8093D1019093D20179 -:10342000A093D301B093D40180910105909102053E -:10343000B801A70192010E94D212882309F48EC01C -:10344000A0E0B2E04A0E5B1E3EC08114910409F573 -:10345000F601228533854485558583899489A5891C -:10346000B689281739074A075B0798F00E94501C55 -:10347000882309F473C0E092D101F092D201009345 -:10348000D3011093D40180910305816080930305DB -:1034900008C0C801B70141E00E94AF1C882309F4AD -:1034A0005DC094012F5F3C4FA9014A0D5B1DD20105 -:1034B000F90102C08D918193E417F507D9F7E21B5A -:1034C000F30B4E0E5F1E2A183B08950140E050E0BA -:1034D000F60182859385A485B585820F931FA41F6D -:1034E000B51F82879387A487B587D6011A962D9139 -:1034F0003D914D915C911D972114310409F0DECE70 -:1035000053968D919D910D90BC91A02D821793079C -:10351000A407B50748F4F601238B348B458B568BF3 -:1035200084818068848311C08091FF0290910003A0 -:10353000892B59F08D819E81892B39F0D601149603 -:103540008C911497806814968C93F601848183FF84 -:103550000EC0C6010E94B615882349F481E090E0B0 -:10356000D60113969C938E9312971E821D828D8195 -:103570009E8126960FB6F894DEBF0FBECDBFCF91C9 -:10358000DF911F910F91FF90EF90DF90CF90BF9050 -:10359000AF909F908F907F905F904F903F902F9033 -:1035A000089582FD70CE83CEDF93CF930F92CDB777 -:1035B000DEB76983BE016F5F7F4F41E050E00E943C -:1035C0001C190F90CF91DF910895DF92EF92FF9237 -:1035D0000F931F93CF93DF93EC010E94F51888237C -:1035E00009F44EC0EB8DFC8DEE80FF8008851985B7 -:1035F0008EEF9FEFAFEFBFEFE80EF91E0A1F1B1F04 -:10360000058404C0EE0CFF1C001F111F0A94D2F7A2 -:1036100086859785A089B189E80EF91E0A1F1B1FB0 -:10362000D4800894E108F108010911090BC0C80110 -:10363000B7016D0D711D811D911D0E948B1C88238A -:10364000F9F0DA94DD2099F7EB8DFC8D20E032E083 -:1036500040E050E0058404C0220F331F441F551F73 -:103660000A94D2F78B899C89AD89BE89820F931FFA -:10367000A41FB51F8B8B9C8BAD8BBE8B81E001C0D3 -:1036800080E0DF91CF911F910F91FF90EF90DF903D -:1036900008956F927F928F929F92AF92BF92CF9236 -:1036A000DF92EF92FF920F931F93DF93CF93CDB7EB -:1036B000DEB72B970FB6F894DEBF0FBECDBF5C010F -:1036C0006B01822EDC0115968C91882309F0D2C003 -:1036D000CA018E010F5F1F4FB8010E94AF148823EB -:1036E00009F4C8C0F601838D948DD5015C969C9336 -:1036F0008E935B971682178210861186D6011A96D2 -:103700001D921D921D921C921D979924380141C053 -:10371000C6010E94EC17FC01009709F4ABC085E0DC -:1037200016950795F794E7948A95D1F71E2D1F708B -:103730008081882311F0853ED1F4992091F4D50140 -:1037400052961C9352972091D1013091D201409111 -:10375000D3015091D4011E962D933D934D935C93CC -:1037600051978081882399F49924939421C0C301AF -:10377000BF014BE050E00E94DE00009751F4882D1D -:103780008073803309F476C0C501612F6FC099241E -:103790009394F601E284F3840485158583899489E2 -:1037A000A589B689E816F9060A071B0708F4B0CF01 -:1037B000882D8271823109F05DC0992041F0C501E8 -:1037C00061E00E9499158C01009789F453C0D601DD -:1037D00015968C91823009F44DC0C6010E94E51AFD -:1037E000882309F447C0F501128A01E013E080E262 -:1037F000D8011D928A95E9F7D801FE0131968BE038 -:1038000001900D928150E1F7E091FF02F0910003E9 -:10381000309739F0B801625F7F4FC8014096099533 -:1038200009C081E298E2F801918B808B80E098E0FA -:1038300097878687D80150968D919C915197539682 -:103840009C938E93529759969C938E9358971E965D -:103850008D919C911F9757969C938E9356970E949B -:10386000501C882339F0C501F5016289482D0E945A -:10387000871801C080E02B960FB6F894DEBF0FBE0C -:10388000CDBFCF91DF911F910F91FF90EF90DF900F -:10389000CF90BF90AF909F908F907F906F90089542 -:1038A00080910305882399F14091D1015091D20173 -:1038B0006091D3017091D40180910105909102052E -:1038C00021E033E00E94D212882319F140910405CF -:1038D0005091050560910605709107054115510548 -:1038E0006105710591F0809101059091020521E03B -:1038F00033E00E94D212882361F0109204051092E6 -:10390000050510920605109207051092030581E047 -:10391000089580E00895EF92FF920F931F937B012B -:103920008C010E94501C8823A9F0E1E0F3E0119281 -:1039300085E0E130F807D9F7E092D101F092D201A9 -:103940000093D3011093D40180910305816080938B -:10395000030581E01F910F91FF90EF900895DF9292 -:10396000EF92FF920F931F937B018C01D42E8091D5 -:10397000D1019091D201A091D301B091D4018E15C3 -:103980009F05A007B107C1F00E94501C8823D9F001 -:103990008091010590910205B801A70121E033E073 -:1039A0000E94CC13882379F0E092D101F092D201E9 -:1039B0000093D3011093D401809103058D29809346 -:1039C000030581E001C080E01F910F91FF90EF900F -:1039D000DF9008958F929F92AF92BF92CF92DF9225 -:1039E000EF92FF920F931F93CF93DF936C01142FED -:1039F0007093020560930105442321F488249924DF -:103A0000540140C0453008F01CC160E070E080E027 -:103A100090E040E00E94AF1C882309F412C1C12F3E -:103A2000D0E02197FE0174E0EE0FFF1F7A95E1F7D9 -:103A3000EF5FFC4FE254FE4F8081EE5BF14090E07F -:103A40008F779070892B09F0FCC0E653FE4F808180 -:103A50009181A281B38184369105A105B10508F455 -:103A6000F0C064E0CC0FDD1F6A95E1F7C953DB4F6E -:103A700088809980AA80BB8081149104A104B1043C -:103A800009F4DFC0C501B40140E00E94AF1C8823E7 -:103A900009F4D7C080910C0390910D03805092409F -:103AA00009F0CFC020911103222309F4CAC08091EC -:103AB0000F0390911003892B09F4C3C080910E036A -:103AC000882309F4BEC0F601228B80910E03848303 -:103AD000158661E070E007C04F5FF60145874150F1 -:103AE000483008F0AEC0F6014585848190E09B0126 -:103AF000042E02C0220F331F0A94E2F782179307A5 -:103B000059F720911703309118032115310519F049 -:103B100040E050E008C020912503309126034091F9 -:103B2000270350912803F601258336834783508766 -:103B3000E0900F03F090100300E010E0E80CF91C97 -:103B40000A1D1B1DE38AF48A058B168B80911203D4 -:103B500090911303918F808F6091110370E080E04A -:103B600090E00E9467286E0D7F1D801F911FF60157 -:103B7000628F738F848F958F20911203309113037E -:103B800055E0220F331F5A95E1F721503E4F232F66 -:103B90003327269540E050E0260F371F481F591F56 -:103BA00026873787408B518B8091140390911503A2 -:103BB000009719F0A0E0B0E008C080912103909137 -:103BC0002203A0912303B091240385017401E21A1A -:103BD000F30A040B150BA8019701280F391F4A1F80 -:103BE0005B1FF601058404C05695479537952795C8 -:103BF0000A94D2F72187328743875487253FFFE015 -:103C00003F07F0E04F07F0E05F0710F48CE006C0DC -:103C1000255F3F4F4040504028F480E1F601878BFC -:103C200081E010C080912D0390912E03A0912F036D -:103C3000B0913003F601828F938FA48FB58F80E20D -:103C4000EECF80E0DF91CF911F910F91FF90EF9029 -:103C5000DF90CF90BF90AF909F908F9008954F923C -:103C60005F926F927F928F929F92AF92BF92CF920C -:103C7000DF92EF92FF920F931F93CF93DF93EC01AC -:103C80006A017B0128013901423051056105710546 -:103C900008F46FC089859A85AB85BC850196A11D06 -:103CA000B11D84179507A607B70708F462C02B89D2 -:103CB0003C894D895E898F89803129F499278F2D20 -:103CC0007E2D6D2D09C0C701B60117E09695879529 -:103CD000779567951A95D1F74B015C01820E931E7B -:103CE000A41EB51E8091D1019091D201A091D30163 -:103CF000B091D40188169906AA06BB0639F0C50111 -:103D0000B40140E00E94AF1C882399F18F89803173 -:103D100049F4F601F070EE0FFF1FEF5FFC4F518288 -:103D200040820DC0F601EF77F070EE0FFF1FEE0F2F -:103D3000FF1FEF5FFC4F408251826282738280914D -:103D400003058160809303058A89823080F08D812C -:103D50009E81AF81B885880E991EAA1EBB1E8092D7 -:103D6000040590920505A0920605B092070581E032 -:103D700001C080E0DF91CF911F910F91FF90EF90F4 -:103D8000DF90CF90BF90AF909F908F907F906F907B -:103D90005F904F900895CF92DF92EF92FF920F9332 -:103DA0001F93CF93DF93EC017A018B016901898521 -:103DB0009A85AB85BC850196A11DB11D8417950719 -:103DC000A607B70708F450C02B893C894D895E8946 -:103DD0008F89803129F49927812F702F6F2D09C089 -:103DE000C801B701E7E09695879577956795EA95BD -:103DF000D1F7260F371F481F591F8091D10190918D -:103E0000D201A091D301B091D401281739074A07F4 -:103E10005B0739F0CA01B90140E00E94AF1C88235A -:103E200019F18F89803159F4F701F070EE0FFF1FFF -:103E3000EF5FFC4F80819181A0E0B0E00EC0F70100 -:103E4000EF77F070EE0FFF1FEE0FFF1FEF5FFC4FDD -:103E500080819181A281B381BF70F60180839183BB -:103E6000A283B38381E001C080E0DF91CF911F91F5 -:103E70000F91FF90EF90DF90CF900895AF92BF9297 -:103E8000CF92DF92EF92FF920F931F93DF93CF9326 -:103E900000D000D0CDB7DEB76C017A018B0182E093 -:103EA00090E0A0E0B0E0F60180839183A283B38329 -:103EB0005E010894A11CB11CC601B801A7019501BF -:103EC0000E94CB1E882319F1C601B801A70100E0AA -:103ED00010E020E030E00E942F1E8823C1F0E9802E -:103EE000FA800B811C81F6018789803129F088EFE7 -:103EF0009FEFAFEFBFE004C088EF9FEFA0E0B0E01E -:103F0000E816F9060A071B07B8F281E001C080E055 -:103F10000F900F900F900F90CF91DF911F910F9105 -:103F2000FF90EF90DF90CF90BF90AF9008954F92A9 -:103F30005F926F927F928F929F92AF92BF92CF9239 -:103F4000DF92EF92FF920F931F93DF93CF9300D0F6 -:103F500000D0CDB7DEB76C0149835A836B837C8375 -:103F60003901EE24FF2487012E010894411C511CC5 -:103F7000812CA2E09A2EA12CB12C49815A816B810F -:103F80007C81C60192010E94CB1E882351F1D5018C -:103F9000C401F601058404C0880F991FAA1FBB1F26 -:103FA0000A94D2F7E80EF91E0A1F1B1F29813A81D5 -:103FB0004B815C818789803129F088EF9FEFAFEFDB -:103FC000BFE004C088EF9FEFA0E0B0E028173907FA -:103FD0004A075B0790F2F301E082F18202831383C8 -:103FE00081E00F900F900F900F90CF91DF911F9174 -:103FF0000F91FF90EF90DF90CF90BF90AF909F9088 -:104000008F907F906F905F904F9008952F923F9286 -:104010004F925F926F927F928F929F92AF92BF92D8 -:10402000CF92DF92EF92FF920F931F93DF93CF9384 -:10403000CDB7DEB72F970FB6F894DEBF0FBECDBF5A -:104040001C014A875B876C877D873F872E87D90154 -:104050000D911D912D913C91011511052105310501 -:1040600049F0480159010894811C911CA11CB11C04 -:10407000198610C0FC0180809180A280B3801986CF -:104080008A859B85AC85BD850197A105B10511F495 -:1040900091E09987D10119968D919D910D90BC91D8 -:1040A000A02D0196A11DB11D8D839E83AF83B8877E -:1040B000750164014424552432018E010F5F1F4FA6 -:1040C000F10181859285A385B485481659066A0653 -:1040D0007B0608F090C08D819E81AF81B8858C15DC -:1040E0009D05AE05BF0550F482E0882E912CA12CD1 -:1040F000B12CB2E0CB2ED12CE12CF12CC101B701B7 -:10410000A60198010E94CB1E882309F474C08981FE -:104110009A81AB81BC81A70196012F5F3F4F4F4F22 -:104120005F4F0097A105B10519F049015A010DC073 -:10413000281939094A095B098A859B85AC85BD85A3 -:10414000281739074A075B0759F00894411C511C8E -:10415000611C711C0894C11CD11CE11CF11CB0CF66 -:10416000C101A601B7010FEF1FEF2FEF3FE00E9443 -:104170002F1E882399F43FC0260137010894410877 -:10418000510861087108C101B301A20197018601BC -:104190000E942F1E882379F1730162018C149D0403 -:1041A000AE04BF0448F3AE85BF854D915D916D911E -:1041B0007C91411551056105710539F0C1019501E9 -:1041C00084010E942F1E8823B1F0EE85FF85808236 -:1041D0009182A282B382F985FF2359F00894811C51 -:1041E000911CA11CB11CD1018D929D92AD92BC92EB -:1041F000139781E001C080E02F960FB6F894DEBFE0 -:104200000FBECDBFCF91DF911F910F91FF90EF9027 -:10421000DF90CF90BF90AF909F908F907F906F90E6 -:104220005F904F903F902F9008952091290530E0A6 -:1042300080912805281B3109C9010895409128055E -:1042400080912905481718F02FEF3FEF0AC0E42F9F -:10425000F0E0E85FFA4F8081282F30E04F5F409315 -:104260002805C9010895E091280580912905E817DE -:1042700018F0EFEFFFEF06C0F0E0E85FFA4F808143 -:10428000E82FF0E0CF0108950895109250051092A4 -:104290004F0588EE93E0A0E0B0E080935105909345 -:1042A0005205A0935305B093540587E092E0909394 -:1042B0004E0580934D050895CF92DF92EF92FF92C5 -:1042C0000F931F93CF93DF937C016B018A01809141 -:1042D0004C058823A1F0C0E0D0E00DC0D701ED91DE -:1042E000FC91D601AC0FBD1F0190F081E02DC701FC -:1042F0006C9109952196C017D10780F304C0CB01BA -:10430000642F0E94BD21C801DF91CF911F910F91B1 -:10431000FF90EF90DF90CF900895DF93CF930F92AF -:10432000CDB7DEB7FC01698380914C058823C9F0C5 -:1043300080914B05803238F081E090E09383828356 -:1043400020E030E015C080914A05E82FF0E0E65DFE -:10435000FA4F998190838F5F80934A0580934B0534 -:1043600005C0CE01019661E00E94BD2121E030E050 -:10437000C9010F90CF91DF910895482F613210F05D -:1043800081E0089580915905843011F082E008950C -:104390006093A405A3E8B5E0842F9C01F90102C055 -:1043A00081918D938E2F841B8617D0F380E0089522 -:1043B0001F920F920FB60F9211242F933F934F939A -:1043C0005F936F937F938F939F93AF93BF93EF937D -:1043D000FF938091B90090E0887F907080369105BE -:1043E00009F4F2C081369105CCF58832910509F4C3 -:1043F0007BC089329105B4F48031910509F46FC016 -:10440000813191053CF4009709F447C1089709F000 -:104410004FC165C08831910509F466C0809709F0E5 -:1044200047C182C08034910509F4A4C0813491054C -:1044300044F48033910509F482C0C89709F038C16B -:1044400089C08035910509F489C08835910509F442 -:1044500096C08834910509F02BC1AEC0883991050A -:1044600009F413C189399105ECF48837910509F4F1 -:10447000ABC0893791054CF48836910509F4A4C086 -:104480008037910509F014C19FC08838910509F45F -:10449000FCC08039910509F49DC08038910509F070 -:1044A00007C198C0803B910509F4C6C0813B9105C6 -:1044B0004CF4803A910509F49FC0883A910509F0BF -:1044C000F7C0BAC0803C910509F4E3C0883C91056F -:1044D00009F4DFC0883B910509F0EAC0C2C08091B1 -:1044E0005A058093BB00CFC09091810580918205D1 -:1044F000981768F490918105E92FF0E0EF59FA4F91 -:1045000080818093BB009F5F90938105BCC08091A8 -:104510005B05882309F44BC085ED8093BC00809136 -:10452000BC0084FDFCCFC2C080E28093C60585ED4F -:104530008093BC008091BC0084FDFCCFB7C080E3B9 -:104540008093C60585ED8093BC008091BC0084FDFE -:10455000FCCFACC088E38093C6059BC080918105E9 -:104560009091BB00E82FF0E0EF59FA4F90838F5FF6 -:1045700080938105909181058091820582C0809110 -:1045800081059091BB00E82FF0E0EF59FA4F90833E -:104590008F5F8093810580915B05882341F085EDD5 -:1045A0008093BC008091BC0084FDFCCF7FC081E083 -:1045B00080935C0584EA6EC085ED8093BC00809199 -:1045C000BC0084FDFCCF72C083E08093590510923B -:1045D000C50559C08091C505803208F056C080914C -:1045E000C5059091BB00E82FF0E0EB55FA4F9083A2 -:1045F0008F5F8093C50547C08091C505803230F438 -:10460000E091C505F0E0EB55FA4F108285ED8093FF -:10461000BC008091BC0084FDFCCF109259056091D4 -:10462000C505E0915F05F091600585EA95E070E0D1 -:1046300009951092C5052DC084E08093590510920C -:10464000A3051092A405E0915D05F0915E05099522 -:104650008091A405882329F481E08093A405109219 -:1046600083059091A305E92FF0E0ED57FA4F808183 -:104670008093BB009F5F9093A3059091A3058091C9 -:10468000A405981710F485EC01C085E88093BC0060 -:104690000FC085EC8093BC0009C01092C60585ED63 -:1046A0008093BC008091BC0084FDFCCF1092590522 -:1046B000FF91EF91BF91AF919F918F917F916F91FA -:1046C0005F914F913F912F910F900FBE0F901F90D0 -:1046D000189508951F920F920FB60F9211242F93E1 -:1046E0003F934F938F939F93EF93FF938091C000DD -:1046F00082FD1DC04091C60020910706309108063A -:104700002F5F3F4F2F7330708091090690910A06FA -:104710002817390771F0E0910706F0910806E95370 -:10472000FA4F4083309308062093070602C0809119 -:10473000C600FF91EF919F918F914F913F912F91E3 -:104740000F900FBE0F901F901895E0915B06F091AF -:104750005C06E05CFF4F8191919120813181821B49 -:10476000930B8F739070892B11F00E946923089529 -:104770001F920F920FB60F9211242F933F938F9396 -:104780009F93EF93FF9320914B0630914C068091BD -:104790004D0690914E062817390731F48091C100DB -:1047A0008F7D8093C10014C0E0914D06F0914E06BC -:1047B000E55FF94F208180914D0690914E0601965C -:1047C0008F73907090934E0680934D062093C60091 -:1047D000FF91EF919F918F913F912F910F900FBE7D -:1047E0000F901F901895AF92BF92DF92EF92FF92B9 -:1047F0000F931F93CF93DF93EC017A018B01DD249C -:10480000403081EE580780E0680780E0780711F0BB -:10481000DD24D39491E0A92EB12CEC89FD89DD2013 -:1048200069F0C50108A002C0880F991F0A94E2F739 -:10483000808360E079E08DE390E005C0108260E85D -:1048400074E88EE190E0A80197010E94AD28215004 -:10485000304040405040569547953795279580E128 -:104860002030380720F0DD2011F0DD24D6CFE88994 -:10487000F9893083EA89FB89208319A2EE89FF89AF -:10488000408121E030E0C9010C8C02C0880F991FE3 -:104890000A94E2F7482B4083EE89FF894081C901E1 -:1048A0000D8C02C0880F991F0A94E2F7482B4083B1 -:1048B000EE89FF894081C9010E8C02C0880F991FC3 -:1048C0000A94E2F7482B4083EE89FF8980810F8CA0 -:1048D00002C0220F331F0A94E2F720952823208379 -:1048E000DF91CF911F910F91FF90EF90DF90BF90DC -:1048F000AF900895DC011C96ED91FC911D97E05C52 -:10490000FF4F2191319180819181281B390B2F73A9 -:104910003070C9010895DC011C96ED91FC911D9742 -:10492000E05CFF4F20813181E054F040DF01AE5B5D -:10493000BF4F8D919C9111972817390719F42FEFCC -:104940003FEF07C08D919C91E80FF91F8081282FC0 -:1049500030E0C9010895DC011C96ED91FC911D9792 -:10496000E05CFF4F20813181E054F040DF01AE5B1D -:10497000BF4F8D919C9111972817390719F42FEF8C -:104980003FEF10C08D919C911197E80FF91F208186 -:104990008D919C91119701968F73907011969C93B5 -:1049A0008E9330E0C9010895DC0191968C91919726 -:1049B000882339F05496ED91FC915597808186FFBC -:1049C000F9CF91961C920895CF93DF93EC01EE8579 -:1049D000FF85E05CFF4F20813181E054F0402F5F84 -:1049E0003F4F2F733070DF01AE5BBF4F8D919C91B5 -:1049F000119728173907D1F3E05CFF4F808191812F -:104A0000E054F040E80FF91F6083EE85FF85E05C1D -:104A1000FF4F31832083EE89FF89208181E090E080 -:104A20000F8C02C0880F991F0A94E2F7282B20836D -:104A300081E089A3EC89FD8980818064808381E0A5 -:104A400090E0DF91CF910895109252061092510696 -:104A500088EE93E0A0E0B0E0809353069093540674 -:104A6000A0935506B093560687E192E090935006C6 -:104A700080934F0687EC95E090935C0680935B06ED -:104A80008BE096E090935E0680935D0685EC90E067 -:104A90009093600680935F0684EC90E090936206AA -:104AA0008093610680EC90E09093640680936306A7 -:104AB00081EC90E0909366068093650682EC90E02E -:104AC000909368068093670686EC90E090936A0660 -:104AD0008093690684E080936B0683E080936C0684 -:104AE00087E080936D0685E080936E0681E0809379 -:104AF0006F060895CF93DF930E9499270E94870C39 -:104B0000C5EAD3E20E94E90B2097E1F30E94A523B6 -:104B1000F9CF0F931F93CF93DF93BC0182309105A0 -:104B200010F462E070E0E0917A06F0917B06A0E07C -:104B3000B0E040E050E024C0808191818617970763 -:104B4000D0F08617970771F482819381109729F02E -:104B500013969C938E9312972CC090937B06809310 -:104B60007A0627C04115510519F08417950718F4E6 -:104B7000EF018D01AC01DF01828193819C01F9017C -:104B80003097D1F641155105F9F0CA01861B970BF4 -:104B90008430910580F48A819B810115110521F0F3 -:104BA000F8019383828304C090937B0680937A06F6 -:104BB000FE0132962FC0FE01E80FF91F6193719339 -:104BC00002979983888326C08DB79EB788579040F7 -:104BD0002091D5013091D60128173907C8F4AC01CE -:104BE000421B530B4617570798F0CB010296481704 -:104BF000590770F0820F931F9093D6018093D501CF -:104C00009093D8018093D701F9016193719302C009 -:104C1000E0E0F0E0CF01DF91CF911F910F91089577 -:104C2000CF93DF939C01009709F48FC0EC0122978A -:104C30001B821A8260917A0670917B06611571055C -:104C400081F488819981820F931F2091D501309141 -:104C5000D6012817390739F5D093D601C093D5016D -:104C600074C0DB0140E050E0AC17BD0708F1BB8326 -:104C7000AA83FE0121913191E20FF31FAE17BF0706 -:104C800079F48D919C911197280F391F2E5F3F4F1A -:104C90003983288312968D919C9113979B838A83E5 -:104CA0004115510571F4D0937B06C0937A064DC02F -:104CB00012968D919C911397AD01009711F0DC0134 -:104CC000D3CFDA011396DC93CE931297FA01219198 -:104CD0003191E20FF31FCE17DF0769F488819981C4 -:104CE000280F391F2E5F3F4FFA01318320838A81BD -:104CF0009B8193838283E0E0F0E0DB0112968D914B -:104D00009C911397009719F0BC01FD01F6CFAB0100 -:104D10004E5F5F4FDB018D919C91840F951F209119 -:104D2000D5013091D6012817390779F4309729F445 -:104D300010927B0610927A0602C0138212824250B1 -:104D400050405093D6014093D501DF91CF91089503 -:104D5000FC0120E030E08081882311F421E030E084 -:104D6000C9010895FC0181E080830895CF92DF920C -:104D7000EF92FF920F931F93CF93DF937C016B0110 -:104D80008A01C0E0D0E00FC0D6016D916D01D7015E -:104D9000ED91FC910190F081E02DC7010995C80FBC -:104DA000D91F015010400115110571F7CE01DF9197 -:104DB000CF911F910F91FF90EF90DF90CF900895CA -:104DC0001F920F920FB60F9211242F933F938F9340 -:104DD0009F93AF93BF938091750690917606A091B3 -:104DE0007706B0917806309179060196A11DB11D24 -:104DF000232F2D5F2D3720F02D570196A11DB11DBA -:104E0000209379068093750690937606A093770693 -:104E1000B09378068091710690917206A091730606 -:104E2000B09174060196A11DB11D809371069093F7 -:104E30007206A0937306B0937406BF91AF919F91D1 -:104E40008F913F912F910F900FBE0F901F9018954B -:104E50008FB7F894209175063091760640917706C9 -:104E6000509178068FBFB901CA0108959B01AC012A -:104E70007FB7F8948091710690917206A0917306A5 -:104E8000B091740666B5A89B05C06F3F19F00196F6 -:104E9000A11DB11D7FBFBA2FA92F982F8827860F7C -:104EA000911DA11DB11D62E0880F991FAA1FBB1F94 -:104EB0006A95D1F7BC012DC0FFB7F89480917106B7 -:104EC00090917206A0917306B0917406E6B5A89B06 -:104ED00005C0EF3F19F00196A11DB11DFFBFBA2F0C -:104EE000A92F982F88278E0F911DA11DB11DE2E0DB -:104EF000880F991FAA1FBB1FEA95D1F7861B970B36 -:104F0000885E9340C8F22150304040405040685184 -:104F10007C4F211531054105510571F60895019722 -:104F200039F0880F991F880F991F02970197F1F7A1 -:104F30000895789484B5826084BD84B5816084BD11 -:104F400085B5826085BD85B5816085BDEEE6F0E002 -:104F5000808181608083E1E8F0E01082808182605E -:104F60008083808181608083E0E8F0E080818160DF -:104F70008083E1EBF0E0808184608083E0EBF0E00F -:104F8000808181608083EAE7F0E0808184608083B3 -:104F9000808182608083808181608083808180685D -:104FA00080831092C1000895CF93DF93482F50E083 -:104FB000CA018C509F4FFC01349140525F4FFA015F -:104FC0008491882369F190E0880F991FFC01EE53CA -:104FD000FF4FA591B491FC01E453FF4FC591D491CB -:104FE000662351F42FB7F8948C91932F90958923D1 -:104FF0008C93888189230BC0623061F42FB7F894B9 -:105000008C91932F909589238C938881832B88830F -:105010002FBF06C09FB7F8948C91832B8C939FBFB2 -:10502000DF91CF910895482F50E0CA01885F9E4FCD -:10503000FC012491CA018C509F4FFC019491405275 -:105040005F4FFA013491332309F440C0222351F118 -:10505000233071F0243028F42130A1F0223011F5F2 -:1050600014C02630B1F02730C1F02430D9F404C088 -:10507000809180008F7703C0809180008F7D809326 -:10508000800010C084B58F7702C084B58F7D84BD49 -:1050900009C08091B0008F7703C08091B0008F7DF0 -:1050A0008093B000E32FF0E0EE0FFF1FE453FF4FBB -:1050B000A591B4912FB7F894662321F48C91909523 -:1050C000892302C08C91892B8C932FBF0895629FF6 -:1050D000D001739FF001829FE00DF11D649FE00DF0 -:1050E000F11D929FF00D839FF00D749FF00D659F51 -:1050F000F00D9927729FB00DE11DF91F639FB00D50 -:10510000E11DF91FBD01CF0111240895AA1BBB1B8E -:1051100051E107C0AA1FBB1FA617B70710F0A61BB7 -:10512000B70B881F991F5A95A9F780959095BC01D8 -:10513000CD01089597FB092E07260AD077FD04D0EC -:10514000E5DF06D000201AF4709561957F4F089531 -:10515000F6F7909581959F4F0895A1E21A2EAA1B0C -:10516000BB1BFD010DC0AA1FBB1FEE1FFF1FA21717 -:10517000B307E407F50720F0A21BB30BE40BF50B14 -:10518000661F771F881F991F1A9469F7609570959D -:10519000809590959B01AC01BD01CF0108952F92A0 -:1051A0003F924F925F926F927F928F929F92AF92B7 -:1051B000BF92CF92DF92EF92FF920F931F93CF9304 -:1051C000DF93CDB7DEB7CA1BDB0B0FB6F894DEBF9B -:1051D0000FBECDBF09942A88398848885F846E84C1 -:1051E0007D848C849B84AA84B984C884DF80EE800B -:1051F000FD800C811B81AA81B981CE0FD11D0FB614 -:10520000F894DEBF0FBECDBFED010895EE0FFF1F76 -:105210000590F491E02D099411E0C4E2D1E004C0BE -:10522000FE010E9408292296C632D107C9F7F894D8 -:02523000FFCFAE -:105232006B70680072706D00253475204B4200253A -:10524200346400253364002564206B6D2020200027 -:1052520025642C25582C25640A00534432005344FB -:10526200310053444843004E2F41005344205479A7 -:1052720070653A202573004E6F2046415421005339 -:10528200442053697A653A2025644D42004E6F20CE -:1052920053442043617264202020202020004F428A -:1052A20044253035642E43535600534420657272B0 -:1052B2006F7220200046696C65206572726F720001 -:1052C2005265636F6E6E656374696E672E2E2E0073 -:1052D200496E697469616C697A696E6700576169C0 -:1052E20074696E67204F42442044617461004F42EA -:1052F2004420436F6E6E6563746564212020002F25 -:1053020000FFFFFFFF7C06640000000000040709A5 -:10531200064506AC07A7079107460800000000F6FD -:105322000CB30D0E0D590D770D510D00000000D478 -:105332001AB626000000008D215C2115211E2133A2 -:1053420021442100000000E424B6267A24AB248BF9 -:0453520024D424003B -:00000001FF diff --git a/samples/dashboard_oled/dashboard_oled.cbp b/samples/dashboard_oled/dashboard_oled.cbp new file mode 100644 index 0000000..67c6456 --- /dev/null +++ b/samples/dashboard_oled/dashboard_oled.cbp @@ -0,0 +1,574 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<CodeBlocks_project_file> + <FileVersion major="1" minor="6" /> + <Project> + <Option title="dashboard_oled" /> + <Option pch_mode="2" /> + <Option compiler="avrgcc" /> + <Build> + <Target title="Arduino Uno"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Uno" /> + <Variable name="BOARD_ID" value="uno" /> + <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="115200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Leonardo"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega32U4__" /> + <Add option="-DUSB_VID=0x2341" /> + <Add option="-DUSB_PID=0x8036" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/leonardo" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Leonardo" /> + <Variable name="BOARD_ID" value="leonardo" /> + <Variable name="MCU" value="atmega32u4" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Esplora"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega32U4__" /> + <Add option="-DUSB_VID=0x2341" /> + <Add option="-DUSB_PID=0x8037" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/leonardo" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Esplora" /> + <Variable name="BOARD_ID" value="esplora" /> + <Variable name="MCU" value="atmega32u4" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Micro"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega32U4__" /> + <Add option="-DUSB_VID=0x2341" /> + <Add option="-DUSB_PID=0x803C" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/micro" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Micro" /> + <Variable name="BOARD_ID" value="micro" /> + <Variable name="MCU" value="atmega32u4" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Duemilanove (328)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Duemilanove (328)" /> + <Variable name="BOARD_ID" value="duemilanove328" /> + <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Duemilanove (168)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Duemilanove (168)" /> + <Variable name="BOARD_ID" value="duemilanove168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Nano (328)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Nano (328)" /> + <Variable name="BOARD_ID" value="nano328" /> + <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Nano (168)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Nano (168)" /> + <Variable name="BOARD_ID" value="nano168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Mini (328)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Mini (328)" /> + <Variable name="BOARD_ID" value="mini328" /> + <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Mini (168)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/eightanaloginputs" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Mini (168)" /> + <Variable name="BOARD_ID" value="mini168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Pro Mini (328)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Pro Mini (328)" /> + <Variable name="BOARD_ID" value="promini328" /> + <Variable name="MCU" value="atmega328p" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Pro Mini (168)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega168__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Pro Mini (168)" /> + <Variable name="BOARD_ID" value="promini168" /> + <Variable name="MCU" value="atmega168" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Mega 2560/ADK"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega2560__" /> + <Add option="-O2" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/mega" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Mega 2560\ADK" /> + <Variable name="BOARD_ID" value="mega2560" /> + <Variable name="MCU" value="atmega2560" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Mega 1280"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega1280__" /> + <Add option="-O2" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/mega" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Mega 1280" /> + <Variable name="BOARD_ID" value="mega1280" /> + <Variable name="MCU" value="atmega1280" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="57600" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Arduino Mega 8"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega328P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/standard" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Arduino Mega 8" /> + <Variable name="BOARD_ID" value="mega8" /> + <Variable name="MCU" value="atmega8" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="19200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + <Target title="Microduino Core+ (644P)"> + <Option output="bin/Release/dashboard_oled_${BOARD_ID}.elf" prefix_auto="1" extension_auto="0" /> + <Option type="1" /> + <Option compiler="avrgcc" /> + <Compiler> + <Add option="-x c++" /> + <Add option="-mmcu=$(MCU)" /> + <Add option="-DF_CPU=16000000L" /> + <Add option="-D__AVR_ATmega644P__" /> + <Add option="-Os" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/cores/arduino" /> + <Add directory="$(ARDUINO_DIR)/libraries" /> + <Add directory="$(ARDUINO_DIR)/hardware/arduino/variants/plus" /> + </Compiler> + <Linker> + <Add option="-mmcu=$(MCU)" /> + <Add option='"$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add option='"$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + </Linker> + <ExtraCommands> + <Add before='$(TARGET_COMPILER_DIR)ArduinoUploader "$(PROJECT_DIR)." $(BOARD_ID) - $(MCU_CLOCK) 0 "$(PROJECT_DIR)bin/lib_${BOARD_ID}_${MCU_CLOCK}.a" "$(PROJECT_DIR)bin/core_${BOARD_ID}_${MCU_CLOCK}.a"' /> + <Add after='avr-objcopy -O ihex -R .eeprom -R .eesafe "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).hex"' /> + <Add after='avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex "$(TARGET_OUTPUT_FILE)" "$(TARGET_OUTPUT_FILE).eep.hex"' /> + <Add after='avr-size --mcu=$(MCU) --format=avr "$(TARGET_OUTPUT_FILE)"' /> + </ExtraCommands> + <Environment> + <Variable name="BOARD" value="Microduino Core+ (644P)" /> + <Variable name="BOARD_ID" value="uduino644p" /> + <Variable name="MCU" value="atmega644p" /> + <Variable name="MCU_CLOCK" value="16" /> + <Variable name="UPLOAD_BAUDRATE" value="115200" /> + <Variable name="UPLOAD_PORT" value="" /> + </Environment> + </Target> + </Build> + <Compiler> + <Add directory="." /> + </Compiler> + <Unit filename="ZtLib.cpp" /> + <Unit filename="ZtLib.h" /> + <Unit filename="dashboard_oled.ino"> + <Option compile="1" /> + <Option link="1" /> + </Unit> + <Extensions> + <code_completion /> + <debugger /> + </Extensions> + </Project> +</CodeBlocks_project_file> |