From bdc2c905cf6953abcffe0904dca27b509fdd2d75 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Wed, 27 May 2015 11:16:03 +0200 Subject: [PATCH] initial --- .cproject | 61 ++++ .project | 54 ++++ .settings/language.settings.xml | 14 + .settings/org.eclipse.cdt.core.prefs | 399 +++++++++++++++++++++++++++ RelayBox.cpp | 61 ++++ RelayBox.h | 29 ++ Streaming/Streaming.h | 105 +++++++ hardware.cpp | 114 ++++++++ hardware.h | 60 ++++ spec.d | 2 + 10 files changed, 899 insertions(+) create mode 100644 .cproject create mode 100644 .project create mode 100644 .settings/language.settings.xml create mode 100644 .settings/org.eclipse.cdt.core.prefs create mode 100644 RelayBox.cpp create mode 100644 RelayBox.h create mode 100644 Streaming/Streaming.h create mode 100644 hardware.cpp create mode 100644 hardware.h create mode 100644 spec.d diff --git a/.cproject b/.cproject new file mode 100644 index 0000000..3df778c --- /dev/null +++ b/.cproject @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..22e0e68 --- /dev/null +++ b/.project @@ -0,0 +1,54 @@ + + + RelayBox + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + it.baeyens.arduinonature + + + + arduino/core + 2 + ArduinoPlatformPath/cores/arduino + + + arduino/variant + 2 + ArduinoPinPath/mega + + + + + ArduinoHardwareLibPath + file:/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries + + + ArduinoPinPath + file:/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/variants + + + ArduinoPlatformPath + file:/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr + + + diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml new file mode 100644 index 0000000..25ba3fc --- /dev/null +++ b/.settings/language.settings.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/.settings/org.eclipse.cdt.core.prefs b/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 0000000..a9033e0 --- /dev/null +++ b/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,399 @@ +eclipse.preferences.version=1 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.ARCHITECTURE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.ARCHITECTURE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.ARCHITECTURE/value=avr +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.ARCHIVE_FILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.ARCHIVE_FILE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.ARCHIVE_FILE/value=arduino.ar +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.EXTENDED_FUSES/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.EXTENDED_FUSES/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.EXTENDED_FUSES/value=0xFD +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.FILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.FILE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.FILE/value=stk500v2/stk500boot_v2_mega2560.hex +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.HIGH_FUSES/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.HIGH_FUSES/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.HIGH_FUSES/value=0xD8 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.LOCK_BITS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.LOCK_BITS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.LOCK_BITS/value=0x0F +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.LOW_FUSES/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.LOW_FUSES/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.LOW_FUSES/value=0xFF +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.TOOL/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.TOOL/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.TOOL/value=avrdude +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.UNLOCK_BITS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.UNLOCK_BITS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BOOTLOADER.UNLOCK_BITS/value=0x3F +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.ARCH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.ARCH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.ARCH/value=AVR +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.BOARD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.BOARD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.BOARD/value=AVR_MEGA2560 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.CORE.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.CORE.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.CORE.PATH/value=${A.RUNTIME.PLATFORM.PATH}/cores/${A.BUILD.CORE} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.CORE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.CORE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.CORE/value=arduino +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.F_CPU/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.F_CPU/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.F_CPU/value=16000000L +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.MCU/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.MCU/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.MCU/value=atmega2560 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.PATH/value=${ProjDirPath}/${ConfigName} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.PROJECT_NAME/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.PROJECT_NAME/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.PROJECT_NAME/value=${ProjName} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USB_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USB_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USB_FLAGS/value=-DUSB_VID\=${A.BUILD.VID} -DUSB_PID\=${A.BUILD.PID} '-DUSB_MANUFACTURER\=${A.BUILD.USB_MANUFACTURER}' '-DUSB_PRODUCT\=${A.BUILD.USB_PRODUCT}' +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USB_MANUFACTURER/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USB_MANUFACTURER/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USB_MANUFACTURER/value="Unknown" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USE_ARCHIVER/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USE_ARCHIVER/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.USE_ARCHIVER/value=true +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.VARIANT.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.VARIANT.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.VARIANT.PATH/value=${A.RUNTIME.PLATFORM.PATH}/variants/${A.BUILD.VARIANT} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.VARIANT/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.VARIANT/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.BUILD.VARIANT/value=mega +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CMD.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CMD.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CMD.PATH/value=${A.TOOLS.AVRDUDE.CMD.PATH} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CMD/value=${A.TOOLS.AVRDUDE.CMD} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.CMD/value=avr-ar +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.AR.FLAGS/value=rcs +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.CMD/value=avr-gcc +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.CMD/value=avr-gcc +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.ELF.FLAGS/value=-w -Os -Wl,--gc-sections +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.C.FLAGS/value=-c -g -Os -w -ffunction-sections -fdata-sections -MMD +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.CMD/value=avr-g++ +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.CPP.FLAGS/value=-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.CMD/value=avr-objcopy +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.ELF2HEX.FLAGS/value=-O ihex -R .eeprom +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.LDFLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.LDFLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.LDFLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.CMD/value=avr-objcopy +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.EEP.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.EEP.FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.OBJCOPY.EEP.FLAGS/value=-O ihex -j .eeprom --set-section-flags\=.eeprom\=alloc,load --no-change-warnings --change-section-lma .eeprom\=0 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avr/bin/ +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.S.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.S.EXTRA_FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.S.EXTRA_FLAGS/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.S.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.S.FLAGS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.S.FLAGS/value=-c -g -x assembler-with-cpp +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.SIZE.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.SIZE.CMD/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.COMPILER.SIZE.CMD/value=avr-size +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CONFIG.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CONFIG.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.CONFIG.PATH/value=${A.TOOLS.AVRDUDE.CONFIG.PATH} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.DTS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.DTS/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.DTS/value=3600 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.LOCAL/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.LOCAL/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.LOCAL/value=1432722899 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.UTC/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.UTC/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.UTC/value=1432715699 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.ZONE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.ZONE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.EXTRA.TIME.ZONE/value=3600 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.NAME/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.NAME/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.NAME/value=Arduino Mega or Mega 2560 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PATH/value=${A.TOOLS.AVRDUDE.PATH} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.0/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.0/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.0/value=0x0010 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.1/value=0x0042 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.2/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.2/value=0x0010 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.3/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.3/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.PID.3/value=0x0042 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.AR.CMD}" ${A.COMPILER.AR.FLAGS} ${A.COMPILER.AR.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN.2/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN.2/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.AR.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.AR.CMD}" ${A.COMPILER.AR.FLAGS} ${A.COMPILER.AR.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" "${A.OBJECT_FILE}" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mmcu\=${A.BUILD.MCU} ${A.COMPILER.C.ELF.EXTRA_FLAGS} -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN.2/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN.2/value=\ "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" "-L${A.BUILD.PATH}" -lm +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.COMBINE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mmcu\=${A.BUILD.MCU} ${A.COMPILER.C.ELF.EXTRA_FLAGS} -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" ${A.OBJECT_FILES} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" "-L${A.BUILD.PATH}" -lm +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.C.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.C.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.2/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.2/value=\ -o +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.3/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.3/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN.3/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.C.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.C.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.C.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.CPP.CMD}" ${A.COMPILER.CPP.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.CPP.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.2/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.2/value=\ -o +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.3/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.3/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN.3/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.CPP.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.CPP.CMD}" ${A.COMPILER.CPP.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.CPP.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.EEP.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.EEP.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.EEP.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.OBJCOPY.CMD}" ${A.COMPILER.OBJCOPY.EEP.FLAGS} ${A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.eep" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.EEP.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.EEP.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.EEP.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.OBJCOPY.CMD}" ${A.COMPILER.OBJCOPY.EEP.FLAGS} ${A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.eep" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.HEX.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.HEX.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.HEX.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.ELF2HEX.CMD}" ${A.COMPILER.ELF2HEX.FLAGS} ${A.COMPILER.ELF2HEX.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.HEX.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.HEX.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.OBJCOPY.HEX.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.ELF2HEX.CMD}" ${A.COMPILER.ELF2HEX.FLAGS} ${A.COMPILER.ELF2HEX.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.S.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.S.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.2/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.2/value=\ -o +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.3/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.3/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN.3/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.S.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.S.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.S.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.PATTERN.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.SIZE.CMD}" -A "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.SIZE.CMD}" -A "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX.DATA/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX.DATA/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX.DATA/value=^(?\:\\.data|\\.bss|\\.noinit)\\s+([0-9]+).* +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX.EEPROM/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX.EEPROM/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX.EEPROM/value=^(?\:\\.eeprom)\\s+([0-9]+).* +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RECIPE.SIZE.REGEX/value=^(?\:\\.text|\\.data|\\.bootloader)\\s+([0-9]+).* +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.HARDWARE.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.HARDWARE.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.HARDWARE.PATH/value=/Applications/Arduino.app/Contents/Resources/Java/hardware +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.IDE.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.IDE.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.IDE.PATH/value=/Applications/Arduino.app/Contents/Resources/Java +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.IDE.VERSION/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.IDE.VERSION/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.IDE.VERSION/value=161 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.PLATFORM.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.PLATFORM.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.RUNTIME.PLATFORM.PATH/value=/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.SOFTWARE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.SOFTWARE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.SOFTWARE/value=ARDUINO +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/value=-q -q +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/value=-v +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/value="${A.CMD.PATH}" "-C${A.CONFIG.PATH}" ${A.BOOTLOADER.VERBOSE} -p${A.BUILD.MCU} -c${A.PROTOCOL} ${A.PROGRAM.EXTRA_PARAMS} "-Uflash\:w\:${A.RUNTIME.PLATFORM.PATH}/bootloaders/${A.BOOTLOADER.FILE}\:i" -Ulock\:w\:${A.BOOTLOADER.LOCK_BITS}\:m +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.CMD.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.CMD.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.CMD.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avr/bin/avrdude +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.CONFIG.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.CONFIG.PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.CONFIG.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avr/etc/avrdude.conf +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/value=-q -q +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/value=-v +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.ERASE.PATTERN/value="${A.CMD.PATH}" "-C${A.CONFIG.PATH}" ${A.ERASE.VERBOSE} -p${A.BUILD.MCU} -c${A.PROTOCOL} ${A.PROGRAM.EXTRA_PARAMS} -e -Ulock\:w\:${A.BOOTLOADER.UNLOCK_BITS}\:m -Uefuse\:w\:${A.BOOTLOADER.EXTENDED_FUSES}\:m -Uhfuse\:w\:${A.BOOTLOADER.HIGH_FUSES}\:m -Ulfuse\:w\:${A.BOOTLOADER.LOW_FUSES}\:m +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/value=-q -q +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/value=-v +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.PROGRAM.PATTERN/value="${A.CMD.PATH}" "-C${A.CONFIG.PATH}" ${A.PROGRAM.VERBOSE} -p${A.BUILD.MCU} -c${A.PROTOCOL} ${A.PROGRAM.EXTRA_PARAMS} "-Uflash\:w\:${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex\:i" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/value=-q -q +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/value=-v +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PATTERN/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.TOOLS.AVRDUDE.UPLOAD.PATTERN/value="${A.CMD.PATH}" "-C${A.CONFIG.PATH}" ${A.UPLOAD.VERBOSE} -p${A.BUILD.MCU} -c${A.UPLOAD.PROTOCOL} -P${A.SERIAL.PORT} -b${A.UPLOAD.SPEED} -D "-Uflash\:w\:${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex\:i" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.MAXIMUM_DATA_SIZE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.MAXIMUM_DATA_SIZE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.MAXIMUM_DATA_SIZE/value=8192 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.MAXIMUM_SIZE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.MAXIMUM_SIZE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.MAXIMUM_SIZE/value=253952 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.PROTOCOL/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.PROTOCOL/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.PROTOCOL/value=wiring +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.SPEED/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.SPEED/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.SPEED/value=115200 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.TOOL/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.TOOL/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.UPLOAD.TOOL/value=avrdude +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VERSION/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VERSION/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VERSION/value=1.6.1 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.0/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.0/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.0/value=0x2341 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.0X2A03.WARNING/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.0X2A03.WARNING/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.0X2A03.WARNING/value=Uncertified +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.1/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.1/value=0x2341 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.2/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.2/value=0x2A03 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.3/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.3/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/A.VID.3/value=0x2A03 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.BOARDS_FILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.BOARDS_FILE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.BOARDS_FILE/value=/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/boards.txt +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.BOARD_NAME/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.BOARD_NAME/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.BOARD_NAME/value=Arduino Mega or Mega 2560 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.COM_PORT/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.COM_PORT/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.COM_PORT/value=/dev/tty.usbmodemfd111 +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.COM_PROGMR/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.COM_PROGMR/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.COM_PROGMR/value=Default +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.CPU\ Speed/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.CPU\ Speed/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.CPU\ Speed/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.C.COMPILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.C.COMPILE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.C.COMPILE/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.COMPILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.COMPILE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.COMPILE/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.CPP.COMPILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.CPP.COMPILE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.EXTRA.CPP.COMPILE/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.Keyboard\ Layout/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.Keyboard\ Layout/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.Keyboard\ Layout/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.PLATFORM_FILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.PLATFORM_FILE/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.PLATFORM_FILE/value=/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/platform.txt +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.Processor/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.Processor/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.Processor/value=ATmega2560 (Mega 2560) +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.SIZE.SWITCH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.SIZE.SWITCH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.SIZE.SWITCH/value=${A.RECIPE.SIZE.PATTERN} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.SIZE_COMMAND/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.SIZE_COMMAND/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.SIZE_COMMAND/value="${A.COMPILER.PATH}${A.COMPILER.SIZE.CMD}" --format\=avr --mcu\=${A.BUILD.MCU} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.USB\ Type/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.USB\ Type/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.USB\ Type/value= +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.WARNING_LEVEL/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.WARNING_LEVEL/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/JANTJE.WARNING_LEVEL/value=\ -Wall +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/PATH/operation=replace +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/PATH/value=${A.COMPILER.PATH}${PathDelimiter}${A.BUILD.GENERIC.PATH}${PathDelimiter}${PATH} +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/append=true +environment/project/it.baeyens.arduino.core.toolChain.release.723484165/appendContributed=true diff --git a/RelayBox.cpp b/RelayBox.cpp new file mode 100644 index 0000000..1a41272 --- /dev/null +++ b/RelayBox.cpp @@ -0,0 +1,61 @@ +#include "RelayBox.h" +#include "hardware.h" +#include + + + + + +Switch switches[NUM_OF_LINES]; + +void setup() { + Serial.begin(9600); + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + switches[i].begin(FEEDBACK_PIN[i], BUTTON_PIN[i], RELAY_PIN[i], LED_PIN[i]); + } + + wdt_enable(WDTO_8S); +} + +void loop() { + wdt_reset(); + +#ifndef TEST_MODE + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + switches[i].exec(); + } +#else + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + digitalWrite(RELAY_PIN[i], false); + digitalWrite(LED_PIN[i], false); + } + delay(500); + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + digitalWrite(RELAY_PIN[i], true); + delay(100); + } + delay(500); + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + digitalWrite(RELAY_PIN[i], false); + delay(100); + } + delay(500); + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + digitalWrite(LED_PIN[i], true); + delay(100); + } + delay(500); + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + digitalWrite(LED_PIN[i], false); + delay(100); + } + delay(100); + + while (true) { + for (uint8_t i = 0; i < NUM_OF_LINES; i++) { + digitalWrite(LED_PIN[i], digitalRead(FEEDBACK_PIN[i])); + digitalWrite(RELAY_PIN[i], digitalRead(BUTTON_PIN[i])); + } + } +#endif +} diff --git a/RelayBox.h b/RelayBox.h new file mode 100644 index 0000000..1122f2d --- /dev/null +++ b/RelayBox.h @@ -0,0 +1,29 @@ +// Only modify this file to include +// - function definitions (prototypes) +// - include files +// - extern variable definitions +// In the appropriate section + +#ifndef _RelayBox_H_ +#define _RelayBox_H_ +#include "Arduino.h" +//add your includes for the project RelayBox here + + +//end of add your includes here +#ifdef __cplusplus +extern "C" { +#endif +void loop(); +void setup(); +#ifdef __cplusplus +} // extern "C" +#endif + +//add your function definitions for the project RelayBox here + + + + +//Do not add code below this line +#endif /* _RelayBox_H_ */ diff --git a/Streaming/Streaming.h b/Streaming/Streaming.h new file mode 100644 index 0000000..9e54ae9 --- /dev/null +++ b/Streaming/Streaming.h @@ -0,0 +1,105 @@ +/* +Streaming.h - Arduino library for supporting the << streaming operator +Copyright (c) 2010-2012 Mikal Hart. All rights reserved. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef ARDUINO_STREAMING +#define ARDUINO_STREAMING + +#if defined(ARDUINO) && ARDUINO >= 100 +#include "Arduino.h" +#else +#include "WProgram.h" +#endif + +#define STREAMING_LIBRARY_VERSION 5 + +// Generic template +template +inline Print &operator <<(Print &stream, T arg) +{ stream.print(arg); return stream; } + +struct _BASED +{ + long val; + int base; + _BASED(long v, int b): val(v), base(b) + {} +}; + +#if ARDUINO >= 100 + +struct _BYTE_CODE +{ + byte val; + _BYTE_CODE(byte v) : val(v) + {} +}; +#define _BYTE(a) _BYTE_CODE(a) + +inline Print &operator <<(Print &obj, const _BYTE_CODE &arg) +{ obj.write(arg.val); return obj; } + +#else + +#define _BYTE(a) _BASED(a, BYTE) + +#endif + +#define _HEX(a) _BASED(a, HEX) +#define _DEC(a) _BASED(a, DEC) +#define _OCT(a) _BASED(a, OCT) +#define _BIN(a) _BASED(a, BIN) + +// Specialization for class _BASED +// Thanks to Arduino forum user Ben Combee who suggested this +// clever technique to allow for expressions like +// Serial << _HEX(a); + +inline Print &operator <<(Print &obj, const _BASED &arg) +{ obj.print(arg.val, arg.base); return obj; } + +#if ARDUINO >= 18 +// Specialization for class _FLOAT +// Thanks to Michael Margolis for suggesting a way +// to accommodate Arduino 0018's floating point precision +// feature like this: +// Serial << _FLOAT(gps_latitude, 6); // 6 digits of precision + +struct _FLOAT +{ + float val; + int digits; + _FLOAT(double v, int d): val(v), digits(d) + {} +}; + +inline Print &operator <<(Print &obj, const _FLOAT &arg) +{ obj.print(arg.val, arg.digits); return obj; } +#endif + +// Specialization for enum _EndLineCode +// Thanks to Arduino forum user Paul V. who suggested this +// clever technique to allow for expressions like +// Serial << "Hello!" << endl; + +enum _EndLineCode { endl }; + +inline Print &operator <<(Print &obj, _EndLineCode arg) +{ obj.println(); return obj; } + +#endif diff --git a/hardware.cpp b/hardware.cpp new file mode 100644 index 0000000..8fb1c9c --- /dev/null +++ b/hardware.cpp @@ -0,0 +1,114 @@ +/* + * hardware.cpp + * + * Created on: 27.05.2015 + * Author: wn + */ + +#include +#include "hardware.h" +#include + + + +Switch::Switch() : m_state(false), m_feedbackState(false), m_stateConflict(false), + m_lastButtonState(false), m_buttonEngineState(0), m_buttonTimestamp(0), + m_ledEngineState(0), m_ledState(false), m_ledTimestamp(0) +{ + +} + + +void Switch::begin(const uint8_t feedbackPin, const uint8_t buttonPin, const uint8_t relayPin, const uint8_t ledPin) { + m_feedbackPin = feedbackPin; + m_buttonPin = buttonPin; + m_relayPin = relayPin; + m_ledPin = ledPin; + pinMode(m_feedbackPin, INPUT_PULLUP); + pinMode(m_buttonPin, INPUT_PULLUP); + pinMode(m_relayPin, OUTPUT); + pinMode(m_ledPin, OUTPUT); +} + +void Switch::toggle() { + m_state = ! m_state; + action(); +} + +void Switch::on() { + m_state = true; + action(); +} + +void Switch::off() { + m_state = false; + action(); +} + +void Switch::action() { + digitalWrite(m_relayPin, m_state); +} + +void Switch::exec() { + uint32_t now = millis(); + + + bool buttonState = digitalRead(m_buttonPin); + + switch (m_buttonEngineState) { + case 0: + if (! buttonState) { + m_lastButtonState = buttonState; + m_buttonTimestamp = now; + m_buttonEngineState = 1; + } + break; + case 1: + if (m_buttonTimestamp + BUTTON_TIME < now) { + m_buttonEngineState = 2; + } + if (m_lastButtonState != buttonState) { + m_buttonEngineState = 0; + } + break; + case 2: + toggle(); + m_buttonTimestamp = now; + m_buttonEngineState = 3; + break; + case 3: + if (m_buttonTimestamp + BUTTON_COOL_TIME < now) { + m_buttonEngineState = 0; + } + break; + default: + m_buttonEngineState = 0; + break; + } + + m_feedbackState = ! digitalRead(m_feedbackPin); + if (m_feedbackState == m_state) { + digitalWrite(m_ledPin, m_state); + m_stateConflict = false; + } else { + m_stateConflict = true; + switch (m_ledEngineState) { + case 0: + digitalWrite(m_ledPin, m_ledState); + m_ledTimestamp = now; + m_ledEngineState = 1; + break; + case 1: + if (m_ledTimestamp + BLINK_TIME < now) { + m_ledState = ! m_ledState; + m_ledEngineState = 0; + } + break; + default: + m_ledEngineState = 0; + break; + } + } +} + + diff --git a/hardware.h b/hardware.h new file mode 100644 index 0000000..3b57dcc --- /dev/null +++ b/hardware.h @@ -0,0 +1,60 @@ +/* + * hardware.h + * + * Created on: 27.05.2015 + * Author: wn + */ + +#ifndef HARDWARE_H_ +#define HARDWARE_H_ + + +const uint8_t NUM_OF_LINES = 4; + +const uint8_t FEEDBACK_PIN[NUM_OF_LINES] = { 22, 23, 24, 25 }; +const uint8_t BUTTON_PIN[NUM_OF_LINES] = { 30, 31, 32, 33 }; +const uint8_t RELAY_PIN[NUM_OF_LINES] = { 38, 39, 40, 41 }; +const uint8_t LED_PIN[NUM_OF_LINES] = { 46, 47, 48, 49 }; + +const uint32_t BUTTON_TIME = 1000; +const uint32_t BUTTON_COOL_TIME = 5000; +const uint32_t BLINK_TIME = 100; + +class Switch { +public: + Switch(); + void begin(const uint8_t feedbackPin, const uint8_t buttonPin, const uint8_t relayPin, const uint8_t ledPin); + void exec(); + void toggle(); + void on(); + void off(); + bool getState() const { return m_state; }; + bool getFeedback() const { return m_feedbackState; }; + bool getStateConflict() const { return m_stateConflict; }; +private: + uint8_t m_feedbackPin; + uint8_t m_buttonPin; + uint8_t m_relayPin; + uint8_t m_ledPin; + + bool m_state; + bool m_feedbackState; + bool m_stateConflict; + + bool m_lastButtonState; + uint8_t m_buttonEngineState; + uint32_t m_buttonTimestamp; + + uint8_t m_ledEngineState; + bool m_ledState; + uint32_t m_ledTimestamp; + + + + + void action(); +}; + + + +#endif /* HARDWARE_H_ */ diff --git a/spec.d b/spec.d new file mode 100644 index 0000000..14b6d20 --- /dev/null +++ b/spec.d @@ -0,0 +1,2 @@ +spec.o: \ + /Users/wn/Documents/workspace/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.C