-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
109 lines (105 loc) · 17.3 KB
/
Copy pathindex.html
File metadata and controls
109 lines (105 loc) · 17.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Wazzu Racing Datalog Viewer</title>
<link href="./tabulator.css" rel="stylesheet">
<link rel="stylesheet" href="./leaflet.css">
<link rel="stylesheet" href="booklet.css">
<script src="./vue.js"></script>
<script type="text/javascript" src="./tabulator.js"></script>
<script src="./leaflet.js"></script>
<script src='./plotly.js'></script>
<script src="./turf.js"></script>
<script src="./gauge.js"></script>
<script src="./github.js"></script>
<script src="leaflet.hotline.min.js"></script>
<script src="booklet.js"></script>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="app">
<section id="welcome_container">
<div id="welcome">
<h1>Wazzu Racing Datalog Viewer</h1>
<p>Import *.bin log files from the Wazzu Racing car to view the log data in an interactive display!</p>
<br>
<p>(You can also check out the new dataviewer <a href="http://wazzu-racing.github.io/dataviewer/">here</a>.)</p>
<br><br>
<div class="whitebox">
<input type="file" accept=".bin,.dat,.txt" id="fileupload">
</div>
<br><br>
<div class="whitebox">
<button onclick="startwebserial()">Connect to Car</button>
</div>
<br><br>
<button onclick="gh_get_files();this.remove()">Fetch from GitHub</button>
<br><br>
<div id="github_files">
</div>
<br><br>
<p>© Wazzu Racing 2025</p>
</div>
</section>
<section>
<header>
<span><b>Wazzu Racing Datalog Viewer</b></span>
<div style="display:inline-block;float:right;text-align:right;margin-right:50px">
<span id="logtitle">filename...</span>
<a href="#" id="download" style="color: white">[csv]</a>
</div>
</header>
<main class="grid-stack">
<div id="map">
<label>hotline:<select id="hotline" onchange="updatemap()"><option value=''>(nothing)</option><option value='write_millis'>write_millis</option><option value='ecu_millis'>ecu_millis</option><option value='gps_millis'>gps_millis</option><option value='imu_millis'>imu_millis</option><option value='accel_millis'>accel_millis</option><option value='analogx1_millis'>analogx1_millis</option><option value='analogx2_millis'>analogx2_millis</option><option value='analogx3_millis'>analogx3_millis</option><option value='rpm'>rpm</option><option value='time'>time</option><option value='syncloss_count'>syncloss_count</option><option value='syncloss_code'>syncloss_code</option><option value='lat'>lat</option><option value='lon'>lon</option><option value='elev'>elev</option><option value='unixtime'>unixtime</option><option value='ground_speed' selected>ground_speed</option><option value='afr'>afr</option><option value='fuelload'>fuelload</option><option value='spark_advance'>spark_advance</option><option value='baro'>baro</option><option value='map'>map</option><option value='mat'>mat</option><option value='clnt_temp'>clnt_temp</option><option value='tps'>tps</option><option value='batt'>batt</option><option value='oil_press'>oil_press</option><option value='ltcl_timing'>ltcl_timing</option><option value='ve1'>ve1</option><option value='ve2'>ve2</option><option value='egt'>egt</option><option value='maf'>maf</option><option value='in_temp'>in_temp</option><option value='ax'>ax</option><option value='ay'>ay</option><option value='az'>az</option><option value='imu_x'>imu_x</option><option value='imu_y'>imu_y</option><option value='imu_z'>imu_z</option><option value='susp_pot_1'>susp_pot_1</option><option value='susp_pot_2'>susp_pot_2</option><option value='susp_pot_3'>susp_pot_3</option><option value='susp_pot_4'>susp_pot_4</option><option value='rad_in'>rad_in</option><option value='rad_out'>rad_out</option><option value='amb_air_temp'>amb_air_temp</option><option value='brake1'>brake1</option><option value='brake2'>brake2</option></select></label>
<div id="map_el"></div>
</div>
<div id="table"></div>
<div id="plot_c">
<label>field 1:<select id="field1" onchange="plot()"><option value=''>(nothing)</option><option value='write_millis'>write_millis</option><option value='ecu_millis'>ecu_millis</option><option value='gps_millis'>gps_millis</option><option value='imu_millis'>imu_millis</option><option value='accel_millis'>accel_millis</option><option value='analogx1_millis'>analogx1_millis</option><option value='analogx2_millis'>analogx2_millis</option><option value='analogx3_millis'>analogx3_millis</option><option value='rpm'>rpm</option><option value='time'>time</option><option value='syncloss_count'>syncloss_count</option><option value='syncloss_code'>syncloss_code</option><option value='lat'>lat</option><option value='lon'>lon</option><option value='elev'>elev</option><option value='unixtime'>unixtime</option><option value='ground_speed'>ground_speed</option><option value='afr'>afr</option><option value='fuelload'>fuelload</option><option value='spark_advance'>spark_advance</option><option value='baro'>baro</option><option value='map'>map</option><option value='mat'>mat</option><option value='clnt_temp'>clnt_temp</option><option value='tps'>tps</option><option value='batt'>batt</option><option value='oil_press'>oil_press</option><option value='ltcl_timing'>ltcl_timing</option><option value='ve1'>ve1</option><option value='ve2'>ve2</option><option value='egt'>egt</option><option value='maf'>maf</option><option value='in_temp'>in_temp</option><option selected value='ax'>ax</option><option value='ay'>ay</option><option value='az'>az</option><option value='imu_x'>imu_x</option><option value='imu_y'>imu_y</option><option value='imu_z'>imu_z</option><option value='susp_pot_1'>susp_pot_1</option><option value='susp_pot_2'>susp_pot_2</option><option value='susp_pot_3'>susp_pot_3</option><option value='susp_pot_4'>susp_pot_4</option><option value='rad_in'>rad_in</option><option value='rad_out'>rad_out</option><option value='amb_air_temp'>amb_air_temp</option><option value='brake1'>brake1</option><option value='brake2'>brake2</option></select></label>
<label>field 2:<select id="field2" onchange="plot()"><option value=''>(nothing)</option><option value='write_millis'>write_millis</option><option value='ecu_millis'>ecu_millis</option><option value='gps_millis'>gps_millis</option><option value='imu_millis'>imu_millis</option><option value='accel_millis'>accel_millis</option><option value='analogx1_millis'>analogx1_millis</option><option value='analogx2_millis'>analogx2_millis</option><option value='analogx3_millis'>analogx3_millis</option><option value='rpm'>rpm</option><option value='time'>time</option><option value='syncloss_count'>syncloss_count</option><option value='syncloss_code'>syncloss_code</option><option value='lat'>lat</option><option value='lon'>lon</option><option value='elev'>elev</option><option value='unixtime'>unixtime</option><option value='ground_speed'>ground_speed</option><option value='afr'>afr</option><option value='fuelload'>fuelload</option><option value='spark_advance'>spark_advance</option><option value='baro'>baro</option><option value='map'>map</option><option value='mat'>mat</option><option value='clnt_temp'>clnt_temp</option><option value='tps'>tps</option><option value='batt'>batt</option><option value='oil_press'>oil_press</option><option value='ltcl_timing'>ltcl_timing</option><option value='ve1'>ve1</option><option value='ve2'>ve2</option><option value='egt'>egt</option><option value='maf'>maf</option><option value='in_temp'>in_temp</option><option value='ax'>ax</option><option value='ay'>ay</option><option value='az'>az</option><option value='imu_x'>imu_x</option><option value='imu_y'>imu_y</option><option value='imu_z'>imu_z</option><option value='susp_pot_1'>susp_pot_1</option><option value='susp_pot_2'>susp_pot_2</option><option value='susp_pot_3'>susp_pot_3</option><option value='susp_pot_4'>susp_pot_4</option><option value='rad_in'>rad_in</option><option value='rad_out'>rad_out</option><option value='amb_air_temp'>amb_air_temp</option><option value='brake1'>brake1</option><option value='brake2'>brake2</option></select></label>
<!-- <label>field 3:<select id="field3" onchange="plot()"><option value=''>(nothing)</option><option value='write_millis'>write_millis</option><option value='ecu_millis'>ecu_millis</option><option value='gps_millis'>gps_millis</option><option value='imu_millis'>imu_millis</option><option value='accel_millis'>accel_millis</option><option value='analogx1_millis'>analogx1_millis</option><option value='analogx2_millis'>analogx2_millis</option><option value='analogx3_millis'>analogx3_millis</option><option value='rpm'>rpm</option><option value='time'>time</option><option value='syncloss_count'>syncloss_count</option><option value='syncloss_code'>syncloss_code</option><option value='lat'>lat</option><option value='lon'>lon</option><option value='elev'>elev</option><option value='unixtime'>unixtime</option><option value='ground_speed'>ground_speed</option><option value='afr'>afr</option><option value='fuelload'>fuelload</option><option value='spark_advance'>spark_advance</option><option value='baro'>baro</option><option value='map'>map</option><option value='mat'>mat</option><option value='clnt_temp'>clnt_temp</option><option value='tps'>tps</option><option value='batt'>batt</option><option value='oil_press'>oil_press</option><option value='ltcl_timing'>ltcl_timing</option><option value='ve1'>ve1</option><option value='ve2'>ve2</option><option value='egt'>egt</option><option value='maf'>maf</option><option value='in_temp'>in_temp</option><option value='ax'>ax</option><option value='ay'>ay</option><option value='az'>az</option><option value='imu_x'>imu_x</option><option value='imu_y'>imu_y</option><option value='imu_z'>imu_z</option><option value='susp_pot_1'>susp_pot_1</option><option value='susp_pot_2'>susp_pot_2</option><option value='susp_pot_3'>susp_pot_3</option><option value='susp_pot_4'>susp_pot_4</option><option value='rad_in'>rad_in</option><option value='rad_out'>rad_out</option><option value='amb_air_temp'>amb_air_temp</option><option value='brake1'>brake1</option><option value='brake2'>brake2</option></select></label> -->
<!-- <label>field 4:<select id="field4" onchange="plot()"><option value=''>(nothing)</option><option value='write_millis'>write_millis</option><option value='ecu_millis'>ecu_millis</option><option value='gps_millis'>gps_millis</option><option value='imu_millis'>imu_millis</option><option value='accel_millis'>accel_millis</option><option value='analogx1_millis'>analogx1_millis</option><option value='analogx2_millis'>analogx2_millis</option><option value='analogx3_millis'>analogx3_millis</option><option value='rpm'>rpm</option><option value='time'>time</option><option value='syncloss_count'>syncloss_count</option><option value='syncloss_code'>syncloss_code</option><option value='lat'>lat</option><option value='lon'>lon</option><option value='elev'>elev</option><option value='unixtime'>unixtime</option><option value='ground_speed'>ground_speed</option><option value='afr'>afr</option><option value='fuelload'>fuelload</option><option value='spark_advance'>spark_advance</option><option value='baro'>baro</option><option value='map'>map</option><option value='mat'>mat</option><option value='clnt_temp'>clnt_temp</option><option value='tps'>tps</option><option value='batt'>batt</option><option value='oil_press'>oil_press</option><option value='ltcl_timing'>ltcl_timing</option><option value='ve1'>ve1</option><option value='ve2'>ve2</option><option value='egt'>egt</option><option value='maf'>maf</option><option value='in_temp'>in_temp</option><option value='ax'>ax</option><option value='ay'>ay</option><option value='az'>az</option><option value='imu_x'>imu_x</option><option value='imu_y'>imu_y</option><option value='imu_z'>imu_z</option><option value='susp_pot_1'>susp_pot_1</option><option value='susp_pot_2'>susp_pot_2</option><option value='susp_pot_3'>susp_pot_3</option><option value='susp_pot_4'>susp_pot_4</option><option value='rad_in'>rad_in</option><option value='rad_out'>rad_out</option><option value='amb_air_temp'>amb_air_temp</option><option value='brake1'>brake1</option><option value='brake2'>brake2</option></select></label> -->
<div id="plot"></div>
</div>
<div id="info"></div>
<div id="gg">
<label>field:<select id="field_g" onchange="updateall()"><option value=''>(nothing)</option><option value='write_millis'>write_millis</option><option value='ecu_millis'>ecu_millis</option><option value='gps_millis'>gps_millis</option><option value='imu_millis'>imu_millis</option><option value='accel_millis'>accel_millis</option><option value='analogx1_millis'>analogx1_millis</option><option value='analogx2_millis'>analogx2_millis</option><option value='analogx3_millis'>analogx3_millis</option><option value='rpm'>rpm</option><option value='time'>time</option><option value='syncloss_count'>syncloss_count</option><option value='syncloss_code'>syncloss_code</option><option value='lat'>lat</option><option value='lon'>lon</option><option value='elev'>elev</option><option value='unixtime'>unixtime</option><option value='ground_speed'>ground_speed</option><option value='afr'>afr</option><option value='fuelload'>fuelload</option><option value='spark_advance'>spark_advance</option><option value='baro'>baro</option><option value='map'>map</option><option value='mat'>mat</option><option value='clnt_temp'>clnt_temp</option><option selected value='tps'>tps</option><option value='batt'>batt</option><option value='oil_press'>oil_press</option><option value='ltcl_timing'>ltcl_timing</option><option value='ve1'>ve1</option><option value='ve2'>ve2</option><option value='egt'>egt</option><option value='maf'>maf</option><option value='in_temp'>in_temp</option><option value='ax'>ax</option><option value='ay'>ay</option><option value='az'>az</option><option value='imu_x'>imu_x</option><option value='imu_y'>imu_y</option><option value='imu_z'>imu_z</option><option value='susp_pot_1'>susp_pot_1</option><option value='susp_pot_2'>susp_pot_2</option><option value='susp_pot_3'>susp_pot_3</option><option value='susp_pot_4'>susp_pot_4</option><option value='rad_in'>rad_in</option><option value='rad_out'>rad_out</option><option value='amb_air_temp'>amb_air_temp</option><option value='brake1'>brake1</option><option value='brake2'>brake2</option></select></label>
<canvas id="gg_c"></canvas>
</div>
<div id="oneval">
<label>watch:<select id="watch" onchange="updateall()"><option value=''>(nothing)</option><option value='write_millis' selected>write_millis</option><option value='ecu_millis'>ecu_millis</option><option value='gps_millis'>gps_millis</option><option value='imu_millis'>imu_millis</option><option value='accel_millis'>accel_millis</option><option value='analogx1_millis'>analogx1_millis</option><option value='analogx2_millis'>analogx2_millis</option><option value='analogx3_millis'>analogx3_millis</option><option value='rpm'>rpm</option><option value='time'>time</option><option value='syncloss_count'>syncloss_count</option><option value='syncloss_code'>syncloss_code</option><option value='lat'>lat</option><option value='lon'>lon</option><option value='elev'>elev</option><option value='unixtime'>unixtime</option><option value='ground_speed'>ground_speed</option><option value='afr'>afr</option><option value='fuelload'>fuelload</option><option value='spark_advance'>spark_advance</option><option value='baro'>baro</option><option value='map'>map</option><option value='mat'>mat</option><option value='clnt_temp'>clnt_temp</option><option value='tps'>tps</option><option value='batt'>batt</option><option value='oil_press'>oil_press</option><option value='ltcl_timing'>ltcl_timing</option><option value='ve1'>ve1</option><option value='ve2'>ve2</option><option value='egt'>egt</option><option value='maf'>maf</option><option value='in_temp'>in_temp</option><option value='ax'>ax</option><option value='ay'>ay</option><option value='az'>az</option><option value='imu_x'>imu_x</option><option value='imu_y'>imu_y</option><option value='imu_z'>imu_z</option><option value='susp_pot_1'>susp_pot_1</option><option value='susp_pot_2'>susp_pot_2</option><option value='susp_pot_3'>susp_pot_3</option><option value='susp_pot_4'>susp_pot_4</option><option value='rad_in'>rad_in</option><option value='rad_out'>rad_out</option><option value='amb_air_temp'>amb_air_temp</option><option value='brake1'>brake1</option><option value='brake2'>brake2</option></select></label>
<br>
<span id="watchval">--</span>
<span id="watchmore"></span>
</div>
</main>
<footer>
<span>
<button onclick="alert(booklet_save())">save layout</button>
<button onclick="booklet_load(prompt('paste layout:'))">load layout</button>
</span>
<span>
<button onclick="changetime(-600000)"><<<</button>
<button onclick="changetime(-60000)"><<</button>
<button onclick="changetime(-1000)"><</button>
<span id="curtime"></span>
<button onclick="changetime(1000)">></button>
<button onclick="changetime(60000)">>></button>
<button onclick="changetime(600000)">>>></button>
</span>
<span>
<!-- <progress></progress> -->
<input id="prog" type="range" min="0" max="10000" step="0.0001" value="0">
</span>
<span>
<button id="gotolive" onclick="live = true;setTimeout(plot, 200)">live</button>
</span>
</footer>
</section>
</div>
<script src="main.js"></script>
</body>
</html>