Eduard Medla
/
pwm-output
PPM read and generate
main.cpp@0:f4a29fdb4d6f, 2017-06-09 (annotated)
- Committer:
- edy05
- Date:
- Fri Jun 09 08:39:37 2017 +0000
- Revision:
- 0:f4a29fdb4d6f
Testing PPM reading
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
edy05 | 0:f4a29fdb4d6f | 1 | #include "mbed.h" |
edy05 | 0:f4a29fdb4d6f | 2 | //#include "PPMOut.h" |
edy05 | 0:f4a29fdb4d6f | 3 | #include "PPMIn.h" |
edy05 | 0:f4a29fdb4d6f | 4 | |
edy05 | 0:f4a29fdb4d6f | 5 | |
edy05 | 0:f4a29fdb4d6f | 6 | //PinName pin(D15); |
edy05 | 0:f4a29fdb4d6f | 7 | PinName ppmIn(D14); |
edy05 | 0:f4a29fdb4d6f | 8 | //Serial pc(USBTX, USBRX); // tx, rx |
edy05 | 0:f4a29fdb4d6f | 9 | |
edy05 | 0:f4a29fdb4d6f | 10 | // main() runs in its own thread in the OS |
edy05 | 0:f4a29fdb4d6f | 11 | // (note the calls to wait below for delays) |
edy05 | 0:f4a29fdb4d6f | 12 | int main() { |
edy05 | 0:f4a29fdb4d6f | 13 | //pc.printf("main started\r\n"); |
edy05 | 0:f4a29fdb4d6f | 14 | |
edy05 | 0:f4a29fdb4d6f | 15 | //chanels[4] = [1400, 1400, 1400, 1400]; |
edy05 | 0:f4a29fdb4d6f | 16 | |
edy05 | 0:f4a29fdb4d6f | 17 | //uint8_t num_channels = 5; |
edy05 | 0:f4a29fdb4d6f | 18 | //uint16_t *ppmIn_channels; |
edy05 | 0:f4a29fdb4d6f | 19 | |
edy05 | 0:f4a29fdb4d6f | 20 | //uint16_t channel_value = 600; |
edy05 | 0:f4a29fdb4d6f | 21 | //int channel = 1; |
edy05 | 0:f4a29fdb4d6f | 22 | |
edy05 | 0:f4a29fdb4d6f | 23 | |
edy05 | 0:f4a29fdb4d6f | 24 | //PpmOut ppmOut (pin, num_channels); |
edy05 | 0:f4a29fdb4d6f | 25 | PpmIn ppmIn (ppmIn); |
edy05 | 0:f4a29fdb4d6f | 26 | |
edy05 | 0:f4a29fdb4d6f | 27 | //timer1.start(); |
edy05 | 0:f4a29fdb4d6f | 28 | while (true) { |
edy05 | 0:f4a29fdb4d6f | 29 | //pc.printf("while loop started\r\n"); |
edy05 | 0:f4a29fdb4d6f | 30 | //ppmOut.setChannel(1, 1390); |
edy05 | 0:f4a29fdb4d6f | 31 | //ppmOut.setChannel(0, 580); |
edy05 | 0:f4a29fdb4d6f | 32 | //ppmOut.setChannel(3, 200); |
edy05 | 0:f4a29fdb4d6f | 33 | |
edy05 | 0:f4a29fdb4d6f | 34 | // read PPM |
edy05 | 0:f4a29fdb4d6f | 35 | while(!(ppmIn.state)); |
edy05 | 0:f4a29fdb4d6f | 36 | //pc.printf("ppmIn.state is true\r\n"); |
edy05 | 0:f4a29fdb4d6f | 37 | ppmIn.state = false; |
edy05 | 0:f4a29fdb4d6f | 38 | ppmIn_channels = ppmIn.getPpm(); |
edy05 | 0:f4a29fdb4d6f | 39 | //pc.printf("ppmIn_channels returned\r\n"); |
edy05 | 0:f4a29fdb4d6f | 40 | |
edy05 | 0:f4a29fdb4d6f | 41 | //for (int i=0; i<10; i++) |
edy05 | 0:f4a29fdb4d6f | 42 | //{ |
edy05 | 0:f4a29fdb4d6f | 43 | //pc.printf("Channel %d has value %d\r\n", 0, *ppmIn_channels); |
edy05 | 0:f4a29fdb4d6f | 44 | //} |
edy05 | 0:f4a29fdb4d6f | 45 | |
edy05 | 0:f4a29fdb4d6f | 46 | //ppmOut.setChannel(1, 1390); |
edy05 | 0:f4a29fdb4d6f | 47 | |
edy05 | 0:f4a29fdb4d6f | 48 | |
edy05 | 0:f4a29fdb4d6f | 49 | } |
edy05 | 0:f4a29fdb4d6f | 50 | } |
edy05 | 0:f4a29fdb4d6f | 51 |