Problemas con LCD 128x64 y u8glib con librerias

Hola a todas. Os comento mi problema a ver si me podéis ayudar. Estoy haciendo un proyecto dnd uso una LCD con la librería u8g. La cuestión es que quiero quitar carga de código y poner algunas acciones de la pantalla en librerías. Inicio la pantalla en el código principal de tal manera:

U8GLIB_ST7920_128X64_1X u8g(45,43,41,39,37,35,33,31,53,49,51,47);

El problema que tengo es que cuando realizo funciones, por ejemplo u8g.setRot180(); no me las reconoce. En un primer lugar probe a iniciar la pantalla, con el código mencionado anteriormente dentro de la librería pero me doy cuenta de que cada vez que pasa por la librería la pantalla vuelve a iniciarse. Es decir se apaga y tarda 3 segundos en volver ha activarse. ES obvio que esta no es la solución.

Y aqui la posible solución donde quiero que me ayudéis. LOS PUNTEROS. Utilizar de alguna manera esa información y pasarla a la librería como puntero. He probado varias formas pero no me funciona, como por ejemplo

Pryecto.ino
U8GLIB_ST7920_128X64_1X u8g(45,43,41,39,37,35,33,31,53,49,51,47);
libreria(&ug8);

libreira.h
void libreria(U8GLIB_ST7920_128X64_1X *u8g);

libreria.cpp
void libreria(U8GLIB_ST7920_128X64_1X *u8g);
*u8g.setRot180();

Supongo que este ejemplo no tiene ni pies ni cabeza pero espero que me entendáis y me podáis encaminar.

Gracias

Hola Curial .
Aunque la librería tiene la posibilidad de rotar la pantalla, la que tienes (yo también tengo de estas), que yo sepa el controlador de la pantalla ST7920 el chip no lo permite. No es problema de la librería ni de software es sencillamente lo que he puesto.

Leí la documentación de la librería hace tiempo y solo algunas tienen esa capacidad, reitero que las ST7920 no.

Gracias por contestar. No has entendido realmente mi duda. No se si me habré explicado bien.

La pantalla me funciona correctamente y no hay ningún problema con la librería. De echo, u8g.setRot180(); funciona perfectamente. Pero mi problema no es ese sino el de realizar mi propia libreria con funciones externar para descargar codigo del programa principal.... es decir, hacer una librería para utilizarla cuando quiera dentro de mi codigo principal. Entonces es aqui cuando tengo el problema. Si inicio la pantalla en el código principal, las funciones u8g no me funcionan en la librería creada por mi, y si inicio la pantalla con el codigo antes comentado, dentro de la libreria creada por mi, cada vez que hago una llamada a la librería se inicia la pantalla y esto significa que se queda en blanco durante 3 segundos, mas o menos, hasta que vuelve a responder.

Mi duda entonces es como trabajar en una librería con funciones u8g evitando tener que iniciar la pantalla con:
U8GLIB_ST7920_128X64_1X u8g(45,43,41,39,37,35,33,31,53,49,51,47);

dentro de la libreria claro.

Es un poco enrevesado, pero espero que me entiendas

Si inicias el objeto no puede usar otro. Tendrás que definir más funciones en tu librería o bien modificar la U8glib.
Creo es imposible lo que pretendes

Imposible is nothing.

No declaro dos objetos si no uno, Lo declaro o dentro de mi codigo principal o en la libreria como comentaba anteriormente.

Lo que quiero puedo hacerlo perfectamente, pero lo considero una chapuza. Inicio u8g en mi libreria y utilizando un for(;:wink: evito que salga de la libreria, de esta forma solo se inicia una vez y todo transcurre en la librería. Esto lo puedo hacer porque trabajo con sistemas embebidos por lo que puedo tener un proceso constantemente dentro de una libreria y a la vez tener otros procesos en marcha por otro lado. No obstante esto también tiene el problema de que únicamente puedo usar una libreria para el display, y eso tampoco me gusta...... En fin, veremos que hago

Te has planteado tener otro tipo de pantalla? Por ejemplo una FT800. Te puedes ahorrar tiempo y dolores de cabeza.
Te lo digo porque he pasado por los problemas límites que tienen estas pantallas que usas.

Busco una pantalla simple que no gaste mucha energía. Pero repito, el problema no esta en la pantalla ni en sus limites.

Mi problema radica en la estructura del código. Simplemente código no más.