Stalled Iris 16 - RGB Vandal Button

Phuncz

Lord of the Boards
SFFn Staff
May 9, 2015
5,827
4,902
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
So just a short note where I'm standing right now: I've started to get back into the software side of things, and it's looking better every day. There's now a python (command line) application that allows to download configurations from the Iris 16 and I'm now working on making uploading work as well.

The main goal is to have most of the work done by the visualizer and the Iris itself, so that it's easy to write client applications that interface with them. This means that the firmware is starting to get close the micro's limits, I'm already at 80% Flash usage for the program code and 50% minimum SRAM usage during runtime.

On the other hand, the Python app is literally 160 lines of code right now including comments, so that's pretty cool.

Because downloading and installing something is not necessarily a good solution, I also looked into browser extensions. And lo and behold, Chrome actually offers API for direct communication with the serial port! So that sounds like a very good option as well. You just install the plugin in your browser and can then directly upload and download from the web-app (which could be made downloadable as well for offline use).

To make sure that all software dealing with the Iris is compatible, I've also rewritten the basic data structure in Protobuf, so that there is one standard definition of how the whole business with Cues, Schedules and Periods is to be stored and transmitted. It's already been a huge help to have this.

Today I'm also doing my tax report, which goes a huge way demonstrating how much money I put into this during the last year without getting a single buck out yet. Fun for the whole family!
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
I hope it won't ruin your family happiness :)

Haha no worries, don't have any responsibilities apart from my dog yet, so I can spend as much as I'm comfortable with :D

We can make you a card-holding club member!

I think everyone in this club already has a few too many cards ;)

Yeah the software side of things can be a real PITA :p

Actually, I love working on it and making sure that everything is going to be re-usable and maintainable in the future. It's just another form of engineering, really.

I'm using Processing for my GUI, but I like the chrome extension route.

Thanks for the pointer, though I'm not interested in learning another language at this point. I'm already juggling 5 (7 if you count HTML and CSS) for this project, that's plenty.

@iFreilicht when you get these buttons working count me in for 100pcs

Sent you a PM :)
 

EdZ

Virtual Realist
May 11, 2015
1,578
2,107
Actually, the button is less than 2cm tall, so maybe profile wouldn't have to be that tall if cabling can be figured out. Amd on a normal keyboard, key spacing is 19.05mm, so a 16mm vandal switch might not be that big of a problem. Wanna try making that a thing? ;)
...Put me down for a 105-key order (well 106, need a power button too). The RGB keyboard to end all RGB keyboards must exist! In 1800 layout, because SFF.
 

Biowarejak

Maker of Awesome | User 1615
Platinum Supporter
Mar 6, 2017
1,744
2,262
Actually, I love working on it and making sure that everything is going to be re-usable and maintainable in the future. It's just another form of engineering, really.
Oh don't get me wrong, I find it very enjoyable. Just gives me lots of headaches when things don't work the way I expected. Usually remedied by a few hours researching. :) Definitely is another form of engineering.
Thanks for the pointer, though I'm not interested in learning another language at this point. I'm already juggling 5 (7 if you count HTML and CSS) for this project, that's plenty.
Understandable. It's basically just Java, but that has never been my favorite. The reason I went this route was purely so I could finally make a standalone program. :)
 

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
Oh don't get me wrong, I find it very enjoyable. Just gives me lots of headaches when things don't work the way I expected. Usually remedied by a few hours researching. :) Definitely is another form of engineering.

Oh I see, didn't quite get that the first time around.


As a Python3 enthusiast, I loathe Javas verbosity with a passion. :D C and C++ as well. So many wasted lines for boilerplate code...

The reason I went this route was purely so I could finally make a standalone program. :)

Well it's certainly a very smooth way to make a standalone program, no doubts about that. But there's certainly others as well. Even with Python on windows, it's possible to package an application (GUI or no) as an .exe that doesn't require the user to install the Python interpreter first. May give headaches though. The nice thing about something like Processing is that it's so self-contained.
 
  • Like
Reactions: Biowarejak

HeroXLazer

King of Cable Management
Sep 11, 2016
707
476
...Put me down for a 105-key order (well 106, need a power button too). The RGB keyboard to end all RGB keyboards must exist! In 1800 layout, because SFF.
HEY, that's too big, make a 40%, I'm using a MiniVan right now. That's going to look amazing, and it's going to cost a fortune...
 
  • Like
Reactions: Biowarejak

CC Ricers

Shrink Ray Wielder
Bronze Supporter
Nov 1, 2015
2,233
2,556
Oh don't get me wrong, I find it very enjoyable. Just gives me lots of headaches when things don't work the way I expected. Usually remedied by a few hours researching. :) Definitely is another form of engineering.

Understandable. It's basically just Java, but that has never been my favorite. The reason I went this route was purely so I could finally make a standalone program. :)

I used to work with Processing, started in college. I could export Java applets to make Processing code run on the web. Though I just did that kind of stuff years ago and now use JavaScript to make anything interactive on the web.
 
  • Like
Reactions: Biowarejak

iFreilicht

FlexATX Authority
Original poster
Feb 28, 2015
3,243
2,361
freilite.com
I used to work with Processing, started in college. I could export Java applets to make Processing code run on the web. Though I just did that kind of stuff years ago and now use JavaScript to make anything interactive on the web.

TypeScript masterrace! I realize it's just next-level linting and loads of syntactic sugar, but damn if it doesn't feel nice to write.