 +}
 +#endif /* SPI_NUMOF */
 +
-+#if I2C_NUMOF
++#ifdef I2C_NUMOF
 +uint8_t u8x8_byte_riotos_hw_i2c(u8x8_t *u8g2, uint8_t msg, uint8_t arg_int, void *arg_ptr)
 +{
 +    static uint8_t buffer[255];

+  uint32_t pins_enabled;
+  uint32_t dev;
 };
 
 #define u8x8_GetCols(u8x8) ((u8x8)->display_info->tile_width)
@@ -337,6 +343,8 @@ struct u8x8_struct
 #define u8x8_SetMenuDownPin(u8x8, val) u8x8_SetPin((u8x8),U8X8_PIN_MENU_DOWN,(val))
 #endif
 
+#define u8x8_SetPins(u8x8,pins,pins_enabled) {(u8x8)->pins = (pins); (u8x8)->pins_enabled = (pins_enabled);}
+#define u8x8_SetDevice(u8x8,device) ((u8x8)->dev = device)
 
 /*==========================================*/
 
@@ -818,6 +826,9 @@ extern const uint8_t u8x8_font_pxplustandynewtv_u[] U8X8_FONT_SECTION("u8x8_font
 
 /* end font list */
 
+extern uint8_t u8x8_byte_riotos_hw_spi(u8x8_t *u8g2, uint8_t msg, uint8_t arg_int, void *arg_ptr);
+extern uint8_t u8x8_gpio_and_delay_riotos(u8x8_t *u8g2, uint8_t msg, uint8_t arg_int, void *arg_ptr);
+extern uint8_t u8x8_byte_riotos_hw_i2c(u8x8_t *u8g2, uint8_t msg, uint8_t arg_int, void *arg_ptr);
 
 #ifdef __cplusplus
 }
-- 
2.8.1


@@ -362,6 +362,9 @@ void u8g2_ClearDisplay(u8g2_t *u8g2);
 #define u8g2_SetMenuDownPin(u8g2, val) u8x8_SetMenuDownPin(u8g2_GetU8x8(u8g2), (val))
 #endif

+#define u8g2_SetPins(u8x8,pins,pins_enabled) u8x8_SetPins(u8g2_GetU8x8(&u8g2), pins, pins_enabled)
+#define u8g2_SetDevice(u8x8,device) u8x8_SetDevice(u8g2_GetU8x8(&u8g2), device)
+
 /*==========================================*/
 /* u8g2_setup.c */

@@ -1663,4 +1666,3 @@ extern const uint8_t u8g2_font_px437wyse700b_mn[] U8G2_FONT_SECTION("u8g2_font_p


 #endif
-
diff --git a/csrc/u8g2_riotos.c b/csrc/u8g2_riotos.c
