intiail
This commit is contained in:
commit
13124ac90b
75
.cproject
Normal file
75
.cproject
Normal file
@ -0,0 +1,75 @@
|
||||
<?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.1898938335">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="it.baeyens.arduino.core.toolChain.release.1898938335" 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.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<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"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="it.baeyens.arduino.core.toolChain.release.1898938335" name="Release" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="it.baeyens.arduino.core.toolChain.release.1898938335.234065437" name="/" resourcePath="">
|
||||
<toolChain id="it.baeyens.arduino.core.toolChain.release.696514450" name="Arduino Toolchain" superClass="it.baeyens.arduino.core.toolChain.release">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="it.baeyens.arduino.targetplatform.1277984405" name="Arduino Target" osList="all" superClass="it.baeyens.arduino.targetplatform"/>
|
||||
<builder buildPath="${workspace_loc:/MqttMonitor}/Release" id="it.baeyens.arduino.sketch.builder.1238209556" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Arduino sketch builder" superClass="it.baeyens.arduino.sketch.builder"/>
|
||||
<tool id="it.baeyens.arduino.tool.sketch.compiler.cpp.1105246056" name="Arduino C++ Compiler" superClass="it.baeyens.arduino.tool.sketch.compiler.cpp">
|
||||
<option id="it.baeyens.arduino.compiler.cpp.sketch.option.incpath.660768886" name="Include Paths (-I)" superClass="it.baeyens.arduino.compiler.cpp.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/arduino/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/arduino/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Adafruit-GFX}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/TFTLCD}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Touch-Screen}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Libraries/Ethernet}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Libraries/Ethernet/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Libraries/SPI}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/MQTT}""/>
|
||||
</option>
|
||||
<inputType id="it.baeyens.arduino.compiler.cpp.sketch.input.505756577" name="CPP source files" superClass="it.baeyens.arduino.compiler.cpp.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="it.baeyens.arduino.tool.compiler.c.145614910" name="Arduino C Compiler" superClass="it.baeyens.arduino.tool.compiler.c">
|
||||
<option id="it.baeyens.arduino.compiler.c.sketch.option.incpath.2126801261" name="Include Paths (-I)" superClass="it.baeyens.arduino.compiler.c.sketch.option.incpath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/arduino/core}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/arduino/variant}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Adafruit-GFX}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/TFTLCD}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Touch-Screen}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Libraries/Ethernet}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Libraries/Ethernet/src}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/Libraries/SPI}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/MqttMonitor/MQTT}""/>
|
||||
</option>
|
||||
<inputType id="it.baeyens.arduino.compiler.c.sketch.input.575652065" name="C Source Files" superClass="it.baeyens.arduino.compiler.c.sketch.input"/>
|
||||
</tool>
|
||||
<tool id="it.baeyens.arduino.tool.sketch.compiler.s.2035859172" name="Arduino Assembler" superClass="it.baeyens.arduino.tool.sketch.compiler.s"/>
|
||||
<tool id="it.baeyens.arduino.tool.ar.1735903555" name="Arduino archiver" superClass="it.baeyens.arduino.tool.ar"/>
|
||||
<tool id="it.baeyens.arduino.tool.combine.1915545184" name="Arduino combiner" superClass="it.baeyens.arduino.tool.combine"/>
|
||||
<tool id="it.baeyens.arduino.tool.objcopy.eep.1786257532" name="Arduino tool Create eeprom" superClass="it.baeyens.arduino.tool.objcopy.eep"/>
|
||||
<tool id="it.baeyens.arduino.tool.objcopy.flash.1768320109" name="Arduino tool Create hex" superClass="it.baeyens.arduino.tool.objcopy.flash"/>
|
||||
<tool id="it.baeyens.arduino.tool.size.232303691" name="Arduino tool Print Size" superClass="it.baeyens.arduino.tool.size"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="MQTT|Touch-Screen|TFTLCD|Adafruit-GFX|Libraries/*/?xamples|Libraries/*/?xtras" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Adafruit-GFX"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="MQTT"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="TFTLCD"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="Touch-Screen"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="MqttMonitor.null.423915883" name="MqttMonitor"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
</cproject>
|
64
.project
Normal file
64
.project
Normal file
@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>MqttMonitor</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>Libraries/Ethernet</name>
|
||||
<type>2</type>
|
||||
<locationURI>ArduinoLibPath/Ethernet</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>Libraries/SPI</name>
|
||||
<type>2</type>
|
||||
<locationURI>ArduinoHardwareLibPath/SPI</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>arduino/core</name>
|
||||
<type>2</type>
|
||||
<locationURI>ArduinoPlatformPath/arduino</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>arduino/variant</name>
|
||||
<type>2</type>
|
||||
<locationURI>ArduinoPinPath/ethernet</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<variableList>
|
||||
<variable>
|
||||
<name>ArduinoHardwareLibPath</name>
|
||||
<value>file:/C:/Program%20Files%20(x86)/Arduino/hardware/arduino/avr/libraries</value>
|
||||
</variable>
|
||||
<variable>
|
||||
<name>ArduinoPinPath</name>
|
||||
<value>file:/C:/Program%20Files%20(x86)/Arduino/hardware/arduino/avr/variants</value>
|
||||
</variable>
|
||||
<variable>
|
||||
<name>ArduinoPlatformPath</name>
|
||||
<value>file:/C:/Program%20Files%20(x86)/Arduino/hardware/arduino/avr/cores</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
14
.settings/language.settings.xml
Normal file
14
.settings/language.settings.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="it.baeyens.arduino.core.toolChain.release.1898938335" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="it.baeyens.arduino.toolchain.ArduinoLanguageProvider" console="false" env-hash="-1594108237331115536" 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>
|
522
.settings/org.eclipse.cdt.core.prefs
Normal file
522
.settings/org.eclipse.cdt.core.prefs
Normal file
@ -0,0 +1,522 @@
|
||||
eclipse.preferences.version=1
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.ARCHITECTURE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.ARCHITECTURE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.ARCHITECTURE/value=AVR
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.ARCHIVE_FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.ARCHIVE_FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.ARCHIVE_FILE/value=arduino.ar
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOARD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOARD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOARD/value=ethernet
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.EXTENDED_FUSES/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.EXTENDED_FUSES/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.EXTENDED_FUSES/value=0x05
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.FILE/value=optiboot/optiboot_atmega328.hex
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.HIGH_FUSES/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.HIGH_FUSES/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.HIGH_FUSES/value=0xde
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.LOCK_BITS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.LOCK_BITS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.LOCK_BITS/value=0x0F
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.LOW_FUSES/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.LOW_FUSES/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.LOW_FUSES/value=0xff
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.TOOL/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.TOOL/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.TOOL/value=avrdude
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.UNLOCK_BITS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.UNLOCK_BITS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BOOTLOADER.UNLOCK_BITS/value=0x3F
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.ARCH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.ARCH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.ARCH/value=AVR
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.BOARD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.BOARD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.BOARD/value=AVR_ETHERNET
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.CORE.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.CORE.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.CORE.PATH/value=${A.RUNTIME.PLATFORM.PATH}/cores/${A.BUILD.CORE}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.CORE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.CORE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.CORE/value=${JANTJE.BUILD_CORE}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.F_CPU/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.F_CPU/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.F_CPU/value=16000000L
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.MCU/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.MCU/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.MCU/value=atmega328p
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.PATH/value=${ProjDirPath}/${ConfigName}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.PROJECT_NAME/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.PROJECT_NAME/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.PROJECT_NAME/value=${ProjName}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USB_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USB_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USB_FLAGS/value=-DUSB_VID\=${A.BUILD.VID} -DUSB_PID\=${A.BUILD.PID} -DUSB_MANUFACTURER\=\\"${A.BUILD.USB_MANUFACTURER}\\" -DUSB_PRODUCT\=\\"${A.BUILD.USB_PRODUCT}\\"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USB_MANUFACTURER/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USB_MANUFACTURER/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USB_MANUFACTURER/value="Unknown"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USE_ARCHIVER/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USE_ARCHIVER/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.USE_ARCHIVER/value=true
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.VARIANT.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.VARIANT.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.VARIANT.PATH/value=${A.RUNTIME.PLATFORM.PATH}/variants/${A.BUILD.VARIANT}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.VARIANT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.VARIANT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.VARIANT/value=${JANTJE.BUILD_VARIANT}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.WARN_DATA_PERCENTAGE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.WARN_DATA_PERCENTAGE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.BUILD.WARN_DATA_PERCENTAGE/value=75
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CMD.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CMD.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CMD.PATH/value=${A.TOOLS.AVRDUDE.CMD.PATH}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CMD/value=${A.TOOLS.AVRDUDE.CMD}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.CMD/value=avr-ar
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.AR.FLAGS/value=rcs
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.CMD/value=avr-gcc
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.CMD/value=avr-gcc
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.ELF.FLAGS/value=${A.COMPILER.WARNING_FLAGS} -Os -Wl,--gc-sections
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.C.FLAGS/value=-c -g -Os ${A.COMPILER.WARNING_FLAGS} -ffunction-sections -fdata-sections -MMD
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.CMD/value=avr-g++
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.CPP.FLAGS/value=-c -g -Os ${A.COMPILER.WARNING_FLAGS} -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.CMD/value=avr-objcopy
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.ELF2HEX.FLAGS/value=-O ihex -R .eeprom
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.LDFLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.LDFLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.LDFLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.CMD/value=avr-objcopy
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.EEP.FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.OBJCOPY.EEP.FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/A.COMPILER.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.PATH/value=${A.RUNTIME.TOOLS.AVR-GCC.PATH}/bin/
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.S.EXTRA_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.S.EXTRA_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.S.EXTRA_FLAGS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.S.FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.S.FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.S.FLAGS/value=-c -g -x assembler-with-cpp
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.SIZE.CMD/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.SIZE.CMD/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.SIZE.CMD/value=avr-size
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.ALL/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.ALL/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.ALL/value=-Wall -Wextra
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.DEFAULT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.DEFAULT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.DEFAULT/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.MORE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.MORE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.MORE/value=-Wall
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.NONE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.NONE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS.NONE/value=-w
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.COMPILER.WARNING_FLAGS/value=-w
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONFIG.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONFIG.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONFIG.PATH/value=${A.TOOLS.AVRDUDE.CONFIG.PATH}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.ERROR.FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.ERROR.FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.ERROR.FILE/value=stderr.txt
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.LENGTH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.LENGTH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.LENGTH/value=500
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.LINES/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.LINES/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.LINES/value=4
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.OUTPUT.FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.OUTPUT.FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.CONSOLE.OUTPUT.FILE/value=stdout.txt
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.DIVIDER.SIZE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.DIVIDER.SIZE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.DIVIDER.SIZE/value=2
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.FONT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.FONT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.FONT/value=Monospaced,plain,12
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.LANGUAGES.CURRENT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.LANGUAGES.CURRENT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.LANGUAGES.CURRENT/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.TABS.SIZE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.TABS.SIZE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.TABS.SIZE/value=2
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.HEIGHT.DEFAULT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.HEIGHT.DEFAULT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.HEIGHT.DEFAULT/value=600
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.HEIGHT.MIN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.HEIGHT.MIN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.HEIGHT.MIN/value=290
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.WIDTH.DEFAULT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.WIDTH.DEFAULT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.WIDTH.DEFAULT/value=500
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.WIDTH.MIN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.WIDTH.MIN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EDITOR.WINDOW.WIDTH.MIN/value=400
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.DTS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.DTS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.DTS/value=0
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.LOCAL/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.LOCAL/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.LOCAL/value=1456935069
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.UTC/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.UTC/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.UTC/value=1456931469
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.ZONE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.ZONE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.EXTRA.TIME.ZONE/value=3600
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.IDE.1.6.5.DATERUN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.IDE.1.6.5.DATERUN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.IDE.1.6.5.DATERUN/value=1456917226
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.IDE.1.6.5.HARDWAREPATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.IDE.1.6.5.HARDWAREPATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.IDE.1.6.5.HARDWAREPATH/value=C\:\\Program Files (x86)\\Arduino\\hardware
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.SKETCH.COUNT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.SKETCH.COUNT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.LAST.SKETCH.COUNT/value=0
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.NAME/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.NAME/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.NAME/value=Arduino Ethernet
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PATH/value=${A.TOOLS.AVRDUDE.PATH}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PREPROC.IMPORTS.LIST/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PREPROC.IMPORTS.LIST/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PREPROC.IMPORTS.LIST/value=java.applet.*,java.awt.Dimension,java.awt.Frame,java.awt.event.MouseEvent,java.awt.event.KeyEvent,java.awt.event.FocusEvent,java.awt.Image,java.io.*,java.net.*,java.text.*,java.util.*,java.util.zip.*,java.util.regex.*
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PROGRAMMER/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PROGRAMMER/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.PROGRAMMER/value=arduino\:avrispmkii
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.AR.CMD}" ${A.COMPILER.AR.FLAGS} ${A.COMPILER.AR.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN.2/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN.2/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN.2/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.AR.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.AR.CMD}" ${A.COMPILER.AR.FLAGS} ${A.COMPILER.AR.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" "${A.OBJECT_FILE}"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.COMBINE.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.COMBINE.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.COMBINE.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mmcu\=${A.BUILD.MCU} ${A.COMPILER.C.ELF.EXTRA_FLAGS} -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.COMBINE.PATTERN.2/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.COMBINE.PATTERN.2/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/A.RECIPE.C.COMBINE.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.COMBINE.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.COMBINE.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.ELF.CMD}" ${A.COMPILER.C.ELF.FLAGS} -mmcu\=${A.BUILD.MCU} ${A.COMPILER.C.ELF.EXTRA_FLAGS} -o "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" ${A.OBJECT_FILES} "${A.BUILD.PATH}/${A.ARCHIVE_FILE}" "-L${A.BUILD.PATH}" -lm
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.C.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.C.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.2/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.2/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.2/value=\ -o
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.3/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.3/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN.3/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.C.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.C.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.C.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.CPP.CMD}" ${A.COMPILER.CPP.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.CPP.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.2/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.2/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.2/value=\ -o
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.3/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.3/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN.3/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.CPP.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.CPP.CMD}" ${A.COMPILER.CPP.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.CPP.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.EEP.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.EEP.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.EEP.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.OBJCOPY.CMD}" ${A.COMPILER.OBJCOPY.EEP.FLAGS} ${A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.eep"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.EEP.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.EEP.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.EEP.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.OBJCOPY.CMD}" ${A.COMPILER.OBJCOPY.EEP.FLAGS} ${A.COMPILER.OBJCOPY.EEP.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.eep"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.HEX.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.HEX.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.HEX.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.ELF2HEX.CMD}" ${A.COMPILER.ELF2HEX.FLAGS} ${A.COMPILER.ELF2HEX.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.HEX.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.HEX.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OBJCOPY.HEX.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.ELF2HEX.CMD}" ${A.COMPILER.ELF2HEX.FLAGS} ${A.COMPILER.ELF2HEX.EXTRA_FLAGS} "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.elf" "${A.BUILD.PATH}/${A.BUILD.PROJECT_NAME}.hex"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OUTPUT.SAVE_FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OUTPUT.SAVE_FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OUTPUT.SAVE_FILE/value=${A.BUILD.PROJECT_NAME}.${A.BUILD.VARIANT}.hex
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OUTPUT.TMP_FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OUTPUT.TMP_FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.OUTPUT.TMP_FILE/value=${A.BUILD.PROJECT_NAME}.hex
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.1/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.S.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.S.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.2/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.2/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.2/value=\ -o
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.3/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.3/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN.3/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.S.O.PATTERN/value="${A.COMPILER.PATH}${A.COMPILER.C.CMD}" ${A.COMPILER.S.FLAGS} -mmcu\=${A.BUILD.MCU} -DF_CPU\=${A.BUILD.F_CPU} -DARDUINO\=${A.RUNTIME.IDE.VERSION} -DARDUINO_${A.BUILD.BOARD} -DARDUINO_ARCH_${A.BUILD.ARCH} ${A.COMPILER.S.EXTRA_FLAGS} ${A.BUILD.EXTRA_FLAGS} ${A.INCLUDES} "${A.SOURCE_FILE}" -o "${A.OBJECT_FILE}"
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.PATTERN.1/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.PATTERN.1/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/A.RECIPE.SIZE.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/A.RECIPE.SIZE.REGEX.DATA/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX.DATA/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX.DATA/value=^(?\:\\.data|\\.bss|\\.noinit)\\s+([0-9]+).*
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX.EEPROM/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX.EEPROM/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX.EEPROM/value=^(?\:\\.eeprom)\\s+([0-9]+).*
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RECIPE.SIZE.REGEX/value=^(?\:\\.text|\\.data|\\.bootloader)\\s+([0-9]+).*
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.DISPLAY/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.DISPLAY/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.DISPLAY/value=1
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS.MEMORY.INITIAL/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS.MEMORY.INITIAL/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS.MEMORY.INITIAL/value=64
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS.MEMORY.MAXIMUM/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS.MEMORY.MAXIMUM/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS.MEMORY.MAXIMUM/value=256
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.OPTIONS/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.PRESENT.BGCOLOR/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.PRESENT.BGCOLOR/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.PRESENT.BGCOLOR/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.PRESENT.STOP.COLOR/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.PRESENT.STOP.COLOR/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUN.PRESENT.STOP.COLOR/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.HARDWARE.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.HARDWARE.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.HARDWARE.PATH/value=C\:\\Program Files (x86)\\Arduino\\hardware\\arduino
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.IDE.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.IDE.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.IDE.PATH/value=C\:\\Program Files (x86)\\Arduino
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.IDE.VERSION/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.IDE.VERSION/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.IDE.VERSION/value=10605
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.OS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.OS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.OS/value=windows
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.PLATFORM.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.PLATFORM.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.PLATFORM.PATH/value=C\:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVR-GCC-4.8.1-ARDUINO5.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVR-GCC-4.8.1-ARDUINO5.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVR-GCC-4.8.1-ARDUINO5.PATH/value=C\:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVR-GCC.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVR-GCC.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVR-GCC.PATH/value=C\:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVRDUDE-6.0.1-ARDUINO5.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVRDUDE-6.0.1-ARDUINO5.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVRDUDE-6.0.1-ARDUINO5.PATH/value=C\:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVRDUDE.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVRDUDE.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.RUNTIME.TOOLS.AVRDUDE.PATH/value=C\:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.DATABITS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.DATABITS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.DATABITS/value=8
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.DEBUG_RATE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.DEBUG_RATE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.DEBUG_RATE/value=9600
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.PARITY/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.PARITY/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.PARITY/value=N
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.PORT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.PORT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.PORT/value=COM1
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.STOPBITS/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.STOPBITS/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SERIAL.STOPBITS/value=1
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SKETCHBOOK.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SKETCHBOOK.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SKETCHBOOK.PATH/value=C\:\\Users\\dehottgw\\Documents\\Arduino
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SOFTWARE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SOFTWARE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.SOFTWARE/value=ARDUINO
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TARGET_PACKAGE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TARGET_PACKAGE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TARGET_PACKAGE/value=arduino
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TARGET_PLATFORM/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TARGET_PLATFORM/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TARGET_PLATFORM/value=avr
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.QUIET/value=-q -q
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PARAMS.VERBOSE/value=-v
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.BOOTLOADER.PATTERN/value="${A.CMD.PATH}" "-C${A.CONFIG.PATH}" ${A.BOOTLOADER.VERBOSE} -p${A.BUILD.MCU} -c${A.PROTOCOL} ${A.PROGRAM.EXTRA_PARAMS} "-Uflash\:w\:${A.RUNTIME.PLATFORM.PATH}/bootloaders/${A.BOOTLOADER.FILE}\:i" -Ulock\:w\:${A.BOOTLOADER.LOCK_BITS}\:m
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.CMD.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.CMD.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.CMD.PATH/value=${A.PATH}/bin/avrdude
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.CONFIG.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.CONFIG.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.CONFIG.PATH/value=${A.PATH}/etc/avrdude.conf
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PARAMS.QUIET/value=-q -q
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PARAMS.VERBOSE/value=-v
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.ERASE.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/A.TOOLS.AVRDUDE.PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PATH/value=${A.RUNTIME.TOOLS.AVRDUDE.PATH}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.QUIET/value=-q -q
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PARAMS.VERBOSE/value=-v
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.PROGRAM.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.QUIET/value=-q -q
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PARAMS.VERBOSE/value=-v
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PATTERN/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.TOOLS.AVRDUDE.UPLOAD.PATTERN/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/A.UPLOAD.MAXIMUM_DATA_SIZE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.MAXIMUM_DATA_SIZE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.MAXIMUM_DATA_SIZE/value=2048
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.MAXIMUM_SIZE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.MAXIMUM_SIZE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.MAXIMUM_SIZE/value=32256
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.PROTOCOL/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.PROTOCOL/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.PROTOCOL/value=arduino
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.SPEED/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.SPEED/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.SPEED/value=115200
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.TOOL/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.TOOL/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.TOOL/value=avrdude
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.USING/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.USING/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.UPLOAD.USING/value=bootloader
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.VERSION/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.VERSION/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/A.VERSION/value=1.6.8
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.ARCHITECTURE_ID/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.ARCHITECTURE_ID/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.ARCHITECTURE_ID/value=avr
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARDS_FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARDS_FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARDS_FILE/value=C\:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\boards.txt
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARD_ID/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARD_ID/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARD_ID/value=ethernet
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARD_NAME/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARD_NAME/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BOARD_NAME/value=Arduino Ethernet
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BUILD_CORE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BUILD_CORE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BUILD_CORE/value=arduino
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BUILD_VARIANT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BUILD_VARIANT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.BUILD_VARIANT/value=ethernet
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.COM_PORT/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.COM_PORT/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.COM_PORT/value=/dev/tty.usbmodemFD111
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.COM_PROGMR/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.COM_PROGMR/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.COM_PROGMR/value=Default
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.C.COMPILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.C.COMPILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.C.COMPILE/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.COMPILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.COMPILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.COMPILE/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.CPP.COMPILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.CPP.COMPILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.EXTRA.CPP.COMPILE/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PACKAGE_ID/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PACKAGE_ID/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PACKAGE_ID/value=arduino
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PLATFORM_FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PLATFORM_FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PLATFORM_FILE/value=C\:/Program Files (x86)/Arduino/hardware/arduino/avr/platform.txt
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PROCESSOR/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PROCESSOR/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.PROCESSOR/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.REFERENCED_PLATFORM_FILE/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.REFERENCED_PLATFORM_FILE/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.REFERENCED_PLATFORM_FILE/value=
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.SIZE.SWITCH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.SIZE.SWITCH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.SIZE.SWITCH/value=${A.RECIPE.SIZE.PATTERN}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.SIZE_COMMAND/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.SIZE_COMMAND/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/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.1898938335/JANTJE.WARNING_LEVEL/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.WARNING_LEVEL/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/JANTJE.WARNING_LEVEL/value=\ -Wall
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/PATH/delimiter=;
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/PATH/operation=replace
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/PATH/value=${A.COMPILER.PATH}${PathDelimiter}${A.BUILD.GENERIC.PATH}${PathDelimiter}${A.RUNTIME.IDE.PATH}/hardware/tools/avr/utils/bin${PathDelimiter}${A.RUNTIME.IDE.PATH}${PathDelimiter}${PATH}
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/append=true
|
||||
environment/project/it.baeyens.arduino.core.toolChain.release.1898938335/appendContributed=true
|
BIN
Adafruit-GFX/.DS_Store
vendored
Normal file
BIN
Adafruit-GFX/.DS_Store
vendored
Normal file
Binary file not shown.
1069
Adafruit-GFX/Adafruit_GFX.cpp
Normal file
1069
Adafruit-GFX/Adafruit_GFX.cpp
Normal file
File diff suppressed because it is too large
Load Diff
155
Adafruit-GFX/Adafruit_GFX.h
Normal file
155
Adafruit-GFX/Adafruit_GFX.h
Normal file
@ -0,0 +1,155 @@
|
||||
#ifndef _ADAFRUIT_GFX_H
|
||||
#define _ADAFRUIT_GFX_H
|
||||
|
||||
#if ARDUINO >= 100
|
||||
#include "Arduino.h"
|
||||
#include "Print.h"
|
||||
#else
|
||||
#include "WProgram.h"
|
||||
#endif
|
||||
|
||||
#include "gfxfont.h"
|
||||
|
||||
class Adafruit_GFX : public Print {
|
||||
|
||||
public:
|
||||
|
||||
Adafruit_GFX(int16_t w, int16_t h); // Constructor
|
||||
|
||||
// This MUST be defined by the subclass:
|
||||
virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0;
|
||||
|
||||
// These MAY be overridden by the subclass to provide device-specific
|
||||
// optimized code. Otherwise 'generic' versions are used.
|
||||
virtual void
|
||||
drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color),
|
||||
drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color),
|
||||
drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color),
|
||||
drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
|
||||
fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color),
|
||||
fillScreen(uint16_t color),
|
||||
invertDisplay(boolean i);
|
||||
|
||||
// These exist only with Adafruit_GFX (no subclass overrides)
|
||||
void
|
||||
drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
|
||||
drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
|
||||
uint16_t color),
|
||||
fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
|
||||
fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername,
|
||||
int16_t delta, uint16_t color),
|
||||
drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
|
||||
int16_t x2, int16_t y2, uint16_t color),
|
||||
fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
|
||||
int16_t x2, int16_t y2, uint16_t color),
|
||||
drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
|
||||
int16_t radius, uint16_t color),
|
||||
fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h,
|
||||
int16_t radius, uint16_t color),
|
||||
drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap,
|
||||
int16_t w, int16_t h, uint16_t color),
|
||||
drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap,
|
||||
int16_t w, int16_t h, uint16_t color, uint16_t bg),
|
||||
drawBitmap(int16_t x, int16_t y, uint8_t *bitmap,
|
||||
int16_t w, int16_t h, uint16_t color),
|
||||
drawBitmap(int16_t x, int16_t y, uint8_t *bitmap,
|
||||
int16_t w, int16_t h, uint16_t color, uint16_t bg),
|
||||
drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap,
|
||||
int16_t w, int16_t h, uint16_t color),
|
||||
drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,
|
||||
uint16_t bg, uint8_t size),
|
||||
setCursor(int16_t x, int16_t y),
|
||||
setTextColor(uint16_t c),
|
||||
setTextColor(uint16_t c, uint16_t bg),
|
||||
setTextSize(uint8_t s),
|
||||
setTextWrap(boolean w),
|
||||
setRotation(uint8_t r),
|
||||
cp437(boolean x=true),
|
||||
setFont(const GFXfont *f = NULL),
|
||||
getTextBounds(char *string, int16_t x, int16_t y,
|
||||
int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h),
|
||||
getTextBounds(const __FlashStringHelper *s, int16_t x, int16_t y,
|
||||
int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h);
|
||||
|
||||
#if ARDUINO >= 100
|
||||
virtual size_t write(uint8_t);
|
||||
#else
|
||||
virtual void write(uint8_t);
|
||||
#endif
|
||||
|
||||
int16_t height(void) const;
|
||||
int16_t width(void) const;
|
||||
|
||||
uint8_t getRotation(void) const;
|
||||
|
||||
// get current cursor position (get rotation safe maximum values, using: width() for x, height() for y)
|
||||
int16_t getCursorX(void) const;
|
||||
int16_t getCursorY(void) const;
|
||||
|
||||
protected:
|
||||
const int16_t
|
||||
WIDTH, HEIGHT; // This is the 'raw' display w/h - never changes
|
||||
int16_t
|
||||
_width, _height, // Display w/h as modified by current rotation
|
||||
cursor_x, cursor_y;
|
||||
uint16_t
|
||||
textcolor, textbgcolor;
|
||||
uint8_t
|
||||
textsize,
|
||||
rotation;
|
||||
boolean
|
||||
wrap, // If set, 'wrap' text at right edge of display
|
||||
_cp437; // If set, use correct CP437 charset (default is off)
|
||||
GFXfont
|
||||
*gfxFont;
|
||||
};
|
||||
|
||||
class Adafruit_GFX_Button {
|
||||
|
||||
public:
|
||||
Adafruit_GFX_Button(void);
|
||||
void initButton(Adafruit_GFX *gfx, int16_t x, int16_t y,
|
||||
uint8_t w, uint8_t h, uint16_t outline, uint16_t fill,
|
||||
uint16_t textcolor, char *label, uint8_t textsize);
|
||||
void drawButton(boolean inverted = false);
|
||||
boolean contains(int16_t x, int16_t y);
|
||||
|
||||
void press(boolean p);
|
||||
boolean isPressed();
|
||||
boolean justPressed();
|
||||
boolean justReleased();
|
||||
|
||||
private:
|
||||
Adafruit_GFX *_gfx;
|
||||
int16_t _x, _y;
|
||||
uint16_t _w, _h;
|
||||
uint8_t _textsize;
|
||||
uint16_t _outlinecolor, _fillcolor, _textcolor;
|
||||
char _label[10];
|
||||
|
||||
boolean currstate, laststate;
|
||||
};
|
||||
|
||||
class GFXcanvas1 : public Adafruit_GFX {
|
||||
|
||||
public:
|
||||
GFXcanvas1(uint16_t w, uint16_t h);
|
||||
~GFXcanvas1(void);
|
||||
void drawPixel(int16_t x, int16_t y, uint16_t color),
|
||||
fillScreen(uint16_t color);
|
||||
uint8_t *getBuffer(void);
|
||||
private:
|
||||
uint8_t *buffer;
|
||||
};
|
||||
|
||||
class GFXcanvas16 : public Adafruit_GFX {
|
||||
GFXcanvas16(uint16_t w, uint16_t h);
|
||||
~GFXcanvas16(void);
|
||||
void drawPixel(int16_t x, int16_t y, uint16_t color),
|
||||
fillScreen(uint16_t color);
|
||||
uint16_t *getBuffer(void);
|
||||
private:
|
||||
uint16_t *buffer;
|
||||
};
|
||||
|
||||
#endif // _ADAFRUIT_GFX_H
|
24
Adafruit-GFX/gfxfont.h
Normal file
24
Adafruit-GFX/gfxfont.h
Normal file
@ -0,0 +1,24 @@
|
||||
// Font structures for newer Adafruit_GFX (1.1 and later).
|
||||
// Example fonts are included in 'Fonts' directory.
|
||||
// To use a font in your Arduino sketch, #include the corresponding .h
|
||||
// file and pass address of GFXfont struct to setFont(). Pass NULL to
|
||||
// revert to 'classic' fixed-space bitmap font.
|
||||
|
||||
#ifndef _GFXFONT_H_
|
||||
#define _GFXFONT_H_
|
||||
|
||||
typedef struct { // Data stored PER GLYPH
|
||||
uint16_t bitmapOffset; // Pointer into GFXfont->bitmap
|
||||
uint8_t width, height; // Bitmap dimensions in pixels
|
||||
uint8_t xAdvance; // Distance to advance cursor (x axis)
|
||||
int8_t xOffset, yOffset; // Dist from cursor pos to UL corner
|
||||
} GFXglyph;
|
||||
|
||||
typedef struct { // Data stored for FONT AS A WHOLE:
|
||||
uint8_t *bitmap; // Glyph bitmaps, concatenated
|
||||
GFXglyph *glyph; // Glyph array
|
||||
uint8_t first, last; // ASCII extents
|
||||
uint8_t yAdvance; // Newline distance (y axis)
|
||||
} GFXfont;
|
||||
|
||||
#endif // _GFXFONT_H_
|
276
Adafruit-GFX/glcdfont.c
Normal file
276
Adafruit-GFX/glcdfont.c
Normal file
@ -0,0 +1,276 @@
|
||||
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
|
||||
// See gfxfont.h for newer custom bitmap font info.
|
||||
|
||||
#ifndef FONT5X7_H
|
||||
#define FONT5X7_H
|
||||
|
||||
#ifdef __AVR__
|
||||
#include <avr/io.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#elif defined(ESP8266)
|
||||
#include <pgmspace.h>
|
||||
#else
|
||||
#define PROGMEM
|
||||
#endif
|
||||
|
||||
// Standard ASCII 5x7 font
|
||||
|
||||
static const unsigned char font[] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3E, 0x5B, 0x4F, 0x5B, 0x3E,
|
||||
0x3E, 0x6B, 0x4F, 0x6B, 0x3E,
|
||||
0x1C, 0x3E, 0x7C, 0x3E, 0x1C,
|
||||
0x18, 0x3C, 0x7E, 0x3C, 0x18,
|
||||
0x1C, 0x57, 0x7D, 0x57, 0x1C,
|
||||
0x1C, 0x5E, 0x7F, 0x5E, 0x1C,
|
||||
0x00, 0x18, 0x3C, 0x18, 0x00,
|
||||
0xFF, 0xE7, 0xC3, 0xE7, 0xFF,
|
||||
0x00, 0x18, 0x24, 0x18, 0x00,
|
||||
0xFF, 0xE7, 0xDB, 0xE7, 0xFF,
|
||||
0x30, 0x48, 0x3A, 0x06, 0x0E,
|
||||
0x26, 0x29, 0x79, 0x29, 0x26,
|
||||
0x40, 0x7F, 0x05, 0x05, 0x07,
|
||||
0x40, 0x7F, 0x05, 0x25, 0x3F,
|
||||
0x5A, 0x3C, 0xE7, 0x3C, 0x5A,
|
||||
0x7F, 0x3E, 0x1C, 0x1C, 0x08,
|
||||
0x08, 0x1C, 0x1C, 0x3E, 0x7F,
|
||||
0x14, 0x22, 0x7F, 0x22, 0x14,
|
||||
0x5F, 0x5F, 0x00, 0x5F, 0x5F,
|
||||
0x06, 0x09, 0x7F, 0x01, 0x7F,
|
||||
0x00, 0x66, 0x89, 0x95, 0x6A,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x94, 0xA2, 0xFF, 0xA2, 0x94,
|
||||
0x08, 0x04, 0x7E, 0x04, 0x08,
|
||||
0x10, 0x20, 0x7E, 0x20, 0x10,
|
||||
0x08, 0x08, 0x2A, 0x1C, 0x08,
|
||||
0x08, 0x1C, 0x2A, 0x08, 0x08,
|
||||
0x1E, 0x10, 0x10, 0x10, 0x10,
|
||||
0x0C, 0x1E, 0x0C, 0x1E, 0x0C,
|
||||
0x30, 0x38, 0x3E, 0x38, 0x30,
|
||||
0x06, 0x0E, 0x3E, 0x0E, 0x06,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x5F, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x07, 0x00,
|
||||
0x14, 0x7F, 0x14, 0x7F, 0x14,
|
||||
0x24, 0x2A, 0x7F, 0x2A, 0x12,
|
||||
0x23, 0x13, 0x08, 0x64, 0x62,
|
||||
0x36, 0x49, 0x56, 0x20, 0x50,
|
||||
0x00, 0x08, 0x07, 0x03, 0x00,
|
||||
0x00, 0x1C, 0x22, 0x41, 0x00,
|
||||
0x00, 0x41, 0x22, 0x1C, 0x00,
|
||||
0x2A, 0x1C, 0x7F, 0x1C, 0x2A,
|
||||
0x08, 0x08, 0x3E, 0x08, 0x08,
|
||||
0x00, 0x80, 0x70, 0x30, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x00, 0x00, 0x60, 0x60, 0x00,
|
||||
0x20, 0x10, 0x08, 0x04, 0x02,
|
||||
0x3E, 0x51, 0x49, 0x45, 0x3E,
|
||||
0x00, 0x42, 0x7F, 0x40, 0x00,
|
||||
0x72, 0x49, 0x49, 0x49, 0x46,
|
||||
0x21, 0x41, 0x49, 0x4D, 0x33,
|
||||
0x18, 0x14, 0x12, 0x7F, 0x10,
|
||||
0x27, 0x45, 0x45, 0x45, 0x39,
|
||||
0x3C, 0x4A, 0x49, 0x49, 0x31,
|
||||
0x41, 0x21, 0x11, 0x09, 0x07,
|
||||
0x36, 0x49, 0x49, 0x49, 0x36,
|
||||
0x46, 0x49, 0x49, 0x29, 0x1E,
|
||||
0x00, 0x00, 0x14, 0x00, 0x00,
|
||||
0x00, 0x40, 0x34, 0x00, 0x00,
|
||||
0x00, 0x08, 0x14, 0x22, 0x41,
|
||||
0x14, 0x14, 0x14, 0x14, 0x14,
|
||||
0x00, 0x41, 0x22, 0x14, 0x08,
|
||||
0x02, 0x01, 0x59, 0x09, 0x06,
|
||||
0x3E, 0x41, 0x5D, 0x59, 0x4E,
|
||||
0x7C, 0x12, 0x11, 0x12, 0x7C,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x36,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x22,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x3E,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x41,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x01,
|
||||
0x3E, 0x41, 0x41, 0x51, 0x73,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F,
|
||||
0x00, 0x41, 0x7F, 0x41, 0x00,
|
||||
0x20, 0x40, 0x41, 0x3F, 0x01,
|
||||
0x7F, 0x08, 0x14, 0x22, 0x41,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x40,
|
||||
0x7F, 0x02, 0x1C, 0x02, 0x7F,
|
||||
0x7F, 0x04, 0x08, 0x10, 0x7F,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x3E,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x06,
|
||||
0x3E, 0x41, 0x51, 0x21, 0x5E,
|
||||
0x7F, 0x09, 0x19, 0x29, 0x46,
|
||||
0x26, 0x49, 0x49, 0x49, 0x32,
|
||||
0x03, 0x01, 0x7F, 0x01, 0x03,
|
||||
0x3F, 0x40, 0x40, 0x40, 0x3F,
|
||||
0x1F, 0x20, 0x40, 0x20, 0x1F,
|
||||
0x3F, 0x40, 0x38, 0x40, 0x3F,
|
||||
0x63, 0x14, 0x08, 0x14, 0x63,
|
||||
0x03, 0x04, 0x78, 0x04, 0x03,
|
||||
0x61, 0x59, 0x49, 0x4D, 0x43,
|
||||
0x00, 0x7F, 0x41, 0x41, 0x41,
|
||||
0x02, 0x04, 0x08, 0x10, 0x20,
|
||||
0x00, 0x41, 0x41, 0x41, 0x7F,
|
||||
0x04, 0x02, 0x01, 0x02, 0x04,
|
||||
0x40, 0x40, 0x40, 0x40, 0x40,
|
||||
0x00, 0x03, 0x07, 0x08, 0x00,
|
||||
0x20, 0x54, 0x54, 0x78, 0x40,
|
||||
0x7F, 0x28, 0x44, 0x44, 0x38,
|
||||
0x38, 0x44, 0x44, 0x44, 0x28,
|
||||
0x38, 0x44, 0x44, 0x28, 0x7F,
|
||||
0x38, 0x54, 0x54, 0x54, 0x18,
|
||||
0x00, 0x08, 0x7E, 0x09, 0x02,
|
||||
0x18, 0xA4, 0xA4, 0x9C, 0x78,
|
||||
0x7F, 0x08, 0x04, 0x04, 0x78,
|
||||
0x00, 0x44, 0x7D, 0x40, 0x00,
|
||||
0x20, 0x40, 0x40, 0x3D, 0x00,
|
||||
0x7F, 0x10, 0x28, 0x44, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x40, 0x00,
|
||||
0x7C, 0x04, 0x78, 0x04, 0x78,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x78,
|
||||
0x38, 0x44, 0x44, 0x44, 0x38,
|
||||
0xFC, 0x18, 0x24, 0x24, 0x18,
|
||||
0x18, 0x24, 0x24, 0x18, 0xFC,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x08,
|
||||
0x48, 0x54, 0x54, 0x54, 0x24,
|
||||
0x04, 0x04, 0x3F, 0x44, 0x24,
|
||||
0x3C, 0x40, 0x40, 0x20, 0x7C,
|
||||
0x1C, 0x20, 0x40, 0x20, 0x1C,
|
||||
0x3C, 0x40, 0x30, 0x40, 0x3C,
|
||||
0x44, 0x28, 0x10, 0x28, 0x44,
|
||||
0x4C, 0x90, 0x90, 0x90, 0x7C,
|
||||
0x44, 0x64, 0x54, 0x4C, 0x44,
|
||||
0x00, 0x08, 0x36, 0x41, 0x00,
|
||||
0x00, 0x00, 0x77, 0x00, 0x00,
|
||||
0x00, 0x41, 0x36, 0x08, 0x00,
|
||||
0x02, 0x01, 0x02, 0x04, 0x02,
|
||||
0x3C, 0x26, 0x23, 0x26, 0x3C,
|
||||
0x1E, 0xA1, 0xA1, 0x61, 0x12,
|
||||
0x3A, 0x40, 0x40, 0x20, 0x7A,
|
||||
0x38, 0x54, 0x54, 0x55, 0x59,
|
||||
0x21, 0x55, 0x55, 0x79, 0x41,
|
||||
0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut
|
||||
0x21, 0x55, 0x54, 0x78, 0x40,
|
||||
0x20, 0x54, 0x55, 0x79, 0x40,
|
||||
0x0C, 0x1E, 0x52, 0x72, 0x12,
|
||||
0x39, 0x55, 0x55, 0x55, 0x59,
|
||||
0x39, 0x54, 0x54, 0x54, 0x59,
|
||||
0x39, 0x55, 0x54, 0x54, 0x58,
|
||||
0x00, 0x00, 0x45, 0x7C, 0x41,
|
||||
0x00, 0x02, 0x45, 0x7D, 0x42,
|
||||
0x00, 0x01, 0x45, 0x7C, 0x40,
|
||||
0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut
|
||||
0xF0, 0x28, 0x25, 0x28, 0xF0,
|
||||
0x7C, 0x54, 0x55, 0x45, 0x00,
|
||||
0x20, 0x54, 0x54, 0x7C, 0x54,
|
||||
0x7C, 0x0A, 0x09, 0x7F, 0x49,
|
||||
0x32, 0x49, 0x49, 0x49, 0x32,
|
||||
0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut
|
||||
0x32, 0x4A, 0x48, 0x48, 0x30,
|
||||
0x3A, 0x41, 0x41, 0x21, 0x7A,
|
||||
0x3A, 0x42, 0x40, 0x20, 0x78,
|
||||
0x00, 0x9D, 0xA0, 0xA0, 0x7D,
|
||||
0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut
|
||||
0x3D, 0x40, 0x40, 0x40, 0x3D,
|
||||
0x3C, 0x24, 0xFF, 0x24, 0x24,
|
||||
0x48, 0x7E, 0x49, 0x43, 0x66,
|
||||
0x2B, 0x2F, 0xFC, 0x2F, 0x2B,
|
||||
0xFF, 0x09, 0x29, 0xF6, 0x20,
|
||||
0xC0, 0x88, 0x7E, 0x09, 0x03,
|
||||
0x20, 0x54, 0x54, 0x79, 0x41,
|
||||
0x00, 0x00, 0x44, 0x7D, 0x41,
|
||||
0x30, 0x48, 0x48, 0x4A, 0x32,
|
||||
0x38, 0x40, 0x40, 0x22, 0x7A,
|
||||
0x00, 0x7A, 0x0A, 0x0A, 0x72,
|
||||
0x7D, 0x0D, 0x19, 0x31, 0x7D,
|
||||
0x26, 0x29, 0x29, 0x2F, 0x28,
|
||||
0x26, 0x29, 0x29, 0x29, 0x26,
|
||||
0x30, 0x48, 0x4D, 0x40, 0x20,
|
||||
0x38, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x38,
|
||||
0x2F, 0x10, 0xC8, 0xAC, 0xBA,
|
||||
0x2F, 0x10, 0x28, 0x34, 0xFA,
|
||||
0x00, 0x00, 0x7B, 0x00, 0x00,
|
||||
0x08, 0x14, 0x2A, 0x14, 0x22,
|
||||
0x22, 0x14, 0x2A, 0x14, 0x08,
|
||||
0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code
|
||||
0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block
|
||||
0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block
|
||||
0x00, 0x00, 0x00, 0xFF, 0x00,
|
||||
0x10, 0x10, 0x10, 0xFF, 0x00,
|
||||
0x14, 0x14, 0x14, 0xFF, 0x00,
|
||||
0x10, 0x10, 0xFF, 0x00, 0xFF,
|
||||
0x10, 0x10, 0xF0, 0x10, 0xF0,
|
||||
0x14, 0x14, 0x14, 0xFC, 0x00,
|
||||
0x14, 0x14, 0xF7, 0x00, 0xFF,
|
||||
0x00, 0x00, 0xFF, 0x00, 0xFF,
|
||||
0x14, 0x14, 0xF4, 0x04, 0xFC,
|
||||
0x14, 0x14, 0x17, 0x10, 0x1F,
|
||||
0x10, 0x10, 0x1F, 0x10, 0x1F,
|
||||
0x14, 0x14, 0x14, 0x1F, 0x00,
|
||||
0x10, 0x10, 0x10, 0xF0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1F, 0x10,
|
||||
0x10, 0x10, 0x10, 0x1F, 0x10,
|
||||
0x10, 0x10, 0x10, 0xF0, 0x10,
|
||||
0x00, 0x00, 0x00, 0xFF, 0x10,
|
||||
0x10, 0x10, 0x10, 0x10, 0x10,
|
||||
0x10, 0x10, 0x10, 0xFF, 0x10,
|
||||
0x00, 0x00, 0x00, 0xFF, 0x14,
|
||||
0x00, 0x00, 0xFF, 0x00, 0xFF,
|
||||
0x00, 0x00, 0x1F, 0x10, 0x17,
|
||||
0x00, 0x00, 0xFC, 0x04, 0xF4,
|
||||
0x14, 0x14, 0x17, 0x10, 0x17,
|
||||
0x14, 0x14, 0xF4, 0x04, 0xF4,
|
||||
0x00, 0x00, 0xFF, 0x00, 0xF7,
|
||||
0x14, 0x14, 0x14, 0x14, 0x14,
|
||||
0x14, 0x14, 0xF7, 0x00, 0xF7,
|
||||
0x14, 0x14, 0x14, 0x17, 0x14,
|
||||
0x10, 0x10, 0x1F, 0x10, 0x1F,
|
||||
0x14, 0x14, 0x14, 0xF4, 0x14,
|
||||
0x10, 0x10, 0xF0, 0x10, 0xF0,
|
||||
0x00, 0x00, 0x1F, 0x10, 0x1F,
|
||||
0x00, 0x00, 0x00, 0x1F, 0x14,
|
||||
0x00, 0x00, 0x00, 0xFC, 0x14,
|
||||
0x00, 0x00, 0xF0, 0x10, 0xF0,
|
||||
0x10, 0x10, 0xFF, 0x10, 0xFF,
|
||||
0x14, 0x14, 0x14, 0xFF, 0x14,
|
||||
0x10, 0x10, 0x10, 0x1F, 0x00,
|
||||
0x00, 0x00, 0x00, 0xF0, 0x10,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
|
||||
0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFF, 0xFF,
|
||||
0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
|
||||
0x38, 0x44, 0x44, 0x38, 0x44,
|
||||
0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta
|
||||
0x7E, 0x02, 0x02, 0x06, 0x06,
|
||||
0x02, 0x7E, 0x02, 0x7E, 0x02,
|
||||
0x63, 0x55, 0x49, 0x41, 0x63,
|
||||
0x38, 0x44, 0x44, 0x3C, 0x04,
|
||||
0x40, 0x7E, 0x20, 0x1E, 0x20,
|
||||
0x06, 0x02, 0x7E, 0x02, 0x02,
|
||||
0x99, 0xA5, 0xE7, 0xA5, 0x99,
|
||||
0x1C, 0x2A, 0x49, 0x2A, 0x1C,
|
||||
0x4C, 0x72, 0x01, 0x72, 0x4C,
|
||||
0x30, 0x4A, 0x4D, 0x4D, 0x30,
|
||||
0x30, 0x48, 0x78, 0x48, 0x30,
|
||||
0xBC, 0x62, 0x5A, 0x46, 0x3D,
|
||||
0x3E, 0x49, 0x49, 0x49, 0x00,
|
||||
0x7E, 0x01, 0x01, 0x01, 0x7E,
|
||||
0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
|
||||
0x44, 0x44, 0x5F, 0x44, 0x44,
|
||||
0x40, 0x51, 0x4A, 0x44, 0x40,
|
||||
0x40, 0x44, 0x4A, 0x51, 0x40,
|
||||
0x00, 0x00, 0xFF, 0x01, 0x03,
|
||||
0xE0, 0x80, 0xFF, 0x00, 0x00,
|
||||
0x08, 0x08, 0x6B, 0x6B, 0x08,
|
||||
0x36, 0x12, 0x36, 0x24, 0x36,
|
||||
0x06, 0x0F, 0x09, 0x0F, 0x06,
|
||||
0x00, 0x00, 0x18, 0x18, 0x00,
|
||||
0x00, 0x00, 0x10, 0x10, 0x00,
|
||||
0x30, 0x40, 0xFF, 0x01, 0x01,
|
||||
0x00, 0x1F, 0x01, 0x01, 0x1E,
|
||||
0x00, 0x19, 0x1D, 0x17, 0x12,
|
||||
0x00, 0x3C, 0x3C, 0x3C, 0x3C,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP
|
||||
};
|
||||
#endif // FONT5X7_H
|
590
MQTT/PubSubClient.cpp
Normal file
590
MQTT/PubSubClient.cpp
Normal file
@ -0,0 +1,590 @@
|
||||
/*
|
||||
PubSubClient.cpp - A simple client for MQTT.
|
||||
Nick O'Leary
|
||||
http://knolleary.net
|
||||
*/
|
||||
|
||||
#include "PubSubClient.h"
|
||||
#include "Arduino.h"
|
||||
|
||||
PubSubClient::PubSubClient() {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
this->_client = NULL;
|
||||
this->stream = NULL;
|
||||
setCallback(NULL);
|
||||
}
|
||||
|
||||
PubSubClient::PubSubClient(Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
}
|
||||
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr, port);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
}
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr,port);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
}
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr, port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
}
|
||||
PubSubClient::PubSubClient(IPAddress addr, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(addr,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
}
|
||||
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip, port);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
}
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip,port);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
}
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip, port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
}
|
||||
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(ip,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
}
|
||||
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
}
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
}
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
this->stream = NULL;
|
||||
}
|
||||
PubSubClient::PubSubClient(const char* domain, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) {
|
||||
this->_state = MQTT_DISCONNECTED;
|
||||
setServer(domain,port);
|
||||
setCallback(callback);
|
||||
setClient(client);
|
||||
setStream(stream);
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id) {
|
||||
return connect(id,NULL,NULL,0,0,0,0);
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id, const char *user, const char *pass) {
|
||||
return connect(id,user,pass,0,0,0,0);
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) {
|
||||
return connect(id,NULL,NULL,willTopic,willQos,willRetain,willMessage);
|
||||
}
|
||||
|
||||
boolean PubSubClient::connect(const char *id, const char *user, const char *pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) {
|
||||
if (!connected()) {
|
||||
int result = 0;
|
||||
|
||||
if (domain != NULL) {
|
||||
result = _client->connect(this->domain, this->port);
|
||||
} else {
|
||||
result = _client->connect(this->ip, this->port);
|
||||
}
|
||||
if (result == 1) {
|
||||
nextMsgId = 1;
|
||||
// Leave room in the buffer for header and variable length field
|
||||
uint16_t length = 5;
|
||||
unsigned int j;
|
||||
|
||||
#if MQTT_VERSION == MQTT_VERSION_3_1
|
||||
uint8_t d[9] = {0x00,0x06,'M','Q','I','s','d','p', MQTT_VERSION};
|
||||
#define MQTT_HEADER_VERSION_LENGTH 9
|
||||
#elif MQTT_VERSION == MQTT_VERSION_3_1_1
|
||||
uint8_t d[7] = {0x00,0x04,'M','Q','T','T',MQTT_VERSION};
|
||||
#define MQTT_HEADER_VERSION_LENGTH 7
|
||||
#endif
|
||||
for (j = 0;j<MQTT_HEADER_VERSION_LENGTH;j++) {
|
||||
buffer[length++] = d[j];
|
||||
}
|
||||
|
||||
uint8_t v;
|
||||
if (willTopic) {
|
||||
v = 0x06|(willQos<<3)|(willRetain<<5);
|
||||
} else {
|
||||
v = 0x02;
|
||||
}
|
||||
|
||||
if(user != NULL) {
|
||||
v = v|0x80;
|
||||
|
||||
if(pass != NULL) {
|
||||
v = v|(0x80>>1);
|
||||
}
|
||||
}
|
||||
|
||||
buffer[length++] = v;
|
||||
|
||||
buffer[length++] = ((MQTT_KEEPALIVE) >> 8);
|
||||
buffer[length++] = ((MQTT_KEEPALIVE) & 0xFF);
|
||||
length = writeString(id,buffer,length);
|
||||
if (willTopic) {
|
||||
length = writeString(willTopic,buffer,length);
|
||||
length = writeString(willMessage,buffer,length);
|
||||
}
|
||||
|
||||
if(user != NULL) {
|
||||
length = writeString(user,buffer,length);
|
||||
if(pass != NULL) {
|
||||
length = writeString(pass,buffer,length);
|
||||
}
|
||||
}
|
||||
|
||||
write(MQTTCONNECT,buffer,length-5);
|
||||
|
||||
lastInActivity = lastOutActivity = millis();
|
||||
|
||||
while (!_client->available()) {
|
||||
unsigned long t = millis();
|
||||
if (t-lastInActivity >= ((int32_t) MQTT_SOCKET_TIMEOUT*1000UL)) {
|
||||
_state = MQTT_CONNECTION_TIMEOUT;
|
||||
_client->stop();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
uint8_t llen;
|
||||
uint16_t len = readPacket(&llen);
|
||||
|
||||
if (len == 4) {
|
||||
if (buffer[3] == 0) {
|
||||
lastInActivity = millis();
|
||||
pingOutstanding = false;
|
||||
_state = MQTT_CONNECTED;
|
||||
return true;
|
||||
} else {
|
||||
_state = buffer[3];
|
||||
}
|
||||
}
|
||||
_client->stop();
|
||||
} else {
|
||||
_state = MQTT_CONNECT_FAILED;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// reads a byte into result
|
||||
boolean PubSubClient::readByte(uint8_t * result) {
|
||||
uint32_t previousMillis = millis();
|
||||
while(!_client->available()) {
|
||||
uint32_t currentMillis = millis();
|
||||
if(currentMillis - previousMillis >= ((int32_t) MQTT_SOCKET_TIMEOUT * 1000)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*result = _client->read();
|
||||
return true;
|
||||
}
|
||||
|
||||
// reads a byte into result[*index] and increments index
|
||||
boolean PubSubClient::readByte(uint8_t * result, uint16_t * index){
|
||||
uint16_t current_index = *index;
|
||||
uint8_t * write_address = &(result[current_index]);
|
||||
if(readByte(write_address)){
|
||||
*index = current_index + 1;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
uint16_t PubSubClient::readPacket(uint8_t* lengthLength) {
|
||||
uint16_t len = 0;
|
||||
if(!readByte(buffer, &len)) return 0;
|
||||
bool isPublish = (buffer[0]&0xF0) == MQTTPUBLISH;
|
||||
uint32_t multiplier = 1;
|
||||
uint16_t length = 0;
|
||||
uint8_t digit = 0;
|
||||
uint16_t skip = 0;
|
||||
uint8_t start = 0;
|
||||
|
||||
do {
|
||||
if(!readByte(&digit)) return 0;
|
||||
buffer[len++] = digit;
|
||||
length += (digit & 127) * multiplier;
|
||||
multiplier *= 128;
|
||||
} while ((digit & 128) != 0);
|
||||
*lengthLength = len-1;
|
||||
|
||||
if (isPublish) {
|
||||
// Read in topic length to calculate bytes to skip over for Stream writing
|
||||
if(!readByte(buffer, &len)) return 0;
|
||||
if(!readByte(buffer, &len)) return 0;
|
||||
skip = (buffer[*lengthLength+1]<<8)+buffer[*lengthLength+2];
|
||||
start = 2;
|
||||
if (buffer[0]&MQTTQOS1) {
|
||||
// skip message id
|
||||
skip += 2;
|
||||
}
|
||||
}
|
||||
|
||||
for (uint16_t i = start;i<length;i++) {
|
||||
if(!readByte(&digit)) return 0;
|
||||
if (this->stream) {
|
||||
if (isPublish && len-*lengthLength-2>skip) {
|
||||
this->stream->write(digit);
|
||||
}
|
||||
}
|
||||
if (len < MQTT_MAX_PACKET_SIZE) {
|
||||
buffer[len] = digit;
|
||||
}
|
||||
len++;
|
||||
}
|
||||
|
||||
if (!this->stream && len > MQTT_MAX_PACKET_SIZE) {
|
||||
len = 0; // This will cause the packet to be ignored.
|
||||
}
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
boolean PubSubClient::loop() {
|
||||
if (connected()) {
|
||||
unsigned long t = millis();
|
||||
if ((t - lastInActivity > MQTT_KEEPALIVE*1000UL) || (t - lastOutActivity > MQTT_KEEPALIVE*1000UL)) {
|
||||
if (pingOutstanding) {
|
||||
this->_state = MQTT_CONNECTION_TIMEOUT;
|
||||
_client->stop();
|
||||
return false;
|
||||
} else {
|
||||
buffer[0] = MQTTPINGREQ;
|
||||
buffer[1] = 0;
|
||||
_client->write(buffer,2);
|
||||
lastOutActivity = t;
|
||||
lastInActivity = t;
|
||||
pingOutstanding = true;
|
||||
}
|
||||
}
|
||||
if (_client->available()) {
|
||||
uint8_t llen;
|
||||
uint16_t len = readPacket(&llen);
|
||||
uint16_t msgId = 0;
|
||||
uint8_t *payload;
|
||||
if (len > 0) {
|
||||
lastInActivity = t;
|
||||
uint8_t type = buffer[0]&0xF0;
|
||||
if (type == MQTTPUBLISH) {
|
||||
if (callback) {
|
||||
uint16_t tl = (buffer[llen+1]<<8)+buffer[llen+2];
|
||||
char topic[tl+1];
|
||||
for (uint16_t i=0;i<tl;i++) {
|
||||
topic[i] = buffer[llen+3+i];
|
||||
}
|
||||
topic[tl] = 0;
|
||||
// msgId only present for QOS>0
|
||||
if ((buffer[0]&0x06) == MQTTQOS1) {
|
||||
msgId = (buffer[llen+3+tl]<<8)+buffer[llen+3+tl+1];
|
||||
payload = buffer+llen+3+tl+2;
|
||||
callback(topic,payload,len-llen-3-tl-2);
|
||||
|
||||
buffer[0] = MQTTPUBACK;
|
||||
buffer[1] = 2;
|
||||
buffer[2] = (msgId >> 8);
|
||||
buffer[3] = (msgId & 0xFF);
|
||||
_client->write(buffer,4);
|
||||
lastOutActivity = t;
|
||||
|
||||
} else {
|
||||
payload = buffer+llen+3+tl;
|
||||
callback(topic,payload,len-llen-3-tl);
|
||||
}
|
||||
}
|
||||
} else if (type == MQTTPINGREQ) {
|
||||
buffer[0] = MQTTPINGRESP;
|
||||
buffer[1] = 0;
|
||||
_client->write(buffer,2);
|
||||
} else if (type == MQTTPINGRESP) {
|
||||
pingOutstanding = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const char* payload) {
|
||||
return publish(topic,(const uint8_t*)payload,strlen(payload),false);
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const char* payload, boolean retained) {
|
||||
return publish(topic,(const uint8_t*)payload,strlen(payload),retained);
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const uint8_t* payload, unsigned int plength) {
|
||||
return publish(topic, payload, plength, false);
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish(const char* topic, const uint8_t* payload, unsigned int plength, boolean retained) {
|
||||
if (connected()) {
|
||||
if (MQTT_MAX_PACKET_SIZE < 5 + 2+strlen(topic) + plength) {
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
// Leave room in the buffer for header and variable length field
|
||||
uint16_t length = 5;
|
||||
length = writeString(topic,buffer,length);
|
||||
uint16_t i;
|
||||
for (i=0;i<plength;i++) {
|
||||
buffer[length++] = payload[i];
|
||||
}
|
||||
uint8_t header = MQTTPUBLISH;
|
||||
if (retained) {
|
||||
header |= 1;
|
||||
}
|
||||
return write(header,buffer,length-5);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean PubSubClient::publish_P(const char* topic, const uint8_t* payload, unsigned int plength, boolean retained) {
|
||||
uint8_t llen = 0;
|
||||
uint8_t digit;
|
||||
unsigned int rc = 0;
|
||||
uint16_t tlen;
|
||||
unsigned int pos = 0;
|
||||
unsigned int i;
|
||||
uint8_t header;
|
||||
unsigned int len;
|
||||
|
||||
if (!connected()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
tlen = strlen(topic);
|
||||
|
||||
header = MQTTPUBLISH;
|
||||
if (retained) {
|
||||
header |= 1;
|
||||
}
|
||||
buffer[pos++] = header;
|
||||
len = plength + 2 + tlen;
|
||||
do {
|
||||
digit = len % 128;
|
||||
len = len / 128;
|
||||
if (len > 0) {
|
||||
digit |= 0x80;
|
||||
}
|
||||
buffer[pos++] = digit;
|
||||
llen++;
|
||||
} while(len>0);
|
||||
|
||||
pos = writeString(topic,buffer,pos);
|
||||
|
||||
rc += _client->write(buffer,pos);
|
||||
|
||||
for (i=0;i<plength;i++) {
|
||||
rc += _client->write((char)pgm_read_byte_near(payload + i));
|
||||
}
|
||||
|
||||
lastOutActivity = millis();
|
||||
|
||||
return rc == tlen + 4 + plength;
|
||||
}
|
||||
|
||||
boolean PubSubClient::write(uint8_t header, uint8_t* buf, uint16_t length) {
|
||||
uint8_t lenBuf[4];
|
||||
uint8_t llen = 0;
|
||||
uint8_t digit;
|
||||
uint8_t pos = 0;
|
||||
uint16_t rc;
|
||||
uint16_t len = length;
|
||||
do {
|
||||
digit = len % 128;
|
||||
len = len / 128;
|
||||
if (len > 0) {
|
||||
digit |= 0x80;
|
||||
}
|
||||
lenBuf[pos++] = digit;
|
||||
llen++;
|
||||
} while(len>0);
|
||||
|
||||
buf[4-llen] = header;
|
||||
for (int i=0;i<llen;i++) {
|
||||
buf[5-llen+i] = lenBuf[i];
|
||||
}
|
||||
|
||||
#ifdef MQTT_MAX_TRANSFER_SIZE
|
||||
uint8_t* writeBuf = buf+(4-llen);
|
||||
uint16_t bytesRemaining = length+1+llen; //Match the length type
|
||||
uint8_t bytesToWrite;
|
||||
boolean result = true;
|
||||
while((bytesRemaining > 0) && result) {
|
||||
bytesToWrite = (bytesRemaining > MQTT_MAX_TRANSFER_SIZE)?MQTT_MAX_TRANSFER_SIZE:bytesRemaining;
|
||||
rc = _client->write(writeBuf,bytesToWrite);
|
||||
result = (rc == bytesToWrite);
|
||||
bytesRemaining -= rc;
|
||||
writeBuf += rc;
|
||||
}
|
||||
return result;
|
||||
#else
|
||||
rc = _client->write(buf+(4-llen),length+1+llen);
|
||||
lastOutActivity = millis();
|
||||
return (rc == 1+llen+length);
|
||||
#endif
|
||||
}
|
||||
|
||||
boolean PubSubClient::subscribe(const char* topic) {
|
||||
return subscribe(topic, 0);
|
||||
}
|
||||
|
||||
boolean PubSubClient::subscribe(const char* topic, uint8_t qos) {
|
||||
if (qos < 0 || qos > 1) {
|
||||
return false;
|
||||
}
|
||||
if (MQTT_MAX_PACKET_SIZE < 9 + strlen(topic)) {
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
if (connected()) {
|
||||
// Leave room in the buffer for header and variable length field
|
||||
uint16_t length = 5;
|
||||
nextMsgId++;
|
||||
if (nextMsgId == 0) {
|
||||
nextMsgId = 1;
|
||||
}
|
||||
buffer[length++] = (nextMsgId >> 8);
|
||||
buffer[length++] = (nextMsgId & 0xFF);
|
||||
length = writeString((char*)topic, buffer,length);
|
||||
buffer[length++] = qos;
|
||||
return write(MQTTSUBSCRIBE|MQTTQOS1,buffer,length-5);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean PubSubClient::unsubscribe(const char* topic) {
|
||||
if (MQTT_MAX_PACKET_SIZE < 9 + strlen(topic)) {
|
||||
// Too long
|
||||
return false;
|
||||
}
|
||||
if (connected()) {
|
||||
uint16_t length = 5;
|
||||
nextMsgId++;
|
||||
if (nextMsgId == 0) {
|
||||
nextMsgId = 1;
|
||||
}
|
||||
buffer[length++] = (nextMsgId >> 8);
|
||||
buffer[length++] = (nextMsgId & 0xFF);
|
||||
length = writeString(topic, buffer,length);
|
||||
return write(MQTTUNSUBSCRIBE|MQTTQOS1,buffer,length-5);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void PubSubClient::disconnect() {
|
||||
buffer[0] = MQTTDISCONNECT;
|
||||
buffer[1] = 0;
|
||||
_client->write(buffer,2);
|
||||
_state = MQTT_DISCONNECTED;
|
||||
_client->stop();
|
||||
lastInActivity = lastOutActivity = millis();
|
||||
}
|
||||
|
||||
uint16_t PubSubClient::writeString(const char* string, uint8_t* buf, uint16_t pos) {
|
||||
const char* idp = string;
|
||||
uint16_t i = 0;
|
||||
pos += 2;
|
||||
while (*idp) {
|
||||
buf[pos++] = *idp++;
|
||||
i++;
|
||||
}
|
||||
buf[pos-i-2] = (i >> 8);
|
||||
buf[pos-i-1] = (i & 0xFF);
|
||||
return pos;
|
||||
}
|
||||
|
||||
|
||||
boolean PubSubClient::connected() {
|
||||
boolean rc;
|
||||
if (_client == NULL ) {
|
||||
rc = false;
|
||||
} else {
|
||||
rc = (int)_client->connected();
|
||||
if (!rc) {
|
||||
if (this->_state == MQTT_CONNECTED) {
|
||||
this->_state = MQTT_CONNECTION_LOST;
|
||||
_client->flush();
|
||||
_client->stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setServer(uint8_t * ip, uint16_t port) {
|
||||
IPAddress addr(ip[0],ip[1],ip[2],ip[3]);
|
||||
return setServer(addr,port);
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setServer(IPAddress ip, uint16_t port) {
|
||||
this->ip = ip;
|
||||
this->port = port;
|
||||
this->domain = NULL;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setServer(const char * domain, uint16_t port) {
|
||||
this->domain = domain;
|
||||
this->port = port;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setCallback(MQTT_CALLBACK_SIGNATURE) {
|
||||
this->callback = callback;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setClient(Client& client){
|
||||
this->_client = &client;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PubSubClient& PubSubClient::setStream(Stream& stream){
|
||||
this->stream = &stream;
|
||||
return *this;
|
||||
}
|
||||
|
||||
int PubSubClient::state() {
|
||||
return this->_state;
|
||||
}
|
144
MQTT/PubSubClient.h
Normal file
144
MQTT/PubSubClient.h
Normal file
@ -0,0 +1,144 @@
|
||||
/*
|
||||
PubSubClient.h - A simple client for MQTT.
|
||||
Nick O'Leary
|
||||
http://knolleary.net
|
||||
*/
|
||||
|
||||
#ifndef PubSubClient_h
|
||||
#define PubSubClient_h
|
||||
|
||||
#include <Arduino.h>
|
||||
#include "IPAddress.h"
|
||||
#include "Client.h"
|
||||
#include "Stream.h"
|
||||
|
||||
#define MQTT_VERSION_3_1 3
|
||||
#define MQTT_VERSION_3_1_1 4
|
||||
|
||||
// MQTT_VERSION : Pick the version
|
||||
//#define MQTT_VERSION MQTT_VERSION_3_1
|
||||
#ifndef MQTT_VERSION
|
||||
#define MQTT_VERSION MQTT_VERSION_3_1_1
|
||||
#endif
|
||||
|
||||
// MQTT_MAX_PACKET_SIZE : Maximum packet size
|
||||
#ifndef MQTT_MAX_PACKET_SIZE
|
||||
#define MQTT_MAX_PACKET_SIZE 128
|
||||
#endif
|
||||
|
||||
// MQTT_KEEPALIVE : keepAlive interval in Seconds
|
||||
#ifndef MQTT_KEEPALIVE
|
||||
#define MQTT_KEEPALIVE 15
|
||||
#endif
|
||||
|
||||
// MQTT_SOCKET_TIMEOUT: socket timeout interval in Seconds
|
||||
#ifndef MQTT_SOCKET_TIMEOUT
|
||||
#define MQTT_SOCKET_TIMEOUT 15
|
||||
#endif
|
||||
|
||||
// MQTT_MAX_TRANSFER_SIZE : limit how much data is passed to the network client
|
||||
// in each write call. Needed for the Arduino Wifi Shield. Leave undefined to
|
||||
// pass the entire MQTT packet in each write call.
|
||||
//#define MQTT_MAX_TRANSFER_SIZE 80
|
||||
|
||||
// Possible values for client.state()
|
||||
#define MQTT_CONNECTION_TIMEOUT -4
|
||||
#define MQTT_CONNECTION_LOST -3
|
||||
#define MQTT_CONNECT_FAILED -2
|
||||
#define MQTT_DISCONNECTED -1
|
||||
#define MQTT_CONNECTED 0
|
||||
#define MQTT_CONNECT_BAD_PROTOCOL 1
|
||||
#define MQTT_CONNECT_BAD_CLIENT_ID 2
|
||||
#define MQTT_CONNECT_UNAVAILABLE 3
|
||||
#define MQTT_CONNECT_BAD_CREDENTIALS 4
|
||||
#define MQTT_CONNECT_UNAUTHORIZED 5
|
||||
|
||||
#define MQTTCONNECT 1 << 4 // Client request to connect to Server
|
||||
#define MQTTCONNACK 2 << 4 // Connect Acknowledgment
|
||||
#define MQTTPUBLISH 3 << 4 // Publish message
|
||||
#define MQTTPUBACK 4 << 4 // Publish Acknowledgment
|
||||
#define MQTTPUBREC 5 << 4 // Publish Received (assured delivery part 1)
|
||||
#define MQTTPUBREL 6 << 4 // Publish Release (assured delivery part 2)
|
||||
#define MQTTPUBCOMP 7 << 4 // Publish Complete (assured delivery part 3)
|
||||
#define MQTTSUBSCRIBE 8 << 4 // Client Subscribe request
|
||||
#define MQTTSUBACK 9 << 4 // Subscribe Acknowledgment
|
||||
#define MQTTUNSUBSCRIBE 10 << 4 // Client Unsubscribe request
|
||||
#define MQTTUNSUBACK 11 << 4 // Unsubscribe Acknowledgment
|
||||
#define MQTTPINGREQ 12 << 4 // PING Request
|
||||
#define MQTTPINGRESP 13 << 4 // PING Response
|
||||
#define MQTTDISCONNECT 14 << 4 // Client is Disconnecting
|
||||
#define MQTTReserved 15 << 4 // Reserved
|
||||
|
||||
#define MQTTQOS0 (0 << 1)
|
||||
#define MQTTQOS1 (1 << 1)
|
||||
#define MQTTQOS2 (2 << 1)
|
||||
|
||||
#ifdef ESP8266
|
||||
#include <functional>
|
||||
#define MQTT_CALLBACK_SIGNATURE std::function<void(char*, uint8_t*, unsigned int)> callback
|
||||
#else
|
||||
#define MQTT_CALLBACK_SIGNATURE void (*callback)(char*, uint8_t*, unsigned int)
|
||||
#endif
|
||||
|
||||
class PubSubClient {
|
||||
private:
|
||||
Client* _client;
|
||||
uint8_t buffer[MQTT_MAX_PACKET_SIZE];
|
||||
uint16_t nextMsgId;
|
||||
unsigned long lastOutActivity;
|
||||
unsigned long lastInActivity;
|
||||
bool pingOutstanding;
|
||||
MQTT_CALLBACK_SIGNATURE;
|
||||
uint16_t readPacket(uint8_t*);
|
||||
boolean readByte(uint8_t * result);
|
||||
boolean readByte(uint8_t * result, uint16_t * index);
|
||||
boolean write(uint8_t header, uint8_t* buf, uint16_t length);
|
||||
uint16_t writeString(const char* string, uint8_t* buf, uint16_t pos);
|
||||
IPAddress ip;
|
||||
const char* domain;
|
||||
uint16_t port;
|
||||
Stream* stream;
|
||||
int _state;
|
||||
public:
|
||||
PubSubClient();
|
||||
PubSubClient(Client& client);
|
||||
PubSubClient(IPAddress, uint16_t, Client& client);
|
||||
PubSubClient(IPAddress, uint16_t, Client& client, Stream&);
|
||||
PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
|
||||
PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
|
||||
PubSubClient(uint8_t *, uint16_t, Client& client);
|
||||
PubSubClient(uint8_t *, uint16_t, Client& client, Stream&);
|
||||
PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
|
||||
PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
|
||||
PubSubClient(const char*, uint16_t, Client& client);
|
||||
PubSubClient(const char*, uint16_t, Client& client, Stream&);
|
||||
PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);
|
||||
PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);
|
||||
|
||||
PubSubClient& setServer(IPAddress ip, uint16_t port);
|
||||
PubSubClient& setServer(uint8_t * ip, uint16_t port);
|
||||
PubSubClient& setServer(const char * domain, uint16_t port);
|
||||
PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE);
|
||||
PubSubClient& setClient(Client& client);
|
||||
PubSubClient& setStream(Stream& stream);
|
||||
|
||||
boolean connect(const char* id);
|
||||
boolean connect(const char* id, const char* user, const char* pass);
|
||||
boolean connect(const char* id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
||||
boolean connect(const char* id, const char* user, const char* pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
||||
void disconnect();
|
||||
boolean publish(const char* topic, const char* payload);
|
||||
boolean publish(const char* topic, const char* payload, boolean retained);
|
||||
boolean publish(const char* topic, const uint8_t * payload, unsigned int plength);
|
||||
boolean publish(const char* topic, const uint8_t * payload, unsigned int plength, boolean retained);
|
||||
boolean publish_P(const char* topic, const uint8_t * payload, unsigned int plength, boolean retained);
|
||||
boolean subscribe(const char* topic);
|
||||
boolean subscribe(const char* topic, uint8_t qos);
|
||||
boolean unsubscribe(const char* topic);
|
||||
boolean loop();
|
||||
boolean connected();
|
||||
int state();
|
||||
};
|
||||
|
||||
|
||||
#endif
|
15
MqttMonitor.cpp
Normal file
15
MqttMonitor.cpp
Normal file
@ -0,0 +1,15 @@
|
||||
// Do not remove the include below
|
||||
#include "MqttMonitor.h"
|
||||
|
||||
|
||||
//The setup function is called once at startup of the sketch
|
||||
void setup()
|
||||
{
|
||||
// Add your initialization code here
|
||||
}
|
||||
|
||||
// The loop function is called in an endless loop
|
||||
void loop()
|
||||
{
|
||||
//Add your repeated code here
|
||||
}
|
22
MqttMonitor.h
Normal file
22
MqttMonitor.h
Normal file
@ -0,0 +1,22 @@
|
||||
// Only modify this file to include
|
||||
// - function definitions (prototypes)
|
||||
// - include files
|
||||
// - extern variable definitions
|
||||
// In the appropriate section
|
||||
|
||||
#ifndef _MqttMonitor_H_
|
||||
#define _MqttMonitor_H_
|
||||
#include "Arduino.h"
|
||||
//add your includes for the project MqttMonitor here
|
||||
|
||||
|
||||
//end of add your includes here
|
||||
|
||||
|
||||
//add your function definitions for the project MqttMonitor here
|
||||
|
||||
|
||||
|
||||
|
||||
//Do not add code below this line
|
||||
#endif /* _MqttMonitor_H_ */
|
BIN
TFTLCD/.DS_Store
vendored
Normal file
BIN
TFTLCD/.DS_Store
vendored
Normal file
Binary file not shown.
1036
TFTLCD/Adafruit_TFTLCD.cpp
Normal file
1036
TFTLCD/Adafruit_TFTLCD.cpp
Normal file
File diff suppressed because it is too large
Load Diff
105
TFTLCD/Adafruit_TFTLCD.h
Normal file
105
TFTLCD/Adafruit_TFTLCD.h
Normal file
@ -0,0 +1,105 @@
|
||||
// IMPORTANT: SEE COMMENTS @ LINE 15 REGARDING SHIELD VS BREAKOUT BOARD USAGE.
|
||||
|
||||
// Graphics library by ladyada/adafruit with init code from Rossum
|
||||
// MIT license
|
||||
|
||||
#ifndef _ADAFRUIT_TFTLCD_H_
|
||||
#define _ADAFRUIT_TFTLCD_H_
|
||||
|
||||
#if ARDUINO >= 100
|
||||
#include "Arduino.h"
|
||||
#else
|
||||
#include "WProgram.h"
|
||||
#endif
|
||||
|
||||
#include <Adafruit_GFX.h>
|
||||
|
||||
// **** IF USING THE LCD BREAKOUT BOARD, COMMENT OUT THIS NEXT LINE. ****
|
||||
// **** IF USING THE LCD SHIELD, LEAVE THE LINE ENABLED: ****
|
||||
|
||||
// #define USE_ADAFRUIT_SHIELD_PINOUT 1
|
||||
|
||||
class Adafruit_TFTLCD : public Adafruit_GFX {
|
||||
|
||||
public:
|
||||
|
||||
Adafruit_TFTLCD(uint8_t cs, uint8_t cd, uint8_t wr, uint8_t rd, uint8_t rst);
|
||||
Adafruit_TFTLCD(void);
|
||||
|
||||
void begin(uint16_t id = 0x9325);
|
||||
void drawPixel(int16_t x, int16_t y, uint16_t color);
|
||||
void drawFastHLine(int16_t x0, int16_t y0, int16_t w, uint16_t color);
|
||||
void drawFastVLine(int16_t x0, int16_t y0, int16_t h, uint16_t color);
|
||||
void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t c);
|
||||
void fillScreen(uint16_t color);
|
||||
void reset(void);
|
||||
void setRegisters8(uint8_t *ptr, uint8_t n);
|
||||
void setRegisters16(uint16_t *ptr, uint8_t n);
|
||||
void setRotation(uint8_t x);
|
||||
// These methods are public in order for BMP examples to work:
|
||||
void setAddrWindow(int x1, int y1, int x2, int y2);
|
||||
void pushColors(uint16_t *data, uint8_t len, boolean first);
|
||||
|
||||
uint16_t color565(uint8_t r, uint8_t g, uint8_t b),
|
||||
readPixel(int16_t x, int16_t y),
|
||||
readID(void);
|
||||
uint32_t readReg(uint8_t r);
|
||||
|
||||
private:
|
||||
|
||||
void init(),
|
||||
// These items may have previously been defined as macros
|
||||
// in pin_magic.h. If not, function versions are declared:
|
||||
#ifndef write8
|
||||
write8(uint8_t value),
|
||||
#endif
|
||||
#ifndef setWriteDir
|
||||
setWriteDir(void),
|
||||
#endif
|
||||
#ifndef setReadDir
|
||||
setReadDir(void),
|
||||
#endif
|
||||
#ifndef writeRegister8
|
||||
writeRegister8(uint8_t a, uint8_t d),
|
||||
#endif
|
||||
#ifndef writeRegister16
|
||||
writeRegister16(uint16_t a, uint16_t d),
|
||||
#endif
|
||||
writeRegister24(uint8_t a, uint32_t d),
|
||||
writeRegister32(uint8_t a, uint32_t d),
|
||||
#ifndef writeRegisterPair
|
||||
writeRegisterPair(uint8_t aH, uint8_t aL, uint16_t d),
|
||||
#endif
|
||||
setLR(void),
|
||||
flood(uint16_t color, uint32_t len);
|
||||
uint8_t driver;
|
||||
|
||||
#ifndef read8
|
||||
uint8_t read8fn(void);
|
||||
#define read8isFunctionalized
|
||||
#endif
|
||||
|
||||
#ifndef USE_ADAFRUIT_SHIELD_PINOUT
|
||||
|
||||
#ifdef __AVR__
|
||||
volatile uint8_t *csPort , *cdPort , *wrPort , *rdPort;
|
||||
uint8_t csPinSet , cdPinSet , wrPinSet , rdPinSet ,
|
||||
csPinUnset, cdPinUnset, wrPinUnset, rdPinUnset,
|
||||
_reset;
|
||||
#endif
|
||||
#if defined(__SAM3X8E__)
|
||||
Pio *csPort , *cdPort , *wrPort , *rdPort;
|
||||
uint32_t csPinSet , cdPinSet , wrPinSet , rdPinSet ,
|
||||
csPinUnset, cdPinUnset, wrPinUnset, rdPinUnset,
|
||||
_reset;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
};
|
||||
|
||||
// For compatibility with sketches written for older versions of library.
|
||||
// Color function name was changed to 'color565' for parity with 2.2" LCD
|
||||
// library.
|
||||
#define Color565 color565
|
||||
|
||||
#endif
|
409
TFTLCD/pin_magic.h
Normal file
409
TFTLCD/pin_magic.h
Normal file
@ -0,0 +1,409 @@
|
||||
#ifndef _pin_magic_
|
||||
#define _pin_magic_
|
||||
|
||||
// This header file serves two purposes:
|
||||
//
|
||||
// 1) Isolate non-portable MCU port- and pin-specific identifiers and
|
||||
// operations so the library code itself remains somewhat agnostic
|
||||
// (PORTs and pin numbers are always referenced through macros).
|
||||
//
|
||||
// 2) GCC doesn't always respect the "inline" keyword, so this is a
|
||||
// ham-fisted manner of forcing the issue to minimize function calls.
|
||||
// This sometimes makes the library a bit bigger than before, but fast++.
|
||||
// However, because they're macros, we need to be SUPER CAREFUL about
|
||||
// parameters -- for example, write8(x) may expand to multiple PORT
|
||||
// writes that all refer to x, so it needs to be a constant or fixed
|
||||
// variable and not something like *ptr++ (which, after macro
|
||||
// expansion, may increment the pointer repeatedly and run off into
|
||||
// la-la land). Macros also give us fine-grained control over which
|
||||
// operations are inlined on which boards (balancing speed against
|
||||
// available program space).
|
||||
|
||||
// When using the TFT shield, control and data pins exist in set physical
|
||||
// locations, but the ports and bitmasks corresponding to each vary among
|
||||
// boards. A separate set of pin definitions is given for each supported
|
||||
// board type.
|
||||
// When using the TFT breakout board, control pins are configurable but
|
||||
// the data pins are still fixed -- making every data pin configurable
|
||||
// would be much too slow. The data pin layouts are not the same between
|
||||
// the shield and breakout configurations -- for the latter, pins were
|
||||
// chosen to keep the tutorial wiring manageable more than making optimal
|
||||
// use of ports and bitmasks. So there's a second set of pin definitions
|
||||
// given for each supported board.
|
||||
|
||||
// Shield pin usage:
|
||||
// LCD Data Bit : 7 6 5 4 3 2 1 0
|
||||
// Digital pin #: 7 6 13 4 11 10 9 8
|
||||
// Uno port/pin : PD7 PD6 PB5 PD4 PB3 PB2 PB1 PB0
|
||||
// Mega port/pin: PH4 PH3 PB7 PG5 PB5 PB4 PH6 PH5
|
||||
// Leo port/pin : PE6 PD7 PC7 PD4 PB7 PB6 PB5 PB4
|
||||
// Due port/pin : PC23 PC24 PB27 PC26 PD7 PC29 PC21 PC22
|
||||
// Breakout pin usage:
|
||||
// LCD Data Bit : 7 6 5 4 3 2 1 0
|
||||
// Uno dig. pin : 7 6 5 4 3 2 9 8
|
||||
// Uno port/pin : PD7 PD6 PD5 PD4 PD3 PD2 PB1 PB0
|
||||
// Mega dig. pin: 29 28 27 26 25 24 23 22
|
||||
// Mega port/pin: PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 (one contiguous PORT)
|
||||
// Leo dig. pin : 7 6 5 4 3 2 9 8
|
||||
// Leo port/pin : PE6 PD7 PC6 PD4 PD0 PD1 PB5 PB4
|
||||
// Due dig. pin : 40 39 38 37 36 35 34 33
|
||||
// Due port/pin : PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 (one contiguous PORT. -ish…)
|
||||
|
||||
// Pixel read operations require a minimum 400 nS delay from RD_ACTIVE
|
||||
// to polling the input pins. At 16 MHz, one machine cycle is 62.5 nS.
|
||||
// This code burns 7 cycles (437.5 nS) doing nothing; the RJMPs are
|
||||
// equivalent to two NOPs each, final NOP burns the 7th cycle, and the
|
||||
// last line is a radioactive mutant emoticon.
|
||||
#define DELAY7 \
|
||||
asm volatile( \
|
||||
"rjmp .+0" "\n\t" \
|
||||
"rjmp .+0" "\n\t" \
|
||||
"rjmp .+0" "\n\t" \
|
||||
"nop" "\n" \
|
||||
::);
|
||||
|
||||
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined (__AVR_ATmega328__) || defined(__AVR_ATmega8__)
|
||||
|
||||
// Arduino Uno, Duemilanove, etc.
|
||||
|
||||
#ifdef USE_ADAFRUIT_SHIELD_PINOUT
|
||||
|
||||
// LCD control lines:
|
||||
// RD (read), WR (write), CD (command/data), CS (chip select)
|
||||
#define RD_PORT PORTC /*pin A0 */
|
||||
#define WR_PORT PORTC /*pin A1 */
|
||||
#define CD_PORT PORTC /*pin A2 */
|
||||
#define CS_PORT PORTC /*pin A3 */
|
||||
#define RD_MASK B00000001
|
||||
#define WR_MASK B00000010
|
||||
#define CD_MASK B00000100
|
||||
#define CS_MASK B00001000
|
||||
|
||||
// These are macros for I/O operations...
|
||||
|
||||
// Write 8-bit value to LCD data lines
|
||||
#define write8inline(d) { \
|
||||
PORTD = (PORTD & B00101111) | ((d) & B11010000); \
|
||||
PORTB = (PORTB & B11010000) | ((d) & B00101111); \
|
||||
WR_STROBE; } // STROBEs are defined later
|
||||
|
||||
// Read 8-bit value from LCD data lines. The signle argument
|
||||
// is a destination variable; this isn't a function and doesn't
|
||||
// return a value in the conventional sense.
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
DELAY7; \
|
||||
result = (PIND & B11010000) | (PINB & B00101111); \
|
||||
RD_IDLE; }
|
||||
|
||||
// These set the PORT directions as required before the write and read
|
||||
// operations. Because write operations are much more common than reads,
|
||||
// the data-reading functions in the library code set the PORT(s) to
|
||||
// input before a read, and restore them back to the write state before
|
||||
// returning. This avoids having to set it for output inside every
|
||||
// drawing method. The default state has them initialized for writes.
|
||||
#define setWriteDirInline() { DDRD |= B11010000; DDRB |= B00101111; }
|
||||
#define setReadDirInline() { DDRD &= ~B11010000; DDRB &= ~B00101111; }
|
||||
|
||||
#else // Uno w/Breakout board
|
||||
|
||||
#define write8inline(d) { \
|
||||
PORTD = (PORTD & B00000011) | ((d) & B11111100); \
|
||||
PORTB = (PORTB & B11111100) | ((d) & B00000011); \
|
||||
WR_STROBE; }
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
DELAY7; \
|
||||
result = (PIND & B11111100) | (PINB & B00000011); \
|
||||
RD_IDLE; }
|
||||
#define setWriteDirInline() { DDRD |= B11111100; DDRB |= B00000011; }
|
||||
#define setReadDirInline() { DDRD &= ~B11111100; DDRB &= ~B00000011; }
|
||||
|
||||
#endif
|
||||
|
||||
// As part of the inline control, macros reference other macros...if any
|
||||
// of these are left undefined, an equivalent function version (non-inline)
|
||||
// is declared later. The Uno has a moderate amount of program space, so
|
||||
// only write8() is inlined -- that one provides the most performance
|
||||
// benefit, but unfortunately also generates the most bloat. This is
|
||||
// why only certain cases are inlined for each board.
|
||||
#define write8 write8inline
|
||||
|
||||
#elif defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
|
||||
|
||||
// Arduino Mega, ADK, etc.
|
||||
|
||||
#ifdef USE_ADAFRUIT_SHIELD_PINOUT
|
||||
|
||||
#define RD_PORT PORTF
|
||||
#define WR_PORT PORTF
|
||||
#define CD_PORT PORTF
|
||||
#define CS_PORT PORTF
|
||||
#define RD_MASK B00000001
|
||||
#define WR_MASK B00000010
|
||||
#define CD_MASK B00000100
|
||||
#define CS_MASK B00001000
|
||||
|
||||
#define write8inline(d) { \
|
||||
PORTH = (PORTH&B10000111)|(((d)&B11000000)>>3)|(((d)&B00000011)<<5); \
|
||||
PORTB = (PORTB&B01001111)|(((d)&B00101100)<<2); \
|
||||
PORTG = (PORTG&B11011111)|(((d)&B00010000)<<1); \
|
||||
WR_STROBE; }
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
DELAY7; \
|
||||
result = ((PINH & B00011000) << 3) | ((PINB & B10110000) >> 2) | \
|
||||
((PING & B00100000) >> 1) | ((PINH & B01100000) >> 5); \
|
||||
RD_IDLE; }
|
||||
#define setWriteDirInline() { \
|
||||
DDRH |= B01111000; DDRB |= B10110000; DDRG |= B00100000; }
|
||||
#define setReadDirInline() { \
|
||||
DDRH &= ~B01111000; DDRB &= ~B10110000; DDRG &= ~B00100000; }
|
||||
|
||||
#else // Mega w/Breakout board
|
||||
|
||||
#define write8inline(d) { PORTA = (d); WR_STROBE; }
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
DELAY7; \
|
||||
result = PINA; \
|
||||
RD_IDLE; }
|
||||
#define setWriteDirInline() DDRA = 0xff
|
||||
#define setReadDirInline() DDRA = 0
|
||||
|
||||
#endif
|
||||
|
||||
// All of the functions are inlined on the Arduino Mega. When using the
|
||||
// breakout board, the macro versions aren't appreciably larger than the
|
||||
// function equivalents, and they're super simple and fast. When using
|
||||
// the shield, the macros become pretty complicated...but this board has
|
||||
// so much code space, the macros are used anyway. If you need to free
|
||||
// up program space, some macros can be removed, at a minor cost in speed.
|
||||
#define write8 write8inline
|
||||
#define read8 read8inline
|
||||
#define setWriteDir setWriteDirInline
|
||||
#define setReadDir setReadDirInline
|
||||
#define writeRegister8 writeRegister8inline
|
||||
#define writeRegister16 writeRegister16inline
|
||||
#define writeRegisterPair writeRegisterPairInline
|
||||
|
||||
#elif defined(__AVR_ATmega32U4__)
|
||||
|
||||
// Arduino Leonardo
|
||||
|
||||
#ifdef USE_ADAFRUIT_SHIELD_PINOUT
|
||||
|
||||
#define RD_PORT PORTF
|
||||
#define WR_PORT PORTF
|
||||
#define CD_PORT PORTF
|
||||
#define CS_PORT PORTF
|
||||
#define RD_MASK B10000000
|
||||
#define WR_MASK B01000000
|
||||
#define CD_MASK B00100000
|
||||
#define CS_MASK B00010000
|
||||
|
||||
#define write8inline(d) { \
|
||||
PORTE = (PORTE & B10111111) | (((d) & B10000000)>>1); \
|
||||
PORTD = (PORTD & B01101111) | (((d) & B01000000)<<1) | ((d) & B00010000); \
|
||||
PORTC = (PORTC & B01111111) | (((d) & B00100000)<<2); \
|
||||
PORTB = (PORTB & B00001111) | (((d) & B00001111)<<4); \
|
||||
WR_STROBE; }
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
DELAY7; \
|
||||
result = ((PINE & B01000000) << 1) | ((PIND & B10000000) >> 1) | \
|
||||
((PINC & B10000000) >> 2) | ((PINB & B11110000) >> 4) | \
|
||||
(PIND & B00010000); \
|
||||
RD_IDLE; }
|
||||
#define setWriteDirInline() { \
|
||||
DDRE |= B01000000; DDRD |= B10010000; \
|
||||
DDRC |= B10000000; DDRB |= B11110000; }
|
||||
#define setReadDirInline() { \
|
||||
DDRE &= ~B01000000; DDRD &= ~B10010000; \
|
||||
DDRC &= ~B10000000; DDRB &= ~B11110000; }
|
||||
|
||||
#else // Leonardo w/Breakout board
|
||||
|
||||
#define write8inline(d) { \
|
||||
uint8_t dr1 = (d) >> 1, dl1 = (d) << 1; \
|
||||
PORTE = (PORTE & B10111111) | (dr1 & B01000000); \
|
||||
PORTD = (PORTD & B01101100) | (dl1 & B10000000) | (((d) & B00001000)>>3) |\
|
||||
(dr1 & B00000010) | ((d) & B00010000); \
|
||||
PORTC = (PORTC & B10111111) | (dl1 & B01000000); \
|
||||
PORTB = (PORTB & B11001111) |(((d) & B00000011)<<4); \
|
||||
WR_STROBE; }
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
DELAY7; \
|
||||
result = (((PINE & B01000000) | (PIND & B00000010)) << 1) | \
|
||||
(((PINC & B01000000) | (PIND & B10000000)) >> 1) | \
|
||||
((PIND & B00000001) << 3) | ((PINB & B00110000) >> 4) | \
|
||||
(PIND & B00010000); \
|
||||
RD_IDLE; }
|
||||
#define setWriteDirInline() { \
|
||||
DDRE |= B01000000; DDRD |= B10010011; \
|
||||
DDRC |= B01000000; DDRB |= B00110000; }
|
||||
#define setReadDirInline() { \
|
||||
DDRE &= ~B01000000; DDRD &= ~B10010011; \
|
||||
DDRC &= ~B01000000; DDRB &= ~B00110000; }
|
||||
|
||||
#endif
|
||||
|
||||
// On the Leonardo, only the write8() macro is used -- though even that
|
||||
// might be excessive given the code size and available program space
|
||||
// on this board. You may need to disable this to get any sizable
|
||||
// program to compile.
|
||||
#define write8 write8inline
|
||||
|
||||
#elif defined(__SAM3X8E__)
|
||||
|
||||
// Arduino Due
|
||||
|
||||
#ifdef USE_ADAFRUIT_SHIELD_PINOUT
|
||||
|
||||
#define RD_PORT PIOA /*pin A0 */
|
||||
#define WR_PORT PIOA /*pin A1 */
|
||||
#define CD_PORT PIOA /*pin A2 */
|
||||
#define CS_PORT PIOA /*pin A3 */
|
||||
#define RD_MASK 0x00010000
|
||||
#define WR_MASK 0x01000000
|
||||
#define CD_MASK 0x00800000
|
||||
#define CS_MASK 0x00400000
|
||||
|
||||
#define write8inline(d) { \
|
||||
PIO_Set(PIOD, (((d) & 0x08)<<(7-3))); \
|
||||
PIO_Clear(PIOD, (((~d) & 0x08)<<(7-3))); \
|
||||
PIO_Set(PIOC, (((d) & 0x01)<<(22-0)) | (((d) & 0x02)<<(21-1))| (((d) & 0x04)<<(29-2))| (((d) & 0x10)<<(26-4))| (((d) & 0x40)<<(24-6))| (((d) & 0x80)<<(23-7))); \
|
||||
PIO_Clear(PIOC, (((~d) & 0x01)<<(22-0)) | (((~d) & 0x02)<<(21-1))| (((~d) & 0x04)<<(29-2))| (((~d) & 0x10)<<(26-4))| (((~d) & 0x40)<<(24-6))| (((~d) & 0x80)<<(23-7))); \
|
||||
PIO_Set(PIOB, (((d) & 0x20)<<(27-5))); \
|
||||
PIO_Clear(PIOB, (((~d) & 0x20)<<(27-5))); \
|
||||
WR_STROBE; }
|
||||
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
delayMicroseconds(1); \
|
||||
result = (((PIOC->PIO_PDSR & (1<<23)) >> (23-7)) | ((PIOC->PIO_PDSR & (1<<24)) >> (24-6)) | \
|
||||
((PIOB->PIO_PDSR & (1<<27)) >> (27-5)) | ((PIOC->PIO_PDSR & (1<<26)) >> (26-4)) | \
|
||||
((PIOD->PIO_PDSR & (1<< 7)) >> ( 7-3)) | ((PIOC->PIO_PDSR & (1<<29)) >> (29-2)) | \
|
||||
((PIOC->PIO_PDSR & (1<<21)) >> (21-1)) | ((PIOC->PIO_PDSR & (1<<22)) >> (22-0))); \
|
||||
RD_IDLE;}
|
||||
|
||||
#define setWriteDirInline() { \
|
||||
PIOD->PIO_MDDR |= 0x00000080; /*PIOD->PIO_SODR = 0x00000080;*/ PIOD->PIO_OER |= 0x00000080; PIOD->PIO_PER |= 0x00000080; \
|
||||
PIOC->PIO_MDDR |= 0x25E00000; /*PIOC->PIO_SODR = 0x25E00000;*/ PIOC->PIO_OER |= 0x25E00000; PIOC->PIO_PER |= 0x25E00000; \
|
||||
PIOB->PIO_MDDR |= 0x08000000; /*PIOB->PIO_SODR = 0x08000000;*/ PIOB->PIO_OER |= 0x08000000; PIOB->PIO_PER |= 0x08000000; }
|
||||
|
||||
#define setReadDirInline() { \
|
||||
pmc_enable_periph_clk( ID_PIOD ) ; pmc_enable_periph_clk( ID_PIOC ) ; pmc_enable_periph_clk( ID_PIOB ) ; \
|
||||
PIOD->PIO_PUDR |= 0x00000080; PIOD->PIO_IFDR |= 0x00000080; PIOD->PIO_ODR |= 0x00000080; PIOD->PIO_PER |= 0x00000080; \
|
||||
PIOC->PIO_PUDR |= 0x25E00000; PIOC->PIO_IFDR |= 0x25E00000; PIOC->PIO_ODR |= 0x25E00000; PIOC->PIO_PER |= 0x25E00000; \
|
||||
PIOB->PIO_PUDR |= 0x08000000; PIOB->PIO_IFDR |= 0x08000000; PIOB->PIO_ODR |= 0x08000000; PIOB->PIO_PER |= 0x08000000; }
|
||||
|
||||
// Control signals are ACTIVE LOW (idle is HIGH)
|
||||
// Command/Data: LOW = command, HIGH = data
|
||||
// These are single-instruction operations and always inline
|
||||
#define RD_ACTIVE RD_PORT->PIO_CODR |= RD_MASK
|
||||
#define RD_IDLE RD_PORT->PIO_SODR |= RD_MASK
|
||||
#define WR_ACTIVE WR_PORT->PIO_CODR |= WR_MASK
|
||||
#define WR_IDLE WR_PORT->PIO_SODR |= WR_MASK
|
||||
#define CD_COMMAND CD_PORT->PIO_CODR |= CD_MASK
|
||||
#define CD_DATA CD_PORT->PIO_SODR |= CD_MASK
|
||||
#define CS_ACTIVE CS_PORT->PIO_CODR |= CS_MASK
|
||||
#define CS_IDLE CS_PORT->PIO_SODR |= CS_MASK
|
||||
|
||||
|
||||
#else // Due w/Breakout board
|
||||
|
||||
#define write8inline(d) { \
|
||||
PIO_Set(PIOC, (((d) & 0xFF)<<1)); \
|
||||
PIO_Clear(PIOC, (((~d) & 0xFF)<<1)); \
|
||||
WR_STROBE; }
|
||||
|
||||
#define read8inline(result) { \
|
||||
RD_ACTIVE; \
|
||||
delayMicroseconds(1); \
|
||||
result = ((PIOC->PIO_PDSR & 0x1FE) >> 1); \
|
||||
RD_IDLE;}
|
||||
|
||||
#define setWriteDirInline() { \
|
||||
PIOC->PIO_MDDR |= 0x000001FE; /*PIOC->PIO_SODR |= 0x000001FE;*/ PIOC->PIO_OER |= 0x000001FE; PIOC->PIO_PER |= 0x000001FE; }
|
||||
|
||||
#define setReadDirInline() { \
|
||||
pmc_enable_periph_clk( ID_PIOC ) ; \
|
||||
PIOC->PIO_PUDR |= 0x000001FE; PIOC->PIO_IFDR |= 0x000001FE; PIOC->PIO_ODR |= 0x000001FE; PIOC->PIO_PER |= 0x000001FE; }
|
||||
|
||||
// When using the TFT breakout board, control pins are configurable.
|
||||
#define RD_ACTIVE rdPort->PIO_CODR |= rdPinSet //PIO_Clear(rdPort, rdPinSet)
|
||||
#define RD_IDLE rdPort->PIO_SODR |= rdPinSet //PIO_Set(rdPort, rdPinSet)
|
||||
#define WR_ACTIVE wrPort->PIO_CODR |= wrPinSet //PIO_Clear(wrPort, wrPinSet)
|
||||
#define WR_IDLE wrPort->PIO_SODR |= wrPinSet //PIO_Set(wrPort, wrPinSet)
|
||||
#define CD_COMMAND cdPort->PIO_CODR |= cdPinSet //PIO_Clear(cdPort, cdPinSet)
|
||||
#define CD_DATA cdPort->PIO_SODR |= cdPinSet //PIO_Set(cdPort, cdPinSet)
|
||||
#define CS_ACTIVE csPort->PIO_CODR |= csPinSet //PIO_Clear(csPort, csPinSet)
|
||||
#define CS_IDLE csPort->PIO_SODR |= csPinSet //PIO_Set(csPort, csPinSet)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#else
|
||||
|
||||
#error "Board type unsupported / not recognized"
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined(__SAM3X8E__)
|
||||
// Stuff common to all Arduino AVR board types:
|
||||
|
||||
#ifdef USE_ADAFRUIT_SHIELD_PINOUT
|
||||
|
||||
// Control signals are ACTIVE LOW (idle is HIGH)
|
||||
// Command/Data: LOW = command, HIGH = data
|
||||
// These are single-instruction operations and always inline
|
||||
#define RD_ACTIVE RD_PORT &= ~RD_MASK
|
||||
#define RD_IDLE RD_PORT |= RD_MASK
|
||||
#define WR_ACTIVE WR_PORT &= ~WR_MASK
|
||||
#define WR_IDLE WR_PORT |= WR_MASK
|
||||
#define CD_COMMAND CD_PORT &= ~CD_MASK
|
||||
#define CD_DATA CD_PORT |= CD_MASK
|
||||
#define CS_ACTIVE CS_PORT &= ~CS_MASK
|
||||
#define CS_IDLE CS_PORT |= CS_MASK
|
||||
|
||||
#else // Breakout board
|
||||
|
||||
// When using the TFT breakout board, control pins are configurable.
|
||||
#define RD_ACTIVE *rdPort &= rdPinUnset
|
||||
#define RD_IDLE *rdPort |= rdPinSet
|
||||
#define WR_ACTIVE *wrPort &= wrPinUnset
|
||||
#define WR_IDLE *wrPort |= wrPinSet
|
||||
#define CD_COMMAND *cdPort &= cdPinUnset
|
||||
#define CD_DATA *cdPort |= cdPinSet
|
||||
#define CS_ACTIVE *csPort &= csPinUnset
|
||||
#define CS_IDLE *csPort |= csPinSet
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Data write strobe, ~2 instructions and always inline
|
||||
#define WR_STROBE { WR_ACTIVE; WR_IDLE; }
|
||||
|
||||
// These higher-level operations are usually functionalized,
|
||||
// except on Mega where's there's gobs and gobs of program space.
|
||||
|
||||
// Set value of TFT register: 8-bit address, 8-bit value
|
||||
#define writeRegister8inline(a, d) { \
|
||||
CD_COMMAND; write8(a); CD_DATA; write8(d); }
|
||||
|
||||
// Set value of TFT register: 16-bit address, 16-bit value
|
||||
// See notes at top about macro expansion, hence hi & lo temp vars
|
||||
#define writeRegister16inline(a, d) { \
|
||||
uint8_t hi, lo; \
|
||||
hi = (a) >> 8; lo = (a); CD_COMMAND; write8(hi); write8(lo); \
|
||||
hi = (d) >> 8; lo = (d); CD_DATA ; write8(hi); write8(lo); }
|
||||
|
||||
// Set value of 2 TFT registers: Two 8-bit addresses (hi & lo), 16-bit value
|
||||
#define writeRegisterPairInline(aH, aL, d) { \
|
||||
uint8_t hi = (d) >> 8, lo = (d); \
|
||||
CD_COMMAND; write8(aH); CD_DATA; write8(hi); \
|
||||
CD_COMMAND; write8(aL); CD_DATA; write8(lo); }
|
||||
|
||||
#endif // _pin_magic_
|
172
TFTLCD/registers.h
Normal file
172
TFTLCD/registers.h
Normal file
@ -0,0 +1,172 @@
|
||||
// Register names from Peter Barrett's Microtouch code
|
||||
#define ILI932X_START_OSC 0x00
|
||||
#define ILI932X_DRIV_OUT_CTRL 0x01
|
||||
#define ILI932X_DRIV_WAV_CTRL 0x02
|
||||
#define ILI932X_ENTRY_MOD 0x03
|
||||
#define ILI932X_RESIZE_CTRL 0x04
|
||||
#define ILI932X_DISP_CTRL1 0x07
|
||||
#define ILI932X_DISP_CTRL2 0x08
|
||||
#define ILI932X_DISP_CTRL3 0x09
|
||||
#define ILI932X_DISP_CTRL4 0x0A
|
||||
#define ILI932X_RGB_DISP_IF_CTRL1 0x0C
|
||||
#define ILI932X_FRM_MARKER_POS 0x0D
|
||||
#define ILI932X_RGB_DISP_IF_CTRL2 0x0F
|
||||
#define ILI932X_POW_CTRL1 0x10
|
||||
#define ILI932X_POW_CTRL2 0x11
|
||||
#define ILI932X_POW_CTRL3 0x12
|
||||
#define ILI932X_POW_CTRL4 0x13
|
||||
#define ILI932X_GRAM_HOR_AD 0x20
|
||||
#define ILI932X_GRAM_VER_AD 0x21
|
||||
#define ILI932X_RW_GRAM 0x22
|
||||
#define ILI932X_POW_CTRL7 0x29
|
||||
#define ILI932X_FRM_RATE_COL_CTRL 0x2B
|
||||
#define ILI932X_GAMMA_CTRL1 0x30
|
||||
#define ILI932X_GAMMA_CTRL2 0x31
|
||||
#define ILI932X_GAMMA_CTRL3 0x32
|
||||
#define ILI932X_GAMMA_CTRL4 0x35
|
||||
#define ILI932X_GAMMA_CTRL5 0x36
|
||||
#define ILI932X_GAMMA_CTRL6 0x37
|
||||
#define ILI932X_GAMMA_CTRL7 0x38
|
||||
#define ILI932X_GAMMA_CTRL8 0x39
|
||||
#define ILI932X_GAMMA_CTRL9 0x3C
|
||||
#define ILI932X_GAMMA_CTRL10 0x3D
|
||||
#define ILI932X_HOR_START_AD 0x50
|
||||
#define ILI932X_HOR_END_AD 0x51
|
||||
#define ILI932X_VER_START_AD 0x52
|
||||
#define ILI932X_VER_END_AD 0x53
|
||||
#define ILI932X_GATE_SCAN_CTRL1 0x60
|
||||
#define ILI932X_GATE_SCAN_CTRL2 0x61
|
||||
#define ILI932X_GATE_SCAN_CTRL3 0x6A
|
||||
#define ILI932X_PART_IMG1_DISP_POS 0x80
|
||||
#define ILI932X_PART_IMG1_START_AD 0x81
|
||||
#define ILI932X_PART_IMG1_END_AD 0x82
|
||||
#define ILI932X_PART_IMG2_DISP_POS 0x83
|
||||
#define ILI932X_PART_IMG2_START_AD 0x84
|
||||
#define ILI932X_PART_IMG2_END_AD 0x85
|
||||
#define ILI932X_PANEL_IF_CTRL1 0x90
|
||||
#define ILI932X_PANEL_IF_CTRL2 0x92
|
||||
#define ILI932X_PANEL_IF_CTRL3 0x93
|
||||
#define ILI932X_PANEL_IF_CTRL4 0x95
|
||||
#define ILI932X_PANEL_IF_CTRL5 0x97
|
||||
#define ILI932X_PANEL_IF_CTRL6 0x98
|
||||
|
||||
#define HX8347G_COLADDRSTART_HI 0x02
|
||||
#define HX8347G_COLADDRSTART_LO 0x03
|
||||
#define HX8347G_COLADDREND_HI 0x04
|
||||
#define HX8347G_COLADDREND_LO 0x05
|
||||
#define HX8347G_ROWADDRSTART_HI 0x06
|
||||
#define HX8347G_ROWADDRSTART_LO 0x07
|
||||
#define HX8347G_ROWADDREND_HI 0x08
|
||||
#define HX8347G_ROWADDREND_LO 0x09
|
||||
#define HX8347G_MEMACCESS 0x16
|
||||
|
||||
|
||||
|
||||
#define ILI9341_SOFTRESET 0x01
|
||||
#define ILI9341_SLEEPIN 0x10
|
||||
#define ILI9341_SLEEPOUT 0x11
|
||||
#define ILI9341_NORMALDISP 0x13
|
||||
#define ILI9341_INVERTOFF 0x20
|
||||
#define ILI9341_INVERTON 0x21
|
||||
#define ILI9341_GAMMASET 0x26
|
||||
#define ILI9341_DISPLAYOFF 0x28
|
||||
#define ILI9341_DISPLAYON 0x29
|
||||
#define ILI9341_COLADDRSET 0x2A
|
||||
#define ILI9341_PAGEADDRSET 0x2B
|
||||
#define ILI9341_MEMORYWRITE 0x2C
|
||||
#define ILI9341_PIXELFORMAT 0x3A
|
||||
#define ILI9341_FRAMECONTROL 0xB1
|
||||
#define ILI9341_DISPLAYFUNC 0xB6
|
||||
#define ILI9341_ENTRYMODE 0xB7
|
||||
#define ILI9341_POWERCONTROL1 0xC0
|
||||
#define ILI9341_POWERCONTROL2 0xC1
|
||||
#define ILI9341_VCOMCONTROL1 0xC5
|
||||
#define ILI9341_VCOMCONTROL2 0xC7
|
||||
#define ILI9341_MEMCONTROL 0x36
|
||||
#define ILI9341_MADCTL 0x36
|
||||
|
||||
#define ILI9341_MADCTL_MY 0x80
|
||||
#define ILI9341_MADCTL_MX 0x40
|
||||
#define ILI9341_MADCTL_MV 0x20
|
||||
#define ILI9341_MADCTL_ML 0x10
|
||||
#define ILI9341_MADCTL_RGB 0x00
|
||||
#define ILI9341_MADCTL_BGR 0x08
|
||||
#define ILI9341_MADCTL_MH 0x04
|
||||
|
||||
|
||||
|
||||
#define HX8357_NOP 0x00
|
||||
#define HX8357_SWRESET 0x01
|
||||
#define HX8357_RDDID 0x04
|
||||
#define HX8357_RDDST 0x09
|
||||
|
||||
#define HX8357B_RDPOWMODE 0x0A
|
||||
#define HX8357B_RDMADCTL 0x0B
|
||||
#define HX8357B_RDCOLMOD 0x0C
|
||||
#define HX8357B_RDDIM 0x0D
|
||||
#define HX8357B_RDDSDR 0x0F
|
||||
|
||||
#define HX8357_SLPIN 0x10
|
||||
#define HX8357_SLPOUT 0x11
|
||||
#define HX8357B_PTLON 0x12
|
||||
#define HX8357B_NORON 0x13
|
||||
|
||||
#define HX8357_INVOFF 0x20
|
||||
#define HX8357_INVON 0x21
|
||||
#define HX8357_DISPOFF 0x28
|
||||
#define HX8357_DISPON 0x29
|
||||
|
||||
#define HX8357_CASET 0x2A
|
||||
#define HX8357_PASET 0x2B
|
||||
#define HX8357_RAMWR 0x2C
|
||||
#define HX8357_RAMRD 0x2E
|
||||
|
||||
#define HX8357B_PTLAR 0x30
|
||||
#define HX8357_TEON 0x35
|
||||
#define HX8357_TEARLINE 0x44
|
||||
#define HX8357_MADCTL 0x36
|
||||
#define HX8357_COLMOD 0x3A
|
||||
|
||||
#define HX8357_SETOSC 0xB0
|
||||
#define HX8357_SETPWR1 0xB1
|
||||
#define HX8357B_SETDISPLAY 0xB2
|
||||
#define HX8357_SETRGB 0xB3
|
||||
#define HX8357D_SETCOM 0xB6
|
||||
|
||||
#define HX8357B_SETDISPMODE 0xB4
|
||||
#define HX8357D_SETCYC 0xB4
|
||||
#define HX8357B_SETOTP 0xB7
|
||||
#define HX8357D_SETC 0xB9
|
||||
|
||||
#define HX8357B_SET_PANEL_DRIVING 0xC0
|
||||
#define HX8357D_SETSTBA 0xC0
|
||||
#define HX8357B_SETDGC 0xC1
|
||||
#define HX8357B_SETID 0xC3
|
||||
#define HX8357B_SETDDB 0xC4
|
||||
#define HX8357B_SETDISPLAYFRAME 0xC5
|
||||
#define HX8357B_GAMMASET 0xC8
|
||||
#define HX8357B_SETCABC 0xC9
|
||||
#define HX8357_SETPANEL 0xCC
|
||||
|
||||
|
||||
#define HX8357B_SETPOWER 0xD0
|
||||
#define HX8357B_SETVCOM 0xD1
|
||||
#define HX8357B_SETPWRNORMAL 0xD2
|
||||
|
||||
#define HX8357B_RDID1 0xDA
|
||||
#define HX8357B_RDID2 0xDB
|
||||
#define HX8357B_RDID3 0xDC
|
||||
#define HX8357B_RDID4 0xDD
|
||||
|
||||
#define HX8357D_SETGAMMA 0xE0
|
||||
|
||||
#define HX8357B_SETGAMMA 0xC8
|
||||
#define HX8357B_SETPANELRELATED 0xE9
|
||||
|
||||
#define HX8357B_MADCTL_MY 0x80
|
||||
#define HX8357B_MADCTL_MX 0x40
|
||||
#define HX8357B_MADCTL_MV 0x20
|
||||
#define HX8357B_MADCTL_ML 0x10
|
||||
#define HX8357B_MADCTL_RGB 0x00
|
||||
#define HX8357B_MADCTL_BGR 0x08
|
||||
#define HX8357B_MADCTL_MH 0x04
|
BIN
Touch-Screen/.DS_Store
vendored
Normal file
BIN
Touch-Screen/.DS_Store
vendored
Normal file
Binary file not shown.
285
Touch-Screen/TouchScreen.cpp
Normal file
285
Touch-Screen/TouchScreen.cpp
Normal file
@ -0,0 +1,285 @@
|
||||
// Touch screen library with X Y and Z (pressure) readings as well
|
||||
// as oversampling to avoid 'bouncing'
|
||||
// (c) ladyada / adafruit
|
||||
// Code under MIT License
|
||||
|
||||
#include "Arduino.h"
|
||||
#include "pins_arduino.h"
|
||||
|
||||
#ifdef __AVR
|
||||
#include <avr/pgmspace.h>
|
||||
#elif defined(ESP8266)
|
||||
#include <pgmspace.h>
|
||||
#endif
|
||||
#include "TouchScreen.h"
|
||||
|
||||
// increase or decrease the touchscreen oversampling. This is a little different than you make think:
|
||||
// 1 is no oversampling, whatever data we get is immediately returned
|
||||
// 2 is double-sampling and we only return valid data if both points are the same
|
||||
// 3+ uses insert sort to get the median value.
|
||||
// We found 2 is precise yet not too slow so we suggest sticking with it!
|
||||
|
||||
#define NUMSAMPLES 2
|
||||
|
||||
TSPoint::TSPoint(void) {
|
||||
x = y = 0;
|
||||
}
|
||||
|
||||
TSPoint::TSPoint(int16_t x0, int16_t y0, int16_t z0) {
|
||||
x = x0;
|
||||
y = y0;
|
||||
z = z0;
|
||||
}
|
||||
|
||||
bool TSPoint::operator==(TSPoint p1) {
|
||||
return ((p1.x == x) && (p1.y == y) && (p1.z == z));
|
||||
}
|
||||
|
||||
bool TSPoint::operator!=(TSPoint p1) {
|
||||
return ((p1.x != x) || (p1.y != y) || (p1.z != z));
|
||||
}
|
||||
|
||||
#if (NUMSAMPLES > 2)
|
||||
static void insert_sort(int array[], uint8_t size) {
|
||||
uint8_t j;
|
||||
int save;
|
||||
|
||||
for (int i = 1; i < size; i++) {
|
||||
save = array[i];
|
||||
for (j = i; j >= 1 && save < array[j - 1]; j--)
|
||||
array[j] = array[j - 1];
|
||||
array[j] = save;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
TSPoint TouchScreen::getPoint(void) {
|
||||
int x, y, z;
|
||||
int samples[NUMSAMPLES];
|
||||
uint8_t i, valid;
|
||||
|
||||
#if defined(ARDUINO_ARCH_SAM)
|
||||
Pio* xp_port = digitalPinToPort(_xp);
|
||||
Pio* yp_port = digitalPinToPort(_yp);
|
||||
Pio* xm_port = digitalPinToPort(_xm);
|
||||
Pio* ym_port = digitalPinToPort(_ym);
|
||||
|
||||
uint32_t xp_pin = digitalPinToBitMask(_xp);
|
||||
uint32_t yp_pin = digitalPinToBitMask(_yp);
|
||||
uint32_t xm_pin = digitalPinToBitMask(_xm);
|
||||
uint32_t ym_pin = digitalPinToBitMask(_ym);
|
||||
#elif defined(ARDUINO_ARCH_SAMD)
|
||||
PortGroup* xp_port = digitalPinToPort(_xp);
|
||||
PortGroup* yp_port = digitalPinToPort(_yp);
|
||||
PortGroup* xm_port = digitalPinToPort(_xm);
|
||||
PortGroup* ym_port = digitalPinToPort(_ym);
|
||||
|
||||
uint32_t xp_pin = digitalPinToBitMask(_xp);
|
||||
uint32_t yp_pin = digitalPinToBitMask(_yp);
|
||||
uint32_t xm_pin = digitalPinToBitMask(_xm);
|
||||
uint32_t ym_pin = digitalPinToBitMask(_ym);
|
||||
#else
|
||||
uint8_t xp_port = digitalPinToPort(_xp);
|
||||
uint8_t yp_port = digitalPinToPort(_yp);
|
||||
uint8_t xm_port = digitalPinToPort(_xm);
|
||||
uint8_t ym_port = digitalPinToPort(_ym);
|
||||
|
||||
uint8_t xp_pin = digitalPinToBitMask(_xp);
|
||||
uint8_t yp_pin = digitalPinToBitMask(_yp);
|
||||
uint8_t xm_pin = digitalPinToBitMask(_xm);
|
||||
uint8_t ym_pin = digitalPinToBitMask(_ym);
|
||||
#endif
|
||||
|
||||
|
||||
valid = 1;
|
||||
|
||||
pinMode(_yp, INPUT);
|
||||
pinMode(_ym, INPUT);
|
||||
|
||||
*portOutputRegister(yp_port) &= ~yp_pin;
|
||||
*portOutputRegister(ym_port) &= ~ym_pin;
|
||||
//digitalWrite(_yp, LOW);
|
||||
//digitalWrite(_ym, LOW);
|
||||
|
||||
pinMode(_xp, OUTPUT);
|
||||
pinMode(_xm, OUTPUT);
|
||||
//digitalWrite(_xp, HIGH);
|
||||
//digitalWrite(_xm, LOW);
|
||||
*portOutputRegister(xp_port) |= xp_pin;
|
||||
*portOutputRegister(xm_port) &= ~xm_pin;
|
||||
|
||||
#ifdef __arm__
|
||||
delayMicroseconds(20); // Fast ARM chips need to allow voltages to settle
|
||||
#endif
|
||||
for (i=0; i<NUMSAMPLES; i++) {
|
||||
samples[i] = analogRead(_yp);
|
||||
}
|
||||
#if NUMSAMPLES > 2
|
||||
insert_sort(samples, NUMSAMPLES);
|
||||
#endif
|
||||
#if NUMSAMPLES == 2
|
||||
// Allow small amount of measurement noise, because capacitive
|
||||
// coupling to a TFT display's signals can induce some noise.
|
||||
if (samples[0] - samples[1] < -4 || samples[0] - samples[1] > 4) {
|
||||
valid = 0;
|
||||
} else {
|
||||
samples[1] = (samples[0] + samples[1]) >> 1; // average 2 samples
|
||||
}
|
||||
#endif
|
||||
x = (1023-samples[NUMSAMPLES/2]);
|
||||
|
||||
pinMode(_xp, INPUT);
|
||||
pinMode(_xm, INPUT);
|
||||
*portOutputRegister(xp_port) &= ~xp_pin;
|
||||
//digitalWrite(_xp, LOW);
|
||||
|
||||
pinMode(_yp, OUTPUT);
|
||||
*portOutputRegister(yp_port) |= yp_pin;
|
||||
//digitalWrite(_yp, HIGH);
|
||||
pinMode(_ym, OUTPUT);
|
||||
|
||||
#ifdef __arm__
|
||||
delayMicroseconds(20); // Fast ARM chips need to allow voltages to settle
|
||||
#endif
|
||||
for (i=0; i<NUMSAMPLES; i++) {
|
||||
samples[i] = analogRead(_xm);
|
||||
}
|
||||
|
||||
#if NUMSAMPLES > 2
|
||||
insert_sort(samples, NUMSAMPLES);
|
||||
#endif
|
||||
#if NUMSAMPLES == 2
|
||||
// Allow small amount of measurement noise, because capacitive
|
||||
// coupling to a TFT display's signals can induce some noise.
|
||||
if (samples[0] - samples[1] < -4 || samples[0] - samples[1] > 4) {
|
||||
valid = 0;
|
||||
} else {
|
||||
samples[1] = (samples[0] + samples[1]) >> 1; // average 2 samples
|
||||
}
|
||||
#endif
|
||||
|
||||
y = (1023-samples[NUMSAMPLES/2]);
|
||||
|
||||
// Set X+ to ground
|
||||
pinMode(_xp, OUTPUT);
|
||||
*portOutputRegister(xp_port) &= ~xp_pin;
|
||||
//digitalWrite(_xp, LOW);
|
||||
|
||||
// Set Y- to VCC
|
||||
*portOutputRegister(ym_port) |= ym_pin;
|
||||
//digitalWrite(_ym, HIGH);
|
||||
|
||||
// Hi-Z X- and Y+
|
||||
*portOutputRegister(yp_port) &= ~yp_pin;
|
||||
//digitalWrite(_yp, LOW);
|
||||
pinMode(_yp, INPUT);
|
||||
|
||||
int z1 = analogRead(_xm);
|
||||
int z2 = analogRead(_yp);
|
||||
|
||||
if (_rxplate != 0) {
|
||||
// now read the x
|
||||
float rtouch;
|
||||
rtouch = z2;
|
||||
rtouch /= z1;
|
||||
rtouch -= 1;
|
||||
rtouch *= x;
|
||||
rtouch *= _rxplate;
|
||||
rtouch /= 1024;
|
||||
|
||||
z = rtouch;
|
||||
} else {
|
||||
z = (1023-(z2-z1));
|
||||
}
|
||||
|
||||
if (! valid) {
|
||||
z = 0;
|
||||
}
|
||||
|
||||
return TSPoint(x, y, z);
|
||||
}
|
||||
|
||||
TouchScreen::TouchScreen(uint8_t xp, uint8_t yp, uint8_t xm, uint8_t ym) {
|
||||
_yp = yp;
|
||||
_xm = xm;
|
||||
_ym = ym;
|
||||
_xp = xp;
|
||||
_rxplate = 0;
|
||||
pressureThreshhold = 10;
|
||||
}
|
||||
|
||||
|
||||
TouchScreen::TouchScreen(uint8_t xp, uint8_t yp, uint8_t xm, uint8_t ym,
|
||||
uint16_t rxplate) {
|
||||
_yp = yp;
|
||||
_xm = xm;
|
||||
_ym = ym;
|
||||
_xp = xp;
|
||||
_rxplate = rxplate;
|
||||
|
||||
pressureThreshhold = 10;
|
||||
}
|
||||
|
||||
int TouchScreen::readTouchX(void) {
|
||||
pinMode(_yp, INPUT);
|
||||
pinMode(_ym, INPUT);
|
||||
digitalWrite(_yp, LOW);
|
||||
digitalWrite(_ym, LOW);
|
||||
|
||||
pinMode(_xp, OUTPUT);
|
||||
digitalWrite(_xp, HIGH);
|
||||
pinMode(_xm, OUTPUT);
|
||||
digitalWrite(_xm, LOW);
|
||||
|
||||
return (1023-analogRead(_yp));
|
||||
}
|
||||
|
||||
|
||||
int TouchScreen::readTouchY(void) {
|
||||
pinMode(_xp, INPUT);
|
||||
pinMode(_xm, INPUT);
|
||||
digitalWrite(_xp, LOW);
|
||||
digitalWrite(_xm, LOW);
|
||||
|
||||
pinMode(_yp, OUTPUT);
|
||||
digitalWrite(_yp, HIGH);
|
||||
pinMode(_ym, OUTPUT);
|
||||
digitalWrite(_ym, LOW);
|
||||
|
||||
return (1023-analogRead(_xm));
|
||||
}
|
||||
|
||||
|
||||
uint16_t TouchScreen::pressure(void) {
|
||||
// Set X+ to ground
|
||||
pinMode(_xp, OUTPUT);
|
||||
digitalWrite(_xp, LOW);
|
||||
|
||||
// Set Y- to VCC
|
||||
pinMode(_ym, OUTPUT);
|
||||
digitalWrite(_ym, HIGH);
|
||||
|
||||
// Hi-Z X- and Y+
|
||||
digitalWrite(_xm, LOW);
|
||||
pinMode(_xm, INPUT);
|
||||
digitalWrite(_yp, LOW);
|
||||
pinMode(_yp, INPUT);
|
||||
|
||||
int z1 = analogRead(_xm);
|
||||
int z2 = analogRead(_yp);
|
||||
|
||||
if (_rxplate != 0) {
|
||||
// now read the x
|
||||
float rtouch;
|
||||
rtouch = z2;
|
||||
rtouch /= z1;
|
||||
rtouch -= 1;
|
||||
rtouch *= readTouchX();
|
||||
rtouch *= _rxplate;
|
||||
rtouch /= 1024;
|
||||
|
||||
return rtouch;
|
||||
} else {
|
||||
return (1023-(z2-z1));
|
||||
}
|
||||
}
|
38
Touch-Screen/TouchScreen.h
Normal file
38
Touch-Screen/TouchScreen.h
Normal file
@ -0,0 +1,38 @@
|
||||
// Touch screen library with X Y and Z (pressure) readings as well
|
||||
// as oversampling to avoid 'bouncing'
|
||||
// (c) ladyada / adafruit
|
||||
// Code under MIT License
|
||||
|
||||
#ifndef _ADAFRUIT_TOUCHSCREEN_H_
|
||||
#define _ADAFRUIT_TOUCHSCREEN_H_
|
||||
#include <stdint.h>
|
||||
|
||||
class TSPoint {
|
||||
public:
|
||||
TSPoint(void);
|
||||
TSPoint(int16_t x, int16_t y, int16_t z);
|
||||
|
||||
bool operator==(TSPoint);
|
||||
bool operator!=(TSPoint);
|
||||
|
||||
int16_t x, y, z;
|
||||
};
|
||||
|
||||
class TouchScreen {
|
||||
public:
|
||||
TouchScreen(uint8_t xp, uint8_t yp, uint8_t xm, uint8_t ym);
|
||||
TouchScreen(uint8_t xp, uint8_t yp, uint8_t xm, uint8_t ym, uint16_t rx);
|
||||
|
||||
bool isTouching(void);
|
||||
uint16_t pressure(void);
|
||||
int readTouchY();
|
||||
int readTouchX();
|
||||
TSPoint getPoint();
|
||||
int16_t pressureThreshhold;
|
||||
|
||||
private:
|
||||
uint8_t _yp, _ym, _xm, _xp;
|
||||
uint16_t _rxplate;
|
||||
};
|
||||
|
||||
#endif
|
33
hmi.cpp
Normal file
33
hmi.cpp
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* hmi.cpp
|
||||
*
|
||||
* Created on: 02.03.2016
|
||||
* Author: dehottgw
|
||||
*/
|
||||
|
||||
#include "hmi.h"
|
||||
|
||||
using namespace HmiNS;
|
||||
|
||||
Hmi::Hmi() : m_tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET),
|
||||
m_displayIdentifier(0) {
|
||||
|
||||
for (uint8_t i = 0; i < NUM_OF_MESSAGESLOTS; i++) {
|
||||
memset(m_messageSlots[i].header, 0, BUFFERLEN_MESSAGESLOT);
|
||||
memset(m_messageSlots[i].body, 0, BUFFERLEN_MESSAGESLOT);
|
||||
m_messageSlots[i].timestamp = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Hmi::begin() {
|
||||
m_tft.reset();
|
||||
m_displayIdentifier = m_tft.readID();
|
||||
m_tft.begin(m_displayIdentifier);
|
||||
m_tft.setRotation(1);
|
||||
|
||||
}
|
||||
|
||||
void Hmi::exec() {
|
||||
|
||||
}
|
57
hmi.h
Normal file
57
hmi.h
Normal file
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* hmi.h
|
||||
*
|
||||
* Created on: 02.03.2016
|
||||
* Author: dehottgw
|
||||
*/
|
||||
|
||||
#ifndef HMI_H_
|
||||
#define HMI_H_
|
||||
|
||||
|
||||
#include <Adafruit_GFX.h>
|
||||
#include <Adafruit_TFTLCD.h>
|
||||
|
||||
|
||||
namespace HmiNS {
|
||||
const static uint8_t LCD_CS = A3;
|
||||
const static uint8_t LCD_CD = A2;
|
||||
const static uint8_t LCD_WR = A1;
|
||||
const static uint8_t LCD_RD = A0;
|
||||
const static uint8_t LCD_RESET = A4;
|
||||
|
||||
const static uint16_t BLACK = 0x0000;
|
||||
const static uint16_t BLUE = 0x001F;
|
||||
const static uint16_t RED = 0xF800;
|
||||
const static uint16_t GREEN = 0x07E0;
|
||||
const static uint16_t CYAN = 0x07FF;
|
||||
const static uint16_t MAGENTA = 0xF81F;
|
||||
const static uint16_t YELLOW = 0xFFE0;
|
||||
const static uint16_t WHITE = 0xFFFF;
|
||||
|
||||
const static uint8_t BUFFERLEN_MESSAGESLOT = 10;
|
||||
const static uint8_t NUM_OF_MESSAGESLOTS = 10;
|
||||
}
|
||||
|
||||
|
||||
struct MessageSlot {
|
||||
char header[HmiNS::BUFFERLEN_MESSAGESLOT];
|
||||
char body[HmiNS::BUFFERLEN_MESSAGESLOT];
|
||||
uint32_t timestamp;
|
||||
};
|
||||
|
||||
class Hmi {
|
||||
public:
|
||||
Hmi();
|
||||
void begin();
|
||||
void exec();
|
||||
void updateMessage()
|
||||
private:
|
||||
uint16_t m_displayIdentifier;
|
||||
Adafruit_TFTLCD m_tft;
|
||||
MessageSlot m_messageSlots[HmiNS::NUM_OF_MESSAGESLOTS];
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /* HMI_H_ */
|
Loading…
x
Reference in New Issue
Block a user