From c39feead6b8a792b86e43e18fdf7c13ddaaf0387 Mon Sep 17 00:00:00 2001 From: nielmishra Date: Mon, 4 Jan 2016 15:14:57 +0530 Subject: beta-1 --- __init__.py | 0 __main__.py | 72 +++ buttons/download.png | Bin 0 -> 659 bytes buttons/generate.png | Bin 0 -> 2860 bytes docs/.~lock.development doc .odt# | 1 + docs/development doc .odt | Bin 0 -> 369590 bytes download.php | 53 ++- favicon.ico | Bin icons/logo.png | Bin schematic.html | 33 +- .../Screenshot from 2015-10-14 15_10_50.png | Bin 0 -> 83775 bytes .../Screenshot from 2015-10-14 15_11_03.png | Bin 0 -> 87330 bytes .../Screenshot from 2015-10-14 15_11_14.png | Bin 0 -> 98539 bytes .../Screenshot from 2015-10-14 15_11_44.png | Bin 0 -> 116979 bytes script/savenetlist.js | 137 ++++-- script/savenetlist.js~ | 511 --------------------- simulation.php | 42 ++ 17 files changed, 260 insertions(+), 589 deletions(-) create mode 100755 __init__.py create mode 100755 __main__.py create mode 100755 buttons/download.png create mode 100755 buttons/generate.png create mode 100644 docs/.~lock.development doc .odt# create mode 100644 docs/development doc .odt mode change 100644 => 100755 favicon.ico mode change 100644 => 100755 icons/logo.png create mode 100755 screenshorts/Screenshot from 2015-10-14 15_10_50.png create mode 100755 screenshorts/Screenshot from 2015-10-14 15_11_03.png create mode 100755 screenshorts/Screenshot from 2015-10-14 15_11_14.png create mode 100755 screenshorts/Screenshot from 2015-10-14 15_11_44.png delete mode 100755 script/savenetlist.js~ create mode 100755 simulation.php diff --git a/__init__.py b/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/__main__.py b/__main__.py new file mode 100755 index 0000000..dc2985a --- /dev/null +++ b/__main__.py @@ -0,0 +1,72 @@ +import os +import sys +import numpy as np + +import matplotlib +# Force matplotlib to not use any Xwindows backend. +matplotlib.use('Agg') + +import matplotlib.pyplot as plt + +def get_plot_files(file): + open_file = open(os.path.realpath(file),'r') + raw_data = open_file.read() + array = raw_data.split('* ') + + array.pop(0) + dict_data = {} + parameters = [] + parsed_files = [] + dir1 = str(file) + + + if not os.path.exists(dir1[:-4]): + os.makedirs(dir1[:-4]) + + + for i in range(len(array)): + dict_data[i] = array[i] + + sample = dict_data[i].split('\n') + write_file = open(os.path.realpath(dir1[:-4])+'/parsed_%s.txt'%(i),'w') + + for j in sample[3:]: + if j.startswith('Index'): + items = j.split() + parameters.append(items) if len(parameters) < i+1 else None + continue + if j.startswith('--') or '*' in j: + continue + else: + write_file.write(j+'\n') + + parsed_files.append(os.path.realpath(dir1[:-4])+'/parsed_%s.txt'%(i)) + return parameters, parsed_files + +def parse_files(file): + parameters, parsed_files = get_plot_files(file) + + for plot_file, parameter in zip(parsed_files, parameters): + data = np.loadtxt(plot_file, unpack=True, dtype=str) + for i in range(2, len(data)): + + plt.plot([x.strip(',') for x in data[1]], [y.strip(',') for y in data[i]]) + + try: + plt.xlabel(parameter[1]), plt.ylabel(parameter[i]) + plt.title('%s vs %s'%(parameter[1], parameter[i])) + plt.savefig(plot_file+str(i)+'.png'), plt.clf() + except IndexError: + plt.xlabel(parameter[1]), plt.ylabel('missing y label') + plt.title('%s vs missing y label'%(parameter[1], )) + plt.savefig(plot_file+str(i)+'.png'), plt.clf() + + +def main(): + + files = sys.argv[1:] + for fi in files: + parse_files(fi) + +if __name__ == '__main__': + main() diff --git a/buttons/download.png b/buttons/download.png new file mode 100755 index 0000000..29bae4b Binary files /dev/null and b/buttons/download.png differ diff --git a/buttons/generate.png b/buttons/generate.png new file mode 100755 index 0000000..57a5e16 Binary files /dev/null and b/buttons/generate.png differ diff --git a/docs/.~lock.development doc .odt# b/docs/.~lock.development doc .odt# new file mode 100644 index 0000000..59f528c --- /dev/null +++ b/docs/.~lock.development doc .odt# @@ -0,0 +1 @@ +,fossee,fossee-HP-240-G3-Notebook-PC,04.01.2016 15:01,file:///home/fossee/.config/libreoffice/4; \ No newline at end of file diff --git a/docs/development doc .odt b/docs/development doc .odt new file mode 100644 index 0000000..132a866 Binary files /dev/null and b/docs/development doc .odt differ diff --git a/download.php b/download.php index cc2a8f3..a0ecaf7 100755 --- a/download.php +++ b/download.php @@ -1,47 +1,58 @@ diff --git a/favicon.ico b/favicon.ico old mode 100644 new mode 100755 diff --git a/icons/logo.png b/icons/logo.png old mode 100644 new mode 100755 diff --git a/schematic.html b/schematic.html index 2ee409b..fee90c2 100755 --- a/schematic.html +++ b/schematic.html @@ -29,7 +29,7 @@ toolbar
Circuit - + @@ -67,7 +67,7 @@ toolbar

