condens
Dependencies: mbed MbedJSONValue
main.cpp@3:26d5a21bbc66, 2019-08-22 (annotated)
- Committer:
- duchonic
- Date:
- Thu Aug 22 22:31:27 2019 +0000
- Revision:
- 3:26d5a21bbc66
- Parent:
- 2:d5f4f429f3db
docu
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
duchonic | 2:d5f4f429f3db | 1 | #include <mbed.h> |
duchonic | 1:5abef2328a97 | 2 | #include <string> |
duchonic | 2:d5f4f429f3db | 3 | #include <cassert> |
duchonic | 2:d5f4f429f3db | 4 | |
duchonic | 2:d5f4f429f3db | 5 | #include "MbedJSONValue/MbedJSONValue.h" |
duchonic | 2:d5f4f429f3db | 6 | #include "communication.h" |
duchonic | 0:8dd13dfd2e4e | 7 | |
duchonic | 0:8dd13dfd2e4e | 8 | Ticker toggle_led_ticker; |
duchonic | 0:8dd13dfd2e4e | 9 | Ticker sendStuffTicker; |
duchonic | 2:d5f4f429f3db | 10 | Ticker readStuffTicker; |
duchonic | 0:8dd13dfd2e4e | 11 | |
duchonic | 0:8dd13dfd2e4e | 12 | DigitalOut led1(LED1); |
duchonic | 0:8dd13dfd2e4e | 13 | DigitalOut led2(LED2); |
duchonic | 0:8dd13dfd2e4e | 14 | Serial pc(SERIAL_TX, SERIAL_RX); |
duchonic | 0:8dd13dfd2e4e | 15 | |
duchonic | 0:8dd13dfd2e4e | 16 | void toggle_led() { |
duchonic | 0:8dd13dfd2e4e | 17 | led1 = !led1; |
duchonic | 0:8dd13dfd2e4e | 18 | } |
duchonic | 0:8dd13dfd2e4e | 19 | |
duchonic | 2:d5f4f429f3db | 20 | Command mCommand; |
duchonic | 2:d5f4f429f3db | 21 | Type mType(3); |
duchonic | 2:d5f4f429f3db | 22 | Conf mConf(31); |
duchonic | 2:d5f4f429f3db | 23 | Status mStatus; |
duchonic | 2:d5f4f429f3db | 24 | HeartBeat mHeartBeat; |
duchonic | 0:8dd13dfd2e4e | 25 | |
duchonic | 2:d5f4f429f3db | 26 | void parseJson(char * json){ |
duchonic | 0:8dd13dfd2e4e | 27 | |
duchonic | 2:d5f4f429f3db | 28 | MbedJSONValue receive; |
duchonic | 2:d5f4f429f3db | 29 | parse(receive, json); |
duchonic | 1:5abef2328a97 | 30 | |
duchonic | 2:d5f4f429f3db | 31 | switch(mCommand.get(receive)){ |
duchonic | 2:d5f4f429f3db | 32 | case TYPE:{ |
duchonic | 2:d5f4f429f3db | 33 | mType.sendFrame(); |
duchonic | 2:d5f4f429f3db | 34 | break; |
duchonic | 2:d5f4f429f3db | 35 | } |
duchonic | 2:d5f4f429f3db | 36 | case CONF:{ |
duchonic | 2:d5f4f429f3db | 37 | mConf.setConfig(receive) ? mConf.sendAck() : mConf.sendAck(); |
duchonic | 2:d5f4f429f3db | 38 | break; |
duchonic | 2:d5f4f429f3db | 39 | } |
duchonic | 2:d5f4f429f3db | 40 | case STATUS:{ |
duchonic | 2:d5f4f429f3db | 41 | mStatus.t1 = 12; |
duchonic | 2:d5f4f429f3db | 42 | mStatus.sendFrame(); |
duchonic | 2:d5f4f429f3db | 43 | } |
duchonic | 2:d5f4f429f3db | 44 | default:{ |
duchonic | 2:d5f4f429f3db | 45 | assert(0); |
duchonic | 2:d5f4f429f3db | 46 | break; |
duchonic | 2:d5f4f429f3db | 47 | } |
duchonic | 2:d5f4f429f3db | 48 | } |
duchonic | 1:5abef2328a97 | 49 | } |
duchonic | 1:5abef2328a97 | 50 | |
duchonic | 2:d5f4f429f3db | 51 | void sendStuff() { |
duchonic | 2:d5f4f429f3db | 52 | static float strom = 1.1; |
duchonic | 2:d5f4f429f3db | 53 | static int durchfluss = 1; |
duchonic | 2:d5f4f429f3db | 54 | static float temp = 22; |
duchonic | 2:d5f4f429f3db | 55 | static int pumpStatus = 0; |
duchonic | 1:5abef2328a97 | 56 | |
duchonic | 2:d5f4f429f3db | 57 | mHeartBeat.sendFrame(); |
duchonic | 2:d5f4f429f3db | 58 | |
duchonic | 2:d5f4f429f3db | 59 | strom += 1.3f; |
duchonic | 2:d5f4f429f3db | 60 | durchfluss += 1; |
duchonic | 2:d5f4f429f3db | 61 | temp += 1.34f; |
duchonic | 2:d5f4f429f3db | 62 | pumpStatus = !pumpStatus; |
duchonic | 2:d5f4f429f3db | 63 | |
duchonic | 1:5abef2328a97 | 64 | } |
duchonic | 1:5abef2328a97 | 65 | |
duchonic | 0:8dd13dfd2e4e | 66 | int main() { |
duchonic | 2:d5f4f429f3db | 67 | pc.baud(115200); |
duchonic | 0:8dd13dfd2e4e | 68 | |
duchonic | 2:d5f4f429f3db | 69 | pc.printf("main start\n\r"); |
duchonic | 2:d5f4f429f3db | 70 | toggle_led_ticker.attach(&toggle_led, 0.05); |
duchonic | 2:d5f4f429f3db | 71 | sendStuffTicker.attach(&sendStuff, 1); |
duchonic | 1:5abef2328a97 | 72 | |
duchonic | 2:d5f4f429f3db | 73 | char buffer[50]; |
duchonic | 0:8dd13dfd2e4e | 74 | while (true) { |
duchonic | 2:d5f4f429f3db | 75 | |
duchonic | 0:8dd13dfd2e4e | 76 | // Do other things... |
duchonic | 2:d5f4f429f3db | 77 | if(pc.readable()){ |
duchonic | 2:d5f4f429f3db | 78 | pc.scanf("%s", buffer); |
duchonic | 2:d5f4f429f3db | 79 | pc.printf("received :%s\n", buffer); |
duchonic | 2:d5f4f429f3db | 80 | parseJson(buffer); |
duchonic | 2:d5f4f429f3db | 81 | } |
duchonic | 0:8dd13dfd2e4e | 82 | } |
duchonic | 0:8dd13dfd2e4e | 83 | } |