Mac addr added ICRS

Dependencies:   mbed

Fork of Email2Screen by Oliver Mattos

Committer:
je310
Date:
Wed Nov 20 21:22:22 2013 +0000
Revision:
1:b38b745d1ea8
Parent:
0:1619a6b826d7
This is a maced version of olivers code ICRS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hello1024 0:1619a6b826d7 1 #include "mbed.h"
Hello1024 0:1619a6b826d7 2 #include "EthernetNetIf.h"
Hello1024 0:1619a6b826d7 3 #include "HTTPClient.h"
Hello1024 0:1619a6b826d7 4
Hello1024 0:1619a6b826d7 5 EthernetNetIf eth;
Hello1024 0:1619a6b826d7 6
Hello1024 0:1619a6b826d7 7 DigitalOut myled(LED1);
Hello1024 0:1619a6b826d7 8 BusOut RowOn(p26, p25, p24, p23);
Hello1024 0:1619a6b826d7 9 DigitalOut ST(p22);
Hello1024 0:1619a6b826d7 10 DigitalOut CK(p21);
Hello1024 0:1619a6b826d7 11 DigitalOut R2(p20);
Hello1024 0:1619a6b826d7 12 DigitalOut R1(p19);
Hello1024 0:1619a6b826d7 13 DigitalOut EN(p17);
Hello1024 0:1619a6b826d7 14
Hello1024 0:1619a6b826d7 15 Timer timer;
Hello1024 0:1619a6b826d7 16
Hello1024 0:1619a6b826d7 17 const int W=64;
Hello1024 0:1619a6b826d7 18 const int H=128;
Hello1024 0:1619a6b826d7 19 byte PenisData[ H*W/8 ];
Hello1024 0:1619a6b826d7 20
je310 1:b38b745d1ea8 21 extern "C" void mbed_mac_address(char * mac) {
je310 1:b38b745d1ea8 22
je310 1:b38b745d1ea8 23 // define your own MAC Address
je310 1:b38b745d1ea8 24 mac[0] = 0x8C;
je310 1:b38b745d1ea8 25 mac[1] = 0x70;
je310 1:b38b745d1ea8 26 mac[2] = 0x5A;
je310 1:b38b745d1ea8 27 mac[3] = 0xD4;
je310 1:b38b745d1ea8 28 mac[4] = 0x96;
je310 1:b38b745d1ea8 29 mac[5] = 0xC4;
je310 1:b38b745d1ea8 30
je310 1:b38b745d1ea8 31 };
je310 1:b38b745d1ea8 32
Hello1024 0:1619a6b826d7 33
Hello1024 0:1619a6b826d7 34
Hello1024 0:1619a6b826d7 35
Hello1024 0:1619a6b826d7 36 int main() {
Hello1024 0:1619a6b826d7 37 EN = 0;
Hello1024 0:1619a6b826d7 38 wait_us(1);
je310 1:b38b745d1ea8 39
Hello1024 0:1619a6b826d7 40
Hello1024 0:1619a6b826d7 41 timer.start();
Hello1024 0:1619a6b826d7 42
Hello1024 0:1619a6b826d7 43 printf("\r\nSetting up...\r\n");
Hello1024 0:1619a6b826d7 44 EthernetErr ethErr = eth.setup();
Hello1024 0:1619a6b826d7 45 if(ethErr) {
je310 1:b38b745d1ea8 46 // printf("Error %d in setup.\n", ethErr);
je310 1:b38b745d1ea8 47 // return -1;
je310 1:b38b745d1ea8 48 int myint = int(ethErr);
je310 1:b38b745d1ea8 49 while(myint>0){
je310 1:b38b745d1ea8 50 myled = 1;
je310 1:b38b745d1ea8 51 wait(1);
je310 1:b38b745d1ea8 52 myled =0;
je310 1:b38b745d1ea8 53 wait(1);
je310 1:b38b745d1ea8 54 myint--;
je310 1:b38b745d1ea8 55 }
Hello1024 0:1619a6b826d7 56 }
Hello1024 0:1619a6b826d7 57 printf("\r\nSetup OK\r\n");
Hello1024 0:1619a6b826d7 58
Hello1024 0:1619a6b826d7 59 HTTPClient http;
Hello1024 0:1619a6b826d7 60 HTTPStream stream;
Hello1024 0:1619a6b826d7 61
Hello1024 0:1619a6b826d7 62 while (1) {
Hello1024 0:1619a6b826d7 63
Hello1024 0:1619a6b826d7 64 stream.readNext(PenisData, sizeof(PenisData));
Hello1024 0:1619a6b826d7 65 http.get("http://www.omattos.com/screen.php", &stream);
Hello1024 0:1619a6b826d7 66
Hello1024 0:1619a6b826d7 67 //for (int m=0; m< H*W/8; m++)
Hello1024 0:1619a6b826d7 68 // PenisData[m] = 0x55;
Hello1024 0:1619a6b826d7 69
Hello1024 0:1619a6b826d7 70 printf("Data!\r\n");
Hello1024 0:1619a6b826d7 71
Hello1024 0:1619a6b826d7 72 timer.reset();
Hello1024 0:1619a6b826d7 73
Hello1024 0:1619a6b826d7 74 int offset = 0;
Hello1024 0:1619a6b826d7 75
Hello1024 0:1619a6b826d7 76 while(offset+16 < H){
Hello1024 0:1619a6b826d7 77
Hello1024 0:1619a6b826d7 78 // display a frame
Hello1024 0:1619a6b826d7 79 for (int j = 0; j < 16; j++){
Hello1024 0:1619a6b826d7 80 for (int i = 0; i < 64; i++){
Hello1024 0:1619a6b826d7 81
Hello1024 0:1619a6b826d7 82 int X = i;
Hello1024 0:1619a6b826d7 83 int Y = j + offset;
Hello1024 0:1619a6b826d7 84 int addr = Y*W+X;
Hello1024 0:1619a6b826d7 85 R1 = R2 = ((PenisData[addr>>3]>>(addr & 7)) & 1);
Hello1024 0:1619a6b826d7 86
Hello1024 0:1619a6b826d7 87 wait_us(1);
Hello1024 0:1619a6b826d7 88 CK = 1;
Hello1024 0:1619a6b826d7 89 wait_us(1);
Hello1024 0:1619a6b826d7 90 CK = 0;
Hello1024 0:1619a6b826d7 91 }
Hello1024 0:1619a6b826d7 92 EN = 0;
Hello1024 0:1619a6b826d7 93 ST = 1;
Hello1024 0:1619a6b826d7 94 wait_us(1);
Hello1024 0:1619a6b826d7 95 ST = 0;
Hello1024 0:1619a6b826d7 96
Hello1024 0:1619a6b826d7 97 RowOn = j;
Hello1024 0:1619a6b826d7 98 EN = 1;
Hello1024 0:1619a6b826d7 99 wait_us(500);
Hello1024 0:1619a6b826d7 100 }
Hello1024 0:1619a6b826d7 101 offset = (timer.read_ms()/100.0) - 9;
Hello1024 0:1619a6b826d7 102 if (offset<0) offset=0;
Hello1024 0:1619a6b826d7 103 }
Hello1024 0:1619a6b826d7 104 EN = 0; // switch the screen off while we get new data.
Hello1024 0:1619a6b826d7 105 }
Hello1024 0:1619a6b826d7 106 }