title | WhaleTeq SECG5.0 SDK Changelog

# WhaleTeq SECG 5.0 SDK Changelog

Limitation:

1. only when using single pacing can the pacing duration be set to below 0.1 ms
2. only support outputting ECG + Pacing (Single) + Respiration signals; double pacing is not supported

IMPORTANT:

1. the calling convention is _cdecl
2. only supported FW version 1.21.9 and later
3. (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 1.2.5.5 - 2026-06-30

1. FIX: failed to control multiple devices

## Version 1.2.5.4 - 2026-06-26

1. FIX: occasional hang when controlling the respiration function
2. FIX: hang when the device is unplugged on Linux

## Version 1.2.4.8 - 2026-04-10

1. CHG: Auto stop output when SECGFree
2. FIX: Incorrect sample rate for frequency scan test when connecting a respiration module

## Version 1.2.4.3 - 2026-02-05

1. CHG: update PPG DC range to 500mV ~ 3000mV (PPG module WAP2112)

## Version 1.2.4.2 - 2025-09-11

1. CHG: added support WAP2112 PPG module
2. CHG: moved PPG AC below DC
3. FIX: the delay between pacing and overshooting
4. NEW: added SECGEnableDynamicLEDStrength() for WAP2012 and WAP2112 PPG module
5. FIX: the ECG signal is not outputted if the BaselineResetTest is enabled

IMPORTANT:

1. By default, PPG AC is below DC. Therefore, from this version onward, the measured SpO2 values may differ slightly from previous versions.

## Version 1.2.3.3 - 2025-04-07

1. FIX: fail to connect by `SECGConnect()` if portNumber is specified

## Version 1.2.3.1 - 2024-11-21

1. CHG: clear device information after device is disconnected
2. NEW: added play data synchronization functionality

## Version 1.2.2.1 - 2024-08-25

1. CHG: change API name "SECGExternalRespiratoryIsAvailable" to "SECGRespirationModuleIsConnected"
2. NEW: added support to load respiration raw data (only supported when respiration module is connected)

IMPORTANT:

1. When outputting ECG + Pacing (Single) + Respiration, the ECG voltage and the pacing amplitude is limited to +/- 20mV
2. ECG + Pacing (Double) + Respiration is not supported; the output signal will produce unexpected results

## Version 1.2.1.7 - 2024-05-30

1. NEW: added support respiration module (only supported FW version 1.3.31.04 and later)
2. CHG: modify the version definition; change from 2.1.7 to 1.2.1.7

## Version 2.1.4 - 2024-03-04

1. CHG: update SECGSetRespiration() - the variation unit is milli-ohm; the baseline unit is ohm, not enum type
2. CHG: update the range of pacing duration to 0.03ms to 3ms (only supported FW version 1.3.22.12 and later)
3. CHG: added support ECG noise frequency - 100/ 120/ 150/ 180/ 200/ 240 Hz

## Version 2.0.15 - 2023-10-24

1. NEW: Support PPG module
2. CHG: Update all API names: Add prefix "SECG"
3. CHG: Improve the performance of connecting to device
4. CHG: Remove RegisterDisConnectedCB()
5. CHG: Remove GetUSBPort()
6. CHG: Change pacing overshoot waveform to type A (IEC60601-2-27:2011 p.35)
7. CHG: Change API name "SetStandardWaveformLoop" to "SECGSetSpecialWaveformLoop"
8. FIX: Incorrect frequency variety of ECG frequency modulation
9. FIX: Incorrect P wave amplitude of CAL waveform
10. FIX: Setting respiration apnea time to 60 seconds will fail

## Version 1.4.3 - 2022-12-14

1. Update sample code
2. Add API "DisableRespireAlgorithm"
3. Fix that GetUSBPort always get "COM0"
4. Fix pacing overshooting waveform
5. Fix the time of output callback might not start from 0
6. Fix Special Waveform channel wouldn't be reset after "ResetSECG" is called
7. Fix the pacing start position in non-ECG waveform
8. Fix output might stop when setting apnea
9. Fix customized T wave duration issue
10. Fix SyncFreqCB didn't callback frequency value during baseline overload test

## Version 1.3.1 - 2022-04-22

1. FIX: pacing and overshooting waveform

## Version 1.2.0 - 2022-01-07

1. Improve the connection performance on Windows, and the following APIs are modified:
   - bool ConnectSECG(DeviceConnectedCB cb):

     > Deprecated, it will always return false from now on. Please use AutoConnectSECG instead.

   - bool ConnectSECGWithCOMPort(DeviceConnectedCB cb, unsigned int COMPort):

     > Deprecated, it will always return false from now on. Please use AutoConnectSECG instead.

   - bool AutoConnSECG(DeviceConnectedCB cb, unsigned int timeout):

     > Deprecated, it will always return false from now on. Please use AutoConnectSECG instead.

   - bool InitSECG():

     > Modified, stability improved, and the instruction has been updated.

   - bool AutoConnectSECG(DeviceConnectedCB cb, int timeout, unsigned int COMPort):

     > Added, it's a new and safer function which establishes an asynchronous connection. It can be canceled by calling CloseSECG().

   - void RegisterDisConnectedCB(DeviceDisconnectedCB cb):

     > Added, it's used to register a callback function to handle when the device lose its connection.

2. Fix NST noises issue, and now it can be used without the noise files.
3. Fix the noise of pacing waveform of specific parameters.

## Version 1.1.1 - 2021-11-12

1. Fix the bug of "SetBaselineResetTest"
2. Improve the maximum sample rate to 20kHz
3. Add APIs "SetSampleRate" and "GetSampleRate"
4. Add parameter on "RegisterTimeAmpCB" and "RegisterPacingTimeAmpCB"

## Version 1.0.19 - 2021-08-25

1. Increase the accuracy of pacing overshoot amplitude to 0.01mV.

## Version 1.0.18 - 2021-07-21

1. Fix IEC60601-2-47 HRV pattern 1
2. Fix Base Line Overload Test bug
3. Implement noise on ANE20000
4. Auto fit the sign of overshooting amplitude
5. Add NST noise support
6. Add API "SetStandardWaveformLoop", "SetFileLoop" and "ConnectSECGWithCOMPort"
7. Improve performance and stability

## Version 1.0.12 - 2020-11-04

1. Initial version