This commit is contained in:
wn 2014-01-17 22:00:39 +01:00
commit 6f9d7c6f9f
18 changed files with 1080 additions and 0 deletions

63
.cproject Normal file
View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?>
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="it.baeyens.arduino.core.toolChain.release.1518476005">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="it.baeyens.arduino.core.toolChain.release.1518476005" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="it.baeyens.arduino.core.toolChain.release.1518476005" name="Release" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="it.baeyens.arduino.core.toolChain.release.1518476005.2047378177" name="/" resourcePath="">
<toolChain id="it.baeyens.arduino.core.toolChain.release.53125383" name="it.baeyens.arduino.core.toolChain.release" superClass="it.baeyens.arduino.core.toolChain.release">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="it.baeyens.arduino.targetplatform.2010941696" name="Arduino Target" osList="all" superClass="it.baeyens.arduino.targetplatform"/>
<builder buildPath="${workspace_loc:/NetMeterBusPowerMaster}/Release" id="it.baeyens.arduino.sketch.builder.25382069" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Arduino sketch builder" superClass="it.baeyens.arduino.sketch.builder"/>
<tool id="it.baeyens.arduino.tool.sketch.compiler.cpp.1234699754" name="Arduino C++ Compiler" superClass="it.baeyens.arduino.tool.sketch.compiler.cpp">
<option id="it.baeyens.arduino.compiler.cpp.sketch.option.incpath.494121899" name="Include Paths (-I)" superClass="it.baeyens.arduino.compiler.cpp.sketch.option.incpath" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/MeterBusPowerMaster/arduino/core}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/MeterBusPowerMaster/arduino/variant}&quot;"/>
</option>
<inputType id="it.baeyens.arduino.compiler.cpp.sketch.input.1891005721" name="CPP source files" superClass="it.baeyens.arduino.compiler.cpp.sketch.input"/>
</tool>
<tool id="it.baeyens.arduino.tool.compiler.c.1824859900" name="Arduino C Compiler" superClass="it.baeyens.arduino.tool.compiler.c">
<option id="it.baeyens.arduino.compiler.c.sketch.option.incpath.1214809450" name="Include Paths (-I)" superClass="it.baeyens.arduino.compiler.c.sketch.option.incpath" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/MeterBusPowerMaster/arduino/core}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/MeterBusPowerMaster/arduino/variant}&quot;"/>
</option>
<inputType id="it.baeyens.arduino.compiler.c.sketch.input.1699157217" name="C Source Files" superClass="it.baeyens.arduino.compiler.c.sketch.input"/>
</tool>
<tool id="it.baeyens.arduino.tool.ar.435483260" name="Arduino archiver" superClass="it.baeyens.arduino.tool.ar"/>
<tool id="it.baeyens.arduino.tool.combine.94292001" name="Arduino combiner" superClass="it.baeyens.arduino.tool.combine"/>
<tool id="it.baeyens.arduino.tool.objcopy.eep.1053166681" name="Arduino tool Create eeprom" superClass="it.baeyens.arduino.tool.objcopy.eep"/>
<tool id="it.baeyens.arduino.tool.objcopy.flash.1129510459" name="Arduino tool Create hex" superClass="it.baeyens.arduino.tool.objcopy.flash"/>
<tool id="it.baeyens.arduino.tool.size.1670520754" name="Arduino tool Print Size" superClass="it.baeyens.arduino.tool.size"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="Libraries/*/?xamples" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="NetMeterBusPowerMaster.null.1314250442" name="NetMeterBusPowerMaster"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Release">
<resource resourceType="PROJECT" workspacePath="/NetMeterBusPowerMaster"/>
</configuration>
</storageModule>
</cproject>

3
.hgignore Normal file
View File

@ -0,0 +1,3 @@
syntax: regexp
^Release$

54
.project Normal file
View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MeterBusPowerMaster</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>it.baeyens.arduinonature</nature>
</natures>
<linkedResources>
<link>
<name>arduino/core</name>
<type>2</type>
<locationURI>ArduinoPlatformPath/cores/arduino</locationURI>
</link>
<link>
<name>arduino/variant</name>
<type>2</type>
<locationURI>ArduinoPinPath/micro</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>ArduinoHardwareLibPath</name>
<value>file:/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/libraries</value>
</variable>
<variable>
<name>ArduinoPinPath</name>
<value>file:/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/variants</value>
</variable>
<variable>
<name>ArduinoPlatformPath</name>
<value>file:/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr</value>
</variable>
</variableList>
</projectDescription>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="it.baeyens.arduino.core.toolChain.release.1518476005" name="Release">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider class="it.baeyens.arduino.toolchain.ArduinoLanguageProvider" console="false" id="it.baeyens.arduino.languageSettingsProvider" keep-relative-paths="false" name="Arduino Compiler Settings" parameter="${COMMAND} -E -P -v -dD ${INPUTS}" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
</project>

