SD speed test (DEBUG)
homeaxis - fix set_destination_to_current
This commit is contained in:
parent
d91dbc73c9
commit
e2e48bfd71
|
|
@ -1140,6 +1140,51 @@ void setup()
|
||||||
// Force SD card update. Otherwise the SD card update is done from loop() on card.checkautostart(false),
|
// Force SD card update. Otherwise the SD card update is done from loop() on card.checkautostart(false),
|
||||||
// but this times out if a blocking dialog is shown in setup().
|
// but this times out if a blocking dialog is shown in setup().
|
||||||
card.initsd();
|
card.initsd();
|
||||||
|
#ifdef DEBUG_SD_SPEED_TEST
|
||||||
|
if (card.cardOK)
|
||||||
|
{
|
||||||
|
uint8_t* buff = (uint8_t*)block_buffer;
|
||||||
|
uint32_t block = 0;
|
||||||
|
uint32_t sumr = 0;
|
||||||
|
uint32_t sumw = 0;
|
||||||
|
for (int i = 0; i < 1024; i++)
|
||||||
|
{
|
||||||
|
uint32_t u = micros();
|
||||||
|
bool res = card.card.readBlock(i, buff);
|
||||||
|
u = micros() - u;
|
||||||
|
if (res)
|
||||||
|
{
|
||||||
|
printf_P(PSTR("readBlock %4d 512 bytes %lu us\n"), i, u);
|
||||||
|
sumr += u;
|
||||||
|
u = micros();
|
||||||
|
res = card.card.writeBlock(i, buff);
|
||||||
|
u = micros() - u;
|
||||||
|
if (res)
|
||||||
|
{
|
||||||
|
printf_P(PSTR("writeBlock %4d 512 bytes %lu us\n"), i, u);
|
||||||
|
sumw += u;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf_P(PSTR("writeBlock %4d error\n"), i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf_P(PSTR("readBlock %4d error\n"), i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
uint32_t avg_rspeed = (1024 * 1000000) / (sumr / 512);
|
||||||
|
uint32_t avg_wspeed = (1024 * 1000000) / (sumw / 512);
|
||||||
|
printf_P(PSTR("avg read speed %lu bytes/s\n"), avg_rspeed);
|
||||||
|
printf_P(PSTR("avg write speed %lu bytes/s\n"), avg_wspeed);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf_P(PSTR("Card NG!\n"));
|
||||||
|
#endif DEBUG_SD_SPEED_TEST
|
||||||
|
|
||||||
if (eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_POWER_COUNT, 0);
|
if (eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_POWER_COUNT, 0);
|
||||||
if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_X, 0);
|
if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_X, 0);
|
||||||
if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_Y) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_Y, 0);
|
if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_Y) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_Y, 0);
|
||||||
|
|
@ -1845,6 +1890,7 @@ void homeaxis(int axis, uint8_t cnt, uint8_t* pstep)
|
||||||
// for the stall guard to work.
|
// for the stall guard to work.
|
||||||
current_position[axis] = 0;
|
current_position[axis] = 0;
|
||||||
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
||||||
|
set_destination_to_current();
|
||||||
// destination[axis] = 11.f;
|
// destination[axis] = 11.f;
|
||||||
destination[axis] = 3.f;
|
destination[axis] = 3.f;
|
||||||
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
|
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
|
||||||
|
|
@ -6527,6 +6573,11 @@ void get_coordinates()
|
||||||
if (next_feedrate > MAX_SILENT_FEEDRATE) next_feedrate = MAX_SILENT_FEEDRATE;
|
if (next_feedrate > MAX_SILENT_FEEDRATE) next_feedrate = MAX_SILENT_FEEDRATE;
|
||||||
#endif //MAX_SILENT_FEEDRATE
|
#endif //MAX_SILENT_FEEDRATE
|
||||||
if(next_feedrate > 0.0) feedrate = next_feedrate;
|
if(next_feedrate > 0.0) feedrate = next_feedrate;
|
||||||
|
if (!seen[0] && !seen[1] && !seen[2] && seen[3])
|
||||||
|
{
|
||||||
|
// float e_max_speed =
|
||||||
|
// printf_P(PSTR("E MOVE speed %7.3f\n"), feedrate / 60)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,12 @@ private:
|
||||||
|
|
||||||
#endif // SDCARD_SORT_ALPHA
|
#endif // SDCARD_SORT_ALPHA
|
||||||
|
|
||||||
|
#ifdef DEBUG_SD_SPEED_TEST
|
||||||
|
public:
|
||||||
|
#endif DEBUG_SD_SPEED_TEST
|
||||||
Sd2Card card;
|
Sd2Card card;
|
||||||
|
|
||||||
|
private:
|
||||||
SdVolume volume;
|
SdVolume volume;
|
||||||
SdFile file;
|
SdFile file;
|
||||||
#define SD_PROCEDURE_DEPTH 1
|
#define SD_PROCEDURE_DEPTH 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue