mirror of
https://github.com/Lorenzooone/cc3dsfs.git
synced 2026-08-28 11:34:10 -05:00
Separate acquisition and communication in FTD2 code
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
#ifndef __DSCAPTURE_FTD2_DRIVER_ACQUISITION_HPP
|
||||
#define __DSCAPTURE_FTD2_DRIVER_ACQUISITION_HPP
|
||||
|
||||
#include "capture_structs.hpp"
|
||||
|
||||
void ftd2_capture_main_loop_driver(CaptureData* capture_data);
|
||||
|
||||
#endif
|
||||
@@ -1,17 +1,13 @@
|
||||
#ifndef __DSCAPTURE_FTD2_DRIVER_HPP
|
||||
#define __DSCAPTURE_FTD2_DRIVER_HPP
|
||||
#ifndef __DSCAPTURE_FTD2_DRIVER_COMMS_HPP
|
||||
#define __DSCAPTURE_FTD2_DRIVER_COMMS_HPP
|
||||
|
||||
#include <vector>
|
||||
#include "utils.hpp"
|
||||
#include "hw_defs.hpp"
|
||||
#include "capture_structs.hpp"
|
||||
#include "display_structs.hpp"
|
||||
#include "devicecapture.hpp"
|
||||
|
||||
#define FTD2_OLDDS_SYNCH_VALUES 0x4321
|
||||
|
||||
void list_devices_ftd2_driver(std::vector<CaptureDevice> &devices_list, std::vector<no_access_recap_data> &no_access_list);
|
||||
int ftd2_driver_open_serial(CaptureDevice* device, void** handle);
|
||||
void ftd2_capture_main_loop_driver(CaptureData* capture_data);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef __DSCAPTURE_FTD2_LIBUSB_ACQUISITION_HPP
|
||||
#define __DSCAPTURE_FTD2_LIBUSB_ACQUISITION_HPP
|
||||
|
||||
#include "dscapture_ftd2_shared.hpp"
|
||||
#include "capture_structs.hpp"
|
||||
|
||||
void ftd2_capture_main_loop_libusb(CaptureData* capture_data);
|
||||
|
||||
#endif
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef __DSCAPTURE_FTD2_LIBUSB_HPP
|
||||
#define __DSCAPTURE_FTD2_LIBUSB_HPP
|
||||
#ifndef __DSCAPTURE_FTD2_LIBUSB_COMMS_HPP
|
||||
#define __DSCAPTURE_FTD2_LIBUSB_COMMS_HPP
|
||||
|
||||
#include "dscapture_ftd2_shared.hpp"
|
||||
#include "capture_structs.hpp"
|
||||
@@ -16,9 +16,11 @@ enum ftd2_flow_ctrls {
|
||||
|
||||
void ftd2_libusb_init();
|
||||
void ftd2_libusb_end();
|
||||
void ftd2_libusb_start_thread(std::thread* thread_ptr, bool* usb_thread_run);
|
||||
void ftd2_libusb_close_thread(std::thread* thread_ptr, bool* usb_thread_run);
|
||||
|
||||
// Generic functions
|
||||
void list_devices_ftd2_libusb(std::vector<CaptureDevice> &devices_list, std::vector<no_access_recap_data> &no_access_list);
|
||||
void ftd2_capture_main_loop_libusb(CaptureData* capture_data);
|
||||
int ftd2_libusb_reset(void* handle);
|
||||
int ftd2_libusb_set_latency_timer(void* handle, unsigned char latency);
|
||||
int ftd2_libusb_setflowctrl(void* handle, int flowctrl, unsigned char xon, unsigned char xoff);
|
||||
@@ -34,4 +36,14 @@ int get_ftd2_libusb_read_queue_size(void* handle, size_t* bytesIn);
|
||||
int ftd2_libusb_open_serial(CaptureDevice* device, void** handle);
|
||||
int ftd2_libusb_close(void* handle);
|
||||
|
||||
// Functions which are related to the raw buffer
|
||||
size_t ftd2_libusb_get_expanded_length(const int max_packet_size, size_t length, size_t header_packet_size);
|
||||
size_t ftd2_libusb_get_expanded_length(size_t length);
|
||||
size_t ftd2_libusb_get_actual_length(const int max_packet_size, size_t length, size_t header_packet_size);
|
||||
size_t ftd2_libusb_get_actual_length(size_t length);
|
||||
void ftd2_libusb_copy_buffer_to_target(uint8_t* buffer_written, uint8_t* buffer_target, const int max_packet_size, size_t length, size_t header_packet_size);
|
||||
void ftd2_libusb_copy_buffer_to_target(uint8_t* buffer_written, uint8_t* buffer_target, size_t length);
|
||||
int ftd2_libusb_force_read_with_timeout(void* handle, uint8_t* buffer_raw, uint8_t* buffer_normal, size_t length, double timeout);
|
||||
int ftd2_libusb_async_bulk_in_prepare_and_submit(void* handle, void *transfer_in, uint8_t* buffer_raw, size_t size, void* cb_fn, void* cb_data, int timeout_multiplier = 1);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user