I won’t specify which one, but I have a contract to work on a certain handheld and I have to say that working on it sucks bigtime.

1. Adding files requires editing a makefile.
2. Testing any changes requires running the makefile, then loading up an entirely different IDE, then waiting for the hardware to reset, and lastly running it (in total a 30 second process, as opposed to maybe 2 seconds to do the same thing in Visual Studio)
3. This different IDE is just aweful. First among the problems is that setting breakponits doesn’t work consistently. Sometimes it put the breakpoint on the wrong line, wrong file, and sometimes it doesn’t hit the breakpoint anyway.
4. Watches similarly don’t work right.

So I’m reduced to adding what amounts to printf lines and recompiling to try to guess why things don’t work.

Worse, the library has no documentation other than a few code comments in the headers. The comments themselves aren’t very helpful, with comments like
// Calls the Start routine for TRL
void StartTRL(void);

(Actual 3 letters changed but same scenario). What the hell is TRL? No idea. No where ever does it say what that abbreviation stands for. These kind of short abbreviations are all over the place too. In one case they abbreviated a 6 letter word to the first 3 letters, totally obscuring the meaning until had to ask someone else.

Furthermore, things just don’t work. For example, there is a connection routine which has to go through like 9 internal stages. It goes through 8 of them and then just sits there. Why? Who knows. Their sample works and I copy/pasted the relevant parts. My guess at this point is threading, because in another case if I add a delay it works, and with no delay it doesn’t get past an earlier stage.

I’m sorely tempted to just dump this contract immediately, because it’s wasting my time and taking time away from working on my own game.

Average Rating: 4.8 out of 5 based on 218 user reviews.

Leave a Reply