smartcontrol remote
Dependencies: EthernetInterface HTTPServer RemoteIR SDFileSystem mbed-rpc mbed-rtos mbed
Fork of SmartRemote by
main.cpp@3:a3b4d032f48f, 2013-12-02 (annotated)
- Committer:
- sarvagyavaish
- Date:
- Mon Dec 02 20:21:10 2013 +0000
- Revision:
- 3:a3b4d032f48f
- Parent:
- HTTPServerHelloWorld.cpp@0:5630d7e58a0b
- Child:
- 4:36e0aa194b45
dependencies broken;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:5630d7e58a0b | 1 | #include "mbed.h" |
donatien | 0:5630d7e58a0b | 2 | #include "EthernetNetIf.h" |
donatien | 0:5630d7e58a0b | 3 | #include "HTTPServer.h" |
donatien | 0:5630d7e58a0b | 4 | |
sarvagyavaish | 3:a3b4d032f48f | 5 | |
sarvagyavaish | 3:a3b4d032f48f | 6 | // Start DB |
sarvagyavaish | 3:a3b4d032f48f | 7 | #include <stdio.h> |
sarvagyavaish | 3:a3b4d032f48f | 8 | #include <stdlib.h> |
sarvagyavaish | 3:a3b4d032f48f | 9 | #include "SDFileSystem.h" |
sarvagyavaish | 3:a3b4d032f48f | 10 | #include "db.h" |
sarvagyavaish | 3:a3b4d032f48f | 11 | // End DB |
sarvagyavaish | 3:a3b4d032f48f | 12 | |
sarvagyavaish | 3:a3b4d032f48f | 13 | |
sarvagyavaish | 3:a3b4d032f48f | 14 | // Start RPC |
sarvagyavaish | 3:a3b4d032f48f | 15 | #include "RPCVariable.h" |
sarvagyavaish | 3:a3b4d032f48f | 16 | int Request; |
sarvagyavaish | 3:a3b4d032f48f | 17 | int Learn = 0; |
sarvagyavaish | 3:a3b4d032f48f | 18 | //Make these variables accessible over RPC by attaching them to an RPCVariable |
sarvagyavaish | 3:a3b4d032f48f | 19 | RPCVariable<int>(&Request), "Request"); |
sarvagyavaish | 3:a3b4d032f48f | 20 | //RPCVariable RPCLearn(&Learn, "Learn"); |
sarvagyavaish | 3:a3b4d032f48f | 21 | // End RPC |
sarvagyavaish | 3:a3b4d032f48f | 22 | |
sarvagyavaish | 3:a3b4d032f48f | 23 | |
sarvagyavaish | 3:a3b4d032f48f | 24 | EthernetNetIf eth; |
donatien | 0:5630d7e58a0b | 25 | HTTPServer svr; |
donatien | 0:5630d7e58a0b | 26 | |
donatien | 0:5630d7e58a0b | 27 | DigitalOut led1(LED1); |
donatien | 0:5630d7e58a0b | 28 | |
sarvagyavaish | 3:a3b4d032f48f | 29 | int main() |
sarvagyavaish | 3:a3b4d032f48f | 30 | { |
sarvagyavaish | 3:a3b4d032f48f | 31 | printf("Setting up...\n"); |
sarvagyavaish | 3:a3b4d032f48f | 32 | EthernetErr ethErr = eth.setup(); |
sarvagyavaish | 3:a3b4d032f48f | 33 | if(ethErr) { |
sarvagyavaish | 3:a3b4d032f48f | 34 | printf("Error %d in setup.\n", ethErr); |
sarvagyavaish | 3:a3b4d032f48f | 35 | return -1; |
sarvagyavaish | 3:a3b4d032f48f | 36 | } |
sarvagyavaish | 3:a3b4d032f48f | 37 | printf("Setup OK\n"); |
sarvagyavaish | 3:a3b4d032f48f | 38 | |
sarvagyavaish | 3:a3b4d032f48f | 39 | svr.addHandler<SimpleHandler>("/"); //Default handler |
sarvagyavaish | 3:a3b4d032f48f | 40 | svr.bind(80); |
sarvagyavaish | 3:a3b4d032f48f | 41 | |
sarvagyavaish | 3:a3b4d032f48f | 42 | |
sarvagyavaish | 3:a3b4d032f48f | 43 | // DB Init |
sarvagyavaish | 3:a3b4d032f48f | 44 | mkdir("/sd/SmartRemote", 0777); |
sarvagyavaish | 3:a3b4d032f48f | 45 | |
sarvagyavaish | 3:a3b4d032f48f | 46 | char code[] = "123AB"; |
sarvagyavaish | 3:a3b4d032f48f | 47 | char name[] = "Button Name"; |
donatien | 0:5630d7e58a0b | 48 | |
sarvagyavaish | 3:a3b4d032f48f | 49 | char results_code[128]; |
sarvagyavaish | 3:a3b4d032f48f | 50 | char results_name[128]; |
sarvagyavaish | 3:a3b4d032f48f | 51 | |
sarvagyavaish | 3:a3b4d032f48f | 52 | db_insert_tuple(code, name); |
sarvagyavaish | 3:a3b4d032f48f | 53 | FILE *fread = fopen("/sd/SmartRemote/db.txt", "r"); |
sarvagyavaish | 3:a3b4d032f48f | 54 | db_find_tuple(fread, 2, results_name, results_code); |
sarvagyavaish | 3:a3b4d032f48f | 55 | fclose(fread); |
sarvagyavaish | 3:a3b4d032f48f | 56 | //End DB init |
sarvagyavaish | 3:a3b4d032f48f | 57 | |
sarvagyavaish | 3:a3b4d032f48f | 58 | |
sarvagyavaish | 3:a3b4d032f48f | 59 | printf("Listening...\n"); |
sarvagyavaish | 3:a3b4d032f48f | 60 | |
sarvagyavaish | 3:a3b4d032f48f | 61 | Timer tm; |
sarvagyavaish | 3:a3b4d032f48f | 62 | tm.start(); |
sarvagyavaish | 3:a3b4d032f48f | 63 | //Listen indefinitely |
sarvagyavaish | 3:a3b4d032f48f | 64 | while(true) { |
sarvagyavaish | 3:a3b4d032f48f | 65 | Net::poll(); |
sarvagyavaish | 3:a3b4d032f48f | 66 | if(tm.read()>.5) { |
sarvagyavaish | 3:a3b4d032f48f | 67 | led1=!led1; //Show that we are alive |
sarvagyavaish | 3:a3b4d032f48f | 68 | tm.start(); |
sarvagyavaish | 3:a3b4d032f48f | 69 | } |
donatien | 0:5630d7e58a0b | 70 | } |
sarvagyavaish | 3:a3b4d032f48f | 71 | |
sarvagyavaish | 3:a3b4d032f48f | 72 | return 0; |
donatien | 0:5630d7e58a0b | 73 | } |