38 ffbactive,
axes,
btntypes,
lsbtn,
addbtn,
aintypes,
lsain,
addain,
hidrate,
hidsendspd,
estop,
cfrate
53 return "Force feedback HID game controller";
79 void exti(uint16_t GPIO_Pin);
86 std::shared_ptr<EffectsControlItf>
ffb;
112 std::vector<std::unique_ptr<ButtonSource>>
btns;
128 std::unique_ptr<HID_CommandInterface>
hidCommands = std::make_unique<HID_CommandInterface>();
std::shared_ptr< EffectsControlItf > ffb
void setReportRate(uint8_t rateidx)
std::string usb_report_rates_names()
void setAinTypes(uint16_t aintypes)
void exti(uint16_t GPIO_Pin)
static bool isCreatable()
volatile Control_t control
CommandStatus command(const ParsedCommand &cmd, std::vector< CommandReply > &replies)
std::vector< std::unique_ptr< ButtonSource > > btns
reportHID_t lastReportHID
cpp_freertos::BinarySemaphore sourcesSem
volatile uint32_t lastEstop
uint8_t usb_report_rate_idx
virtual std::string getHelpstring()
std::unique_ptr< AxesManager > axes_manager
const bool allowEstopReset
ClassChooser< AnalogSource > analog_chooser
void setFFBEffectsCalc(std::shared_ptr< EffectsControlItf > ffb, std::shared_ptr< EffectsCalculator > effects_calc)
const uint8_t analogAxisCount
FFBHIDMain(uint8_t axisCount)
std::vector< std::unique_ptr< AnalogSource > > analog_inputs
std::shared_ptr< EffectsCalculator > effects_calc
void addBtnType(uint16_t id)
void addAinType(uint16_t id)
void setBtnTypes(uint16_t btntypes)
const ClassIdentifier getInfo()=0
ClassChooser< ButtonSource > btn_chooser
void errorCallback(const Error &error, bool cleared)
void emergencyStop(bool reset)
const uint8_t usb_report_rates[4]
std::unique_ptr< HID_CommandInterface > hidCommands
uint32_t lastUsbReportTick
uint8_t reportSendCounter