GUI Tab Sensitive Window Logging
As a minor change to the Bus Pirate Gui is the ability to log important messages to a particular tab, for example, SPI commands are logged to the log view on the SPI Tab. See Shots:

SPI logged to window.

ASCII Text Programmer Logging to window.
If you don’t know this wasn’t easy to do, I had to figure out how to redirect all debug, warning, and critical error messages to the windows. Currently the warning is still piped to <stderr>; warning and critical messages are printed to the window. Warning messages are used as regular status messages; while critical messages are used for error messages like when interface configuration fails. The Main problem was to define a message Handler in Qt4.5 you need to use a static, main()-level function; but since the message windows are buried 2-3 levels deep within the GUI its not easy to access them from main().
As it is now, the SPI window has a child called msgLog where we send the messages. The SPI window is child of QTabbedWidget which is a child of MainWidgetFrame which is child to MainWindow. So to send messages we need to register a message Handler in main() with qInstallMsgHandler(). To get to SPI_log we have to go from main() thru MainWindow –> MainWidgetFrame –> QTabbedWidget –> SPIGui —> msglog. If you don’t understand what I’m talking about, it’s how everything is related in pseudo-ObjectOriented Languages. I had to define when ever the focus changes from one tab to another to define a holder msgLog for sending messages.
Off-topic: By the way, there’s only one or two languages that are considered “true” OO Languages, one of which is Smalltalk. And no, Java can’t be considered a Real OO Language. Also, if you don’t know yet: I Hate Java! Why? Because most Computer Science Students only know and use it, they don’t know how to properly use a Pointer (which is how, at the basic level, all hardware works), and has way too much inconsistency with it’s Language Syntax and how everything interacts with everything else as defined by Sun.

Pingback from Bus Pirate ROM programmer GUI « Dangerous Prototypes
Time 2009/10/26 at 01:12
[...] after seeing James’ Windows EEPROM programmer in C. Check out the development here, here, and here. Current [...]