Conversion en commentaires non doc
Permet de réduire les conflits à la génération de la doc auto
This commit is contained in:
parent
d4e6ba4042
commit
873eafb77f
2 changed files with 42 additions and 41 deletions
|
@ -55,9 +55,9 @@ void Tasks::Init() {
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************************
|
/* **************************************************************************************
|
||||||
* Mutex creation
|
* Mutex creation
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
if ((err = rt_mutex_create(&mutex_monitor, nullptr))) {
|
if ((err = rt_mutex_create(&mutex_monitor, nullptr))) {
|
||||||
cerr << "Error mutex create: " << strerror(-err) << endl << flush;
|
cerr << "Error mutex create: " << strerror(-err) << endl << flush;
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
@ -76,9 +76,9 @@ void Tasks::Init() {
|
||||||
}
|
}
|
||||||
cout << "Mutexes created successfully" << endl << flush;
|
cout << "Mutexes created successfully" << endl << flush;
|
||||||
|
|
||||||
/***************************************************************************************
|
/* **************************************************************************************
|
||||||
* Semaphores creation
|
* Semaphores creation
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
if ((err = rt_sem_create(&sem_barrier, nullptr, 0, S_FIFO))) {
|
if ((err = rt_sem_create(&sem_barrier, nullptr, 0, S_FIFO))) {
|
||||||
cerr << "Error semaphore create: " << strerror(-err) << endl << flush;
|
cerr << "Error semaphore create: " << strerror(-err) << endl << flush;
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
@ -97,9 +97,9 @@ void Tasks::Init() {
|
||||||
}
|
}
|
||||||
cout << "Semaphores created successfully" << endl << flush;
|
cout << "Semaphores created successfully" << endl << flush;
|
||||||
|
|
||||||
/**************************************************************************************
|
/* *************************************************************************************
|
||||||
* Tasks creation
|
* Tasks creation
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
if ((err = rt_task_create(&th_server, "th_server", 0, PRIORITY_TSERVER, 0))) {
|
if ((err = rt_task_create(&th_server, "th_server", 0, PRIORITY_TSERVER, 0))) {
|
||||||
cerr << "Error task create: " << strerror(-err) << endl << flush;
|
cerr << "Error task create: " << strerror(-err) << endl << flush;
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
@ -126,9 +126,9 @@ void Tasks::Init() {
|
||||||
}
|
}
|
||||||
cout << "Tasks created successfully" << endl << flush;
|
cout << "Tasks created successfully" << endl << flush;
|
||||||
|
|
||||||
/**************************************************************************************
|
/* *************************************************************************************
|
||||||
* Message queues creation
|
* Message queues creation
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
if ((err = rt_queue_create(&q_messageToMon, "q_messageToMon", sizeof (Message*)*50, Q_UNLIMITED, Q_FIFO)) < 0) {
|
if ((err = rt_queue_create(&q_messageToMon, "q_messageToMon", sizeof (Message*)*50, Q_UNLIMITED, Q_FIFO)) < 0) {
|
||||||
cerr << "Error msg queue create: " << strerror(-err) << endl << flush;
|
cerr << "Error msg queue create: " << strerror(-err) << endl << flush;
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
@ -198,9 +198,9 @@ void Tasks::ServerTask(void *arg) {
|
||||||
// Synchronization barrier (waiting that all tasks are started)
|
// Synchronization barrier (waiting that all tasks are started)
|
||||||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||||
|
|
||||||
/***************************************************************************************
|
/* **************************************************************************************
|
||||||
* The task server starts here
|
* The task server starts here
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
rt_mutex_acquire(&mutex_monitor, TM_INFINITE);
|
rt_mutex_acquire(&mutex_monitor, TM_INFINITE);
|
||||||
status = monitor.Open(SERVER_PORT);
|
status = monitor.Open(SERVER_PORT);
|
||||||
rt_mutex_release(&mutex_monitor);
|
rt_mutex_release(&mutex_monitor);
|
||||||
|
@ -225,9 +225,9 @@ void Tasks::ServerTask(void *arg) {
|
||||||
// Synchronization barrier (waiting that all tasks are starting)
|
// Synchronization barrier (waiting that all tasks are starting)
|
||||||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||||
|
|
||||||
/**************************************************************************************
|
/* *************************************************************************************
|
||||||
* The task sendToMon starts here
|
* The task sendToMon starts here
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
rt_sem_p(&sem_serverOk, TM_INFINITE);
|
rt_sem_p(&sem_serverOk, TM_INFINITE);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
@ -250,9 +250,9 @@ void Tasks::ReceiveFromMonTask(void *arg) {
|
||||||
// Synchronization barrier (waiting that all tasks are starting)
|
// Synchronization barrier (waiting that all tasks are starting)
|
||||||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||||
|
|
||||||
/**************************************************************************************
|
/* *************************************************************************************
|
||||||
* The task receiveFromMon starts here
|
* The task receiveFromMon starts here
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
rt_sem_p(&sem_serverOk, TM_INFINITE);
|
rt_sem_p(&sem_serverOk, TM_INFINITE);
|
||||||
cout << "Received message from monitor activated" << endl << flush;
|
cout << "Received message from monitor activated" << endl << flush;
|
||||||
|
|
||||||
|
@ -292,9 +292,9 @@ void Tasks::ReceiveFromMonTask(void *arg) {
|
||||||
// Synchronization barrier (waiting that all tasks are starting)
|
// Synchronization barrier (waiting that all tasks are starting)
|
||||||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||||
|
|
||||||
/**************************************************************************************
|
/* *************************************************************************************
|
||||||
* The task openComRobot starts here
|
* The task openComRobot starts here
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
while (true) {
|
while (true) {
|
||||||
rt_sem_p(&sem_openComRobot, TM_INFINITE);
|
rt_sem_p(&sem_openComRobot, TM_INFINITE);
|
||||||
cout << "Open serial com (";
|
cout << "Open serial com (";
|
||||||
|
@ -322,9 +322,9 @@ void Tasks::ReceiveFromMonTask(void *arg) {
|
||||||
// Synchronization barrier (waiting that all tasks are starting)
|
// Synchronization barrier (waiting that all tasks are starting)
|
||||||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||||
|
|
||||||
/**************************************************************************************
|
/* *************************************************************************************
|
||||||
* The task startRobot starts here
|
* The task startRobot starts here
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
while (true) {
|
while (true) {
|
||||||
Message * msgSend;
|
Message * msgSend;
|
||||||
rt_sem_p(&sem_startRobot, TM_INFINITE);
|
rt_sem_p(&sem_startRobot, TM_INFINITE);
|
||||||
|
@ -357,9 +357,9 @@ void Tasks::ReceiveFromMonTask(void *arg) {
|
||||||
// Synchronization barrier (waiting that all tasks are starting)
|
// Synchronization barrier (waiting that all tasks are starting)
|
||||||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||||
|
|
||||||
/***************************************************************************************
|
/* **************************************************************************************
|
||||||
* The task starts here
|
* The task starts here
|
||||||
**************************************************************************************/
|
* *************************************************************************************/
|
||||||
rt_task_set_periodic(nullptr, TM_NOW, 100000000);
|
rt_task_set_periodic(nullptr, TM_NOW, 100000000);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|
|
@ -59,17 +59,17 @@ public:
|
||||||
void Join();
|
void Join();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**********************************************************************/
|
/* *********************************************************************
|
||||||
/* Shared data */
|
* Shared data
|
||||||
/**********************************************************************/
|
* ********************************************************************/
|
||||||
ComMonitor monitor;
|
ComMonitor monitor;
|
||||||
ComRobot robot;
|
ComRobot robot;
|
||||||
int robotStarted = 0;
|
int robotStarted = 0;
|
||||||
int move = MESSAGE_ROBOT_STOP;
|
int move = MESSAGE_ROBOT_STOP;
|
||||||
|
|
||||||
/**********************************************************************/
|
/* *********************************************************************
|
||||||
/* Tasks */
|
* Tasks
|
||||||
/**********************************************************************/
|
* ********************************************************************/
|
||||||
RT_TASK th_server;
|
RT_TASK th_server;
|
||||||
RT_TASK th_sendToMon;
|
RT_TASK th_sendToMon;
|
||||||
RT_TASK th_receiveFromMon;
|
RT_TASK th_receiveFromMon;
|
||||||
|
@ -77,31 +77,32 @@ private:
|
||||||
RT_TASK th_startRobot;
|
RT_TASK th_startRobot;
|
||||||
RT_TASK th_move;
|
RT_TASK th_move;
|
||||||
|
|
||||||
/**********************************************************************/
|
/* *********************************************************************
|
||||||
/* Mutex */
|
* Mutex
|
||||||
/**********************************************************************/
|
* ********************************************************************/
|
||||||
RT_MUTEX mutex_monitor;
|
RT_MUTEX mutex_monitor;
|
||||||
RT_MUTEX mutex_robot;
|
RT_MUTEX mutex_robot;
|
||||||
RT_MUTEX mutex_robotStarted;
|
RT_MUTEX mutex_robotStarted;
|
||||||
RT_MUTEX mutex_move;
|
RT_MUTEX mutex_move;
|
||||||
|
|
||||||
/**********************************************************************/
|
/* *********************************************************************
|
||||||
/* Semaphores */
|
* Semaphores
|
||||||
/**********************************************************************/
|
* ********************************************************************/
|
||||||
RT_SEM sem_barrier;
|
RT_SEM sem_barrier;
|
||||||
RT_SEM sem_openComRobot;
|
RT_SEM sem_openComRobot;
|
||||||
RT_SEM sem_serverOk;
|
RT_SEM sem_serverOk;
|
||||||
RT_SEM sem_startRobot;
|
RT_SEM sem_startRobot;
|
||||||
|
|
||||||
/**********************************************************************/
|
/* *********************************************************************
|
||||||
/* Message queues */
|
* Message queues
|
||||||
/**********************************************************************/
|
**********************************************************************/
|
||||||
int MSG_QUEUE_SIZE;
|
int MSG_QUEUE_SIZE;
|
||||||
RT_QUEUE q_messageToMon;
|
RT_QUEUE q_messageToMon;
|
||||||
|
|
||||||
/**********************************************************************/
|
/* *********************************************************************
|
||||||
/* Tasks' functions */
|
* Tasks' functions
|
||||||
/**********************************************************************/
|
* ********************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Thread handling server communication with the monitor.
|
* @brief Thread handling server communication with the monitor.
|
||||||
*/
|
*/
|
||||||
|
@ -132,9 +133,9 @@ private:
|
||||||
*/
|
*/
|
||||||
[[noreturn]] void MoveTask(void *arg);
|
[[noreturn]] void MoveTask(void *arg);
|
||||||
|
|
||||||
/**********************************************************************/
|
/* *********************************************************************
|
||||||
/* Queue services */
|
* Queue services
|
||||||
/**********************************************************************/
|
* ********************************************************************/
|
||||||
/**
|
/**
|
||||||
* Write a message in a given queue
|
* Write a message in a given queue
|
||||||
* @param queue Queue identifier
|
* @param queue Queue identifier
|
||||||
|
|
Loading…
Reference in a new issue