Skip to content

Commit

Permalink
Faster start time #8
Browse files Browse the repository at this point in the history
  • Loading branch information
fweiss committed Jul 8, 2024
1 parent 429ced4 commit 846452a
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 44 deletions.
18 changes: 11 additions & 7 deletions components/player/Profiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Profiler::Profiler(bool enable) {
if (enable) {
ESP_LOGI(TAG, "started");
} else {
ESP_LOGI(TAG, " not started");
ESP_LOGI(TAG, "not started");
}
reset();

Expand Down Expand Up @@ -43,16 +43,20 @@ void Profiler::stopTime() {
samples++;
}

void Profiler::callback(void* arg) {
((Profiler*)arg)->dump();
}

void Profiler::dump() {
uint64_t average = runTime / samples;
ESP_LOGI(TAG, "samples: %lld run time: %lld average (us): %lld", samples, runTime, average);
if (samples == 0) {
ESP_LOGI(TAG, "samples: none");
} else {
uint64_t average = runTime / samples;
ESP_LOGI(TAG, "samples: %lld run time: %lld average (us): %lld", samples, runTime, average);
}
reset();
}

void Profiler::callback(void* arg) {
((Profiler*)arg)->dump();
}

void Profiler::reset() {
lastStartTime = 0;
samples = 0;
Expand Down
28 changes: 17 additions & 11 deletions main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,8 @@ TaskHandle_t mainTaskHandle;
// initialize the app on a task pinned to the APP core
void mainTask(void *parameters) {
ESP_LOGI(TAG, "main task running on core: %d", xPortGetCoreID());

Motion motion;
motion.start();
Profiler profiler(true);
profiler.startTime();

static Display display( GPIO_NUM_14);

Expand Down Expand Up @@ -105,26 +104,33 @@ void mainTask(void *parameters) {
// badgeService.setPaintPixel(&paintPixel);
badgeService.init();

BLECore core;
core.registerService(&badgeService);
core.init();

animator.setCallback(
[] {
animationProgram.drawFrame(display);
display.show();
}
);
motion.setListeners([](MotionData motionData){
gravity.setMotion(motionData);
});

display.setBrightness(5);
animationProgram.setProgram(defaultIndex);
animator.start();

profiler.stopTime();

// start motion
Motion motion;
motion.setListeners([](MotionData motionData){
gravity.setMotion(motionData);
});
motion.start();

// start BLE
BLECore core;
core.registerService(&badgeService);
core.init();

// main task does nothing but initialize app on core 1
for (;;) {
while(true) {

}
}
Expand Down
33 changes: 7 additions & 26 deletions sdkconfig
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ CONFIG_PARTITION_TABLE_SINGLE_APP=y
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
# CONFIG_PARTITION_TABLE_CUSTOM is not set
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_coredump.csv"
CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv"
CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_PARTITION_TABLE_MD5=y
# end of Partition Table
Expand All @@ -383,8 +383,7 @@ CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
CONFIG_COMPILER_HIDE_PATHS_MACROS=y
CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=0
# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
# CONFIG_COMPILER_CXX_RTTI is not set
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
Expand Down Expand Up @@ -1269,18 +1268,9 @@ CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y
#
# Core dump
#
CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=y
# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
# CONFIG_ESP_COREDUMP_ENABLE_TO_NONE is not set
# CONFIG_ESP_COREDUMP_DATA_FORMAT_BIN is not set
CONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=y
CONFIG_ESP_COREDUMP_CHECKSUM_CRC32=y
# CONFIG_ESP_COREDUMP_CHECKSUM_SHA256 is not set
CONFIG_ESP_COREDUMP_CHECK_BOOT=y
CONFIG_ESP_COREDUMP_ENABLE=y
CONFIG_ESP_COREDUMP_LOGS=y
CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=64
CONFIG_ESP_COREDUMP_STACK_SIZE=0
CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
# end of Core dump

#
Expand Down Expand Up @@ -1356,7 +1346,6 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
#
# Port
#
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
Expand Down Expand Up @@ -2025,8 +2014,7 @@ CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2
CONFIG_CXX_EXCEPTIONS=y
CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE=0
# CONFIG_CXX_EXCEPTIONS is not set
CONFIG_STACK_CHECK_NONE=y
# CONFIG_STACK_CHECK_NORM is not set