CANTram Framework 1.0.1
Dieses Framework ermöglicht die Nutzung der CANTram Hardware, einer Mikrocontroller basierten mdoularen Steuerung.
Loading...
Searching...
No Matches
ISO1H816G.h
1#ifndef ISO1H816G_H
2#define ISO1H816G_H
3#include <Arduino.h>
4#include <SPI.h>
5#include "SPIChip.h"
6#include "Debug.h"
7
8class ISO1H816G : public SPIChip
9{
10 public:
11 enum ERROR_CODES{
12 STATUS_OK = 0,
13 NOT_INITIALIZED = 5,
14 INVALID_CHANNEL = 10,
15 SPI_FAULT = 20,
16 DISABLE_PIN_NOT_SET = 30,
17 DIAG_PIN_NOT_SET = 40
18 };
19 ISO1H816G()=default;
20 ISO1H816G(uint8_t csPin, uint8_t disPin, uint8_t diagPin);
21
22
23 uint8_t begin();
24 uint8_t enable();
25 void disable();
26 bool isEnabled() {return _enabled; }
27
28 uint8_t setOutputs(uint8_t outputs);
29 uint8_t setOutput(uint8_t output, bool state);
30
31 uint8_t getOutputs() { return _outputs; }
32 bool getOutput(uint8_t output) { return (_outputs & (1 << output)) != 0; }
33
34 void setSPISettings(uint32_t speed, uint8_t bitOrder, uint8_t dataMode) { _spiSettings = SPISettings(speed, bitOrder, dataMode); }
35
36 void OnFault(void (*callback)(void));
37
38 void setPins(uint8_t csPin, uint8_t disPin=-1, uint8_t diagPin=-1);
39
40
41 private:
42 uint8_t _outputs; // Outputs
43 uint8_t _disPin;
44 uint8_t _diagPin;
45 uint8_t _enabled;
46 uint8_t _initialized;
47 uint8_t _fault;
48 SPISettings _spiSettings = SPISettings(1000000, MSBFIRST, SPI_MODE3);
49 bool useDisable;
50 bool useDiag;
51
52};
53#endif
Logging and debug macro definitions for CANTramCore.