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.
variables/instanceHeader.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_INSTANCEHEADER_H_ |
| _seminahn | 0:4ff8aeb3e4d1 | 2 | #define ZETA_STM_KINETIC_INSTANCEHEADER_H_ |
| _seminahn | 0:4ff8aeb3e4d1 | 3 | #include "mbed.h" |
| _seminahn | 3:a4677501ae87 | 4 | #include "src/rosHeader.hpp" |
| _seminahn | 3:a4677501ae87 | 5 | #include "src/moduleHeader.hpp" |
| _seminahn | 3:a4677501ae87 | 6 | #include "src/callbackHeader.hpp" |
| _seminahn | 0:4ff8aeb3e4d1 | 7 | #include "defineHeader.h" |
| _seminahn | 3:a4677501ae87 | 8 | #include "configurations/robotConfig.h" |
| _seminahn | 0:4ff8aeb3e4d1 | 9 | /* COM variables ------------------------------------------------------------ */ |
| _seminahn | 3:a4677501ae87 | 10 | #if (NO_ROS) |
| _seminahn | 0:4ff8aeb3e4d1 | 11 | extern mbed::Serial pc; |
| _seminahn | 3:a4677501ae87 | 12 | #else |
| _seminahn | 0:4ff8aeb3e4d1 | 13 | extern ros::NodeHandle nh; |
| _seminahn | 3:a4677501ae87 | 14 | #endif |
| _seminahn | 0:4ff8aeb3e4d1 | 15 | extern mbed::Serial bt; |
| _seminahn | 0:4ff8aeb3e4d1 | 16 | |
| _seminahn | 0:4ff8aeb3e4d1 | 17 | /* ROS variables ------------------------------------------------------------ */ |
| _seminahn | 0:4ff8aeb3e4d1 | 18 | // Publisher |
| _seminahn | 3:a4677501ae87 | 19 | //zetabot_main::SonarArray US_msg; |
| _seminahn | 3:a4677501ae87 | 20 | //ros::Publisher US_publisher("sonar", &US_msg); |
| _seminahn | 3:a4677501ae87 | 21 | std_msgs::String version_msg; |
| _seminahn | 3:a4677501ae87 | 22 | ros::Publisher version_publisher("stm_version", &version_msg); |
| _seminahn | 3:a4677501ae87 | 23 | |
| _seminahn | 3:a4677501ae87 | 24 | std_msgs::Float32MultiArray US_msg; |
| _seminahn | 3:a4677501ae87 | 25 | ros::Publisher US_publisher("sonar", &US_msg); |
| _seminahn | 3:a4677501ae87 | 26 | |
| _seminahn | 3:a4677501ae87 | 27 | std_msgs::String Bluetooth_msg; |
| _seminahn | 3:a4677501ae87 | 28 | ros::Publisher Bluetooth_publisher("autocharge_state_INO", &Bluetooth_msg); |
| _seminahn | 3:a4677501ae87 | 29 | |
| _seminahn | 3:a4677501ae87 | 30 | #if (ROBOT_TYPE == MODEL_D) |
| _seminahn | 3:a4677501ae87 | 31 | //std_msgs::UInt8 water_level_msg; |
| _seminahn | 3:a4677501ae87 | 32 | //ros::Publisher water_level_publisher("water_level", &water_level_msg); |
| _seminahn | 3:a4677501ae87 | 33 | std_msgs::Bool water_level_msg; |
| _seminahn | 3:a4677501ae87 | 34 | ros::Publisher water_level_publisher("water_level", &water_level_msg); |
| _seminahn | 3:a4677501ae87 | 35 | #endif |
| _seminahn | 3:a4677501ae87 | 36 | |
| _seminahn | 3:a4677501ae87 | 37 | #if (ROBOT_TYPE == MODEL_I) |
| _seminahn | 3:a4677501ae87 | 38 | std_msgs::Bool lidar_dusty_msg; |
| _seminahn | 3:a4677501ae87 | 39 | ros::Publisher LidarDusty_publisher("LidarDusty", &lidar_dusty_msg); |
| _seminahn | 3:a4677501ae87 | 40 | |
| _seminahn | 3:a4677501ae87 | 41 | std_msgs::UInt8 emergency_stop_msg; |
| _seminahn | 3:a4677501ae87 | 42 | ros::Publisher EmergencyStop_publisher("EmergencyStop", &emergency_stop_msg); |
| _seminahn | 3:a4677501ae87 | 43 | #endif |
| _seminahn | 3:a4677501ae87 | 44 | |
| _seminahn | 0:4ff8aeb3e4d1 | 45 | sensor_msgs::Imu imu_msg; |
| _seminahn | 0:4ff8aeb3e4d1 | 46 | ros::Publisher IMU_publisher("imu", &imu_msg); |
| _seminahn | 0:4ff8aeb3e4d1 | 47 | |
| _seminahn | 0:4ff8aeb3e4d1 | 48 | std_msgs::Bool EStop_msg; |
| _seminahn | 0:4ff8aeb3e4d1 | 49 | ros::Publisher EStop_publisher("estop", &EStop_msg); |
| _seminahn | 3:a4677501ae87 | 50 | |
| _seminahn | 0:4ff8aeb3e4d1 | 51 | std_msgs::Bool Bumper_msg; |
| _seminahn | 0:4ff8aeb3e4d1 | 52 | ros::Publisher Bumper_publisher("bumper", &Bumper_msg); |
| _seminahn | 0:4ff8aeb3e4d1 | 53 | |
| _seminahn | 0:4ff8aeb3e4d1 | 54 | |
| _seminahn | 0:4ff8aeb3e4d1 | 55 | // Subscriber |
| _seminahn | 0:4ff8aeb3e4d1 | 56 | void BluetoothCB(const std_msgs::UInt8& msg); |
| _seminahn | 0:4ff8aeb3e4d1 | 57 | ros::Subscriber<std_msgs::UInt8> Bluetooth_subscriber("autocharge_state_NUC", &BluetoothCB); |
| _seminahn | 0:4ff8aeb3e4d1 | 58 | |
| _seminahn | 3:a4677501ae87 | 59 | void SsrTestCB(const std_msgs::Bool& msg); |
| _seminahn | 3:a4677501ae87 | 60 | ros::Subscriber<std_msgs::Bool> SsrTest_subscriber("SsrControlTest", &SsrTestCB); |
| _seminahn | 0:4ff8aeb3e4d1 | 61 | |
| _seminahn | 3:a4677501ae87 | 62 | #if (ROBOT_TYPE == MODEL_I) |
| _seminahn | 3:a4677501ae87 | 63 | void WarningFieldSelectCB(const std_msgs::UInt8& msg); |
| _seminahn | 3:a4677501ae87 | 64 | ros::Subscriber<std_msgs::UInt8> WarningFieldSelect_subscriber("WarningFieldSelect", &WarningFieldSelectCB); |
| _seminahn | 3:a4677501ae87 | 65 | |
| _seminahn | 3:a4677501ae87 | 66 | void IgnoreWarningFieldCB(const std_msgs::UInt8&); |
| _seminahn | 3:a4677501ae87 | 67 | ros::Subscriber<std_msgs::UInt8> IgnoreWarningField_subscriber("IgnoreWarningField", &IgnoreWarningFieldCB); |
| _seminahn | 3:a4677501ae87 | 68 | |
| _seminahn | 3:a4677501ae87 | 69 | void ScrubberControlCB(const std_msgs::Bool& msg); |
| _seminahn | 3:a4677501ae87 | 70 | ros::Subscriber<std_msgs::Bool> ScrubberControl_subscriber("ScrubberControl", &ScrubberControlCB); |
| _seminahn | 3:a4677501ae87 | 71 | #endif |
| _seminahn | 0:4ff8aeb3e4d1 | 72 | /* Threads and Timers ------------------------------------------------------- */ |
| _seminahn | 0:4ff8aeb3e4d1 | 73 | Thread gThread[NUM_THREAD]; |
| _seminahn | 0:4ff8aeb3e4d1 | 74 | |
| _seminahn | 0:4ff8aeb3e4d1 | 75 | Timer waitTmr; |
| _seminahn | 0:4ff8aeb3e4d1 | 76 | |
| _seminahn | 0:4ff8aeb3e4d1 | 77 | |
| _seminahn | 0:4ff8aeb3e4d1 | 78 | /* Modules ------------------------------------------------------------------ */ |
| _seminahn | 0:4ff8aeb3e4d1 | 79 | MPU9250_SPI mpu(IMU_MOSI, IMU_MISO, IMU_SCK, IMU_NCS, IMU_INT); |
| _seminahn | 0:4ff8aeb3e4d1 | 80 | |
| _seminahn | 3:a4677501ae87 | 81 | #if ((ROBOT_TYPE == MODEL_C) || (ROBOT_TYPE == MODEL_D)) |
| _seminahn | 3:a4677501ae87 | 82 | ChargingControl charging_control(CHARGE_RELAYP, CHARGE_RELAYN); |
| _seminahn | 3:a4677501ae87 | 83 | DigitalIn estop(EMERGENCY_STOP); |
| _seminahn | 3:a4677501ae87 | 84 | PinName echo[NUM_SONAR] = {RS_ECH01, RS_ECH02, RS_ECH03, RS_ECH04, RS_ECH05, RS_ECH06, RS_ECH07, RU_ECH01, RU_ECH02, RU_ECH03}; |
| _seminahn | 3:a4677501ae87 | 85 | SONAR_MANAGER<NUM_SONAR> sonar_manager(echo, TRIG); |
| _seminahn | 3:a4677501ae87 | 86 | #elif (ROBOT_TYPE == MODEL_I) |
| _seminahn | 3:a4677501ae87 | 87 | PinName echo[NUM_SONAR] = {SONAR_LEFT, SONAR_RIGHT}; |
| _seminahn | 3:a4677501ae87 | 88 | SONAR_MANAGER<NUM_SONAR> sonar_manager(echo, SONAR_TRIG); |
| _seminahn | 3:a4677501ae87 | 89 | #endif |
| _seminahn | 0:4ff8aeb3e4d1 | 90 | |
| _seminahn | 3:a4677501ae87 | 91 | #if (ROBOT_TYPE == MODEL_D) |
| _seminahn | 3:a4677501ae87 | 92 | //DigitalIn level_blue(LEVEL_SENSE1); |
| _seminahn | 3:a4677501ae87 | 93 | //DigitalIn level_yellow(LEVEL_SENSE2); |
| _seminahn | 3:a4677501ae87 | 94 | DigitalIn level_sensor(LEVEL_SENSE); |
| _seminahn | 3:a4677501ae87 | 95 | #endif |
| _seminahn | 3:a4677501ae87 | 96 | |
| _seminahn | 3:a4677501ae87 | 97 | #if (ROBOT_TYPE == MODEL_I) |
| _seminahn | 3:a4677501ae87 | 98 | DigitalOut ChargingSsr(SSR_CTRL, 0); |
| _seminahn | 3:a4677501ae87 | 99 | DigitalOut ScrubberControl(SCRUBBER_CTRL, 0); |
| _seminahn | 3:a4677501ae87 | 100 | DigitalOut WaringFieldSelectPin1(LIDAR_WARNING1, 1); |
| _seminahn | 3:a4677501ae87 | 101 | DigitalOut WaringFieldSelectPin2(LIDAR_WARNING2, 1); |
| _seminahn | 3:a4677501ae87 | 102 | DigitalOut IgnoreWarningFieldPin1(IGNORE_WARNING1, 0); |
| _seminahn | 3:a4677501ae87 | 103 | DigitalOut IgnoreWarningFieldPin2(IGNORE_WARNING2, 0); |
| _seminahn | 3:a4677501ae87 | 104 | DigitalIn LidarDustSensingPin(LIDAR_DUSTSENSING); |
| _seminahn | 3:a4677501ae87 | 105 | DigitalIn EmergencyStopPin(EMERGENCY_STOP); |
| _seminahn | 3:a4677501ae87 | 106 | DigitalIn LidarStopPin(LIDAR_DETECT_OBSTACLE); |
| _seminahn | 3:a4677501ae87 | 107 | #endif |
| _seminahn | 3:a4677501ae87 | 108 | |
| _seminahn | 3:a4677501ae87 | 109 | //EStop estop(EMERGENCY); |
| _seminahn | 0:4ff8aeb3e4d1 | 110 | |
| _seminahn | 0:4ff8aeb3e4d1 | 111 | /* For test ----------------------------------------------------------------- */ |
| _seminahn | 0:4ff8aeb3e4d1 | 112 | |
| _seminahn | 2:0de4854743f7 | 113 | #endif |