testing code for analog_in

Dependencies:   EthernetInterface FastAnalogIn mbed-rtos mbed

Committer:
michaelcoe
Date:
Tue Oct 21 19:53:05 2014 +0000
Revision:
0:e066babe3c39
Commit code for testing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
michaelcoe 0:e066babe3c39 1 #include "mbed.h"
michaelcoe 0:e066babe3c39 2 #include "FastAnalogIn.h"
michaelcoe 0:e066babe3c39 3 #include "EthernetInterface.h"
michaelcoe 0:e066babe3c39 4
michaelcoe 0:e066babe3c39 5 AnalogIn input1(p15);
michaelcoe 0:e066babe3c39 6 AnalogIn input2(p16);
michaelcoe 0:e066babe3c39 7 AnalogIn input3(p17);
michaelcoe 0:e066babe3c39 8 AnalogIn input4(p18);
michaelcoe 0:e066babe3c39 9 DigitalOut led1(LED1);
michaelcoe 0:e066babe3c39 10 Timer t, t2;
michaelcoe 0:e066babe3c39 11
michaelcoe 0:e066babe3c39 12 const int BROADCAST_PORT = 58083;
michaelcoe 0:e066babe3c39 13
michaelcoe 0:e066babe3c39 14 struct data{
michaelcoe 0:e066babe3c39 15 int times[512];
michaelcoe 0:e066babe3c39 16 uint16_t sample_buffer[2048];
michaelcoe 0:e066babe3c39 17 int send_time;
michaelcoe 0:e066babe3c39 18 }sample_data;
michaelcoe 0:e066babe3c39 19
michaelcoe 0:e066babe3c39 20 int main() {
michaelcoe 0:e066babe3c39 21 //Setting up the Ethernet
michaelcoe 0:e066babe3c39 22 EthernetInterface eth;
michaelcoe 0:e066babe3c39 23 eth.init(); //Use DHCP
michaelcoe 0:e066babe3c39 24 eth.connect();
michaelcoe 0:e066babe3c39 25
michaelcoe 0:e066babe3c39 26 UDPSocket sock;
michaelcoe 0:e066babe3c39 27 sock.init();
michaelcoe 0:e066babe3c39 28 sock.set_broadcasting();
michaelcoe 0:e066babe3c39 29
michaelcoe 0:e066babe3c39 30 Endpoint broadcast;
michaelcoe 0:e066babe3c39 31 broadcast.set_address("255.255.255.255", BROADCAST_PORT);
michaelcoe 0:e066babe3c39 32
michaelcoe 0:e066babe3c39 33 // uint16_t sample_buffer[2560];
michaelcoe 0:e066babe3c39 34 sample_data.send_time = 0;
michaelcoe 0:e066babe3c39 35
michaelcoe 0:e066babe3c39 36 while(1){
michaelcoe 0:e066babe3c39 37 printf("Executing Read Loop");
michaelcoe 0:e066babe3c39 38 t.start();
michaelcoe 0:e066babe3c39 39 for(int i=0; i<512; i++) {
michaelcoe 0:e066babe3c39 40 sample_data.times[i] = t.read_us();
michaelcoe 0:e066babe3c39 41 sample_data.sample_buffer[i+512] = input1.read_u16();
michaelcoe 0:e066babe3c39 42 sample_data.sample_buffer[i+1024] = input2.read_u16();
michaelcoe 0:e066babe3c39 43 sample_data.sample_buffer[i+1536] = input3.read_u16();
michaelcoe 0:e066babe3c39 44 sample_data.sample_buffer[i+2048] = input4.read_u16();
michaelcoe 0:e066babe3c39 45 //wait_ms(1);
michaelcoe 0:e066babe3c39 46 }
michaelcoe 0:e066babe3c39 47 t.stop();
michaelcoe 0:e066babe3c39 48 t.reset();
michaelcoe 0:e066babe3c39 49 t2.start();
michaelcoe 0:e066babe3c39 50
michaelcoe 0:e066babe3c39 51 printf("Copying to char array \n");
michaelcoe 0:e066babe3c39 52 int len = sizeof(struct data);
michaelcoe 0:e066babe3c39 53 char out_buffer[len];
michaelcoe 0:e066babe3c39 54 memcpy(&out_buffer, &sample_data, len);
michaelcoe 0:e066babe3c39 55
michaelcoe 0:e066babe3c39 56 // char out_buffer[5120];
michaelcoe 0:e066babe3c39 57 // memcpy(&out_buffer,&sample_buffer,sizeof(sample_buffer));
michaelcoe 0:e066babe3c39 58
michaelcoe 0:e066babe3c39 59 printf("Sending to Ethernet \n");
michaelcoe 0:e066babe3c39 60 sock.sendTo(broadcast, out_buffer, sizeof(out_buffer));
michaelcoe 0:e066babe3c39 61 sample_data.send_time = t2.read_us();
michaelcoe 0:e066babe3c39 62
michaelcoe 0:e066babe3c39 63 t2.stop();
michaelcoe 0:e066babe3c39 64 t2.reset();
michaelcoe 0:e066babe3c39 65 }
michaelcoe 0:e066babe3c39 66 }