// MAIN ///////////////////////////////////////////////////////////////////////////// int main(void) { GOL_MSG msg; // GOL message structure to interact with GOL InitializeBoard(); #ifdef __PIC32MX__ ImageDecoderInit(); JPEGInit(); // Initialize JPEG #endif SetColor(WHITE); ClearDevice(); GFX_SchemeInit(); while(1) { if(GOLDraw()) { // Draw GOL objects // Drawing is finished, we can now process new message TouchGetMsg(&msg); // Get message from touch screen GOLMsg(&msg); // Process message } } }
void SYS_Initialize ( void* data ) { /* Initializethe interrupt system */ SYS_INT_Initialize(); /* Initialize the global interrupts */ SYS_INT_Enable(); SYS_MSG_MESSAGING_OBJECT oSysMsg; SYS_MSG_INIT sSysMsgInit; uint16_t nQSizes[] = SYS_MSG_BUFFER_SIZES; sSysMsgInit.nMaxMsgsDelivered = SYS_MSG_MAX_MSGS_DELIVERED; sSysMsgInit.nMessagePriorities = SYS_MSG_MAX_PRIORITY+1; sSysMsgInit.nQSizes = nQSizes; hSysMsg = SYS_MSG_Initialize(iSysMsg,(SYS_OBJ_HANDLE)&sSysMsgInit); oSysMsg = *(SYS_MSG_MESSAGING_OBJECT *)hSysMsg; hMsgType = SYS_MSG_TypeCreate(iSysMsg, TYPE_TOUCHSCREEN , 0); hMailbox = SYS_MSB_MailboxOpen( iSysMsg, (SYS_MSG_RECEIVE_CALLBACK)&TouchMessageCallback ); SYS_MSG_MailboxMsgAdd(hMailbox,hMsgType); ///////////////////////////////////////////////////////////////////////////// // DRIVER SPECIFIC INITIALIZATION DATA ///////////////////////////////////////////////////////////////////////////// // initialize the timer that manages the tick counter TickInit(); ///////////////////////////////////////////////////////////////////////////// // DRIVER SPECIFIC INITIALIZATION DATA ///////////////////////////////////////////////////////////////////////////// GFX_DRV_lcc_Initialize(0); //Initialize the Graphics Driver while (handle != 0) { handle = GFX_DRV_lcc_Open(0); } GFX_Initialize(); // initialize the components for Resistive Touch Screen TouchInit((void *)0, (void *)0, (void *)0, NULL); ImageDecoderInit(); JPEGInit(); // Initialize JPEG /* Initialize the Application */ APP_Initialize ( ); }