SDDC_Driver
Loading...
Searching...
No Matches
FX3Class.h
1#ifndef FX3CLASS_H
2#define FX3CLASS_H
3
4//
5// FX3handler.cpp
6// 2020 10 12 Oscar Steila ik1xpv
7// loading arm code.img from resource by Howard Su and Hayati Ayguen
8// This module was previous named:openFX3.cpp
9// MIT License Copyright (c) 2016 Booya Corp.
10// booyasdr@gmail.com, http://booyasdr.sf.net
11// modified 2017 11 30 ik1xpv@gmail.com, http://www.steila.com/blog
12//
13
14#include <stdint.h>
15#include <functional>
16
17#include "config.h"
18#include "../Interface.h"
19#include "dsp/ringbuffer.h"
20
21using namespace std;
22
24{
25public:
26 virtual ~fx3class(void) {}
27 virtual bool Open(SDDC::DeviceItem) = 0;
28 virtual bool Control(FX3Command command, uint8_t data = 0) = 0;
29 virtual bool Control(FX3Command command, uint32_t data) = 0;
30 virtual bool Control(FX3Command command, uint64_t data) = 0;
31 virtual bool SetArgument(uint16_t index, uint16_t value) = 0;
32 virtual bool GetHardwareInfo(uint32_t* data) = 0;
33 virtual bool ReadDebugTrace(uint8_t* pdata, uint8_t len) = 0;
34 virtual void StartStream(ringbuffer<int16_t>& input) = 0;
35 virtual void StopStream() = 0;
36 virtual size_t GetDeviceListLength() = 0;
37 virtual vector<SDDC::DeviceItem> GetDeviceList() = 0;
38};
39
40extern "C" fx3class* CreateUsbHandler();
41
42#endif // FX3CLASS_H
Definition FX3Class.h:24
Definition ringbuffer.h:18
Definition types_cpp.h:9