예제 #1
0
 /**
 * @brief SicasMac_Controller::logicaPuertasSicas
 * genera los guines en el coche para la visual de las puertas abiertas y cerradas
 * @param mensaje
 */
void SicasMac_Controller::logicaPuertasSicas(bool b){
 int cantPuertas=0;
    if(m_subte->leftDoors()){
        for (int var = 0; var < cantCochesTotal; var++) {
            for (int datos = 0; datos < 4; datos++) {
                verificoEstPuertas("abierto",cantPuertas); //las puertas
                cantPuertas++;
            }
            cantPuertas = cantPuertas + 4;
        }
        separoMensajes("Puertas Abiertas;1,F 2,F 3,F 4,F 5,F 6,F;C;alta");
        refrescoVista();
    }
    else{
        for (int var = 0; var < cantCochesTotal; var++) {
            for (int datos = 0; datos < 4; datos++) {
                verificoEstPuertas("cerrado",cantPuertas); //las puertas
                cantPuertas++;
            }
            cantPuertas = cantPuertas + 4;
        }
        bajaMensaje("Puertas Abiertas");
        qDebug()<< "cantpuertas cerradas left  "<<cantPuertas;

   }
   cantPuertas=0;
   if(m_subte->rightDoors()){
      for (int var = 0; var < cantCochesTotal; var++) {
            cantPuertas = cantPuertas + 4;
            for (int datos = 0; datos < 4; datos++) {
                verificoEstPuertas("abierto",cantPuertas); //las puertas
                cantPuertas++;
            }
        }
        separoMensajes("Puertas Abiertas;1,F 2,F 3,F 4,F 5,F 6,F;C;alta");
        refrescoVista();
        qDebug()<< "cantpuertas abiertas der  "<<cantPuertas;

    }
   else{
        for (int var = 0; var < cantCochesTotal; var++) {
            cantPuertas = cantPuertas + 4;
            for (int datos = 0; datos < 4; datos++) {
                verificoEstPuertas("cerrado",cantPuertas); //las puertas
                cantPuertas++;
            }
        }
        bajaMensaje("Puertas Abiertas");
        qDebug()<< "cantpuertas cerradas der  "<<cantPuertas;

    }
}
예제 #2
0
void BoardRight::startBoard()
{
    //LOG(INFO) << "board right startBoard";

    ui->calientapies->setButtonImage(QUrl("qrc:/resources/blueON.png"),QUrl("qrc:/resources/blue.png"));
    ui->desacople->setButtonImage(QUrl("qrc:/resources/greenON.png"),QUrl("qrc:/resources/green.png"));

    m_CON_Disyuntor = new CircuitBreakerCON_Controller(m_subte,ui->CONDisy_widget );
    m_DES_Disyuntor = new CircuitBreakerDES_Controller(m_subte,ui->DESDisy_widget );
    m_manometer = new Manometer_Controller(m_subte,ui->manometer);
    m_sicasmac = new SicasMac_Controller(m_subte,ui->sicasmac, m_hardwareSupport);
    m_modoConduccion = new LlaveModoConduccion_Controller(m_subte,ui->modoConduccion);

    //CARGA SICAS CUANDO CAMBIA DE MODO ACOPLE O MANIOBRA A MODO NORMAL
    connect(m_modoConduccion,SIGNAL(menssajeModeAcople()),m_sicasmac,SLOT(cargarMensajeAcople()));
    connect(m_modoConduccion,SIGNAL(mensajeModeManiobra()),m_sicasmac,SLOT(cargarMensajeAcople()));
    connect(m_modoConduccion,SIGNAL(mensajeModeNormal()),m_sicasmac,SLOT(sacoMensajeAcople()));

    m_frenoRetencion = new FrenoRetencion_Controller(m_subte,ui->frenoRetencion);

    //CARGA DE SICAS ENVIADA POR INSTRUCCIONES
    connect(m_eventHandler,SIGNAL(cargarDestinoSicas(QString)),m_sicasmac,SLOT(cargarDestinoSicas(QString)));
    connect(m_eventHandler,SIGNAL(cargarMensaje(QString)),m_sicasmac,SLOT(separoMensajes(QString)));
    connect(m_eventHandler,SIGNAL(cargarMensajeCocheSicas(QString)),m_sicasmac,SLOT(cargoCoches(QString)));
    this->setEnabled(false);

    // SONIDO SICAS
    connect(m_sicasmac,SIGNAL(playSound(int)),m_hardwareSupport,SLOT(onSound(int)));

}
예제 #3
0
void SicasMac_Controller::cargoCoches(QString mensajeCoches){
    int index =0;
    int cantPuertas=0;
    bool mensajePuertas=false;
    QString tren, estFreno,estTrac;
    if(mensajeCoches != ""){
        QStringList cochesList;
        cochesList = mensajeCoches.split(';');
        for (int coche = 0; coche < cantCochesTotal; ++coche) {
            tren=cochesList[index];
            index++;
            estFreno=cochesList[index];
            index++;
            estTrac=cochesList[index];
            index++;
            verificoEstFalla(estFreno,coche);
            estAnteriorFallaCocheSicas.insert(coche,estFreno);
            for (int datos = 0; datos < DatosPorCoche; ++datos) {
                verificoEstPuertas(cochesList[index],cantPuertas); //las puertas
                if (cochesList[index]== "abierto"){
                    mensajePuertas=true;
                }
                cantPuertas++;
                index++;
            }
        }
        if (mensajePuertas){
            separoMensajes("Puertas Abiertas;1,F 2,F 3,F 4,F 5,F 6,F;C;alta");
            refrescoVista();
        }
    }
}
예제 #4
0
void SicasMac_Controller::estadoFreno(bool state){
    QString mensaje="Aviso Presion Frenos;";
    QString s ;
    if(!state){
        for (int var = 0; var < cantCochesTotal; var++) {
            s = QString::number(var+1);
            if (estAnteriorFallaCocheSicas[var] == "norm" ){
                verificoEstFalla("con",var);
                mensaje.append(s);
                mensaje.append(",F ");
            }
            else if (estAnteriorFallaCocheSicas[var] == "int" ){
                mensaje.append(s);
                mensaje.append(",I ");
            }
            else if (estAnteriorFallaCocheSicas[var] == "des" ){
                mensaje.append(s);
                mensaje.append(",D ");
            }
            else{
                mensaje.append(s);
                mensaje.append(",F ");
            }
        }
        mensaje.append(";C;alta");
        separoMensajes(mensaje);
        refrescoVista();
    }
    else{
        bajaMensaje("Aviso Presion Frenos");
        for (int var = 0; var < cantCochesTotal; var++) {
            if (estAnteriorFallaCocheSicas[var] == "norm" ){
                verificoEstFalla("des",var);
            }
        }
    }
}
예제 #5
0
void SicasMac_Controller::cargarMensajeDisyuntor(){
    separoMensajes("Disyuntor Desconectado;1,F 2,F 3,F 4,F 5,F 6,F;C;alta");
    refrescoVista();
}
예제 #6
0
void SicasMac_Controller::cargarMensajeFrenoEstacAplicado(){
    separoMensajes("Freno Estac. Aplicado;1,F 2,F 3,F 4,F 5,F 6,F;C;alta");
    refrescoVista();
}
예제 #7
0
void SicasMac_Controller::cargarMensajeConvFueraServicio(){
    separoMensajes("Conv. Fuera Servicio;1,F 2,F 3,F 4,F 5,F 6,F;A;alta");
    refrescoVista();
}
예제 #8
0
void SicasMac_Controller::cargarMensajeCompDesconectado(){
    separoMensajes("Comp. Desconectado;1,F 2,F 3,F 4,F 5,F 6,F;C;alta");
    refrescoVista();
}
예제 #9
0
void SicasMac_Controller::cargarMensajeAcople(){
    separoMensajes("Conmutador Acop/Manio;1,F -,F -,F -,F -,F -,F;A;alta");
    refrescoVista();
}