ParkingMeter

Revision:
0:e5fc6b10744e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ParkingMeter.cpp	Tue Jun 04 16:03:14 2019 +0000
@@ -0,0 +1,97 @@
+#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;
+}
+
+
+