View File

@ -0,0 +1,297 @@
eclipse.preferences.version=1
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.ARCHIVE_FILE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.ARCHIVE_FILE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.ARCHIVE_FILE/value=arduino.ar
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.EXTENDED_FUSES/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.EXTENDED_FUSES/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.EXTENDED_FUSES/value=0xcb
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.FILE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.FILE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.FILE/value=caterina/Caterina-Micro.hex
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.HIGH_FUSES/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.HIGH_FUSES/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.HIGH_FUSES/value=0xd8
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.LOCK_BITS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.LOCK_BITS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.LOCK_BITS/value=0x2F
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.LOW_FUSES/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.LOW_FUSES/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.LOW_FUSES/value=0xff
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.TOOL/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.TOOL/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.TOOL/value=avrdude
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.UNLOCK_BITS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.UNLOCK_BITS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BOOTLOADER.UNLOCK_BITS/value=0x3F
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.CORE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.CORE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.CORE/value=arduino
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.EXTRA_FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.EXTRA_FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.EXTRA_FLAGS/value=-DUSB_VID\=${A.BUILD.VID} -DUSB_PID\=${A.BUILD.PID}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.F_CPU/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.F_CPU/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.F_CPU/value=16000000L
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.MCU/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.MCU/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.MCU/value=atmega32u4
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PATH/value=${ProjDirPath}/${ConfigName}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PID/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PID/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PID/value=0x8037
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PROJECT_NAME/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PROJECT_NAME/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.PROJECT_NAME/value=${ProjName}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.USE_ARCHIVER/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.USE_ARCHIVER/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.USE_ARCHIVER/value=true
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VARIANT.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VARIANT.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VARIANT.PATH/value=/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/variants/${A.BUILD.VARIANT}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VARIANT/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VARIANT/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VARIANT/value=micro
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VID/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VID/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.BUILD.VID/value=0x2341
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CMD.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CMD.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CMD.PATH/value=${A.TOOLS.AVRDUDE.CMD.PATH}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CMD/value=${A.TOOLS.BOSSAC.CMD}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.AR.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.AR.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.AR.CMD/value=avr-ar
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.AR.FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.AR.FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.AR.FLAGS/value=rcs
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.CMD/value=avr-gcc
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.ELF.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.ELF.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.ELF.CMD/value=avr-gcc
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.ELF.FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.ELF.FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.ELF.FLAGS/value=-Os -Wl,--gc-sections
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.C.FLAGS/value=-c -g -Os -w -ffunction-sections -fdata-sections -MMD
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.CPP.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.CPP.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.CPP.CMD/value=avr-g++
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.CPP.FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.CPP.FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.CPP.FLAGS/value=-c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.ELF2HEX.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.ELF2HEX.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.ELF2HEX.CMD/value=avr-objcopy
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.ELF2HEX.FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.ELF2HEX.FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.ELF2HEX.FLAGS/value=-O ihex -R .eeprom
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.LDFLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.LDFLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.LDFLAGS/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.OBJCOPY.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.OBJCOPY.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.OBJCOPY.CMD/value=avr-objcopy
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.OBJCOPY.EEP.FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.OBJCOPY.EEP.FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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.1518476005/A.COMPILER.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avr/bin/
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.S.FLAGS/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.S.FLAGS/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.S.FLAGS/value=-c -g -assembler-with-cpp
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.SIZE.CMD/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.SIZE.CMD/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.COMPILER.SIZE.CMD/value=avr-size
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CONFIG.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CONFIG.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.CONFIG.PATH/value=${A.TOOLS.AVRDUDE.CONFIG.PATH}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.NAME/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.NAME/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.NAME/value=Arduino Micro
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.PATH/value=${A.TOOLS.BOSSAC.PATH}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN.1/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN.1/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.AR.CMD}" ${A.COMPILER.AR.FLAGS} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}"
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN.2/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN.2/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN.2/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.AR.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.AR.CMD}" ${A.COMPILER.AR.FLAGS} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" "${A.OBJECT_FILE}"
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.COMBINE.PATTERN.1/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.COMBINE.PATTERN.1/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.COMBINE.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mmcu\=${A.BUILD.MCU} -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf"
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.COMBINE.PATTERN.2/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.COMBINE.PATTERN.2/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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.1518476005/A.RECIPE.C.COMBINE.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.COMBINE.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.COMBINE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mmcu\=${A.BUILD.MCU} -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.1518476005/A.RECIPE.C.O.PATTERN.1/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN.1/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN.2/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN.2/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN.2/value=\ -o
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN.3/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN.3/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN.3/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.C.O.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.1/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.1/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.2/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.2/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.2/value=\ -o
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.3/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.3/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN.3/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.CPP.O.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.EEP.PATTERN.1/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.EEP.PATTERN.1/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.EEP.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.OBJCOPY.CMD}" ${A.COMPILER.OBJCOPY.EEP.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.1518476005/A.RECIPE.OBJCOPY.EEP.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.EEP.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.EEP.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.OBJCOPY.CMD}" ${A.COMPILER.OBJCOPY.EEP.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.1518476005/A.RECIPE.OBJCOPY.HEX.PATTERN.1/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.HEX.PATTERN.1/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.HEX.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.ELF2HEX.CMD}" ${A.COMPILER.ELF2HEX.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.1518476005/A.RECIPE.OBJCOPY.HEX.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.HEX.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.OBJCOPY.HEX.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.ELF2HEX.CMD}" ${A.COMPILER.ELF2HEX.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.1518476005/A.RECIPE.SIZE.PATTERN.1/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.PATTERN.1/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.SIZE.CMD}" -A "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex"
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.SIZE.CMD}" -A "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex"
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.REGEX/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.REGEX/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RECIPE.SIZE.REGEX/value=Total\\s+([0-9]+).*
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RUNTIME.IDE.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RUNTIME.IDE.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RUNTIME.IDE.PATH/value=/Applications/Arduino.app/Contents/Resources/Java
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RUNTIME.IDE.VERSION/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RUNTIME.IDE.VERSION/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.RUNTIME.IDE.VERSION/value=152
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.SOFTWARE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.SOFTWARE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.SOFTWARE/value=ARDUINO
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/value=-q -q
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/value=-v -v -v -v
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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.IDE.PATH}/hardware/arduino/avr/bootloaders/${A.BOOTLOADER.FILE}\:i" -Ulock\:w\:${A.BOOTLOADER.LOCK_BITS}\:m
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CMD.PATH.LINUX/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CMD.PATH.LINUX/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CMD.PATH.LINUX/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avrdude
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CMD.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CMD.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CMD.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avr/bin/avrdude
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CONFIG.PATH.LINUX/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CONFIG.PATH.LINUX/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CONFIG.PATH.LINUX/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avrdude.conf
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CONFIG.PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CONFIG.PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.CONFIG.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/avr/etc/avrdude.conf
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/value=-q -q
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/value=-v -v -v -v
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.ERASE.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/value=-q -q
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/value=-v -v -v -v
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.PROGRAM.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/value=-q -q
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/value=-v -v -v -v
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PATTERN/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.TOOLS.AVRDUDE.UPLOAD.PATTERN/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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.1518476005/A.UPLOAD.DISABLE_FLUSHING/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.DISABLE_FLUSHING/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.DISABLE_FLUSHING/value=true
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.MAXIMUM_SIZE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.MAXIMUM_SIZE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.MAXIMUM_SIZE/value=28672
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.PROTOCOL/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.PROTOCOL/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.PROTOCOL/value=avr109
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.SPEED/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.SPEED/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.SPEED/value=57600
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.TOOL/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.TOOL/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.TOOL/value=avrdude
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.USE_1200BPS_TOUCH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.USE_1200BPS_TOUCH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.USE_1200BPS_TOUCH/value=true
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/value=true
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.BOARDS_FILE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.BOARDS_FILE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.BOARDS_FILE/value=/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/boards.txt
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.BOARD_NAME/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.BOARD_NAME/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.BOARD_NAME/value=Arduino Micro
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.COM_PORT/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.COM_PORT/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.COM_PORT/value=/dev/tty.usbmodemfd111
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.C.COMPILE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.C.COMPILE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.C.COMPILE/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.COMPILE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.COMPILE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.COMPILE/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.CPP.COMPILE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.CPP.COMPILE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.EXTRA.CPP.COMPILE/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.PLATFORM_FILE/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.PLATFORM_FILE/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.PLATFORM_FILE/value=/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/platform.txt
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.Processor/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.Processor/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.Processor/value=
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.SIZE.SWITCH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.SIZE.SWITCH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.SIZE.SWITCH/value=${A.RECIPE.SIZE.PATTERN}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.SIZE_COMMAND/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/JANTJE.SIZE_COMMAND/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/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.1518476005/PATH/delimiter=\:
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/PATH/operation=replace
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/PATH/value=${A.COMPILER.PATH}${PathDelimiter}${A.BUILD.GENERIC.PATH}${PathDelimiter}${PATH}
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/append=true
environment/project/it.baeyens.arduino.core.toolChain.release.1518476005/appendContributed=true

