This will be a bit of a niche pitting. If you have no idea what I’m talking about, move along.
I’m working on a project. I’ve build a rig in which I can mount an Etch-A-Sketch with the knobs connected by gears to two stepper motors. The stepper motors are connected to an Arduino microcontroller. Ideally, I’ll be able to control the Etch-A-Sketch with excellent precision, drawing anything that I can program with a series of XY coordinates.
Things like this never seem to go simply. The company I ordered the motors from sent the wrong size screws for connecting the motors to the mounts, that sort of thing. But I think all the hardware issues are behind me. I’ve had it running and drawing some simple figures. Results were promising.
And so I got to the point of really developing the code. As I said, I had simple commands working; but there are pieces of the code that I’d like to make reusable. Software developers would call that a library. If I want to draw different things, I can just code the specific coordinates, pass those numbers to functions within the library, and be happy.
Software developers use software to develop software. I need something that can edit text, confirm that the text is a valid program, and upload it to the microcontroller. None of those seem like they would be pushing the bleeding edge of what software can accomplish. Little did I know.
First I tried the native Arduino IDE. Worked for the small test program; is infuriating for anything more. “You want to edit a file that ends in .h, are you mad?” I still may end up using it to build and upload, I’ll just have to edit the library files somewhere else. Still, what the fuck?
So I searched online for other IDEs, (an Integrated Development Environment). Found one called MariaMole that looked promising. It acknowledges the existence of other file extensions, as long as they’re exactly where it expects them to be. Start a new project, and it copies everything related to it to a new directory, which sort of negates the reason for using one library shared by multiple projects. Close a project, and it not only closes it, it deletes everything from the disk.
Found one called UECIDE. When I try to open a file, it crashes. Turns out it actually wanted me to open a directory. It’s looking for a directory that contains a .ino file. If you have subdirectories there that contain .ino files you want to open? Forget it, you can’t get to them; it finds that highest level .ino and assumes that’s the one you want.
Not only are these things fucking broken, they’re fucking broken when doing fucking simple shit.
Does anyone make a tool for this that doesn’t fucking suck?