I just bought a new proffieboard v2.2 from SaberBay (KR Sabers proffie) after I absolutely destroyed my previous one. I took my time assembling this one and made a fancy chassis for it, etc.
It has 2 switches, one lit, set up as a 1 color crystal chamber (it has the proper resistor).
I have a Shtok V3 neopixel adapter wired in series, I plan on setting it up as a subblade later.
It has no recharge port or kill switch, just a removable battery setup, an SO 24mm Elite Speaker.
It also has a SSD1306 OLED display from SaberBay.
So I have a couple of issues:
- I have no idea how on earth if I’m properly configuring the OLED right
- The motion sensor seems to be having a stroke
- The accent LED on my switch doesn’t seem to light up.
The first issue is fairly straightforward. Best I can tell I just need to add #define INCLUDE_SSD1306
and it should work using the names I have defined in my presets? I’m not worried about any of the image stuff yet, because adding the define, and making sure I have all lowercase names gives me a black screen
The second issue I think might be correlated to the first, but I doubt it. My motion sensor sends random clashes and swings whenever it’s on. I get a whole ton of EVENT: Swing ON
when the board is first powered up, and then the board locks up in Serial Monitor aside from occasionally printing unit = 2 vol = 0.00, Playing [.wav file]
There was one time I seemed to have it kind of working, where it was registering clashes in serial monitor and it was responsive and there wasn’t anything weird going on, but I disconnected power and put the chassis back in my saber with the speaker and powered it on and it was back to being borken. I have yet to recreate that working state since.
My accent LED not working is likely one of my resistors not being right, due to how they were installed, but I figured I would throw it out there.
A sample of my config:
#include "proffieboard_v2_config.h"
#define INCLUDE_SSD1306
#define NUM_BLADES 2
#define NUM_BUTTONS 2
#define VOLUME 800
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 4
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define IDLE_OFF_TIME 60 * 10 * 1000
#define MOTION_TIMEOUT 60 * 15 * 1000
#define SAVE_STATE
#define SA22C_SWING_ON
#define SA22C_THRUST_ON
#define SA22C_SWING_ON_SPEED 400
#define SA22C_TWIST_OFF
#define ORIENTATION ORIENTATION_USB_TOWARDS_BLADE
#endif
#ifdef CONFIG_PROP
#include "../props/saber_sa22c_buttons.h"
#endif
#ifdef CONFIG_PRESETS
Preset presets[] = {
{ "8-BLUE", "tracks/GESW.wav",
StylePtr<Layers<RandomFlicker<RotateColorsX<Variation,Blue>,RotateColorsX<Variation,Rgb<0,0,128>>>,LockupTrL<Layers<AlphaL<AudioFlickerL<White>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,AlphaL<White,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Int<10000>>>>,TrConcat<TrInstant,White,TrFade<400>>,TrConcat<TrInstant,White,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL<Strobe<White,AudioFlicker<White,Blue>,50,1>,TrConcat<TrInstant,AlphaL<White,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,ResponsiveStabL<Red,TrWipeIn<600>,TrWipe<600>>,ResponsiveBlastL<White,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>,Int<400>>,ResponsiveClashL<White,TrInstant,TrFade<400>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>,Int<20000>>,LockupTrL<AlphaL<BrownNoiseFlickerL<White,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Mix<TwistAngle<>,Red,Orange>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipe<350>,TrWipeIn<800>,Black>>>(),
StylePtr<Layers<White,AudioFlickerL<Rgb<170,170,170>>,InOutTrL<TrFade<300>,TrFade<500>,Pulsing<White,Black,3000>>>>(),"galaxy blue"}
};
BladeConfig blades[] = {
{ 0, WS281XBladePtr<132, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
SimpleBladePtr<CreeXPE2WhiteTemplate<550>, NoLED, NoLED, NoLED, bladePowerPin6, -1, -1, -1>()
, CONFIGARRAY(presets) },
};
#endif
#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif
This config was all working on my old proffie before I broke it, only new thing is the OLED and the extra LEDs on the Neopixel adapter.