Instrument Neutral Distributed Interface INDI 2.2.5
Namespaces | Enumerations | Functions | Variables
wheelly_protocol.h File Reference
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Namespaces

namespace  wheelly
 

Enumerations

enum  wheelly::Error {
  wheelly::ERR_NONE = 0 , wheelly::ERR_UNKNOWN_COMMAND = 1 , wheelly::ERR_BAD_ARGUMENTS = 2 , wheelly::ERR_OUT_OF_RANGE = 3 ,
  wheelly::ERR_SENSOR_SILENT = 4 , wheelly::ERR_NO_MAGNET = 5 , wheelly::ERR_DRIVER_SILENT = 6 , wheelly::ERR_NOT_NOW = 7 ,
  wheelly::ERR_NVS_WRITE = 8 , wheelly::ERR_BAD_FILTER_NAME = 9
}
 
enum  wheelly::NameCheck {
  wheelly::NAME_OK = 0 , wheelly::NAME_EMPTY = 1 , wheelly::NAME_TOO_LONG = 2 , wheelly::NAME_BAD_EDGE = 3 ,
  wheelly::NAME_BAD_CHAR = 4 , wheelly::NAME_RESERVED = 5
}
 

Functions

bool wheelly::name_is_alnum (char c)
 
bool wheelly::name_is_allowed (char c)
 
char wheelly::name_lower (char c)
 
bool wheelly::name_equal_nocase (const char *a, const char *b)
 
bool wheelly::name_is_reserved (const char *s)
 
NameCheck wheelly::check_filter_name (const char *s)
 
void wheelly::sanitize_filter_name (const char *in, char *out, size_t out_size)
 
int wheelly::first_duplicate_name (const char *const *names, int count)
 

Variables

const int wheelly::PROTOCOL_VERSION = 2
 
const int wheelly::MAX_SLOTS = 12
 
const int wheelly::MIN_SLOTS = 2
 
const int wheelly::FACTORY_SLOTS = 5
 
const size_t wheelly::FILTER_NAME_MAX = 32
 
const size_t wheelly::WHEELLY_LINE_MAX = 512
 
const char wheelly::PREFIX_OK [] = "ok"
 
const char wheelly::PREFIX_ERROR [] = "error"
 
const char wheelly::PREFIX_COMMENT = '#'
 
const char wheelly::PREFIX_EVENT = '!'
 
const char wheelly::CMD_VERSION [] = "version"
 
const char wheelly::CMD_STATUS [] = "status"
 
const char wheelly::CMD_GO [] = "go"
 
const char wheelly::CMD_STOP [] = "stop"
 
const char wheelly::CMD_JOG [] = "jog"
 
const int wheelly::JOG_MAX_DEG = 180
 
const char wheelly::CMD_ANGLES [] = "angles"
 
const char wheelly::CMD_ANGLE [] = "angle"
 
const int wheelly::ANGLE_MAX_DEG = 360
 
const char wheelly::CMD_NAMES [] = "names"
 
const char wheelly::CMD_NAME [] = "name"
 
const char wheelly::CMD_TEACH [] = "teach"
 
const char wheelly::CMD_SAVE [] = "save"
 
const char wheelly::CMD_TOLERANCE [] = "tolerance"
 
const char wheelly::CMD_MOTOR [] = "motor"
 
const unsigned wheelly::MOTOR_MA_MAX = 800
 
const unsigned long wheelly::MOTOR_SPEED_MAX = 5000
 
const unsigned long wheelly::MOTOR_ACCEL_MAX = 50000
 
const unsigned long wheelly::FACTORY_SPEED = 300
 
const unsigned long wheelly::FACTORY_ACCEL = 1200
 
const unsigned wheelly::FACTORY_RUN_MA = 350
 
const unsigned long wheelly::BOOST_SPEED_MAX = 1000
 
const int wheelly::TOLERANCE_MAX_DEG = 45
 
const int wheelly::RETRIES_MAX = 20
 
const float wheelly::FACTORY_GOOD_DEG = 0.3f
 
const float wheelly::FACTORY_WARN_DEG = 0.8f
 
const char wheelly::CMD_HOLD [] = "hold"
 
const char wheelly::CMD_LED [] = "led"
 
const char wheelly::CMD_DIAG [] = "diag"
 
const char wheelly::CMD_SLOTS [] = "slots"
 
const char wheelly::CMD_DIRECTION [] = "direction"
 
const char wheelly::ARG_SHORTEST [] = "shortest"
 
const char wheelly::ARG_UP [] = "up"
 
const char wheelly::ARG_DOWN [] = "down"
 
const char wheelly::FACTORY_DIRECTION [] = "shortest"
 
const float wheelly::MODEL_DISC_DIAMETER_MM = 145.0f
 
const float wheelly::MODEL_CLUTCH_DIAMETER_MM = 50.0f
 
const float wheelly::FACTORY_DRIVE_RATIO = MODEL_DISC_DIAMETER_MM / MODEL_CLUTCH_DIAMETER_MM
 
