OpenCPN Partial API docs
Loading...
Searching...
No Matches
garmin_protocol_mgr.h File Reference

NMEA Data Object. More...

#include <atomic>
#include <string>
#include <sys/socket.h>
#include <netinet/in.h>
#include <wx/wxprec.h>
#include <wx/wx.h>
#include <wx/datetime.h>
#include <wx/socket.h>
#include "garminusb.h"
#include "model/conn_params.h"
#include "model/ds_porttype.h"

Go to the source code of this file.

Classes

struct  unit_info_type_
 
struct  D800_Pvt_Data_Type
 
struct  D800_Pvt_Data_Type_Aligned
 
struct  cpo_sat_data
 
class  GarminProtocolHandler
 
class  GARMIN_Serial_Thread
 
class  GARMIN_USB_Thread
 

Macros

#define PI   3.1415926535897931160E0 /* pi */
 
#define GARMIN_USB_API_VERSION   1
 
#define GARMIN_USB_MAX_BUFFER_SIZE   4096
 
#define GARMIN_USB_INTERRUPT_DATA_SIZE   64
 
#define IOCTL_GARMIN_USB_API_VERSION    CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_GARMIN_USB_INTERRUPT_IN    CTL_CODE(FILE_DEVICE_UNKNOWN, 0x850, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_GARMIN_USB_BULK_OUT_PACKET_SIZE    CTL_CODE(FILE_DEVICE_UNKNOWN, 0x851, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define GUSB_SESSION_START   5 /* We request units attention */
 
#define GUSB_SESSION_ACK   6 /* Unit responds that we have its attention */
 
#define GUSB_REQUEST_BULK   2 /* Unit requests we read from bulk pipe */
 
#define GUSB_RESPONSE_PVT   51 /* PVT Data Packet */
 
#define GUSB_RESPONSE_SDR   114 /* Satellite Data Record Packet */
 
#define TIMER_GARMIN1   7005
 

Typedefs

typedef struct unit_info_type_ unit_info_type
 
using SendMsgFunc = std::function< void(const std::vector< unsigned char > &)>
 

Enumerations

enum  { rs_fromintr , rs_frombulk }
 

Detailed Description

NMEA Data Object.

Definition in file garmin_protocol_mgr.h.

Macro Definition Documentation

◆ GARMIN_USB_API_VERSION

#define GARMIN_USB_API_VERSION   1

Definition at line 78 of file garmin_protocol_mgr.h.

◆ GARMIN_USB_INTERRUPT_DATA_SIZE

#define GARMIN_USB_INTERRUPT_DATA_SIZE   64

Definition at line 80 of file garmin_protocol_mgr.h.

◆ GARMIN_USB_MAX_BUFFER_SIZE

#define GARMIN_USB_MAX_BUFFER_SIZE   4096

Definition at line 79 of file garmin_protocol_mgr.h.

◆ GUSB_REQUEST_BULK

#define GUSB_REQUEST_BULK   2 /* Unit requests we read from bulk pipe */

Definition at line 100 of file garmin_protocol_mgr.h.

◆ GUSB_RESPONSE_PVT

#define GUSB_RESPONSE_PVT   51 /* PVT Data Packet */

Definition at line 102 of file garmin_protocol_mgr.h.

◆ GUSB_RESPONSE_SDR

#define GUSB_RESPONSE_SDR   114 /* Satellite Data Record Packet */

Definition at line 103 of file garmin_protocol_mgr.h.

◆ GUSB_SESSION_ACK

#define GUSB_SESSION_ACK   6 /* Unit responds that we have its attention */

Definition at line 99 of file garmin_protocol_mgr.h.

◆ GUSB_SESSION_START

#define GUSB_SESSION_START   5 /* We request units attention */

Definition at line 98 of file garmin_protocol_mgr.h.

◆ IOCTL_GARMIN_USB_API_VERSION

#define IOCTL_GARMIN_USB_API_VERSION    CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 82 of file garmin_protocol_mgr.h.

◆ IOCTL_GARMIN_USB_BULK_OUT_PACKET_SIZE

#define IOCTL_GARMIN_USB_BULK_OUT_PACKET_SIZE    CTL_CODE(FILE_DEVICE_UNKNOWN, 0x851, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 86 of file garmin_protocol_mgr.h.

◆ IOCTL_GARMIN_USB_INTERRUPT_IN

#define IOCTL_GARMIN_USB_INTERRUPT_IN    CTL_CODE(FILE_DEVICE_UNKNOWN, 0x850, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 84 of file garmin_protocol_mgr.h.

◆ PI

#define PI   3.1415926535897931160E0 /* pi */

Definition at line 67 of file garmin_protocol_mgr.h.

◆ TIMER_GARMIN1

#define TIMER_GARMIN1   7005

Definition at line 173 of file garmin_protocol_mgr.h.

Typedef Documentation

◆ SendMsgFunc

using SendMsgFunc = std::function<void(const std::vector<unsigned char> &)>

Definition at line 171 of file garmin_protocol_mgr.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 169 of file garmin_protocol_mgr.h.