Open FFBoard
Open source force feedback firmware
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)
28
{
29
FFBHIDMain::setFFBEffectsCalc
(
ffb
,
effects_calc
);
30
}
31
32
FFBWheel::~FFBWheel
() {
33
34
}
35
36
37
38
void
FFBWheel::usbInit
(){
39
#ifdef FFBWHEEL_USE_1AXIS_DESC
40
this->
usbdev
= std::make_unique<USBdevice>(&
usb_devdesc_ffboard_composite
,
usb_cdc_hid_conf_1axis
,&
usb_ffboard_strings_default
);
41
FFBHIDMain::UsbHidHandler::setHidDesc(
hid_1ffb_desc
);
42
static_cast<
HidFFB
*
>
(
ffb
.get())->setDirectionEnableMask(0x02);
43
#else
44
this->
usbdev
= std::make_unique<USBdevice>(&
usb_devdesc_ffboard_composite
,
usb_cdc_hid_conf_2axis
,&
usb_ffboard_strings_default
);
45
FFBHIDMain::UsbHidHandler::setHidDesc(
hid_2ffb_desc
);
46
static_cast<
HidFFB
*
>
(
ffb
.get())->setDirectionEnableMask(0x04);
47
#endif
48
49
usbdev
->registerUsb();
50
}
51
52
#endif
FFBWheel.h
FFBHIDMain
Definition:
FFBHIDMain.h:36
FFBHIDMain::setFFBEffectsCalc
void setFFBEffectsCalc(std::shared_ptr< EffectsControlItf > ffb, std::shared_ptr< EffectsCalculator > effects_calc)
Definition:
FFBHIDMain.cpp:38
FFBWheel::FFBWheel
FFBWheel()
Definition:
FFBWheel.cpp:26
FFBWheel::effects_calc
std::shared_ptr< EffectsCalculator > effects_calc
Definition:
FFBWheel.h:27
FFBWheel::~FFBWheel
virtual ~FFBWheel()
Definition:
FFBWheel.cpp:32
FFBWheel::usbInit
void usbInit() override
Definition:
FFBWheel.cpp:38
FFBWheel::getInfo
const ClassIdentifier getInfo()
Definition:
FFBWheel.cpp:21
FFBWheel::info
static ClassIdentifier info
Definition:
FFBWheel.h:20
FFBWheel::ffb
std::shared_ptr< EffectsControlItf > ffb
Definition:
FFBWheel.h:28
FFBoardMain::usbdev
std::unique_ptr< USBdevice > usbdev
Definition:
FFBoardMain.h:66
HidFFB
Definition:
HidFFB.h:23
ClassIdentifier
Definition:
ChoosableClass.h:15
ClassIdentifier::name
const char * name
Definition:
ChoosableClass.h:16
usb_cdc_hid_conf_2axis
const uint8_t usb_cdc_hid_conf_2axis[]
Definition:
usb_descriptors.cpp:74
usb_devdesc_ffboard_composite
const tusb_desc_device_t usb_devdesc_ffboard_composite
Definition:
usb_descriptors.cpp:19
usb_ffboard_strings_default
const usb_string_desc_t usb_ffboard_strings_default
Definition:
usb_descriptors.cpp:118
usb_cdc_hid_conf_1axis
const uint8_t usb_cdc_hid_conf_1axis[]
Definition:
usb_descriptors.cpp:59
usb_hid_ffb_desc.h
hid_1ffb_desc
const uint8_t hid_1ffb_desc[USB_HID_1FFB_REPORT_DESC_SIZE]
hid_2ffb_desc
const uint8_t hid_2ffb_desc[USB_HID_2FFB_REPORT_DESC_SIZE]
Firmware
FFBoard
UserExtensions
Src
FFBWheel.cpp
Generated by
1.9.2