Commit 20319cba authored by tecnosapiens's avatar tecnosapiens

draw camera orientation over mouse pad in SLugsPadCameraControl

parent 6bd785b5
...@@ -463,9 +463,9 @@ void SlugsPIDControl::changeColor_GREEN_Pitch2dT_groupBox() ...@@ -463,9 +463,9 @@ void SlugsPIDControl::changeColor_GREEN_Pitch2dT_groupBox()
//create the packet //create the packet
pidMessage.target = activeUAS->getUASID(); pidMessage.target = activeUAS->getUASID();
pidMessage.idx = 8; pidMessage.idx = 8;
pidMessage.pVal = ui->dR_P_set->text().toFloat(); pidMessage.pVal = ui->P2dT_FF_set->text().toFloat();
pidMessage.iVal = ui->dR_I_set->text().toFloat(); pidMessage.iVal = 0;//ui->dR_I_set->text().toFloat();
pidMessage.dVal = ui->dR_D_set->text().toFloat(); pidMessage.dVal = 0;//ui->dR_D_set->text().toFloat();
mavlink_message_t msg; mavlink_message_t msg;
...@@ -532,6 +532,7 @@ void SlugsPIDControl::receivePidValues(int systemId, const mavlink_pid_t &pidVal ...@@ -532,6 +532,7 @@ void SlugsPIDControl::receivePidValues(int systemId, const mavlink_pid_t &pidVal
break; break;
case 8: case 8:
ui->P2dT_FF_get->setText(QString::number(pidValues.pVal)); ui->P2dT_FF_get->setText(QString::number(pidValues.pVal));
break; break;
default: default:
......
...@@ -281,10 +281,10 @@ private: ...@@ -281,10 +281,10 @@ private:
mavlink_slugs_action_t actionSlugs; mavlink_slugs_action_t actionSlugs;
QTimer* refreshTimerSet; ///< The main timer, controls the update view QTimer* refreshTimerSet; ///< The main timer, controls the update view
QTimer* refreshTimerGet; ///< The main timer, controls the update view QTimer* refreshTimerGet; ///< The main timer, controls the update view
int counterRefreshSet; int counterRefreshSet;
int counterRefreshGet; int counterRefreshGet;
QMutex valuesMutex; QMutex valuesMutex;
}; };
#endif // SLUGSPIDCONTROL_H #endif // SLUGSPIDCONTROL_H
...@@ -121,13 +121,6 @@ ...@@ -121,13 +121,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<widget class="QLabel" name="recepcion_label">
<property name="text">
<string>Recepcion</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer_5"> <spacer name="verticalSpacer_5">
<property name="orientation"> <property name="orientation">
...@@ -956,6 +949,13 @@ ...@@ -956,6 +949,13 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<widget class="QLabel" name="recepcion_label">
<property name="text">
<string>Recepcion</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
......
...@@ -13,6 +13,9 @@ SlugsPadCameraControl::SlugsPadCameraControl(QWidget *parent) : ...@@ -13,6 +13,9 @@ SlugsPadCameraControl::SlugsPadCameraControl(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
x1= 0; x1= 0;
y1 = 0; y1 = 0;
bearingPad = 0;
distancePad = 0;
directionPad = "no";
} }
...@@ -53,6 +56,9 @@ void SlugsPadCameraControl::mouseReleaseEvent(QMouseEvent *event) ...@@ -53,6 +56,9 @@ void SlugsPadCameraControl::mouseReleaseEvent(QMouseEvent *event)
//emit mouseReleaseCoord(event->x(),event->y()); //emit mouseReleaseCoord(event->x(),event->y());
//getDeltaPositionPad(event->x(), event->y()); //getDeltaPositionPad(event->x(), event->y());
xFin = event->x();
yFin = event->y();
} }
...@@ -73,6 +79,13 @@ void SlugsPadCameraControl::paintEvent(QPaintEvent *pe) ...@@ -73,6 +79,13 @@ void SlugsPadCameraControl::paintEvent(QPaintEvent *pe)
painter.drawLine(QPoint(ui->frame->geometry().topLeft().x(),ui->frame->height()/2), painter.drawLine(QPoint(ui->frame->geometry().topLeft().x(),ui->frame->height()/2),
QPoint(ui->frame->geometry().bottomRight().x(),ui->frame->height()/2)); QPoint(ui->frame->geometry().bottomRight().x(),ui->frame->height()/2));
painter.setPen(Qt::white);
//QPointF coordTemp = getPointBy_BearingDistance(ui->frame->width()/2,ui->frame->height()/2,bearingPad,distancePad);
painter.drawLine(QPoint(ui->frame->width()/2,ui->frame->height()/2),
QPoint(xFin,yFin));
// painter.drawLine(QPoint()); // painter.drawLine(QPoint());
//painter.drawLines(padLines); //painter.drawLines(padLines);
...@@ -172,8 +185,15 @@ void SlugsPadCameraControl::getDeltaPositionPad(int x2, int y2) ...@@ -172,8 +185,15 @@ void SlugsPadCameraControl::getDeltaPositionPad(int x2, int y2)
} }
bearingPad = bearing;
distancePad = dist;
directionPad = dir;
emit changeCursorPosition(bearing, dist, dir); emit changeCursorPosition(bearing, dist, dir);
update();
} }
double SlugsPadCameraControl::getDistPixel(int x1, int y1, int x2, int y2) double SlugsPadCameraControl::getDistPixel(int x1, int y1, int x2, int y2)
...@@ -245,3 +265,17 @@ QPointF SlugsPadCameraControl::ObtenerMarcacionDistanciaPixel(double lon1, doubl ...@@ -245,3 +265,17 @@ QPointF SlugsPadCameraControl::ObtenerMarcacionDistanciaPixel(double lon1, doubl
} }
QPointF SlugsPadCameraControl::getPointBy_BearingDistance(double lat1, double lon1, double rumbo, double distancia)
{
double lon2 = 0;
double lat2 = 0;
double rad= M_PI/180;
rumbo = rumbo*rad;
lon2=(lon1 + ((distancia/60) * (sin(rumbo))));
lat2=(lat1 + ((distancia/60) * (cos(rumbo))));
return QPointF(lon2,lat2);
}
...@@ -21,6 +21,8 @@ public slots: ...@@ -21,6 +21,8 @@ public slots:
void getDeltaPositionPad(int x, int y); void getDeltaPositionPad(int x, int y);
double getDistPixel(int x1, int y1, int x2, int y2); double getDistPixel(int x1, int y1, int x2, int y2);
QPointF ObtenerMarcacionDistanciaPixel(double lon1, double lat1, double lon2, double lat2); QPointF ObtenerMarcacionDistanciaPixel(double lon1, double lat1, double lon2, double lat2);
QPointF getPointBy_BearingDistance(double lat1, double lon1, double rumbo, double distancia);
signals: signals:
...@@ -37,11 +39,17 @@ protected: ...@@ -37,11 +39,17 @@ protected:
void mouseMoveEvent(QMouseEvent* event); void mouseMoveEvent(QMouseEvent* event);
void paintEvent(QPaintEvent *pe); void paintEvent(QPaintEvent *pe);
private: private:
Ui::SlugsPadCameraControl *ui; Ui::SlugsPadCameraControl *ui;
bool dragging; bool dragging;
int x1; int x1;
int y1; int y1;
int xFin;
int yFin;
double bearingPad;
double distancePad;
QString directionPad;
}; };
......
...@@ -41,41 +41,41 @@ SlugsVideoCamControl::~SlugsVideoCamControl() ...@@ -41,41 +41,41 @@ SlugsVideoCamControl::~SlugsVideoCamControl()
delete ui; delete ui;
} }
void SlugsVideoCamControl::mouseMoveEvent(QMouseEvent *event) //void SlugsVideoCamControl::mouseMoveEvent(QMouseEvent *event)
{ //{
Q_UNUSED(event); // Q_UNUSED(event);
} //}
void SlugsVideoCamControl::mousePressEvent(QMouseEvent *evnt) //void SlugsVideoCamControl::mousePressEvent(QMouseEvent *evnt)
{ //{
Q_UNUSED(evnt); // Q_UNUSED(evnt);
} //}
void SlugsVideoCamControl::mouseReleaseEvent(QMouseEvent *evnt) //void SlugsVideoCamControl::mouseReleaseEvent(QMouseEvent *evnt)
{ //{
Q_UNUSED(evnt); // Q_UNUSED(evnt);
} //}
void SlugsVideoCamControl::mousePadMoveEvent(int x, int y) //void SlugsVideoCamControl::mousePadMoveEvent(int x, int y)
{ //{
} //}
void SlugsVideoCamControl::mousePadPressEvent(int x, int y) //void SlugsVideoCamControl::mousePadPressEvent(int x, int y)
{ //{
} //}
void SlugsVideoCamControl::mousePadReleaseEvent(int x, int y) //void SlugsVideoCamControl::mousePadReleaseEvent(int x, int y)
{ //{
} //}
void SlugsVideoCamControl::changeViewCamBorderAtMapStatus(bool status) void SlugsVideoCamControl::changeViewCamBorderAtMapStatus(bool status)
{ {
......
...@@ -27,22 +27,43 @@ public: ...@@ -27,22 +27,43 @@ public:
~SlugsVideoCamControl(); ~SlugsVideoCamControl();
public slots: public slots:
/**
* @brief status = true: emit signal to draw a border cam over the map
*/
void changeViewCamBorderAtMapStatus(bool status); void changeViewCamBorderAtMapStatus(bool status);
void getDeltaPositionPad(double dir, double dist, QString dirText); /**
* @brief show the values of mousepad on ui (labels) and emit a changeCamPosition(signal)
* with values:
void mousePadPressEvent(int x, int y); * bearing and distance from mouse over the pad
void mousePadReleaseEvent(int x, int y); * dirText: direction of mouse movement in text format (up, right,right up,right down,
void mousePadMoveEvent(int x, int y); * left, left up, left down, down)
*/
void getDeltaPositionPad(double bearing, double distance, QString dirText);
// /**
// * @brief
// */
// void mousePadPressEvent(int x, int y);
// void mousePadReleaseEvent(int x, int y);
// void mousePadMoveEvent(int x, int y);
signals: signals:
void changeCamPosition(double dist, double dir, QString textDir); /**
* @brief emit values from mousepad:
* bearing and distance from mouse over the pad
* dirText: direction of mouse movement in text format (up, right,right up,right down,
* left, left up, left down, down)
*/
void changeCamPosition(double distance, double bearing, QString textDir);
/**
* @brief emit signal to draw a border cam over the map if status is true
*/
void viewCamBorderAtMap(bool status); void viewCamBorderAtMap(bool status);
protected: protected:
void mousePressEvent(QMouseEvent* event); // void mousePressEvent(QMouseEvent* event);
void mouseReleaseEvent(QMouseEvent* event); // void mouseReleaseEvent(QMouseEvent* event);
void mouseMoveEvent(QMouseEvent* event); // void mouseMoveEvent(QMouseEvent* event);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment