# WhaleTeq SECG 4.0 SDK Changelog

**Test Environment:**
* Linux Kernel Version (Ubuntu): 6.8.0.49-generic
* Raspberry Pi Version: Raspberry Pi 4 Model B (4GB RAM)
* Raspberry Pi Linux Kernel Version: 5.10.103-v7l+ (32-bit), 6.1.21-v8+ (64-bit)
* macOS Version: macOS Sonoma 14.4.1

**IMPORTANT:**
1. the calling convention is _cdecl
2. (Linux/ Raspberry Pi/ macOS) if the devices can not be connected
   1. switch to root user   
   2. remove all the files - `/var/lock/whaleteq*.lock` (Linux) or `/private/var/whaleteq/lock/whaleteq*.lock` (macOS) and try again

## Version 5.12.3 - 2026-02-03
1. CHG: update the lock file path for macOS

## Version 5.11.8 - 2024-12-13
1. FIX: incorrect P wave amplitude in CAL05000/ CAL10000/ CAL20000
2. CHG: remove `GetUSBPort()`
3. CHG: added `GetSerialNumber()` to get serial number; remove `GetSerialNo()` and `GetHWInfo()`
4. CHG: remove `GetDCOffsetCommoneMode()`; use `GetDCOffsetCommonMode()` instead
5. NEW: added macOS library

**Important:**  
1. Removed API: `GetUSBPort()` `GetSerialNo()`  `GetHWInfo()` `GetDCOffsetCommoneMode()`

## Version 5.11.4 - 2023-07-11
1. NEW: added Linux and Raspberry Pi library

## Version 5.11.3 - 2022-07-18
1. CHG: update the maximum value of T wave amplitude to 5mV
2. CHG: update the range of pacing overshoot amplitude to -5mV~5mV
3. FIX: incorrect pacing duration when double pacing pulse is used

## Version 5.11.2 - 2021-11-09
1. CHG: remove Init(); use Connect(unsigned int portNumber, unsigned int millisecondsTimeout) or Init() instead
2. CHG: rename CloseSECG() api to Close()

**IMPORTANT:**
1. the device connection api is updated
2. the calling convention of ConnectedCallback callback is changed to _cdecl

## Version 5.11.1 - 2021-10-04
1. FIX: when the device becomes disconnected, the sdk still returns the previous device information

## Version 5.10.6 - 2021-09-02
1. FIX: failed to load ECG bin file by LoadECGbin()

## Version 5.10.2 - 2021-07-14
1. FIX: incorrectly supported range of SetFrequency() 

## Version 5.9.1 - 2020-12-25
1. Fix SetDCOffsetCommoneMode() typo.
2. Fix "unit:microvold(uV)" to "unit:millivold(mV)" in WhaleTeqSECG.h.
3. Support SECG Device Hot-Plug ablility.
4. Change FreqScan StopFreq lower bound from 0.05 to 0.01
5. Fix crash after FreeLibrary.

## Version 5.8.3 - 2018-08-24
1. Fix output signal halt after long time APIs combination control.

## Version 5.8.2 - 2018-07-20
1. Fix output signal halt after long time APIs combination control.
2. Remove "Console Mode" DLL and support single DLL for both "Console" and "Window" environment.

## Version 5.8.1 - 2018-05-10
1. Support "Output_InputDynamicRange" in OutputFunction_E for YY1079 600mV ramp test.
2. Fix "SetSpecialWave251(SpecialWave251_E spec)"(CAL serial waveform) output error.

## Version 5.7.2 - 2017-11-10
1. Extend "Pacing Duration" maxmum value from "2.0" to "3.0".
2. Support "void ResetSECG()" to reset all SECG parameters to default values.

## Version 5.7.1 - 2017-10-11
1. Fix "int SetDCOffset(int setting);" error under "VariableMode".
2. Support 64 bits "Dll for Console Mode Programming" version dll.

## Version 5.6.3 - 2017-02-03
Support 64 bits SDK. Reference "C#_interface\x64" and "C_library\x64".


## Version 5.6.2 - 2016-07-29
1. Support "int LoadECGtxt(wchar_t* file)" to load ECG File in TEXT format.
2. Support "int LoadECGbin(wchar_t* file)" to load ECG File in BINARY format.
3. Add "Output_ECG_File" in "enum OutputFunction_E" to play loaded ECG File signal.


## Version 5.6.1 - 2016-02-16
1. Change COM Port I/O from Synchronous to Asynchronous for performance enhancement.
2. Merge "aami*.txt" IEC 60601-2-27 raw data files.
3. Add "char* GetSDKVersion()" API to get the SDK version.
4. Extend supported OS range from "XP" to "Win10".


## Version 5.6.0- 2016-01-26
1. Fix Hysteresis waveform.
2. Correct the typo "Hysteresis".

