Phil COVAL
/
rzr-example-mbed
Demo example on FRDM-64F https://ide.mbed.com/compiler/#nav:/rzr-example-mbed;
main.cpp@1:b2103e99708c, 2020-09-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |