Simon Hladek / Mbed 2 deprecated elevator1

Dependencies:   MMA8451Q mbed

Revision:
11:95e4e04a7dd2
Parent:
10:dc94bacfccc6
Child:
12:1c7b59097090
diff -r dc94bacfccc6 -r 95e4e04a7dd2 model.cpp
--- a/model.cpp	Wed Dec 14 17:52:35 2016 +0000
+++ b/model.cpp	Sun Dec 18 13:52:01 2016 +0000
@@ -2,13 +2,13 @@
 int pom=0;
 DigitalOut cervena(LED1);
 DigitalOut zelena(LED2);
-Model::Model(Serial *pci)//:cmd(new Commands)
+Model::Model(Serial *pci)
 {
+
+
     cmd= new Commands();
     pc=pci;
     pc->baud(57600);
-    pc->attach(this,&Model::SerialCallBack,Serial::RxIrq);
-    tc.attach(this,&Model::TickerCallBack,1);
     cmd->MotorDown[0]=0x2;
     cmd->MotorDown[1]=0xff;
     cmd->MotorDown[2]=0xff;
@@ -22,9 +22,10 @@
     cmd->MotorStop[0]=0x1;
     cmd->Lock[0]=0x00;
     watchDog[0]=0x01;
-   sendPacket(0xa0,0xfe,0x0, watchDog,1);
+    sendDataOk = true;
+//    sendPacket(0xa0,0xfe,0x0, watchDog,1);
+//     sendPacket(0xa0,0xf,0x0, cmd->Lock,1);
     watchDog[0]=0x2;
-
     DataIn= new char[6]();
     cmd->LedOn[0]=0x01;
     cmd->LedOff[0]=0x00;
@@ -42,17 +43,21 @@
     p2=1;
     p1=1;
     p0=1;
+    pc->attach(this,&Model::SerialCallBack,Serial::RxIrq);
+//    tc.attach(this,&Model::TickerCallBack,1);
 }
 
 void Model::SerialCallBack()
 {
-    pom++;
-    if(pom==1) {
-        zelena=0;
-    } else {
-        zelena=1;
-        pom=0;
-    }
+//   pom++;
+//    if(pom==1) {
+//        zelena=0;
+//        cervena=0;
+//    } else {
+//        zelena=1;
+//        cervena=1;
+//        pom=0;
+//    }
     startByteIn=pc->getc();
     targetAdd=pc->getc();
     sourceAdd=pc->getc();
@@ -60,48 +65,54 @@
     for (unsigned int i=0; i< DataLength; i++) {
         DataIn[i]=pc->getc();
     }
-//    if(DataLength!=0x00)
     CrcIn=pc->getc();
+    
     switch( sourceAdd) {
         case 0xc4:
         case 0xb4:
+        if(poschodie!=4)
             mapPoschodie.find("p4")->second=true;
             break;
         case 0xb3:
         case 0xc3:
+            if(poschodie!=3)
             mapPoschodie.find("p3")->second=true;
             break;
         case 0xb2:
         case 0xc2:
+            if(poschodie!=2)
             mapPoschodie.find("p2")->second=true;
             break;
         case 0xb1:
         case 0xc1:
+            if(poschodie!=1)
             mapPoschodie.find("p1")->second=true;
             break;
         case 0xb0:
         case 0xc0:
+            if(poschodie!=0)
             mapPoschodie.find("p0")->second=true;
             break;
         default:
             ;
     }
+//    if(startByteIn==0xa0&&targetAdd==0x00&&sourceAdd==0x00&&DataLength==0x00) {
+//        sendDataOk=false;
+//        zelena=0;
+//        cervena=0;
+//    }
 
 }
-Serial* Model::getSerial(void)
-{
-    return pc;
-}
 void Model::TickerCallBack()
 {
-    sendPacket(0xa0,0xfe,0x00, watchDog,1);
+//    sendPacket(0xa0,0xfe,0x00, watchDog,1);
     pom++;
     if (pom==1) {
         zelena =0;
-        cervena=1;
+//        cervena=1;
     } else {
         zelena=1;
-        cervena=0;
+//        cervena=0;
         pom=0;
     }
 
@@ -120,7 +131,11 @@
 }
 void Model::sendPacket(char startByte,char target,char source,char *data,int DataSize)
 {
+//    sendDataOk=true;
     //packet format : || start byte: a0 | reciever adress - 1B | sender adress - 1B | data lenght - 1B | data - 0-265B | crc8 - 1B ||
+//   do{
+
+//    cervena=1;
     int dataLenght = DataSize;
     char crc8 = crcCalc(target, source, data,dataLenght);
     pc->putc(startByte);
@@ -131,6 +146,12 @@
         pc->putc(data[i]);
     }
     pc->putc(crc8);
+
+//    wait(0.003);
+
+//    } while(sendDataOk);
+//    zelena=1;
+
 }
 void Model::doSomething(char data)
 {