ParkingMeter

ParkingMeter.cpp

Committer:
williequesada
Date:
2019-06-04
Revision:
0:e5fc6b10744e

File content as of revision 0:e5fc6b10744e:

#include "ParkingMeter.h"
#include "mbed.h"

char AlarmString[6]={'A','A','A','A','A','A'};
bool AlarmBool=0;
int  Counter_Host=1315;
int  Hostin_Conection=1320;

PARKING_METER::PARKING_METER(PinName ManteLed, PinName UserLed, PinName HostLed, PinName Max232): _ManteLed(ManteLed), _UserLed(UserLed), _HostLed(HostLed), _Max232(Max232)
{
    _HostLed=0; 
    _UserLed=0;
    _HostLed=0;
    _Max232=0;
}

void    PARKING_METER::AlarmCall(int Device,char State){
    
    // Esta funcion permite cambiar los valores de estados que son enviados al hosting.
    // 1 -> Lector
    // 2 -> Impresora
    // 3 -> Papel
    // 4 -> Puerta1
    // 5 -> Puerta2
    // 6 -> Bateria
    
    if(AlarmString[Device-1]!=State){
        if(State=='E') {
            printf("Alarmas cambio E");
            AlarmString[Device-1]='E';
            AlarmBool=1;
        } else {
            printf("Alarmas cambio A");
            AlarmString[Device-1]='A';
            AlarmBool=1;
        }
    }
}

bool    PARKING_METER::AlarmState(){
    // Nos devuelve un valor true o false en caso de que alguna alarma inicie.
    return AlarmBool;
}

void    PARKING_METER::Hosting(){
    Counter_Host++;     
    if(Counter_Host>Hostin_Conection) {
        AlarmBool=1;     
        Counter_Host=0; 
    }    
}

char   PARKING_METER::HostingOk(){
    AlarmBool=0; 
}
char    PARKING_METER::AlarmReader(){
    return AlarmString[0];
}
    
char    PARKING_METER::AlarmPrinter(){
    return AlarmString[1];
}
    
char    PARKING_METER::AlarmPaper(){
    return AlarmString[2];
}
    
char    PARKING_METER::AlarmDoor1(){
    return AlarmString[3];
}
    
char    PARKING_METER::AlarmDoor2(){
    return AlarmString[4];
}

char    PARKING_METER::AlarmBattery(){
    return AlarmString[5]; 
}

void    PARKING_METER::LedMantenimiento(bool StateLed){
    _ManteLed=StateLed;
}

void    PARKING_METER::LedHosting(bool StateLed){
    _HostLed=StateLed;
}

void    PARKING_METER::LedUsuario(bool StateLed){
    _UserLed=StateLed;
}

void    PARKING_METER::Max232(bool StateMax){
    _Max232=StateMax;
}