wheeldrop.cpp
Go to the documentation of this file.
1 
31 #include "create/create.h"
32 
33 #include <iostream>
34 
35 int main(int argc, char** argv) {
36  // Select robot. Assume Create 2 unless argument says otherwise
38  std::string port = "/dev/ttyUSB0";
39  int baud = 115200;
40  if (argc > 1 && std::string(argv[1]) == "create1") {
42  baud = 57600;
43  std::cout << "Running driver for Create 1" << std::endl;
44  }
45  else {
46  std::cout << "Running driver for Create 2" << std::endl;
47  }
48 
49  // Construct robot object
50  create::Create robot(model);
51 
52  // Connect to robot
53  if (robot.connect(port, baud))
54  std::cout << "Connected to robot" << std::endl;
55  else {
56  std::cout << "Failed to connect to robot on port " << port.c_str() << std::endl;
57  return 1;
58  }
59 
60  // Switch to Full mode
62 
63  while (true) {
64  // Get wheeldrop status
65  const bool wheeldrop_left = robot.isLeftWheeldrop();
66  const bool wheeldrop_right = robot.isRightWheeldrop();
67 
68  // Print status
69  std::cout << "\rWheeldrop status (left and right): [ " <<
70  wheeldrop_left <<
71  ", " <<
72  wheeldrop_right <<
73  " ]";
74 
75  // If dropped, then make light red
76  if (wheeldrop_left || wheeldrop_right)
77  robot.setPowerLED(255); // Red
78  else
79  robot.setPowerLED(0); // Green
80 
81  usleep(10000); // 10 Hz
82  }
83 
84  return 0;
85 }
bool isLeftWheeldrop() const
Definition: create.cpp:606
static RobotModel CREATE_1
Compatible with Create 1 or Roomba 500 series.
Definition: types.h:68
bool setPowerLED(const uint8_t &power, const uint8_t &intensity=255)
Set the center power LED.
Definition: create.cpp:538
bool isRightWheeldrop() const
Definition: create.cpp:616
bool connect(const std::string &port, const int &baud)
Make a serial connection to Create.
Definition: create.cpp:269
static RobotModel CREATE_2
Compatible with Create 2 or Roomba 600 series and greater.
Definition: types.h:73
int main(int argc, char **argv)
Definition: wheeldrop.cpp:35
bool setMode(const create::CreateMode &mode)
Change Create mode.
Definition: create.cpp:301


libcreate
Author(s): Jacob Perron
autogenerated on Sat Jan 2 2021 04:00:49