diff --git a/hwTestSuite/testSuite.c b/hwTestSuite/testSuite.c index d571f22..c200b7c 100644 --- a/hwTestSuite/testSuite.c +++ b/hwTestSuite/testSuite.c @@ -202,6 +202,7 @@ static Boolean testerInit(){ uint32_t width; uint32_t height; uint32_t depth; + Boolean memoryAllocSuccess; FtrGet(sysFtrCreator, sysFtrNumROMVersion, &osVer); @@ -220,12 +221,14 @@ static Boolean testerInit(){ setFramebufferFormatError = ScrDisplayMode(scrDisplayModeSet, &width, &height, &depth, NULL); if(setFramebufferFormatError){ + FrmCustomAlert(alt_err, "Framebuffer unusable", 0, 0); return false; } framebuffer = BmpGetBits(WinGetBitmap(WinGetDrawWindow())); UG_Init(&uguiStruct, uguiDrawPixel, 160, 160); + UG_FontSelect(&FONT_4X6); UG_SetBackcolor(C_WHITE); UG_SetForecolor(C_BLACK); UG_ConsoleSetBackcolor(C_WHITE); @@ -234,7 +237,11 @@ static Boolean testerInit(){ unsafeMode = false; /*make test list*/ - initTestList(); + memoryAllocSuccess = initTestList(); + if(!memoryAllocSuccess){ + FrmCustomAlert(alt_err, "Could not allocate UG_WINDOW", 0, 0); + return false; + } /*load first subprogram*/ subprogramIndex = 0; diff --git a/hwTestSuite/viewer.c b/hwTestSuite/viewer.c index 58b77a3..6c902b9 100644 --- a/hwTestSuite/viewer.c +++ b/hwTestSuite/viewer.c @@ -42,7 +42,6 @@ static UG_TEXTBOX listEntrys[ITEM_LIST_ENTRYS]; static char textboxString[ITEM_LIST_ENTRYS][ITEM_STRING_SIZE]; /*list handler variables*/ -static Boolean viewerInitialized = false; static uint32_t page = 0; static uint32_t index = 0; static uint32_t lastIndex = 0; @@ -109,7 +108,7 @@ static void resetListHandler(){ forceListRefresh = true; } -static void listModeFrame(){ +static var listModeFrame(){ if (getButtonPressed(buttonUp)){ if(selectedEntry > 0) selectedEntry--; @@ -167,17 +166,18 @@ static void listModeFrame(){ lastPage = page; UG_Update(); + + return makeVar(LENGTH_0, TYPE_NULL, 0); } - -var initViewer(){ +static Boolean initViewer(){ int newTextboxY; int entry; UG_RESULT passed; passed = UG_WindowCreate(&fbWindow, fbObjects, MAX_OBJECTS, windowCallback); if (passed != UG_RESULT_OK) - return makeVar(LENGTH_1, TYPE_BOOL, false); + return false; UG_WindowSetStyle(&fbWindow, WND_STYLE_HIDE_TITLE | WND_STYLE_2D); UG_WindowSetForeColor(&fbWindow, TEXTBOX_DEFAULT_TEXT_COLOR); @@ -192,25 +192,15 @@ var initViewer(){ UG_TextboxShow(&fbWindow, entry); newTextboxY += TEXTBOX_PIXEL_HEIGHT; } + /*set_main_window*/ UG_WindowShow(&fbWindow); - return makeVar(LENGTH_1, TYPE_BOOL, true); + return true; } var hexViewer(){ - var where; - - if(!viewerInitialized){ - var passFail = initViewer(); - if(varsEqual(passFail, makeVar(LENGTH_1, TYPE_BOOL, true))){ - callSubprogram(memoryAllocationError); - return makeVar(LENGTH_1, TYPE_BOOL, false); - } - viewerInitialized = true; - } - - where = getSubprogramArgs(); + var where = getSubprogramArgs(); resetListHandler(); listLength = getVarPointerSize(where); @@ -226,36 +216,35 @@ var hexViewer(){ listLength = 0xFFFFFFFF; } listHandler = hexHandler; - listModeFrame(); + execSubprogram(listModeFrame); - return makeVar(LENGTH_1, TYPE_BOOL, true); + return makeVar(LENGTH_0, TYPE_NULL, 0); } var testPicker(){ - if(!viewerInitialized){ - var passFail = initViewer(); - if(varsEqual(passFail, makeVar(LENGTH_1, TYPE_BOOL, true))){ - callSubprogram(memoryAllocationError); - return makeVar(LENGTH_1, TYPE_BOOL, false); - } - viewerInitialized = true; - } - resetListHandler(); listLength = totalHwTests; listHandler = testPickerHandler; - listModeFrame(); + execSubprogram(listModeFrame); - return makeVar(LENGTH_1, TYPE_BOOL, true); + return makeVar(LENGTH_0, TYPE_NULL, 0); } -void initTestList(){ +Boolean initTestList(){ var nullVar = makeVar(LENGTH_0, TYPE_NULL, 0); + Boolean memoryAllocSuccess = initViewer(); + + if(!memoryAllocSuccess){ + return false; + } + + totalHwTests = 0; strncpy(hwTests[0].name, "Ram Browser", 32); hwTests[0].isSimpleTest = false; hwTests[0].expectedResult = nullVar; hwTests[0].testFunction = hexRamBrowser; + totalHwTests++; - totalHwTests = 1; + return true; } diff --git a/hwTestSuite/viewer.h b/hwTestSuite/viewer.h index ee99cc4..a736a6d 100644 --- a/hwTestSuite/viewer.h +++ b/hwTestSuite/viewer.h @@ -6,5 +6,5 @@ var hexViewer(); var testPicker(); -void initTestList(); +Boolean initTestList(); #endif