Demo example on FRDM-64F https://ide.mbed.com/compiler/#nav:/rzr-example-mbed;

Dependencies:   FXOS8700Q

Committer:
rzrfreefr
Date:
Wed Sep 16 15:00:51 2020 +0000
Revision:
1:b2103e99708c
Parent:
0:16519bf92477
Child:
2:15bfd52937dc
legal: Switch to Apache-2.0; ; Relate-to: https://os.mbed.com/users/rzrfreefr/code/rzr-example-mbed/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rzrfreefr 1:b2103e99708c 1 /// SPDX-License-Indentifier: Apache-2.0
rzrfreefr 0:16519bf92477 2 /// Copyright: 2020+ Philippe Coval <https://purl.org/rzr>
rzrfreefr 1:b2103e99708c 3 /// URL: https://os.mbed.com/users/rzrfreefr/code/rzr-example-mbed/
rzrfreefr 0:16519bf92477 4
rzrfreefr 0:16519bf92477 5 #include "mbed.h"
rzrfreefr 0:16519bf92477 6
rzrfreefr 0:16519bf92477 7 #include "EthernetInterface.h"
rzrfreefr 0:16519bf92477 8 #include "USBKeyboard.h"
rzrfreefr 0:16519bf92477 9 #include "FXOS8700Q.h"
rzrfreefr 0:16519bf92477 10
rzrfreefr 0:16519bf92477 11 #define USB_ENABLED 1
rzrfreefr 0:16519bf92477 12 #define NET_ENABLED 1
rzrfreefr 0:16519bf92477 13
rzrfreefr 0:16519bf92477 14 int main()
rzrfreefr 0:16519bf92477 15 {
rzrfreefr 0:16519bf92477 16 printf("%s\n", __FILE__);
rzrfreefr 0:16519bf92477 17 I2C i2c(PTE25, PTE24);
rzrfreefr 0:16519bf92477 18 motion_data_units_t acc_data;
rzrfreefr 0:16519bf92477 19 motion_data_counts_t acc_raw;
rzrfreefr 0:16519bf92477 20
rzrfreefr 0:16519bf92477 21 FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board
rzrfreefr 0:16519bf92477 22 #ifdef USB_ENABLED
rzrfreefr 0:16519bf92477 23 printf("usb:\n");
rzrfreefr 0:16519bf92477 24 USBKeyboard usb; ///< https://os.mbed.com/docs/mbed-os/v6.2/apis/usbkeyboard.html
rzrfreefr 0:16519bf92477 25 #endif
rzrfreefr 0:16519bf92477 26
rzrfreefr 0:16519bf92477 27 #ifdef NET_ENABLED
rzrfreefr 0:16519bf92477 28 EthernetInterface eth; ///< https://os.mbed.com/docs/mbed-os/v6.2/apis/ethernet.html
rzrfreefr 0:16519bf92477 29 eth.set_dhcp(true);
rzrfreefr 0:16519bf92477 30 eth.connect();
rzrfreefr 0:16519bf92477 31 #endif
rzrfreefr 0:16519bf92477 32
rzrfreefr 0:16519bf92477 33 DigitalOut led(LED1);
rzrfreefr 0:16519bf92477 34
rzrfreefr 0:16519bf92477 35 int16_t rmX, rmY, rmZ;
rzrfreefr 0:16519bf92477 36 acc.enable();
rzrfreefr 0:16519bf92477 37 printf("\r\n\nFXOS8700Q Who Am I= %X\r\n", acc.whoAmI());
rzrfreefr 0:16519bf92477 38 while (true) {
rzrfreefr 0:16519bf92477 39 acc.getAxis(acc_data);
rzrfreefr 0:16519bf92477 40 printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f ", acc_data.x, acc_data.y, acc_data.z);
rzrfreefr 0:16519bf92477 41 printf("%s\n", __FILE__);
rzrfreefr 0:16519bf92477 42 led = !led;
rzrfreefr 0:16519bf92477 43 #ifdef NET_ENABLED
rzrfreefr 0:16519bf92477 44 printf("\nClient IP Address is %s\n", eth.get_mac_address());
rzrfreefr 0:16519bf92477 45 SocketAddress a;
rzrfreefr 0:16519bf92477 46 eth.get_ip_address(&a);
rzrfreefr 0:16519bf92477 47 printf("IP address: %s\n", a.get_ip_address() ? a.get_ip_address() : "None");
rzrfreefr 0:16519bf92477 48 #endif
rzrfreefr 0:16519bf92477 49 #ifdef USB_ENABLED
rzrfreefr 0:16519bf92477 50 usb.connect();
rzrfreefr 0:16519bf92477 51 usb.printf("# \n");
rzrfreefr 0:16519bf92477 52 #endif
rzrfreefr 0:16519bf92477 53 ThisThread::sleep_for(1000.f);
rzrfreefr 0:16519bf92477 54 }
rzrfreefr 0:16519bf92477 55 }