34
MeterBusPowerMaster.cpp Normal file
View File

@ -0,0 +1,34 @@
// Do not remove the include below
#include <HardwareSerial.h>
#include "MeterBusPowerMaster.h"
#include "cmd.h"
#include "test.h"
#include "uptime.h"
#include "meterBusMaster.h"
static CmdServer cmdServer(&Serial);
static TestCmd testCmd;
static Uptime uptime;
static MeterBusMaster meterBusMaster;
void setup() {
cmdServer.begin();
testCmd.registerYourself(&cmdServer);
uptime.begin(&cmdServer);
meterBusMaster.begin(&cmdServer);
Serial.println("Good afternoon, Sir!");
}
void loop() {
cmdServer.exec();
uptime.exec();
meterBusMaster.exec();
}

29
MeterBusPowerMaster.h Normal file
View File

@ -0,0 +1,29 @@
// Only modify this file to include
// - function definitions (prototypes)
// - include files
// - extern variable definitions
// In the appropriate section
#ifndef NetMeterBusPowerMaster_H_
#define NetMeterBusPowerMaster_H_
#include "Arduino.h"
//add your includes for the project NetMeterBusPowerMaster 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 NetMeterBusPowerMaster here
//Do not add code below this line
#endif /* NetMeterBusPowerMaster_H_ */

