Kernel ()
Concurrency | rsSequentialConcurrency | Visibility | rsProtected |
Code
// verificar qual sinal esta chegando para
// poder detectar o destino
void *myData = getMsg()->getData();
char *mySignal = (char*)getMsg()->getSignalName();
// escrever no barramento
interface_rw.activeWrite((char)myData).send();
// recebendo WayPoints da NAVEGAÇÃO (hoje está de COMUNICAÇÃO)
// direcionando para o CONTROLE DE VÔO
if(mySignal=="sendMission")
{
// instanciar a classe
MissionVant* myMission;
myMission = ((MissionVant*) getMsg()->getData());
// enviar a missão
bus_cont_sup.sendMission(*myMission).send();
//bus_cont_sup.destination_value((int)myData).send();
//bus_cont_sup.position_value((int)myData).send();
printf("MSG_I: Message was sent to VCTRL-FlightControl\n");
}
// recebendo sinal de ok do controle do vant
// disparar missão de reconhecimento/ataque
if(mySignal=="doAction"){
// instanciar a classe
MissionVant* myMission;
myMission = ((MissionVant*) getMsg()->getData());
// mandar para vigilância
vig_sup.sendMission(*myMission).send();
// comando passada para vigilancia
printf("MSG_I: Command was sent to VCNS...\n");
}
if(mySignal=="valuepower")
{
printf("MSG_I: Redirecting to RW (WRITE) ...\n");
}
else
printf("MSG_I: This signal isn't know (%s) at the moment ...\n", mySignal);