uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_D0] = d0; u8g->pin_list[U8G_PI_D1] = d1; u8g->pin_list[U8G_PI_D2] = d2; u8g->pin_list[U8G_PI_D3] = d3; u8g->pin_list[U8G_PI_D4] = d4; u8g->pin_list[U8G_PI_D5] = d5; u8g->pin_list[U8G_PI_D6] = d6; u8g->pin_list[U8G_PI_D7] = d7; u8g->pin_list[U8G_PI_CS] = cs; u8g->pin_list[U8G_PI_A0] = a0; u8g->pin_list[U8G_PI_WR] = wr; u8g->pin_list[U8G_PI_RD] = rd; u8g->pin_list[U8G_PI_RESET] = reset; return u8g_Begin(u8g); }
uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_D0] = d0; u8g->pin_list[U8G_PI_D1] = d1; u8g->pin_list[U8G_PI_D2] = d2; u8g->pin_list[U8G_PI_D3] = d3; u8g->pin_list[U8G_PI_D4] = d4; u8g->pin_list[U8G_PI_D5] = d5; u8g->pin_list[U8G_PI_D6] = d6; u8g->pin_list[U8G_PI_D7] = d7; u8g->pin_list[U8G_PI_EN] = en; u8g->pin_list[U8G_PI_CS1] = cs1; u8g->pin_list[U8G_PI_CS2] = cs2; u8g->pin_list[U8G_PI_DI] = di; u8g->pin_list[U8G_PI_RW] = rw; u8g->pin_list[U8G_PI_RESET] = reset; /* call and init low level driver and com device */ if ( u8g_InitLL(u8g, u8g->dev) == 0 ) return 0; /* fetch width and height from the low level */ u8g_UpdateDimension(u8g); return 1; }
uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_D0] = d0; u8g->pin_list[U8G_PI_D1] = d1; u8g->pin_list[U8G_PI_D2] = d2; u8g->pin_list[U8G_PI_D3] = d3; u8g->pin_list[U8G_PI_D4] = d4; u8g->pin_list[U8G_PI_D5] = d5; u8g->pin_list[U8G_PI_D6] = d6; u8g->pin_list[U8G_PI_D7] = d7; u8g->pin_list[U8G_PI_EN] = en; u8g->pin_list[U8G_PI_CS1] = cs1; u8g->pin_list[U8G_PI_CS2] = cs2; u8g->pin_list[U8G_PI_DI] = di; u8g->pin_list[U8G_PI_RW] = rw; u8g->pin_list[U8G_PI_RESET] = reset; return u8g_Begin(u8g); }
uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev) { u8g_init_data(u8g); u8g->dev = dev; if ( u8g_InitLL(u8g, u8g->dev) == 0 ) return 0; u8g_UpdateDimension(u8g); return 1; }
uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; u8g->pin_list[U8G_PI_I2C_OPTION] = options; return u8g_Begin(u8g); }
uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev) { u8g_init_data(u8g); u8g->dev = dev; /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ /* if Arduino call u8g_UpdateDimension else u8g_Begin */ /* issue 146 */ return u8g_Begin(u8g); }
uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_CS] = cs; u8g->pin_list[U8G_PI_A0] = a0; u8g->pin_list[U8G_PI_RESET] = reset; return u8g_Begin(u8g); }
uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; u8g->pin_list[U8G_PI_I2C_OPTION] = options; /* call and init low level driver and com device */ if ( u8g_InitLL(u8g, u8g->dev) == 0 ) return 0; /* fetch width and height from the low level */ u8g_UpdateDimension(u8g); return 1; }
uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_EN] = en; u8g->pin_list[U8G_PI_CS] = cs; u8g->pin_list[U8G_PI_DI] = di; u8g->pin_list[U8G_PI_RW] = rw; u8g->pin_list[U8G_PI_RESET] = reset; return u8g_Begin(u8g); }
uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_CS] = cs; u8g->pin_list[U8G_PI_A0] = a0; u8g->pin_list[U8G_PI_RESET] = reset; /* call and init low level driver and com device */ if ( u8g_InitLL(u8g, u8g->dev) == 0 ) return 0; /* fetch width and height from the low level */ u8g_UpdateDimension(u8g); return 1; }
uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_SCK] = sck; u8g->pin_list[U8G_PI_MOSI] = mosi; u8g->pin_list[U8G_PI_CS] = cs; u8g->pin_list[U8G_PI_A0] = a0; u8g->pin_list[U8G_PI_RESET] = reset; /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ /* if Arduino call u8g_UpdateDimension else u8g_Begin */ /* issue 146 */ return u8g_Begin(u8g); }
/* special init for pure ARM systems */ uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn) { u8g_init_data(u8g); #if defined(U8G_WITH_PINLIST) { uint8_t i; for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) u8g->pin_list[i] = U8G_PIN_DUMMY; } #endif u8g->dev = dev; /* replace the device procedure with a custom communication procedure */ u8g->dev->com_fn = com_fn; /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ /* if Arduino call u8g_UpdateDimension else u8g_Begin */ /* issue 146 */ return u8g_Begin(u8g); }
uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) { /* fill data structure with some suitable values */ u8g_init_data(u8g); u8g->dev = dev; /* assign user pins */ u8g->pin_list[U8G_PI_EN] = en; u8g->pin_list[U8G_PI_CS] = cs; u8g->pin_list[U8G_PI_DI] = di; u8g->pin_list[U8G_PI_RW] = rw; u8g->pin_list[U8G_PI_RESET] = reset; /* call and init low level driver and com device */ if ( u8g_InitLL(u8g, u8g->dev) == 0 ) return 0; /* fetch width and height from the low level */ u8g_UpdateDimension(u8g); return 1; }