Merge branch 'feature/e-endstop' into merge-abc-with-homing
[clinton/Smoothieware.git] / src / libs / spi.h
CommitLineData
7064cca7
MM
1#ifndef _SPI_H
2#define _SPI_H
3
4#include <stdint.h>
5
6#include "spi_hal.h"
7
8class SPI {
9public:
10 SPI(PinName mosi, PinName miso, PinName sclk);
11 ~SPI();
12
13 void frequency(uint32_t);
14 uint8_t write(uint8_t);
15
16// int writeblock(uint8_t *, int);
17
18 bool can_DMA();
19 int setup_DMA_rx(DMA_REG *);
20 int setup_DMA_tx(DMA_REG *);
21
22 void irq(void);
23
24 static SPI* isr_dispatch[N_SPI_INTERRUPT_ROUTINES];
25
26protected:
27 uint32_t delay;
28 Pin_t miso;
29 Pin_t mosi;
30 Pin_t sclk;
31 SPI_REG *sspr;
32};
33
34#endif /* _SPI_H */