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.