Open FFBoard
Open source force feedback firmware
Loading...
Searching...
No Matches
AxesManager.h
Go to the documentation of this file.
1/*
2 * AxesManager.h
3 *
4 * Created on: 30.01.2021
5 * Author: Jon Lidgard
6 */
7
8#ifndef AXESMANAGER_H_
9#define AXESMANAGER_H_
10#include "Axis.h"
11//#include "PersistentStorage.h"
12#include "ffb_defs.h"
13
14#include "CmdParser.h"
15#include "vector"
16#include "map"
17#include <memory>
18
20
21
23{
24public:
25 AxesManager(volatile Control_t* control,std::shared_ptr<EffectsCalculator> calc);
26 virtual ~AxesManager();
27
28// static ClassIdentifier info;
29// const ClassIdentifier getInfo();
30
31// void setEffectsCalculator(EffectsCalculator *ec);
32// void saveFlash();
33// void restoreFlash();
34
35 uint8_t getAxisCount();
36 bool setAxisCount(int8_t count);
37 bool validAxisRange(uint8_t val);
38
39 void usbResume();
40 void usbSuspend();
41
42 void update();
43 void updateTorque();
44
45 std::vector<int32_t>* getAxisValues();
46
47 void emergencyStop(bool reset);
48 void resetPosZero();
49
50private:
51 volatile Control_t* control;
52 volatile bool *p_usb_disabled;
53 volatile bool *p_emergency;
54 std::shared_ptr<EffectsCalculator> effects_calc;
55 uint16_t axis_count = 0;
56 std::vector<std::unique_ptr<Axis>> axes;
57 std::vector<int32_t> axisValues = std::vector<int32_t>(1,0);
58
59 void deleteAxes();
60};
61
62#endif /* AXESMANAGER_H_ */
void updateTorque()
std::shared_ptr< EffectsCalculator > effects_calc
Definition AxesManager.h:54
std::vector< std::unique_ptr< Axis > > axes
Definition AxesManager.h:56
virtual ~AxesManager()
bool setAxisCount(int8_t count)
volatile bool * p_emergency
Definition AxesManager.h:53
void deleteAxes()
std::vector< int32_t > axisValues
Definition AxesManager.h:57
void usbSuspend()
volatile Control_t * control
Definition AxesManager.h:51
AxesManager(volatile Control_t *control, std::shared_ptr< EffectsCalculator > calc)
void resetPosZero()
uint16_t axis_count
Definition AxesManager.h:55
uint8_t getAxisCount()
std::vector< int32_t > * getAxisValues()
bool validAxisRange(uint8_t val)
volatile bool * p_usb_disabled
Definition AxesManager.h:52