97
cmd.cpp Normal file
View File

@ -0,0 +1,97 @@
#include <HardwareSerial.h>
#include "cmd.h"
#include "fatal.h"
void Cmd::registerYourself(CmdServer *cmdServer) {
cmdServer->registerCmd(this);
}
CmdServer::CmdServer(Stream *p_stream) :
m_stream(p_stream), cmd(""), params(""), cmdListIdx(0)
{
}
void CmdServer::begin() {
((Serial_*)m_stream)->begin(9600);
}
void CmdServer::exec() {
static uint8_t state = 0;
bool done = false;
if (m_stream->available()) {
char ch;
while ((ch = m_stream->read()) != -1) {
switch (state) {
case 0:
if ((ch != ' ') && (ch != '\n')) {
cmd += ch;
} else if (ch == '\n') {
done = true;
} else {
state = 1;
}
break;
case 1:
if (ch != '\n') {
params += ch;
} else {
done = true;
state = 0;
}
break;
}
if (done) {
m_stream->println("Cmd: " + cmd);
parseCommand();
cmd = "";
params = "";
}
}
}
}
void CmdServer::registerCmd(Cmd *cmdObj) {
if (cmdListIdx < NUM_OF_COMMANDS) {
cmdList[cmdListIdx] = cmdObj;
cmdListIdx++;
} else {
fatal(FATAL_NOT_ENOUGH_CMD_SLOTS);
}
}
void CmdServer::parseCommand() {
//m_client.println("cmd: " + cmd);
//m_client.println("params: " + params);
if (cmd.equalsIgnoreCase("help")) {
for (uint8_t i = 0; i < cmdListIdx; i++) {
Cmd *c = cmdList[i];
m_stream->println(c->getCmdName() + " " + c->getHelp());
}
m_stream->println("HELP List this help for all commands");
} else {
bool found = false;
for (uint8_t i = 0; i < cmdListIdx; i++) {
// m_client.println("Check: " + cmdList[i]->getCmdName());
if (cmdList[i]->getCmdName().equalsIgnoreCase(cmd)) {
found = true;
// m_client.println("cmd found");
cmdList[i]->setClient(m_stream);
String res = cmdList[i]->exec(params);
m_stream->println(res);
break;
}
}
if (! found)
m_stream->println("command not found");
}
}

