4180 fianl project

Dependencies:   4DGL-uLCD-SE EthernetInterface HTTPClient mbed-rtos mbed

Committer:
honelight
Date:
Mon Apr 20 23:05:36 2015 +0000
Revision:
0:28f8ba171e86
test program, still doesn't work;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
honelight 0:28f8ba171e86 1 #include "mbed.h"
honelight 0:28f8ba171e86 2 #include "uLCD_4DGL.h"
honelight 0:28f8ba171e86 3 #include "board.h"
honelight 0:28f8ba171e86 4 #include "rtos.h"
honelight 0:28f8ba171e86 5 #include "EthernetInterface.h"
honelight 0:28f8ba171e86 6 #include "HTTPClient.h"
honelight 0:28f8ba171e86 7
honelight 0:28f8ba171e86 8 uLCD_4DGL lcd(p28,p27,p30); // serial tx, serial rx, reset pin;
honelight 0:28f8ba171e86 9
honelight 0:28f8ba171e86 10 DigitalIn in0(p11);
honelight 0:28f8ba171e86 11 DigitalIn in1(p12);
honelight 0:28f8ba171e86 12 DigitalIn in2(p13);
honelight 0:28f8ba171e86 13 DigitalIn in3(p14);
honelight 0:28f8ba171e86 14 DigitalIn in4(p15);
honelight 0:28f8ba171e86 15 DigitalIn in5(p16);
honelight 0:28f8ba171e86 16 DigitalIn in6(p17);
honelight 0:28f8ba171e86 17 DigitalIn in7(p18);
honelight 0:28f8ba171e86 18 DigitalIn in8(p19);
honelight 0:28f8ba171e86 19
honelight 0:28f8ba171e86 20 Mutex stdio_mutex;
honelight 0:28f8ba171e86 21
honelight 0:28f8ba171e86 22
honelight 0:28f8ba171e86 23
honelight 0:28f8ba171e86 24 int player1=1;
honelight 0:28f8ba171e86 25 int player2=2;
honelight 0:28f8ba171e86 26 int turn =1;
honelight 0:28f8ba171e86 27 int printout = 0;
honelight 0:28f8ba171e86 28
honelight 0:28f8ba171e86 29
honelight 0:28f8ba171e86 30 void printBoard(int ** board)
honelight 0:28f8ba171e86 31 {
honelight 0:28f8ba171e86 32 lcd.cls();
honelight 0:28f8ba171e86 33 lcd.line(0, 42 , 127, 42 , 0xFF0000);
honelight 0:28f8ba171e86 34 lcd.line(0, 84 , 127, 84 , 0xFF0000);
honelight 0:28f8ba171e86 35 lcd.line(42, 0 , 42, 127, 0xFF0000);
honelight 0:28f8ba171e86 36 lcd.line(84, 0, 84, 127, 0xFF0000);
honelight 0:28f8ba171e86 37 for(int i=0; i<3; i++)
honelight 0:28f8ba171e86 38 {
honelight 0:28f8ba171e86 39 for(int j=0; j<3; j++)
honelight 0:28f8ba171e86 40 {
honelight 0:28f8ba171e86 41 if(board[i][j] == 1)
honelight 0:28f8ba171e86 42 {
honelight 0:28f8ba171e86 43 lcd.line( j*42+2 , i*42 + 2 ,(j+1)*42-2 , (i+1)*42-2 , GREEN);
honelight 0:28f8ba171e86 44 lcd.line( j*42+2 , (i+1)*42 - 2 ,(j+1)*42-2 , (i)*42+2 , GREEN);
honelight 0:28f8ba171e86 45 }
honelight 0:28f8ba171e86 46 else if(board[i][j] == 2)
honelight 0:28f8ba171e86 47 {
honelight 0:28f8ba171e86 48 lcd.circle(42*j+21, 42*i+21, 19, BLUE);
honelight 0:28f8ba171e86 49 }
honelight 0:28f8ba171e86 50 }
honelight 0:28f8ba171e86 51 }
honelight 0:28f8ba171e86 52 }
honelight 0:28f8ba171e86 53
honelight 0:28f8ba171e86 54 HTTPClient http;
honelight 0:28f8ba171e86 55 char str[2048];
honelight 0:28f8ba171e86 56 int main() {
honelight 0:28f8ba171e86 57
honelight 0:28f8ba171e86 58 EthernetInterface eth;
honelight 0:28f8ba171e86 59 eth.init(); //Use DHCP
honelight 0:28f8ba171e86 60 eth.connect();
honelight 0:28f8ba171e86 61 printf("IP Address is %s\n", eth.getIPAddress());
honelight 0:28f8ba171e86 62 printf("%d\n", sizeof(str));
honelight 0:28f8ba171e86 63 int ret = http.get("http://ece4180mbedonlinegaming.azurewebsites.net/odata/TicTacToeGames(1)?$select=BoardState", str, 2048);
honelight 0:28f8ba171e86 64 printf("%d\n",ret);
honelight 0:28f8ba171e86 65 printf("Result: %s\n", str);
honelight 0:28f8ba171e86 66 /*
honelight 0:28f8ba171e86 67 in0.mode(PullUp);
honelight 0:28f8ba171e86 68 in1.mode(PullUp);
honelight 0:28f8ba171e86 69 in2.mode(PullUp);
honelight 0:28f8ba171e86 70 in3.mode(PullUp);
honelight 0:28f8ba171e86 71 in4.mode(PullUp);
honelight 0:28f8ba171e86 72 in5.mode(PullUp);
honelight 0:28f8ba171e86 73 in6.mode(PullUp);
honelight 0:28f8ba171e86 74 in7.mode(PullUp);
honelight 0:28f8ba171e86 75 in8.mode(PullUp);
honelight 0:28f8ba171e86 76
honelight 0:28f8ba171e86 77 Board board;
honelight 0:28f8ba171e86 78 int ** output = board.get_board();
honelight 0:28f8ba171e86 79 printBoard(output);
honelight 0:28f8ba171e86 80 lcd.baudrate(3000000);
honelight 0:28f8ba171e86 81
honelight 0:28f8ba171e86 82 lcd.line(0, 42 , 127, 42 , 0xFF0000);
honelight 0:28f8ba171e86 83 lcd.line(0, 84 , 127, 84 , 0xFF0000);
honelight 0:28f8ba171e86 84 lcd.line(42, 0 , 42, 127, 0xFF0000);
honelight 0:28f8ba171e86 85 lcd.line(84, 0, 84, 127, 0xFF0000);
honelight 0:28f8ba171e86 86
honelight 0:28f8ba171e86 87 while (true) {
honelight 0:28f8ba171e86 88 if(!in0)
honelight 0:28f8ba171e86 89 printout = 1;
honelight 0:28f8ba171e86 90 else if(!in1)
honelight 0:28f8ba171e86 91 printout = 2;
honelight 0:28f8ba171e86 92 else if(!in2)
honelight 0:28f8ba171e86 93 printout = 3;
honelight 0:28f8ba171e86 94 else if(!in3)
honelight 0:28f8ba171e86 95 printout = 4;
honelight 0:28f8ba171e86 96 else if(!in4)
honelight 0:28f8ba171e86 97 printout = 5;
honelight 0:28f8ba171e86 98 else if(!in5)
honelight 0:28f8ba171e86 99 printout = 6;
honelight 0:28f8ba171e86 100 else if(!in6)
honelight 0:28f8ba171e86 101 printout = 7;
honelight 0:28f8ba171e86 102 else if(!in7)
honelight 0:28f8ba171e86 103 printout = 8;
honelight 0:28f8ba171e86 104 else if(!in8)
honelight 0:28f8ba171e86 105 printout = 9;
honelight 0:28f8ba171e86 106 else
honelight 0:28f8ba171e86 107 printout = 0;
honelight 0:28f8ba171e86 108
honelight 0:28f8ba171e86 109
honelight 0:28f8ba171e86 110 if(printout>0)
honelight 0:28f8ba171e86 111 {
honelight 0:28f8ba171e86 112 bool valid = board.updateBoard(turn, printout-1);
honelight 0:28f8ba171e86 113
honelight 0:28f8ba171e86 114 if(valid)
honelight 0:28f8ba171e86 115 {
honelight 0:28f8ba171e86 116 output = board.get_board();
honelight 0:28f8ba171e86 117 printBoard(output);
honelight 0:28f8ba171e86 118 printout=0;
honelight 0:28f8ba171e86 119 int victory = board.check_victory(turn);
honelight 0:28f8ba171e86 120 if(victory ==1)
honelight 0:28f8ba171e86 121 {
honelight 0:28f8ba171e86 122 lcd.cls();
honelight 0:28f8ba171e86 123 lcd.printf("player 1 win!");
honelight 0:28f8ba171e86 124 return 0;
honelight 0:28f8ba171e86 125 }
honelight 0:28f8ba171e86 126 else if(victory == 2)
honelight 0:28f8ba171e86 127 {
honelight 0:28f8ba171e86 128 lcd.cls();
honelight 0:28f8ba171e86 129 lcd.printf("player 2 win!");
honelight 0:28f8ba171e86 130 return 0;
honelight 0:28f8ba171e86 131 }
honelight 0:28f8ba171e86 132 if(turn ==1)
honelight 0:28f8ba171e86 133 turn =2;
honelight 0:28f8ba171e86 134 else
honelight 0:28f8ba171e86 135 turn =1;
honelight 0:28f8ba171e86 136 }
honelight 0:28f8ba171e86 137 }
honelight 0:28f8ba171e86 138 Thread::wait(400);
honelight 0:28f8ba171e86 139 }
honelight 0:28f8ba171e86 140 */
honelight 0:28f8ba171e86 141
honelight 0:28f8ba171e86 142 }
honelight 0:28f8ba171e86 143