~

Dependencies:   4DGL-uLCD-SE SDFileSystem

Committer:
kswanson31
Date:
Fri Sep 23 19:34:38 2016 +0000
Revision:
3:99acbebbed6c
Parent:
2:20b2a7eb4bd8
Child:
4:f5bc5d9a790b
Added ethernet demo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fkhan39 0:570683b2d0c9 1 #include "mbed.h"
fkhan39 0:570683b2d0c9 2
fkhan39 1:4ed94566512a 3 AnalogOut aout(p18);
fkhan39 1:4ed94566512a 4 AnalogIn ain(p15);
fkhan39 0:570683b2d0c9 5 DigitalOut led1(LED1);
fkhan39 1:4ed94566512a 6 DigitalOut led2(LED2);
fkhan39 1:4ed94566512a 7 DigitalOut led3(LED3);
fkhan39 1:4ed94566512a 8 DigitalOut led4(LED4);
fkhan39 0:570683b2d0c9 9
fkhan39 1:4ed94566512a 10 int main()
fkhan39 1:4ed94566512a 11 {
fkhan39 2:20b2a7eb4bd8 12 // part 1
fkhan39 1:4ed94566512a 13 const double pi = 3.141592653589793238462;
fkhan39 1:4ed94566512a 14 const double amplitude = 1.0f;
fkhan39 1:4ed94566512a 15 const double offset = 65535/2; // 0xFFFF/2
fkhan39 1:4ed94566512a 16 double rads = 0.0;
fkhan39 1:4ed94566512a 17 uint16_t sample = 0;
fkhan39 1:4ed94566512a 18
fkhan39 1:4ed94566512a 19 while(1) {
fkhan39 1:4ed94566512a 20 // analog out
fkhan39 1:4ed94566512a 21
fkhan39 1:4ed94566512a 22 for (int i = 0; i < 720; i++) {
fkhan39 1:4ed94566512a 23 rads = (pi * i) / 180.0f;
fkhan39 1:4ed94566512a 24 sample = (uint16_t)(amplitude * (offset * (cos(rads + pi))) + offset);
fkhan39 1:4ed94566512a 25 aout.write_u16(sample);
fkhan39 1:4ed94566512a 26 }
fkhan39 1:4ed94566512a 27
fkhan39 1:4ed94566512a 28
fkhan39 1:4ed94566512a 29 // analog in
fkhan39 1:4ed94566512a 30 led1 = (ain > 0.2f) ? 1 : 0;
fkhan39 1:4ed94566512a 31 led2 = (ain > 0.4f) ? 1 : 0;
fkhan39 1:4ed94566512a 32 led3 = (ain > 0.6f) ? 1 : 0;
fkhan39 1:4ed94566512a 33 led4 = (ain > 0.8f) ? 1 : 0;
fkhan39 1:4ed94566512a 34 wait(.01);
fkhan39 0:570683b2d0c9 35 }
kswanson31 3:99acbebbed6c 36
kswanson31 3:99acbebbed6c 37 /* part 5
kswanson31 3:99acbebbed6c 38 // demo from https://docs.mbed.com/docs/mbed-os-api-reference/en/5.1/APIs/communication/network_sockets/
kswanson31 3:99acbebbed6c 39
kswanson31 3:99acbebbed6c 40 printf("Example network-socket HTTP client\n");
kswanson31 3:99acbebbed6c 41
kswanson31 3:99acbebbed6c 42 // Brings up the network interface
kswanson31 3:99acbebbed6c 43 eth.connect();
kswanson31 3:99acbebbed6c 44 const char *ip = eth.get_ip_address();
kswanson31 3:99acbebbed6c 45 const char *mac = eth.get_mac_address();
kswanson31 3:99acbebbed6c 46 printf("IP address is: %s\n", ip ? ip : "No IP");
kswanson31 3:99acbebbed6c 47 printf("MAC address is: %s\n", mac ? mac : "No MAC");
kswanson31 3:99acbebbed6c 48
kswanson31 3:99acbebbed6c 49 // Open a socket on the network interface, and create a TCP connection to mbed.org
kswanson31 3:99acbebbed6c 50 socket.open(&eth);
kswanson31 3:99acbebbed6c 51 socket.connect("developer.mbed.org", 80);
kswanson31 3:99acbebbed6c 52
kswanson31 3:99acbebbed6c 53 // Send a simple http request
kswanson31 3:99acbebbed6c 54 char sbuffer[] = "GET / HTTP/1.1\r\nHost: developer.mbed.org\r\n\r\n";
kswanson31 3:99acbebbed6c 55 int scount = socket.send(sbuffer, sizeof sbuffer);
kswanson31 3:99acbebbed6c 56 printf("sent %d [%.*s]\r\n", scount, strstr(sbuffer, "\r\n")-sbuffer, sbuffer);
kswanson31 3:99acbebbed6c 57
kswanson31 3:99acbebbed6c 58 // Recieve a simple http response and print out the response line
kswanson31 3:99acbebbed6c 59 char rbuffer[64];
kswanson31 3:99acbebbed6c 60 int rcount = socket.recv(rbuffer, sizeof rbuffer);
kswanson31 3:99acbebbed6c 61 printf("recv %d [%.*s]\r\n", rcount, strstr(rbuffer, "\r\n")-rbuffer, rbuffer);
kswanson31 3:99acbebbed6c 62
kswanson31 3:99acbebbed6c 63 // Close the socket to return its memory and bring down the network interface
kswanson31 3:99acbebbed6c 64 socket.close();
kswanson31 3:99acbebbed6c 65 eth.disconnect();
kswanson31 3:99acbebbed6c 66
kswanson31 3:99acbebbed6c 67 printf("Done\n");
kswanson31 3:99acbebbed6c 68 */
fkhan39 1:4ed94566512a 69 }