Hej,
Long time ago i gave this solution:
In the LCD.C:
static void LCD_7637_Controller( void )
{
extern void starting_delay ( long unsigned );
/** Apply hardware reset **/
LCD_CtrlLinesWrite( GPIOx_CTRL_LCD, CtrlPin_RST, Bit_SET ); /* RST = 1 */
LCD_CtrlLinesWrite( GPIOx_CTRL_LCD, CtrlPin_RST, Bit_RESET ); /* RST = 0 */
starting_delay( 0x3000 ); // Changed from 0x500
LCD_CtrlLinesWrite( GPIOx_CTRL_LCD, CtrlPin_RST, Bit_SET ); /* RST = 1 */
starting_delay( 0x3000 ); // Changed from 0x500
Then it can run witout the delay in main:
/* The LCD monitor is not always properly initialized:
the starting delay allows to wait for a longer power up. */
#ifdef PRIMER2
delayms(100);
#else
starting_delay( 100 ); // KJ - Changed from 0x10000
#endif
But it seems not to be integrated into the circle os, you can change it an compile the circle os, and give feedback here if it works
Kasper