const char wheelly::CMD_RATIO [] = "ratio"
 
const char wheelly::ARG_LEARN [] = "learn"
 
const float wheelly::DRIVE_RATIO_MIN = 1.0f
 
const float wheelly::DRIVE_RATIO_MAX = 10.0f
 
const char wheelly::CMD_LEGS [] = "legs"
 
const char wheelly::F_REPORT [] = "report"
 
const unsigned long wheelly::EKOS_FILTER_TIMEOUT_MS = 30000
 
const uint16_t wheelly::RECOMMENDED_HOLD_MA = 150
 
const char wheelly::CMD_SETTLE [] = "settle"
 
const unsigned wheelly::FACTORY_SETTLE_MS = 300
 
const unsigned wheelly::SETTLE_MS_MAX = 2000
 
const char wheelly::ARG_ON [] = "on"
 
const char wheelly::ARG_OFF [] = "off"
 
const char wheelly::ARG_TEST [] = "test"
 
const char wheelly::ARG_PULSE [] = "pulse"
 
const char wheelly::F_POS [] = "pos"
 
const char wheelly::F_ANGLE [] = "angle"
 
const char wheelly::F_TARGET [] = "target"
 
const char wheelly::F_ERR [] = "err"
 
const char wheelly::F_MOTION [] = "motion"
 
const char wheelly::F_RETRIES [] = "retries"
 
const char wheelly::F_LEGS [] = "legs"
 
const char wheelly::F_BOOSTS [] = "boosts"
 
const char wheelly::F_OUTCOME [] = "outcome"
 
const char wheelly::OUTCOME_NONE [] = "none"
 
const char wheelly::F_FROM [] = "from"
 
const char wheelly::F_DIR [] = "dir"
 
const char wheelly::F_AGC [] = "agc"
 
const char wheelly::F_MAG [] = "mag"
 
const char wheelly::F_MD [] = "md"
 
const char wheelly::F_ML [] = "ml"
 
const char wheelly::F_MH [] = "mh"
 
const char wheelly::F_NAME [] = "name"
 
const char wheelly::F_FW [] = "fw"
 
const char wheelly::F_PROTO [] = "proto"
 
const char wheelly::F_SERIAL [] = "serial"
 
const char wheelly::F_SLOTS [] = "slots"
 
const char wheelly::F_GOOD [] = "good"
 
const char wheelly::F_WARN [] = "warn"
 
const char wheelly::F_MA [] = "ma"
 
const char wheelly::F_MS [] = "ms"
 
const char wheelly::F_SPEED [] = "speed"
 
const char wheelly::F_ACCEL [] = "accel"
 
const char wheelly::F_DIRECTION [] = "direction"
 
const char wheelly::F_CEILING [] = "ceiling"
 
const char wheelly::F_STATE [] = "state"
 
const char wheelly::F_ENABLED [] = "enabled"
 
const char wheelly::F_MODE [] = "mode"
 
const char wheelly::F_SAVED [] = "saved"
 
const char wheelly::F_DURATION [] = "duration"
 
const char wheelly::F_RATIO [] = "ratio"
 
const char wheelly::F_BASE [] = "base"
 
const char wheelly::F_FACTORY [] = "factory"
 
const char wheelly::F_LEARN [] = "learn"
 
const char wheelly::F_LEARNT [] = "learnt"
 
const char wheelly::F_N [] = "n"
 
const char wheelly::F_KIND [] = "kind"
 
const char wheelly::KIND_FIRST [] = "first"
 
const char wheelly::KIND_APPROACH [] = "approach"
 
const char wheelly::KIND_RETRY [] = "retry"
 
const char wheelly::F_JOG [] = "jog"
 
const char wheelly::F_STEPS [] = "steps"
 
const char wheelly::F_MOTOR [] = "motor"
 
const char wheelly::F_AIM [] = "aim"
 
const char wheelly::F_TO [] = "to"
 
const char wheelly::F_MOVED [] = "moved"
 
const char wheelly::F_LONG [] = "long"
 
const char wheelly::F_EXPECTED [] = "expected"
 
const char wheelly::F_GOT [] = "got"
 
const char wheelly::V_YES [] = "yes"
 
const char wheelly::V_NO [] = "no"
 
const char wheelly::MOTION_IDLE [] = "idle"
 
const char wheelly::MOTION_MOVING [] = "moving"
 
const char wheelly::MOTION_SETTLING [] = "settling"
 
const char wheelly::MOTION_FAILED [] = "failed"
 
const char wheelly::EV_ARRIVED [] = "arrived"
 
const char wheelly::EV_WARNING [] = "warning"
 
const char wheelly::EV_FAILED [] = "failed"
 
const char wheelly::EV_SENSOR [] = "sensor"
 
const char wheelly::EV_DRIFT [] = "drift"
 
const char wheelly::EV_LEG [] = "leg"
 
const char wheelly::EV_DRIVER [] = "driver"
 
const char wheelly::V_POWER [] = "power"
 
const char wheelly::V_RESET [] = "reset"
 
const char wheelly::F_REASON [] = "reason"