Tempo rimanente di stampa October 01, 2015 10:16AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 01, 2015 10:48AM |
Registered: 9 years ago Posts: 762 |
Interessante... è veritiera come previsione?Quote
i3D
Fatemi sapere se può interessare
Re: Tempo rimanente di stampa October 01, 2015 11:02AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 01, 2015 11:31AM |
Registered: 11 years ago Posts: 6,409 |
Re: Tempo rimanente di stampa October 01, 2015 01:59PM |
Registered: 9 years ago Posts: 762 |
Quote
MagoKimbra
Cmq si posso aggiungerlo se ti va di passare il codice...
Re: Tempo rimanente di stampa October 02, 2015 08:13AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 02, 2015 10:54AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 02, 2015 10:54AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 05, 2015 07:14AM |
Registered: 9 years ago Posts: 762 |
Re: Tempo rimanente di stampa October 06, 2015 02:52AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 06, 2015 05:55AM |
Registered: 10 years ago Posts: 119 |
Re: Tempo rimanente di stampa October 07, 2015 02:22AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 07, 2015 02:46AM |
Registered: 11 years ago Posts: 6,409 |
Re: Tempo rimanente di stampa October 08, 2015 08:02AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 08, 2015 03:22PM |
Registered: 9 years ago Posts: 762 |
Quote
i3D
extern unsigned long starttime;
dentro marlin.h
unsigned long starttime=0;
Re: Tempo rimanente di stampa October 08, 2015 03:29PM |
Registered: 11 years ago Posts: 6,409 |
Quote
Luca_Benedetto
Quote
i3D
extern unsigned long starttime;
dentro marlin.h
unsigned long starttime=0;
e poi dove la aggiorni?
Re: Tempo rimanente di stampa October 09, 2015 03:13AM |
Registered: 9 years ago Posts: 762 |
Quote
MagoKimbra
Si infatti manca qualcosa, altrimenti è sempre 0 e non ha senso!!!
Re: Tempo rimanente di stampa October 13, 2015 05:48AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 13, 2015 06:49AM |
Registered: 9 years ago Posts: 762 |
u8g.setPrintPos(80,48); if (print_job_start_ms != 0) { #if HAS_LCD_POWER_SENSOR if (millis() < print_millis + 1000) { uint16_t time = (millis() - print_job_start_ms) / 60000; lcd_print(itostr2(time/60)); lcd_print(':'); lcd_print(itostr2(time%60)); } else { lcd_print(itostr4(power_consumption_hour-startpower)); lcd_print('Wh'); } #else uint16_t time = (millis() - print_job_start_ms) / 60000; lcd_print(itostr2(time/60)); lcd_print(':'); lcd_print(itostr2(time%60)); #endif } else { lcd_printPGM(PSTR("--:--")); }A questo punto il tuo pezzo di codice per visualizzare la stima del tempo restante si potrebbe mettere giusto in coda a quello di sopra:
} else { lcd_printPGM(PSTR("--:--")); } u8g.setPrintPos(98,46); if(card.percentDone() >= 15) { uint16_t time = (millis() - print_job_start_ms)/60000/card.percentDone()+1; u8g.print(itostr2(time/60)); u8g.print(':'); u8g.print(itostr2(time%60)); } else { lcd_printPGM(PSTR("--:--")); }Dividendo però per 60000 e non per 600 come sul tuo codice credo... e sempre che ci sia lo spazio sul display a aprtire dalla posizione indicata dal setPrintPos!
Re: Tempo rimanente di stampa October 14, 2015 09:52AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 14, 2015 10:09AM |
Registered: 9 years ago Posts: 762 |
Purtroppo è lontanuccia...Quote
i3D
...Se venite a roma ne parliamo dal vivo...
Re: Tempo rimanente di stampa October 18, 2015 04:46AM |
Registered: 9 years ago Posts: 762 |
uint16_t time = millis()/1000 - print_job_start_ms/1000;
// #define LCD_TIME_IN_SEC 1 scommentare per avere i tempi con anche i secondiQuando i tempi sono in secondi ho dovuto togliere la scritta SD per risparmiare spazio:
#if LCD_TIME_IN_SECOvviamente ho messo sotto controllo della define anche le stampe dei tempi
lcd.setCursor(6, 2);
#else
lcd.setCursor(7, 2);
lcd_printPGM(PSTR("SD"));
#endif
lcd.print(itostr2(time/3600));
lcd.print(':');
lcd.print(itostr2((time-((time/3600)*3600))/60));
#if LCD_TIME_IN_SEC
lcd.print(':');
lcd.print(itostr2((time-((time/3600)*3600))%60));
#endif
#if LCD_TIME_IN_SEC
int tix = (int)(card.percentDone() * (LCD_WIDTH - 9) * 3) / 100, cel = tix / 3, rem = tix % 3, i = (LCD_WIDTH - 9);
#else
int tix = (int)(card.percentDone() * (LCD_WIDTH - 6) * 3) / 100, cel = tix / 3, rem = tix % 3, i = (LCD_WIDTH - 6);
#endif
#if LCD_TIME_IN_SEC
lcd.setCursor(LCD_WIDTH - 9, LCD_HEIGHT - 1);
#else
lcd.setCursor(LCD_WIDTH - 6, LCD_HEIGHT - 1);
#endif
// uint16_t time = ((millis()/1000 - print_job_start_ms/1000)/card.percentDone()*100); // Tempo stimato di fine stampaBasta scommentare quella che si preferisce... io personalmente tengo quella che mi dice quanto si pensa ci voglia ancora per finire la stampare
uint16_t time = ((millis()/1000 - print_job_start_ms/1000)/card.percentDone()*100) - (millis()/1000 - print_job_start_ms/1000); // Stima a Finire la stampa
Re: Tempo rimanente di stampa October 28, 2015 09:23AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 29, 2015 04:12AM |
Registered: 9 years ago Posts: 762 |
Quote
i3D
...ho notato che nella parte in cui implementi la stima del tempo ci sono degli errori...
// uint16_t time = ((millis()/1000 - print_job_start_ms/1000)/card.percentDone()*100); // Tempo stimato di fine stampa uint16_t time = ((millis()/1000 - print_job_start_ms/1000)/card.percentDone()*100) - (millis()/1000 - print_job_start_ms/1000); // Stima a Finire la stampa
// uint16_t time = ((millis()/1000 - print_job_start_ms/1000)/card.percentDone()*100); // Tempo stimato di fine stampa uint16_t time = (((millis()/1000 - print_job_start_ms/1000)*(100-card.percentDone()))/card.percentDone()); // Stima a Finire la stampa
Re: Tempo rimanente di stampa October 29, 2015 11:13AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa October 30, 2015 03:14AM |
Registered: 9 years ago Posts: 762 |
Quote
i3D
...a vedere meglio se print_job è superiore a zero (es.10) cosa succede??...
// uint16_t time = ((millis() - print_job_start_ms)/card.percentDone()*100)/1000; // Tempo stimato di fine stampa uint16_t time = (((millis() - print_job_start_ms)/card.percentDone()*100) - (millis() - print_job_start_ms))/1000; // Stima a Finire la stampa
Re: Tempo rimanente di stampa October 30, 2015 08:51AM |
Registered: 9 years ago Posts: 21 |
Re: Tempo rimanente di stampa November 02, 2015 08:42AM |
Registered: 9 years ago Posts: 762 |
Quote
i3D
probabile
per il momento funziona bene su due stampe da 30 min. ha sballato di 4min.in più
ciao