Robot doesn't wait for client
This commit is contained in:
parent
cffd879ccb
commit
2805103953
3 changed files with 25 additions and 5 deletions
|
@ -6,6 +6,13 @@
|
||||||
</data>
|
</data>
|
||||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group/>
|
<group>
|
||||||
|
<file>file:/home/raphael/Documents/real_time/software/raspberry/superviseur-robot/tasks.cpp</file>
|
||||||
|
<file>file:/home/raphael/Documents/real_time/software/raspberry/superviseur-robot/lib/comrobot.cpp</file>
|
||||||
|
<file>file:/home/raphael/Documents/real_time/software/raspberry/superviseur-robot/lib/commonitor.cpp</file>
|
||||||
|
<file>file:/home/raphael/Documents/real_time/software/raspberry/superviseur-robot/tasks.h</file>
|
||||||
|
<file>file:/home/raphael/Documents/real_time/software/raspberry/superviseur-robot/main.cpp</file>
|
||||||
|
<file>file:/home/raphael/Documents/real_time/software/raspberry/superviseur-robot/lib/comrobot.h</file>
|
||||||
|
</group>
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|
|
@ -365,6 +365,7 @@ void Tasks::SendToMonTask(void* arg) {
|
||||||
void Tasks::ReceiveFromMonTask(void *arg) {
|
void Tasks::ReceiveFromMonTask(void *arg) {
|
||||||
Message *msgRcv;
|
Message *msgRcv;
|
||||||
bool killReceiveFromMonOk=0;
|
bool killReceiveFromMonOk=0;
|
||||||
|
int status;
|
||||||
|
|
||||||
cout << "Start " << __PRETTY_FUNCTION__ << endl << flush;
|
cout << "Start " << __PRETTY_FUNCTION__ << endl << flush;
|
||||||
|
|
||||||
|
@ -429,9 +430,16 @@ void Tasks::ReceiveFromMonTask(void *arg) {
|
||||||
|
|
||||||
|
|
||||||
rt_mutex_acquire(&mutex_robot, TM_INFINITE);
|
rt_mutex_acquire(&mutex_robot, TM_INFINITE);
|
||||||
robot.Close();
|
status=robot.Close();
|
||||||
rt_mutex_release(&mutex_robot);
|
rt_mutex_release(&mutex_robot);
|
||||||
|
|
||||||
|
if(status<0){
|
||||||
|
cout << "Close Robot Fail" << endl << flush;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
cout << "Close Robot Success" << endl << flush;
|
||||||
|
}
|
||||||
|
|
||||||
//Tasks::Join();
|
//Tasks::Join();
|
||||||
|
|
||||||
//Release restarted tasks
|
//Release restarted tasks
|
||||||
|
@ -462,6 +470,13 @@ void Tasks::ReceiveFromMonTask(void *arg) {
|
||||||
cout << "Command Open Communication with Robot Received" << endl << flush;
|
cout << "Command Open Communication with Robot Received" << endl << flush;
|
||||||
rt_sem_v(&sem_openComRobot);
|
rt_sem_v(&sem_openComRobot);
|
||||||
|
|
||||||
|
} else if (msgRcv->CompareID(MESSAGE_ROBOT_COM_CLOSE)) {
|
||||||
|
cout << "Command Close Communication with Robot Received" << endl << flush;
|
||||||
|
|
||||||
|
rt_mutex_acquire(&mutex_robot, TM_INFINITE);
|
||||||
|
status=robot.Close();
|
||||||
|
rt_mutex_release(&mutex_robot);
|
||||||
|
|
||||||
|
|
||||||
} else if (msgRcv->CompareID(MESSAGE_ROBOT_START_WITHOUT_WD)) {
|
} else if (msgRcv->CompareID(MESSAGE_ROBOT_START_WITHOUT_WD)) {
|
||||||
cout << "Command Start Robot without Watchdog Received" << endl << flush;
|
cout << "Command Start Robot without Watchdog Received" << endl << flush;
|
||||||
|
|
|
@ -6,8 +6,6 @@
|
||||||
</data>
|
</data>
|
||||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||||
<group>
|
<group/>
|
||||||
<file>file:/home/etud/dumber/software/simulateur/main.cpp</file>
|
|
||||||
</group>
|
|
||||||
</open-files>
|
</open-files>
|
||||||
</project-private>
|
</project-private>
|
||||||
|
|
Loading…
Reference in a new issue