Question: C Language: Write a diagnostic code for the following code. And please tell me what it will check for. This code does the following: its

C Language: Write a diagnostic code for the following code. And please tell me what it will check for. This code does the following: its using 2 7 Segment LEDs

Hit Switch

Count Up

Hit Switch

Display Time

Hit Switch

Count Down from 99

Hit Switch

Display time

Hit Switch

Turn off display

The diagonistic code should check: All segement of the LEDs and or buttons to make sure they work fine.

#include #include #include #include #include "LabJackUD.h" #include "LJUD_DynamicLinking.h"

void ErrorHandler (LJ_ERROR ljError, long lngLineNumber) { char err[255]; if (ljError != LJE_NOERROR) { ErrorToString(ljError, err); printf("Error # %ld: %s ", ljError, err); printf("Source line number = %ld ", lngLineNumber); if(ljError > LJE_MIN_GROUP_ERROR) { getchar(); exit(0); // Quit if serious error } } }

const int numbers[10][1] = { // 1: segment lit, 0: segment unlit // a b c d e f g {64}, //0 1, 1, 1, 1, 1, 1, 0 1000000 {121}, //1 0, 1, 1, 0, 0, 0, 0 1111001 {36}, //2 1, 1, 0, 1, 1, 0, 1 0100100 {48}, //3 1, 1, 1, 1, 0, 0, 1 0110000 {25}, //4 0, 1, 1, 0, 0, 1, 1 0011001 {18}, //5 1, 0, 1, 1, 0, 1, 1 0010010 {2}, //6 1, 0, 1, 1, 1, 1, 1 0000010 {120}, //7 1, 1, 1, 0, 0, 0, 0 1111000 {0}, //8 1, 1, 1, 1, 1, 1, 1 0000000 {24} //9 1, 1, 1, 0, 0, 1, 1 0011000 };

int i=0; int j=0; int k=0; int l=0; int m=0; double ReadVal=1; main() { LJ_ERROR ljError; // LabJack error code LJ_HANDLE ljHandle = 0; // ID# assigned to the opened LabJack LoadLabJackUD(); // Load the LabJack DLL

// Open the first found LabJack U3 ljError = OpenLabJack (LJ_dtU3, LJ_ctUSB, "1", 1, &ljHandle); ErrorHandler(ljError, __LINE__);

// Set all pin assignments to the factory default condition ljError = ePut(ljHandle, LJ_ioPIN_CONFIGURATION_RESET, 0, 0, 0); ErrorHandler(ljError, __LINE__); { while (ReadVal==1) { ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); }

while (ReadVal==0) { ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); }

while (m < 3300 && ReadVal==1) { i=k/330; j=l/33;

if (j==10) l=0;

ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[i][0], 7); Sleep(1); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[j][0], 7); Sleep(1); k++; l++; m++; }

while (ReadVal==0) { ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); } while (ReadVal==1) { ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[i][0], 7); Sleep(12); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[j][0], 7); Sleep(12);

}

while (ReadVal==0) { ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); }

m=3300; k=3300; l=330; while (ReadVal==1 && m > 0) {

i=k/330; j=l/33;

if (l==0) l=330;

ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[i][0], 7); Sleep(1); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[j][0], 7); Sleep(1); k--; l--; m--; }

while (ReadVal==0) { ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); }

while (ReadVal==1) { ljError = eGet (ljHandle, LJ_ioGET_DIGITAL_BIT, 11, &ReadVal, 1); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[i][0], 7); Sleep(12); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 1, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_PORT, 0, numbers[j][0], 7); Sleep(12); }

ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 7, 0, 0); ljError = ePut(ljHandle, LJ_ioPUT_DIGITAL_BIT, 8, 0, 0); return 0; } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!