|
@@ -656,9 +656,8 @@ void Tasks::StartRobotTaskWithoutWatchdog(void *arg) {
|
656
|
656
|
void Tasks::StartRobotTaskWithWatchdog(void *arg) {
|
657
|
657
|
|
658
|
658
|
int killBatteryOk=0;
|
659
|
|
- int cpt=1;
|
|
659
|
+ int cpt=0;
|
660
|
660
|
Message * msgSend;
|
661
|
|
- int err;
|
662
|
661
|
|
663
|
662
|
while(1){
|
664
|
663
|
|
|
@@ -697,11 +696,13 @@ void Tasks::StartRobotTaskWithWatchdog(void *arg) {
|
697
|
696
|
while (killBatteryOk==0) {
|
698
|
697
|
cpt++;
|
699
|
698
|
if(cpt==2){
|
|
699
|
+ rt_mutex_acquire(&mutex_robot, TM_INFINITE);
|
|
700
|
+ robot.Write(MESSAGE_ROBOT_RELOAD_WD);
|
|
701
|
+ rt_mutex_release(&mutex_robot);
|
700
|
702
|
cpt=0;
|
701
|
703
|
}
|
702
|
704
|
rt_task_wait_period(NULL);
|
703
|
705
|
rt_sem_v(&sem_askBattery);
|
704
|
|
-
|
705
|
706
|
rt_mutex_acquire(&mutex_killBattery, TM_INFINITE);
|
706
|
707
|
killBatteryOk=killBattery;
|
707
|
708
|
rt_mutex_release(&mutex_killBattery);
|