From a040e5c77c8652f448c94be7ba3a6a126fe87c99 Mon Sep 17 00:00:00 2001 From: Thomas Pietrzak Date: Thu, 16 Aug 2012 18:50:24 +0000 Subject: [PATCH] Angle tester git-svn-id: svn+ssh://thomaspietrzak.com/var/svn/rep@87 47cf9a05-e0a8-4ed5-9e9b-101a649bc004 --- TactonDebug/AngleTester/AngleTester.vcxproj | 144 ++++++++++++++++++++ TactonDebug/AngleTester/angletester.cpp | 68 +++++++++ TactonDebug/AngleTester/angletester.h | 27 ++++ TactonDebug/AngleTester/angletester.ui | 86 ++++++++++++ TactonDebug/AngleTester/main.cpp | 10 ++ TactonDebug/MagicCircle/magiccircle.cpp | 4 +- TactonDebug/TactonDebug.sln | 6 + TactonDebug/TactonDebug.suo | Bin 35328 -> 35328 bytes TactonDebug/TactonDebug/tactondebug.cpp | 2 +- 9 files changed, 344 insertions(+), 3 deletions(-) create mode 100644 TactonDebug/AngleTester/AngleTester.vcxproj create mode 100644 TactonDebug/AngleTester/angletester.cpp create mode 100644 TactonDebug/AngleTester/angletester.h create mode 100644 TactonDebug/AngleTester/angletester.ui create mode 100644 TactonDebug/AngleTester/main.cpp diff --git a/TactonDebug/AngleTester/AngleTester.vcxproj b/TactonDebug/AngleTester/AngleTester.vcxproj new file mode 100644 index 0000000..e4f50cc --- /dev/null +++ b/TactonDebug/AngleTester/AngleTester.vcxproj @@ -0,0 +1,144 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3} + Qt4VSv1.0 + + + + Application + + + Application + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + AllRules.ruleset + + + AllRules.ruleset + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + + + + _USE_MATH_DEFINES;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions) + .\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;%(AdditionalIncludeDirectories) + Disabled + ProgramDatabase + MultiThreadedDebugDLL + false + + + Windows + $(OutDir)\$(ProjectName).exe + $(QTDIR)\lib;%(AdditionalLibraryDirectories) + true + TactonPlayerd.lib;qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies) + + + + + _USE_MATH_DEFINES;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions) + .\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;%(AdditionalIncludeDirectories) + + + MultiThreadedDLL + false + + + Windows + $(OutDir)\$(ProjectName).exe + $(QTDIR)\lib;%(AdditionalLibraryDirectories) + false + TactonPlayer.lib;qtmain.lib;QtCore4.lib;QtGui4.lib;%(AdditionalDependencies) + + + + + + true + + + + + + + + + true + + + + + + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing angletester.h... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -D_USE_MATH_DEFINES -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing angletester.h... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -D_USE_MATH_DEFINES -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" + + + + + Document + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + + + + + + + + Document + %(FullPath);%(AdditionalInputs) + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + %(FullPath);%(AdditionalInputs) + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + + + + + + + + + + + \ No newline at end of file diff --git a/TactonDebug/AngleTester/angletester.cpp b/TactonDebug/AngleTester/angletester.cpp new file mode 100644 index 0000000..451403a --- /dev/null +++ b/TactonDebug/AngleTester/angletester.cpp @@ -0,0 +1,68 @@ +#include "angletester.h" + +#include + +AngleTester::AngleTester(QWidget *parent, Qt::WFlags flags) + : QMainWindow(parent, flags) +{ + try + { + _tactonPlayer = new TactonPlayer("COM8"); + } + catch(...) + { + _tactonPlayer = NULL; + } + + setupUi(this); + + layout()->setSizeConstraint(QLayout::SetFixedSize); + + setFrequency(_frequency->value()); + + connect(_play, SIGNAL(clicked(bool)), this, SLOT(play(bool))); + connect(_stop, SIGNAL(clicked(bool)), this, SLOT(stop(bool))); + + connect(_angle, SIGNAL(valueChanged(int)), this, SLOT(setAngle(int))); + connect(_frequency, SIGNAL(valueChanged(int)), this, SLOT(setFrequency(int))); +} + +AngleTester::~AngleTester() +{ + +} + +void AngleTester::setFrequency(int frequency) +{ + _tactonPlayer->setFrequency(frequency); +} + +void AngleTester::setAngle(int angle) +{ + unsigned char amplitudes[4]; + memset(amplitudes, 0, 4); + + //vertical + if (angle < 180) + amplitudes[1] = 255 * sin(angle * M_PI / 180.0); + else + amplitudes[3] = - 255 * sin(angle * M_PI / 180.0); + + //horizontal + if (angle < 90 ||angle > 270) + amplitudes[0] = 255 * cos(angle * M_PI / 180.0); + else + amplitudes[2] = - 255 * cos(angle * M_PI / 180.0); + + _tactonPlayer->setAmplitudes(4, amplitudes); +} + +void AngleTester::play(bool) +{ + setAngle(_angle->value()); +} + +void AngleTester::stop(bool) +{ + _tactonPlayer->stopBuzz(); +} diff --git a/TactonDebug/AngleTester/angletester.h b/TactonDebug/AngleTester/angletester.h new file mode 100644 index 0000000..9fecca0 --- /dev/null +++ b/TactonDebug/AngleTester/angletester.h @@ -0,0 +1,27 @@ +#ifndef ANGLETESTER_H +#define ANGLETESTER_H + +#include +#include "ui_angletester.h" + +#include + +class AngleTester : public QMainWindow, Ui::AngleTesterClass +{ + Q_OBJECT + + public: + AngleTester(QWidget *parent = 0, Qt::WFlags flags = 0); + ~AngleTester(); + + public slots: + void play(bool); + void stop(bool); + void setFrequency(int frequency); + void setAngle(int angle); + + private: + TactonPlayer *_tactonPlayer; +}; + +#endif // ANGLETESTER_H diff --git a/TactonDebug/AngleTester/angletester.ui b/TactonDebug/AngleTester/angletester.ui new file mode 100644 index 0000000..8448e58 --- /dev/null +++ b/TactonDebug/AngleTester/angletester.ui @@ -0,0 +1,86 @@ + + + AngleTesterClass + + + + 0 + 0 + 176 + 176 + + + + AngleTester + + + + + + + 359 + + + true + + + false + + + false + + + true + + + 30.000000000000000 + + + true + + + + + + + + + Frequency + + + + + + + 500 + + + 300 + + + + + + + Play + + + + + + + Stop + + + + + + + + + + + + + + diff --git a/TactonDebug/AngleTester/main.cpp b/TactonDebug/AngleTester/main.cpp new file mode 100644 index 0000000..d8f4cea --- /dev/null +++ b/TactonDebug/AngleTester/main.cpp @@ -0,0 +1,10 @@ +#include "angletester.h" +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + AngleTester w; + w.show(); + return a.exec(); +} diff --git a/TactonDebug/MagicCircle/magiccircle.cpp b/TactonDebug/MagicCircle/magiccircle.cpp index 8d19d8d..0cf12d3 100644 --- a/TactonDebug/MagicCircle/magiccircle.cpp +++ b/TactonDebug/MagicCircle/magiccircle.cpp @@ -7,7 +7,7 @@ MagicCircle::MagicCircle(QWidget *parent, Qt::WFlags flags) { try { - _tactonPlayer = new TactonPlayer("COM4"); + _tactonPlayer = new TactonPlayer("COM8"); } catch(...) { @@ -27,7 +27,7 @@ MagicCircle::MagicCircle(QWidget *parent, Qt::WFlags flags) connect(_play, SIGNAL(clicked(bool)), this, SLOT(play(bool))); connect(_stop, SIGNAL(clicked(bool)), this, SLOT(stop(bool))); - connect(_direction, SIGNAL(editTextChanged(const QString &)), this, SLOT(setDirection(const QString &))); + connect(_direction, SIGNAL(currentIndexChanged (const QString &)), this, SLOT(setDirection(const QString &))); connect(_speed, SIGNAL(valueChanged(int)), this, SLOT(setSpeed(int))); connect(_resolution, SIGNAL(valueChanged(int)), this, SLOT(setResolution(int))); connect(_frequency, SIGNAL(valueChanged(int)), this, SLOT(setFrequency(int))); diff --git a/TactonDebug/TactonDebug.sln b/TactonDebug/TactonDebug.sln index 972e2a2..84deb6d 100644 --- a/TactonDebug/TactonDebug.sln +++ b/TactonDebug/TactonDebug.sln @@ -5,6 +5,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TactonDebug", "TactonDebug\ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MagicCircle", "MagicCircle\MagicCircle.vcxproj", "{E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AngleTester", "AngleTester\AngleTester.vcxproj", "{DF37D231-4F5F-44EC-9E32-0F91030F8BC3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -19,6 +21,10 @@ Global {E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}.Debug|Win32.Build.0 = Debug|Win32 {E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}.Release|Win32.ActiveCfg = Release|Win32 {E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}.Release|Win32.Build.0 = Release|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Debug|Win32.ActiveCfg = Debug|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Debug|Win32.Build.0 = Debug|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Release|Win32.ActiveCfg = Release|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/TactonDebug/TactonDebug.suo b/TactonDebug/TactonDebug.suo index 97614358c81678c44645334c11155984788c1cc5..74946b2e3ff762086dc3b666c7be622f9529889d 100644 GIT binary patch delta 2633 zcmchYeN0nV6u|F&yi!0E0r?zMRE8~WM@#GYC`zG^@)3|CXts$!9iPfrCzv39w3ur4 z6{j3bOh$l_O_RlBW^XahWmBhHbc!;g8BsS#+}xZ_*~T`(&F#3-P}E-Z}5Q zd+)jT-1p9Lv~!Mj?$8k~B!Lj3K@yP%E|*KsB%I)$kQ-1-LzW`TkaWa|WFVP{4pAX{ ziiXo9jM%BpAPuC3)RQVwf;5sQyl)_-xPwXT@UhYawg^8kM(RVf z7n26c3vUaZi2-{kx?sDi#-$XB{gK@q?SM_udA>9Nt^RBQxHA}zc5-G4EwUExRJ6?r z7Dr`gq`vOZEqd4~?gE^YX~p5i{uG)OuVxFxjDbud0v>>lXo;HW(Xs?#nx1446KW|a zb=X6VM`gw*ElQnRPsXD#5gi;0SHO*Vs)$F<2Sv_;X$IuOc%5BEvN324?!Z~y0jwl3 zxQ04+SQ{~z0=`>IHe#U1nr6xoD{urm6e}J{m1k5W$#GjM@xI|74=}s95auY&Jt_{? zI@4fqeK>p*v9_(wkM|0A?IbMV!(%6&6*J!4-*J7`(V%?C?#t(^zZhsgey=>XEunN# zHM-i2%l(&ti}r+6E@1JkIV*1|HeLOy6Sg-SE{LbKHhykzgwNToR#RR1<$kXF%e$Y6 zIZt2X=MCbVXOWvoFY*%t$p(x4Ix62H-yt`U?~xx6_ND)b@)mO2^Lz*8U1SLP8TkeI z6&Xf;Lw-ltxO*Nsit;}4r|0Z?ks8k?#%lupngCOc7d zWQOr!6O5%+*15^u864Rv^ZA+bmHS9Hh0Eh1Hn$H-a{Azk`EXAj2fMSQXdk>=upizt zD~l#qT`PUR+o&R(hno^70@Frgj2jm@)ugJi6g6} z99S)Jfr~xcWFm>(#C?`a)NdAQa`s3dP^pB2A;OHM`V$HRyuTuu67fuY62+3W3U(`v za4vqK&v*`PD=vfca+Tu0*N^msF#15Gl`bk_g@%Bn+5nD(?W-oOm6-Oe4{Io^s^hiw zDN;+kf_c$K%P)4=P8q&_?!sOUgTP`sv4KS?r-z|6p*4594xT4Ayt+f5-SzoO{~V?h z5`?UP1vOe&w>=I@b{vFEryMFO1Tb26MnzRt-_#%QQA#IU$S2NFF?plhiynatYby-C zsDX3!KA@@PA*N=PsIOh;J@#tp|63>_GIV#d%HB zPoY_whL&kFi}BxcycEd}$ir!THd%Ur53)c(kA*yzR zTP?y98CI|sCP1u;fwjn3@Z*uCq~pC*-djcFBEJ85 z6EWhfCpuzZk*iVCBRPqHl5NFjLrFlgAsnQJ2yiK21EIBF>T?^!n@BdE?m$?ud*3^n9mLVCVcz+v8gvc*-rxF zlVpN5?VRKDr33yP6D2;o#=%_cp?Hx7-Vr&OESyP5I)R7WgKWgUnTMg)ESPIGqhSMl z=6xUL-MQifby@_ZV>W}U(PV7Y>+B|DwN9^h3OZY(-lh`-o8YJsTrQWRdMGaL_D6g! ze{WZ$KJJ6kJr5VR_jexk2Sbsret&y!%f1!1-yiG@4MgD5?n;O?rQq_eR5m44I&*3G zlg%8p!iV1LQVR_{asKaJdr?R zc-MPV>JczMPr2?PBn#y%W@`P47UrV3`eii+gTr7m7>4i$BEf8h4rJ|SRnXbharEh` zsBbXb9}2`BmX;@RyP$P@i&XT4=TT@&SEgsIEIGcfQw|3*oN!!ghqjD*;YpE3Cy_ZRX0&piMD diff --git a/TactonDebug/TactonDebug/tactondebug.cpp b/TactonDebug/TactonDebug/tactondebug.cpp index d25c25b..7ef1cd8 100644 --- a/TactonDebug/TactonDebug/tactondebug.cpp +++ b/TactonDebug/TactonDebug/tactondebug.cpp @@ -9,7 +9,7 @@ TactonDebug::TactonDebug(QWidget *parent, Qt::WFlags flags) { try { - _tactonPlayer = new TactonPlayer("COM4"); + _tactonPlayer = new TactonPlayer("COM8"); } catch(...) { -- 2.30.2