#include <TactonPlayer.h>
#include <Tacton.h>
byte pins[] = {
- 3, 11, 9, 5};
+ 3, 11, 5, 9};
TactonPlayer player(4, pins);
TactonManager manager(&player);
index = Serial.read();
manager.play(index);
command = 0;
- Serial.print("Play");
- Serial.println(index, DEC);
+ /* Serial.print("Play");
+ Serial.println(index, DEC);*/
}
break;
//schedule the play of a registered tacton
(((unsigned long)Serial.read()) << 16) | \
(((unsigned long)Serial.read()) << 8) | \
(((unsigned long)Serial.read()));
- Serial.print("Plan ");
+/* Serial.print("Plan ");
Serial.println(timestamp, DEC);
-/* Serial.print(" played at ");
+ Serial.print(" played at ");
Serial.print(timestamp + start, DEC);
Serial.print(" shift=");
Serial.println(start, DEC);*/
_amplitudes[0] = amplitude;\r
}\r
\r
+Tacton::Tacton(char *pattern, unsigned int duration, unsigned int frequency, unsigned char amplitude)\r
+:_nbframes(1), _patterns(new unsigned char[1]), _durations(new unsigned int[1]), _frequencies(new unsigned int[1]), _amplitudes(new unsigned char[1])\r
+{\r
+ _patterns[0] = 0;\r
+ _durations[0] = duration;\r
+ _frequencies[0] = frequency;\r
+ _amplitudes[0] = amplitude;\r
+\r
+ setPattern(pattern);\r
+}\r
+\r
+Tacton::Tacton(const char *pattern, unsigned int duration, unsigned int frequency, unsigned char amplitude)\r
+:_nbframes(1), _patterns(new unsigned char[1]), _durations(new unsigned int[1]), _frequencies(new unsigned int[1]), _amplitudes(new unsigned char[1])\r
+{\r
+ _patterns[0] = 0;\r
+ _durations[0] = duration;\r
+ _frequencies[0] = frequency;\r
+ _amplitudes[0] = amplitude;\r
+\r
+ setPattern(pattern);\r
+}\r
+\r
Tacton::Tacton(const Tacton &t)\r
:_nbframes(t._nbframes), _patterns(new unsigned char[t._nbframes]), _durations(new unsigned int[t._nbframes]), _frequencies(new unsigned int[t._nbframes]), _amplitudes(new unsigned char[t._nbframes])\r
{\r
setPattern(0, pattern);\r
}\r
\r
+__declspec(dllexport) void Tacton::setPattern(const char *pattern)\r
+{\r
+ setPattern(0, pattern);\r
+}\r
+\r
__declspec(dllexport) void Tacton::setPattern(unsigned int frame, char *pattern)\r
{\r
if (frame < _nbframes)\r
}\r
}\r
\r
+__declspec(dllexport) void Tacton::setPattern(unsigned int frame, const char *pattern)\r
+{\r
+ if (frame < _nbframes)\r
+ {\r
+ unsigned char t1 = pattern[0] == '1';\r
+ unsigned char t2 = pattern[1] == '1';\r
+ unsigned char t3 = pattern[2] == '1';\r
+ unsigned char t4 = pattern[3] == '1';\r
+ _patterns[frame] = (t1 << 3) | (t2 << 2) | (t3 << 1) | t4;\r
+ }\r
+}\r
+\r
__declspec(dllexport) void Tacton::setDuration(unsigned int duration)\r
{\r
setDuration(0, duration);\r
__declspec(dllexport) Tacton(char *desc);\r
__declspec(dllexport) Tacton(unsigned int nbframes, unsigned char *patterns, unsigned int *durations, unsigned int *frequencies, unsigned char *amplitudes);\r
//create a simple vibration\r
+ __declspec(dllexport) Tacton(char *pattern, unsigned int duration, unsigned int frequency, unsigned char amplitude);\r
+ __declspec(dllexport) Tacton(const char *pattern, unsigned int duration, unsigned int frequency, unsigned char amplitude);\r
__declspec(dllexport) Tacton(unsigned char pattern, unsigned int duration, unsigned int frequency, unsigned char amplitude);\r
__declspec(dllexport) Tacton(const Tacton &t);\r
__declspec(dllexport) ~Tacton();\r
__declspec(dllexport) void setPattern(unsigned int frame, char pattern);\r
//changes the pattern using string format\r
__declspec(dllexport) void setPattern(char *pattern);\r
+ __declspec(dllexport) void setPattern(const char *pattern);\r
__declspec(dllexport) void setPattern(unsigned int frame, char *pattern);\r
+ __declspec(dllexport) void setPattern(unsigned int frame, const char *pattern);\r
//changes the duration\r
__declspec(dllexport) void setDuration(unsigned int duration);\r
__declspec(dllexport) void setDuration(unsigned int frame, unsigned int duration);\r
<SubSystem>Windows</SubSystem>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
</Link>\r
+ <PostBuildEvent>\r
+ <Command>copy /y $(CodeAnalysisInputAssembly) C:\Windows\system\\r
+copy /y $(MSBuildProjectDirectory)\*.hpp $(VSInstallDir)VC\include\$(ProjectName)\\r
+copy /y $(OutDir)$(ProjectName).lib $(VSInstallDir)VC\lib</Command>\r
+ </PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<ClCompile>\r
<EnableCOMDATFolding>true</EnableCOMDATFolding>\r
<OptimizeReferences>true</OptimizeReferences>\r
</Link>\r
+ <PostBuildEvent>\r
+ <Command>REM copy /y $(CodeAnalysisInputAssembly) C:\Windows\system\\r
+REM copy /y $(MSBuildProjectDirectory)\*.hpp $(VSInstallDir)VC\include\$(ProjectName)\\r
+REM copy /y $(OutDir)$(ProjectName).lib $(VSInstallDir)VC\lib</Command>\r
+ </PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClInclude Include="Serial.hpp" />\r