PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Übergeben von Klassen



FlorianKr
05.06.2016, 18:06
Hallo Forum,

ich arbeite aktuell an einer Software die NMEA-Daten über RS232 empfängt und nach WGS84 umrechnen soll.
Später soll ein Roboterfahrgestell einer Linie Folgen können.

Das einlesen der NMEA-Daten erfolgt über die Klasse commSeriell, das auswerten in der Klasse nmeaPars.
In mehreren Foren habe ich gelesen, dass man das am besten mit einer weiteren Klasse über set/get-Methoden löst.
Darauf habe ich mir eine weitere Klasse comm geschrieben.

Compiler: Visual Studio C++ 2015


comm.h :

#ifndef COMM_H_
#define COMM_H_

#include "stdafx.h"

class comm
{
struct consts_chassis{
double axisLength; /* [m] center distance*/
double wheelPerimeter; /**< [m] the Perimeter of one wheel */
double gearRatio; /**< [-] the Ratio of the Gear between Motor and wheel */
long int gearNumerator; /**< [-] the numerator from the Ratio of the gear */
int gearDenomiantor; /**< [-] the denominator from the ratio of the gear */
}c_chas;

struct consts_EPOS2{
std::string port;
unsigned long timeout;
unsigned long baudrate;
double maxRPM;
}c_EPOS2;

struct drive_values{
double speed;
double negrad;
double speed_Left;
double speed_right;
}d_engine;

struct nmea_GGA {
double UTC; //1
double latitude; //2
char NoS; //3
double longtitude; //4
char WoE; //5
int quality; //6
int numberSat; //7
double HDOP; //8
double height_geoid; //9
char unit_of_antenna; //10
double height_GE; //11
char unit_of_GS; //12
double age_of_DG; //13
}n_GGA;

public:
comm(int a);
~comm();

int init();

double get_axisLength();
double get_wheelPerimeter();
double get_gearRatio();
long int get_gearNumerator();
int get_gearDenomiantor();

std::string get_port();
unsigned long get_timeout();
unsigned long get_baudrate();
double get_maxRPM();

double set_speed();
double set_negrad();
double get_speed_Left();
double get_speed_right();

//Abrufen der GPS-Daten
double get_UTC(); //1
double get_latitude(); //2
char get_NoS(); //3
double get_longtitude(); //4
char get_WoE(); //5
int get_quality(); //6
int get_numberSat(); //7
double get_HDOP(); //8
double get_height_geoid(); //9
char get_unit_of_antenna(); //10
double get_height_GE(); //11
char get_unit_of_GS(); //12
double get_age_of_DG(); //13



//Setzen der GPS-Daten
bool set_UTC(double UTC); //1
bool set_latitude(double latitute); //2
bool set_NoS(char NoS); //3
bool set_longtitude(double longtitude); //4
bool set_WoE(char WoE); //5
bool set_quality(int quality); //6
bool set_numberSat(int numberSat); //7
bool set_HDOP(double HDOP); //8
bool set_height_geoid(double height_geoid); //9
bool set_unit_of_antenna(char unit_of_antenna); //10
bool set_height_GE(double height_GE); //11
bool set_unit_of_GS(char unit_of_GS); //12
bool set_age_of_DG(double age_of_DG); //13
};

#endif


Ich habe mehrer Varianten gefunden wie ich die Funktionen aufrufen kann, bekomme diese aber nicht zum laufen, bzw. verstehe diese auch nicht so wirklich.
Hat mir jemand einen Vorschlag wie ich dies umsetzen kann?

Vielen Dank im voraus
Florian