46
cmd.h Normal file
View File

@ -0,0 +1,46 @@
#ifndef CMD_H_
#define CMD_H_
#include <Arduino.h>
#include <stdint.h>
#include <WString.h>
#include <Print.h>
#include <Stream.h>
static const uint8_t NUM_OF_COMMANDS = 10;
class CmdServer;
class Cmd {
public:
virtual ~Cmd() {};
void setClient(Stream *p_stream) { m_stream = p_stream; };
virtual String exec(String params) =0;
virtual String getCmdName() =0;
virtual String getHelp() =0;
virtual void registerYourself(CmdServer *cmdServer);
protected:
Stream *m_stream;
};
class CmdServer {
public:
CmdServer(Stream *p_stream);
void begin();
void exec();
void registerCmd(Cmd *cmdObj);
private:
void parseCommand();
Stream *m_stream;
String cmd;
String params;
uint8_t cmdListIdx;
Cmd *cmdList[NUM_OF_COMMANDS];
};
#endif /* CMD_H_ */

11
fatal.cpp Normal file
View File

@ -0,0 +1,11 @@
#include <avr/interrupt.h>
#include"fatal.h"
void fatal(uint8_t code) {
cli();
// do something with the code and somehow show that there is a problem
while (1);
}

15
fatal.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef FATAL_H_
#define FATAL_H_
#include <stdint.h>
const uint8_t FATAL_UNKNOWN = 1;
const uint8_t FATAL_NOT_ENOUGH_CMD_SLOTS = 2;
const uint8_t FATAL_BUFFER_OVERFLOW = 10;
void fatal(uint8_t code);
#endif /* FATAL_H_ */

20
mBusDialog.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef MBUS_DIALOG_H_
#define MBUS_DIALOG_H_
#include <stdint.h>
class ResponseCallback {
public:
virtual void sendResponse(uint8_t *responseBuffer, uint16_t responseBufferLength) =0;
virtual void sendError(uint8_t code) = 0;
};
class RequestSender {
public:
virtual uint8_t *getSendBuffer() =0;
virtual void sendBufferReady(uint16_t bufLen, ResponseCallback *responseCallback) =0;
};
#endif /* MBUS_DIALOG_H_ */

232
meterBusMaster.cpp Normal file
View File

