rik te winkel
/
imgui_test
A small piece of code to test and work with ImGui. See: https://github.com/riktw/Dear_ImGui_MBED
main.cpp@0:72fa95b3ae70, 2016-04-27 (annotated)
- Committer:
- riktw
- Date:
- Wed Apr 27 14:48:08 2016 +0000
- Revision:
- 0:72fa95b3ae70
First commit of the ImGui test code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
riktw | 0:72fa95b3ae70 | 1 | #include "mbed.h" |
riktw | 0:72fa95b3ae70 | 2 | #include "MODSERIAL.h" |
riktw | 0:72fa95b3ae70 | 3 | #define MESSAGE_BUFFER_SIZE 32 |
riktw | 0:72fa95b3ae70 | 4 | MODSERIAL pc(USBTX, USBRX); // tx, rx |
riktw | 0:72fa95b3ae70 | 5 | DigitalOut led1(p22); |
riktw | 0:72fa95b3ae70 | 6 | DigitalOut led2(p23); |
riktw | 0:72fa95b3ae70 | 7 | DigitalOut led3(p24); |
riktw | 0:72fa95b3ae70 | 8 | DigitalOut led4(p25); |
riktw | 0:72fa95b3ae70 | 9 | DigitalOut led5(p26); |
riktw | 0:72fa95b3ae70 | 10 | DigitalOut led6(p27); |
riktw | 0:72fa95b3ae70 | 11 | DigitalOut led7(p28); |
riktw | 0:72fa95b3ae70 | 12 | DigitalOut led8(p29); |
riktw | 0:72fa95b3ae70 | 13 | DigitalIn dips1(p5); |
riktw | 0:72fa95b3ae70 | 14 | DigitalIn dips2(p6); |
riktw | 0:72fa95b3ae70 | 15 | DigitalIn dips3(p7); |
riktw | 0:72fa95b3ae70 | 16 | DigitalIn dips4(p8); |
riktw | 0:72fa95b3ae70 | 17 | DigitalIn dips5(p11); |
riktw | 0:72fa95b3ae70 | 18 | DigitalIn dips6(p12); |
riktw | 0:72fa95b3ae70 | 19 | DigitalIn dips7(p13); |
riktw | 0:72fa95b3ae70 | 20 | DigitalIn dips8(p14); |
riktw | 0:72fa95b3ae70 | 21 | AnalogOut aout(p18); |
riktw | 0:72fa95b3ae70 | 22 | AnalogIn ain1(p16); |
riktw | 0:72fa95b3ae70 | 23 | AnalogIn ain2(p17); |
riktw | 0:72fa95b3ae70 | 24 | Ticker adctimer; |
riktw | 0:72fa95b3ae70 | 25 | Ticker iotimer; |
riktw | 0:72fa95b3ae70 | 26 | |
riktw | 0:72fa95b3ae70 | 27 | volatile bool messageReceived = false; |
riktw | 0:72fa95b3ae70 | 28 | char messageBufferIncoming[MESSAGE_BUFFER_SIZE]; |
riktw | 0:72fa95b3ae70 | 29 | char messageBufferOutgoing[MESSAGE_BUFFER_SIZE]; |
riktw | 0:72fa95b3ae70 | 30 | |
riktw | 0:72fa95b3ae70 | 31 | void messageReceive(MODSERIAL_IRQ_INFO *q) |
riktw | 0:72fa95b3ae70 | 32 | { |
riktw | 0:72fa95b3ae70 | 33 | MODSERIAL *sys = q->serial; |
riktw | 0:72fa95b3ae70 | 34 | sys->move(messageBufferIncoming, MESSAGE_BUFFER_SIZE); |
riktw | 0:72fa95b3ae70 | 35 | messageReceived = true; |
riktw | 0:72fa95b3ae70 | 36 | } |
riktw | 0:72fa95b3ae70 | 37 | |
riktw | 0:72fa95b3ae70 | 38 | void adcread() |
riktw | 0:72fa95b3ae70 | 39 | { |
riktw | 0:72fa95b3ae70 | 40 | uint16_t adc1, adc2; |
riktw | 0:72fa95b3ae70 | 41 | adc1 = ain1.read_u16(); |
riktw | 0:72fa95b3ae70 | 42 | adc2 = ain2.read_u16(); |
riktw | 0:72fa95b3ae70 | 43 | sprintf(messageBufferOutgoing,"A%02u%02u\n",adc1/656,adc2/656); |
riktw | 0:72fa95b3ae70 | 44 | pc.puts(messageBufferOutgoing); |
riktw | 0:72fa95b3ae70 | 45 | } |
riktw | 0:72fa95b3ae70 | 46 | |
riktw | 0:72fa95b3ae70 | 47 | void ioread() |
riktw | 0:72fa95b3ae70 | 48 | { |
riktw | 0:72fa95b3ae70 | 49 | messageBufferOutgoing[0] = 'I'; |
riktw | 0:72fa95b3ae70 | 50 | messageBufferOutgoing[1] = dips1 + 48; |
riktw | 0:72fa95b3ae70 | 51 | messageBufferOutgoing[2] = dips2 + 48; |
riktw | 0:72fa95b3ae70 | 52 | messageBufferOutgoing[3] = dips3 + 48; |
riktw | 0:72fa95b3ae70 | 53 | messageBufferOutgoing[4] = dips4 + 48; |
riktw | 0:72fa95b3ae70 | 54 | messageBufferOutgoing[5] = dips5 + 48; |
riktw | 0:72fa95b3ae70 | 55 | messageBufferOutgoing[6] = dips6 + 48; |
riktw | 0:72fa95b3ae70 | 56 | messageBufferOutgoing[7] = dips7 + 48; |
riktw | 0:72fa95b3ae70 | 57 | messageBufferOutgoing[8] = dips8 + 48; |
riktw | 0:72fa95b3ae70 | 58 | messageBufferOutgoing[9] = '\n'; |
riktw | 0:72fa95b3ae70 | 59 | messageBufferOutgoing[10] = NULL; |
riktw | 0:72fa95b3ae70 | 60 | pc.puts(messageBufferOutgoing); |
riktw | 0:72fa95b3ae70 | 61 | |
riktw | 0:72fa95b3ae70 | 62 | } |
riktw | 0:72fa95b3ae70 | 63 | |
riktw | 0:72fa95b3ae70 | 64 | int main() |
riktw | 0:72fa95b3ae70 | 65 | { |
riktw | 0:72fa95b3ae70 | 66 | pc.baud(115200); |
riktw | 0:72fa95b3ae70 | 67 | pc.attach(&messageReceive, MODSERIAL::RxAutoDetect); |
riktw | 0:72fa95b3ae70 | 68 | pc.autoDetectChar('\n'); |
riktw | 0:72fa95b3ae70 | 69 | |
riktw | 0:72fa95b3ae70 | 70 | dips1.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 71 | dips2.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 72 | dips3.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 73 | dips4.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 74 | dips5.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 75 | dips6.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 76 | dips7.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 77 | dips8.mode(PullUp); |
riktw | 0:72fa95b3ae70 | 78 | |
riktw | 0:72fa95b3ae70 | 79 | adctimer.attach(&adcread, 0.025); |
riktw | 0:72fa95b3ae70 | 80 | iotimer.attach(&ioread, 0.25); |
riktw | 0:72fa95b3ae70 | 81 | |
riktw | 0:72fa95b3ae70 | 82 | while(1) |
riktw | 0:72fa95b3ae70 | 83 | { |
riktw | 0:72fa95b3ae70 | 84 | while(messageReceived) |
riktw | 0:72fa95b3ae70 | 85 | { |
riktw | 0:72fa95b3ae70 | 86 | if(messageBufferIncoming[0] == 'L') |
riktw | 0:72fa95b3ae70 | 87 | { |
riktw | 0:72fa95b3ae70 | 88 | led1 = messageBufferIncoming[1] - 48; |
riktw | 0:72fa95b3ae70 | 89 | led2 = messageBufferIncoming[2] - 48; |
riktw | 0:72fa95b3ae70 | 90 | led3 = messageBufferIncoming[3] - 48; |
riktw | 0:72fa95b3ae70 | 91 | led4 = messageBufferIncoming[4] - 48; |
riktw | 0:72fa95b3ae70 | 92 | led5 = messageBufferIncoming[5] - 48; |
riktw | 0:72fa95b3ae70 | 93 | led6 = messageBufferIncoming[6] - 48; |
riktw | 0:72fa95b3ae70 | 94 | led7 = messageBufferIncoming[7] - 48; |
riktw | 0:72fa95b3ae70 | 95 | led8 = messageBufferIncoming[8] - 48; |
riktw | 0:72fa95b3ae70 | 96 | } |
riktw | 0:72fa95b3ae70 | 97 | else if(messageBufferIncoming[0] == 'D') |
riktw | 0:72fa95b3ae70 | 98 | { |
riktw | 0:72fa95b3ae70 | 99 | float dacval = (float)(messageBufferIncoming[3] - 48)/10.0; |
riktw | 0:72fa95b3ae70 | 100 | dacval += (float)(messageBufferIncoming[4] - 48)/100.0; |
riktw | 0:72fa95b3ae70 | 101 | aout = dacval; |
riktw | 0:72fa95b3ae70 | 102 | } |
riktw | 0:72fa95b3ae70 | 103 | messageReceived = false; |
riktw | 0:72fa95b3ae70 | 104 | } |
riktw | 0:72fa95b3ae70 | 105 | } |
riktw | 0:72fa95b3ae70 | 106 | } |