Commanders
Arduino buttons/bus library
CANCommander.hpp
1
//-------------------------------------------------------------------
2
#ifndef __canCommander_H__
3
#define __canCommander_H__
4
//-------------------------------------------------------------------
5
6
#include <
Commanders.h
>
7
8
#ifndef NO_CANCOMMANDER
9
10
#include <mcp_can.h>
11
12
#define CANCommander CANCommanderClass::GetCurrent()
13
33
class
CANCommanderClass
:
Commander
34
{
35
private
:
36
static
CANCommanderClass
*pCANCommander;
37
MCP_CAN *pCan;
38
39
// Global variables for reading and writing messages.
40
uint8_t IdR;
// Id for CAN_recup()
41
unsigned
char
lenR = 0;
// Current length of the message
42
unsigned
char
bufR[8];
// Receiving buffer.
43
unsigned
char
bufS[8];
// Sending buffer.
44
45
// Global variables for the circular buffer.
46
unsigned
char
Circule[256];
// Circular buffer for read messages, handled by interrupt.
47
int
indexW, indexR, Ncan;
// Index of writing and reading buffer, and byte number to read.
48
uint8_t CANoverflow = 0;
// flag overflow (Circular buffer full)
49
50
void
CAN_recup();
51
52
public
:
54
inline
CANCommanderClass
() :
Commander
() {}
55
84
void
begin
(uint8_t inSPIpin, uint8_t inSpeed, uint8_t inInterrupt, uint16_t inId);
86
unsigned
long
loop
();
87
88
public
:
92
static
inline
CANCommanderClass
&
GetCurrent
()
93
{
94
if
(pCANCommander == NULL)
95
pCANCommander =
new
CANCommanderClass
();
96
97
return
*(CANCommanderClass::pCANCommander);
98
}
99
#ifdef COMMANDERS_PRINT_COMMANDERS
100
private
:
101
uint8_t SPIpin;
102
uint8_t Speed;
103
uint8_t Interrupt;
104
uint16_t Id;
105
public
:
109
void
printCommander();
110
#endif
111
};
112
113
//-------------------------------------------------------------------
114
#endif
115
#endif
116
//-------------------------------------------------------------------
CANCommanderClass::GetCurrent
static CANCommanderClass & GetCurrent()
Definition:
CANCommander.hpp:92
CANCommanderClass::loop
unsigned long loop()
Definition:
CANCommander.cpp:123
CANCommanderClass::begin
void begin(uint8_t inSPIpin, uint8_t inSpeed, uint8_t inInterrupt, uint16_t inId)
Definition:
CANCommander.cpp:30
CANCommanderClass::CANCommanderClass
CANCommanderClass()
Definition:
CANCommander.hpp:54
Commander
Definition:
Commander.hpp:23
CANCommanderClass
Definition:
CANCommander.hpp:33
Commanders.h
src
CANCommander.hpp
Generated on dim. févr. 18 2018 17:10:29 for Commanders by
1.2.10