#include <stdexcept>\r
\r
TactonPlayer::TactonPlayer(const char *port)\r
-:_comport(new SerialWindows(port))\r
{\r
+ try\r
+ {\r
+ _comport = new SerialWindows(port);\r
+ }\r
+ catch(...)\r
+ {\r
+ }\r
}\r
\r
TactonPlayer::~TactonPlayer()\r
\r
void TactonPlayer::start()\r
{\r
- _comport->WriteData("S", 1);\r
+ if (_comport)\r
+ _comport->WriteData("S", 1);\r
}\r
\r
void TactonPlayer::stop()\r
{\r
- _comport->WriteData("Q", 1);\r
+ if (_comport)\r
+ _comport->WriteData("Q", 1);\r
}\r
\r
void TactonPlayer::regist(const Tacton &t)\r
{\r
+ if (!_comport)\r
+ return;\r
+\r
unsigned int nbframes = t.getNbFrames();\r
unsigned char *buffer = new unsigned char[3 + 6 * nbframes];\r
buffer[0] = 'N';\r
\r
unsigned int TactonPlayer::registFile(char *filename)\r
{\r
+ if (!_comport)\r
+ return -1;\r
unsigned int nb = 0;\r
\r
//load icons\r
\r
void TactonPlayer::play(unsigned char index)\r
{\r
+ if (!_comport)\r
+ return;\r
unsigned char buffer[2];\r
buffer[0] = 'T';\r
buffer[1] = index;\r
\r
void TactonPlayer::play(const Tacton &t)\r
{\r
+ if (!_comport)\r
+ return;\r
+\r
unsigned int nbframes = t.getNbFrames();\r
unsigned char *buffer = new unsigned char[3 + 6 * nbframes];\r
buffer[0] = 'V';\r
\r
void TactonPlayer::schedule(unsigned char index, unsigned long timestamp)\r
{\r
+ if (!_comport)\r
+ return;\r
+\r
unsigned char buffer[6];\r
buffer[0] = 'P';\r
buffer[1] = index;\r
\r
void TactonPlayer::debugRead(char *res, int nb) const\r
{\r
- _comport->ReadData(res, nb);\r
+ if (_comport)\r
+ _comport->ReadData(res, nb);\r
}\r
<Optimization>Disabled</Optimization>\r
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;TACTONPLAYER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<DisableSpecificWarnings>4996</DisableSpecificWarnings>\r
+ <AdditionalIncludeDirectories>ArduinoSerial</AdditionalIncludeDirectories>\r
</ClCompile>\r
<Link>\r
<SubSystem>Windows</SubSystem>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <AdditionalDependencies>arduinoserial.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
</Link>\r
<PostBuildEvent>\r
<Command>copy /y $(CodeAnalysisInputAssembly) C:\Windows\system\\r
<IntrinsicFunctions>true</IntrinsicFunctions>\r
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TACTONPLAYER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<DisableSpecificWarnings>4996</DisableSpecificWarnings>\r
+ <AdditionalIncludeDirectories>ArduinoSerial</AdditionalIncludeDirectories>\r
</ClCompile>\r
<Link>\r
<SubSystem>Windows</SubSystem>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
+ <AdditionalDependencies>arduinoserial.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
</Link>\r
<PostBuildEvent>\r
<Command>REM copy /y $(CodeAnalysisInputAssembly) C:\Windows\system\\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
- <ClInclude Include="Serial.hpp" />\r
- <ClInclude Include="SerialWindows.hpp" />\r
<ClInclude Include="Tacton.hpp" />\r
<ClInclude Include="TactonPlayer.hpp" />\r
</ItemGroup>\r
<ItemGroup>\r
- <ClCompile Include="Serial.cpp" />\r
- <ClCompile Include="SerialWindows.cpp" />\r
<ClCompile Include="Tacton.cpp" />\r
<ClCompile Include="TactonPlayer.cpp" />\r
</ItemGroup>\r
</Filter>\r
</ItemGroup>\r
<ItemGroup>\r
- <ClInclude Include="SerialWindows.hpp">\r
- <Filter>Header Files</Filter>\r
- </ClInclude>\r
- <ClInclude Include="Serial.hpp">\r
- <Filter>Header Files</Filter>\r
- </ClInclude>\r
<ClInclude Include="Tacton.hpp">\r
<Filter>Header Files</Filter>\r
</ClInclude>\r
<ClCompile Include="Tacton.cpp">\r
<Filter>Source Files</Filter>\r
</ClCompile>\r
- <ClCompile Include="Serial.cpp">\r
- <Filter>Source Files</Filter>\r
- </ClCompile>\r
- <ClCompile Include="SerialWindows.cpp">\r
- <Filter>Source Files</Filter>\r
- </ClCompile>\r
<ClCompile Include="TactonPlayer.cpp">\r
<Filter>Source Files</Filter>\r
</ClCompile>\r