@ -0,0 +1,232 @@
#include <Arduino.h>
#include <stdio.h>
#include <WString.h>
#include <Print.h>
#include <HardwareSerial.h>
#include "meterBusMaster.h"
// #include "config.h"
#include "fatal.h"
uint8_t charToNibble(char i) {
uint8_t r = 99;
if ((i >= '0') && (i <= '9')) {
r = i - '0';
} else if ((i >= 'a') && (i <= 'f')) {
r = i - 'a' + 10;
} else if ((i >= 'A') && (i <= 'F')) {
r = i - 'A' + 10;
}
return r;
}
uint16_t stringToUInt8(String i, uint8_t index) {
uint16_t r = 999;
char b0 = i[index];
uint8_t c0 = charToNibble(b0);
char b1 = i[index + 1];
uint8_t c1 = charToNibble(b1);
if ((c0 <= 15) && (c1 <= 15)) {
r = (c0 << 4) | c1;
}
return r;
}
// =====================================================================================================
String SendOctets::exec(String params) {
bool err = false;;
uint16_t sendBufLen = 0;
uint8_t *sendBuffer = m_meterBusMaster->getSendBuffer();
if (sendBuffer == 0) {
err = true;
} else {
uint16_t n;
for (uint16_t j = 0; j < params.length(); j+=3) {
n = stringToUInt8(params, j);
if (n == 999) {
err = true;
break;
}
if (sendBufLen >= SEND_BUFFER_SIZE)
fatal(FATAL_BUFFER_OVERFLOW + 2);
*(sendBuffer+sendBufLen) = n;
sendBufLen++;
}
}
if (err) {
return "error";
} else {
m_meterBusMaster->sendBufferReady(sendBufLen, this);
return "success";
}
}
void SendOctets::sendResponse(uint8_t *responseBuffer, uint16_t responseBufferLength) {
Print *out = m_stream;
out->print("SO RESP: ");
uint16_t i = 0;
while (true) {
if (responseBuffer[i] <= 0x0f) {
out->print("0");
}
out->print(responseBuffer[i], HEX);
out->print(" ");
i++;
if (i == responseBufferLength) {
break;
}
}
out->println("");
}
void SendOctets::sendError(uint8_t code) {
switch (code) {
case 1:
m_stream->println("SO RESP: no resp.");
break;
}
}
// =====================================================================================================
MeterBusMaster::MeterBusMaster() : m_sendOctets(this),
m_cmdReadyToSend(false), m_cmdReadyFromRecv(false), m_expectResponse(false),
m_sendBufLen(0), m_recvBufLen(0), m_retransmitCount(0), m_responseCallback(0) {
pinMode(RX_EN_PIN, OUTPUT);
digitalWrite(RX_EN_PIN, RX_DISABLE);
Serial1.begin(2400, SERIAL_8E1);
}
uint8_t *MeterBusMaster::getSendBuffer() {
return m_expectResponse ? 0 : m_sendBuffer;
}
void MeterBusMaster::sendBufferReady(uint16_t sendBufLen, ResponseCallback *responseCallback) {
m_cmdReadyToSend = true;
m_retransmitCount = 0;
m_sendBufLen = sendBufLen;
m_responseCallback = responseCallback;
}
void MeterBusMaster::prepareResponse(bool err, uint8_t in) {
static int16_t expectedChars = -1;
static uint8_t state = 0;
if (err) {
if (m_responseCallback != 0) {
m_responseCallback->sendError(1);
}
expectedChars = 0;
state = 0;
m_expectResponse = false;
m_responseCallback = 0;
} else {
switch (state) {
case 0:
m_recvBufLen = 0;
if (in == 0xe5) {
state = 2;
expectedChars = 0;
} else if (in == 0x10) {
state = 2;
expectedChars = 4;
} else if (in == 0x68) {
state = 1;
expectedChars = -1;
}
break;
case 1:
expectedChars = (int16_t)in;
expectedChars += 4;
state = 2;
break;
case 2:
expectedChars--;
break;
}
if (m_recvBufLen >= RECEIVE_BUFFER_SIZE)
fatal(FATAL_BUFFER_OVERFLOW + 1);
m_recvBuffer[m_recvBufLen] = in;
m_recvBufLen++;
if (expectedChars == 0) {
if (m_responseCallback != 0) {
m_responseCallback->sendResponse(m_recvBuffer, m_recvBufLen);
}
m_expectResponse = false;
state = 0;
m_responseCallback = 0;
}
}
}
void MeterBusMaster::begin(CmdServer *cmdServer) {
m_sendOctets.registerYourself(cmdServer);
}
void MeterBusMaster::sample() {
if (! m_sampling) {
m_sampling = true;
digitalWrite(RX_EN_PIN, RX_DISABLE);
}
}
void MeterBusMaster::hold() {
if (m_sampling) {
m_sampling = false;
digitalWrite(RX_EN_PIN, RX_ENABLE);
}
}
void MeterBusMaster::exec() {
static unsigned long cmdSendTime = 0;
if (m_cmdReadyToSend) {
sample();
Serial1.write(m_sendBuffer, m_sendBufLen);
Serial1.flush();
hold();
m_cmdReadyToSend = false;
m_expectResponse = true;
cmdSendTime = millis();
}
if (! m_expectResponse) {
sample();
}
// timeout
if (m_expectResponse && ((millis() - cmdSendTime) > RESPONSE_TIMEOUT)) {
m_retransmitCount++;
if (m_retransmitCount > 2) {
m_expectResponse = false;
prepareResponse(true, 0);
} else {
m_cmdReadyToSend = true;
}
}
int serialInChar = Serial1.read();
if ((serialInChar != -1) && m_expectResponse) {
prepareResponse(false, (uint8_t)serialInChar);
}
}
// =====================================================================================================

61
meterBusMaster.h Normal file
View File

