Rather than hard-coding a reflow profile, we went with a more flexible approach. Using 3 different commands (setpoint STEP, setpoint RAMP, input WAIT) you can piece together a sequence that gives you your desired result.
Different profiles are stored as files on the desktop side. One profile at a time may be loaded onto the osPID and executed. The profile is stored on the osPID EEPROM, so loading is only necessary when you wish to change the profile.
IO Card support
The previous version of the firmware was pretty much hard-coded for the digital output card and temperature input card. This firmware breaks out all the IO code into a separate file, where pre-compiler flags let you specify which cards are being used. This should simplify card-swaps and prototype-card usage.
The previous version of the firmware made awful use of the osPID’s resources. It used WAY more RAM than necessary, and only left 5k of free program space. In addition to adding a bunch of new features, the new firmware is much better on RAM usage, and leaves over 9k of free program space. This means that if you have the itch to hack the osPID, there’s actually some room for you to do so.
There’s always more work to be done, but I’m pretty happy with what we’ve managed to accomplish with this revision. As always, let us know if we messed up; everyone will benefit.