add speed and trip

This commit is contained in:
interfisch 2021-05-28 19:51:15 +02:00
parent fb961e3da7
commit ddbf16529e
1 changed files with 58 additions and 41 deletions

View File

@ -3,12 +3,13 @@ import processing.serial.*;
/*
TODO
- in teensy controller: erst table header screiben, dann anfangen zu loggen (oder erste zeilen comments hier ignorieren)
- comments werden weiterhin vor header geschrieben.
*/
int vis_textsize=12; //copy from Visualization class
//String logfile_name="LOG00008_rumfahren_neu.TXT";
String logfile_name="LOG00184_20210515b_Video_Treff_FreewheelCurrentFix.TXT";
String logfile_name="20210528_Radweg/LOG00197.TXT";
int columnCount=20;
boolean useSerial=false; //false=read from csv log, true=read from serial port
@ -32,18 +33,20 @@ Visualization vis_current_FrontR;
Visualization vis_current_RearL;
Visualization vis_current_RearR;
Visualization vis_speed_FrontL;
Visualization vis_speed_FrontR;
Visualization vis_speed_RearL;
Visualization vis_speed_RearR;
Visualization vis_rpm_FrontL;
Visualization vis_rpm_FrontR;
Visualization vis_rpm_RearL;
Visualization vis_rpm_RearR;
Visualization vis_throttle;
Visualization vis_brake;
Visualization vis_currentAll;
Visualization vis_c_speed;
//vis_c means calculated value, not raw value from log
Visualization vis_c_speed_mean;
Visualization vis_c_rpm_mean;
Visualization vis_graph_currentAll;
Visualization vis_graph_speed_mean;
@ -76,10 +79,10 @@ float current_FrontL;
float current_FrontR;
float current_RearL;
float current_RearR;
int speed_FrontL;
int speed_FrontR;
int speed_RearL;
int speed_RearR;
int rpm_FrontL;
int rpm_FrontR;
int rpm_RearL;
int rpm_RearR;
float temp_Front;
float temp_Rear;
float vbat_Front;
@ -87,12 +90,14 @@ float vbat_Rear;
float currentAll;
int throttle;
int brake;
float speed;
float trip;
color bg=color(0);
void setup() {
//size(1920, 1080);
size(1000, 800);
size(1920, 1080); //Full HD
//size(1000, 800); //Laptop Preview
frameRate(100);
if (useSerial) {
@ -149,20 +154,20 @@ void setup() {
// Speed
color c_speed=color(50,50,255);
vis_speed_FrontL = new BarV_cmd((int)(pos_vis_cmd.x-size_vis_cmd.x*2),(int)pos_vis_cmd.y+vis_textsize,(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_rpm_FrontL = new BarV_cmd((int)(pos_vis_cmd.x-size_vis_cmd.x*2),(int)pos_vis_cmd.y+vis_textsize,(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_speed_FrontR = new BarV_cmd((int)(pos_vis_cmd.x+dist_vis_cmd.x+size_vis_cmd.x*2),(int)pos_vis_cmd.y+vis_textsize,(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_speed_FrontR.setTitle("speed");
vis_rpm_FrontR = new BarV_cmd((int)(pos_vis_cmd.x+dist_vis_cmd.x+size_vis_cmd.x*2),(int)pos_vis_cmd.y+vis_textsize,(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_rpm_FrontR.setTitle("speed");
vis_speed_RearL = new BarV_cmd((int)(pos_vis_cmd.x-size_vis_cmd.x*2),(int)(pos_vis_cmd.y+vis_textsize+dist_vis_cmd.y),(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_speed_RearL.setValueUnit("rpm");
vis_rpm_RearL = new BarV_cmd((int)(pos_vis_cmd.x-size_vis_cmd.x*2),(int)(pos_vis_cmd.y+vis_textsize+dist_vis_cmd.y),(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_rpm_RearL.setValueUnit("rpm");
vis_speed_RearR = new BarV_cmd((int)(pos_vis_cmd.x+dist_vis_cmd.x+size_vis_cmd.x*2),(int)(pos_vis_cmd.y+vis_textsize+dist_vis_cmd.y),(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_rpm_RearR = new BarV_cmd((int)(pos_vis_cmd.x+dist_vis_cmd.x+size_vis_cmd.x*2),(int)(pos_vis_cmd.y+vis_textsize+dist_vis_cmd.y),(int)size_vis_cmd.x,(int)size_vis_cmd.y,-100,600);
vis_speed_FrontL.setcmain(c_speed);
vis_speed_FrontR.setcmain(c_speed);
vis_speed_RearL.setcmain(c_speed);
vis_speed_RearR.setcmain(c_speed);
vis_rpm_FrontL.setcmain(c_speed);
vis_rpm_FrontR.setcmain(c_speed);
vis_rpm_RearL.setcmain(c_speed);
vis_rpm_RearR.setcmain(c_speed);
// Current
color c_current=color(255,200,50);
@ -194,12 +199,17 @@ void setup() {
vis_brake.setcmain(c_brake);
vis_brake.setTitle("Brake");
//Speed
vis_c_speed = new Tacho(width/2-150,height-150,100,-10,50);
vis_c_speed.setTitle("Speed");
vis_c_speed.setValueUnit("km/h");
vis_c_speed.setShowMinMax(true);
//Speed mean
vis_c_speed_mean = new Tacho(width/2-150,height-150,100,-100,600);
vis_c_speed_mean.setTitle("Speed");
vis_c_speed_mean.setValueUnit("rpm");
vis_c_speed_mean.setShowMinMax(true);
//RPM Man
vis_c_rpm_mean = new Tacho(width/2-400,height-150,75,-100,1000);
vis_c_rpm_mean.setTitle("RPM");
vis_c_rpm_mean.setValueUnit("rpm");
vis_c_rpm_mean.setShowMinMax(true);
//Current
color c_currentall=color(240,255,50);
@ -269,10 +279,10 @@ void draw() {
current_FrontR=parseFloat(list[6]);
current_RearL=parseFloat(list[7]);
current_RearR=parseFloat(list[8]);
speed_FrontL=parseInt(list[9]);
speed_FrontR=parseInt(list[10]);
speed_RearL=parseInt(list[11]);
speed_RearR=parseInt(list[12]);
rpm_FrontL=parseInt(list[9]);
rpm_FrontR=parseInt(list[10]);
rpm_RearL=parseInt(list[11]);
rpm_RearR=parseInt(list[12]);
temp_Front=parseFloat(list[13]);
temp_Rear=parseFloat(list[14]);
vbat_Front=parseFloat(list[15]);
@ -306,10 +316,10 @@ void draw() {
current_FrontR=row.getFloat("current_FrontR");
current_RearL=row.getFloat("current_RearL");
current_RearR=row.getFloat("current_RearR");
speed_FrontL=row.getInt("speed_FrontL");
speed_FrontR=row.getInt("speed_FrontR");
speed_RearL=row.getInt("speed_RearL");
speed_RearR=row.getInt("speed_RearR");
rpm_FrontL=row.getInt("rpm_FrontL");
rpm_FrontR=row.getInt("rpm_FrontR");
rpm_RearL=row.getInt("rpm_RearL");
rpm_RearR=row.getInt("rpm_RearR");
temp_Front=row.getFloat("temp_Front");
temp_Rear=row.getFloat("temp_Rear");
vbat_Front=row.getFloat("vbat_Front");
@ -317,6 +327,8 @@ void draw() {
currentAll=row.getFloat("currentAll");
throttle=row.getInt("throttle");
brake=row.getInt("brake");
speed=row.getFloat("speed");
trip=row.getFloat("trip");
if (loopmillis-nextTimeData>1000 && nextTimeData>lastTimeData) {//too much behind
long _timestep=nextTimeData-lastTimeData; //approximated time step
@ -337,10 +349,10 @@ void draw() {
vis_cmd_RearL.setValue(cmd_RearL); vis_cmd_RearL.drawVis();
vis_cmd_RearR.setValue(cmd_RearR); vis_cmd_RearR.drawVis();
vis_speed_FrontL.setValue(speed_FrontL); vis_speed_FrontL.drawVis();
vis_speed_FrontR.setValue(speed_FrontR); vis_speed_FrontR.drawVis();
vis_speed_RearL.setValue(speed_RearL); vis_speed_RearL.drawVis();
vis_speed_RearR.setValue(speed_RearR); vis_speed_RearR.drawVis();
vis_rpm_FrontL.setValue(rpm_FrontL); vis_rpm_FrontL.drawVis();
vis_rpm_FrontR.setValue(rpm_FrontR); vis_rpm_FrontR.drawVis();
vis_rpm_RearL.setValue(rpm_RearL); vis_rpm_RearL.drawVis();
vis_rpm_RearR.setValue(rpm_RearR); vis_rpm_RearR.drawVis();
vis_current_FrontL.setValue(current_FrontL); vis_current_FrontL.drawVis();
vis_current_FrontR.setValue(current_FrontR); vis_current_FrontR.drawVis();
@ -350,9 +362,14 @@ void draw() {
vis_throttle.setValue(throttle); vis_throttle.drawVis();
vis_brake.setValue(brake); vis_brake.drawVis();
vis_c_speed.setValue(speed*3.6); vis_c_speed.drawVis(); //from m/s in km/h
int speed_mean=int((speed_FrontL+speed_FrontR+speed_RearL+speed_RearR)/4.0);
vis_c_speed_mean.setValue(speed_mean); vis_c_speed_mean.drawVis();
textAlign(LEFT);
textSize(vis_textsize);
text(trip+" m", width/2-10,height-110);
int speed_mean=int((rpm_FrontL+rpm_FrontR+rpm_RearL+rpm_RearR)/4.0);
vis_c_rpm_mean.setValue(speed_mean); vis_c_rpm_mean.drawVis();
vis_currentAll.setValue(currentAll);