vorher Binäre Sketchgröße: 24.594 Bytes unsigned char compile_time(void) { uint8_t cc, jj=0, mo=0, ta=0, hh=0, mm=0, ss=0; uint16_t jjjj=0, tn=0; char buffer_l[15]; char buffer[4]; strcpy(buffer_l, __DATE__); jjjj=atoi(rights(buffer_l, (uint8_t)4)); jj=atoi(rights(buffer_l, (uint8_t)2)); ta=atoi(mids(buffer_l, (uint8_t)5, (uint8_t)2)); for(cc=1; cc<13; cc++) { strcpy_P(buffer, (char*)pgm_read_word(&(mo_table[cc]))); // Necessary casts and dereferencing, just copy. if(!strcmp((char *)lefts(buffer_l, (uint8_t)3), (char *)buffer)) { mo=cc; break; } } // for(cc=1; cc<13; cc++) strcpy(buffer_l, __TIME__); hh=atoi((char *)lefts(buffer_l, 2)); mm=atoi((char *)mids(buffer_l, 4, 2)); ss=atoi((char *)rights(buffer_l, 2)); sprintf((char *)c_str,"%04d/%02d/%02d_%02d:%02d:%02d", jjjj, mo, ta, hh, mm, ss); if(jjjj>0 && jj>0 && mo>0 && ta>0 && hh>0 && mm>0 && ss>0 && tn>0) return (uint8_t)1; else return (uint8_t)0; } // unsigned char compile_time(void) nachher Binäre Sketchgröße: 24.436 Bytes unsigned char compile_time(void) { uint8_t cc=1, mo=0, ta=0, hh=0, mm=0, ss=0; uint16_t jjjj=0; jjjj = (__DATE__[7] - '0') * 1000 + (__DATE__[8] - '0') * 100 + (__DATE__[9] - '0') * 10 + __DATE__[10] - '0'; (__DATE__[4]==' ') ? ta = __DATE__[5] - '0' : ta = (__DATE__[4] - '0') * 10 + __DATE__[5] - '0'; while(cc++<13) { if(!strncmp_P(__DATE__, (char*)pgm_read_word(&(mo_table[cc])), 3)) { mo=cc; break; } } // for(cc=1; cc<13; cc++) hh = (__TIME__[0] - '0') * 10 + __TIME__[1] - '0'; mm = (__TIME__[3] - '0') * 10 + __TIME__[4] - '0'; ss = (__TIME__[6] - '0') * 10 + __TIME__[7] - '0'; sprintf((char *)c_str,"%04d/%02d/%02d_%02d:%02d:%02d", jjjj, mo, ta, hh, mm, ss); if(jjjj>0 && mo>0 && ta>0 && hh>=0 && mm>=0 && ss>=0) return (uint8_t)1; else return (uint8_t)0; } // unsigned char compile_time(void)