
/*
 * spiInterface.h
 *
 *  Created on: 10 Feb 2018
 *      Author: Mike
 */

#pragma once
#include "ch.h"
#include "hal.h"
#include "ssd1306_config.h"

// 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

#if !defined (SPI_CS_PIN) || !defined(SPI_CS_GPIO)
#error "Need to define SPI_CS_PIN and SPI_CS_GPIO"
#endif 
#if !defined (SPI_CD_PIN) || !defined(SPI_CD_GPIO)
#error "Need to define SPI_CD_PIN and SPI_CD_GPIO"
#endif 
#if !defined (SPI_RESET_PIN) || !defined(SPI_RESET_GPIO)
#error "Need to define SPI_RESET_PIN and SPI_RESET_GPIO"
#endif 

