- Create `Include/` folder for all main projects - Fix some issues here and there (found while moving things) - All includes are now in `Tactility/` subfolder and must be included with that prefix. This fixes issues with clashing POSIX headers (e.g. `<semaphore.h>` versus Tactility's `Semaphore.h`)
28 lines
546 B
C
28 lines
546 B
C
#ifdef ESP_PLATFORM
|
|
|
|
#pragma once
|
|
|
|
#include <cstdio>
|
|
|
|
#define CRASH_DATA_CALLSTACK_LIMIT 64
|
|
#define CRASH_DATA_INCLUDES_SP false
|
|
|
|
/** Represents a single frame on the callstack. */
|
|
struct CallstackFrame {
|
|
uint32_t pc = 0;
|
|
#if CRASH_DATA_INCLUDES_SP
|
|
uint32_t sp = 0;
|
|
#endif
|
|
};
|
|
|
|
/** Callstack-related crash data. */
|
|
struct CrashData {
|
|
bool callstackCorrupted = false;
|
|
uint8_t callstackLength = 0;
|
|
CallstackFrame callstack[CRASH_DATA_CALLSTACK_LIMIT];
|
|
};
|
|
|
|
/** @return the crash data */
|
|
const CrashData& getRtcCrashData();
|
|
|
|
#endif |