Open FFBoard
Open source force feedback firmware
Loading...
Searching...
No Matches
FFBWheel.cpp
Go to the documentation of this file.
1
/*
2
* FFBWheel.cpp
3
*
4
* Created on: 29.03.2022
5
* Author: Yannick
6
*/
7
8
9
#include "
FFBWheel.h
"
10
11
#ifdef FFBWHEEL
12
13
#include "
usb_hid_ffb_desc.h
"
14
15
// Unique identifier for listing
16
ClassIdentifier
FFBWheel::info
= {
17
.name =
"FFB Wheel (1 Axis)"
,
18
.id=CLSID_MAIN_FFBWHEEL,
19
};
20
21
const
ClassIdentifier
FFBWheel::getInfo
(){
22
return
info
;
23
}
24
25
26
FFBWheel::FFBWheel
() :
27
FFBHIDMain
(1,FFBWHEEL_32B_MODE)
28
{
29
FFBHIDMain::setFFBEffectsCalc
(
ffb
,
effects_calc
);
30
}
31
32
FFBWheel::~FFBWheel
() {
33
34
}
35
36
37
void
FFBWheel::usbInit
(){
38
#ifdef HIDAXISRES_USE_32B_DESC
39
#ifdef FFBWHEEL_USE_1AXIS_DESC
40
const
uint8_t* usbconf =
usb_cdc_hid_conf_1axis_32b
;
41
const
uint8_t* ffbdesc =
hid_1ffb_desc_32b
;
42
#else
43
const
uint8_t* ffbdesc =
hid_2ffb_desc_32b
;
44
const
uint8_t* usbconf =
usb_cdc_hid_conf_2axis_32b
;
45
#endif
46
#else
// ELSE 32B
47
#ifdef FFBWHEEL_USE_1AXIS_DESC
48
const
uint8_t* usbconf =
usb_cdc_hid_conf_1axis
;
49
const
uint8_t* ffbdesc =
hid_1ffb_desc
;
50
#else
51
const
uint8_t* ffbdesc =
hid_2ffb_desc
;
52
const
uint8_t* usbconf =
usb_cdc_hid_conf_2axis
;
53
#endif
54
#endif
55
56
this->
usbdev
= std::make_unique<USBdevice>(&
usb_devdesc_ffboard_composite
,usbconf,&
usb_ffboard_strings_default
);
57
58
FFBHIDMain::UsbHidHandler::setHidDesc(ffbdesc);
59
static_cast<
HidFFB
*
>
(
ffb
.get())->
setDirectionEnableMask
(0x04);
60
61
usbdev
->registerUsb();
62
}
63
64
#endif
FFBWheel.h
FFBHIDMain::setFFBEffectsCalc
void setFFBEffectsCalc(std::shared_ptr< EffectsControlItf > ffb, std::shared_ptr< EffectsCalculator > effects_calc)
Definition
FFBHIDMain.cpp:53
FFBHIDMain::FFBHIDMain
FFBHIDMain(uint8_t axisCount, bool hidAxis32b=false)
Definition
FFBHIDMain.cpp:31
FFBWheel::FFBWheel
FFBWheel()
Definition
FFBWheel.cpp:26
FFBWheel::effects_calc
std::shared_ptr< EffectsCalculator > effects_calc
Definition
FFBWheel.h:33
FFBWheel::~FFBWheel
virtual ~FFBWheel()
Definition
FFBWheel.cpp:32
FFBWheel::usbInit
void usbInit() override
Definition
FFBWheel.cpp:37
FFBWheel::getInfo
const ClassIdentifier getInfo()
Definition
FFBWheel.cpp:21
FFBWheel::info
static ClassIdentifier info
Definition
FFBWheel.h:16
FFBWheel::ffb
std::shared_ptr< EffectsControlItf > ffb
Definition
FFBWheel.h:34
FFBoardMain::usbdev
std::unique_ptr< USBdevice > usbdev
Definition
FFBoardMain.h:66
HidFFB
Definition
HidFFB.h:23
HidFFB::setDirectionEnableMask
void setDirectionEnableMask(uint8_t mask)
Definition
HidFFB.cpp:38
hid_2ffb_desc_32b
const uint8_t hid_2ffb_desc_32b[USB_HID_2FFB_REPORT_DESC_32B_SIZE]
Definition
usb_hid_2ffb_desc.c:689
hid_1ffb_desc
const uint8_t hid_1ffb_desc[USB_HID_1FFB_REPORT_DESC_SIZE]
hid_1ffb_desc_32b
const uint8_t hid_1ffb_desc_32b[USB_HID_1FFB_REPORT_DESC_32B_SIZE]
Definition
usb_hid_1ffb_desc.c:233
hid_2ffb_desc
const uint8_t hid_2ffb_desc[USB_HID_2FFB_REPORT_DESC_SIZE]
ClassIdentifier
Definition
ChoosableClass.h:15
usb_cdc_hid_conf_1axis_32b
const uint8_t usb_cdc_hid_conf_1axis_32b[]
Definition
usb_descriptors.cpp:63
usb_cdc_hid_conf_2axis
const uint8_t usb_cdc_hid_conf_2axis[]
Definition
usb_descriptors.cpp:71
usb_devdesc_ffboard_composite
const tusb_desc_device_t usb_devdesc_ffboard_composite
Definition
usb_descriptors.cpp:18
usb_cdc_hid_conf_2axis_32b
const uint8_t usb_cdc_hid_conf_2axis_32b[]
Definition
usb_descriptors.cpp:75
usb_ffboard_strings_default
const usb_string_desc_t usb_ffboard_strings_default
Definition
usb_descriptors.cpp:99
usb_cdc_hid_conf_1axis
const uint8_t usb_cdc_hid_conf_1axis[]
Definition
usb_descriptors.cpp:59
usb_hid_ffb_desc.h
Firmware
FFBoard
UserExtensions
Src
FFBWheel.cpp
Generated by
1.13.2