Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@8:96c852630824, 2016-12-11 (annotated)
- Committer:
- skirmish
- Date:
- Sun Dec 11 16:28:43 2016 +0000
- Revision:
- 8:96c852630824
- Parent:
- 7:9521d6ae3747
- Child:
- 9:97b26dcd1035
resend
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
skirmish | 0:41e22e385908 | 1 | #include "mbed.h" |
skirmish | 0:41e22e385908 | 2 | #include "model.h" |
skirmish | 0:41e22e385908 | 3 | #include "structures.h" |
skirmish | 7:9521d6ae3747 | 4 | #include "Serial.h" |
skirmish | 8:96c852630824 | 5 | Timer tms; |
skirmish | 0:41e22e385908 | 6 | DigitalOut cervena(LED1); |
skirmish | 0:41e22e385908 | 7 | DigitalOut zelena(LED2); |
skirmish | 2:3cb49ae40d02 | 8 | Ticker ticker; |
skirmish | 2:3cb49ae40d02 | 9 | void calc(); |
skirmish | 7:9521d6ae3747 | 10 | void SerialCallBack(); |
skirmish | 0:41e22e385908 | 11 | Serial pc(USBTX,USBRX); |
skirmish | 7:9521d6ae3747 | 12 | char startByteIn; |
skirmish | 7:9521d6ae3747 | 13 | char targetAdd; |
skirmish | 7:9521d6ae3747 | 14 | char sourceAdd; |
skirmish | 7:9521d6ae3747 | 15 | char DataLength; |
skirmish | 7:9521d6ae3747 | 16 | char DataIn[2]; |
skirmish | 7:9521d6ae3747 | 17 | char CrcIn; |
skirmish | 7:9521d6ae3747 | 18 | char wd[1]; |
skirmish | 2:3cb49ae40d02 | 19 | |
skirmish | 8:96c852630824 | 20 | Model *mModel=new Model(&pc,tms); |
skirmish | 7:9521d6ae3747 | 21 | char datal; |
skirmish | 7:9521d6ae3747 | 22 | int pom=0; |
skirmish | 0:41e22e385908 | 23 | |
skirmish | 2:3cb49ae40d02 | 24 | void calc() |
skirmish | 2:3cb49ae40d02 | 25 | { |
skirmish | 2:3cb49ae40d02 | 26 | pom++; |
skirmish | 2:3cb49ae40d02 | 27 | if (pom==1) { |
skirmish | 2:3cb49ae40d02 | 28 | zelena =0; |
skirmish | 2:3cb49ae40d02 | 29 | cervena=1; |
skirmish | 7:9521d6ae3747 | 30 | mModel->sendPacket(0xa0,0xfe,0x00,wd,1); |
skirmish | 2:3cb49ae40d02 | 31 | } else { |
skirmish | 2:3cb49ae40d02 | 32 | zelena=1; |
skirmish | 2:3cb49ae40d02 | 33 | cervena=0; |
skirmish | 2:3cb49ae40d02 | 34 | pom=0; |
skirmish | 2:3cb49ae40d02 | 35 | } |
skirmish | 0:41e22e385908 | 36 | } |
skirmish | 0:41e22e385908 | 37 | |
skirmish | 0:41e22e385908 | 38 | |
skirmish | 0:41e22e385908 | 39 | void SerialCallBack() |
skirmish | 0:41e22e385908 | 40 | { |
skirmish | 7:9521d6ae3747 | 41 | char data[1]; |
skirmish | 0:41e22e385908 | 42 | |
skirmish | 7:9521d6ae3747 | 43 | pom++; |
skirmish | 7:9521d6ae3747 | 44 | |
skirmish | 7:9521d6ae3747 | 45 | startByteIn=mModel->pc->getc(); |
skirmish | 7:9521d6ae3747 | 46 | targetAdd=mModel->pc->getc(); |
skirmish | 7:9521d6ae3747 | 47 | sourceAdd=mModel->pc->getc(); |
skirmish | 7:9521d6ae3747 | 48 | DataLength=mModel->pc->getc(); |
skirmish | 7:9521d6ae3747 | 49 | |
skirmish | 7:9521d6ae3747 | 50 | for (unsigned int i=0; i< DataLength; i++) { |
skirmish | 7:9521d6ae3747 | 51 | DataIn[i]=mModel->pc->getc(); |
skirmish | 7:9521d6ae3747 | 52 | } |
skirmish | 7:9521d6ae3747 | 53 | |
skirmish | 7:9521d6ae3747 | 54 | CrcIn=mModel->pc->getc(); |
skirmish | 7:9521d6ae3747 | 55 | if(pom==1) { |
skirmish | 7:9521d6ae3747 | 56 | zelena=0; |
skirmish | 7:9521d6ae3747 | 57 | } else { |
skirmish | 7:9521d6ae3747 | 58 | zelena=1; |
skirmish | 7:9521d6ae3747 | 59 | pom=0; |
skirmish | 2:3cb49ae40d02 | 60 | } |
skirmish | 7:9521d6ae3747 | 61 | switch( sourceAdd) { |
skirmish | 7:9521d6ae3747 | 62 | case 0xc4: |
skirmish | 7:9521d6ae3747 | 63 | case 0xb4: |
skirmish | 7:9521d6ae3747 | 64 | mModel->mapPoschodie.find("p4")->second=true; |
skirmish | 7:9521d6ae3747 | 65 | break; |
skirmish | 7:9521d6ae3747 | 66 | case 0xb3: |
skirmish | 7:9521d6ae3747 | 67 | case 0xc3: |
skirmish | 7:9521d6ae3747 | 68 | mModel->mapPoschodie.find("p3")->second=true; |
skirmish | 7:9521d6ae3747 | 69 | break; |
skirmish | 7:9521d6ae3747 | 70 | case 0xb2: |
skirmish | 7:9521d6ae3747 | 71 | case 0xc2: |
skirmish | 7:9521d6ae3747 | 72 | mModel->mapPoschodie.find("p2")->second=true; |
skirmish | 7:9521d6ae3747 | 73 | break; |
skirmish | 7:9521d6ae3747 | 74 | case 0xb1: |
skirmish | 7:9521d6ae3747 | 75 | case 0xc1: |
skirmish | 7:9521d6ae3747 | 76 | mModel->mapPoschodie.find("p1")->second=true; |
skirmish | 7:9521d6ae3747 | 77 | break; |
skirmish | 7:9521d6ae3747 | 78 | case 0xb0: |
skirmish | 7:9521d6ae3747 | 79 | case 0xc0: |
skirmish | 7:9521d6ae3747 | 80 | mModel->mapPoschodie.find("p0")->second=true; |
skirmish | 7:9521d6ae3747 | 81 | break; |
skirmish | 7:9521d6ae3747 | 82 | default: |
skirmish | 7:9521d6ae3747 | 83 | |
skirmish | 7:9521d6ae3747 | 84 | break; |
skirmish | 2:3cb49ae40d02 | 85 | |
skirmish | 7:9521d6ae3747 | 86 | } |
skirmish | 7:9521d6ae3747 | 87 | |
skirmish | 7:9521d6ae3747 | 88 | } |
skirmish | 7:9521d6ae3747 | 89 | int main() |
skirmish | 7:9521d6ae3747 | 90 | { |
skirmish | 7:9521d6ae3747 | 91 | // mModel = new Model(&pc); |
skirmish | 7:9521d6ae3747 | 92 | |
skirmish | 7:9521d6ae3747 | 93 | cervena=1; |
skirmish | 7:9521d6ae3747 | 94 | zelena=1; |
skirmish | 7:9521d6ae3747 | 95 | |
skirmish | 7:9521d6ae3747 | 96 | ticker.attach(&calc,0.4); |
skirmish | 7:9521d6ae3747 | 97 | wd[0]=0xff; |
skirmish | 7:9521d6ae3747 | 98 | char data[1]; |
skirmish | 7:9521d6ae3747 | 99 | data[0]=0x43; |
skirmish | 8:96c852630824 | 100 | mModel->getSerial()->attach(&SerialCallBack,Serial::RxIrq); |
skirmish | 7:9521d6ae3747 | 101 | mModel->sendPacket(0xa0,0xd0,0x00,data,1); |
skirmish | 7:9521d6ae3747 | 102 | while(1) { |
skirmish | 7:9521d6ae3747 | 103 | |
skirmish | 7:9521d6ae3747 | 104 | mModel->doSomething(sourceAdd); |
skirmish | 7:9521d6ae3747 | 105 | } |
skirmish | 7:9521d6ae3747 | 106 | // |
skirmish | 0:41e22e385908 | 107 | } |