-
Notifications
You must be signed in to change notification settings - Fork 79
/
ChangeLog.txt
347 lines (347 loc) · 18.8 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
Version History
- 0.1.0: Converted many UD functions to Python using ctypes package.
- 0.2.0: Made linux support for Open, Read, Write, and driverVersion.
- 0.3.0: Made Mac support for Open, Read, Write, and driverVersion.
- 0.4.0 Wrote initial epydoc documentation.
- 0.5.0 December 12, 2006
- Added Get Driver Version for Linux.
- Made windows functions return an error when called by a Linux or Mac OS.
- Fixed a twos compliment problem with Read and Write functions.
- 0.5.1 January 8, 2007
- Fixed an error with eGetRaw which disallowed x1 to be a double array.
- Added a stream example program to the driver package.
- 0.5.2 January 23, 2007
- Added a DriverPresent function to test if the necessary drivers are
present for the wrapper to run.
- 0.6.0 February 6, 2007
- Added the LJHash function which is used for authorizing LabJack devices.
- 0.6.1 July 19, 2007
- Updated the documentation concerning the Mac support.
- 0.6.2 October 10, 2007
- Added Checksum functions to driver.
- Added windows functionality for write and read.
- Added example functions for sht commands and u3 feedback.
- 0.6.3 March 5, 2008
- Fixed TCP read and write error.
- 0.6.4 July 31, 2008
- Updated Examples/U3/u3.py.
- 0.7.0 November 18, 2008
- Modified listAll to display device information in a different, more
intuitive way.
- Added a Device class for simpler usage.
- openLabJack can now search for devices to open via ipAddress, localId, or
serialNumber.
- Put most functions into proper camel case notation.
- Removed large static function encapsulating all functions. Works as one
module now.
- Changed Read and Write to increase speed.
- Performed many other minor revisions.
- 0.8.0 December 3, 2009
- All changes made on GitHub up to this point.
- Added LJSocket support.
- U3/U6/UE9 now all auto-open on construction.
- 0.8.1 February 15, 2010
- All bug fixes and changes made on GitHub to date.
- Re-worked open, write, and read to be broken out into several functions.
- Re-work of open now allows the use of firstFound and devNumber for
Ethernet UE9's on Mac/Linux.
- Re-work of open also allows Windows User's to work with their UE9 over
Ethernet without the UD Driver installed.
- Added better support for up-and-coming devices, including adding bridge.py
to the list of installed modules.
- March 11, 2010
- All bug fixes and changes made on GitHub to date.
- Trying a new system of making regular tagged releases.
- Version numbers of LabJackPython are now dates.
- May 18, 2010
- Added lowlevelErrorToString to aid in mapping low-level errorcodes to
descriptions.
- Added better error reporting if LabJackPython can't connect to the Modbus
port on the UE9.
- Added better error reporting for U6s with *really* old firmware.
- Added a PWM example.
- Ctype's use_errno is only on Python 2.6, so added some try except blocks
so LabJackPython will still work with 2.5
- Added support for the SetDefaults command on the UE9 in Device class.
- Fixed a bug where Counters would return a tuple, not the expected result.
- Added support for the new DSP Feedback command on the U6.
- Added support for ReadDefaults in Device class.
- Added function readDefaultsConfig to read default state.
- The getFeedback function will now check if the packet you are trying to
send is too big, or if the response will be too long.
- Fixed a bug where the LJSocket parameter wasn't being passed along.
- Added code that sets the transaction ID for all Modbus packets.
NOTE FOR UE9s: You will need to upgrade to Comm firmware 1.50
- Fixed a bug where after opening a device with LJSocket, LabJackPython
would then try to open the device with the UD Driver. Thanks to Andres
Mejias for reporting the issue.
- Fixed a bug in softReset() and hardReset(). Thanks to Shawkat for
reporting the issue.
- streamStart() and streamStop() will raise exceptions if there is an error.
- Added example of how to post to CloudDot.
- Added K-Type Thermocouple example.
- Added basic Linux support for the U12.
- Added hexWithoutQuotes function to print USB packets in a nicer way. Also
updated any debug statement to use it.
- Removed the "Writing:" debug output.
- Fixed a bug where DAC0_16 was using 8 bits, not 16.
- Added functional UART support to the U6.
- Added better error messages for incorrect command bytes and when the UD
driver fails to load.
- Fixed a bug with ListAll on Unix where LabJackPython would fail trying to
open devices that were already opened.
- Added example for working with the DCA-10.
- Fixed a bug where transaction IDs were not being set when writing floating
point numbers over Modbus.
- Added error reporting to help people who don't upgrade their UE9s to Comm
Firmware 1.50.
- July 20, 2010
- Moved version history info into ChangeLog.txt.
- Settled on LABJACKPYTHON_VERSION to access version number
programmatically.
- Re-wrote the header to LabJackPython.py, u3.py, u6.py, ue9.py, u12.py, and
bridge.py
- Added a firmwareVersion attribute to the UE9 class.
- Corrected a typo in u3.py's configDigital and configAnalog.
- Removed print statement from every LJSocket scan.
- Added EnableClockStretching flag to I2C low-level commands for U3, U6, and
UE9.
- Added AddressByte argument to u3.py's i2c() method.
- Corrected a typo in LabJackPython's __listAllU6Unix().
- Added Unix requirement of outputSinDAC.py.
- Improved documentation of outputSinDAC.py.
- Added configAnalog() and configDigital() methods.
- Corrected an error in TimerConfig constructor.
- Removed SkyMote support from listAll.
- Added a check for zero length packets to checkBytes.
- Fixed a typo in the output of the streaming examples.
- Added support for streaming special channel 193 (EIO/FIO).
- Fixed some bugs in the export/import config functions.
- Fixed a bug in UE9's commConfig.
- Added import/export support for the UE9.
- Made name a property.
- Improved the documentation of U3 Feedback commands.
- Fixed GetDriverVersion to work with both the UD driver and the Exodriver.
- UE9 now has a getAIN function and Feedback will convert the binary to a
voltage.
- Added a streaming example that uses threads.
- September 20, 2010
- Made changes to exportConfig so that the written values will keep their
case.
- Moved setup.py out of the src directory.
- Added a getTemperature to the U3/U6/UE9 class.
- Renamed bridge.py to skymote.py
- getName/setName now use UTF-8 instead of a weird UTF-16 thing.
- Updated LabJackPython.py to support the new LJSocket scan format.
- Added a lock around assigning Transaction IDs.
- Added support for new Exodriver functions getDevCounts() and
openAllLabJacks().
- Updated streamTest-threading.py to use streamData() and be less confusing.
- Added a work-around for UE9s and Transaction IDs 64768 and 64769.
- Various improvements to skymote support, including spontaneous data.
- Fixed a bug in U12.py's eDigitalOut.
- April 13, 2011
- Added AddressByte to i2c function in ue9.py.
- Added better support for special channels in streaming.
- Fixed a typo in SetNetworkPassword.
- Added a function for pulling a big chuck of commands into individual
packets.
- Added how to parse a spontaneous data packet to Modbus.py.
- Fixed no U12 connected problems.
- Fixed ListAll for SkyMotes. Moved from serial number to MAC Address for
SkyMotes.
- Fixed some errors relating to SkyMote devices on Windows.
- Added U3 timer mode 14 support.
- Fixed getting calibration constants for U3s with hardware rev. < 1.30.
- Fixed UE9 Modbus over TCP on Windows.
- Added DAC and EEPROM address variables to LJTickDAC example.
- Turned off debugging by default in U12 class.
- Updated special channels in streaming.
- August 26, 2011
- Updated README file to include a U12 example and license information.
- Added U6 timer mode 14 support.
- Modified UE9 TCP open to create TCP sockets without a UDP broadcast when
IP address is specified (Linux/Mac OS X).
- Added NoStopWhenRestarting parameter to UE9 and U3 classes' i2c method,
and reordered i2c parameters so they are the same across UE9, U3 and U6
classes.
- Fixed a bug in the u3allio example where incorrect binary to voltage
conversions were taking place for channels > 3 on U3-HVs.
- Fixed the Handle parameter name in the AddRequest method.
- Fixed a LabJackException throw in U12.write. Now throws an U12Exception.
- October 22, 2012
- Fixed a U3 and U6 stream bug when SamplesPerPacket was less than 25.
- Changed UE9 TCP stream reads on Linux/MacOS X to return the packet as a
a string. Makes it consistent with all other stream reads.
- Added streaming support to the UE9 class.
- Updated stream examples to include the UE9.
- Added negative channel 32 support to U3 streaming methods.
- In the U3 stream examples, added the getCalibrationData call for
calibrated readings.
- Fixed U3 voltageToDACBits method to handle uncalibrated 16 bit
conversions and changed the formula to use nominal slope and offset.
- Fixed broken U6-Pro hi-res support.
- Added voltageToDACBits function to UE9 and U6 classes.
- Cleaned up and added some U6 class documentation.
- Fixed UE9 feedback function for DAC1.
- Fixed UE9 watchdogConfig and watchdogRead functions.
- Fixed how UE9-Pro calibration constants are applied when BipGain = 0 or
8 and Resolution < 18.
- Added resolution parameter to UE9 binaryToCalibratedAnalogVoltage method.
- Updated streamConfig function in classes. Added ScanFrequency and
deprecated SampleFrequency parameters.
- Updated streamTest.py to use ScanFrequency, 2 channels, and take both
scan and sample rates into consideration.
- Tweaked UE9 streamConfig and streamData.
- In streamData over TCP, packet buffering was implemented to return
packetsPerRequest*16 samples like over USB.
- Updated stream example to count packets instead of assuming all expected
packets arrived.
- Fixed U6 Timer Feedback command classes so all timers can be used.
- Fixed setDIOState member in the LabJackPython class.
- Removed UE9 TCP requirement of opening the Modbus port on Linux/Mac OS X.
- Now setting the socket timeout before opening TCP ports for faster open
errors.
- Added setDOState, getDIState and getDIOState methods to U3 and U6
classes.
- Fixed the U12 eDigitalOut method when setting D8 to D15 states.
- Fixed the U12 eDigitalIn method when reading D lines.
- Updated the UD driver (v3.25) constants in the LabJackPython module.
- Fixed configU3 to set TimerClockConfig, TimerClockDivisor and
CompatibilityOptions settings properly.
- April 24, 2014
- Updated the U3 and UE9 spi methods to return a dictionary. Done for
consistency.
- Updated the spi methods to check for response errors.
- Added the UE9 ipAddressFilter method and ue9IPAddressFilter.py example.
- Fixed the U6 writeMem and eraseMem methods.
- Fixed the LabJackPython setChecksum function. It now accepts commands of
at least 6 bytes.
- Removed the U6 DSP Feedback command class. Experimental feature was
removed from U6 firmware.
- Added the spi_sca3000.py example.
- Updated the voltageToDACBits methods to have a max/min on the return
value.
- Updated PWM-looping.py with U3 low-level commands.
- Updated the eraseMem methods to only accept a Boolean value for the
eraseCal parameter.
- Fixed the U3 writeCal method.
- Updated the device open error checks on Windows. Warnings no longer raise
an exception.
- May 26, 2015
- LabJackPython now refuses to install on unsupported Python versions.
- Fixed U12 watchdog method argument parsing. If the stateDn argument was
invalid, it would try to raise Value (undefined) instead of ValueError.
- Fixed U12 resetLJ method. This method was intended to call reset but
would always cause a NameError exception due to a typo.
- Fixed a stream bug where stopping and restarting the stream did not reset
the packet offset internal variable which could cause data processing for
incorrect channels.
- Changed the operating system detection to use sys.platform instead of
os.name.
- Fixed getDevCounts, openAllLabJacks, and GetResultSS on Windows.
- Added Cygwin support.
- Fixed a bug in openLabJack where some error conditions on Windows would
try to raise LabjackException (undefined) instead of LabJackException.
- Added string descriptions for low-level error codes 112 to 116.
- Fixed a bug in U6 where I2C responses with an odd number of bytes would
return an extra byte at the end.
- Fixed a bug in UE9 streamData where an incorrect variable name was being
used.
- Fixed a Windows bug in eGetRaw when the x1 parameter has a 64-bit pointer
address. The function now uses 32 and 64-bit safe eGetPtr UD function.
- Fixed the returned DAC values of the readDefaultsConfig method to little
endian.
- Fixed many Pyflakes warnings such as unused variables and unused imports.
- Removed use of "import *" from most modules.
- 2.0.0 January 23, 2019
- Moved the ctypes import after socket to prevent an "Aborted (core dump)"
exit error on Cygwin.
- _makeDeviceFromHandle function now gets/sets the U3's bootloaderVersion.
- Fixed the reset method for LabJackPython module's Device class.
- Updated the reset method of the Device class to perform a hard and soft
reset on Linux and Mac OS X like the Windows UD function ResetLabJack.
- The spi() method of U3, U6, and UE9 has changed. The keyword argument
"CSPINNum" has been renamed to "CSPinNum" to be consistent with the other
keyword arguments. The old "CSPINNum" will still work but is deprecated
and will be removed in a future version.
- Removed the u3SampleAndLogToCloudDot.py example. The CloudDot service this
example uses is no longer available.
- Updated the U6 streamConfig docstring.
- Fixed a bug in the U6 processStreamData method where high-resolution
calibration constants were being used on a U6-Pro by mistake when
calculating the voltage value.
- Replaced print statements with print function calls in the modules for
Python 3 compatibility.
- Updated LabJackException for Windows Python 3 compatibility.
- Updated U6 and UE9 i2c methods for Python 3 compatibility.
- Updated LJTick-DAC.py to use calibrated analog input readings and use the
same getAIN call to read analog inputs.
- Removed DCA-10 example as the product is discontinued.
- Updated u3allio.py to use calibration analog input readings.
- Added argument check to u3allio.py and u6allio.py.
- Updated Modbus methods in LabJackPython module for Python 3
compatibility.
- Updated Windows UD device open for Python 3 compatibility.
- Added timeout (in ms) functionality to the U12 read method.
- Fixed the U12 rawPulseout method so that it waits for the device response.
- Changed struct pack and unpack function usage in modules. They are now
imported and used directly.
- Removed SkyMote support, which includes skymote.py. The SkyMote products
did not make a release.
- Updated some checks in modules to use boolean instead of string
comparisons to improve performance a little.
- Updated _makeDeviceFromHandle function for the UE9 to get more
information.
- Updated setup.py to remove Python 2.5 support and add Python 3+ support.
- Updated setup.py to use setuptools when available.
- Added a full path Mac OS X Exodriver load attempt if normal load fails.
- Fixed the GetDriverVersion function.
- Renamed the Unix only outputSinDAC example to outputSinDacUnix.
- Added cross-platform outputSinDac example.
- Fixed the U12 asynch method.
- Fixed the BaudFactor calculation in the UE9 asynchConfig method.
- Updated the U6 asynchConfig method so that it returns a dictionary with
response info.
- Fixed the U3 configIO method so Counters are set properly.
- Fixed the U6 configIO method so EnableUART are set properly.
- Fixed U3 and U6 WaitShort and WaitLong documentation.
- Fixed the U12 aiBurst method so that the returned voltages list is
correct.
- Added device access/claim error detection to Exodriver open.
- Added exceptions to spi, async and i2c methods when send/receive bytes
are more than the U3, U6 and UE9 supports.
- Fixed spi methods for U6 and UE9 for Python 3.
- Updated version to 2.0.0 for PEP compliancy and a more standardized
semantic than the previous data based versioning.
- 2.0.1
- Updated stream reads with a longer timeout to prevent partial reads with
certain stream settings.
- 2.0.2
- Fixed SyntaxWarnings from Python 3.8.
- 2.0.3
- Updated Windows WindDLL/CDLL calls to include the dll file extension.
- 2.0.4
- Fixed the U3 and U6 stream ScanFrequency for 100 to 1000 Hz so it does not
use low-level settings that cause interupt overloads on the device.
- General U3 and U6 stream improvements with ScanFrequency and its low-level
stream clock and scan interval configuration.
- 2.0.5
- Fixed the spi, i2c and asynch methods to not change the arguments.
- 2.1.0
- Added sht3x.py example.
- Some documentation corrections.
- Updated U12 class to maintain the IO states and directions on Linux/Mac.
- Added support for .debug as a logging.Logger object.
- Added Windows UD Easy functions eAIN, eDAC, eDI, eDO, eTCConfig, and
eTCValues to the LabJackPython module.
- Updated the Device close method documentation for Windows clarification.
- U12 bug fixes for the rawAISample, rawAIBurst and rawSHT1X methods.
- Removed Python 2.6 support.
- Fixed the setName method for Python 3 compatibility.
- Fixed some Python 3 related bugs in the getName method.
- U3 and U6 optimizions for processStreamData and binary to analog
conversion functions.
- 2.2.0
- Added an optional loadCalibration parameter to the device open functions.
The open functions will now call getCalibrationData() by default.