\r
#include <cmath>\r
\r
+#include <iostream>\r
+using namespace std;\r
+\r
MagicCircle::MagicCircle(QWidget *parent, Qt::WindowFlags flags)\r
: QMainWindow(parent, flags), _timer(this), _angle(0), _clockwise(true)\r
{\r
try\r
{\r
- _tactonPlayer = new TactonPlayer("COM8");\r
+// _tactonPlayer = new TactonPlayer("COM8");\r
+ _tactonPlayer = new TactonPlayer("/dev/tty.usbserial-FTFRHUAO"); // Mac USB serial cable\r
}\r
- catch(...)\r
+ catch (const char* message)\r
{\r
+ cerr << message << endl;\r
_tactonPlayer = NULL;\r
}\r
-\r
+ catch (...)\r
+ {\r
+ cerr << "Error" << endl;\r
+ _tactonPlayer = NULL;\r
+ }\r
+ \r
setupUi(this);\r
\r
layout()->setSizeConstraint(QLayout::SetFixedSize);\r
connect(_play, SIGNAL(clicked(bool)), this, SLOT(play(bool)));\r
connect(_stop, SIGNAL(clicked(bool)), this, SLOT(stop(bool)));\r
\r
- connect(_direction, SIGNAL(currentIndexChanged (const QString &)), this, SLOT(setDirection(const QString &)));\r
+ connect(_direction, SIGNAL(currentTextChanged (const QString &)), this, SLOT(setDirection(const QString &)));\r
connect(_speed, SIGNAL(valueChanged(int)), this, SLOT(setSpeed(int)));\r
connect(_resolution, SIGNAL(valueChanged(int)), this, SLOT(setResolution(int)));\r
connect(_frequency, SIGNAL(valueChanged(int)), this, SLOT(setFrequency(int)));\r
\r
void MagicCircle::tactileFeedback(float angle)\r
{\r
- _tactonPlayer->playAngle(angle);// * M_PI / 180);\r
+ _tactonPlayer->playAngle(angle);\r
return;\r
-\r
- unsigned char amplitudes[4];\r
- memset(amplitudes, 0, 4);\r
-\r
- //vertical\r
- if (angle < 180)\r
- amplitudes[1] = 255 * sin(angle * M_PI / 180);\r
- else\r
- amplitudes[3] = - 255 * sin(angle * M_PI / 180);\r
-\r
- //horizontal\r
- if (angle < 90 ||angle > 270)\r
- amplitudes[0] = 255 * cos(angle * M_PI / 180);\r
- else\r
- amplitudes[2] = - 255 * cos(angle * M_PI / 180);\r
-\r
- _tactonPlayer->setAmplitudes(4, amplitudes);\r
}\r
\r
void MagicCircle::visualFeedback(float)\r