Index: /rtos_arduino/trunk/examples/PIXY/Makefile
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/Makefile	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/Makefile	(revision 236)
@@ -0,0 +1,57 @@
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.targetã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã¡ã¤ã«
+#
+APPL_CXXOBJS += rca_app.o
+APPL_COBJS   += 
+APPL_CFG      = rca_app.cfg
+
+#
+#  Serialã®æ±ã
+#   ARDUINO_SERIAL
+#    NOUSE_SERIAL
+#    USE_SERIAL
+#    USE_SERIALUSB_AS_SERIAL
+#    USE_SERIAL5_AS_SERIAL
+#
+#ARDUINO_SERIAL = NOUSE_SERIAL
+ARDUINO_SERIAL = USE_SERIAL
+#ARDUINO_SERIAL = USE_SERIALUSB_AS_SERIAL
+#ARDUINO_SERIAL = USE_SERIAL5_AS_SERIAL
+
+#
+#  ã©ã¤ãã©ãªã®ä½¿ç¨
+#  
+USE_ARDUINO_SPI = true
+#USE_ARDUINO_NCESCAN = true
+#USE_ARDUINO_SD  = true
+#USE_ARDUINO_TFT = true
+#USE_ETHERNET2 = true
+#USE_NAXESMOTION = true
+#USE_ARDUINO_RTC = true
+#USE_WIRE = true
+
+#
+#  RCAã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+RCA_DIR = ../..
+
+#
+#  ASPã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = ../../asp_1.9.2
+
+#
+#  ãã®ä»ã®ãªãã·ã§ã³
+#
+APPL_CFLAGS =
+APPL_LIBS =
+APPL_DIR = 
+
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/Pixy
+
+include $(RCA_DIR)/lib/Makefile.rca
Index: /rtos_arduino/trunk/examples/PIXY/do_clean.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/do_clean.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/do_clean.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make clean
+pause
Index: /rtos_arduino/trunk/examples/PIXY/do_debug.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/do_debug.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/do_debug.bat	(revision 236)
@@ -0,0 +1,4 @@
+call ../do_path.bat
+make ocd
+make db
+taskkill /F /IM openocd.exe
Index: /rtos_arduino/trunk/examples/PIXY/do_make.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/do_make.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/do_make.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make all
+pause
Index: /rtos_arduino/trunk/examples/PIXY/do_run.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/do_run.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/do_run.bat	(revision 236)
@@ -0,0 +1,2 @@
+call ../do_path.bat
+make run
Index: /rtos_arduino/trunk/examples/PIXY/rca.atsln
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/rca.atsln	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/rca.atsln	(revision 236)
@@ -0,0 +1,22 @@
+﻿
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Atmel Studio Solution File, Format Version 11.00
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "rca", "rca.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
+		Release|ARM = Release|ARM
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.ActiveCfg = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.Build.0 = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.ActiveCfg = Release|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.Build.0 = Release|ARM
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: /rtos_arduino/trunk/examples/PIXY/rca.componentinfo.xml
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/rca.componentinfo.xml	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/rca.componentinfo.xml	(revision 236)
@@ -0,0 +1,171 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
+	<ProjectComponents>
+		<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
+			<CApiVersion></CApiVersion>
+			<CBundle></CBundle>
+			<CClass>CMSIS</CClass>
+			<CGroup>CORE</CGroup>
+			<CSub></CSub>
+			<CVariant></CVariant>
+			<CVendor>ARM</CVendor>
+			<CVersion>3.40.0</CVersion>
+			<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+			<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType z:Id="i2" i:type="ProjectComponent">
+					<CApiVersion></CApiVersion>
+					<CBundle></CBundle>
+					<CClass>Device</CClass>
+					<CGroup>Startup</CGroup>
+					<CSub></CSub>
+					<CVariant></CVariant>
+					<CVendor>Atmel</CVendor>
+					<CVersion>1.0.0</CVersion>
+					<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+					<DependentComponents>
+						<d4p1:anyType z:Ref="i1" />
+					</DependentComponents>
+					<Description></Description>
+					<Files>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\include</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>include</Category>
+							<Condition>C</Condition>
+							<FileContentHash i:nil="true" />
+							<FileVersion></FileVersion>
+							<Name>samd21a/include</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\include\sam.h</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>header</Category>
+							<Condition>C</Condition>
+							<FileContentHash>wM94EGprD6Od4xKBsAzkFQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/include/sam.h</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\templates\main.c</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>o0ncidL5gR0Z0YwWJ1YroQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.c</Name>
+							<SelectString>Main file (.c)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\templates\main.cpp</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>nU+WlKcYaWh0AWBBS+WVpA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.cpp</Name>
+							<SelectString>Main file (.cpp)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\gcc\system_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>Qjqe1jYsYQB+vQG2A3hhiA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/system_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\gcc\gcc\startup_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>pLNlIy+Llw/GLgds0gbQQA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/startup_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\gcc\gcc\samd21g18a_flash.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>linkerScript</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>4xbqLG5DtSn/T8pJoWAvNA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_flash.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.231\samd21a\gcc\gcc\samd21g18a_sram.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>other</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>K9GWjx6oZkcBnxrHUbvSwA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_sram.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+					</Files>
+					<PackName>SAMD21_DFP</PackName>
+					<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/SAMD21_DFP/1.0.231/Atmel.SAMD21_DFP.pdsc</PackPath>
+					<PackVersion>1.0.231</PackVersion>
+					<PresentInProject>true</PresentInProject>
+					<ReferenceConditionId>ATSAMD21G18A</ReferenceConditionId>
+					<RteComponents>
+						<d4p1:string></d4p1:string>
+					</RteComponents>
+					<Status>Resolved</Status>
+					<VersionMode>Fixed</VersionMode>
+					<IsComponentInAtProject>true</IsComponentInAtProject>
+				</d4p1:anyType>
+			</DependentComponents>
+			<Description></Description>
+			<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Documentation\Core\html\index.html</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>doc</Category>
+					<Condition></Condition>
+					<FileContentHash>Fm1Ae7doPh4708FZQAIEpw==</FileContentHash>
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Documentation\Core\html\index.html</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Include\</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>include</Category>
+					<Condition></Condition>
+					<FileContentHash i:nil="true" />
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Include\</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+			</Files>
+			<PackName>CMSIS</PackName>
+			<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/arm/cmsis/4.2.0/ARM.CMSIS.pdsc</PackPath>
+			<PackVersion>4.2.0</PackVersion>
+			<PresentInProject>true</PresentInProject>
+			<ReferenceConditionId>CMSIS Core</ReferenceConditionId>
+			<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:string></d4p1:string>
+			</RteComponents>
+			<Status>Resolved</Status>
+			<VersionMode>Fixed</VersionMode>
+			<IsComponentInAtProject>true</IsComponentInAtProject>
+		</ProjectComponent>
+		<ProjectComponent z:Ref="i2" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />
+	</ProjectComponents>
+</Store>
Index: /rtos_arduino/trunk/examples/PIXY/rca.cproj
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/rca.cproj	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/rca.cproj	(revision 236)
@@ -0,0 +1,178 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
+  <PropertyGroup>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectVersion>7.0</ProjectVersion>
+    <ToolchainName>com.Atmel.ARMGCC.C</ToolchainName>
+    <ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid>
+    <avrdevice>ATSAMD21G18A</avrdevice>
+    <avrdeviceseries>none</avrdeviceseries>
+    <OutputType>Executable</OutputType>
+    <Language>C</Language>
+    <OutputFileName>$(MSBuildProjectName)</OutputFileName>
+    <OutputFileExtension>.elf</OutputFileExtension>
+    <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
+    <AssemblyName>rca</AssemblyName>
+    <Name>rca</Name>
+    <RootNamespace>rca</RootNamespace>
+    <ToolchainFlavour>Native</ToolchainFlavour>
+    <KeepTimersRunning>true</KeepTimersRunning>
+    <OverrideVtor>false</OverrideVtor>
+    <CacheFlash>true</CacheFlash>
+    <ProgFlashFromRam>true</ProgFlashFromRam>
+    <RamSnippetAddress>0x20000000</RamSnippetAddress>
+    <UncachedRange />
+    <preserveEEPROM>true</preserveEEPROM>
+    <OverrideVtorValue>exception_table</OverrideVtorValue>
+    <BootSegment>2</BootSegment>
+    <eraseonlaunchrule>4</eraseonlaunchrule>
+    <ExternalProgrammingToolCommand />
+    <AsfFrameworkConfig>
+      <framework-data xmlns="">
+        <options />
+        <configurations />
+        <files />
+        <documentation help="" />
+        <offline-documentation help="" />
+        <dependencies>
+          <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.27.3" />
+        </dependencies>
+      </framework-data>
+    </AsfFrameworkConfig>
+    <UseGdb>False</UseGdb>
+    <avrtool>com.atmel.avrdbg.tool.edbg</avrtool>
+    <avrtoolserialnumber>FFFFFFFFFFFFFFFFFFFF</avrtoolserialnumber>
+    <avrdeviceexpectedsignature>0x10010005</avrdeviceexpectedsignature>
+    <avrtoolinterface>SWD</avrtoolinterface>
+    <com_atmel_avrdbg_tool_edbg>
+      <ToolOptions>
+        <InterfaceProperties>
+          <SwdClock>2000000</SwdClock>
+        </InterfaceProperties>
+        <InterfaceName>SWD</InterfaceName>
+      </ToolOptions>
+      <ToolType>com.atmel.avrdbg.tool.edbg</ToolType>
+      <ToolNumber>FFFFFFFFFFFFFFFFFFFF</ToolNumber>
+      <ToolName>EDBG</ToolName>
+    </com_atmel_avrdbg_tool_edbg>
+    <avrtoolinterfaceclock>2000000</avrtoolinterfaceclock>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>NDEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.231\samd21a\include</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize for size (-Os)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.assembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.231\samd21a\include</Value>
+    </ListValues>
+  </armgcc.assembler.general.IncludePaths>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.231\samd21a\include</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+</ArmGcc>
+    </ToolchainSettings>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>DEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.231\samd21a\include</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize (-O1)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.assembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.231\samd21a\include</Value>
+    </ListValues>
+  </armgcc.assembler.general.IncludePaths>
+  <armgcc.assembler.debugging.DebugLevel>Default (-g)</armgcc.assembler.debugging.DebugLevel>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.231\samd21a\include</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+  <armgcc.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</armgcc.preprocessingassembler.debugging.DebugLevel>
+</ArmGcc>
+    </ToolchainSettings>
+    <UsesExternalMakeFile>True</UsesExternalMakeFile>
+    <OutputDirectory />
+    <BuildTarget>all</BuildTarget>
+    <CleanTarget>clean</CleanTarget>
+    <ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
+  </PropertyGroup>
+  <ItemGroup>
+    <None Include="rca_app.cfg">
+      <SubType>compile</SubType>
+    </None>
+    <None Include="rca_app.cpp">
+      <SubType>compile</SubType>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="rca_app.h">
+      <SubType>compile</SubType>
+    </Compile>
+  </ItemGroup>
+  <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
+</Project>
Index: /rtos_arduino/trunk/examples/PIXY/rca_app.cfg
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/rca_app.cfg	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/rca_app.cfg	(revision 236)
@@ -0,0 +1,8 @@
+/*
+ *  $Id: sample1.cfg 2416 2012-09-07 08:06:20Z ertl-hiro $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("rca_lib.cfg");
Index: /rtos_arduino/trunk/examples/PIXY/rca_app.cpp
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/rca_app.cpp	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/rca_app.cpp	(revision 236)
@@ -0,0 +1,99 @@
+#include "rca.h"
+
+#include <SPI.h>  
+#include <Pixy.h>
+
+Pixy pixy;
+
+#define X_CENTER        ((PIXY_MAX_X-PIXY_MIN_X)/2)       
+#define Y_CENTER        ((PIXY_MAX_Y-PIXY_MIN_Y)/2)
+
+class ServoLoop
+{
+public:
+  ServoLoop(int32_t pgain, int32_t dgain);
+
+  void update(int32_t error);
+   
+  int32_t m_pos;
+  int32_t m_prevError;
+  int32_t m_pgain;
+  int32_t m_dgain;
+};
+
+ServoLoop panLoop(300, 500);
+ServoLoop tiltLoop(500, 700);
+
+ServoLoop::ServoLoop(int32_t pgain, int32_t dgain)
+{
+  m_pos = PIXY_RCS_CENTER_POS;
+  m_pgain = pgain;
+  m_dgain = dgain;
+  m_prevError = 0x80000000L;
+}
+
+void ServoLoop::update(int32_t error)
+{
+  long int vel;
+  char buf[32];
+  if (m_prevError!=0x80000000)
+  {	
+    vel = (error*m_pgain + (error - m_prevError)*m_dgain)>>10;
+    //sprintf(buf, "%ld\n", vel);
+    //Serial.print(buf);
+    m_pos += vel;
+    if (m_pos>PIXY_RCS_MAX_POS) 
+      m_pos = PIXY_RCS_MAX_POS; 
+    else if (m_pos<PIXY_RCS_MIN_POS) 
+      m_pos = PIXY_RCS_MIN_POS;
+  }
+  m_prevError = error;
+}
+
+void setup()
+{
+  Serial.begin(115200);
+  Serial.print("Starting...\n");  
+  pixy.init();
+  pixy.setServos(PIXY_RCS_CENTER_POS, PIXY_RCS_CENTER_POS);      
+}
+
+void loop()
+{ 
+  static int i = 0;
+  int j;
+  uint16_t blocks;
+  char buf[32]; 
+  int32_t panError, tiltError;
+  
+  blocks = pixy.getBlocks();
+  
+  if (blocks)
+  {
+    panError = X_CENTER-pixy.blocks[0].x;
+    tiltError = pixy.blocks[0].y-Y_CENTER;
+    
+    panLoop.update(panError);
+    tiltLoop.update(tiltError);
+    
+    pixy.setServos(panLoop.m_pos, tiltLoop.m_pos);
+    
+    i++;
+    
+    // do this (print) every 50 frames because printing every
+    // frame would bog down the Arduino
+    if (i%50==0) 
+    {
+      sprintf(buf, "Detected %d:\n", blocks);
+      Serial.print(buf);
+      for (j=0; j<blocks; j++)
+      {
+        sprintf(buf, "  block %d: ", j);
+        Serial.print(buf); 
+        pixy.blocks[j].print();
+        Serial.println("");
+      }
+    }
+  }
+    delay(10);
+}
Index: /rtos_arduino/trunk/examples/PIXY/rca_app.h
===================================================================
--- /rtos_arduino/trunk/examples/PIXY/rca_app.h	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY/rca_app.h	(revision 236)
@@ -0,0 +1,6 @@
+#ifndef _RCA_APP_H_
+#define _RCA_APP_H_
+
+#define RCA_NUM_TASK 0
+
+#endif /* _RCA_APP_H_ */
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/Makefile
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/Makefile	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/Makefile	(revision 236)
@@ -0,0 +1,58 @@
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.targetã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã¡ã¤ã«
+#
+APPL_CXXOBJS += rca_app.o
+APPL_COBJS   += 
+APPL_CFG      = rca_app.cfg
+
+
+APPL_CXXOBJS += ZumoMotors.o
+
+#
+#  Serialã®æ±ã
+#   ARDUINO_SERIAL
+#    NOUSE_SERIAL
+#    USE_SERIAL
+#
+#ARDUINO_SERIAL = NOUSE_SERIAL
+ARDUINO_SERIAL = USE_SERIAL
+
+#
+#  ã©ã¤ãã©ãªã®ä½¿ç¨
+#  
+USE_ARDUINO_SPI = true
+#USE_ARDUINO_NCESCAN = true
+#USE_ARDUINO_SD  = true
+#USE_ARDUINO_TFT = true
+#USE_ETHERNET2 = true
+#USE_NAXESMOTION = true
+#USE_WIRE = true
+
+#
+#  RCAã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+RCA_DIR = ../..
+
+#
+#  ASPã®ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = ../../asp_1.9.2
+
+#
+#  ãã®ä»ã®ãªãã·ã§ã³
+#
+APPL_CFLAGS +=
+APPL_LIBS +=
+APPL_DIR     += 
+
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/ESP8266_Arudino_AT/
+APPL_CXXOBJS += ESP8266.o
+
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/Pixy
+
+include $(RCA_DIR)/lib/Makefile.rca
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/ZumoMotors.cpp
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/ZumoMotors.cpp	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/ZumoMotors.cpp	(revision 236)
@@ -0,0 +1,114 @@
+#include "ZumoMotors.h"
+
+#define PWM_L 10
+#define PWM_R 9
+#define DIR_L 8
+#define DIR_R 7
+
+#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined (__AVR_ATmega32U4__)
+  #define USE_20KHZ_PWM
+#endif
+
+static boolean flipLeft = false;
+static boolean flipRight = false;
+
+// constructor (doesn't do anything)
+ZumoMotors::ZumoMotors()
+{
+}
+
+// initialize timer1 to generate the proper PWM outputs to the motor drivers
+void ZumoMotors::init2()
+{
+  pinMode(PWM_L,  OUTPUT);
+  pinMode(PWM_R,  OUTPUT);
+  pinMode(DIR_L, OUTPUT);
+  pinMode(DIR_R, OUTPUT);
+
+#ifdef USE_20KHZ_PWM
+  // Timer 1 configuration
+  // prescaler: clockI/O / 1
+  // outputs enabled
+  // phase-correct PWM
+  // top of 400
+  //
+  // PWM frequency calculation
+  // 16MHz / 1 (prescaler) / 2 (phase-correct) / 400 (top) = 20kHz
+  TCCR1A = 0b10100000;
+  TCCR1B = 0b00010001;
+  ICR1 = 400;
+#endif
+}
+
+// enable/disable flipping of left motor
+void ZumoMotors::flipLeftMotor(boolean flip)
+{
+  flipLeft = flip;
+}
+
+// enable/disable flipping of right motor
+void ZumoMotors::flipRightMotor(boolean flip)
+{
+  flipRight = flip;
+}
+
+// set speed for left motor; speed is a number between -400 and 400
+void ZumoMotors::setLeftSpeed(int speed)
+{
+  init(); // initialize if necessary
+    
+  boolean reverse = 0;
+  
+  if (speed < 0)
+  {
+    speed = -speed; // make speed a positive quantity
+    reverse = 1;    // preserve the direction
+  }
+  if (speed > 400)  // Max 
+    speed = 400;
+    
+#ifdef USE_20KHZ_PWM
+  OCR1B = speed;
+#else
+  analogWrite(PWM_L, speed * 51 / 80); // default to using analogWrite, mapping 400 to 255
+#endif 
+
+  if (reverse ^ flipLeft) // flip if speed was negative or flipLeft setting is active, but not both
+    digitalWrite(DIR_L, HIGH);
+  else
+    digitalWrite(DIR_L, LOW);
+}
+
+// set speed for right motor; speed is a number between -400 and 400
+void ZumoMotors::setRightSpeed(int speed)
+{
+  init(); // initialize if necessary
+    
+  boolean reverse = 0;
+  
+  if (speed < 0)
+  {
+    speed = -speed;  // Make speed a positive quantity
+    reverse = 1;  // Preserve the direction
+  }
+  if (speed > 400)  // Max PWM dutycycle
+    speed = 400;
+    
+#ifdef USE_20KHZ_PWM
+  OCR1A = speed;
+#else
+  analogWrite(PWM_R, speed * 51 / 80); // default to using analogWrite, mapping 400 to 255
+#endif
+
+  if (reverse ^ flipRight) // flip if speed was negative or flipRight setting is active, but not both
+    digitalWrite(DIR_R, HIGH);
+  else
+    digitalWrite(DIR_R, LOW);
+}
+
+// set speed for both motors
+void ZumoMotors::setSpeeds(int leftSpeed, int rightSpeed)
+{
+  setLeftSpeed(leftSpeed);
+  setRightSpeed(rightSpeed);
+}
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/ZumoMotors.h
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/ZumoMotors.h	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/ZumoMotors.h	(revision 236)
@@ -0,0 +1,48 @@
+/*! \file ZumoMotors.h
+ *
+ * See the ZumoMotors class reference for more information about this library.
+ *
+ * \class ZumoMotors ZumoMotors.h
+ * \brief Control motor speed and direction
+ * 
+ */
+
+#ifndef ZumoMotors_h
+#define ZumoMotors_h
+
+#include <Arduino.h>
+
+class ZumoMotors
+{
+  public:  
+  
+    // constructor (doesn't do anything)
+    ZumoMotors();
+    
+    // enable/disable flipping of motors
+    static void flipLeftMotor(boolean flip);
+    static void flipRightMotor(boolean flip);
+    
+    // set speed for left, right, or both motors
+    static void setLeftSpeed(int speed);
+    static void setRightSpeed(int speed);
+    static void setSpeeds(int leftSpeed, int rightSpeed);
+    
+  private:
+
+    static inline void init()
+    {
+      static boolean initialized = false;
+
+      if (!initialized)
+      {
+        initialized = true;
+        init2();
+      }
+    }
+    
+    // initializes timer1 for proper PWM generation
+    static void init2();
+};
+
+#endif
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/do_clean.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/do_clean.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/do_clean.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make clean
+pause
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/do_debug.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/do_debug.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/do_debug.bat	(revision 236)
@@ -0,0 +1,4 @@
+call ../do_path.bat
+make ocd
+make db
+taskkill /F /IM openocd.exe
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/do_make.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/do_make.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/do_make.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make all
+pause
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/do_run.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/do_run.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/do_run.bat	(revision 236)
@@ -0,0 +1,2 @@
+call ../do_path.bat
+make run
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/rca.atsln
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/rca.atsln	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/rca.atsln	(revision 236)
@@ -0,0 +1,22 @@
+﻿
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Atmel Studio Solution File, Format Version 11.00
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "rca", "rca.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
+		Release|ARM = Release|ARM
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.ActiveCfg = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.Build.0 = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.ActiveCfg = Release|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.Build.0 = Release|ARM
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/rca.componentinfo.xml
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/rca.componentinfo.xml	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/rca.componentinfo.xml	(revision 236)
@@ -0,0 +1,169 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
+	<ProjectComponents>
+		<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
+			<CApiVersion></CApiVersion>
+			<CBundle></CBundle>
+			<CClass>CMSIS</CClass>
+			<CGroup>CORE</CGroup>
+			<CSub></CSub>
+			<CVariant></CVariant>
+			<CVendor>ARM</CVendor>
+			<CVersion>3.40.0</CVersion>
+			<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+			<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType z:Id="i2" i:type="ProjectComponent">
+					<CApiVersion></CApiVersion>
+					<CBundle></CBundle>
+					<CClass>Device</CClass>
+					<CGroup>Startup</CGroup>
+					<CSub></CSub>
+					<CVariant></CVariant>
+					<CVendor>Atmel</CVendor>
+					<CVersion>1.0.0</CVersion>
+					<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+					<DependentComponents />
+					<Description></Description>
+					<Files>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\include</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>include</Category>
+							<Condition>C</Condition>
+							<FileContentHash i:nil="true" />
+							<FileVersion></FileVersion>
+							<Name>samd21a/include</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\include\sam.h</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>header</Category>
+							<Condition>C</Condition>
+							<FileContentHash>wM94EGprD6Od4xKBsAzkFQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/include/sam.h</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\templates\main.c</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>dSS7TLoDl1MS+uFZPgKPWQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.c</Name>
+							<SelectString>Main file (.c)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\templates\main.cpp</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>nU+WlKcYaWh0AWBBS+WVpA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.cpp</Name>
+							<SelectString>Main file (.cpp)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\system_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>Qjqe1jYsYQB+vQG2A3hhiA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/system_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\startup_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>pLNlIy+Llw/GLgds0gbQQA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/startup_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\samd21g18a_flash.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>linkerScript</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>4xbqLG5DtSn/T8pJoWAvNA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_flash.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\samd21g18a_sram.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>other</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>K9GWjx6oZkcBnxrHUbvSwA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_sram.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+					</Files>
+					<PackName>SAMD21_DFP</PackName>
+					<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/SAMD21_DFP/1.0.222/Atmel.SAMD21_DFP.pdsc</PackPath>
+					<PackVersion>1.0.222</PackVersion>
+					<PresentInProject>true</PresentInProject>
+					<ReferenceConditionId>ATSAMD21G18A</ReferenceConditionId>
+					<RteComponents>
+						<d4p1:string></d4p1:string>
+					</RteComponents>
+					<Status>Resolved</Status>
+					<VersionMode>Fixed</VersionMode>
+					<IsComponentInAtProject>true</IsComponentInAtProject>
+				</d4p1:anyType>
+			</DependentComponents>
+			<Description></Description>
+			<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Documentation\Core\html\index.html</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>doc</Category>
+					<Condition></Condition>
+					<FileContentHash>Fm1Ae7doPh4708FZQAIEpw==</FileContentHash>
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Documentation\Core\html\index.html</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Include\</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>include</Category>
+					<Condition></Condition>
+					<FileContentHash i:nil="true" />
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Include\</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+			</Files>
+			<PackName>CMSIS</PackName>
+			<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/arm/cmsis/4.2.0/ARM.CMSIS.pdsc</PackPath>
+			<PackVersion>4.2.0</PackVersion>
+			<PresentInProject>true</PresentInProject>
+			<ReferenceConditionId>CMSIS Core</ReferenceConditionId>
+			<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:string></d4p1:string>
+			</RteComponents>
+			<Status>Resolved</Status>
+			<VersionMode>Fixed</VersionMode>
+			<IsComponentInAtProject>true</IsComponentInAtProject>
+		</ProjectComponent>
+		<ProjectComponent z:Ref="i2" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />
+	</ProjectComponents>
+</Store>
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/rca.cproj
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/rca.cproj	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/rca.cproj	(revision 236)
@@ -0,0 +1,168 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
+  <PropertyGroup>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectVersion>7.0</ProjectVersion>
+    <ToolchainName>com.Atmel.ARMGCC.C</ToolchainName>
+    <ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid>
+    <avrdevice>ATSAMD21G18A</avrdevice>
+    <avrdeviceseries>none</avrdeviceseries>
+    <OutputType>Executable</OutputType>
+    <Language>C</Language>
+    <OutputFileName>$(MSBuildProjectName)</OutputFileName>
+    <OutputFileExtension>.elf</OutputFileExtension>
+    <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
+    <AssemblyName>rca</AssemblyName>
+    <Name>rca</Name>
+    <RootNamespace>rca</RootNamespace>
+    <ToolchainFlavour>Native</ToolchainFlavour>
+    <KeepTimersRunning>true</KeepTimersRunning>
+    <OverrideVtor>false</OverrideVtor>
+    <CacheFlash>true</CacheFlash>
+    <ProgFlashFromRam>true</ProgFlashFromRam>
+    <RamSnippetAddress>0x20000000</RamSnippetAddress>
+    <UncachedRange />
+    <preserveEEPROM>true</preserveEEPROM>
+    <OverrideVtorValue>exception_table</OverrideVtorValue>
+    <BootSegment>2</BootSegment>
+    <eraseonlaunchrule>4</eraseonlaunchrule>
+    <ExternalProgrammingToolCommand />
+    <AsfFrameworkConfig>
+      <framework-data xmlns="">
+        <options />
+        <configurations />
+        <files />
+        <documentation help="" />
+        <offline-documentation help="" />
+        <dependencies>
+          <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.27.3" />
+        </dependencies>
+      </framework-data>
+    </AsfFrameworkConfig>
+    <UseGdb>False</UseGdb>
+    <avrtool>com.atmel.avrdbg.tool.edbg</avrtool>
+    <avrtoolserialnumber>FFFFFFFFFFFFFFFFFFFF</avrtoolserialnumber>
+    <avrdeviceexpectedsignature>0x10010005</avrdeviceexpectedsignature>
+    <avrtoolinterface>SWD</avrtoolinterface>
+    <com_atmel_avrdbg_tool_edbg>
+      <ToolOptions>
+        <InterfaceProperties>
+          <SwdClock>2000000</SwdClock>
+        </InterfaceProperties>
+        <InterfaceName>SWD</InterfaceName>
+      </ToolOptions>
+      <ToolType>com.atmel.avrdbg.tool.edbg</ToolType>
+      <ToolNumber>FFFFFFFFFFFFFFFFFFFF</ToolNumber>
+      <ToolName>EDBG</ToolName>
+    </com_atmel_avrdbg_tool_edbg>
+    <avrtoolinterfaceclock>2000000</avrtoolinterfaceclock>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>NDEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize for size (-Os)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+</ArmGcc>
+    </ToolchainSettings>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>DEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize (-O1)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.assembler.debugging.DebugLevel>Default (-g)</armgcc.assembler.debugging.DebugLevel>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+  <armgcc.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</armgcc.preprocessingassembler.debugging.DebugLevel>
+</ArmGcc>
+    </ToolchainSettings>
+    <UsesExternalMakeFile>True</UsesExternalMakeFile>
+    <OutputDirectory />
+    <BuildTarget>all</BuildTarget>
+    <CleanTarget>clean</CleanTarget>
+    <ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
+  </PropertyGroup>
+  <ItemGroup>
+    <None Include="rca_app.cfg">
+      <SubType>compile</SubType>
+    </None>
+    <None Include="rca_app.cpp">
+      <SubType>compile</SubType>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="rca_app.h">
+      <SubType>compile</SubType>
+    </Compile>
+  </ItemGroup>
+  <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
+</Project>
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.cfg
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.cfg	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.cfg	(revision 236)
@@ -0,0 +1,6 @@
+/*
+ *  $Id: sample1.cfg 2416 2012-09-07 08:06:20Z ertl-hiro $
+ */
+
+INCLUDE("rca_lib.cfg");
+
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.cpp
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.cpp	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.cpp	(revision 236)
@@ -0,0 +1,254 @@
+#include "rca.h"
+#include "ESP8266.h"
+
+#include <SPI.h>  
+#include <Pixy.h>
+
+#include "../examples_gdef.h"
+
+#define WMODE_STATION
+
+bool setup_done = false;
+
+void setup()
+{
+    int ret;
+    
+    Serial.println("Echo Server : Start!");
+    ret = WiFi.begin(Serial5, 115200);
+
+    if(ret == 1) {
+        Serial.print("Cannot communicate with ESP8266.");
+        while(1);        
+    } else if(ret == 2) {
+        Serial.println("FW Version mismatch.");
+        Serial.print("FW Version:");
+        Serial.println(WiFi.getVersion().c_str());
+        Serial.print("Supported FW Version:");
+        Serial.print(ESP8266_SUPPORT_VERSION);
+        while(1);
+    } else {
+        Serial.print("begin ok\r\n");
+    }
+
+    Serial.print("FW Version:");
+    Serial.println(WiFi.getVersion().c_str());
+    
+#ifdef  WMODE_STATION
+    if (WiFi.setOprToStation()) {
+        Serial.print("to station ok\r\n");
+    } else {
+        Serial.print("to station err\r\n");
+    }
+    
+    if (WiFi.joinAP(STA_SSID, STA_PASSWORD)) {
+        Serial.print("Join AP success\r\n");
+        Serial.print("IP: ");
+        Serial.println(WiFi.getLocalIP().c_str());    
+    } else {
+        Serial.print("Join AP failure\r\n");
+        while(1);
+    }
+#else /* !WMODE_STATION */ 
+    if (WiFi.setOprToSoftAP()) {
+        Serial.print("to softap ok\r\n");
+    } else {
+        Serial.print("to softap err\r\n");
+    }    
+    if(WiFi.setSoftAPParam(AP_SSID, AP_PASSWORD, 7, 0)){
+        Serial.print("Set SoftAP success\r\n");
+        Serial.print("IP: ");
+        Serial.println(WiFi.getLocalIP().c_str());            
+    }
+    else {
+        Serial.print("Set SoftAP failure\r\n");
+    }
+#endif /* WMODE_STATION */
+    
+    if (WiFi.enableMUX()) {
+        Serial.print("multiple ok\r\n");
+    } else {
+        Serial.print("multiple err\r\n");
+        while(1);
+    }
+
+    if (WiFi.startTCPServer(80)) {
+        Serial.print("start tcp server ok\r\n");
+    } else {
+        Serial.print("start tcp server err\r\n");
+        while(1);
+    }
+
+    if (WiFi.setTCPServerTimeout(60)) { 
+        Serial.print("set tcp server timout 60 seconds\r\n");
+    } else {
+        Serial.print("set tcp server timout err\r\n");
+        while(1);
+    }
+
+    Serial.print("setup end\r\n");
+
+    setup_done = true;
+}
+
+#define MUX_NULL 0xff
+
+uint8_t mux_id_ptn;
+
+uint8_t mux_id = MUX_NULL;
+uint8_t task1_mux_id = MUX_NULL;
+
+
+uint16_t pixy_blocks = 0;
+char     pixy_buf[16][128]; 
+
+void loop()
+{
+    char buf[128]; 
+    uint8_t pre_mux_id_ptn;    
+
+    delay(1);    
+    /* Check Connection Status */
+    pre_mux_id_ptn = mux_id_ptn;
+
+    if(!WiFi.getMuxCStatus(&mux_id_ptn)) {
+        Serial.println("getMuxCStatus(&mux_id_ptn) : Error!");
+    }
+    else {        
+        if (pre_mux_id_ptn != mux_id_ptn) {
+            Serial.print("Connection Status changed! : 0x");
+            Serial.println(mux_id_ptn, HEX);
+            if (mux_id_ptn & 0x01) {
+                mux_id = 0; 
+            }
+            if (mux_id_ptn & 0x02) {
+                task1_mux_id = 1;
+            }
+        }
+    }
+
+    if (mux_id == MUX_NULL) {
+        return;
+    }
+    
+    if (!WiFi.isConnected(mux_id)) {
+        Serial.print("Echo Server : Port is closed: ");
+        Serial.println(mux_id);
+        mux_id = MUX_NULL;
+        return;
+    }
+
+    if(pixy_blocks != 0) {
+        sprintf(buf, "Detected %d:\n", pixy_blocks);
+        WiFi.send(mux_id, (uint8_t*)buf, strlen(buf));        
+        for (int j=0; j<pixy_blocks; j++){
+            WiFi.send(mux_id, (uint8_t*)pixy_buf[j], strlen(pixy_buf[j]));
+        }        
+        pixy_blocks = 0;
+    }        
+}
+
+Pixy pixy;
+
+#define X_CENTER        ((PIXY_MAX_X-PIXY_MIN_X)/2)       
+#define Y_CENTER        ((PIXY_MAX_Y-PIXY_MIN_Y)/2)
+
+class ServoLoop
+{
+public:
+  ServoLoop(int32_t pgain, int32_t dgain);
+
+  void update(int32_t error);
+   
+  int32_t m_pos;
+  int32_t m_prevError;
+  int32_t m_pgain;
+  int32_t m_dgain;
+};
+
+
+ServoLoop panLoop(300, 500);
+ServoLoop tiltLoop(500, 700);
+
+ServoLoop::ServoLoop(int32_t pgain, int32_t dgain)
+{
+  m_pos = PIXY_RCS_CENTER_POS;
+  m_pgain = pgain;
+  m_dgain = dgain;
+  m_prevError = 0x80000000L;
+}
+
+void ServoLoop::update(int32_t error)
+{
+  long int vel;
+  char buf[32];
+  if (m_prevError!=0x80000000)
+  {	
+    vel = (error*m_pgain + (error - m_prevError)*m_dgain)>>10;
+    //sprintf(buf, "%ld\n", vel);
+    //Serial.print(buf);
+    m_pos += vel;
+    if (m_pos>PIXY_RCS_MAX_POS) 
+      m_pos = PIXY_RCS_MAX_POS; 
+    else if (m_pos<PIXY_RCS_MIN_POS) 
+      m_pos = PIXY_RCS_MIN_POS;
+  }
+  m_prevError = error;
+}
+
+void task1_setup()
+{
+//    while(!setup_done) {
+//        delay(1);
+//    }    
+    Serial.print("PIXY Starting...\n");  
+    pixy.init();
+    pixy.setServos(PIXY_RCS_CENTER_POS, PIXY_RCS_CENTER_POS);
+}
+
+void task1_loop()
+{
+    static int i = 0;
+    int j;
+    uint16_t blocks;
+    char buf[128]; 
+    int32_t panError, tiltError;
+    
+    blocks = pixy.getBlocks();
+    
+    if (blocks) {
+        panError = X_CENTER-pixy.blocks[0].x;
+        tiltError = pixy.blocks[0].y-Y_CENTER;
+    
+        panLoop.update(panError);
+        tiltLoop.update(tiltError);
+
+        pixy.setServos(panLoop.m_pos, tiltLoop.m_pos);
+        i++;
+        
+        // do this (print) every 50 frames because printing every
+        // frame would bog down the Arduino
+        if (i%50==0) {
+            sprintf(buf, "Detected %d:\n", blocks);
+            Serial.print(buf);
+            for (j=0; j<blocks; j++){
+                sprintf(buf, "  block %d: ", j);
+                Serial.print(buf);                
+                pixy.blocks[j].print();
+            }
+            if(pixy_blocks == 0) {
+                if (blocks > 16) {
+                    blocks = 16;
+                }
+                pixy_blocks = blocks;
+                for (j=0; j<blocks; j++){
+                    sprintf(pixy_buf[j], "sig: %d x: %d y: %d width: %d height: %d\n",
+                            pixy.blocks[j].signature, pixy.blocks[j].x, pixy.blocks[j].y,
+                            pixy.blocks[j].width, pixy.blocks[j].height);
+                }
+            }
+        }
+    }
+   
+    delay(10);
+}
Index: /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.h
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.h	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Wifi/rca_app.h	(revision 236)
@@ -0,0 +1,9 @@
+#ifndef _RCA_APP_H_
+#define _RCA_APP_H_
+
+#define RCA_NUM_TASK 1
+
+#define  RCA_MAINTASK_LOOP_PRI  6
+#define  RCA_TASK1_LOOP_PRI  5
+
+#endif /* _RCA_APP_H_ */
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/Makefile
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/Makefile	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/Makefile	(revision 236)
@@ -0,0 +1,67 @@
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.targetã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã¡ã¤ã«
+#
+APPL_CXXOBJS += rca_app.o
+APPL_COBJS   += 
+APPL_CFG      = rca_app.cfg 
+
+#
+#  Serialã®æ±ã
+#   ARDUINO_SERIAL
+#    NOUSE_SERIAL
+#    USE_SERIAL
+#    USE_SERIALUSB_AS_SERIAL
+#    USE_SERIAL5_AS_SERIAL
+#
+#ARDUINO_SERIAL = NOUSE_SERIAL
+ARDUINO_SERIAL = USE_SERIAL
+#ARDUINO_SERIAL = USE_SERIALUSB_AS_SERIAL
+#ARDUINO_SERIAL = USE_SERIAL5_AS_SERIAL
+
+#
+#  ã©ã¤ãã©ãªã®ä½¿ç¨
+#  
+USE_ARDUINO_SPI = true
+#USE_ARDUINO_NCESCAN = true
+#USE_ARDUINO_SD  = true
+#USE_ARDUINO_TFT = true
+#USE_ETHERNET2 = true
+#USE_NAXESMOTION = true
+#USE_ARDUINO_RTC = true
+USE_WIRE = true
+
+#
+#  RCAã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+RCA_DIR = ../..
+
+#
+#  ASPã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = ../../asp_1.9.2
+
+#
+#  ãã®ä»ã®ãªãã·ã§ã³
+#
+APPL_CFLAGS =
+APPL_LIBS =
+APPL_DIR = 
+
+#
+#  Zumo Library
+# 
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/ZumoShield
+APPL_CXXOBJS += Accelerometer.o L3G.o LSM303.o Pushbutton.o QTRSensors.o ZumoBuzzer.o ZumoMotors.o
+APPL_CFG     += ZumoShield.cfg
+
+#
+#  Pixy Library
+#
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/Pixy
+
+include $(RCA_DIR)/lib/Makefile.rca
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/do_clean.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/do_clean.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/do_clean.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make clean
+pause
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/do_debug.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/do_debug.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/do_debug.bat	(revision 236)
@@ -0,0 +1,4 @@
+call ../do_path.bat
+make ocd
+make db
+taskkill /F /IM openocd.exe
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/do_make.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/do_make.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/do_make.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make all
+pause
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/do_run.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/do_run.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/do_run.bat	(revision 236)
@@ -0,0 +1,2 @@
+call ../do_path.bat
+make run
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/rca.atsln
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/rca.atsln	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/rca.atsln	(revision 236)
@@ -0,0 +1,22 @@
+﻿
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Atmel Studio Solution File, Format Version 11.00
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "rca", "rca.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
+		Release|ARM = Release|ARM
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.ActiveCfg = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.Build.0 = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.ActiveCfg = Release|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.Build.0 = Release|ARM
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/rca.componentinfo.xml
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/rca.componentinfo.xml	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/rca.componentinfo.xml	(revision 236)
@@ -0,0 +1,169 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
+	<ProjectComponents>
+		<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
+			<CApiVersion></CApiVersion>
+			<CBundle></CBundle>
+			<CClass>CMSIS</CClass>
+			<CGroup>CORE</CGroup>
+			<CSub></CSub>
+			<CVariant></CVariant>
+			<CVendor>ARM</CVendor>
+			<CVersion>3.40.0</CVersion>
+			<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+			<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType z:Id="i2" i:type="ProjectComponent">
+					<CApiVersion></CApiVersion>
+					<CBundle></CBundle>
+					<CClass>Device</CClass>
+					<CGroup>Startup</CGroup>
+					<CSub></CSub>
+					<CVariant></CVariant>
+					<CVendor>Atmel</CVendor>
+					<CVersion>1.0.0</CVersion>
+					<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+					<DependentComponents />
+					<Description></Description>
+					<Files>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\include</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>include</Category>
+							<Condition>C</Condition>
+							<FileContentHash i:nil="true" />
+							<FileVersion></FileVersion>
+							<Name>samd21a/include</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\include\sam.h</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>header</Category>
+							<Condition>C</Condition>
+							<FileContentHash>wM94EGprD6Od4xKBsAzkFQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/include/sam.h</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\templates\main.c</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>dSS7TLoDl1MS+uFZPgKPWQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.c</Name>
+							<SelectString>Main file (.c)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\templates\main.cpp</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>nU+WlKcYaWh0AWBBS+WVpA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.cpp</Name>
+							<SelectString>Main file (.cpp)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\system_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>Qjqe1jYsYQB+vQG2A3hhiA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/system_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\startup_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>pLNlIy+Llw/GLgds0gbQQA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/startup_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\samd21g18a_flash.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>linkerScript</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>4xbqLG5DtSn/T8pJoWAvNA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_flash.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\samd21g18a_sram.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>other</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>K9GWjx6oZkcBnxrHUbvSwA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_sram.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+					</Files>
+					<PackName>SAMD21_DFP</PackName>
+					<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/SAMD21_DFP/1.0.222/Atmel.SAMD21_DFP.pdsc</PackPath>
+					<PackVersion>1.0.222</PackVersion>
+					<PresentInProject>true</PresentInProject>
+					<ReferenceConditionId>ATSAMD21G18A</ReferenceConditionId>
+					<RteComponents>
+						<d4p1:string></d4p1:string>
+					</RteComponents>
+					<Status>Resolved</Status>
+					<VersionMode>Fixed</VersionMode>
+					<IsComponentInAtProject>true</IsComponentInAtProject>
+				</d4p1:anyType>
+			</DependentComponents>
+			<Description></Description>
+			<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Documentation\Core\html\index.html</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>doc</Category>
+					<Condition></Condition>
+					<FileContentHash>Fm1Ae7doPh4708FZQAIEpw==</FileContentHash>
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Documentation\Core\html\index.html</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Include\</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>include</Category>
+					<Condition></Condition>
+					<FileContentHash i:nil="true" />
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Include\</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+			</Files>
+			<PackName>CMSIS</PackName>
+			<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/arm/cmsis/4.2.0/ARM.CMSIS.pdsc</PackPath>
+			<PackVersion>4.2.0</PackVersion>
+			<PresentInProject>true</PresentInProject>
+			<ReferenceConditionId>CMSIS Core</ReferenceConditionId>
+			<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:string></d4p1:string>
+			</RteComponents>
+			<Status>Resolved</Status>
+			<VersionMode>Fixed</VersionMode>
+			<IsComponentInAtProject>true</IsComponentInAtProject>
+		</ProjectComponent>
+		<ProjectComponent z:Ref="i2" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />
+	</ProjectComponents>
+</Store>
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/rca.cproj
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/rca.cproj	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/rca.cproj	(revision 236)
@@ -0,0 +1,168 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
+  <PropertyGroup>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectVersion>7.0</ProjectVersion>
+    <ToolchainName>com.Atmel.ARMGCC.C</ToolchainName>
+    <ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid>
+    <avrdevice>ATSAMD21G18A</avrdevice>
+    <avrdeviceseries>none</avrdeviceseries>
+    <OutputType>Executable</OutputType>
+    <Language>C</Language>
+    <OutputFileName>$(MSBuildProjectName)</OutputFileName>
+    <OutputFileExtension>.elf</OutputFileExtension>
+    <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
+    <AssemblyName>rca</AssemblyName>
+    <Name>rca</Name>
+    <RootNamespace>rca</RootNamespace>
+    <ToolchainFlavour>Native</ToolchainFlavour>
+    <KeepTimersRunning>true</KeepTimersRunning>
+    <OverrideVtor>false</OverrideVtor>
+    <CacheFlash>true</CacheFlash>
+    <ProgFlashFromRam>true</ProgFlashFromRam>
+    <RamSnippetAddress>0x20000000</RamSnippetAddress>
+    <UncachedRange />
+    <preserveEEPROM>true</preserveEEPROM>
+    <OverrideVtorValue>exception_table</OverrideVtorValue>
+    <BootSegment>2</BootSegment>
+    <eraseonlaunchrule>4</eraseonlaunchrule>
+    <ExternalProgrammingToolCommand />
+    <AsfFrameworkConfig>
+      <framework-data xmlns="">
+        <options />
+        <configurations />
+        <files />
+        <documentation help="" />
+        <offline-documentation help="" />
+        <dependencies>
+          <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.27.3" />
+        </dependencies>
+      </framework-data>
+    </AsfFrameworkConfig>
+    <UseGdb>False</UseGdb>
+    <avrtool>com.atmel.avrdbg.tool.edbg</avrtool>
+    <avrtoolserialnumber>FFFFFFFFFFFFFFFFFFFF</avrtoolserialnumber>
+    <avrdeviceexpectedsignature>0x10010005</avrdeviceexpectedsignature>
+    <avrtoolinterface>SWD</avrtoolinterface>
+    <com_atmel_avrdbg_tool_edbg>
+      <ToolOptions>
+        <InterfaceProperties>
+          <SwdClock>2000000</SwdClock>
+        </InterfaceProperties>
+        <InterfaceName>SWD</InterfaceName>
+      </ToolOptions>
+      <ToolType>com.atmel.avrdbg.tool.edbg</ToolType>
+      <ToolNumber>FFFFFFFFFFFFFFFFFFFF</ToolNumber>
+      <ToolName>EDBG</ToolName>
+    </com_atmel_avrdbg_tool_edbg>
+    <avrtoolinterfaceclock>2000000</avrtoolinterfaceclock>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>NDEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize for size (-Os)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+</ArmGcc>
+    </ToolchainSettings>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>DEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize (-O1)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.assembler.debugging.DebugLevel>Default (-g)</armgcc.assembler.debugging.DebugLevel>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+  <armgcc.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</armgcc.preprocessingassembler.debugging.DebugLevel>
+</ArmGcc>
+    </ToolchainSettings>
+    <UsesExternalMakeFile>True</UsesExternalMakeFile>
+    <OutputDirectory />
+    <BuildTarget>all</BuildTarget>
+    <CleanTarget>clean</CleanTarget>
+    <ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
+  </PropertyGroup>
+  <ItemGroup>
+    <None Include="rca_app.cfg">
+      <SubType>compile</SubType>
+    </None>
+    <None Include="rca_app.cpp">
+      <SubType>compile</SubType>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="rca_app.h">
+      <SubType>compile</SubType>
+    </Compile>
+  </ItemGroup>
+  <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
+</Project>
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.cfg
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.cfg	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.cfg	(revision 236)
@@ -0,0 +1,9 @@
+/*
+ *  $Id: sample1.cfg 2416 2012-09-07 08:06:20Z ertl-hiro $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("rca_lib.cfg");
+INCLUDE("ZumoShield.cfg");
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.cpp
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.cpp	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.cpp	(revision 236)
@@ -0,0 +1,249 @@
+#include "rca.h"
+#include <Wire.h>
+#include <ZumoShield.h>
+
+#include <SPI.h>  
+#include <Pixy.h>
+
+//==========================================================================
+//
+//  Pixy Pet Robot
+//
+//   Adafruit invests time and resources providing this open source code, 
+//  please support Adafruit and open-source hardware by purchasing 
+//  products from Adafruit!
+//
+// Written by: Bill Earl for Adafruit Industries
+//
+//==========================================================================
+// begin license header
+//
+// All Pixy Pet source code is provided under the terms of the
+// GNU General Public License v2 (http://www.gnu.org/licenses/gpl-2.0.html).
+//
+// end license header
+//
+//==========================================================================
+//
+// Portions of this code are derived from the Pixy CMUcam5 pantilt example code. 
+//
+//==========================================================================
+ 
+#define X_CENTER    160L
+#define Y_CENTER    100L
+#define RCS_MIN_POS     0L
+#define RCS_MAX_POS     1000L
+#define RCS_CENTER_POS	((RCS_MAX_POS-RCS_MIN_POS)/2)
+ 
+//---------------------------------------
+// Servo Loop Class
+// A Proportional/Derivative feedback
+// loop for pan/tilt servo tracking of
+// blocks.
+// (Based on Pixy CMUcam5 example code)
+//---------------------------------------
+class ServoLoop
+{
+public:
+	ServoLoop(int32_t proportionalGain, int32_t derivativeGain);
+ 
+	void update(int32_t error);
+ 
+	int32_t m_pos;
+	int32_t m_prevError;
+	int32_t m_proportionalGain;
+	int32_t m_derivativeGain;
+};
+ 
+// ServoLoop Constructor
+ServoLoop::ServoLoop(int32_t proportionalGain, int32_t derivativeGain)
+{
+	m_pos = RCS_CENTER_POS;
+	m_proportionalGain = proportionalGain;
+	m_derivativeGain = derivativeGain;
+	m_prevError = 0x80000000L;
+}
+ 
+// ServoLoop Update 
+// Calculates new output based on the measured
+// error and the current state.
+void ServoLoop::update(int32_t error)
+{
+	long int velocity;
+	char buf[32];
+	if (m_prevError!=0x80000000)
+	{	
+		velocity = (error*m_proportionalGain + (error - m_prevError)*m_derivativeGain)>>10;
+ 
+		m_pos += velocity;
+		if (m_pos>RCS_MAX_POS) 
+		{
+			m_pos = RCS_MAX_POS; 
+		}
+		else if (m_pos<RCS_MIN_POS) 
+		{
+			m_pos = RCS_MIN_POS;
+		}
+	}
+	m_prevError = error;
+}
+// End Servo Loop Class
+//---------------------------------------
+ 
+Pixy pixy;  // Declare the camera object
+ 
+ServoLoop panLoop(200, 200);  // Servo loop for pan
+ServoLoop tiltLoop(150, 200); // Servo loop for tilt
+ 
+void ScanForBlocks();
+void FollowBlock(int trackedBlock);
+int TrackBlock(int blockCount);
+
+//---------------------------------------
+// Setup - runs once at startup
+//---------------------------------------
+void setup()
+{
+	ZumoInit();
+	buzzer.playOn();    
+	Serial.begin(115200);
+	Serial.print("Starting...\n");
+	pixy.init();
+
+    button.waitForPress();
+    buzzer.playStart();    
+}
+ 
+uint32_t lastBlockTime = 0;
+ 
+//---------------------------------------
+// Main loop - runs continuously after setup
+//---------------------------------------
+void loop()
+{ 
+	uint16_t blocks;
+	blocks = pixy.getBlocks();
+ 
+	// If we have blocks in sight, track and follow them
+	if (blocks)
+	{
+		int trackedBlock = TrackBlock(blocks);
+		FollowBlock(trackedBlock);
+		lastBlockTime = millis();
+	}  
+	else if (millis() - lastBlockTime > 100)
+	{
+		motors.setLeftSpeed(0);
+		motors.setRightSpeed(0);
+		ScanForBlocks();
+	}
+}
+ 
+int oldX, oldY, oldSignature;
+ 
+//---------------------------------------
+// Track blocks via the Pixy pan/tilt mech
+// (based in part on Pixy CMUcam5 pantilt example)
+//---------------------------------------
+int TrackBlock(int blockCount)
+{
+	int trackedBlock = 0;
+	long maxSize = 0;
+ 
+	Serial.print("blocks =");
+	Serial.println(blockCount);
+ 
+	for (int i = 0; i < blockCount; i++)
+	{
+		if ((oldSignature == 0) || (pixy.blocks[i].signature == oldSignature))
+		{
+			long newSize = pixy.blocks[i].height * pixy.blocks[i].width;
+			if (newSize > maxSize)
+			{
+				trackedBlock = i;
+				maxSize = newSize;
+			}
+		}
+	}
+ 
+	int32_t panError = X_CENTER - pixy.blocks[trackedBlock].x;
+	int32_t tiltError = pixy.blocks[trackedBlock].y - Y_CENTER;
+ 
+	panLoop.update(panError);
+	tiltLoop.update(tiltError);
+ 
+	pixy.setServos(panLoop.m_pos, tiltLoop.m_pos);
+ 
+	oldX = pixy.blocks[trackedBlock].x;
+	oldY = pixy.blocks[trackedBlock].y;
+	oldSignature = pixy.blocks[trackedBlock].signature;
+	return trackedBlock;
+}
+ 
+//---------------------------------------
+// Follow blocks via the Zumo robot drive
+//
+// This code makes the robot base turn 
+// and move to follow the pan/tilt tracking
+// of the head.
+//---------------------------------------
+int32_t size = 400;
+void FollowBlock(int trackedBlock)
+{
+	int32_t followError = RCS_CENTER_POS - panLoop.m_pos;  // How far off-center are we looking now?
+ 
+	// Size is the area of the object.
+	// We keep a running average of the last 8.
+	size += pixy.blocks[trackedBlock].width * pixy.blocks[trackedBlock].height; 
+	size -= size >> 3;
+ 
+	// Forward speed decreases as we approach the object (size is larger)
+	int forwardSpeed = constrain(400 - (size/256), -100, 400);  
+ 
+	// Steering differential is proportional to the error times the forward speed
+	int32_t differential = (followError + (followError * forwardSpeed))>>8;
+ 
+	// Adjust the left and right speeds by the steering differential.
+	int leftSpeed = constrain(forwardSpeed + differential, -400, 400);
+	int rightSpeed = constrain(forwardSpeed - differential, -400, 400);
+ 
+	// And set the motor speeds
+	motors.setLeftSpeed(leftSpeed);
+	motors.setRightSpeed(rightSpeed);
+}
+ 
+//---------------------------------------
+// Random search for blocks
+//
+// This code pans back and forth at random
+// until a block is detected
+//---------------------------------------
+int scanIncrement = (RCS_MAX_POS - RCS_MIN_POS) / 150;
+uint32_t lastMove = 0;
+ 
+void ScanForBlocks()
+{
+	if (millis() - lastMove > 20)
+	{
+		lastMove = millis();
+		panLoop.m_pos += scanIncrement;
+		if ((panLoop.m_pos >= RCS_MAX_POS)||(panLoop.m_pos <= RCS_MIN_POS))
+		{
+			tiltLoop.m_pos = random(RCS_MAX_POS * 0.6, RCS_MAX_POS);
+			scanIncrement = -scanIncrement;
+			if (scanIncrement < 0)
+			{
+				motors.setLeftSpeed(-250);
+				motors.setRightSpeed(250);
+			}
+			else
+			{
+				motors.setLeftSpeed(+180);
+				motors.setRightSpeed(-180);
+			}
+			delay(random(250, 500));
+		}
+ 
+		pixy.setServos(panLoop.m_pos, tiltLoop.m_pos);
+	}
+}
Index: /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.h
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.h	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo/rca_app.h	(revision 236)
@@ -0,0 +1,6 @@
+#ifndef _RCA_APP_H_
+#define _RCA_APP_H_
+
+#define RCA_NUM_TASK 0
+
+#endif /* _RCA_APP_H_ */
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/Makefile
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/Makefile	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/Makefile	(revision 236)
@@ -0,0 +1,73 @@
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.targetã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã¡ã¤ã«
+#
+APPL_CXXOBJS += rca_app.o
+APPL_COBJS   += 
+APPL_CFG      = rca_app.cfg 
+
+#
+#  Serialã®æ±ã
+#   ARDUINO_SERIAL
+#    NOUSE_SERIAL
+#    USE_SERIAL
+#    USE_SERIALUSB_AS_SERIAL
+#    USE_SERIAL5_AS_SERIAL
+#
+#ARDUINO_SERIAL = NOUSE_SERIAL
+ARDUINO_SERIAL = USE_SERIAL
+#ARDUINO_SERIAL = USE_SERIALUSB_AS_SERIAL
+#ARDUINO_SERIAL = USE_SERIAL5_AS_SERIAL
+
+#
+#  ã©ã¤ãã©ãªã®ä½¿ç¨
+#  
+USE_ARDUINO_SPI = true
+#USE_ARDUINO_NCESCAN = true
+#USE_ARDUINO_SD  = true
+#USE_ARDUINO_TFT = true
+#USE_ETHERNET2 = true
+#USE_NAXESMOTION = true
+#USE_ARDUINO_RTC = true
+USE_WIRE = true
+
+#
+#  RCAã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+RCA_DIR = ../..
+
+#
+#  ASPã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = ../../asp_1.9.2
+
+#
+#  ãã®ä»ã®ãªãã·ã§ã³
+#
+APPL_CFLAGS =
+APPL_LIBS =
+APPL_DIR = 
+
+#
+#  Zumo Library
+# 
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/ZumoShield
+APPL_CXXOBJS += Accelerometer.o L3G.o LSM303.o Pushbutton.o QTRSensors.o ZumoBuzzer.o ZumoMotors.o
+APPL_CFG     += ZumoShield.cfg
+
+#
+#  Pixy Library
+#
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/Pixy
+
+#
+#  Wifi Library
+#
+APPL_DIR     += $(RCA_DIR)/arduino_lib/libraries/ESP8266_Arudino_AT/
+APPL_CXXOBJS += ESP8266.o
+
+include $(RCA_DIR)/lib/Makefile.rca
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_clean.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_clean.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_clean.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make clean
+pause
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_debug.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_debug.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_debug.bat	(revision 236)
@@ -0,0 +1,4 @@
+call ../do_path.bat
+make ocd
+make db
+taskkill /F /IM openocd.exe
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_make.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_make.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_make.bat	(revision 236)
@@ -0,0 +1,3 @@
+call ../do_path.bat
+make all
+pause
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_run.bat
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_run.bat	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/do_run.bat	(revision 236)
@@ -0,0 +1,2 @@
+call ../do_path.bat
+make run
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.atsln
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.atsln	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.atsln	(revision 236)
@@ -0,0 +1,22 @@
+﻿
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Atmel Studio Solution File, Format Version 11.00
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "rca", "rca.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
+		Release|ARM = Release|ARM
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.ActiveCfg = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.Build.0 = Debug|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.ActiveCfg = Release|ARM
+		{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.Build.0 = Release|ARM
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.componentinfo.xml
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.componentinfo.xml	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.componentinfo.xml	(revision 236)
@@ -0,0 +1,169 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
+	<ProjectComponents>
+		<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
+			<CApiVersion></CApiVersion>
+			<CBundle></CBundle>
+			<CClass>CMSIS</CClass>
+			<CGroup>CORE</CGroup>
+			<CSub></CSub>
+			<CVariant></CVariant>
+			<CVendor>ARM</CVendor>
+			<CVersion>3.40.0</CVersion>
+			<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+			<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType z:Id="i2" i:type="ProjectComponent">
+					<CApiVersion></CApiVersion>
+					<CBundle></CBundle>
+					<CClass>Device</CClass>
+					<CGroup>Startup</CGroup>
+					<CSub></CSub>
+					<CVariant></CVariant>
+					<CVendor>Atmel</CVendor>
+					<CVersion>1.0.0</CVersion>
+					<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
+					<DependentComponents />
+					<Description></Description>
+					<Files>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\include</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>include</Category>
+							<Condition>C</Condition>
+							<FileContentHash i:nil="true" />
+							<FileVersion></FileVersion>
+							<Name>samd21a/include</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\include\sam.h</AbsolutePath>
+							<Attribute></Attribute>
+							<Category>header</Category>
+							<Condition>C</Condition>
+							<FileContentHash>wM94EGprD6Od4xKBsAzkFQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/include/sam.h</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\templates\main.c</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>dSS7TLoDl1MS+uFZPgKPWQ==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.c</Name>
+							<SelectString>Main file (.c)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\templates\main.cpp</AbsolutePath>
+							<Attribute>template</Attribute>
+							<Category>source</Category>
+							<Condition>C Exe</Condition>
+							<FileContentHash>nU+WlKcYaWh0AWBBS+WVpA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/templates/main.cpp</Name>
+							<SelectString>Main file (.cpp)</SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\system_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>Qjqe1jYsYQB+vQG2A3hhiA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/system_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\startup_samd21.c</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>source</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>pLNlIy+Llw/GLgds0gbQQA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/startup_samd21.c</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\samd21g18a_flash.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>linkerScript</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>4xbqLG5DtSn/T8pJoWAvNA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_flash.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+						<d4p1:anyType i:type="FileInfo">
+							<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD21_DFP\1.0.222\samd21a\gcc\gcc\samd21g18a_sram.ld</AbsolutePath>
+							<Attribute>config</Attribute>
+							<Category>other</Category>
+							<Condition>GCC Exe</Condition>
+							<FileContentHash>K9GWjx6oZkcBnxrHUbvSwA==</FileContentHash>
+							<FileVersion></FileVersion>
+							<Name>samd21a/gcc/gcc/samd21g18a_sram.ld</Name>
+							<SelectString></SelectString>
+							<SourcePath></SourcePath>
+						</d4p1:anyType>
+					</Files>
+					<PackName>SAMD21_DFP</PackName>
+					<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/SAMD21_DFP/1.0.222/Atmel.SAMD21_DFP.pdsc</PackPath>
+					<PackVersion>1.0.222</PackVersion>
+					<PresentInProject>true</PresentInProject>
+					<ReferenceConditionId>ATSAMD21G18A</ReferenceConditionId>
+					<RteComponents>
+						<d4p1:string></d4p1:string>
+					</RteComponents>
+					<Status>Resolved</Status>
+					<VersionMode>Fixed</VersionMode>
+					<IsComponentInAtProject>true</IsComponentInAtProject>
+				</d4p1:anyType>
+			</DependentComponents>
+			<Description></Description>
+			<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Documentation\Core\html\index.html</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>doc</Category>
+					<Condition></Condition>
+					<FileContentHash>Fm1Ae7doPh4708FZQAIEpw==</FileContentHash>
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Documentation\Core\html\index.html</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+				<d4p1:anyType i:type="FileInfo">
+					<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\cmsis\4.2.0\CMSIS\Include\</AbsolutePath>
+					<Attribute></Attribute>
+					<Category>include</Category>
+					<Condition></Condition>
+					<FileContentHash i:nil="true" />
+					<FileVersion></FileVersion>
+					<Name>CMSIS\Include\</Name>
+					<SelectString></SelectString>
+					<SourcePath></SourcePath>
+				</d4p1:anyType>
+			</Files>
+			<PackName>CMSIS</PackName>
+			<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/arm/cmsis/4.2.0/ARM.CMSIS.pdsc</PackPath>
+			<PackVersion>4.2.0</PackVersion>
+			<PresentInProject>true</PresentInProject>
+			<ReferenceConditionId>CMSIS Core</ReferenceConditionId>
+			<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+				<d4p1:string></d4p1:string>
+			</RteComponents>
+			<Status>Resolved</Status>
+			<VersionMode>Fixed</VersionMode>
+			<IsComponentInAtProject>true</IsComponentInAtProject>
+		</ProjectComponent>
+		<ProjectComponent z:Ref="i2" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />
+	</ProjectComponents>
+</Store>
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.cproj
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.cproj	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca.cproj	(revision 236)
@@ -0,0 +1,168 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
+  <PropertyGroup>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectVersion>7.0</ProjectVersion>
+    <ToolchainName>com.Atmel.ARMGCC.C</ToolchainName>
+    <ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid>
+    <avrdevice>ATSAMD21G18A</avrdevice>
+    <avrdeviceseries>none</avrdeviceseries>
+    <OutputType>Executable</OutputType>
+    <Language>C</Language>
+    <OutputFileName>$(MSBuildProjectName)</OutputFileName>
+    <OutputFileExtension>.elf</OutputFileExtension>
+    <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
+    <AssemblyName>rca</AssemblyName>
+    <Name>rca</Name>
+    <RootNamespace>rca</RootNamespace>
+    <ToolchainFlavour>Native</ToolchainFlavour>
+    <KeepTimersRunning>true</KeepTimersRunning>
+    <OverrideVtor>false</OverrideVtor>
+    <CacheFlash>true</CacheFlash>
+    <ProgFlashFromRam>true</ProgFlashFromRam>
+    <RamSnippetAddress>0x20000000</RamSnippetAddress>
+    <UncachedRange />
+    <preserveEEPROM>true</preserveEEPROM>
+    <OverrideVtorValue>exception_table</OverrideVtorValue>
+    <BootSegment>2</BootSegment>
+    <eraseonlaunchrule>4</eraseonlaunchrule>
+    <ExternalProgrammingToolCommand />
+    <AsfFrameworkConfig>
+      <framework-data xmlns="">
+        <options />
+        <configurations />
+        <files />
+        <documentation help="" />
+        <offline-documentation help="" />
+        <dependencies>
+          <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.27.3" />
+        </dependencies>
+      </framework-data>
+    </AsfFrameworkConfig>
+    <UseGdb>False</UseGdb>
+    <avrtool>com.atmel.avrdbg.tool.edbg</avrtool>
+    <avrtoolserialnumber>FFFFFFFFFFFFFFFFFFFF</avrtoolserialnumber>
+    <avrdeviceexpectedsignature>0x10010005</avrdeviceexpectedsignature>
+    <avrtoolinterface>SWD</avrtoolinterface>
+    <com_atmel_avrdbg_tool_edbg>
+      <ToolOptions>
+        <InterfaceProperties>
+          <SwdClock>2000000</SwdClock>
+        </InterfaceProperties>
+        <InterfaceName>SWD</InterfaceName>
+      </ToolOptions>
+      <ToolType>com.atmel.avrdbg.tool.edbg</ToolType>
+      <ToolNumber>FFFFFFFFFFFFFFFFFFFF</ToolNumber>
+      <ToolName>EDBG</ToolName>
+    </com_atmel_avrdbg_tool_edbg>
+    <avrtoolinterfaceclock>2000000</avrtoolinterfaceclock>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>NDEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize for size (-Os)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+</ArmGcc>
+    </ToolchainSettings>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+    <ToolchainSettings>
+      <ArmGcc>
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>
+  <armgcc.compiler.symbols.DefSymbols>
+    <ListValues>
+      <Value>DEBUG</Value>
+    </ListValues>
+  </armgcc.compiler.symbols.DefSymbols>
+  <armgcc.compiler.directories.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.compiler.directories.IncludePaths>
+  <armgcc.compiler.optimization.level>Optimize (-O1)</armgcc.compiler.optimization.level>
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>
+  <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel>
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>
+  <armgcc.linker.libraries.Libraries>
+    <ListValues>
+      <Value>libm</Value>
+    </ListValues>
+  </armgcc.linker.libraries.Libraries>
+  <armgcc.linker.libraries.LibrarySearchPaths>
+    <ListValues>
+      <Value>%24(ProjectDir)\Device_Startup</Value>
+    </ListValues>
+  </armgcc.linker.libraries.LibrarySearchPaths>
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>
+  <armgcc.linker.miscellaneous.LinkerFlags>-Tsamd21g18a_flash.ld</armgcc.linker.miscellaneous.LinkerFlags>
+  <armgcc.assembler.debugging.DebugLevel>Default (-g)</armgcc.assembler.debugging.DebugLevel>
+  <armgcc.preprocessingassembler.general.IncludePaths>
+    <ListValues>
+      <Value>%24(PackRepoDir)\atmel\SAMD21_DFP\1.0.222\samd21a\include</Value>
+      <Value>%24(PackRepoDir)\arm\cmsis\4.2.0\CMSIS\Include\</Value>
+    </ListValues>
+  </armgcc.preprocessingassembler.general.IncludePaths>
+  <armgcc.preprocessingassembler.debugging.DebugLevel>Default (-Wa,-g)</armgcc.preprocessingassembler.debugging.DebugLevel>
+</ArmGcc>
+    </ToolchainSettings>
+    <UsesExternalMakeFile>True</UsesExternalMakeFile>
+    <OutputDirectory />
+    <BuildTarget>all</BuildTarget>
+    <CleanTarget>clean</CleanTarget>
+    <ExternalMakeFilePath>Makefile</ExternalMakeFilePath>
+  </PropertyGroup>
+  <ItemGroup>
+    <None Include="rca_app.cfg">
+      <SubType>compile</SubType>
+    </None>
+    <None Include="rca_app.cpp">
+      <SubType>compile</SubType>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="rca_app.h">
+      <SubType>compile</SubType>
+    </Compile>
+  </ItemGroup>
+  <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
+</Project>
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.cfg
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.cfg	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.cfg	(revision 236)
@@ -0,0 +1,9 @@
+/*
+ *  $Id: sample1.cfg 2416 2012-09-07 08:06:20Z ertl-hiro $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("rca_lib.cfg");
+INCLUDE("ZumoShield.cfg");
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.cpp
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.cpp	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.cpp	(revision 236)
@@ -0,0 +1,406 @@
+#include "rca.h"
+#include "ESP8266.h"
+
+#include <Wire.h>
+#include <ZumoShield.h>
+
+#include <SPI.h>  
+#include <Pixy.h>
+
+#include "../examples_gdef.h"
+
+#define WMODE_STATION
+
+uint16_t pixy_blocks = 0;
+char     pixy_buf[16][128]; 
+
+//==========================================================================
+//
+//  Pixy Pet Robot
+//
+//   Adafruit invests time and resources providing this open source code, 
+//  please support Adafruit and open-source hardware by purchasing 
+//  products from Adafruit!
+//
+// Written by: Bill Earl for Adafruit Industries
+//
+//==========================================================================
+// begin license header
+//
+// All Pixy Pet source code is provided under the terms of the
+// GNU General Public License v2 (http://www.gnu.org/licenses/gpl-2.0.html).
+//
+// end license header
+//
+//==========================================================================
+//
+// Portions of this code are derived from the Pixy CMUcam5 pantilt example code. 
+//
+//==========================================================================
+ 
+#define X_CENTER    160L
+#define Y_CENTER    100L
+#define RCS_MIN_POS     0L
+#define RCS_MAX_POS     1000L
+#define RCS_CENTER_POS	((RCS_MAX_POS-RCS_MIN_POS)/2)
+ 
+//---------------------------------------
+// Servo Loop Class
+// A Proportional/Derivative feedback
+// loop for pan/tilt servo tracking of
+// blocks.
+// (Based on Pixy CMUcam5 example code)
+//---------------------------------------
+class ServoLoop
+{
+public:
+	ServoLoop(int32_t proportionalGain, int32_t derivativeGain);
+ 
+	void update(int32_t error);
+ 
+	int32_t m_pos;
+	int32_t m_prevError;
+	int32_t m_proportionalGain;
+	int32_t m_derivativeGain;
+};
+ 
+// ServoLoop Constructor
+ServoLoop::ServoLoop(int32_t proportionalGain, int32_t derivativeGain)
+{
+	m_pos = RCS_CENTER_POS;
+	m_proportionalGain = proportionalGain;
+	m_derivativeGain = derivativeGain;
+	m_prevError = 0x80000000L;
+}
+ 
+// ServoLoop Update 
+// Calculates new output based on the measured
+// error and the current state.
+void ServoLoop::update(int32_t error)
+{
+	long int velocity;
+	char buf[32];
+	if (m_prevError!=0x80000000)
+	{	
+		velocity = (error*m_proportionalGain + (error - m_prevError)*m_derivativeGain)>>10;
+ 
+		m_pos += velocity;
+		if (m_pos>RCS_MAX_POS) 
+		{
+			m_pos = RCS_MAX_POS; 
+		}
+		else if (m_pos<RCS_MIN_POS) 
+		{
+			m_pos = RCS_MIN_POS;
+		}
+	}
+	m_prevError = error;
+}
+// End Servo Loop Class
+//---------------------------------------
+ 
+Pixy pixy;  // Declare the camera object
+ 
+ServoLoop panLoop(200, 200);  // Servo loop for pan
+ServoLoop tiltLoop(150, 200); // Servo loop for tilt
+ 
+void ScanForBlocks();
+void FollowBlock(int trackedBlock);
+int TrackBlock(int blockCount);
+
+//---------------------------------------
+// Setup - runs once at startup
+//---------------------------------------
+void setup()
+{
+	ZumoInit();
+	buzzer.playOn();    
+	Serial.begin(115200);
+	Serial.print("Starting...\n");
+	pixy.init();
+
+    button.waitForPress();
+    buzzer.playStart();    
+}
+ 
+uint32_t lastBlockTime = 0;
+ 
+//---------------------------------------
+// Main loop - runs continuously after setup
+//---------------------------------------
+void loop()
+{ 
+	uint16_t blocks;
+	blocks = pixy.getBlocks();
+    
+	// If we have blocks in sight, track and follow them
+	if (blocks)
+	{
+		int trackedBlock = TrackBlock(blocks);
+		FollowBlock(trackedBlock);
+		lastBlockTime = millis();
+        if(pixy_blocks == 0) {
+            if (blocks > 16) {
+                blocks = 16;
+            }
+            pixy_blocks = blocks;
+            for (int j=0; j<blocks; j++){
+                sprintf(pixy_buf[j], "sig: %d x: %d y: %d width: %d height: %d\n",
+                        pixy.blocks[j].signature, pixy.blocks[j].x, pixy.blocks[j].y,
+                        pixy.blocks[j].width, pixy.blocks[j].height);
+            }
+        }
+        delay(1);
+	}  
+	else if (millis() - lastBlockTime > 100)
+	{
+		motors.setLeftSpeed(0);
+		motors.setRightSpeed(0);
+		ScanForBlocks();
+	}
+}
+ 
+int oldX, oldY, oldSignature;
+ 
+//---------------------------------------
+// Track blocks via the Pixy pan/tilt mech
+// (based in part on Pixy CMUcam5 pantilt example)
+//---------------------------------------
+int TrackBlock(int blockCount)
+{
+	int trackedBlock = 0;
+	long maxSize = 0;
+ 
+	Serial.print("blocks =");
+	Serial.println(blockCount);
+ 
+	for (int i = 0; i < blockCount; i++)
+	{
+		if ((oldSignature == 0) || (pixy.blocks[i].signature == oldSignature))
+		{
+			long newSize = pixy.blocks[i].height * pixy.blocks[i].width;
+			if (newSize > maxSize)
+			{
+				trackedBlock = i;
+				maxSize = newSize;
+			}
+		}
+	}
+ 
+	int32_t panError = X_CENTER - pixy.blocks[trackedBlock].x;
+	int32_t tiltError = pixy.blocks[trackedBlock].y - Y_CENTER;
+ 
+	panLoop.update(panError);
+	tiltLoop.update(tiltError);
+ 
+	pixy.setServos(panLoop.m_pos, tiltLoop.m_pos);
+ 
+	oldX = pixy.blocks[trackedBlock].x;
+	oldY = pixy.blocks[trackedBlock].y;
+	oldSignature = pixy.blocks[trackedBlock].signature;
+	return trackedBlock;
+}
+ 
+//---------------------------------------
+// Follow blocks via the Zumo robot drive
+//
+// This code makes the robot base turn 
+// and move to follow the pan/tilt tracking
+// of the head.
+//---------------------------------------
+int32_t size = 400;
+void FollowBlock(int trackedBlock)
+{
+	int32_t followError = RCS_CENTER_POS - panLoop.m_pos;  // How far off-center are we looking now?
+ 
+	// Size is the area of the object.
+	// We keep a running average of the last 8.
+	size += pixy.blocks[trackedBlock].width * pixy.blocks[trackedBlock].height; 
+	size -= size >> 3;
+ 
+	// Forward speed decreases as we approach the object (size is larger)
+	int forwardSpeed = constrain(400 - (size/256), -100, 400);  
+ 
+	// Steering differential is proportional to the error times the forward speed
+	int32_t differential = (followError + (followError * forwardSpeed))>>8;
+ 
+	// Adjust the left and right speeds by the steering differential.
+	int leftSpeed = constrain(forwardSpeed + differential, -400, 400);
+	int rightSpeed = constrain(forwardSpeed - differential, -400, 400);
+ 
+	// And set the motor speeds
+	motors.setLeftSpeed(leftSpeed);
+	motors.setRightSpeed(rightSpeed);
+}
+ 
+//---------------------------------------
+// Random search for blocks
+//
+// This code pans back and forth at random
+// until a block is detected
+//---------------------------------------
+int scanIncrement = (RCS_MAX_POS - RCS_MIN_POS) / 150;
+uint32_t lastMove = 0;
+ 
+void ScanForBlocks()
+{
+	if (millis() - lastMove > 20)
+	{
+		lastMove = millis();
+		panLoop.m_pos += scanIncrement;
+		if ((panLoop.m_pos >= RCS_MAX_POS)||(panLoop.m_pos <= RCS_MIN_POS))
+		{
+			tiltLoop.m_pos = random(RCS_MAX_POS * 0.6, RCS_MAX_POS);
+			scanIncrement = -scanIncrement;
+			if (scanIncrement < 0)
+			{
+				motors.setLeftSpeed(-250);
+				motors.setRightSpeed(250);
+			}
+			else
+			{
+				motors.setLeftSpeed(+180);
+				motors.setRightSpeed(-180);
+			}
+			delay(random(250, 500));
+		}
+ 
+		pixy.setServos(panLoop.m_pos, tiltLoop.m_pos);
+	}
+}
+
+
+bool setup_done = false;
+
+void task1_setup()
+{
+    int ret;
+    
+    Serial.println("Echo Server : Start!");
+    ret = WiFi.begin(Serial5, 115200);
+
+    if(ret == 1) {
+        Serial.print("Cannot communicate with ESP8266.");
+        while(1);        
+    } else if(ret == 2) {
+        Serial.println("FW Version mismatch.");
+        Serial.print("FW Version:");
+        Serial.println(WiFi.getVersion().c_str());
+        Serial.print("Supported FW Version:");
+        Serial.print(ESP8266_SUPPORT_VERSION);
+        while(1);
+    } else {
+        Serial.print("begin ok\r\n");
+    }
+
+    Serial.print("FW Version:");
+    Serial.println(WiFi.getVersion().c_str());
+    
+#ifdef  WMODE_STATION
+    if (WiFi.setOprToStation()) {
+        Serial.print("to station ok\r\n");
+    } else {
+        Serial.print("to station err\r\n");
+    }
+    
+    if (WiFi.joinAP(STA_SSID, STA_PASSWORD)) {
+        Serial.print("Join AP success\r\n");
+        Serial.print("IP: ");
+        Serial.println(WiFi.getLocalIP().c_str());    
+    } else {
+        Serial.print("Join AP failure\r\n");
+        while(1);
+    }
+#else /* !WMODE_STATION */ 
+    if (WiFi.setOprToSoftAP()) {
+        Serial.print("to softap ok\r\n");
+    } else {
+        Serial.print("to softap err\r\n");
+    }    
+    if(WiFi.setSoftAPParam(AP_SSID, AP_PASSWORD, 7, 0)){
+        Serial.print("Set SoftAP success\r\n");
+        Serial.print("IP: ");
+        Serial.println(WiFi.getLocalIP().c_str());            
+    }
+    else {
+        Serial.print("Set SoftAP failure\r\n");
+    }
+#endif /* WMODE_STATION */
+    
+    if (WiFi.enableMUX()) {
+        Serial.print("multiple ok\r\n");
+    } else {
+        Serial.print("multiple err\r\n");
+        while(1);
+    }
+
+    if (WiFi.startTCPServer(80)) {
+        Serial.print("start tcp server ok\r\n");
+    } else {
+        Serial.print("start tcp server err\r\n");
+        while(1);
+    }
+
+    if (WiFi.setTCPServerTimeout(60)) { 
+        Serial.print("set tcp server timout 60 seconds\r\n");
+    } else {
+        Serial.print("set tcp server timout err\r\n");
+        while(1);
+    }
+
+    Serial.print("setup end\r\n");
+
+    setup_done = true;
+}
+
+#define MUX_NULL 0xff
+
+uint8_t mux_id_ptn;
+
+uint8_t mux_id = MUX_NULL;
+uint8_t task1_mux_id = MUX_NULL;
+
+void task1_loop()
+{
+    char buf[128]; 
+    uint8_t pre_mux_id_ptn;    
+
+    /* Check Connection Status */
+    pre_mux_id_ptn = mux_id_ptn;
+
+    if(!WiFi.getMuxCStatus(&mux_id_ptn)) {
+        Serial.println("getMuxCStatus(&mux_id_ptn) : Error!");
+    }
+    else {        
+        if (pre_mux_id_ptn != mux_id_ptn) {
+            Serial.print("Connection Status changed! : 0x");
+            Serial.println(mux_id_ptn, HEX);
+            if (mux_id_ptn & 0x01) {
+                mux_id = 0; 
+            }
+            if (mux_id_ptn & 0x02) {
+                task1_mux_id = 1;
+            }
+        }
+    }
+
+    if (mux_id == MUX_NULL) {
+        return;
+    }
+    
+    if (!WiFi.isConnected(mux_id)) {
+        Serial.print("Echo Server : Port is closed: ");
+        Serial.println(mux_id);
+        mux_id = MUX_NULL;
+        return;
+    }
+
+    if(pixy_blocks != 0) {
+        sprintf(buf, "Detected %d:\n", pixy_blocks);
+        WiFi.send(mux_id, (uint8_t*)buf, strlen(buf));        
+        for (int j=0; j<pixy_blocks; j++){
+            WiFi.send(mux_id, (uint8_t*)pixy_buf[j], strlen(pixy_buf[j]));
+        }        
+        pixy_blocks = 0;
+    }        
+}
Index: /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.h
===================================================================
--- /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.h	(revision 236)
+++ /rtos_arduino/trunk/examples/PIXY_Zumo_Wifi/rca_app.h	(revision 236)
@@ -0,0 +1,9 @@
+#ifndef _RCA_APP_H_
+#define _RCA_APP_H_
+
+#define RCA_NUM_TASK 1
+
+#define  RCA_MAINTASK_LOOP_PRI  5
+#define  RCA_TASK1_LOOP_PRI  6
+
+#endif /* _RCA_APP_H_ */