@ -0,0 +1,61 @@
#ifndef METERBUSMASTER_H_
#define METERBUSMASTER_H_
#include <WString.h>
#include <Print.h>
#include "cmd.h"
#include "mBusDialog.h"
const unsigned long RESPONSE_TIMEOUT = 2000; // millisecond
#define RX_EN_PIN 2
#define RX_ENABLE LOW
#define RX_DISABLE HIGH
class SendOctets : public Cmd, public ResponseCallback {
public:
SendOctets(RequestSender *meterBusMaster) : m_meterBusMaster(meterBusMaster) {}
virtual String getCmdName() { return "SO"; }
virtual String getHelp() { return "Send octets, len first"; }
virtual String exec(String params);
virtual void sendResponse(uint8_t *responseBuffer, uint16_t responseBufferLength);
virtual void sendError(uint8_t code);
private:
RequestSender *m_meterBusMaster;
};
const uint8_t SEND_BUFFER_SIZE = 30;
const uint8_t RECEIVE_BUFFER_SIZE = 180;
class MeterBusMaster : public RequestSender {
public:
MeterBusMaster();
void begin(CmdServer *cmdServer);
void exec();
uint8_t *getSendBuffer();
void sendBufferReady(uint16_t bufLen, ResponseCallback *responseCallback);
private:
SendOctets m_sendOctets;
bool m_cmdReadyToSend;
bool m_cmdReadyFromRecv;
bool m_expectResponse;
uint16_t m_sendBufLen;
uint16_t m_recvBufLen;
uint8_t m_retransmitCount;
ResponseCallback *m_responseCallback;
uint8_t m_sendBuffer[SEND_BUFFER_SIZE];
uint8_t m_recvBuffer[RECEIVE_BUFFER_SIZE];
bool m_sampling;
void prepareResponse(bool err, uint8_t in);
void sample();
void hold();
};
#endif /* METERBUSMASTER_H_ */

7
test.cpp Normal file
View File

@ -0,0 +1,7 @@
#include <WString.h>
#include "test.h"
String TestCmd::exec(String params) {
return "Result of testCmd";
}

14
test.h Normal file
View File

@ -0,0 +1,14 @@
#ifndef TEST_H_
#define TEST_H_
#include "cmd.h"
class TestCmd : public Cmd {
public:
virtual String getCmdName() { return "TEST"; }
virtual String getHelp() { return "Just a test command"; }
virtual String exec(String params);
};
#endif /* TEST_H_ */

45
uptime.cpp Normal file
View File

@ -0,0 +1,45 @@
#include <WString.h>
#include "uptime.h"
UptimeCmd::UptimeCmd(Uptime *uptime) : m_uptime(uptime) {
}
String UptimeCmd::exec(String params) {
return m_uptime->getDays() + String(" ") +
m_uptime->getHours() + String(":") + m_uptime->getMinutes() + String(":") + m_uptime->getSeconds();
}
Uptime::Uptime() : m_uptimeCmd(this), m_seconds(0), m_minutes(0), m_hours(0), m_days(0) {
}
void Uptime::begin(CmdServer *cmdServer) {
m_uptimeCmd.registerYourself(cmdServer);
}
void Uptime::exec() {
static unsigned long lastMillis = 0;
unsigned long currentMillis = millis();
if (currentMillis >= (lastMillis + 1000)) {
m_seconds += ((currentMillis - lastMillis) / 1000);
if (m_seconds >= 60) {
m_seconds -= 60;
m_minutes++;
if (m_minutes >= 60) {
m_minutes -= 60;
m_hours++;
if (m_hours >= 24) {
m_hours -= 24;
m_days++;
}
}
}
lastMillis = currentMillis;
}
}

39
uptime.h Normal file
View File

@ -0,0 +1,39 @@
#ifndef UPTIME_H_
#define UPTIME_H_
#include "cmd.h"
class Uptime;
class UptimeCmd : public Cmd {
public:
UptimeCmd(Uptime *uptime);
virtual String getCmdName() { return "UP"; }
virtual String getHelp() { return "Uptime"; }
virtual String exec(String params);
private:
Uptime *m_uptime;
};
class Uptime {
public:
Uptime();
void begin(CmdServer *cmdServer);
void exec();
uint8_t getSeconds() { return m_seconds; };
uint8_t getMinutes() { return m_minutes; };
uint8_t getHours() { return m_hours; };
uint8_t getDays() { return m_days; };
private:
UptimeCmd m_uptimeCmd;
uint8_t m_seconds;
uint8_t m_minutes;
uint8_t m_hours;
uint16_t m_days;
};
#endif /* TEST_H_ */