Crazy idea of the day: blade fonts

I was thinking that calculating blade effects take a lot of memory, use a lot of CPU to calculate and can be hard to customize.

What if we just read the data from the SD card instead? We already have a “File” style that can read data from the sd card, it could be extended to switch files when new effects happen, and even mix multiple files.

The issue with doing it this way is of course responsiveness. Making effects that depend on swing speed, angle or other such things would be a lot harder this way.


In other words possibly more latency? I get wanting to increase memory space but I dunno about SD cards for more than just the fonts, but I just started to play with capacity size.

That said, it does have some merit, if latency is not an issue on the capability side. There’s SD cards out there now w huge memory capabilities. *Just replaced a 16gb that went south on me and could have gotten a 128gb for what I paid for my 32gb that pushes the same speeds (for fonts) as the best tested ones in the owners manual. IIRC it ran around $16.00 for the replacement sd.

I can say based on what type of cards we are using in the newest nav and audio setups for vehicles it’s possible to program around the latencies. :wink:

Now for the DebbieDowner bit. I can see people wanting to quick-swap micro sd’s and them and the connector’s being damaged if done too often.


Latency would be pretty small. Reading one blade from an sd card takes about 0.3ms, and it takes less bandwidth than reading audio, so I wouldn’t expect much problems unless we were to read lots and lots of files at the same time, and even that might be fine on a V3 board which reads SD cards much faster.

Switching SD cards seems unnecessary since there is plenty of room for sound fonts, blade fonts and images for displays on an SD card.


Would it be all or nothing? Seems like those responsive things could use to remain as is, while some other stuff could be beneficial to be read from SD. Is it possible to divvy up the tasks?


That’s kinda what I was thinking too. Allocate this idea to other options. It doesn’t hurt to explore paths. This idea does bear a look though.

1 Like

Obviously anything and everything is possible, especially since this is just an idea at this stage. I’m not even sure if it’s a good idea or not.

My thinking so far is that there would be a “hum” animation, which would be looped, and everything else would use RGBA (alpha) to overlay on top of the hum.

I’m kind of thinking that this would be a base layer, and I think I can make it so that only effects which are not handled elsewhere in the style would be handled with files.

Alternatively, there could be one layer per style in the template, something like:

Layers<FileBaseLayer, FileClashLayer, FileLockupLayer, ...., FileInOutLayer>
1 Like

Plecter just came out with GRAFx. It does this to an extent, reading a bmp file and maps it across the blade one scan line at a time, something like videotoblc, but static images. Frame rate is manually adjustable, or set to zero to use the wav’s length.
Pretty cool actually.


cool, where did you find this?

I feel awkward posting this, but it is just publicly available info.

Choose file, and these are some test images.
lockup1.bmp (167.1 KB)
normal1.bmp (90.3 KB)
poweron1.bmp (36.8 KB)

1 Like

yeah, I get it does seem a bit awkward as this is not strictly proffie but was interested in seeing what CFX are bringing to the market.
thanx for the link

I really like this idea, and it could also help open up the playing field to a lot of other people who may not be entirely comfortable with dealing with C/C++/Arduino/drivers/etc. If the saber configuration were externalized to a JSON/YAML file (or something else easily parseable) that can be dropped within the SD card that would make it a lot more accessible for others to drop-in new configurations just by swapping SD cards and not worrying about how to compile stuff.

Of course, for the ones who are comfortable with the current methods, keeping the current way of doing things in parallel to this would be good too :slight_smile:

I’ve personally been thinking about writing myself some helper Python scripts that can generate my config file based on a JSON input file, but seeing something like that built in natively would be great.

That’s not really what this idea is about though. This idea is about using images or animations as blade styles rather than the nested/layered template code we use today.

For an alternative, you might want to check out the parametric styles that we’re using in ProffieOS 6.x which lets you easily change many aspects of your style from your SD card or from WebUSB. More information can be found in the 6.x beta thread.