OSDN Git Service

Added project files for Windows.
authorShinichiro Nakamura <shinta.main.jp@gmail.com>
Sat, 28 Apr 2012 01:42:51 +0000 (10:42 +0900)
committerShinichiro Nakamura <shinta.main.jp@gmail.com>
Sat, 28 Apr 2012 01:42:51 +0000 (10:42 +0900)
src/kz_xmodem.c
src/kz_xmodem.sln [new file with mode: 0644]
src/kz_xmodem.vcxproj [new file with mode: 0644]
src/kz_xmodem.vcxproj.filters [new file with mode: 0644]
src/kz_xmodem.vcxproj.user [new file with mode: 0644]

index e752404..4d81894 100644 (file)
 #include <string.h>
 #include "serial.h"
 
-#define SLEEP(SEC)          usleep(SEC * 1000 * 1000)
+#ifdef WIN32
+#   include <windows.h>
+#   define SLEEP(SEC)       Sleep(SEC * 1000)
+#else
+#   define SLEEP(SEC)       usleep(SEC * 1000 * 1000)
+#endif
 
 #define CODE_SOH            (0x01)
 #define CODE_EOT            (0x04)
  */
 int flush_serial(SERIAL *serial)
 {
-    char buf[64];
+    unsigned char buf[64];
 
     /*
      * リターンコードをターゲットに送信する。
      */
-    serial_write(serial, "\n", 1);
+    serial_write(serial, (unsigned char *)"\n", 1);
 
     /*
      * リターンに対するエコーバックとプロンプトを飲み込む。
@@ -112,12 +117,12 @@ int flush_serial(SERIAL *serial)
  */
 int setup_load_condition(SERIAL *serial)
 {
-    char buf[64];
+    unsigned char buf[64];
 
     /*
      * loadコマンドを発行する。
      */
-    serial_write(serial, "load\n", 5);
+    serial_write(serial, (unsigned char *)"load\n", 5);
 
     /*
      * エコーバックを飲み込む。
@@ -148,7 +153,7 @@ int wait_target_nak(SERIAL *serial)
         /*
          * タイムアウトを設定して読み込みを行なう。
          */
-        char c = 0x00;
+        unsigned char c = 0x00;
         serial_read_with_timeout(serial, &c, 1, TIMEOUT_SHORT_MS);
 
         /*
@@ -180,7 +185,7 @@ int wait_target_nak(SERIAL *serial)
  *
  * @return チェックサム計算結果。
  */
-unsigned char CALC_CHECKSUM(const char *buf, const int siz)
+unsigned char CALC_CHECKSUM(const unsigned char *buf, const int siz)
 {
     int i;
     unsigned char cs = 0;
@@ -199,7 +204,7 @@ unsigned char CALC_CHECKSUM(const char *buf, const int siz)
  *
  * @return ターゲットから受信した結果コード。
  */
-unsigned char TRANSMIT(SERIAL *serial, const char *buf, const int siz)
+unsigned char TRANSMIT(SERIAL *serial, const unsigned char *buf, const int siz)
 {
     unsigned char c;
     serial_write(serial, buf, siz);
@@ -245,8 +250,8 @@ int transmit_file(SERIAL *serial, const char *filename)
     {
         int i;
         for (i = 0; i < block_count; i++) {
-            char c;
-            char buf[BLOCK_SIZE];
+            unsigned char c;
+            unsigned char buf[BLOCK_SIZE];
             buf[0] = CODE_SOH;
             buf[1] = block_number;
             buf[2] = ~block_number;
@@ -267,8 +272,8 @@ int transmit_file(SERIAL *serial, const char *filename)
         }
     }
     if (block_remainder > 0) {
-        char c;
-        char buf[BLOCK_SIZE];
+        unsigned char c;
+        unsigned char buf[BLOCK_SIZE];
         buf[0] = CODE_SOH;
         buf[1] = block_number;
         buf[2] = ~block_number;
@@ -292,7 +297,7 @@ int transmit_file(SERIAL *serial, const char *filename)
      * 終了コードを送信して結果コードを取得する。
      */
     {
-        char c = CODE_EOT;
+        unsigned char c = CODE_EOT;
         serial_write(serial, &c, 1);
         serial_read_with_timeout(serial, &c, 1, TIMEOUT_LONG_MS);
         if (c != CODE_ACK) {
diff --git a/src/kz_xmodem.sln b/src/kz_xmodem.sln
new file mode 100644 (file)
index 0000000..84dfc31
--- /dev/null
@@ -0,0 +1,20 @@
+\r
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual C++ Express 2010\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kz_xmodem", "kz_xmodem.vcxproj", "{23ED9AFD-1600-4C5C-84E3-05971CE08B90}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               Debug|Win32 = Debug|Win32\r
+               Release|Win32 = Release|Win32\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {23ED9AFD-1600-4C5C-84E3-05971CE08B90}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {23ED9AFD-1600-4C5C-84E3-05971CE08B90}.Debug|Win32.Build.0 = Debug|Win32\r
+               {23ED9AFD-1600-4C5C-84E3-05971CE08B90}.Release|Win32.ActiveCfg = Release|Win32\r
+               {23ED9AFD-1600-4C5C-84E3-05971CE08B90}.Release|Win32.Build.0 = Release|Win32\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/src/kz_xmodem.vcxproj b/src/kz_xmodem.vcxproj
new file mode 100644 (file)
index 0000000..cc7296a
--- /dev/null
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{23ED9AFD-1600-4C5C-84E3-05971CE08B90}</ProjectGuid>\r
+    <Keyword>Win32Proj</Keyword>\r
+    <RootNamespace>kz_xmodem</RootNamespace>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <LinkIncremental>true</LinkIncremental>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <LinkIncremental>false</LinkIncremental>\r
+  </PropertyGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <ClCompile>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <Optimization>Disabled</Optimization>\r
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <DisableSpecificWarnings>4996;4819;4102</DisableSpecificWarnings>\r
+      <CompileAs>CompileAsCpp</CompileAs>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <ClCompile>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <Optimization>MaxSpeed</Optimization>\r
+      <FunctionLevelLinking>true</FunctionLevelLinking>\r
+      <IntrinsicFunctions>true</IntrinsicFunctions>\r
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <DisableSpecificWarnings>4996;4819;4102</DisableSpecificWarnings>\r
+      <CompileAs>CompileAsCpp</CompileAs>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+      <OptimizeReferences>true</OptimizeReferences>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemGroup>\r
+    <ClCompile Include="kz_xmodem.c" />\r
+    <ClCompile Include="serial_windows.c" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClInclude Include="serial.h" />\r
+  </ItemGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
diff --git a/src/kz_xmodem.vcxproj.filters b/src/kz_xmodem.vcxproj.filters
new file mode 100644 (file)
index 0000000..6e6bae7
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup>\r
+    <Filter Include="ソース ファイル">\r
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
+    </Filter>\r
+    <Filter Include="ヘッダー ファイル">\r
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\r
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>\r
+    </Filter>\r
+    <Filter Include="リソース ファイル">\r
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\r
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>\r
+    </Filter>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClCompile Include="kz_xmodem.c">\r
+      <Filter>ソース ファイル</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="serial_windows.c">\r
+      <Filter>ソース ファイル</Filter>\r
+    </ClCompile>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClInclude Include="serial.h">\r
+      <Filter>ヘッダー ファイル</Filter>\r
+    </ClInclude>\r
+  </ItemGroup>\r
+</Project>
\ No newline at end of file
diff --git a/src/kz_xmodem.vcxproj.user b/src/kz_xmodem.vcxproj.user
new file mode 100644 (file)
index 0000000..695b5c7
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+</Project>
\ No newline at end of file