ProffieOS on Teensy 4.0

Hi! I’m trying to load proffieOS onto a teensy board as I’m attempting to code a saber stand with some leds to show a similar blade style to the saber that perches upon it. Having no luck with getting the code to run on there so far. What defines n stuff am I missing for this to work on a teensy 4? (I don’t need sound, motion or sd card stuff, literally just want to match the led styles)

Here’s my basic config I’ve been experimenting with:

#ifdef CONFIG_TOP
#include "v3_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 1
const unsigned int maxLedsPerStrip = 144;
#define TEENSYDUINO
#define USE_TEENSY4
#define ENABLE_WS2811
#endif

#ifdef CONFIG_PRESETS
Preset presets[] = {
  { "TeensySF", "tracks/mars.wav",
    StyleNormalPtr<CYAN, WHITE, 300, 800>(), "cyan"},

};
BladeConfig blades[] = {
  { 0, 

    WS281XBladePtr<6, bladePin, Color8::GRB, PowerPINS<bladePowerPin2> >(),


    CONFIGARRAY(presets) },
};
#endif

#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
#endif

For some reference, here’s my error messages:

Arduino: 1.8.19 (Mac OS X), TD: 1.56, Board: "Teensy 4.0, MTP Disk (Experimental), 600 MHz, Faster, US English"











In file included from /Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Important Misc/PROFFIEOS 6.7/ProffieOS/ProffieOS.ino:197:0:
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/i2c_t3/i2c_t3.h:31:2: error: #error "Sorry, i2c_t3 only works on Teensy LC and 3.x.  Use Wire for Teensy 4.0, 4.1, MicroMod."
 #error "Sorry, i2c_t3 only works on Teensy LC and 3.x.  Use Wire for Teensy 4.0, 4.1, MicroMod."
  ^
In file included from /Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Important Misc/PROFFIEOS 6.7/ProffieOS/blades/ws2811_blade.h:38:0,
                 from /Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Important Misc/PROFFIEOS 6.7/ProffieOS/ProffieOS.ino:566:
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Important Misc/PROFFIEOS 6.7/ProffieOS/blades/monopodws.h:40:17: error: operator '<' has no left operand
 #if TEENSYDUINO < 121
                 ^
Multiple libraries were found for "SD.h"
 Used: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD
 Not used: /Applications/Teensyduino.app/Contents/Java/libraries/SD
Error compiling for board Teensy 4.0.


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

While I have no experience doing this, I believe you need to run Teensyduino as opposed to Arduino IDE.
@MegtoothSith probably has some helpful pointers for you.

Yeah im using teensyduino and im even using the v4_config.h that fredrik shared and is hidden within the crucible somewhere. Having no luck compiling so far. Im just looking run leds, avoiding the teensysaber shield if i can because im limited by height in my build.

Teensyduino plugin should still display compilatikn errors. Im pretty sure that the config Frdrik built for the Teensy V4 was meant to also control shield boards?

Im not sure why Fredriks config wouldnt compile, unless you changed something.

What version of ProffieOS do you have?
I think you might need the latest master from github to get Teensy4 working properly.

Running OS6.7

Would this be possible to run just bare neopixels with no shield board involved? (I want the leds on constantly)

The neopixels are the easy part, you don’t technically need anything beyond the V4 board to run those. Sound & motion requires extra components.

Ok awesome! So what do you suggest in order to get the code running on teensy? I’ve still had no luck compiling it

Try latest master from github instead of 6.7.

Ok i got it compiling with the newest github master, if I don’t define a prop file, for some weird reason…

/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_NONE' not handled in switch [-Wswitch]
     switch (effect) {
            ^
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_CLASH' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_CLASH_UPDATE' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_BLAST' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_FORCE' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_STAB' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_BOOT' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_LOCKUP_BEGIN' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_LOCKUP_END' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_DRAG_BEGIN' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_DRAG_END' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_PREON' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_POSTOFF' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_IGNITION' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_RETRACTION' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_CHANGE' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_NEWFONT' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_LOW_BATTERY' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_STUN' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_FIRE' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_CLIP_IN' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_CLIP_OUT' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_RELOAD' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_MODE' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_RANGE' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_EMPTY' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_FULL' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_JAM' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_UNJAM' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_PLI_ON' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_PLI_OFF' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_USER1' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_USER2' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_USER3' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_USER4' not handled in switch [-Wswitch]
/Users/kaskobi/Library/Mobile Documents/com~apple~CloudDocs/Downloads/untitled folder/ProffieOS/props/saber_fett263_buttons_OS6_SIMPLIFIED_PWR_LOWER.h:880:12: warning: enumeration value 'EFFECT_USER5' not handled in switch [-Wswitch]```

Got it running, needed to take a couple of defines out given I’m not using the teensysaber shield. Here’s my config for anyone interested:

#ifdef CONFIG_TOP
#include "v4_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 1
#define VOLUME 0
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_WS2811
#define DISABLE_COLOR_CHANGE
#define USE_TEENSY4
#endif

#ifdef CONFIG_PROP
#include "../props/saber_fett263_buttons_stand.h"
#endif

#ifdef CONFIG_PRESETS
Preset presets[] = {
  { "OggdoKiller", "tracks/",
StylePtr<Layers<Stripes<16000,-1000,RotateColorsX<Variation,Blue>,Pulsing<RotateColorsX<Variation,Rgb<0,0,90>>,RotateColorsX<Variation,Blue>,800>,RotateColorsX<Variation,Blue>>,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,AlphaL<Mix<SmoothStep<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<4000>,Int<26000>>,Int<6000>>,Int<1000>>,Stripes<1500,2000,White,Blue>,Stripes<1500,-2500,White,Blue>>,Int<18000>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,ResponsiveStabL<Red,TrWipeIn<600>,TrWipe<600>>,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<TrInstant,TrFadeX<WavLen<EFFECT_RETRACTION>>,Black>>>()},



};
BladeConfig blades[] = {
  { 0, 
    WS281XBladePtr<12, 4, Color8::GRB, PowerPINS<bladePowerPin1> >(),
    CONFIGARRAY(presets) },
};
#endif

#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
#endif

These are normal warnings, but I’m not sure why it would use that prop file if you “don’t use a prop file” ?

Config file looks reasonable, although you can change PowerPINS<bladePowerPin1> to just PowerPINS<> if you don’t actually have a FET.