First

Dependencies:   CPU_Usage NetworkManager RestAPI_Manager

Committer:
asaewing
Date:
Mon Oct 08 00:50:33 2018 +0000
Revision:
0:8eda451f71fa
First

Who changed what in which revision?

UserRevisionLine numberNew 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 }