![]() |
NASA Astrobee Robot Software
Astrobee Version:
Flight software for the Astrobee robots operating inside the International Space Station.
|
#include <pmc_actuator/pmc_actuator.h>
#include <unistd.h>
#include <cerrno>
#include <cstring>
#include <algorithm>
#include <chrono>
#include <fstream>
#include <iostream>
#include <iterator>
#include <map>
#include <mutex>
#include <sstream>
#include <string>
#include <thread>
#include <vector>
Classes | |
struct | PmcActuatorData |
Macros | |
#define | DEFAULT_CSV_FILE "nozzle_identification.csv" |
#define | DEFAULT_I2C_DEV "/dev/i2c-2" |
#define | DEFAULT_I2C_ADDRESSES { 0x21, 0x20 } |
#define | DEFAULT_I2C_RETRIES 3 |
#define | DEFAULT_CONTROL_RATE_HZ 62.5 |
#define | MIN_BLOWER_SPEED 0 |
#define | MAX_BLOWER_SPEED 232 |
#define | MIN_NOZZLE_POSITION 0 |
#define | MAX_NOZZLE_POSITION 255 |
#define | STUB_CMDS_FILENAME "/tmp/hw/pmc/commands" |
#define | STUB_TELEM_FILENAME "/tmp/hw/pmc/telemetry" |
Typedefs | |
typedef std::map< double, pmc_actuator::Command > | PmcCommandList |
typedef std::shared_ptr< pmc_actuator::PmcActuatorBase > | PmcActuatorPtr |
typedef std::pair< PmcActuatorPtr, PmcActuatorData > | PmcActuatorPair |
typedef std::vector< PmcActuatorPair > | PmcActuatorVec |
Functions | |
uint32_t | InputUnsignedInteger (uint32_t min, uint32_t max) |
std::string | InputFile () |
void | PmcMenu (PmcActuatorPair &pmc_pair) |
bool | RunFile (PmcActuatorVec &pmcs, std::string &csv) |
bool | MainMenu (PmcActuatorVec &pmcs, std::string &csv) |
void | ControlThread (PmcActuatorVec &pmcs, double rate, bool &finished) |
int | main (int argc, char *argv[]) |
Variables | |
bool | kLogging = false |
bool | kDebug = false |
bool | kLooping = false |
std::mutex | data_mutex_ |
pmc_actuator::Command | null_command_ |
std::chrono::time_point< std::chrono::steady_clock > | plan_start_time_ |
#define DEFAULT_CONTROL_RATE_HZ 62.5 |
#define DEFAULT_CSV_FILE "nozzle_identification.csv" |
#define DEFAULT_I2C_ADDRESSES { 0x21, 0x20 } |
#define DEFAULT_I2C_DEV "/dev/i2c-2" |
#define DEFAULT_I2C_RETRIES 3 |
#define MAX_BLOWER_SPEED 232 |
#define MAX_NOZZLE_POSITION 255 |
#define MIN_BLOWER_SPEED 0 |
#define MIN_NOZZLE_POSITION 0 |
#define STUB_CMDS_FILENAME "/tmp/hw/pmc/commands" |
#define STUB_TELEM_FILENAME "/tmp/hw/pmc/telemetry" |
typedef std::pair<PmcActuatorPtr, PmcActuatorData> PmcActuatorPair |
typedef std::shared_ptr<pmc_actuator::PmcActuatorBase> PmcActuatorPtr |
typedef std::vector<PmcActuatorPair> PmcActuatorVec |
typedef std::map<double, pmc_actuator::Command> PmcCommandList |
void ControlThread | ( | PmcActuatorVec & | pmcs, |
double | rate, | ||
bool & | finished | ||
) |
std::string InputFile | ( | ) |
uint32_t InputUnsignedInteger | ( | uint32_t | min, |
uint32_t | max | ||
) |
int main | ( | int | argc, |
char * | argv[] | ||
) |
bool MainMenu | ( | PmcActuatorVec & | pmcs, |
std::string & | csv | ||
) |
void PmcMenu | ( | PmcActuatorPair & | pmc_pair | ) |
bool RunFile | ( | PmcActuatorVec & | pmcs, |
std::string & | csv | ||
) |
std::mutex data_mutex_ |
bool kDebug = false |
bool kLogging = false |
bool kLooping = false |
pmc_actuator::Command null_command_ |
std::chrono::time_point<std::chrono::steady_clock> plan_start_time_ |