SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
Macros | Functions | Variables
oled.c File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <types.h>
#include <log.h>
#include <common.h>
#include "sys-i2c.h"
#include "oledfont.h"
Include dependency graph for oled.c:

Macros

#define OLED_IIC_ADDR   0x3c
 
#define OLED_IIC_GPIO_PORT   0
 
#define OLED_CMD   0 /*写命令 */
 
#define OLED_DATA   1 /* 写数据 */
 

Functions

void OLED_WR_Byte (uint8_t dat, uint8_t mode)
 
uint32_t OLED_Pow (uint8_t m, uint8_t n)
 
void OLED_ColorTurn (uint8_t i)
 
void OLED_DisplayTurn (uint8_t i)
 
void OLED_Refresh (void)
 
void OLED_Clear (void)
 
void OLED_DrawPoint (uint8_t x, uint8_t y, uint8_t t)
 
void OLED_DrawLine (uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t mode)
 
void OLED_DrawCircle (uint8_t x, uint8_t y, uint8_t r)
 
void OLED_ShowChar (uint8_t x, uint8_t y, uint8_t chr, uint8_t size1, uint8_t mode)
 
void OLED_ShowString (uint8_t x, uint8_t y, uint8_t *chr, uint8_t size1, uint8_t mode)
 
void OLED_ShowNum (uint8_t x, uint8_t y, uint32_t num, uint8_t len, uint8_t size1, uint8_t mode)
 
void OLED_Set_Pos (uint8_t x, uint8_t y)
 
void OLED_Init (void)
 

Variables

uint8_t OLED_GRAM [144][8]
 
sunxi_i2c_t i2c_0
 

Macro Definition Documentation

◆ OLED_CMD

#define OLED_CMD   0 /*写命令 */

◆ OLED_DATA

#define OLED_DATA   1 /* 写数据 */

◆ OLED_IIC_ADDR

#define OLED_IIC_ADDR   0x3c

◆ OLED_IIC_GPIO_PORT

#define OLED_IIC_GPIO_PORT   0

Function Documentation

◆ OLED_Clear()

void OLED_Clear ( void  )

◆ OLED_ColorTurn()

void OLED_ColorTurn ( uint8_t  i)

◆ OLED_DisplayTurn()

void OLED_DisplayTurn ( uint8_t  i)

◆ OLED_DrawCircle()

void OLED_DrawCircle ( uint8_t  x,
uint8_t  y,
uint8_t  r 
)

◆ OLED_DrawLine()

void OLED_DrawLine ( uint8_t  x1,
uint8_t  y1,
uint8_t  x2,
uint8_t  y2,
uint8_t  mode 
)

◆ OLED_DrawPoint()

void OLED_DrawPoint ( uint8_t  x,
uint8_t  y,
uint8_t  t 
)

◆ OLED_Init()

void OLED_Init ( void  )

◆ OLED_Pow()

uint32_t OLED_Pow ( uint8_t  m,
uint8_t  n 
)

◆ OLED_Refresh()

void OLED_Refresh ( void  )

◆ OLED_Set_Pos()

void OLED_Set_Pos ( uint8_t  x,
uint8_t  y 
)

◆ OLED_ShowChar()

void OLED_ShowChar ( uint8_t  x,
uint8_t  y,
uint8_t  chr,
uint8_t  size1,
uint8_t  mode 
)

◆ OLED_ShowNum()

void OLED_ShowNum ( uint8_t  x,
uint8_t  y,
uint32_t  num,
uint8_t  len,
uint8_t  size1,
uint8_t  mode 
)

◆ OLED_ShowString()

void OLED_ShowString ( uint8_t  x,
uint8_t  y,
uint8_t chr,
uint8_t  size1,
uint8_t  mode 
)

◆ OLED_WR_Byte()

void OLED_WR_Byte ( uint8_t  dat,
uint8_t  mode 
)

Variable Documentation

◆ i2c_0

sunxi_i2c_t i2c_0
Initial value:
= {
.base = 0x02502000,
.id = SUNXI_I2C0,
.gpio =
{
.gpio_scl = {GPIO_PIN(GPIO_PORTE, 4), GPIO_PERIPH_MUX8},
.gpio_sda = {GPIO_PIN(GPIO_PORTE, 5), GPIO_PERIPH_MUX8},
},
.i2c_clk =
{
.gate_reg_base = CCU_BASE + CCU_TWI_BGR_REG,
.gate_reg_offset = TWI_DEFAULT_CLK_GATE_OFFSET(0),
.rst_reg_base = CCU_BASE + CCU_TWI_BGR_REG,
.rst_reg_offset = TWI_DEFAULT_CLK_RST_OFFSET(0),
.parent_clk = 24000000,
},
}
#define CCU_TWI_BGR_REG
Definition reg-ccu.h:71
#define CCU_BASE
Definition reg-ccu.h:8
@ GPIO_PORTE
Definition sys-gpio.h:43
@ GPIO_PERIPH_MUX8
Definition sys-gpio.h:28
#define GPIO_PIN(x, y)
Definition sys-gpio.h:66
@ SUNXI_I2C0
I2C device 0.
Definition sys-i2c.h:65
#define TWI_DEFAULT_CLK_GATE_OFFSET(x)
Definition sys-i2c.h:135
#define TWI_DEFAULT_CLK_RST_OFFSET(x)
Definition sys-i2c.h:134
@ SUNXI_I2C_SPEED_400K
400 kHz I2C speed.
Definition sys-i2c.h:55

◆ OLED_GRAM

uint8_t OLED_GRAM[144][8]