diff --git a/iPDC/Attack_detect.c b/iPDC/Attack_detect.c index f32e8ba..0998b7e 100644 --- a/iPDC/Attack_detect.c +++ b/iPDC/Attack_detect.c @@ -2,9 +2,10 @@ #include #include #include +#include #include "parser.h" -void attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_OF_FREQUENCY) +gboolean attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_OF_FREQUENCY) { // printf("freq: %d\n",to_intconvertor(&(df->dpmu[0]->fmt->freq))); // printf("analog: %d\n",to_intconvertor(&(df->dpmu[0]->fmt->analog))); @@ -16,18 +17,20 @@ void attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_O *SUM_OF_FREQUENCY+=CURR_FREQ; float FREQ_AVG=*SUM_OF_FREQUENCY/(*COUNT*1.0f); float DETECT_PERCENT=(abs(FREQ_AVG-CURR_FREQ)/(FREQ_AVG*1.0f))*100; - + gboolean detect; /* detecting based on thershold */ - float THRESHOLD=70; + float THRESHOLD=60; if(DETECT_PERCENT>THRESHOLD) { + detect=FALSE; printf("\033[0;31m"); printf("ATTACK DETECTED!"); printf("\033[0m"); - printf(" Detect_percent: %f\n",DETECT_PERCENT); + // intf(" Detect_percent: %f\n",DETECT_PERCENT); } else { + detect=TRUE; printf("\033[0;32m"); printf("NO PROBLEM :)\n"); printf("\033[0m"); @@ -51,6 +54,7 @@ void attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_O *SUM_OF_FREQUENCY=CURR_FREQ; *COUNT=1; } + return detect; } /* pavan changes */ \ No newline at end of file diff --git a/iPDC/Attack_detect.h b/iPDC/Attack_detect.h index d397949..eda87fc 100644 --- a/iPDC/Attack_detect.h +++ b/iPDC/Attack_detect.h @@ -1,10 +1,11 @@ /* pavan changes */ - +#include +#include /* variables declared of attack_detect function */ float SUM_OF_FREQUENCY=0; float COUNT=0; time_t START; /* function declared */ -void attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_OF_FREQUENCY); +gboolean attack_detect(struct data_frame *df,time_t* START,float* COUNT,float* SUM_OF_FREQUENCY); /* pavan changes */ \ No newline at end of file diff --git a/iPDC/map_vis.c b/iPDC/map_vis.c new file mode 100644 index 0000000..db5ebab --- /dev/null +++ b/iPDC/map_vis.c @@ -0,0 +1,51 @@ +#include +#include "align_sort.h" +#include "map_vis.h" +#include "parser.h" +#include "osm-gps-map.h" +#include "Attack_detect.h" + +typedef struct{ + OsmGpsMap *util_map; + GdkPixbuf *g_red_image; + GdkPixbuf *g_green_image; + OsmGpsMapImage *g_last_image; +} myParameters; + +gboolean update_images(gpointer* pars){ + myParameters* parameters = (myParameters*) pars; + struct data_frame *df = TSB[0].first_data_frame; + if(parameters->g_green_image == NULL){ + return FALSE; + } + if (parameters->util_map == NULL){ + return FALSE; + } + if (df == NULL){ + return FALSE; + } + int freq = to_intconvertor(df->dpmu[0]->freq); + gboolean green =attack_detect(df,&START,&COUNT,&SUM_OF_FREQUENCY); + if(parameters->util_map != NULL){ + + // if(parameters->g_last_image != 0){ + // osm_gps_map_image_remove(parameters->util_map, parameters->g_last_image); + // } + // if (freq > 300){ + // parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image); + // }else{ + // parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image); + // } + if(parameters->g_last_image != 0){ + osm_gps_map_image_remove(parameters->util_map, parameters->g_last_image); + } + if (green){ + parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image); + }else{ + parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image); + } + + } + gtk_widget_queue_draw(GTK_WIDGET(parameters->util_map)); + return TRUE; +} \ No newline at end of file diff --git a/iPDC/map_vis.h b/iPDC/map_vis.h new file mode 100644 index 0000000..e69de29 diff --git a/iPDC/parser.c b/iPDC/parser.c index 30cc6f2..daa5b50 100755 --- a/iPDC/parser.c +++ b/iPDC/parser.c @@ -61,8 +61,6 @@ #include "align_sort.h" #include "connections.h" #include "recreate.h" -#include "utility_tools.h" -#include "Attack_detect.h" /* ---------------------------------------------------------------------------- */ /* FUNCTION cfgparser(): */ @@ -1274,26 +1272,26 @@ int dataparser(unsigned char data[]) { } /*pavan changes*/ - attack_detect(df,&START,&COUNT,&SUM_OF_FREQUENCY); + // attack_detect(df,&START,&COUNT,&SUM_OF_FREQUENCY); /*pavan changes*/ // temp code /* karthik changes*/ - int freq = to_intconvertor(df->dpmu[0]->freq); - if(util_map != NULL){ - g_red_image = gdk_pixbuf_new_from_file_at_size ("red.png", 24,24,NULL); - g_green_image = gdk_pixbuf_new_from_file_at_size ("green.png", 24,24,NULL); - if(g_last_image != 0){ - osm_gps_map_image_remove(util_map, g_last_image); - } - if (freq > 300){ - g_last_image = osm_gps_map_image_add(util_map,15.518597, 74.925584, g_green_image); - }else{ - g_last_image = osm_gps_map_image_add(util_map,15.518597, 74.925584, g_green_image); - } - gtk_widget_show_all(GTK_WIDGET(util_map)); + // int freq = to_intconvertor(df->dpmu[0]->freq); + // if(util_map != NULL){ + // g_red_image = gdk_pixbuf_new_from_file_at_size ("red.png", 24,24,NULL); + // g_green_image = gdk_pixbuf_new_from_file_at_size ("green.png", 24,24,NULL); + // if(g_last_image != 0){ + // osm_gps_map_image_remove(util_map, g_last_image); + // } + // if (freq > 300){ + // g_last_image = osm_gps_map_image_add(util_map,15.518597, 74.925584, g_green_image); + // }else{ + // g_last_image = osm_gps_map_image_add(util_map,15.518597, 74.925584, g_green_image); + // } + // gtk_widget_show_all(GTK_WIDGET(util_map)); - } + // } /* karthik changes */ if((config_change == 14) ||(config_change == 10)) diff --git a/iPDC/utility_tools.c b/iPDC/utility_tools.c index 26c2e62..153bc1d 100644 --- a/iPDC/utility_tools.c +++ b/iPDC/utility_tools.c @@ -1,5 +1,8 @@ #include #include "utility_tools.h" +#include "align_sort.h" +#include "parser.h" +#include "Attack_detect.h" #define UI_fILE "./utility_tools.ui" @@ -12,9 +15,59 @@ // osm_gps_map_image_add(map, lat, lon, image); // } +typedef struct{ + OsmGpsMap *util_map; + GdkPixbuf *g_red_image; + GdkPixbuf *g_green_image; + OsmGpsMapImage *g_last_image; +} myParameters; + +gboolean update_images(gpointer* pars){ + myParameters* parameters = (myParameters*) pars; + struct data_frame *df = TSB[0].first_data_frame; + if(parameters->g_green_image == NULL){ + return FALSE; + } + if (parameters->util_map == NULL){ + return FALSE; + } + if (df == NULL){ + return FALSE; + } + int freq = to_intconvertor(df->dpmu[0]->freq); + gboolean green =attack_detect(df,&START,&COUNT,&SUM_OF_FREQUENCY); + if(parameters->util_map != NULL){ + + // if(parameters->g_last_image != 0){ + // osm_gps_map_image_remove(parameters->util_map, parameters->g_last_image); + // } + // if (freq > 300){ + // parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image); + // }else{ + // parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image); + // } + if(parameters->g_last_image != 0){ + osm_gps_map_image_remove(parameters->util_map, parameters->g_last_image); + } + if (green){ + parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_green_image); + }else{ + parameters->g_last_image = osm_gps_map_image_add(parameters->util_map,15.518597, 74.925584, parameters->g_red_image); + } + + } + gtk_widget_queue_draw(GTK_WIDGET(parameters->util_map)); + return TRUE; +} void utility_tools(GtkButton *but, gpointer udata) { + OsmGpsMap *util_map; + GtkWidget *window; + GdkPixbuf *g_red_image; + GdkPixbuf *g_green_image; + OsmGpsMapImage *g_last_image; + // ------------------- GtkBuilder *builder; GError *error = NULL; builder = gtk_builder_new(); @@ -23,6 +76,8 @@ void utility_tools(GtkButton *but, gpointer udata) g_warning("%s", error->message); g_free(error); } + g_red_image = gdk_pixbuf_new_from_file_at_size ("red.png", 24,24,NULL); + g_green_image = gdk_pixbuf_new_from_file_at_size ("green.png", 24,24,NULL); window = GTK_WIDGET(gtk_builder_get_object(builder, "util_window")); GtkContainer *map_container = GTK_CONTAINER(gtk_builder_get_object(builder, "map_layout")); @@ -33,14 +88,17 @@ void utility_tools(GtkButton *but, gpointer udata) "tile-cache", "/tmp/", NULL); osm_gps_map_set_center_and_zoom (util_map, 15.4589, 75.0078, 10); - g_red_image = gdk_pixbuf_new_from_file_at_size ("red.png", 24,24,NULL); - g_green_image = gdk_pixbuf_new_from_file_at_size ("green.png", 24,24,NULL); - // g_last_image = osm_gps_map_image_add(util_map,15.4589, 75.0078, g_red_image); - // g_last_image = osm_gps_map_image_add(util_map,15.518597, 74.925584, g_green_image); + g_last_image = osm_gps_map_image_add(util_map,15.4589, 75.0078, g_red_image); + g_last_image = osm_gps_map_image_add(util_map,15.518597, 74.925584, g_green_image); + myParameters parameters = {util_map, g_red_image, g_green_image, g_last_image}; + gpointer data = (gpointer) ¶meters; + g_timeout_add(20, (GSourceFunc) update_images, data); + gtk_widget_set_size_request(GTK_WIDGET(util_map), 600, 500); gtk_container_add(map_container, GTK_WIDGET(util_map)); + g_signal_connect(window, "destroy", G_CALLBACK(gtk_widget_destroy), NULL); gtk_widget_show_all(window); gtk_main(); diff --git a/iPDC/utility_tools.h b/iPDC/utility_tools.h index 01dd4d1..9e3d6a9 100644 --- a/iPDC/utility_tools.h +++ b/iPDC/utility_tools.h @@ -1,3 +1,4 @@ +#include #include #include "osm-gps-map.h" @@ -7,10 +8,6 @@ #define CH_GET_WIDGET(builder, name, data) \ CH_GET_OBJECT(builder, name, GTK_WIDGET, data) -OsmGpsMap *util_map; -GtkWidget *window; -static GdkPixbuf *g_red_image = NULL; -static GdkPixbuf *g_green_image = NULL; -static OsmGpsMapImage *g_last_image = NULL; + void utility_tools(GtkButton *but, gpointer udata); \ No newline at end of file