Added timeout support in firmware for r0.3
Fixed rounding bug in MATLAB single parameter update command (affects MATLAB r2009a)
Optimized timing system to count multiples of complete main loop cycles instead of microseconds.
Requires firmware and software client updates.
Modified MATLAB GUI units to pixels for cross-platform compatability
Minor syntax fixes in GUI background image
Fixed serial transmission bugs in MATLAB API, affecting transmission of custom pulse trains on OS X and Win XP
Modified 0_4 firmware to achieve a ~50us improvement in post-trigger stimulus latency by skipping cycle uniformity delay loop when not actively stimulating. Latency is now 50-80us.
-Fixed voltage to byte conversion in c++ and python clients
-Added RestingVoltage parameter for output channels - the voltage between phases, pulses and trains (previously fixed at 0V). This change affects firmware, MATLAB, python and c++ clients.
-Renamed v0.2 and 0.3 firmware so they're not "final"
Modified firmware to use hardware timer for cycle timing.
Marked reduction of cycle jitter.
- Fixed bug with hard-triggering custom trains of bursts
- In MATLAB client, forced monophasic pulses when sending a waveform.
Extended previous firmware update to r0.3
-Fixed a bug introduced with new hardware timing scheme in a previous update (reduces jitter in first pulse after trigger).
-Fixed COM port auto-detect and GUI layout in MATLAB, for Ubuntu 14
Added an "Op menu byte (=213)" before each serial transmission, to reduce interference from user apps that spam serial ports.
This especially helps with Ubuntu 14, which spams the port by default with an AT modem prompt (one byte in the prompt is a Pulse Pal op code! Other OSs don't do this - XP, Win7, OSX, Fedora...)
Now, any serial message that does not contain "213" followed by a valid op code byte, will be ignored.
-Reduced clock drift to 0.00002s / 10s with respect to NI acquisition card, by directly setting timer prescale and overflow instead of leaflabs "timer period" function (apparently broken?)
-Timer no longer adjusts period on trigger - always cycles at 50us / 20kHz. Timer preriod adjust added ~3us to first pulse.
-Software and firmware updated for 20kHz cycling. Minimum user settable cycle is still 100us, so that the minimum pulse can also reliably trigger the device.
-Fixed bug where biphasic pulses could be partially played if the pulse train end came first. Now the system looks ahead an entire pulse width (including all pulse phases)
Fixed bug introduced with new timing scheme -  if set by thumb joystick, time values were capped at only half of their intended range. Fixed so they once again range between 100us and 3600s.
-Changed repository name to PulsePal 1_0, reflecting the first post-beta hardware design.
-Added new circuit design file for version 1.0. (Improved ground plane, removed unnecessary resistors on output channels).
-Updated default settings in firmware, to load if EEPROM is blank (i.e. on first run), to reflect new 50us cycle period
-Added a new readme with a link to online documentation, explanation of repository contents, and a warning for commercial interests who didn't bother to read GPL 3.0.
-Updated enclosure engraving to v1.0
-Modified contour of rack mount wing
Fixed firmware version - firmware now reports correct version number.
Added dedicated folder with firmware used for precision and reliability measures in the Pulse Pal publication
Removed stray trace from PCB layout
Bug fix (in firmware): When Pulse Gated or TTL Toggle mode is used to stop stimulation during a pulse (instead of an interval), the linked output channels didn't return to their resting voltages.
With this update, Pulse gated and TTL toggle modes now work as intended.
Fixed initialization for version 1.0
ProgramPulsePalParam function in MATLAB client fixed - now checks proper range of valid param codes
-Under Windows XP, COM port auto-detect fails, possibly due to a different WMI command syntax. This update prompts the user to use the optional COM port argument when the OS is detected to be Win XP.