Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MPU9250_SPI
Fork of WearableDevice_Nucleo by
main.cpp
- Committer:
- Muglug
- Date:
- 2017-10-18
- Revision:
- 18:7f9c2b8541e1
- Parent:
- 17:f98597cd2efc
- Child:
- 19:0a3ae902722e
File content as of revision 18:7f9c2b8541e1:
/* * Los Putacos * Copyright (C) 2017, All rights reserved. * ________________________________________ * * Created by: Gustavo Campana, Michael Schmidt, Miguel Lopez * Date: 11-Oct-2017 * Version: V0.1 */ //----------------------------------------------------------------- // Board: NUCLEO - F401RE // Version: MR1136 rev C //----------------------------------------------------------------- //----------------------------------------------------------------- // Includes #include "mbed.h" #include "rtos.h" #include "mbed_events.h" #include "configuration.h" #include "event.h" #include "pin.h" #include "MPU9250.h" #include "XBeeLib.h" //----------------------------------------------------------------- //----------------------------------------------------------------- // Declarations Timer time_stamp; //Timer µS time-stamp EventQueue queue(32 * EVENTS_EVENT_SIZE); //Event Serial PC(USBTX, USBRX); // PC Serial (Debug) // Serial XBeeee(PA_11, PA_12); // Xbee // MPU9250 imu; // IMU MPU-9255 by Kris Winer //----------------------------------------------------------------- //----------------------------------------------------------------- // Global Variables // Your code here! //----------------------------------------------------------------- /* //----------------------------------------------------------------- void print_event(void const *argv, int i) { pc.printf("%d ",i); pc.printf((const char*)argv); pc.printf("\r\n"); } //----------------------------------------------------------------- */ //----------------------------------------------------------------- /*void blink_event(DigitalOut pin){ pin = !pin; } //----------------------------------------------------------------- //----------------------------------------------------------------- void println_event(){ pc.printf("Arroz, feijao e batata\r\n"); } //----------------------------------------------------------------- */ //----------------------------------------------------------------- void Setup() { // PC Serial (Debug) baudrate PC.baud(9600); PC.printf("CPU SystemCoreClock is %d Hz\r\n", SystemCoreClock); // XBeeee.baud(9600); // Task queue // int task1_id = queue.call_every(1000, printf, "called every 1 seconds\n"); // int task2_id = queue.call_every(2500, printf, "called every 2.5 seconds\n"); // int task3_id = queue.call_every(3000, &print_event, (void *)"called every 3 seconds\n", (int) time_stamp.read()); // int task4_id = queue.call_every(50, blink_event, led1); // int task5_id = queue.call_every(500, println_event); // int task6_id = queue.call_every(500, readIMU); // int task7_id = queue.call_every(500, gayEvent); } //----------------------------------------------------------------- //----------------------------------------------------------------- /*void initMPU9250() { // Initialize MPU9250 device // wake up device imu.writeByte(MPU9250_ADDRESS, PWR_MGMT_1, 0x00); // Clear sleep mode bit (6), enable all sensors }*/ //----------------------------------------------------------------- using namespace XBeeLib; /** Callback function, invoked at packet reception */ static void receive_cb(const RemoteXBeeZB& remote, bool broadcast, const uint8_t *const data, uint16_t len) { for (int i = 0; i < len; i++) PC.printf("%c", data[i]); PC.printf("\r\n"); } //----------------------------------------------------------------- int main() { Setup(); // Initial Setups const uint8_t data[] = "Hello Master!"; const uint16_t data_len = sizeof data / sizeof data[0] - 1; XBeeZB XBee = XBeeZB(RADIO_TX, RADIO_RX, RADIO_RESET, NC, NC, 115200); XBee.init(); /* Register callbacks */ XBee.register_receive_cb(&receive_cb); // Reading the analog input (Microphone) // array = micro.read_u16(); time_stamp.start(); // Start timer led1 = 1; while (true) { // queue.dispatch(); XBee.process_rx_frames(); TxStatus txStatus = XBee.send_data_to_coordinator(data, data_len); if (txStatus != TxStatusSuccess) { PC.printf("send_data_broadcast() failed with error %d\n", (int)txStatus); } } } //-----------------------------------------------------------------