K64F based data logger for GPS (ublox MAX M8Q) & 6 Axis Sensor (FXOS8700Q) - Outputs to SD + UDP - Uses FRDM K64F + ublox "Cellular and positioning shield" (3G version)
Dependencies: MAX_M8Q_Capture EthernetInterface FXOS8700Q SDFileSystem eCompass_FPU_Lib mbed-rtos mbed
Ethernet.cpp@0:77857a36b4ff, 2015-03-27 (annotated)
- Committer:
- rlinnmoran
- Date:
- Fri Mar 27 08:35:29 2015 +0000
- Revision:
- 0:77857a36b4ff
- Child:
- 2:bcd60a69583f
Initial version.; ; Working:; - Capture GPS ; - Capture 6 Axis; - Write to CVS on SD (crude); ; Issues:; - Update freq slow (5s); - No UDP; - Improve SD functions; - Clean MetaData class code + docs; - No status led, start/stop button; - Param for printf's
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rlinnmoran | 0:77857a36b4ff | 1 | #include "mbed.h" |
rlinnmoran | 0:77857a36b4ff | 2 | #include "EthernetInterface.h" |
rlinnmoran | 0:77857a36b4ff | 3 | #include "Endpoint.h" |
rlinnmoran | 0:77857a36b4ff | 4 | //#include "main.h" |
rlinnmoran | 0:77857a36b4ff | 5 | |
rlinnmoran | 0:77857a36b4ff | 6 | #define MBED_DEV_IP "192.168.1.12" |
rlinnmoran | 0:77857a36b4ff | 7 | #define MBED_DEV_MASK "255.255.255.0" |
rlinnmoran | 0:77857a36b4ff | 8 | #define MBED_DEV_GW "192.168.1.1" |
rlinnmoran | 0:77857a36b4ff | 9 | #define ECHO_SERVER_PORT 5000 |
rlinnmoran | 0:77857a36b4ff | 10 | |
rlinnmoran | 0:77857a36b4ff | 11 | #define DEST_IP "192.168.1.1" |
rlinnmoran | 0:77857a36b4ff | 12 | #define DEST_PORT 5000 |
rlinnmoran | 0:77857a36b4ff | 13 | |
rlinnmoran | 0:77857a36b4ff | 14 | //Serial pc_a(USBTX, USBRX); // Serial Port Config |
rlinnmoran | 0:77857a36b4ff | 15 | |
rlinnmoran | 0:77857a36b4ff | 16 | int EthernetMain (void) { |
rlinnmoran | 0:77857a36b4ff | 17 | |
rlinnmoran | 0:77857a36b4ff | 18 | // pc_a.baud(9600); // Serial Port Config (9600, 8 data, 1 stop), |
rlinnmoran | 0:77857a36b4ff | 19 | |
rlinnmoran | 0:77857a36b4ff | 20 | printf("Starting Ethernet Configuration\n"); |
rlinnmoran | 0:77857a36b4ff | 21 | |
rlinnmoran | 0:77857a36b4ff | 22 | // Configure the Ethernet Port (see #define above) to assign an IP Address |
rlinnmoran | 0:77857a36b4ff | 23 | EthernetInterface eth; |
rlinnmoran | 0:77857a36b4ff | 24 | eth.init(MBED_DEV_IP, MBED_DEV_MASK, MBED_DEV_GW); //Assign a device ip, mask and gateway. Static (no DHCP) |
rlinnmoran | 0:77857a36b4ff | 25 | eth.connect(); |
rlinnmoran | 0:77857a36b4ff | 26 | printf("IP Address is %s\n", eth.getIPAddress()); |
rlinnmoran | 0:77857a36b4ff | 27 | |
rlinnmoran | 0:77857a36b4ff | 28 | // Establish the destination endpoints IP Address / Port |
rlinnmoran | 0:77857a36b4ff | 29 | printf("Establish destination endpoints IP Address / Port\n"); |
rlinnmoran | 0:77857a36b4ff | 30 | Endpoint dest; |
rlinnmoran | 0:77857a36b4ff | 31 | dest.set_address(DEST_IP, DEST_PORT); |
rlinnmoran | 0:77857a36b4ff | 32 | |
rlinnmoran | 0:77857a36b4ff | 33 | // Configure a UDP Socket |
rlinnmoran | 0:77857a36b4ff | 34 | printf("Configure UDP Socket\n"); |
rlinnmoran | 0:77857a36b4ff | 35 | UDPSocket sock; |
rlinnmoran | 0:77857a36b4ff | 36 | sock.init(); |
rlinnmoran | 0:77857a36b4ff | 37 | |
rlinnmoran | 0:77857a36b4ff | 38 | // TX buffer for UDP interface |
rlinnmoran | 0:77857a36b4ff | 39 | char tx_buffer[] = "#?#?#? Test Data Output #?#?#?"; |
rlinnmoran | 0:77857a36b4ff | 40 | |
rlinnmoran | 0:77857a36b4ff | 41 | while (true){ |
rlinnmoran | 0:77857a36b4ff | 42 | |
rlinnmoran | 0:77857a36b4ff | 43 | // Transmit tx_buffer |
rlinnmoran | 0:77857a36b4ff | 44 | printf("Transmit tx buffer. Data: %s\n", tx_buffer); |
rlinnmoran | 0:77857a36b4ff | 45 | sock.sendTo(dest, tx_buffer, sizeof(tx_buffer)); |
rlinnmoran | 0:77857a36b4ff | 46 | |
rlinnmoran | 0:77857a36b4ff | 47 | // Wait 1 second |
rlinnmoran | 0:77857a36b4ff | 48 | wait(1); |
rlinnmoran | 0:77857a36b4ff | 49 | |
rlinnmoran | 0:77857a36b4ff | 50 | } |
rlinnmoran | 0:77857a36b4ff | 51 | } |