1
1
// rogerio.bego@hotmail.com
2
- String versao= " 1.2.1" ;
2
+ String versao= " 1.2.2" ;
3
+ // 14/06/2017 - v1.2.2 - save data modo "fluxo" - press button to start, press again to stop
3
4
// 09/06/2017 - v1.2.1 - Save data in the file "datayyyymmddhhmmss.txt" - Requested by Carlos Corela
4
5
// 29/01/2017 - v1.2 coloquei um valor para o trigger 0-1024 (0-5v)
5
6
// transmitir tv512. (512=2.5v)
@@ -31,6 +32,7 @@ import processing.serial.*;
31
32
2<tab>2350<tab>350
32
33
*/
33
34
PrintWriter output;
35
+ boolean outputOpen= false ;
34
36
Botao save;
35
37
int qSave= 0 ;
36
38
@@ -542,35 +544,68 @@ void mouseClicked() {
542
544
calcFreq. mouseClicado();
543
545
grafDif. mouseClicado();
544
546
547
+ // 08-Jun-2017 write data to file
545
548
if (save. mouseClicado()){
546
- // 08-Jun-2017 write data to file
547
-
548
- String fileName = " data" + nf (year (),4 )+ nf (month (),2 )+ nf (day (),2 )+ nf (hour (),2 )+ nf (minute (),2 )+ nf (second (),2 )+ " .txt" ;
549
- output= createWriter (fileName);
550
- // cabeçalho
551
- output. print(" dt(" );output. print(dt. v. printV());output. print(dt. unidade);output. print(" )" );
552
- for (int k= 0 ; k< 4 ; k++ ){
553
- if (canal[k]. chN. clicado){
554
- output. print(' \t ' );output. print(" ch" );output. print(k);output. print(" (mV)" );
555
- }
556
- }
557
- output. println();
558
- // dados
559
- float f= 5000.0 / 1023.0 ;
560
- for (int k2= 0 ; k2< q. v. v;k2++ ){
561
- output. print(k2);
562
- for (int k= 0 ; k< 4 ; k++ ) {
563
- if (canal[k]. chN. clicado){
564
- output. print(' \t ' );output. print(int (canal[k]. v[k2]* f));
549
+ // 14-Jun-2017 save fluxo or save memory
550
+ println (" fluxoContinuo.clicado=" ,fluxoContinuo. clicado);
551
+ if (fluxoContinuo. clicado){
552
+ if (outputOpen== false ){ // não está gravando, então iniciar a gravação
553
+ println (" outputOpen==false => " ,outputOpen);
554
+ String fileName = " dataf" + nf (year (),4 )+ nf (month (),2 )+ nf (day (),2 )+ nf (hour (),2 )+ nf (minute (),2 )+ nf (second (),2 )+ " .txt" ;
555
+ output= createWriter (fileName);
556
+ outputOpen= true ;
557
+ save. tex= " salvando" ;
558
+ // cabeçalho
559
+ output. println(" BegOscopio v" + versao+ " " + nf (year ())+ " -" + nf (month ())+ " -" + nf (day ())+ " " + nf (hour ())+ " :" + nf (minute ())+ " :" + nf (second ()));
560
+ output. print(" dt(" );output. print(dt. v. printV());output. print(dt. unidade);output. print(" )" );
561
+ for (int k= 0 ; k< 4 ; k++ ){
562
+ if (canal[k]. chN. clicado){
563
+ output. print(' \t ' );output. print(" ch" );output. print(k);output. print(" (mV)" );
564
+ }
565
565
}
566
+ output. println();
567
+ qSave= 0 ;
568
+ // ao entrar cada dado no fluxo gravar em output.print()
569
+ // gravar na rotina de entrada
570
+ } else { // save já está gravando, então parar a gravação
571
+ println (" outputOpen==true => " ,outputOpen);
572
+ output. close();
573
+ outputOpen= false ;
574
+ qSave= 1 ;
575
+ if (qSave> 10 ) {qSave= 1 ;}
576
+ save. tex= " salvar datax.txt" + " -" + qSave;
577
+ save. clicado= false ;
578
+ }
579
+ } else {
580
+ String fileName = " data" + nf (year (),4 )+ nf (month (),2 )+ nf (day (),2 )+ nf (hour (),2 )+ nf (minute (),2 )+ nf (second (),2 )+ " .txt" ;
581
+ output= createWriter (fileName);
582
+ // cabeçalho
583
+ output. println(" BegOscopio v" + versao+ " " + nf (year ())+ " -" + nf (month ())+ " -" + nf (day ())+ " " + nf (hour ())+ " :" + nf (minute ())+ " :" + nf (second ()));
584
+ output. print(" dt(" );output. print(dt. v. printV());output. print(dt. unidade);output. print(" )" );
585
+ for (int k= 0 ; k< 4 ; k++ ){
586
+ if (canal[k]. chN. clicado){
587
+ output. print(' \t ' );output. print(" ch" );output. print(k);output. print(" (mV)" );
588
+ }
566
589
}
567
590
output. println();
591
+ // dados
592
+ float f= 5000.0 / 1023.0 ;
593
+ for (int k2= 0 ; k2< q. v. v;k2++ ){
594
+ output. print(k2);
595
+ for (int k= 0 ; k< 4 ; k++ ) {
596
+ if (canal[k]. chN. clicado){
597
+ output. print(' \t ' );output. print(int (canal[k]. v[k2]* f));
598
+ }
599
+ }
600
+ output. println();
601
+ }
602
+
603
+ output. close();
604
+ qSave+= 1 ;
605
+ if (qSave> 10 ) {qSave= 1 ;}
606
+ save. tex= " salvar datax.txt" + " -" + qSave;
607
+ save. clicado= false ;
568
608
}
569
- output. close();
570
- qSave+= 1 ;
571
- if (qSave> 10 ) {qSave= 1 ;}
572
- save. tex= " salvar datax.txt" + " -" + qSave;
573
- save. clicado= false ;
574
609
}
575
610
// ruido.mouseClicado();
576
611
@@ -600,6 +635,9 @@ void mouseClicked() {
600
635
if (umaAmostra. mouseClicado()) { // receber apenas Uma Amostra
601
636
variasAmostras. clicado= false ;
602
637
fluxoContinuo. clicado= false ;
638
+ if (outputOpen) {
639
+ fecharDados();
640
+ }
603
641
if (com. conectado) {
604
642
port. write(" 1" );
605
643
}
@@ -613,7 +651,7 @@ void mouseClicked() {
613
651
break ;
614
652
}
615
653
}
616
- println (" k2=" ,k2);
654
+ // println("k2=",k2);
617
655
618
656
if (k2>= 0 && k2<= 3 ){
619
657
pnlAmostra. piscar= true ;
@@ -627,6 +665,9 @@ void mouseClicked() {
627
665
if (variasAmostras. mouseClicado()) {
628
666
umaAmostra. clicado= false ;
629
667
fluxoContinuo. clicado= false ;
668
+ if (outputOpen) {
669
+ fecharDados();
670
+ }
630
671
if (com. conectado) {
631
672
if (variasAmostras. clicado) {
632
673
port. write(" vo" );
@@ -646,6 +687,9 @@ void mouseClicked() {
646
687
647
688
} else {
648
689
port. write(" fx" );
690
+ if (outputOpen){
691
+ fecharDados();
692
+ }
649
693
}
650
694
} else {
651
695
fluxoContinuo. clicado= false ;
@@ -808,6 +852,13 @@ void mouseDragged() {
808
852
// }
809
853
}
810
854
855
+ void fecharDados (){
856
+ output. close();
857
+ outputOpen= false ;
858
+ if (qSave> 10 ) {qSave= 1 ;}
859
+ save. tex= " salvar datax.txt" + " -" + qSave;
860
+ save. clicado= false ;
861
+ }
811
862
812
863
/* ==========================================
813
864
Comando enviados para o Garagino
@@ -879,7 +930,28 @@ void serialEvent(Serial p) {
879
930
canal[3 ]. v[int (q. v. v- 1 )]= int (tex2[5 ]);
880
931
dtReal. setV(float (tex2[1 ]));
881
932
if (dtReal. v- dt. v. v> 1.1 * dt. v. v){ dtErro= true ;} else {dtErro= false ;}
882
- println (" cmd=" ,cmd," val=" ,val," dtReal=" ,dtReal. printV());
933
+
934
+ // salvar em arquivo
935
+ if (outputOpen) {
936
+ float f= 5000.0 / 1023.0 ;
937
+ // for (int k2=0; k2<q.v.v;k2++){
938
+ int k2= int (q. v. v- 1 );
939
+ output. print(qSave);
940
+ qSave+= 1 ;
941
+ for (int k= 0 ; k< 4 ; k++ ) {
942
+ if (canal[k]. chN. clicado){
943
+ output. print(' \t ' );output. print(int (canal[k]. v[k2]* f));
944
+ }
945
+ }
946
+ output. println();
947
+ if (qSave % 100 == 0 ) { // de 100 em 100
948
+ save. tex= " salvando " + nf (qSave);
949
+ output. flush();
950
+ }
951
+ // }
952
+ }
953
+
954
+ // println("cmd=",cmd," val=",val," dtReal=",dtReal.printV());
883
955
} else if (cmd. equals(" v" )) { // entrada de Varias Amostra
884
956
int v[]= int (splitTokens (val));
885
957
// println("v.length=",v.length);
@@ -896,7 +968,7 @@ void serialEvent(Serial p) {
896
968
// println("atualizou");
897
969
tTotalReal. setV(float (val));
898
970
// text(tTotalReal,pnlAmostra.x+2,pnlAmostra.y+pnlAmostra.h);
899
- println (" cmd=" ,cmd," val=" ,val," tTotalReal=" ,tTotalReal. printV());
971
+ // println("cmd=",cmd," val=",val," tTotalReal=",tTotalReal.printV());
900
972
canal[0 ]. atualizou= true ; // terminou de entrar os dados então
901
973
canal[1 ]. atualizou= true ; // carregar do buffer
902
974
canal[2 ]. atualizou= true ;
@@ -913,7 +985,7 @@ void serialEvent(Serial p) {
913
985
dtReal. setV(float (val));
914
986
if (dtReal. n> dt. v. n+ 10 ){ dtErro= true ;} else {dtErro= false ;}
915
987
// text(dtReal,pnlAmostra.x+2,pnlAmostra.y+pnlAmostra.h-12);
916
- println (" cmd=" ,cmd," val=" ,val," dtReal=" ,dtReal. printV());
988
+ // println("cmd=",cmd," val=",val," dtReal=",dtReal.printV());
917
989
918
990
} else if (cmd. equals(" r" ) || cmd. equals(" c" ) || cmd. equals(" rc" )) { // valor do resistor
919
991
String tex2[]= splitTokens (val, " \t\r " );
@@ -928,19 +1000,19 @@ void serialEvent(Serial p) {
928
1000
} else if (cmd. charAt(0 )== ' ?' ) { // carregando as configurações do Garagino (ao conectar)
929
1001
cmd= cmd. substring(2 ); // eliminar 2 caracteres iniciais "? comando"
930
1002
val= val. substring(0 ,val. length()- 2 ); // eliminar 2 caracteres finais: \n\r(13,10)(^M^J) (retorno de linha)
931
- println (" cmd=" ,cmd," val=" ,val);
1003
+ // println("cmd=",cmd," val=",val);
932
1004
if (cmd. equals(" q" )){ // val=100
933
1005
q. v. v= float (val);
934
1006
} else if (cmd. equals(" dt" )){
935
1007
char unid= val. charAt(val. length()- 2 );
936
1008
val= val. substring(0 ,val. length()- 2 );
937
- println (" unid=" ,unid," val=" ,val);
1009
+ // println("unid=",unid," val=",val);
938
1010
if (unid== ' u' ){
939
1011
val= val+ " e-6" ;
940
1012
}else {
941
1013
val= val+ " e-3" ;
942
1014
}
943
- println (" val=" ,val);
1015
+ // println("val=",val);
944
1016
dt. setV(float (val));
945
1017
ajustarFt();
946
1018
@@ -973,7 +1045,7 @@ void serialEvent(Serial p) {
973
1045
}else if (cmd. equals(" pwmPon" )){ // cmd="pwmPon", val="25%"
974
1046
val= val. substring(0 ,val. length()- 1 );
975
1047
tonSinal. setV(float (val));
976
- println (" pwmPon=" ,float (val));
1048
+ // println("pwmPon=",float(val));
977
1049
}
978
1050
}
979
1051
}
0 commit comments