X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstlink-sg.h;h=7c020285176283602885d285bf38e7e13eef8d98;hb=fc961745f5ff121e827702255872354f31f95547;hp=afa47c51a3805c9f84cc551bc8d0ddede72a81e1;hpb=42d2da531f52ead18091a1211a5e6206e27dc178;p=fw%2Fstlink diff --git a/src/stlink-sg.h b/src/stlink-sg.h index afa47c5..7c02028 100644 --- a/src/stlink-sg.h +++ b/src/stlink-sg.h @@ -1,4 +1,4 @@ -/* +/* * File: stlink-sg.h * Author: karl * @@ -11,14 +11,15 @@ #ifdef __cplusplus extern "C" { #endif - -#include + +#include #include "stlink-common.h" - - // device access + + // device access #define RDWR 0 #define RO 1 #define SG_TIMEOUT_SEC 1 // actually 1 is about 2 sec +#define SG_TIMEOUT_MSEC 3 * 1000 // Each CDB can be a total of 6, 10, 12, or 16 bytes, later version // of the SCSI standard also allow for variable-length CDBs (min. CDB is 6). // the stlink needs max. 10 bytes. @@ -41,6 +42,11 @@ extern "C" { struct stlink_libsg { + libusb_context* libusb_ctx; + libusb_device_handle *usb_handle; + unsigned ep_rep; + unsigned ep_req; + int sg_fd; int do_scsi_pt_err; @@ -51,19 +57,13 @@ extern "C" { uint32_t q_addr; // Sense (error information) data + // obsolete, this was fed to the scsi tools unsigned char sense_buf[SENSE_BUF_LEN]; - uint32_t st_vid; - uint32_t stlink_pid; - uint32_t stlink_v; - uint32_t jtag_v; - uint32_t swim_v; - uint32_t core_id; - reg reg; }; - stlink_t* stlink_v1_open(const char *dev_name, const int verbose); + stlink_t* stlink_v1_open(const int verbose, int reset); #ifdef __cplusplus }