joshua Elsdon
/
Email2Screen
Mac addr added ICRS
Fork of Email2Screen by
main.cpp@1:b38b745d1ea8, 2013-11-20 (annotated)
- 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?
User | Revision | Line number | New 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 | } |