TwiceAsNice  2019-02-18
Macros | Enumerations | Variables
openssag.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libusb-1.0/libusb.h>
#include <time.h>
#include <unistd.h>
#include "openssag.h"
#include "openssag_priv.h"
Include dependency graph for openssag.cpp:

Macros

#define USB_TIMEOUT   5000
 
#define BUFFER_ENDPOINT   0x82
 
#define IMAGE_WIDTH   1280
 
#define IMAGE_HEIGHT   1024
 
#define HORIZONTAL_BLANKING   244
 
#define VERTICAL_BLANKING   25
 
#define BUFFER_WIDTH   (IMAGE_WIDTH + HORIZONTAL_BLANKING)
 
#define BUFFER_HEIGHT   (IMAGE_HEIGHT + VERTICAL_BLANKING + 1)
 
#define BUFFER_SIZE   (BUFFER_WIDTH * BUFFER_HEIGHT)
 
#define ROW_START   12
 
#define COLUMN_START   20
 
#define SHUTTER_WIDTH   (IMAGE_HEIGHT + VERTICAL_BLANKING)
 
#define PIXEL_OFFSET   (8 * (BUFFER_WIDTH + 31))
 
#define RENUMERATE_TIMEOUT   10
 

Enumerations

enum  USB_REQUEST {
  USB_RQ_GUIDE = 16, USB_RQ_EXPOSE = 18, USB_RQ_SET_INIT_PACKET = 19, USB_RQ_PRE_EXPOSE = 20,
  USB_RQ_SET_BUFFER_MODE = 85, USB_RQ_CANCEL_GUIDE = 24, USB_RQ_CANCEL_GUIDE_NORTH_SOUTH = 34, USB_RQ_CANCEL_GUIDE_EAST_WEST = 33,
  USB_RQ_LOAD_FIRMWARE = 0xa0, USB_RQ_WRITE_SMALL_EEPROM = 0xa2
}
 

Variables

libusb_context * ctx = nullptr
 

Macro Definition Documentation

◆ BUFFER_ENDPOINT

#define BUFFER_ENDPOINT   0x82

◆ BUFFER_HEIGHT

#define BUFFER_HEIGHT   (IMAGE_HEIGHT + VERTICAL_BLANKING + 1)

◆ BUFFER_SIZE

#define BUFFER_SIZE   (BUFFER_WIDTH * BUFFER_HEIGHT)

◆ BUFFER_WIDTH

#define BUFFER_WIDTH   (IMAGE_WIDTH + HORIZONTAL_BLANKING)

◆ COLUMN_START

#define COLUMN_START   20

◆ HORIZONTAL_BLANKING

#define HORIZONTAL_BLANKING   244

◆ IMAGE_HEIGHT

#define IMAGE_HEIGHT   1024

◆ IMAGE_WIDTH

#define IMAGE_WIDTH   1280

◆ PIXEL_OFFSET

#define PIXEL_OFFSET   (8 * (BUFFER_WIDTH + 31))

◆ RENUMERATE_TIMEOUT

#define RENUMERATE_TIMEOUT   10

◆ ROW_START

#define ROW_START   12

◆ SHUTTER_WIDTH

#define SHUTTER_WIDTH   (IMAGE_HEIGHT + VERTICAL_BLANKING)

◆ USB_TIMEOUT

#define USB_TIMEOUT   5000

◆ VERTICAL_BLANKING

#define VERTICAL_BLANKING   25

Enumeration Type Documentation

◆ USB_REQUEST

Enumerator
USB_RQ_GUIDE 
USB_RQ_EXPOSE 
USB_RQ_SET_INIT_PACKET 
USB_RQ_PRE_EXPOSE 
USB_RQ_SET_BUFFER_MODE 
USB_RQ_CANCEL_GUIDE 
USB_RQ_CANCEL_GUIDE_NORTH_SOUTH 
USB_RQ_CANCEL_GUIDE_EAST_WEST 
USB_RQ_LOAD_FIRMWARE 
USB_RQ_WRITE_SMALL_EEPROM 

Variable Documentation

◆ ctx

libusb_context* ctx = nullptr