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.
src/initFunction.hpp@3:a4677501ae87, 2021-11-30 (annotated)
- Committer:
 - _seminahn
 - Date:
 - Tue Nov 30 08:13:05 2021 +0000
 - Revision:
 - 3:a4677501ae87
 - Parent:
 - 2:0de4854743f7
 
v1.2.5, change imu freq
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| _seminahn | 0:4ff8aeb3e4d1 | 1 | #ifndef ZETA_STM_KINETIC_INITFUNCTION_H_ | 
| _seminahn | 0:4ff8aeb3e4d1 | 2 | #define ZETA_STM_KINETIC_INITFUNCTION_H_ | 
| _seminahn | 0:4ff8aeb3e4d1 | 3 | #include "mbed.h" | 
| _seminahn | 0:4ff8aeb3e4d1 | 4 | #include "threadDeclaration.hpp" | 
| _seminahn | 3:a4677501ae87 | 5 | #include "variables/instanceHeader.hpp" | 
| _seminahn | 0:4ff8aeb3e4d1 | 6 | #include "rosHeader.hpp" | 
| _seminahn | 3:a4677501ae87 | 7 | #include "configurations/robotConfig.h" | 
| _seminahn | 0:4ff8aeb3e4d1 | 8 | void initThread() { | 
| _seminahn | 3:a4677501ae87 | 9 | int index = 0; | 
| _seminahn | 3:a4677501ae87 | 10 | gThread[index++].start(IMU_thread); | 
| _seminahn | 3:a4677501ae87 | 11 | gThread[index++].start(bt_thread); | 
| _seminahn | 3:a4677501ae87 | 12 | gThread[index++].start(sonar_thread); | 
| _seminahn | 3:a4677501ae87 | 13 | gThread[index++].start(sonar_pub_thread); | 
| _seminahn | 3:a4677501ae87 | 14 | gThread[index++].start(bt_pub_thread); | 
| _seminahn | 3:a4677501ae87 | 15 | #ifdef NO_ROS | 
| _seminahn | 3:a4677501ae87 | 16 | gThread[index++].start(print_thread); | 
| _seminahn | 3:a4677501ae87 | 17 | #else | 
| _seminahn | 1:2594a70c1ddd | 18 | //gThread[3].start(module_thread); | 
| _seminahn | 3:a4677501ae87 | 19 | gThread[index++].start(imu_pub_thread); | 
| _seminahn | 3:a4677501ae87 | 20 | gThread[index++].start(estop_pub_thread); | 
| _seminahn | 3:a4677501ae87 | 21 | #if (ROBOT_TYPE == MODEL_D) | 
| _seminahn | 3:a4677501ae87 | 22 | gThread[index++].start(level_sensor_thread); | 
| _seminahn | 3:a4677501ae87 | 23 | #endif | 
| _seminahn | 3:a4677501ae87 | 24 | #if (ROBOT_TYPE == MODEL_I) | 
| _seminahn | 3:a4677501ae87 | 25 | gThread[index++].start(lidar_dusty_pub_thread); | 
| _seminahn | 3:a4677501ae87 | 26 | #endif | 
| _seminahn | 3:a4677501ae87 | 27 | #endif /* #ifdef NO_ROS */ | 
| _seminahn | 1:2594a70c1ddd | 28 | //gThread[8].start(test_thread); | 
| _seminahn | 0:4ff8aeb3e4d1 | 29 | } | 
| _seminahn | 0:4ff8aeb3e4d1 | 30 | |
| _seminahn | 0:4ff8aeb3e4d1 | 31 | void initBT() { | 
| _seminahn | 0:4ff8aeb3e4d1 | 32 | bt.baud(9600); | 
| _seminahn | 0:4ff8aeb3e4d1 | 33 | bt_data.rec = '\0'; | 
| _seminahn | 0:4ff8aeb3e4d1 | 34 | bt_data.sen = '\0'; | 
| _seminahn | 0:4ff8aeb3e4d1 | 35 | } | 
| _seminahn | 0:4ff8aeb3e4d1 | 36 | |
| _seminahn | 3:a4677501ae87 | 37 | #ifdef NO_ROS | 
| _seminahn | 0:4ff8aeb3e4d1 | 38 | void initSerial() { | 
| _seminahn | 0:4ff8aeb3e4d1 | 39 | pc.baud(115200); | 
| _seminahn | 0:4ff8aeb3e4d1 | 40 | } | 
| _seminahn | 3:a4677501ae87 | 41 | #else | 
| _seminahn | 0:4ff8aeb3e4d1 | 42 | void initROS() { | 
| _seminahn | 3:a4677501ae87 | 43 | nh.getHardware()->setBaud(ROSSERIAL_BUADRATE); | 
| _seminahn | 0:4ff8aeb3e4d1 | 44 | nh.initNode(); | 
| _seminahn | 3:a4677501ae87 | 45 | US_msg.data = (float*)malloc(sizeof(float) * NUM_SONAR); | 
| _seminahn | 3:a4677501ae87 | 46 | US_msg.data_length = NUM_SONAR; | 
| _seminahn | 0:4ff8aeb3e4d1 | 47 | nh.advertise(IMU_publisher); | 
| _seminahn | 0:4ff8aeb3e4d1 | 48 | nh.advertise(EStop_publisher); | 
| _seminahn | 3:a4677501ae87 | 49 | //nh.advertise(Bumper_publisher); | 
| _seminahn | 0:4ff8aeb3e4d1 | 50 | nh.advertise(US_publisher); | 
| _seminahn | 0:4ff8aeb3e4d1 | 51 | nh.advertise(Bluetooth_publisher); | 
| _seminahn | 0:4ff8aeb3e4d1 | 52 | nh.subscribe(Bluetooth_subscriber); | 
| _seminahn | 3:a4677501ae87 | 53 | nh.subscribe(SsrTest_subscriber); | 
| _seminahn | 3:a4677501ae87 | 54 | #if (ROBOT_TYPE == MODEL_D) | 
| _seminahn | 3:a4677501ae87 | 55 | nh.advertise(water_level_publisher); | 
| _seminahn | 3:a4677501ae87 | 56 | #endif | 
| _seminahn | 3:a4677501ae87 | 57 | #if (ROBOT_TYPE == MODEL_I) | 
| _seminahn | 3:a4677501ae87 | 58 | nh.subscribe(ScrubberControl_subscriber); | 
| _seminahn | 3:a4677501ae87 | 59 | nh.advertise(LidarDusty_publisher); | 
| _seminahn | 3:a4677501ae87 | 60 | nh.advertise(EmergencyStop_publisher); | 
| _seminahn | 3:a4677501ae87 | 61 | nh.subscribe(WarningFieldSelect_subscriber); | 
| _seminahn | 3:a4677501ae87 | 62 | nh.subscribe(IgnoreWarningField_subscriber); | 
| _seminahn | 3:a4677501ae87 | 63 | #endif | 
| _seminahn | 0:4ff8aeb3e4d1 | 64 | while(!nh.connected()) nh.spinOnce(); | 
| _seminahn | 0:4ff8aeb3e4d1 | 65 | waitTmr.start(); | 
| _seminahn | 3:a4677501ae87 | 66 | nh.loginfo(__FW_VERSION__); | 
| _seminahn | 0:4ff8aeb3e4d1 | 67 | } | 
| _seminahn | 3:a4677501ae87 | 68 | #endif | 
| _seminahn | 0:4ff8aeb3e4d1 | 69 | |
| _seminahn | 2:0de4854743f7 | 70 | #endif |