/*
* spiInterface.h
*
* Created on: 10 Feb 2018
* Author: Mike
*/
#pragma once
extern void ssd1306spiInit(void);
extern void ssd1306fastSPIwrite(uint8_t d);
extern void ssd1306commandSPIwrite(uint8_t c);
extern void ssd1306resetDisplay(void);
extern void ssd1306SendDisplay(uint8_t * buff, uint8_t len);
// Peripherial Clock 84MHz SPI1 SPI1 SPI2/3
#define SPI_BaudRatePrescaler_2 ((uint16_t)0x0000) // 42 MHz 21 MHZ
#define SPI_BaudRatePrescaler_4 ((uint16_t)0x0008) // 21 MHz 10.5 MHz
#define SPI_BaudRatePrescaler_8 ((uint16_t)0x0010) // 10.5 MHz 5.25 MHz
#define SPI_BaudRatePrescaler_16 ((uint16_t)0x0018) // 5.25 MHz 2.626 MHz
#define SPI_BaudRatePrescaler_32 ((uint16_t)0x0020) // 2.626 MHz 1.3125 MHz
#define SPI_BaudRatePrescaler_64 ((uint16_t)0x0028) // 1.3125 MHz 656.25 KHz
#define SPI_BaudRatePrescaler_128 ((uint16_t)0x0030) // 656.25 KHz 328.125 KHz
#define SPI_BaudRatePrescaler_256 ((uint16_t)0x0038) // 328.125 KHz 164.06 KHz
#define SPI_CS_PIN 6
#define SPI_CS_GPIO GPIOB
#define SPI_CD_PIN 7
#define SPI_CD_GPIO GPIOB
#define SPI_RESET_PIN 8
#define SPI_RESET_GPIO GPIOB