diff --git a/.cproject b/.cproject index f4edd1a..2fab03e 100644 --- a/.cproject +++ b/.cproject @@ -21,10 +21,8 @@ - - + - @@ -32,6 +30,7 @@ + @@ -39,7 +38,7 @@ - + @@ -73,11 +72,6 @@ - - - - - + - diff --git a/.settings/org.eclipse.cdt.codan.core.prefs b/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 0000000..77386c2 --- /dev/null +++ b/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/.settings/org.eclipse.cdt.core.prefs b/.settings/org.eclipse.cdt.core.prefs index 5ad076c..914089a 100644 --- a/.settings/org.eclipse.cdt.core.prefs +++ b/.settings/org.eclipse.cdt.core.prefs @@ -1,260 +1,260 @@ eclipse.preferences.version=1 -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.ARCHIVE_FILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.ARCHIVE_FILE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.ARCHIVE_FILE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.ARCHIVE_FILE/value=arduino.ar -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.CORE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.CORE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.CORE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.CORE/value=arduino -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.EXTRA_FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.EXTRA_FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.EXTRA_FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.EXTRA_FLAGS/value=-D__SAM3X8E__ -mthumb -DUSB_PID\=${A.BUILD.PID} -DUSB_VID\=${A.BUILD.VID} -DUSBCON -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.F_CPU/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.F_CPU/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.F_CPU/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.F_CPU/value=84000000L -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.GENERIC.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.GENERIC.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.GENERIC.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.GENERIC.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/g++_arm_none_eabi/arm-none-eabi/bin -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.LDSCRIPT/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.LDSCRIPT/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.LDSCRIPT/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.LDSCRIPT/value=linker_scripts/gcc/flash.ld -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.MCU/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.MCU/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.MCU/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.MCU/value=cortex-m3 -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PATH/value=${ProjDirPath}/${ConfigName} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PID/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PID/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PID/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PID/value=0x003e -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PROJECT_NAME/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PROJECT_NAME/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PROJECT_NAME/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.PROJECT_NAME/value=${ProjName} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.SYSTEM.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.SYSTEM.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.SYSTEM.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.SYSTEM.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/arduino/sam/system -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.USE_ARCHIVER/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.USE_ARCHIVER/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.USE_ARCHIVER/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.USE_ARCHIVER/value=true -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT.PATH/operation=replace -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT.PATH/value=/usr/local/arduino-1.5.4/hardware/arduino/sam/variants/${A.BUILD.VARIANT} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT.PATH/value=C:/Arduino-1.5.4/hardware/arduino/sam/variants/${A.BUILD.VARIANT} +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT/value=arduino_due_x -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT_SYSTEM_LIB/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT_SYSTEM_LIB/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT_SYSTEM_LIB/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VARIANT_SYSTEM_LIB/value=libsam_sam3x8e_gcc_rel.a -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VID/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VID/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VID/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.BUILD.VID/value=0x2341 -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD.PATH/value=${A.TOOLS.AVRDUDE.CMD.PATH} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CMD/value=${A.TOOLS.BOSSAC.CMD} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.CMD/value=arm-none-eabi-ar -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.AR.FLAGS/value=rcs -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.CMD/value=arm-none-eabi-gcc -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.CMD/value=arm-none-eabi-g++ -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.ELF.FLAGS/value=-Os -Wl,--gc-sections -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.C.FLAGS/value=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single\=500 -Dprintf\=iprintf -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.CMD/value=arm-none-eabi-g++ -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.CPP.FLAGS/value=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single\=500 -fno-rtti -fno-exceptions -Dprintf\=iprintf -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.DEFINE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.DEFINE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.DEFINE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.DEFINE/value=-DARDUINO\= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.CMD/value=arm-none-eabi-objcopy -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.ELF2HEX.FLAGS/value=-O binary -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LDFLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LDFLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LDFLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LDFLAGS/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LIBSAM.C.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LIBSAM.C.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LIBSAM.C.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.LIBSAM.C.FLAGS/value="-I${A.BUILD.SYSTEM.PATH}/libsam" "-I${A.BUILD.SYSTEM.PATH}/CMSIS/CMSIS/Include/" "-I${A.BUILD.SYSTEM.PATH}/CMSIS/Device/ATMEL/" -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.OBJCOPY.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.OBJCOPY.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.OBJCOPY.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.OBJCOPY.CMD/value=arm-none-eabi-objcopy -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.OBJCOPY.EEP.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.OBJCOPY.EEP.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.OBJCOPY.EEP.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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.674980254/A.COMPILER.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools/g++_arm_none_eabi/bin/ -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.S.FLAGS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.S.FLAGS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.S.FLAGS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.S.FLAGS/value=-c -g -assembler-with-cpp -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.SIZE.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.SIZE.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.SIZE.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.COMPILER.SIZE.CMD/value=arm-none-eabi-size -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CONFIG.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CONFIG.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CONFIG.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.CONFIG.PATH/value=${A.TOOLS.AVRDUDE.CONFIG.PATH} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.NAME/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.NAME/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.NAME/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.NAME/value=Arduino Due (Native USB Port) -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.PATH/value=${A.TOOLS.BOSSAC.PATH} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN.1/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN.1/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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.674980254/A.RECIPE.AR.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN.2/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN.2/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN.2/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.AR.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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.674980254/A.RECIPE.C.COMBINE.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN.1/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN.1/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mcpu\=${A.BUILD.MCU} "-T${A.BUILD.VARIANT.PATH}/${A.BUILD.LDSCRIPT}" "-Wl,-Map,${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.map" -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "-L${A.BUILD.PATH}" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry\=Reset_Handler -Wl,--unresolved-symbols\=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "${A.BUILD.PATH}/arduino/syscalls_sam3.c.o" -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN.2/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN.2/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN.2/value=\ "${A.BUILD.VARIANT.PATH}/${A.BUILD.VARIANT_SYSTEM_LIB}" "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" -Wl,--end-group -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.COMBINE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mcpu\=${A.BUILD.MCU} "-T${A.BUILD.VARIANT.PATH}/${A.BUILD.LDSCRIPT}" "-Wl,-Map,${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.map" -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "-L${A.BUILD.PATH}" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry\=Reset_Handler -Wl,--unresolved-symbols\=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "${A.BUILD.PATH}/arduino/syscalls_sam3.c.o" ${A.OBJECT_FILES} "${A.BUILD.VARIANT.PATH}/${A.BUILD.VARIANT_SYSTEM_LIB}" "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" -Wl,--end-group -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.1/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.1/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.C.FLAGS} -mcpu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.COMPILER.LIBSAM.C.FLAGS} ${A.INCLUDES} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.2/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.2/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.2/value=\ -o -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.3/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.3/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.3/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN.3/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.C.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.C.FLAGS} -mcpu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.COMPILER.LIBSAM.C.FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}" -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.1/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.1/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.CPP.CMD}" ${A.COMPILER.CPP.FLAGS} -mcpu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.COMPILER.LIBSAM.C.FLAGS} ${A.INCLUDES} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.2/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.2/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.2/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.2/value=\ -o -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.3/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.3/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.3/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN.3/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.CPP.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.CPP.CMD}" ${A.COMPILER.CPP.FLAGS} -mcpu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -D${A.SOFTWARE}\=${A.RUNTIME.IDE.VERSION} ${A.BUILD.EXTRA_FLAGS} ${A.COMPILER.LIBSAM.C.FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}" -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN.1/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN.1/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN.1/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.EEP.PATTERN/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.HEX.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.HEX.PATTERN.1/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.HEX.PATTERN.1/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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}.bin" -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.HEX.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.HEX.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.OBJCOPY.HEX.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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}.bin" -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.PATTERN.1/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.PATTERN.1/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.PATTERN.1/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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.674980254/A.RECIPE.SIZE.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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.674980254/A.RECIPE.SIZE.REGEX/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.REGEX/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.REGEX/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RECIPE.SIZE.REGEX/value=\\.text\\s+([0-9]+).* -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.PATH/operation=replace -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.PATH/value=/usr/local/arduino-1.5.4 -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.VERSION/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.PATH/value=C:/Arduino-1.5.4 +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.VERSION/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.VERSION/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.RUNTIME.IDE.VERSION/value=154 -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.SOFTWARE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.SOFTWARE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.SOFTWARE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.SOFTWARE/value=ARDUINO -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD.WINDOWS/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD.WINDOWS/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD.WINDOWS/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD.WINDOWS/value=bossac.exe -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.CMD/value=bossac -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.PATH/value=${A.RUNTIME.IDE.PATH}/hardware/tools -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.QUIET/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.QUIET/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.QUIET/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.QUIET/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.VERBOSE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.VERBOSE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.VERBOSE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PARAMS.VERBOSE/value=-i -d -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PATTERN/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PATTERN/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PATTERN/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.TOOLS.BOSSAC.UPLOAD.PATTERN/value="${A.PATH}/${A.CMD}" ${A.UPLOAD.VERBOSE} --port\=${A.SERIAL.PORT.FILE} -U ${A.UPLOAD.NATIVE_USB} -e -w -v -b "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.bin" -R -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.MAXIMUM_SIZE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.MAXIMUM_SIZE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.MAXIMUM_SIZE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.MAXIMUM_SIZE/value=524288 -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.NATIVE_USB/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.NATIVE_USB/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.NATIVE_USB/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.NATIVE_USB/value=true -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.PROTOCOL/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.PROTOCOL/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.PROTOCOL/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.PROTOCOL/value=sam-ba -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.TOOL/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.TOOL/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.TOOL/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.TOOL/value=bossac -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.USE_1200BPS_TOUCH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.USE_1200BPS_TOUCH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.USE_1200BPS_TOUCH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.USE_1200BPS_TOUCH/value=true -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/A.UPLOAD.WAIT_FOR_UPLOAD_PORT/value=true -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARDS_FILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARDS_FILE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARDS_FILE/operation=replace -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARDS_FILE/value=/usr/local/arduino-1.5.4/hardware/arduino/sam/boards.txt -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARD_NAME/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARDS_FILE/value=C:/Arduino-1.5.4/hardware/arduino/sam/boards.txt +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARD_NAME/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARD_NAME/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.BOARD_NAME/value=Arduino Due (Native USB Port) -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.COM_PORT/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.COM_PORT/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.COM_PORT/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.COM_PORT/value=/dev/ttyACM0 -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.C.COMPILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.C.COMPILE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.C.COMPILE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.C.COMPILE/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.COMPILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.COMPILE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.COMPILE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.COMPILE/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.CPP.COMPILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.CPP.COMPILE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.CPP.COMPILE/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.EXTRA.CPP.COMPILE/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.PLATFORM_FILE/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.PLATFORM_FILE/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.PLATFORM_FILE/operation=replace -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.PLATFORM_FILE/value=/usr/local/arduino-1.5.4/hardware/arduino/sam/platform.txt -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.Processor/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.PLATFORM_FILE/value=C:/Arduino-1.5.4/hardware/arduino/sam/platform.txt +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.Processor/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.Processor/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.Processor/value= -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.SIZE.SWITCH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.SIZE.SWITCH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.SIZE.SWITCH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.SIZE.SWITCH/value=${A.RECIPE.SIZE.PATTERN} -environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.SIZE_COMMAND/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.SIZE_COMMAND/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/JANTJE.SIZE_COMMAND/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/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.674980254/PATH/delimiter=\: +environment/project/it.baeyens.arduino.core.toolChain.release.674980254/PATH/delimiter=\; environment/project/it.baeyens.arduino.core.toolChain.release.674980254/PATH/operation=replace environment/project/it.baeyens.arduino.core.toolChain.release.674980254/PATH/value=${A.COMPILER.PATH}${PathDelimiter}${A.BUILD.GENERIC.PATH}${PathDelimiter}${PATH} environment/project/it.baeyens.arduino.core.toolChain.release.674980254/append=true diff --git a/Configuration.h b/Configuration.h index f48b7fc..362f419 100644 --- a/Configuration.h +++ b/Configuration.h @@ -24,7 +24,7 @@ Licence: GPL #define CONFIGURATION_H #define NAME "RepRapFirmware" -#define VERSION "0.78t-alpha-dc42" +#define VERSION "0.78t-dc42" #define DATE "2014-09-26" #define AUTHORS "reprappro, dc42, zpl" diff --git a/GCodes.cpp b/GCodes.cpp index 8ab2617..ce3ab51 100644 --- a/GCodes.cpp +++ b/GCodes.cpp @@ -39,6 +39,8 @@ GCodes::GCodes(Platform* p, Webserver* w) cannedCycleGCode = new GCodeBuffer(platform, "macro: "); } +const char GCodes::axisLetters[AXES] = {'X', 'Y', 'Z'}; + void GCodes::Exit() { platform->Message(BOTH_MESSAGE, "GCodes class exited.\n"); @@ -50,9 +52,8 @@ void GCodes::Init() Reset(); drivesRelative = true; axesRelative = false; - axisLetters = AXIS_LETTERS; distanceScale = 1.0; - for (int8_t i = 0; i < DRIVES - AXES; i++) + for (unsigned int i = 0; i < DRIVES - AXES; i++) { lastPos[i] = 0.0; } @@ -366,7 +367,7 @@ bool GCodes::LoadMoveBufferFromGCode(GCodeBuffer *gb, bool doingG92, bool applyL // First do extrusion, and check, if we are extruding, that we have a tool to extrude with Tool* tool = reprap.GetCurrentTool(); - if(gb->Seen(EXTRUDE_LETTER)) + if(gb->Seen(extrudeLetter)) { if(tool == NULL) { @@ -446,7 +447,7 @@ bool GCodes::LoadMoveBufferFromGCode(GCodeBuffer *gb, bool doingG92, bool applyL // Deal with feed rate - if(gb->Seen(FEEDRATE_LETTER)) + if(gb->Seen(feedrateLetter)) { moveBuffer[DRIVES] = gb->GetFValue() * distanceScale * speedFactor; // G Code feedrates are in mm/minute; we need mm/sec } @@ -669,7 +670,7 @@ bool GCodes::OffsetAxes(GCodeBuffer* gb) } } - if(gb->Seen(FEEDRATE_LETTER)) // Has the user specified a feedrate? + if(gb->Seen(feedrateLetter)) // Has the user specified a feedrate? { moveToDo[DRIVES] = gb->GetFValue(); activeDrive[DRIVES] = true; @@ -2064,7 +2065,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb) } } - if(gb->Seen(EXTRUDE_LETTER)) + if(gb->Seen(extrudeLetter)) { seen = true; float eVals[DRIVES-AXES]; @@ -2400,7 +2401,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb) } } - if(gb->Seen(EXTRUDE_LETTER)) + if(gb->Seen(extrudeLetter)) { seen = true; float eVals[DRIVES-AXES]; @@ -2448,7 +2449,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb) } } - if(gb->Seen(EXTRUDE_LETTER)) + if(gb->Seen(extrudeLetter)) { seen = true; float eVals[DRIVES-AXES]; @@ -2897,7 +2898,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb) } } - if(gb->Seen(EXTRUDE_LETTER)) + if(gb->Seen(extrudeLetter)) { seen = true; float eVals[DRIVES-AXES]; @@ -2970,7 +2971,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb) } } - if(gb->Seen(EXTRUDE_LETTER)) + if(gb->Seen(extrudeLetter)) { float eVals[DRIVES-AXES]; int eCount = DRIVES-AXES; diff --git a/GCodes.h b/GCodes.h index 4e43886..c70c34d 100644 --- a/GCodes.h +++ b/GCodes.h @@ -25,9 +25,8 @@ Licence: GPL #define STACK 5 #define GCODE_LENGTH 100 // Maximum length of internally-generated G Code string -#define AXIS_LETTERS { 'X', 'Y', 'Z' } // The axes in a GCode -#define FEEDRATE_LETTER 'F'// GCode feedrate -#define EXTRUDE_LETTER 'E' // GCode extrude +const char feedrateLetter = 'F'; // GCode feedrate +const char extrudeLetter = 'E'; // GCode extrude // Type for specifying which endstops we want to check typedef uint8_t EndstopChecks; @@ -168,7 +167,7 @@ class GCodes float feedrateStack[STACK]; // For dealing with Push and Pop FileData fileStack[STACK]; int8_t stackPointer; // Push and Pop stack pointer - char axisLetters[AXES]; // 'X', 'Y', 'Z' + static const char axisLetters[AXES]; // 'X', 'Y', 'Z' float lastPos[DRIVES - AXES]; // Just needed for relative moves; i.e. not X, Y and Z float record[DRIVES+1]; // Temporary store for move positions float moveToDo[DRIVES+1]; // Where to go set by G1 etc @@ -180,7 +179,7 @@ class GCodes FileStore* fileBeingWritten; // A file to write G Codes (or sometimes HTML) in FileStore* configFile; // A file containing a macro bool doingCannedCycleFile; // Are we executing a macro file? - char* eofString; // What's at the end of an HTML file? + const char* eofString; // What's at the end of an HTML file? uint8_t eofStringCounter; // Check the... uint8_t eofStringLength; // ... EoF string as we read. bool homeX; // True to home the X axis this move diff --git a/Network.cpp b/Network.cpp index a8f7f35..9e2265e 100644 --- a/Network.cpp +++ b/Network.cpp @@ -39,7 +39,6 @@ ****************************************************************************************************/ #include "RepRapFirmware.h" -#include "DueFlashStorage.h" #include "ethernet_sam.h" extern "C" diff --git a/Platform.cpp b/Platform.cpp index 2b23cf8..5f43fb4 100644 --- a/Platform.cpp +++ b/Platform.cpp @@ -122,28 +122,31 @@ void Platform::Init() pinModeNonDue(atxPowerPin, OUTPUT); DueFlashStorage::init(); - // We really want to use static_assert here, but the ancient version of gcc used by Arduino doesn't support it - //static_assert(sizeof(nvData) <= 1024, "NVData too large"); - // So instead, create a reference to a non-existent declaration if the condition fails. + +#if __cplusplus >= 201103L + static_assert(sizeof(nvData) <= 1024, "NVData too large"); +#else // We are relying on the compiler optimizing this out if the condition is false - // Watch out for the build warning "undefined reference to 'NonExistantFunction()' if this fails. + // Watch out for the build warning "undefined reference to 'BadStaticAssert()' if this fails. if (!(sizeof(nvData) <= 1024)) { extern void BadStaticAssert(); BadStaticAssert(); } +#endif + DueFlashStorage::read(nvAddress, &nvData, sizeof(nvData)); if (nvData.magic != FlashData::magicValue) { // Nonvolatile data has not been initialized since the firmware was last written, so set up default values nvData.compatibility = me; - nvData.ipAddress = IP_ADDRESS; - nvData.netMask = NET_MASK; - nvData.gateWay = GATE_WAY; - nvData.macAddress = MAC_ADDRESS; + ARRAY_INIT(nvData.ipAddress, IP_ADDRESS); + ARRAY_INIT(nvData.netMask, NET_MASK); + ARRAY_INIT(nvData.gateWay, GATE_WAY); + ARRAY_INIT(nvData.macAddress, MAC_ADDRESS); nvData.zProbeType = 0; // Default is to use the switch - nvData.zProbeAxes = Z_PROBE_AXES; + ARRAY_INIT(nvData.zProbeAxes, Z_PROBE_AXES); nvData.switchZProbeParameters.Init(0.0); nvData.irZProbeParameters.Init(Z_PROBE_STOP_HEIGHT); nvData.alternateZProbeParameters.Init(Z_PROBE_STOP_HEIGHT); @@ -190,18 +193,18 @@ void Platform::Init() // DRIVES - stepPins = STEP_PINS; - directionPins = DIRECTION_PINS; - directions = DIRECTIONS; - enablePins = ENABLE_PINS; - disableDrives = DISABLE_DRIVES; - lowStopPins = LOW_STOP_PINS; - highStopPins = HIGH_STOP_PINS; - maxFeedrates = MAX_FEEDRATES; - accelerations = ACCELERATIONS; - driveStepsPerUnit = DRIVE_STEPS_PER_UNIT; - instantDvs = INSTANT_DVS; - potWipes = POT_WIPES; + ARRAY_INIT(stepPins, STEP_PINS); + ARRAY_INIT(directionPins, DIRECTION_PINS); + ARRAY_INIT(directions, DIRECTIONS); + ARRAY_INIT(enablePins, ENABLE_PINS); + ARRAY_INIT(disableDrives, DISABLE_DRIVES); + ARRAY_INIT(lowStopPins, LOW_STOP_PINS); + ARRAY_INIT(highStopPins, HIGH_STOP_PINS); + ARRAY_INIT(maxFeedrates, MAX_FEEDRATES); + ARRAY_INIT(accelerations, ACCELERATIONS); + ARRAY_INIT(driveStepsPerUnit, DRIVE_STEPS_PER_UNIT); + ARRAY_INIT(instantDvs, INSTANT_DVS); + ARRAY_INIT(potWipes, POT_WIPES); senseResistor = SENSE_RESISTOR; maxStepperDigipotVoltage = MAX_STEPPER_DIGIPOT_VOLTAGE; numMixingDrives = NUM_MIXING_DRIVES; @@ -215,20 +218,20 @@ void Platform::Init() // AXES - axisMaxima = AXIS_MAXIMA; - axisMinima = AXIS_MINIMA; - homeFeedrates = HOME_FEEDRATES; - headOffsets = HEAD_OFFSETS; + ARRAY_INIT(axisMaxima, AXIS_MAXIMA); + ARRAY_INIT(axisMinima, AXIS_MINIMA); + ARRAY_INIT(homeFeedrates, HOME_FEEDRATES); + ARRAY_INIT(headOffsets, HEAD_OFFSETS); SetSlowestDrive(); // HEATERS - Bed is assumed to be the first - tempSensePins = TEMP_SENSE_PINS; - heatOnPins = HEAT_ON_PINS; + ARRAY_INIT(tempSensePins, TEMP_SENSE_PINS); + ARRAY_INIT(heatOnPins, HEAT_ON_PINS); heatSampleTime = HEAT_SAMPLE_TIME; - standbyTemperatures = STANDBY_TEMPERATURES; - activeTemperatures = ACTIVE_TEMPERATURES; + ARRAY_INIT(standbyTemperatures, STANDBY_TEMPERATURES); + ARRAY_INIT(activeTemperatures, ACTIVE_TEMPERATURES); coolingFanPin = COOLING_FAN_PIN; coolingFanRpmPin = COOLING_FAN_RPM_PIN; timeToHot = TIME_TO_HOT; diff --git a/RepRapFirmware.h b/RepRapFirmware.h index d321ec7..2b266c5 100644 --- a/RepRapFirmware.h +++ b/RepRapFirmware.h @@ -57,6 +57,15 @@ int StringContains(const char* string, const char* match); // Macro to give us the highest valid index into an array i.e. one less than the size #define ARRAY_UPB(_x) (ARRAY_SIZE(_x) - 1) +// Macro to assign an array from an initializer list +#if __cplusplus >= 201103L +// This version relies on C++'11 features +#define ARRAY_INIT(_dest, _init) {static const decltype(_dest) _temp = _init; memcpy(_dest, _temp, sizeof(_dest)); } +#else +// This version relies on a gcc extension that is available only in older compilers +#define ARRAY_INIT(_dest, _init) _dest = _init +#endif + // Class to describe a string buffer, including its length. This saved passing buffer lengths around everywhere. class StringRef {