Simon Hladek / Mbed 2 deprecated elevator1

Dependencies:   MMA8451Q mbed

Revision:
7:9521d6ae3747
Parent:
3:9ee509852c9a
Child:
8:96c852630824
--- a/main.cpp	Sat Dec 10 15:50:53 2016 +0000
+++ b/main.cpp	Sun Dec 11 00:52:39 2016 +0000
@@ -1,51 +1,32 @@
 #include "mbed.h"
 #include "model.h"
 #include "structures.h"
+#include "Serial.h"
 DigitalOut cervena(LED1);
 DigitalOut zelena(LED2);
 Ticker ticker;
 void calc();
+void SerialCallBack();
 Serial pc(USBTX,USBRX);
-Model *mModel =new Model();
-void SerialCallBack();
-int pom=0;
-int main()
-{
+char startByteIn;
+char targetAdd;
+char sourceAdd;
+char DataLength;
+char DataIn[2];
+char CrcIn;
+char wd[1];
 
-  //  mModel->pc.baud(57600);
-    //mModel->pc.attach(&SerialCallBack,Serial::RxIrq);
-    testData mtest;
-    mtest.data[0]=0x41;
-    mtest.data[1]=0x42;
-    mtest.data[2]=0x43;
-    mtest.data[3]=0x44;
-    mtest.startByte=0xa0;
-    mtest.targetAddress=0xd0;
-    mtest.sourceAddress=0x00;
-    //  mModel->sendPacket(mtest.startByte,mtest.targetAddress,mtest.sourceAddress,mtest.data);
-    cervena=1;
-    zelena=1;
-    char data[5]= {0x2,0x00,0x00,0x00,0x14};
-    //mModel->sendPacket(0xA0,0xf1,0x00,data,5);
-//    packet1->data[0] = 0x2;
-//    packet1->data[1] = 0xff;
-//    packet1->data[2] = 0xff;
-//    packet1->data[3] = 0xff;
-//    packet1->data[4] = 0xfb;
-    ticker.attach(&calc,0.5);
+Model *mModel=new Model(&pc);
+char datal;
+int pom=0;
 
-    while(1) {
-        mModel->pc.attach(&SerialCallBack,Serial::RxIrq);
-        mModel->doSomething(mModel->sourceAdd);
-
-
-}}
 void calc()
 {
     pom++;
     if (pom==1) {
         zelena =0;
         cervena=1;
+        mModel->sendPacket(0xa0,0xfe,0x00,wd,1);
     } else {
         zelena=1;
         cervena=0;
@@ -56,14 +37,70 @@
 
 void SerialCallBack()
 {
+    char data[1];
 
-    mModel->startByteIn=mModel->pc.getc();
-    mModel->targetAdd=mModel->pc.getc();
-    mModel->sourceAdd=mModel->pc.getc();
-    mModel->DataLength=mModel->pc.getc();
-    for (unsigned int i=0; i< mModel->DataLength; i++) {
-        mModel->DataIn[i]=mModel->pc.getc();
+    pom++;
+
+   startByteIn=mModel->pc->getc();
+   targetAdd=mModel->pc->getc();
+   sourceAdd=mModel->pc->getc();
+   DataLength=mModel->pc->getc();
+    
+    for (unsigned int i=0; i< DataLength; i++) {
+       DataIn[i]=mModel->pc->getc();
+    }
+
+    CrcIn=mModel->pc->getc();
+    if(pom==1) {
+        zelena=0;
+    } else {
+        zelena=1;
+        pom=0;
     }
-    mModel->CrcIn=mModel->pc.getc();
+    switch( sourceAdd) {
+        case 0xc4:
+        case 0xb4:
+            mModel->mapPoschodie.find("p4")->second=true;
+            break;
+        case 0xb3:
+        case 0xc3:
+            mModel->mapPoschodie.find("p3")->second=true;
+            break;
+        case 0xb2:
+        case 0xc2:
+            mModel->mapPoschodie.find("p2")->second=true;
+            break;
+        case 0xb1:
+        case 0xc1:
+            mModel->mapPoschodie.find("p1")->second=true;
+            break;
+        case 0xb0:
+        case 0xc0:
+            mModel->mapPoschodie.find("p0")->second=true;
+            break;
+        default:
+            
+            break;
 
+    }
+
+}
+int main()
+{
+ //   mModel = new Model(&pc);
+
+    cervena=1;
+    zelena=1;
+
+    ticker.attach(&calc,0.4);
+wd[0]=0xff;
+    char data[1];
+    data[0]=0x43;
+    mModel->pc->attach(&SerialCallBack,Serial::RxIrq);
+    mModel->sendPacket(0xa0,0xd0,0x00,data,1);
+    while(1) {
+
+        mModel->doSomething(sourceAdd);
+    }
+//
 }
\ No newline at end of file