Files @ a48d9ffdc5db
Branch filter:

Location: therm/libraries/oleddrv/bsp.h - annotation

Ethan Zonca
Oled driver updates and pin assignment fixes
#ifndef BSP_H
#define BSP_H

/**
  IO Connection map

       SSD1303
  Vcc   1  2  Gnd
D1/Data 3  4  D0/Clk
    D3  5  6  D2
    D5  7  8  D4
    D7  9 10  D6
    WR 11 12  RD
   RES 13 14  A0  (1-data,0-command)
   CS  15 16  C86 (1-8080, 0-SPI)

       STM32
  D0/Clk    PB13/SPI2 Clk
  D1/Data   PB15/SPI2 MOSI
  RES       PB12
  A0        PB14
  CS        Gnd
  D2~D7     (Float)
  WR        (Float)
  RD        (Float)
 */

#define   SSD_Clk         GPIOA,GPIO_Pin_5
#define   SSD_Data        GPIOA,GPIO_Pin_7
#define   SSD_Reset       GPIOB,GPIO_Pin_2
#define   SSD_A0          GPIOB,GPIO_Pin_10
#define   SSD_CS          GPIOB,GPIO_Pin_1

#define   SSD_Clk_Low()     GPIOA->BRR = GPIO_Pin_5
#define   SSD_Clk_High()    GPIOA->ODR |= GPIO_Pin_5
#define   SSD_Data_Low()    GPIOA->BRR = GPIO_Pin_7
#define   SSD_Data_High()   GPIOA->ODR |= GPIO_Pin_7
#define   SSD_Reset_Low()   GPIOB->BRR = GPIO_Pin_2
#define   SSD_Reset_High()  GPIOB->ODR |= GPIO_Pin_2
#define   SSD_A0_Low()      GPIOB->BRR = GPIO_Pin_10
#define   SSD_A0_High()     GPIOB->ODR |= GPIO_Pin_10
#define   SSD_CS_Low()      GPIOB->BRR = GPIO_Pin_1
#define   SSD_CS_High()     GPIOB->ODR |= GPIO_Pin_1

#define   SPI_SendByte(data)  SPI1->DR = (data)
#define   SPI_Wait()           while(!(SPI1->SR&SPI_I2S_FLAG_TXE));while(SPI1->SR&SPI_I2S_FLAG_BSY);

#define   SSD1303_FPS                   50

#define   IsLedOn()       (!(GPIOA->ODR & GPIO_Pin_8))
#define   LED_ON()        GPIOA->BRR = GPIO_Pin_8
#define   LED_OFF()       GPIOA->BSRR = GPIO_Pin_8
#define   ToggleLED()     if(GPIOA->ODR & GPIO_Pin_8){GPIOA->BRR = GPIO_Pin_8;}\
                          else{GPIOA->BSRR = GPIO_Pin_8;}
#define   GSel1_High()    GPIOB->BSRR = GPIO_Pin_9
#define   GSel1_Low()     GPIOB->BRR = GPIO_Pin_9

#define   MMA_SLEEP()     GPIOB->BRR = GPIO_Pin_11
#define   MMA_WAKEUP()    GPIOB->BSRR = GPIO_Pin_11
#define   Is_MMA_WAKEUP() (GPIOB->ODR & GPIO_Pin_11)

#define   DMA_SSD_1303    DMA1_Channel5
#define   DMA_Handler_SSD_1303    DMA1_Channel5_IRQHandler


#define   Is_Enc_Key_Down()    (!(GPIOA->IDR & GPIO_Pin_0))

#endif