Subversion Repositories public

Rev

Rev 248 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 248 Rev 249
Line 20... Line 20...
20
#ifndef _DISASSEMBLE_H
20
#ifndef _DISASSEMBLE_H
21
#define _DISASSEMBLE_H
21
#define _DISASSEMBLE_H
22
 
22
 
23
#define DEG_2_RAD  0.0174532925199432957692369076848861271L
23
#define DEG_2_RAD  0.0174532925199432957692369076848861271L
24
 
24
 
-
 
25
/**
-
 
26
 * \file disassemble.h
-
 
27
 */
-
 
28
 
25
typedef struct
29
typedef struct
26
{
30
{
27
  int		   type;
31
  int		   type;
28
  char             ident[7];       /* identifier            */
32
  char             ident[7];       /* identifier            */
29
  position_type    posn;           /* position              */
33
  position_type    posn;           /* position              */
Line 287... Line 291...
287
  uint32                       max_course_laps;
291
  uint32                       max_course_laps;
288
  uint32                       max_course_pnt;
292
  uint32                       max_course_pnt;
289
  uint32                       max_course_trk_pnt;
293
  uint32                       max_course_trk_pnt;
290
} COURSE;
294
} COURSE;
291
 
295
 
-
 
296
/**
-
 
297
  * disassemble provides support for some Garmin Forerunner devices
-
 
298
  * connected over the USB port.
-
 
299
  *
-
 
300
  * It has routines to get out the data structure and stores everything
-
 
301
  * into an own structure. Beside this, it finds out some statistic
-
 
302
  * values.
-
 
303
  *
-
 
304
  * @author Andreas Theofilu <andreas@theosys.at>
-
 
305
  * @short class for deviding Garmin binary data into a structure
-
 
306
  */
292
class disassemble
307
class disassemble
293
{
308
{
294
	public:
309
	public:
-
 
310
	/**
-
 
311
	  * Constructs a disassemble class.
-
 
312
	  */
295
	   disassemble();
313
	   disassemble();
-
 
314
	/**
-
 
315
	  * Destructor
-
 
316
	  */
296
	   ~disassemble();
317
	   ~disassemble();
-
 
318
	/**
-
 
319
	  * Destroys all stored information about the currently loaded
-
 
320
	  * activity and cleans everything.
-
 
321
	  *
-
 
322
	  * This must be called before a new activity is loaded. It is also
-
 
323
	  * called, when the class is deleted from the destructor.
-
 
324
	  */
297
	   void destroy();
325
	   void destroy();
-
 
326
	/**
-
 
327
	  * This function needs a garmin_data structure. It devides the
-
 
328
	  * raw data in it to a node chain, a chain containing the laps and
-
 
329
	  * a chain containing all points.
-
 
330
	  *
-
 
331
	  * @param d    A pointer to a garmin_data structure.
-
 
332
	  */
298
	   void garmin_print_data (garmin_data *d);
333
	   void garmin_print_data (garmin_data *d);
299
 
334
 
300
	   LAP_NODE *addLap ();
335
	   LAP_NODE *addLap ();
301
	   LAP_NODE *getLapNode () { return lap_node; }
336
	   LAP_NODE *getLapNode () { return lap_node; }
302
	   LAP *getLap(int index);
337
	   LAP *getLap(int index);
Line 307... Line 342...
307
 
342
 
308
	   POINT_NODE *addPoint();
343
	   POINT_NODE *addPoint();
309
	   POINT_NODE *getPointNode() { return point_node; }
344
	   POINT_NODE *getPointNode() { return point_node; }
310
	   POINT *getPoint(int number);
345
	   POINT *getPoint(int number);
311
	   POINT *getPoint(uint32 time);
346
	   POINT *getPoint(uint32 time);
-
 
347
	   POINT *getLastPoint();
312
 
348
 
313
	   double getTotalDistance() { return totalDistance; }
349
	   double getTotalDistance() { return totalDistance; }
314
	   long   getTotalTime() { return totalTime; }
350
	   long   getTotalTime() { return totalTime; }
-
 
351
	   long   getPauseTime() { return pauseTime; }
315
	   double getAvgHR() { return avgHR; }
352
	   double getAvgHR() { return avgHR; }
316
	   double getAvgSpeed() { return avgSpeed; }
353
	   double getAvgSpeed() { return avgSpeed; }
317
	   double getMaxSpeed() { return maxSpeed; }
354
	   double getMaxSpeed() { return maxSpeed; }
318
	   double getAvgCadence() { return avgCadence; }
355
	   int    getAvgCadence() { return avgCadence; }
319
	   double getAscend() { return ascend; }
356
	   double getAscend() { return ascend; }
320
	   double getDescend() { return descend; }
357
	   double getDescend() { return descend; }
321
 
358
 
322
	   double CalcRad(double lat);
359
	   double CalcRad(double lat);
323
	   double earth_distance(double lat1, double lon1, double lat2, double lon2);
360
	   double earth_distance(double lat1, double lon1, double lat2, double lon2);
Line 411... Line 448...
411
	   FITNESS fitness;
448
	   FITNESS fitness;
412
	   COURSE course;
449
	   COURSE course;
413
 
450
 
414
	   double totalDistance;	// Distance in meters
451
	   double totalDistance;	// Distance in meters
415
	   long totalTime;		// Time in seconds
452
	   long totalTime;		// Time in seconds
-
 
453
	   long pauseTime;		// Pause in seconds
416
	   double avgHR;		// Heart rate in beats per minute
454
	   double avgHR;		// Heart rate in beats per minute
417
	   double avgSpeed;		// Speed in km per hour
455
	   double avgSpeed;		// Speed in km per hour
418
	   double maxSpeed;		// Speed in km per hour
456
	   double maxSpeed;		// Speed in km per hour
419
	   int avgCadence;		// Cadence
457
	   int avgCadence;		// Cadence
420
	   double ascend;		// Height in meters
458
	   double ascend;		// Height in meters