|
|
@ -47,21 +47,6 @@ extern void* __brkval;
|
|
|
|
extern size_t __heap_start, __heap_end, __flp;
|
|
|
|
extern size_t __heap_start, __heap_end, __flp;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Declare all the functions we need from Marlin_Main.cpp to do the work!
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int code_value_int();
|
|
|
|
|
|
|
|
bool code_seen(char);
|
|
|
|
|
|
|
|
void serial_echopair_P(const char*, float);
|
|
|
|
|
|
|
|
void serial_echopair_P(const char*, double);
|
|
|
|
|
|
|
|
void serial_echopair_P(const char*, unsigned long);
|
|
|
|
|
|
|
|
void serial_echopair_P(const char*, int);
|
|
|
|
|
|
|
|
void serial_echopair_P(const char*, long);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Utility functions used by M100 to get its work done.
|
|
|
|
// Utility functions used by M100 to get its work done.
|
|
|
|
//
|
|
|
|
//
|
|
|
@ -175,8 +160,7 @@ void gcode_M100() {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
#if ENABLED(M100_FREE_MEMORY_CORRUPTOR)
|
|
|
|
#if ENABLED(M100_FREE_MEMORY_CORRUPTOR)
|
|
|
|
if (code_seen('C')) {
|
|
|
|
if (code_seen('C')) {
|
|
|
|
int x; // x gets the # of locations to corrupt within the memory pool
|
|
|
|
int x = code_value_int(); // x gets the # of locations to corrupt within the memory pool
|
|
|
|
x = code_value_int();
|
|
|
|
|
|
|
|
SERIAL_ECHOLNPGM("Corrupting free memory block.\n");
|
|
|
|
SERIAL_ECHOLNPGM("Corrupting free memory block.\n");
|
|
|
|
ptr = (unsigned char*) __brkval;
|
|
|
|
ptr = (unsigned char*) __brkval;
|
|
|
|
SERIAL_ECHOPAIR("\n__brkval : ", ptr);
|
|
|
|
SERIAL_ECHOPAIR("\n__brkval : ", ptr);
|
|
|
|