---------------------------------------------------- -- Firmware Changes between Ver1.50 and Ver1.60 -- ---------------------------------------------------- 1) BUGFIX: In Version 1.50, Cmd_U (in API mode only) returns an incorrect value for the "N" field in the response packet. 2) BUGFIX: In Version 1.50, storage and retrieval of data during serial communication would occasionally write to the wrong location in a buffer. The problem was that the code assumed unsigned pointer arithmetic, while the instruction required a signed pointer. Since storage and retrieval used the same (incorrect) arithmetic, there was seldom an observable problem. 3) DESIGN IMPROVEMENT: Version 1.60 has a change in the way that data is returned from Cmd_Q (in API and I2C2 command modes only). For more efficient serial communication during this PID Tuning Command, the PID Err Values are now returned 8 per packet instead of individually as in Version 1.50. This means that packets are now returned every 8*VSP msec (with 8 values) instead of once every VSP msec (with a single value). 4) DESIGN IMPROVEMENT: Version 1.60 has an improvement that affects the way that pending commands are handled. In version 1.50 commands that require motor reversal are generally held pending until the motor is ramped to a stop and this is still true in version 1.60. However in version 1.50 any new command (eg; Get Status) received while the motor was ramping to a stop would "cancel" the pending command leaving the request for motor reversal only partially complete (motor stopped). If the command source was from a pot or R/C receiver this was not an issue since the motor command would be repeated anyway. If the command was from a serial interface, this was an undesirable "feature". The reason for the behaviour is that the command interface was essentially "single buffered" (a new command overwrote the old command making it unavailable for repetition after the motor was stopped). Version 1.60 solves this problem by making the motor commands "double buffered". A pending command is now discarded only if the new command requires it to be. 5) DESIGN IMPROVEMENT: Version 1.60 adds a directional control bit "analogdir" for applications that use analog position encoders. This bit is analogous to the "aleadsb" bit for optical incremental encoders. The bit allows for software adjustment to get motor direction in sync with the mounting orientation of the sensor. In Version 1.50 the only recourse to deal with this issue was to reverse the motor leads or to change the sensor mounting orientation (eg; mount on opposing shaft). 6) DESIGN IMPROVEMENT: In Version 1.60 the serial communication buffers are increased in size (from 140 bytes to 200 bytes) making buffer overrun less likely. 7) DESIGN IMPROVEMENT: In Version 1.60 the factory default value for the RX1TO (Serial Receive Time Out) parameter has been increased from 100 msec to 200 msec. This better accomodates the possibly slow performance in a multi-tasking Windows environment. --------------------------------------------------------- -- Documentation Changes between Ver1.50 and Ver1.60 -- --------------------------------------------------------- Owner's Manual: Discussion of "analogdir" bit in the encoder section and Parameter Block sections. Getting Started Manual: Added mention of "analogdir" bit. API Manual: New design for Cmd_Q Response Packets (see (3) above) documented. I2C2 Manual: New design for Cmd_Q Response Packets (see (3) above) documented.