Simon Hladek / Mbed 2 deprecated elevator1

Dependencies:   MMA8451Q mbed

main.cpp

Committer:
skirmish
Date:
2016-12-11
Revision:
7:9521d6ae3747
Parent:
3:9ee509852c9a
Child:
8:96c852630824

File content as of revision 7:9521d6ae3747:

#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);
char startByteIn;
char targetAdd;
char sourceAdd;
char DataLength;
char DataIn[2];
char CrcIn;
char wd[1];

Model *mModel=new Model(&pc);
char datal;
int pom=0;

void calc()
{
    pom++;
    if (pom==1) {
        zelena =0;
        cervena=1;
        mModel->sendPacket(0xa0,0xfe,0x00,wd,1);
    } else {
        zelena=1;
        cervena=0;
        pom=0;
    }
}


void SerialCallBack()
{
    char data[1];

    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;
    }
    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);
    }
//
}