void setUp(void) { genericResetNode(&nodeA, (void *)&moduleAndPin_1); genericResetNode(&nodeB, (void *)&moduleAndPin_2); genericResetNode(&nodeC, (void *)&moduleAndPin_3); genericResetNode(&nodeD, (void *)&moduleAndPin_4); setEventInfo(&time_1ns, 1); setEventInfo(&time_2ns, 2); setEventInfo(&time_4ns, 4); genericResetNode(&node1, (void *)&time_1ns); genericResetNode(&node2, (void *)&time_2ns); genericResetNode(&node4, (void *)&time_4ns); }
void setUp(void) { genericResetNode(&nodeA, (void *)&moduleAndPin[0]); genericResetNode(&nodeB, (void *)&moduleAndPin[1]); genericResetNode(&nodeC, (void *)&moduleAndPin[2]); genericResetNode(&nodeD, (void *)&moduleAndPin[3]); setEventInfo(&time_1ns, ONE_NANO_SEC); setEventInfo(&time_2ns, 2 * ONE_NANO_SEC); setEventInfo(&time_4ns, 4 * ONE_NANO_SEC); genericResetNode(&node1, (void *)&time_1ns); genericResetNode(&node2, (void *)&time_2ns); genericResetNode(&node4, (void *)&time_4ns); }
/***********************************************************************\ * Input : none * * Output: None * * Function: Monitor Devices and process events * \***********************************************************************/ void Control(void) { int deviceID = 0; double eventStartTime, eventResponseTime, eventTurnAroundTime; Event e; //Set up DeviceEventsInfo structs // So we end up getting the same performance // even if Initialize() isn't called.. InitializeDeviceEventsInfo(); while (1) { // Find an device that has an event that needs processing while ((BufferLastEvent[deviceID].When == 0) || (eventInfoArray[deviceID].processedEventID[BufferLastEvent[deviceID].EventID])) { deviceID++; deviceID = deviceID % MAX_NUMBER_DEVICES; } //eventStartTime = Now(); // avg response = 0.000039, avg turn = 0.030 // Copy the event into our memory before it changes e = BufferLastEvent[deviceID]; eventStartTime = e.When; // avg response = 0.007799, avg turn = 0.037910 DisplayEvent('a', &e); eventResponseTime = Now() - eventStartTime; // Serve the event Server(&e); eventTurnAroundTime = Now() - eventStartTime; // Set as processed eventInfoArray[e.DeviceID].processedEventID[e.EventID] = 1; setEventInfo(e.DeviceID, e.EventID, eventResponseTime, eventTurnAroundTime); } }