Data sendback over ethernet from mbed
Dependencies: EthernetInterface FastAnalogIn mbed-rtos mbed
Fork of Ananlog_in_test by
main.txt@1:27168b548705, 2014-10-24 (annotated)
- Committer:
- apullin
- Date:
- Fri Oct 24 23:05:27 2014 +0000
- Revision:
- 1:27168b548705
- Parent:
- 0:e066babe3c39
Fixes to memory copy and pointers.
Who changed what in which revision?
User | Revision | Line number | New 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 | int main() { |
michaelcoe | 0:e066babe3c39 | 15 | //Setting up the Ethernet |
michaelcoe | 0:e066babe3c39 | 16 | EthernetInterface eth; |
michaelcoe | 0:e066babe3c39 | 17 | eth.init(); //Use DHCP |
michaelcoe | 0:e066babe3c39 | 18 | eth.connect(); |
michaelcoe | 0:e066babe3c39 | 19 | |
michaelcoe | 0:e066babe3c39 | 20 | UDPSocket sock; |
michaelcoe | 0:e066babe3c39 | 21 | sock.init(); |
michaelcoe | 0:e066babe3c39 | 22 | sock.set_broadcasting(); |
michaelcoe | 0:e066babe3c39 | 23 | |
michaelcoe | 0:e066babe3c39 | 24 | Endpoint broadcast; |
michaelcoe | 0:e066babe3c39 | 25 | broadcast.set_address("255.255.255.255", BROADCAST_PORT); |
michaelcoe | 0:e066babe3c39 | 26 | |
michaelcoe | 0:e066babe3c39 | 27 | uint16_t sample_buffer[2561]; |
michaelcoe | 0:e066babe3c39 | 28 | sample_buffer[2560] = 0; |
michaelcoe | 0:e066babe3c39 | 29 | |
michaelcoe | 0:e066babe3c39 | 30 | while(1){ |
michaelcoe | 0:e066babe3c39 | 31 | printf("Executing Read Loop"); |
michaelcoe | 0:e066babe3c39 | 32 | t.start(); |
michaelcoe | 0:e066babe3c39 | 33 | for(int i=0; i<512; i++) { |
michaelcoe | 0:e066babe3c39 | 34 | sample_buffer[i] = (uint16_t)t.read_us(); |
michaelcoe | 0:e066babe3c39 | 35 | sample_buffer[i+512] = input1.read_u16(); |
michaelcoe | 0:e066babe3c39 | 36 | sample_buffer[i+1024] = input2.read_u16(); |
michaelcoe | 0:e066babe3c39 | 37 | sample_buffer[i+1536] = input3.read_u16(); |
michaelcoe | 0:e066babe3c39 | 38 | sample_buffer[i+2048] = input4.read_u16(); |
michaelcoe | 0:e066babe3c39 | 39 | //wait_ms(1); |
michaelcoe | 0:e066babe3c39 | 40 | } |
michaelcoe | 0:e066babe3c39 | 41 | t.stop(); |
michaelcoe | 0:e066babe3c39 | 42 | t.reset(); |
michaelcoe | 0:e066babe3c39 | 43 | t2.start(); |
michaelcoe | 0:e066babe3c39 | 44 | |
michaelcoe | 0:e066babe3c39 | 45 | sample_buffer[2560] = (uint16_t)t2.read_us(); |
michaelcoe | 0:e066babe3c39 | 46 | |
michaelcoe | 0:e066babe3c39 | 47 | printf("Copying to char array \n"); |
michaelcoe | 0:e066babe3c39 | 48 | char out_buffer[5122]; |
michaelcoe | 0:e066babe3c39 | 49 | memcpy(&out_buffer,&sample_buffer,sizeof(sample_buffer)); |
michaelcoe | 0:e066babe3c39 | 50 | |
michaelcoe | 0:e066babe3c39 | 51 | printf("Sending to Ethernet \n"); |
michaelcoe | 0:e066babe3c39 | 52 | sock.sendTo(broadcast, out_buffer, sizeof(out_buffer)); |
michaelcoe | 0:e066babe3c39 | 53 | |
michaelcoe | 0:e066babe3c39 | 54 | t2.stop(); |
michaelcoe | 0:e066babe3c39 | 55 | t2.reset(); |
michaelcoe | 0:e066babe3c39 | 56 | } |
michaelcoe | 0:e066babe3c39 | 57 | } |