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);
}
Ejemplo n.º 3
0
/***********************************************************************\
 * 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);
  }

}