minor changes, bug fixes
This commit is contained in:
parent
b8a657de73
commit
659ae261b1
35
stir.ino
35
stir.ino
@ -7,7 +7,7 @@
|
|||||||
#define SX Serial.print
|
#define SX Serial.print
|
||||||
#define SXN Serial.println
|
#define SXN Serial.println
|
||||||
|
|
||||||
String VERSION = "1.7.0";
|
String VERSION = "1.7.1";
|
||||||
|
|
||||||
int SPEEDINC = 50; // speed increment (rpm)
|
int SPEEDINC = 50; // speed increment (rpm)
|
||||||
|
|
||||||
@ -42,9 +42,9 @@ long RINTERVAL = 5000;
|
|||||||
long RDELAY = 3000; // regulation delay on changes (ms)
|
long RDELAY = 3000; // regulation delay on changes (ms)
|
||||||
int RTOL = 8; // regulation tolerance (rpm)
|
int RTOL = 8; // regulation tolerance (rpm)
|
||||||
|
|
||||||
long RNDINTERVL = 300000; // randon value change interval
|
long RNDINTERVAL = 300000; // randon value range change interval (ms)
|
||||||
|
|
||||||
long SINTERVAL = 2000; // speed measurement internval
|
long SINTERVAL = 2000; // speed measurement internval (ms)
|
||||||
int SAVERAGE = 4; // speed measurement average
|
int SAVERAGE = 4; // speed measurement average
|
||||||
|
|
||||||
int SAVETAG = 1014; // save tag
|
int SAVETAG = 1014; // save tag
|
||||||
@ -56,7 +56,6 @@ byte aright[] = {0x00,0x08,0x0C,0x0E,0x0C,0x08,0x00,0x00};
|
|||||||
byte aup[] = {0x04,0x0E,0x1F,0x00,0x00,0x00,0x00,0x00};
|
byte aup[] = {0x04,0x0E,0x1F,0x00,0x00,0x00,0x00,0x00};
|
||||||
byte arnd[] = {0x0E,0x0E,0x0E,0x00,0x00,0x00,0x00,0x00};
|
byte arnd[] = {0x0E,0x0E,0x0E,0x00,0x00,0x00,0x00,0x00};
|
||||||
|
|
||||||
|
|
||||||
LiquidCrystal_I2C lcd(0x27,16,2); // LCD display (connect to SDA/SCL)
|
LiquidCrystal_I2C lcd(0x27,16,2); // LCD display (connect to SDA/SCL)
|
||||||
|
|
||||||
int v[2],b[2],r[2]={0};double q,rpm[2]={0},xpm[2]={0},xb[2]={0},xv[2]={0},rtime[2]; // speed and regulation
|
int v[2],b[2],r[2]={0};double q,rpm[2]={0},xpm[2]={0},xb[2]={0},xv[2]={0},rtime[2]; // speed and regulation
|
||||||
@ -136,13 +135,27 @@ void loop() { //////////////////////////////////////////////////////////////////
|
|||||||
|
|
||||||
updatelcd();
|
updatelcd();
|
||||||
for (int i=0;i<2;i++) {
|
for (int i=0;i<2;i++) {
|
||||||
SX(F[i]);SX(":");SX((int)(v[i]));SX(":");SX((int)(b[i]));SX(":");SX(rpm[i]);SX(":");
|
SX(F[i]);SX(":"); // 0, 16
|
||||||
SX(xpm[i]);SX(":");SX(r[i]);SX(":");SX(bstate[i]);SX(":");SX(btime[i]);SX(":");
|
SX((int)(v[i]));SX(":"); // 1, 17
|
||||||
SX(cat[i]);SX(":");SX(ctime[i]);SX(":");SX(rtime[i]);SX(":");SX(otime[i]);SX(":");SX(rnval[i]);SX(":");
|
SX((int)(b[i]));SX(":"); // 2, 18
|
||||||
if (bstate[i]) SX((((long)btime[i]*60000)-(MS-(long)bts[i]))/1000+1); else SX(0);SX(":");
|
SX(rpm[i]);SX(":"); // 3, 19
|
||||||
if (ostate[i]) SX((((long)otime[i]*3600000)-(MS-(long)ots[i]))/1000+1); else SX(0);SX(":");
|
SX(xpm[i]);SX(":"); // 4, 20
|
||||||
|
SX(r[i]);SX(":"); // 5, 21
|
||||||
|
SX(bstate[i]);SX(":"); // 6, 22
|
||||||
|
SX(btime[i]);SX(":"); // 7, 23
|
||||||
|
SX(cat[i]);SX(":"); // 8, 24
|
||||||
|
SX(ctime[i]);SX(":"); // 9, 25
|
||||||
|
SX(rtime[i]);SX(":"); // 10, 26
|
||||||
|
SX(otime[i]);SX(":"); // 11, 27
|
||||||
|
SX(rnval[i]);SX(":"); // 12, 28
|
||||||
|
SX(rnd[i]);SX(":"); // 13, 29
|
||||||
|
if (bstate[i]) SX((((long)btime[i]*60000)-(MS-(long)bts[i]))/1000+1); else SX(0);SX(":"); // 14, 30
|
||||||
|
if (ostate[i]) SX((((long)otime[i]*3600000)-(MS-(long)ots[i]))/1000+1); else SX(0);SX(":"); // 15, 31
|
||||||
}
|
}
|
||||||
SX(VERSION);SX(":");SXN(err);
|
SX(VERSION);SX(":"); // 32
|
||||||
|
SX(MS);SX(":"); // 33
|
||||||
|
SXN(err); // 34
|
||||||
|
save();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SAVE>0 && MS-savets>SAVEDELAY) {;save();SAVE=0;savets=MS;} ////////////////////// save settings if needed
|
if (SAVE>0 && MS-savets>SAVEDELAY) {;save();SAVE=0;savets=MS;} ////////////////////// save settings if needed
|
||||||
@ -150,7 +163,7 @@ void loop() { //////////////////////////////////////////////////////////////////
|
|||||||
|
|
||||||
for (int i=0;i<2;i++) {
|
for (int i=0;i<2;i++) {
|
||||||
|
|
||||||
if (MS-rndts[i]>RNDINTERVL) { //////////////////////////////////////////////////////////////// random timer
|
if (MS-rndts[i]>RNDINTERVAL) { /////////////////////////////////////////////////////////////// random timer
|
||||||
rnd[i]=int(random(0,rnval[i]+1)/10)*10;rndts[i]=MS;updatelcd();
|
rnd[i]=int(random(0,rnval[i]+1)/10)*10;rndts[i]=MS;updatelcd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
41
stirctl
41
stirctl
@ -19,23 +19,26 @@ $cmd=join(':',@ARGV);$cmd='info' if ($cmd=~/^\s*$/);
|
|||||||
@r=split(':',&scmd($cmd));
|
@r=split(':',&scmd($cmd));
|
||||||
|
|
||||||
print " Left Right\n";
|
print " Left Right\n";
|
||||||
printf("Stirrer On: %6d %6d\n", $r[0],$r[15]);
|
printf("Stirrer On: %6d %6d\n", $r[0],$r[16]);
|
||||||
printf("Speed: %6d %6d\n", $r[1],$r[16]);
|
printf("Speed: %6d %6d\n", $r[1],$r[17]);
|
||||||
printf("Boost Speed: %6d %6d\n", $r[2],$r[17]);
|
printf("Boost Speed: %6d %6d\n", $r[2],$r[18]);
|
||||||
printf("RPM: %6d %6d\n", $r[3],$r[18]);
|
printf("RPM: %6d %6d\n", $r[3],$r[19]);
|
||||||
printf("Average RPM: %6d %6d\n", $r[4],$r[19]);
|
printf("Average RPM: %6d %6d\n", $r[4],$r[20]);
|
||||||
printf("Regulation: %6d %6d\n", $r[5],$r[20]);
|
printf("Regulation: %6d %6d\n", $r[5],$r[21]);
|
||||||
printf("Boost On: %6d %6d\n", $r[6],$r[21]);
|
printf("Boost On: %6d %6d\n", $r[6],$r[22]);
|
||||||
printf("Boost Time: %6d %6d\n", $r[7],$r[22]);
|
printf("Boost Time: %6d %6d\n", $r[7],$r[23]);
|
||||||
printf("Catch On: %6d %6d\n", $r[8],$r[23]);
|
printf("Catch On: %6d %6d\n", $r[8],$r[24]);
|
||||||
printf("Catch Time: %6d %6d\n", $r[9],$r[24]);
|
printf("Catch Time: %6d %6d\n", $r[9],$r[25]);
|
||||||
printf("Rise Time: %6d %6d\n", $r[10],$r[25]);
|
printf("Rise Time: %6d %6d\n", $r[10],$r[26]);
|
||||||
printf("Off Time: %6d %6d\n", $r[11],$r[26]);
|
printf("Off Time: %6d %6d\n", $r[11],$r[27]);
|
||||||
printf("Random Value: %6d %6d\n", $r[12],$r[27]);
|
printf("Random Range: %6d %6d\n", $r[12],$r[28]);
|
||||||
printf("Boost Remain: %6d %6d\n", $r[13],$r[28]);
|
printf("Random Value: %6d %6d\n", $r[13],$r[29]);
|
||||||
printf("Off Remain: %6d %6d\n", $r[14],$r[29]);
|
printf("Boost Remain: %6d %6d\n", $r[14],$r[30]);
|
||||||
printf("Error: %d\nVersion: %s\n", $r[30],$r[31]);
|
printf("Off Remain: %6d %6d\n", $r[15],$r[31]);
|
||||||
|
|
||||||
|
printf("Version: %s\n",$r[32]);
|
||||||
|
printf("Uptime: %s\n",&dhms($r[33]/1000));
|
||||||
|
printf("Error: %d\n",$r[34]);
|
||||||
|
|
||||||
sub scmd() { ##################################################################################### send command
|
sub scmd() { ##################################################################################### send command
|
||||||
my($cmd,$quiet)=@_;
|
my($cmd,$quiet)=@_;
|
||||||
@ -58,4 +61,10 @@ sub scmd() { ###################################################################
|
|||||||
return $msg;
|
return $msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub dhms { ######################################################################## convert secs to dd:hh:mm:ss
|
||||||
|
my($t)=@_;my ($d,$h,$m,$s);
|
||||||
|
$s=$t%60;$t=($t-$s)/60;$m=$t%60;$t=($t-$m)/60;$h=$t%24;$t=($t-$h)/24;$d=$t;
|
||||||
|
return sprintf("%d:%02d:%02d:%02d",$d,$h,$m,$s);
|
||||||
|
}
|
||||||
|
|
||||||
########################################################################################################### END
|
########################################################################################################### END
|
||||||
|
Loading…
Reference in New Issue
Block a user