TwiceAsNice  2019-02-18
Classes | Macros | Enumerations | Functions | Variables
integra.cpp File Reference
#include "integra.h"
#include "indicom.h"
#include "connectionplugins/connectionserial.h"
#include <cmath>
#include <cstring>
#include <memory>
#include <termios.h>
Include dependency graph for integra.cpp:

Classes

struct  COMMANDDESC
 

Macros

#define INTEGRA_TIMEOUT_IN_S   5
 
#define INTEGRA_TEMPERATURE_LOOP_SKIPS   60
 
#define INTEGRA_TEMPERATURE_TRESHOLD_IN_C   0.1
 
#define INTEGRA_ROUNDING_FUDGE   0.001
 
#define ROTATOR_TAB   "Rotator"
 
#define SETTINGS_TAB   "Settings"
 

Enumerations

enum  {
  stop_motor, calibrate, calibrate_interrupt, calibration_state,
  get_temperature, set_motstep, get_motstep, move_mot_in,
  move_mot_out, get_motrange, is_moving, invert_dir,
  EEPROMwrite
}
 

Functions

std::unique_ptr< Integraintegra (new Integra())
 
void ISGetProperties (const char *dev)
 Get Device Properties. More...
 
void ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n)
 Update the value of an existing switch vector property. More...
 
void ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n)
 Update the value of an existing text vector property. More...
 
void ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n)
 
void ISNewBLOB (const char *dev, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n)
 Update data of an existing blob vector property. More...
 
void ISSnoopDevice (XMLEle *root)
 Function defined by Drivers that is called when another Driver it is snooping (by having previously called IDSnoopDevice()) sent any INDI message. More...
 

Variables

static const COMMANDDESC IntegraProtocol []
 

Macro Definition Documentation

◆ INTEGRA_ROUNDING_FUDGE

#define INTEGRA_ROUNDING_FUDGE   0.001

◆ INTEGRA_TEMPERATURE_LOOP_SKIPS

#define INTEGRA_TEMPERATURE_LOOP_SKIPS   60

◆ INTEGRA_TEMPERATURE_TRESHOLD_IN_C

#define INTEGRA_TEMPERATURE_TRESHOLD_IN_C   0.1

◆ INTEGRA_TIMEOUT_IN_S

#define INTEGRA_TIMEOUT_IN_S   5

◆ ROTATOR_TAB

#define ROTATOR_TAB   "Rotator"

◆ SETTINGS_TAB

#define SETTINGS_TAB   "Settings"

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
stop_motor 
calibrate 
calibrate_interrupt 
calibration_state 
get_temperature 
set_motstep 
get_motstep 
move_mot_in 
move_mot_out 
get_motrange 
is_moving 
invert_dir 
EEPROMwrite 

Function Documentation

◆ integra()

std::unique_ptr<Integra> integra ( new   Integra())

◆ ISNewNumber()

void ISNewNumber ( const char *  dev,
const char *  name,
double  values[],
char *  names[],
int  n 
)

Variable Documentation

◆ IntegraProtocol

const COMMANDDESC IntegraProtocol[]
static
Initial value:
= {
{ "@SW%d,0\r\n", { "S", "SW"}},
{ "@CS%d,0\r\n", { "C", "CS"}},
{ "@CE%d,0\r\n", { "CE", "CE"}},
{ "@CR%d,0\r\n", { "CR", "CR"}},
{ "@TR\r\n", { "T", "TR"}},
{ "@PW%d,0\r\n", { "P", "PW"}},
{ "@PR%d,0\r\n", { "P", "PR"}},
{ "@MI%d,%d\r\n", { "M", "MI"}},
{ "@MO%d,%d\r\n", { "M", "MO"}},
{ "@RR%d,0\r\n", { "R", "RR"}},
{ "X\r\n", { "", "X"}},
{ "@IW%d,0\r\n", { "I", "IW"}},
{ "@ZW\r\n", { "", "ZW"}}
}