packets.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 = new create::Create(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
61  // robot->setMode(create::MODE_FULL);
62 
63  std::cout << std::endl << "Press center 'Clean' button to disconnect and end program" << std::endl;
64 
65  while (!robot->isCleanButtonPressed()) {
66  // Get serial packet statistics
67  const uint64_t total_packets = robot->getTotalPackets();
68  const uint64_t num_corrupt_packets = robot->getNumCorruptPackets();
69 
70  // Print packet stats
71  std::cout << "\rTotal packets: " << total_packets << " Corrupt packets: " << num_corrupt_packets;
72 
73  usleep(100000); // 10 Hz
74  }
75 
76  std::cout << std::endl;
77 
78  // Call disconnect to avoid leaving robot in Full mode
79  robot->disconnect();
80 
81  // Clean up
82  delete robot;
83 
84  std::cout << "Bye!" << std::endl;
85  return 0;
86 }
uint64_t getTotalPackets() const
Get the total number of serial packets received (including corrupt packets) since first connecting to...
Definition: create.cpp:1016
static RobotModel CREATE_1
Compatible with Create 1 or Roomba 500 series.
Definition: types.h:68
uint64_t getNumCorruptPackets() const
Get the number of corrupt serial packets since first connecting to Create. This value is ideally zero...
Definition: create.cpp:1012
bool isCleanButtonPressed() const
Get state of &#39;clean&#39; button (&#39;play&#39; button on Create 1).
Definition: create.cpp:709
int main(int argc, char **argv)
Definition: packets.cpp:35
bool connect(const std::string &port, const int &baud)
Make a serial connection to Create.
Definition: create.cpp:272
static RobotModel CREATE_2
Compatible with Create 2 or Roomba 600 series and greater.
Definition: types.h:73
void disconnect()
Disconnect from serial.
Definition: create.cpp:293


libcreate
Author(s): Jacob Perron
autogenerated on Sat Jun 8 2019 17:58:17