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

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?

UserRevisionLine numberNew 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 }