gct.cc
Go to the documentation of this file.
00001 /*------------------------------------------------------------------------
00002  *---------------------           WMPSNIFFER          --------------------
00003  *------------------------------------------------------------------------
00004  *                                                         V7.0B  11/05/10
00005  *
00006  *
00007  *  File: gct.cc
00008  *  Authors: Danilo Tardioli
00009  *  ----------------------------------------------------------------------
00010  *  Copyright (C) 2000-2012, Universidad de Zaragoza, SPAIN
00011  *
00012  *  Contact Addresses: Danilo Tardioli                   dantard@unizar.es
00013  *
00014  *  RT-WMP is free software; you can  redistribute it and/or  modify it
00015  *  under the terms of the GNU General Public License  as published by the
00016  *  Free Software Foundation;  either  version 2, or (at  your option) any
00017  *  later version.
00018  *
00019  *  RT-WMP  is distributed  in the  hope  that  it will be   useful, but
00020  *  WITHOUT  ANY  WARRANTY;     without  even the   implied   warranty  of
00021  *  MERCHANTABILITY  or  FITNESS FOR A  PARTICULAR PURPOSE.    See the GNU
00022  *  General Public License for more details.
00023  *
00024  *  You should have received  a  copy of  the  GNU General Public  License
00025  *  distributed with RT-WMP;  see file COPYING.   If not,  write to the
00026  *  Free Software  Foundation,  59 Temple Place  -  Suite 330,  Boston, MA
00027  *  02111-1307, USA.
00028  *
00029  *  As a  special exception, if you  link this  unit  with other  files to
00030  *  produce an   executable,   this unit  does  not  by  itself cause  the
00031  *  resulting executable to be covered by the  GNU General Public License.
00032  *  This exception does  not however invalidate  any other reasons why the
00033  *  executable file might be covered by the GNU Public License.
00034  *
00035  *----------------------------------------------------------------------*/
00036 #include "gct.h"
00037 #include <cmath>
00038 #include <cstdlib>
00039 #include "misc.h"
00040 static int previous_serial = 0, gct_initd = 0, act_gct = 0,max_consecutive = 0,idx1;
00041 
00042 int greatest_clean_time_check(wmpFrame * p) {
00043     if (gct_initd == 0) {
00044         idx1 = p->hdr.serial;
00045         previous_serial = idx1 - 1;
00046         gct_initd = 1;
00047     }
00048     if (p->hdr.serial != previous_serial + 1) {
00049         if (abs(p->hdr.serial - idx1) > max_consecutive) {
00050             max_consecutive = abs(p->hdr.serial - idx1);
00051         }
00052         idx1 = p->hdr.serial;
00053     }
00054     act_gct = MAX(abs(p->hdr.serial - idx1), max_consecutive);
00055     previous_serial = p->hdr.serial;
00056     return max_consecutive;
00057 }
00058 
00059 int get_actual_gct(int *best, int *act) {
00060     *best = act_gct;
00061     *act = abs(previous_serial - idx1);
00062     return act_gct;
00063 }
00064 
00065 void reset_actual_gct(){
00066         act_gct=0;
00067         previous_serial=idx1=0;
00068 }


ros_rt_wmp_sniffer
Author(s): Danilo Tardioli, dantard@unizar.es
autogenerated on Fri Jan 3 2014 12:08:32