Skip to content

The config file

Fredrik Hubinette edited this page Sep 3, 2019 · 9 revisions

While EVERYTHING in ProffieOS is possible to change, most of the time, only the config file needs to be changed. The config file is really just some C++ code that specifies how the rest of the code should behave, but since more ProffieOS users are not C++ experts, this page describes the ProffieOS config files in more detail.

First, let's take a look at a typical config file:

#ifdef CONFIG_TOP #include "proffieboard_v1_config.h" #define NUM_BLADES 1 #define NUM_BUTTONS 2 #define VOLUME 1000 const unsigned int maxLedsPerStrip = 144; #define CLASH_THRESHOLD_G 1.0 #define ENABLE_AUDIO #define ENABLE_MOTION #define ENABLE_WS2811 #define ENABLE_SD #endif

#ifdef CONFIG_PRESETS Preset presets[] = { { "TeensySF", "tracks/venus.wav", StyleNormalPtr<CYAN, WHITE, 300, 800>(), "cyan"}, { "SmthJedi", "tracks/mars.wav", StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(), "blue"}, { "SmthGrey", "tracks/mercury.wav", StyleFirePtr<RED, YELLOW>(), "fire"}, { "SmthFuzz", "tracks/uranus.wav", StyleNormalPtr<RED, WHITE, 300, 800>(), "red"}, { "RgueCmdr", "tracks/venus.wav", StyleFirePtr<BLUE, CYAN>(), "blue fire"}, { "TthCrstl", "tracks/mars.wav", StylePtr<InOutHelper<EASYBLADE(OnSpark, WHITE), 300, 800> >(), "green"}, { "TeensySF", "tracks/mercury.wav", StyleNormalPtr<WHITE, RED, 300, 800, RED>(), "white"}, { "SmthJedi", "tracks/uranus.wav", StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(), "yellow"}, { "SmthGrey", "tracks/venus.wav", StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(), "magenta"}, { "SmthFuzz", "tracks/mars.wav", StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(), "gradient"}, { "RgueCmdr", "tracks/mercury.wav", StyleRainbowPtr<300, 800>(), "rainbow"}, { "TthCrstl", "tracks/uranus.wav", StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(), "strobe"}, { "TeensySF", "tracks/venus.wav", &style_pov, "POV"}, { "SmthJedi", "tracks/mars.wav", &style_charging, "Battery\nLevel"} }; BladeConfig blades[] = { { 0, WS2811BladePtr<144, WS2811_ACTUALLY_800kHz | WS2811_GRB>(), CONFIGARRAY(presets) }, }; #endif

#ifdef CONFIG_BUTTONS Button PowerButton(BUTTON_POWER, powerButtonPin, "pow"); Button AuxButton(BUTTON_AUX, auxPin, "aux"); #endif

Clone this wiki locally