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;
michaelcoe 0:e066babe3c39 11
michaelcoe 0:e066babe3c39 12 const int BROADCAST_PORT = 58083;
michaelcoe 0:e066babe3c39 13
michaelcoe 0:e066babe3c39 14 struct packet{
michaelcoe 0:e066babe3c39 15 int times[512];
michaelcoe 0:e066babe3c39 16 uint16_t samples1[512];
michaelcoe 0:e066babe3c39 17 uint16_t samples2[512];
michaelcoe 0:e066babe3c39 18 uint16_t samples3[512];
michaelcoe 0:e066babe3c39 19 uint16_t samples4[512];
michaelcoe 0:e066babe3c39 20 };
michaelcoe 0:e066babe3c39 21
michaelcoe 0:e066babe3c39 22 int main() {
michaelcoe 0:e066babe3c39 23 //Setting up the Ethernet
michaelcoe 0:e066babe3c39 24 EthernetInterface eth;
michaelcoe 0:e066babe3c39 25 eth.init(); //Use DHCP
michaelcoe 0:e066babe3c39 26 eth.connect();
michaelcoe 0:e066babe3c39 27
michaelcoe 0:e066babe3c39 28 UDPSocket sock;
michaelcoe 0:e066babe3c39 29 sock.init();
michaelcoe 0:e066babe3c39 30 sock.set_broadcasting();
michaelcoe 0:e066babe3c39 31
michaelcoe 0:e066babe3c39 32 Endpoint broadcast;
michaelcoe 0:e066babe3c39 33 broadcast.set_address("255.255.255.255", BROADCAST_PORT);
michaelcoe 0:e066babe3c39 34
michaelcoe 0:e066babe3c39 35 // uint16_t sample_buffer[2560];
michaelcoe 0:e066babe3c39 36 t.start();
michaelcoe 0:e066babe3c39 37 t.reset();
michaelcoe 0:e066babe3c39 38 t.start();
michaelcoe 0:e066babe3c39 39 while(1){
michaelcoe 0:e066babe3c39 40 packet sample_data;
michaelcoe 0:e066babe3c39 41 printf("Executing Read Loop");
michaelcoe 0:e066babe3c39 42 for(int i=0; i<512; i++) {
michaelcoe 0:e066babe3c39 43 sample_data.times[i] = 6;
michaelcoe 0:e066babe3c39 44 //t.read_us();
michaelcoe 0:e066babe3c39 45 sample_data.samples1[i] = 1;
michaelcoe 0:e066babe3c39 46 //input1.read_u16();
michaelcoe 0:e066babe3c39 47 sample_data.samples2[i] = 2;
michaelcoe 0:e066babe3c39 48 //input2.read_u16();
michaelcoe 0:e066babe3c39 49 sample_data.samples3[i] = 3;
michaelcoe 0:e066babe3c39 50 //input3.read_u16();
michaelcoe 0:e066babe3c39 51 sample_data.samples4[i] = 4;
michaelcoe 0:e066babe3c39 52 //input4.read_u16();
michaelcoe 0:e066babe3c39 53 //wait_ms(1);
michaelcoe 0:e066babe3c39 54 }
michaelcoe 0:e066babe3c39 55
michaelcoe 0:e066babe3c39 56 printf("Size of struct: %i \n", sizeof(sample_data));
michaelcoe 0:e066babe3c39 57 printf("Copying to char array \n");
michaelcoe 0:e066babe3c39 58 char* data = static_cast<char*>(static_cast<void*>(&sample_data));
michaelcoe 0:e066babe3c39 59 //unsigned char *out_buffer = (char*) &sample_data;
michaelcoe 0:e066babe3c39 60
michaelcoe 0:e066babe3c39 61 char out_buffer[6144];
michaelcoe 0:e066babe3c39 62 memcpy(&out_buffer,&data,sizeof(packet));
michaelcoe 0:e066babe3c39 63 //out_buffer[6144] = '\0';
michaelcoe 0:e066babe3c39 64
michaelcoe 0:e066babe3c39 65 printf("Sending to Ethernet \n");
michaelcoe 0:e066babe3c39 66 sock.sendTo(broadcast, out_buffer, sizeof(out_buffer));
michaelcoe 0:e066babe3c39 67 }
michaelcoe 0:e066babe3c39 68 }