Beispiel #1
0
/*ARGSUSED*/
static void
ActionStart(Widget gw, XEvent *event, String *params, Cardinal *num_params)
{
    RepeaterWidget rw = (RepeaterWidget)gw;

    CLEAR_TIMEOUT(rw);
    if (rw->repeater.start_callbacks) 
	XtCallCallbackList(gw, rw->repeater.start_callbacks, NULL);

    DO_CALLBACK(rw);
    rw->repeater.timer = ADD_TIMEOUT(rw, rw->repeater.initial_delay);
    rw->repeater.next_delay = rw->repeater.repeat_delay;
}
void timeout_cb(int fd, short event, void *arg) {

  //  printf("in timeout_cb\n");

  DOWNLINK_SEND_ALIVE(DefaultChannel, 16, MD5SUM);

  float  foof = 3.14159265358979323846;
  double food = 3.14159265358979323846;
  DOWNLINK_SEND_TEST_FORMAT(DefaultChannel, &food, &foof);

  UdpTransportPeriodic();

  ADD_TIMEOUT();

}
int main(int argc, char** argv) {

  network = network_new(GCS_HOST, GCS_PORT, DATALINK_PORT, FALSE);

  /* Initalize the event library */
  event_init();

  /* Add a timeout event */
  evtimer_set(&timeout, timeout_cb, &timeout);

  ADD_TIMEOUT();

  event_dispatch();

  return 0;
}
Beispiel #4
0
/*ARGSUSED*/
static void
tic(XtPointer client_data, XtIntervalId *id)
{
    RepeaterWidget rw = (RepeaterWidget)client_data;

    rw->repeater.timer = 0;		/* timer is removed */
    if (rw->repeater.flash) {
	Widget w = (Widget)rw;

	XClearWindow(XtDisplay(w), XtWindow(w));
	XtCallActionProc(w, "reset", NULL, NULL, 0);
	XClearWindow(XtDisplay(w), XtWindow(w));
	XtCallActionProc(w, "set", NULL, NULL, 0);
    }
    DO_CALLBACK(rw);

    rw->repeater.timer = ADD_TIMEOUT(rw, rw->repeater.next_delay);

    if (rw->repeater.decay) {
	rw->repeater.next_delay -= rw->repeater.decay;
	if (rw->repeater.next_delay < rw->repeater.minimum_delay)
	    rw->repeater.next_delay = rw->repeater.minimum_delay;
    }
}