2019-06-05
Dependencies: DataStorage NetworkManager IR_Manager WheelManager RestAPI_Manager
main.cpp@0:8eda451f71fa, 2018-10-08 (annotated)
- Committer:
- asaewing
- Date:
- Mon Oct 08 00:50:33 2018 +0000
- Revision:
- 0:8eda451f71fa
- Child:
- 1:dc6fd86fb7f9
First
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
asaewing | 0:8eda451f71fa | 1 | #if !FEATURE_LWIP |
asaewing | 0:8eda451f71fa | 2 | #error [NOT_SUPPORTED] LWIP not supported for this target |
asaewing | 0:8eda451f71fa | 3 | #endif |
asaewing | 0:8eda451f71fa | 4 | |
asaewing | 0:8eda451f71fa | 5 | #include "module_for_all.h" |
asaewing | 0:8eda451f71fa | 6 | |
asaewing | 0:8eda451f71fa | 7 | #define PORT 8080 |
asaewing | 0:8eda451f71fa | 8 | |
asaewing | 0:8eda451f71fa | 9 | #define IP1 "192.168.20.101" |
asaewing | 0:8eda451f71fa | 10 | #define IP2 "192.168.20.102" |
asaewing | 0:8eda451f71fa | 11 | #define GATEWAY "192.168.20.1" |
asaewing | 0:8eda451f71fa | 12 | #define MASK "255.255.255.0" |
asaewing | 0:8eda451f71fa | 13 | |
asaewing | 0:8eda451f71fa | 14 | const char* ip = 0; |
asaewing | 0:8eda451f71fa | 15 | const char* mac = 0; |
asaewing | 0:8eda451f71fa | 16 | |
asaewing | 0:8eda451f71fa | 17 | DigitalIn IP_Select2(PG_2); |
asaewing | 0:8eda451f71fa | 18 | |
asaewing | 0:8eda451f71fa | 19 | NetworkManager net_manager(IP1, GATEWAY, MASK, PORT); |
asaewing | 0:8eda451f71fa | 20 | RestAPI_Manager restAPI_manager(IP1, "1"); |
asaewing | 0:8eda451f71fa | 21 | |
asaewing | 0:8eda451f71fa | 22 | //NetworkManager net_manager(); |
asaewing | 0:8eda451f71fa | 23 | //RestAPI_Manager restAPI_manager(); |
asaewing | 0:8eda451f71fa | 24 | |
asaewing | 0:8eda451f71fa | 25 | Timer t; |
asaewing | 0:8eda451f71fa | 26 | CPU_Usage cpu(t, 1); |
asaewing | 0:8eda451f71fa | 27 | |
asaewing | 0:8eda451f71fa | 28 | bool EventLoop() { |
asaewing | 0:8eda451f71fa | 29 | uint8_t value = 0; |
asaewing | 0:8eda451f71fa | 30 | while (true) { |
asaewing | 0:8eda451f71fa | 31 | printf("$$ EventLoop New\r\n"); |
asaewing | 0:8eda451f71fa | 32 | LED_NetWait(); |
asaewing | 0:8eda451f71fa | 33 | |
asaewing | 0:8eda451f71fa | 34 | net_manager.AcceptEvent(); |
asaewing | 0:8eda451f71fa | 35 | //printf("$$ EventLoop run Response\r\n"); |
asaewing | 0:8eda451f71fa | 36 | LED_NetProcess(); |
asaewing | 0:8eda451f71fa | 37 | |
asaewing | 0:8eda451f71fa | 38 | std::string http_method = net_manager.getHttpMethod(); |
asaewing | 0:8eda451f71fa | 39 | std::string api_command = net_manager.getApiCommand(); |
asaewing | 0:8eda451f71fa | 40 | |
asaewing | 0:8eda451f71fa | 41 | std::string response = restAPI_manager.runCommand(http_method, api_command); |
asaewing | 0:8eda451f71fa | 42 | |
asaewing | 0:8eda451f71fa | 43 | value = cpu.update(); |
asaewing | 0:8eda451f71fa | 44 | //printf("CPU %i", value); |
asaewing | 0:8eda451f71fa | 45 | |
asaewing | 0:8eda451f71fa | 46 | net_manager.SendResponseEvent(response); |
asaewing | 0:8eda451f71fa | 47 | printf("$$ EventLoop Finish\r\n"); |
asaewing | 0:8eda451f71fa | 48 | } |
asaewing | 0:8eda451f71fa | 49 | |
asaewing | 0:8eda451f71fa | 50 | printf("$$ EventLoop ALL Finish\r\n"); |
asaewing | 0:8eda451f71fa | 51 | return false; |
asaewing | 0:8eda451f71fa | 52 | } |
asaewing | 0:8eda451f71fa | 53 | |
asaewing | 0:8eda451f71fa | 54 | /* Main function */ |
asaewing | 0:8eda451f71fa | 55 | int main(){ |
asaewing | 0:8eda451f71fa | 56 | |
asaewing | 0:8eda451f71fa | 57 | printf("mbed Power Start\r\n"); |
asaewing | 0:8eda451f71fa | 58 | LED_PowerStart(); |
asaewing | 0:8eda451f71fa | 59 | cpu.working(); |
asaewing | 0:8eda451f71fa | 60 | |
asaewing | 0:8eda451f71fa | 61 | if (IP_Select2.read() == 1){ |
asaewing | 0:8eda451f71fa | 62 | net_manager.SetConfig(IP2, GATEWAY, MASK, PORT); |
asaewing | 0:8eda451f71fa | 63 | restAPI_manager.SetConfig(IP2, "2"); |
asaewing | 0:8eda451f71fa | 64 | printf("mbed 02 Start\r\n"); |
asaewing | 0:8eda451f71fa | 65 | |
asaewing | 0:8eda451f71fa | 66 | } else { |
asaewing | 0:8eda451f71fa | 67 | net_manager.SetConfig(IP1, GATEWAY, MASK, PORT); |
asaewing | 0:8eda451f71fa | 68 | restAPI_manager.SetConfig(IP1, "1"); |
asaewing | 0:8eda451f71fa | 69 | printf("mbed 01 Start\r\n"); |
asaewing | 0:8eda451f71fa | 70 | } |
asaewing | 0:8eda451f71fa | 71 | |
asaewing | 0:8eda451f71fa | 72 | net_manager.ServerInit(); |
asaewing | 0:8eda451f71fa | 73 | printf("ServerInit\r\n"); |
asaewing | 0:8eda451f71fa | 74 | |
asaewing | 0:8eda451f71fa | 75 | if (net_manager.OpenServer()) return 0; |
asaewing | 0:8eda451f71fa | 76 | printf("OpenServer\r\n"); |
asaewing | 0:8eda451f71fa | 77 | |
asaewing | 0:8eda451f71fa | 78 | if (net_manager.BindPort()) return 0; |
asaewing | 0:8eda451f71fa | 79 | printf("BindPort\r\n"); |
asaewing | 0:8eda451f71fa | 80 | |
asaewing | 0:8eda451f71fa | 81 | if (net_manager.ListenConnections()) return 0; |
asaewing | 0:8eda451f71fa | 82 | printf("ListenConnections\r\n"); |
asaewing | 0:8eda451f71fa | 83 | |
asaewing | 0:8eda451f71fa | 84 | if (EventLoop()) { |
asaewing | 0:8eda451f71fa | 85 | cpu.stopped(); |
asaewing | 0:8eda451f71fa | 86 | return 0; |
asaewing | 0:8eda451f71fa | 87 | } |
asaewing | 0:8eda451f71fa | 88 | } |