Open FFBoard
Open source force feedback firmware
Loading...
Searching...
No Matches
CanAnalog.h
Go to the documentation of this file.
1/*
2 * CanAnalog.h
3 *
4 * Created on: 06.04.2022
5 * Author: Yannick
6 */
7
8#ifndef USEREXTENSIONS_SRC_CanAnalog_H_
9#define USEREXTENSIONS_SRC_CanAnalog_H_
10
11#include "constants.h"
12#ifdef CANANALOG
13
14#include "AnalogSource.h"
15#include "PersistentStorage.h"
16#include "CAN.h"
17#include "CanHandler.h"
18#include "CommandHandler.h"
19#include "cpp_target_config.h"
20
21
22class CanAnalogBase : public AnalogSource, public CanHandler, public CommandHandler{
23public:
24 enum class CanAnalog_commands : uint32_t {
26 };
27
28 CanAnalogBase(uint8_t maxAxes = 8);
29 virtual ~CanAnalogBase();
30
32 static ClassIdentifier info;
33
34 void restoreFlash();
35 void saveFlash();
36
37 std::string getHelpstring(){return "4 16b axes per 64b packet";}
38
39
40 void setupCanPort();
41 void setAxisNum(uint8_t num);
42
43 CommandStatus command(const ParsedCommand& cmd,std::vector<CommandReply>& replies);
44
45 void canRxPendCallback(CANPort* port,CAN_rx_msg& msg) override;
46
47private:
48 uint32_t canId = 110;
49 int32_t filterId = -1;
51 uint8_t axes = 1;
52 const uint8_t maxAxes;
53 uint8_t packets = 1;
54};
55
59template<uint8_t AMOUNT>
61{
62public:
65};
66
67
68#endif
69#endif /* USEREXTENSIONS_SRC_CanAnalog_H_ */
CommandStatus
Definition CAN.h:120
const uint8_t maxAxes
Definition CanAnalog.h:52
uint32_t canId
Definition CanAnalog.h:48
void setupCanPort()
Definition CanAnalog.cpp:31
void restoreFlash()
Definition CanAnalog.cpp:58
std::string getHelpstring()
Definition CanAnalog.h:37
virtual ~CanAnalogBase()
Definition CanAnalog.cpp:45
int32_t filterId
Definition CanAnalog.h:49
const ClassIdentifier getInfo()
Definition CanAnalog.cpp:16
void setAxisNum(uint8_t num)
Definition CanAnalog.cpp:68
uint8_t packets
Definition CanAnalog.h:53
void canRxPendCallback(CANPort *port, CAN_rx_msg &msg) override
uint8_t axes
Definition CanAnalog.h:51
void saveFlash()
Definition CanAnalog.cpp:50
CANPort * port
Definition CanAnalog.h:50
CommandStatus command(const ParsedCommand &cmd, std::vector< CommandReply > &replies)
Definition CanAnalog.cpp:77
CanAnalogBase(uint8_t maxAxes=8)
Definition CanAnalog.cpp:20
CommandHandler(const char *clsname, uint16_t clsid, uint8_t instance=0)
CANPort & canport