- GNUCAP + Fossee
Github @@ -232,10 +232,11 @@ or try adding
- + - - + + + + @@ -277,7 +278,7 @@ AC MENU FORM AND DIV - + + + + + + + + + + '; - -// jQuery('#domchange').append(eles); -//jQuery(this).prop('disabled', true); -//console.log(jQuery(this)); -//if opt - //alert("hello world"); - - - -//jQuery("#analysis").click(function(){ - diff --git a/script/savenetlist.js~ b/script/savenetlist.js~ deleted file mode 100755 index fc45a63..0000000 --- a/script/savenetlist.js~ +++ /dev/null @@ -1,511 +0,0 @@ -jQuery(document).ready(function(){ - jQuery("#webtronics_netlist_text_save").click(function(){ - console.log("button clicked"); - - jQuery.ajax({ - - url: "/webtronix/webtronix-master/download.php", - - type: "POST", - data: {netlist:jQuery("#webtronics_netlist_text_area").val()}, - dataType: "html", - - /* success: function() { - console.log("success"); - } - - */ - - success: function( data ) { - console.log(data.status); - if( data.status == 'error' ) { - - console.log("nahi hua bc"); - } else /*if (data.status == 'success')*/ { - console.log("ho gaya bc"); - } -}, - - - }); - - - }); -/*------------------------------------------------------------------------------------------------------------------------------------------------ -DC FUNCTIONALITY IS WRITTEN HERE ----------------------------------------------------------------------------------------------------------------------------------------------------*/ -jQuery(function(){ - jQuery("#dc_menu").hide(); - jQuery("#ac_menu").hide(); - jQuery("#transient_menu").hide(); - jQuery("#analysis_selectbox").change(function(){ - if (jQuery(this).val() == "1") - { - jQuery("#dc_menu").show(); - jQuery("#ac_menu").hide(); - jQuery("#transient_menu").hide(); - } - else if (jQuery(this).val() == "2") - { - jQuery("#ac_menu").show(); - jQuery("#dc_menu").hide(); - jQuery("#transient_menu").hide(); - } - else if (jQuery(this).val() == "3") - { - jQuery("#transient_menu").show(); - jQuery("#dc_menu").hide(); - jQuery("#ac_menu").hide(); - - } - - //$("#preview").change(function(){ - //jQuery"#analysis_selectbox".val(); - //$("#div1, #div2").toggle(); - }); -}); - - - -jQuery("#analysis_selectbox").change(function(){ - - analysis_type = jQuery(this).val(); - //console.log(analysis_type); -}); - -/*------------------------------------------------------------------------------------------------------------------------------------------------ -Ac netlist variable for ac -------------------------------------------------------------------------------------------------------------------------------------------------*/ - -jQuery("#saveac").click(function(){ - - startfreq = jQuery("#startfreqval").val(); - stopfreq = jQuery("#stopfreqval").val(); - noofpoint = jQuery("#noofpointsval").val(); - //console.log(startfreq,stopfreq,noofpoint); - //console.log(startfreq); - if (startfreq == "") - { - alert("Please enter Start Frequency"); - } - else if (stopfreq == "") - { - alert("Please enter Stop Frequency value"); - } - else if (noofpoint == "") - { - alert("Please Enter No Of Points"); - } -}); - - -jQuery("#frequency_selectbox").change(function(){ - - freq = jQuery(this).val(); - //console.log(freq); -}); - -jQuery("#scale_selectbox").change(function(){ - scale = jQuery(this).val(); - - if (scale == "1") - { - scale_val = "lin"; - } - else if (scale == "2") - { - scale_val = "dec"; - } - else if (scale == "3") - { - scale_val = "octal"; - } -}); - -jQuery("#start_frequency_selectbox").change(function(){ - - ac_start_freq = jQuery(this).val(); - - if (ac_start_freq == "1") - { - start_ac_unit = "Hz"; - } - else if (ac_start_freq == "2") - { - start_ac_unit = "THz"; - } - if (ac_start_freq == "3") - { - start_ac_unit = "GHz"; - } - else if (ac_start_freq == "4") - { - start_ac_unit = "Meg"; - } - else if (ac_start_freq == "5") - { - start_ac_unit = "KHz"; - } - -}); - -jQuery("#stop_frequency_selectbox").change(function(){ - - ac_stop_freq = jQuery(this).val(); - - if (ac_stop_freq == "1") - { - stop_ac_unit = "Hz"; - } - else if (ac_stop_freq == "2") - { - stop_ac_unit = "THz"; - } - if (ac_stop_freq == "3") - { - stop_ac_unit = "GHz"; - } - else if (ac_stop_freq == "4") - { - stop_ac_unit = "Meg"; - } - else if (ac_stop_freq == "5") - { - stop_ac_unit = "KHz"; - } - -}); - -/*------------------------------------------------------------------------------------------------------------------------------------------------ -Dc netlist variable for dc -------------------------------------------------------------------------------------------------------------------------------------------------*/ -jQuery("#savedc").click(function(){ - - source = jQuery("#sourceval").val(); - start = jQuery("#startval").val(); - increment = jQuery("#Incrementval").val(); - stop = jQuery("#stopval").val(); - //console.log(source,start,increment,stop); - //console.log(start); - if (source == "") - { - alert("Please enter Source Name"); - } - else if (start == "") - { - alert("Please enter Start Time"); - } - else if (increment == "") - { - alert("Please enter the increment value"); - } - else if (stop == "") - { - alert("Please enter the Stop Time"); - } - -}); - - -jQuery("#start_volt_selectbox").change(function(){ - - dc_start_time = jQuery(this).val(); - - if (dc_start_time == "1") - { - start_dc_unit = "00"; - } - else if (dc_start_time == "2") - { - start_dc_unit = "03"; - } - if (dc_start_time == "3") - { - start_dc_unit = "06"; - } - else if (dc_start_time == "4") - { - start_dc_unit = "09"; - } - else if (dc_start_time == "5") - { - start_dc_unit = "12"; - } - - //console.log(start_dc_unit); -}); - -jQuery("#inc_volt_selectbox").change(function(){ - - - dc_increment_time = jQuery(this).val(); - - if (dc_increment_time == "1") - { - increment_dc_unit = "00"; - } - else if (dc_increment_time == "2") - { - increment_dc_unit = "03"; - } - if (dc_increment_time == "3") - { - increment_dc_unit = "06"; - } - else if (dc_increment_time == "4") - { - increment_dc_unit = "09"; - } - else if (dc_increment_time == "5") - { - increment_dc_unit = "12"; - } - - //console.log(increment_dc_unit); -}); - -jQuery("#stop_volt_selectbox").change(function(){ - - - dc_stop_time = jQuery(this).val(); - - if (dc_stop_time == "1") - { - stop_dc_unit = "00"; - } - else if (dc_stop_time == "2") - { - stop_dc_unit = "03"; - } - if (dc_stop_time == "3") - { - stop_dc_unit = "06"; - } - else if (dc_stop_time == "4") - { - stop_dc_unit = "09"; - } - else if (dc_stop_time == "5") - { - stop_dc_unit = "12"; - } - - //console.log(stop_dc_unit); -}); - - - -/*------------------------------------------------------------------------------------------------------------------------------------------------ -netlist variable for transient -------------------------------------------------------------------------------------------------------------------------------------------------*/ -jQuery("#savetransient").click(function(){ - - start_trans = jQuery("#start_time").val(); - step_trans = jQuery("#step_time").val(); - stop_trans = jQuery("#stop_time").val(); - //console.log(start_trans, step_trans, stop_trans); - console - - if (start_trans == "") - { - alert("Please enter Start Time") - } - else if (step_trans == "") - { - alert("Please enter Step Time"); - } - else if (stop_trans == "") - { - alert("Please enter the Stop Time"); - } - -}); - - -jQuery("#start_time_selectbox").change(function(){ - - trans_start_time = jQuery(this).val(); - - if (trans_start_time == "1") - { - start_trans_unit = "03"; - } - else if (trans_start_time == "2") - { - start_trans_unit = "06"; - } - if (trans_start_time == "3") - { - start_trans_unit = "09"; - } - else if (trans_start_time == "4") - { - start_trans_unit = "12"; - } - - //console.log(start_trans_unit); -}); - -jQuery("#step_time_selectbox").change(function(){ - - trans_step_time = jQuery(this).val(); - - if (trans_step_time == "1") - { - step_trans_unit = "03"; - } - else if (trans_step_time == "2") - { - step_trans_unit = "06"; - } - if (trans_step_time == "3") - { - step_trans_unit = "09"; - } - else if (trans_step_time == "4") - { - step_trans_unit = "12"; - } - - //console.log(step_trans_unit); -}); - -jQuery("#stop_time_selectbox").change(function(){ - - trans_stop_time = jQuery(this).val(); - - if (trans_stop_time == "1") - { - stop_trans_unit = "03"; - } - else if (trans_stop_time == "2") - { - stop_trans_unit = "06"; - } - if (trans_stop_time == "3") - { - stop_trans_unit = "09"; - } - else if (trans_stop_time == "4") - { - stop_trans_unit = "12"; - } - - //console.log(stop_trans_unit); -}); - -/*------------------------------------------------------------------------------------------------------------------------------------------------ -Netlist Generation -------------------------------------------------------------------------------------------------------------------------------------------------*/ -change_val = "0"; -Flag = ""; - //console.log("out") - //console.log(change_val) - jQuery("#webtronics_netlist_generate").click(function(){ - //console.log(change_val) - - if (change_val == "0") - { - Flag = jQuery("#webtronics_netlist_text_area").val(); - //console.log("if when 0") - - -/*------------------------------------------------------------------------------------------------------------------------------------- - Here are the conditions concatenated to give final netlist values for dc all cases ----------------------------------------------------------------------------------------------------------------------------------------------*/ - if (analysis_type == "1") - { - //console.log(jQuery("#analysis_selectbox").val()); - - jQuery("#webtronics_netlist_text_area").val(Flag + '\n'+ ".dc" + " " + source + " " + start + "e" + "-" + start_dc_unit + " " + stop + "e" + "-" + stop_dc_unit + " " + increment + "e" + "-" + increment_dc_unit + '\n' + '\n'+ ".control \n"+ "run \n"+ ".endc \n"+ ".end \n" ); - - change_val = "1"; - //console.log(jQuery("#analysis_selectbox").val()); - } - - -/*------------------------------------------------------------------------------------------------------------------------------------------------ -Here are the all AC Cases for generating final netlist values -------------------------------------------------------------------------------------------------------------------------------------------------*/ - else if (analysis_type == "2") - { - jQuery("#webtronics_netlist_text_area").val(Flag + '\n'+ ".ac" + " " + scale_val + " " + noofpoint + " " + startfreq + start_ac_unit + " " + stopfreq + stop_ac_unit + '\n' + '\n'+ ".control \n"+ "run \n"+".endc \n"+ ".end \n" ); - - change_val = "1"; - } -/*------------------------------------------------------------------------------------------------------------------------------------------------ -Here are the all Transiet Cases for generating final netlist values -------------------------------------------------------------------------------------------------------------------------------------------------*/ - //else if (analysis_type == "3" && time == "1") - else if (analysis_type == "3") - { - jQuery("#webtronics_netlist_text_area").val(Flag + '\n' + ".tran" + " " + step_trans + "e" + "-" + step_trans_unit + " " + stop_trans + "e"+ "-" + stop_trans_unit + " " + start_trans + "e" + "-" + start_trans_unit + '\n' + '\n'+ ".control \n"+ "run \n"+ ".endc \n" +".end \n" ); - - change_val = "1"; - } - - -} - -else if( change_val == "1") - -{ - //console.log(change_val) - jQuery("#webtronics_netlist_text_area").val(""); - //console.log("if when 1") - - if (analysis_type == "1") - - { - - - jQuery("#webtronics_netlist_text_area").val(Flag + '\n'+ ".dc" + " " + source + " " + start + "e" + "-" + start_dc_unit + " " + stop + "e" + "-" + stop_dc_unit + " " + increment + "e" + "-" + increment_dc_unit + '\n' + '\n'+ ".control \n"+ "run \n"+ ".endc \n"+ ".end \n" ); - change_val = "1"; - } - - - - else if (analysis_type == "2") - { - jQuery("#webtronics_netlist_text_area").val(Flag + '\n'+ ".ac" + " " + scale_val + " " + noofpoint + " " + startfreq + start_ac_unit + " " + stopfreq + stop_ac_unit + '\n' + '\n'+ ".control \n"+ "run \n"+".endc \n"+ ".end \n" ); - - change_val = "1"; - } - - - else if (analysis_type == "3") - { - jQuery("#webtronics_netlist_text_area").val(Flag + '\n' + ".tran" + " " + step_trans + "e" + "-" + step_trans_unit + " " + stop_trans + "e"+ "-" + stop_trans_unit + " " + start_trans + "e" + "-" + start_trans_unit + '\n' + '\n'+ ".control \n"+ "run \n"+ ".endc \n" +".end \n" ); - - change_val = "1"; - } - - -} - - -}); -}); - - - - - - - - - - -//jQuery("#analysis_selectbox").click(function(){ -//var eles = ''; - -// jQuery('#domchange').append(eles); -//jQuery(this).prop('disabled', true); -//console.log(jQuery(this)); -//if opt - //alert("hello world"); - - - -//jQuery("#analysis").click(function(){ - diff --git a/simulation.php b/simulation.php new file mode 100755 index 0000000..2050970 --- /dev/null +++ b/simulation.php @@ -0,0 +1,42 @@ +&1' ); + $output=shell_exec('cd /var/www/html/eSIM/;python /var/www/html/eSIM/__main__.py /var/www/html/eSIM/dumpv.txt /var/www/html/eSIM/dumpi.txt 2>&1' ); + // $output1=shell_exec('cd /var/www/html/eSIM/;python /var/www/html/eSIM/__main__.py /var/www/html/eSIM/dump1.txt 2>&1' ); + + $imagepath = '/eSIM/dumpi/'; + $images = glob('/var/www/html/eSIM/dumpi/*.{jpeg,gif,png}', GLOB_BRACE);//glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE); + foreach ($images as $value) { + echo "
"; + + } + + $imagepath = '/eSIM/dumpv/'; + $images1 = glob('/var/www/html/eSIM/dumpv/*.{jpeg,gif,png}', GLOB_BRACE); + foreach ($images1 as $value) { + echo "
"; + + } + +//$images1 = glob('/var/www/html/eSIM/dump1*.{jpeg,gif,png}', GLOB_BRACE); + // var_dump($images.'-----------'. $images1);die; + //echo json_encode($images); + echo "
$output
"; + } + +//} +?> -- cgit