QProg is an OS X, Windows, and *nix/X11 compatible software interface to the popular DIY line of PIC programmers sold by Kitsrus and is intended to be a cross-platform replacement for the software provided with the DIY kits.
After writing the Pocket software I received a few requests for a GUI version, and I finally got around to writing it. QProg is the result. Bear in mind that I whipped this up pretty fast (it only took two weekends to write the first version) so it may have a few rough edges.
Supported Platforms
QProg is written using the Open Source Qt toolkit and therefore should run on any platform that Qt runs on. Development is primarily on FreeBSD and MacOS X, although it should work just as well on Windows or any POSIX compliant system (Linux, etc).
Supported Programmers
Currently, all of the Kitsrus programmers utilizing protocol P018 are supported.
License
QProg and it's associated source code are Copyright 2005-2007 Brandon Fosdick and released under the BSD License.
Download
Chip Info File (In case QProg can't get to it for some reason)Latest Version (v0.4)
Installation
Follow the instructions below for your platform. Then, when using QProg for the first time, run the Update command in the Chip Info menu to retrieve the necessary chip info records. That's it. Let me know if you have any problems
- Mac OS X
- Windows NT/2K/XP
- Install the FTDI drivers if you haven't already
- Then, either extract the QProg archive to your Program Files folder or manually place the executable someplace more convenient (such as a folder on your Desktop).
- FreeBSD
As root...
- cd /usr/ports/devel/qprog
- make install clean
- Linux, etc
I don't have a Linux box of any flavor so there's no way for me to generate any of the multitudinous package types. So, you'll have to compile and install manually. If you do manage to make a package please send it to me and I'll post it here.
First you'll need to have Qt4 (or later) installed
Now compile QProg...
- tar zxf qprog.tgz
- cd qprog
- qmake
- make
- Copy the executable (qprog) to someplace in your path
Todo
- Add support for a serial boootloader
- Allow submitting device info to the server
- If configured to talk to a serial bootloader and the serial device is actually a USB converter, add the ability to send a reset command to the device for getting to the bootloader.
- Add support for HID style USB bootloaders
History
Version 0.5 - Pending [ OS X | Windows | Source ]
- Planned Changes
- Chip Info viewer/editor
- Support for reading and writing FTDI USB to serial converter EEPROM settings
- Installation Notes
- Known Issues
- None so far
Version 0.4 - Released July 23, 2007 [ OS X | Windows | Source ]
- Changes
- OSX: Automatic update checking using the Sparkle framework
- OSX: Qt4 is back to being dynamically linked because Trolltech now provides an installer for OSX.
- Upgrade to QextSerialPort 1.1
- Installation Notes
- MacOS X requires Qt4 to be installed first
- FreeBSD now has a port (devel/qprog)
- Known Issues
- None so far
Version 0.3 - Released March 3, 2006 [ OS X | Windows | Source ]
- Changes
- OSX: "New window on read" functionality added and enabled
- Last used programmer device is saved across sessions
- Remembers last five opened files
- Verify after program enabled
- Browse button opens directory of previously selected file, if any
- Verify button is enabled and functioning
- Linux: Programmer device node must be selected manually
- Checkbox states are saved across sessions
- Added a QSettings object to CentralWidget to speed up state changes
- Installation Notes
- Windows and MacOS X no longer require Qt4 (statically linked)
- All other supported platforms require Qt4
- Known Issues
- None so far
Version 0.2.1 - Released January 29, 2006 [ Windows ]
- This is a bug-fix release for Windows only. Other platforms are still at Version 0.2
- Changes
- Fixed a blocking I/O bug in QextSerialPort that only affected the Windows version
- Completely static linkage; no more external libraries
- Forcefully disable programming voltage after bulk erase
- Installation Notes
- Windows no longer requires Qt4 (statically linked)
- Other platforms should use previous version
- Known Issues
- If it's not listed as fixed, it's still an issue
Version 0.2 - Released January 26, 2006 [ OS X | Windows (Static, Shared) | Source ]
- Changes
- Added a statically linked version for win32 users who don't want to install Qt
- Chip info can be updated from a file downloaded from http://bfoz.net/projects/qprog/
- "New window on read" has been disabled until supporting code is written
- Read and Program now display progress dialogs
- A file dialog is presented when "Program" is clicked with no file selected
- Added an About menu item and a very basic dialog
- All instances of u_int8_t in kitsrus.cc replaced with uint8_t (for win32)
- Functions program_all, read and bulk_erase now error out on a bad reset
- kitsrus_t::open() now calls setTimeout(0,0) (for win32 compatability)
- Call Sleep() instead of usleep() on Win32
- Installation Notes
- OSX, FreeBSD, Linux: Requires Qt4
- Known Issues
- Intermittent serial port errors on Windows
Version 0.1 - Released January 18, 2006 [ OS X | Windows | Source ]
- Initial Release
- Installation Notes
- All platforms: Requires Qt4
- Known Issues
- "Verify" button doesn't work yet
- "Verify after programming" functionality hasn't been written yet
- "Open new window on read" functionality hasn't been written yet
- Reprogram on file change functionality hasn't been written yet
- Last used port isn't saved between sessions
- Last opened file isn't save between sessions
- No progress indicator during read/program operations
- Missing "About" menu item and dialog