Soft Service Company

Soft Service Company

The main stream of the Soft Service Company is a software development for a wireless communications.

Currently Soft Service Company is well-known amongst software developers around the world and has the faultless reputation as the reliable partner. The permanent perfection of our products allows your company to be a leader in the software development for your wireless communications needs. Soft Service Company sees clients as partners and if you are looking for a reliable partner, if you need to

WiFi Framework - Easy WiFi Support for Your Applications 10/04/2024

WiFi Framework 7.10.25:
* New error code: WCL_E_WIFI_HN_OPEN_IP_SETTINGS_FAILED;
* New error code: WCL_E_WIFI_HN_READ_IP_FAILED;
* New error code: WCL_E_WIFI_HN_FEATURE_NOT_SUPPORTED;
* New error code: WCL_E_WIFI_HN_GET_IP_TABLE_FAILED;
* New error code: WCL_E_WIFI_HN_PEER_NOT_FOUND;
* wclWiFiHostedNetwork: fixed issue with starting Hosted Network if it was disabled (may require administrative rights);
* wclWiFiHostedNetwork: GetState method now can be called without opening the Hosted Network;
* wclWiFiHostedNetwork: SetState method now can be called without opening the Hosted Network;
* wclWiFiHostedNetwork: reading local IP address;
* wclWiFiHostedNetwork: reading connected peer IP address;
* C++ Edition: WinAPI definitions updated;
* Compatibility update.

WiFi Framework - Easy WiFi Support for Your Applications WiFi Framework provides an easy access to the WiFi features on Windows desktop platforms

Bluetooth Framework - Easy Bluetooth Support for Your Applications 12/02/2024

Bluetooth Framework 7.17.9

* VCL Edition: RAD Studio 12 support;
* VCL Edition: new data type SByte;
* VCL Edition: wclBluetoothLeBeaconWatcher events declarations have been changed; ShortInt (Delphi) or char/signed char (CBuilder) data type changed to the new SByte data type;
* VCL Edition: fixed not able assign wclBluetoothLeBeaconWatcher event handler in design time when Bluetooth Framework used with CBuilder;
* Bluetooth LE: appearance constants updated;
* Bluetooth LE: GAP appearance UUID definitions;
* Bluetooth LE: GATT services UUID definitions;
* Bluetooth LE: GATT characteristics UUID definitions;
* Bluetooth LE: GATT descriptors UUID definitions;
* BeaconsWatcher: Parsing TX Power advertisement frame parsing;
* BeaconsWatcher: Appearance advertisement frame parsing;
* AudioSwitcher: Get default audio device for given Role and Data Flow;
* Extended error decoding when setting Bluetooth LE scan parameters;
* Fixed bug when on some machines changing Bluetooth LE scan parameters returns WCL_E_BLUETOOTH_OPEN_RADIO_FAILED;
* Fixed bug with crash during enumerating remote Classic Bluetooth device services;
* Fixed incorrect Mixed device type detection;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_DRIVER;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_PATH;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_ACCESS_DENIED;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_DEVICE_NOT_FOUND;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_IN_USE;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_PARAM;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_INVALID_NAME;
* New error code: WCL_E_BLUETOOTH_OPEN_RADIO_COUNT_LIMIT;
* New error code: WCL_E_AUDIO_SWITCHER_GET_DEFAULT_DEVICE_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_GET_DEVICE_ID_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_DEFAULT_DEVICE_NOT_FOUND;
* New demo shows how to connect to more than one GATT enabled device in UI app with threads.

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

06/11/2023

Bluetooth Framework 7.17.5

* GattServer: fixed issue with not restarning Server after client disconnectiong;
* GattServer: fixed issue when server does not restart advertising after client disconnectiong;
* GattServer: fixed issue when re-connecting to server rejected after client disconnected;
* GattServer: fixed issue with incorrect event orders;
* GattClient: workaround for data sequence broken issue if data sent too often using notifications;
* C++ Edition: fixed bug when BLE devices can not be discovered.

23/10/2023

Bluetooth Framework 7.17.4

* GattClient demo application updated for better show Bluetooth Framework GATT features;
* wclBluetoothRadio: EnumPairedDevice now can return only LE or only Classic devices (or all);
* Audio Switcher error codes changed (refer to Errors List);
* .NET Edition: Audio Switcher error codes moved to wclAudioErrors class (wclAudio namespace);
* Delphi: Audio Switcher error codes moved to wclAudioErrors.pas file;
* CBuilder: Audio Switcher error codes moved to wclAudioErrors.hpp file;
* C++ Edition: Audio Switcher error codes moved to wclAudioErrors.h file (wclAudio namespace);
* Delphi: TwclAudioSwitcher class moved to wclAudio.pas file;
* CBuilder: TwclAudioSwitcher class moved to wclAudio.hpp file;
* .NET Edition: wclAudioSwitcher class moved to wclAudio namespace;
* C++ Edition: CwclAudioSwitcher class moved to wclAudio.h file (wclAudio namespace);
* Audio Switcher error codes changed;
* Common Audio Framework error codes changed;
* New class wclAudioMeter allows to monitor audio volume level;
* New class wclAudioVolume allows to control audio volume;
* New AudioVolume demo;
* New error code: WCL_E_AUDIO_METER_GET_PEAK_VALUE_FAILED;
* New error code: WCL_E_AUDIO_METER_CREATE_FAILED;
* New error code: WCL_E_AUDIO_VOLUME_CREATE_FAILED;
* New error code: WCL_E_AUDIO_VOLUME_GET_VOLUME_FAILED;
* New error code: WCL_E_AUDIO_VOLUME_SET_VOLUME_FAILED;
* New error code: WCL_E_AUDIO_VOLUME_GET_MUTE_FAILED;
* New error code: WCL_E_AUDIO_VOLUME_SET_MUTE_FAILED.

https://www.btframework.com

Bluetooth Framework and Bluetooth Audio Devices 11/09/2023

Short description of the Bluetooth Framework AudioSwitcher: https://www.btframework.com/bluetoothaudio.htm

Bluetooth Framework and Bluetooth Audio Devices Bluetooth Framework and Bluetooth Audio Devices

Bluetooth Framework - Easy Bluetooth Support for Your Applications 05/09/2023

Bluetooth Framework 7.17.0 released

Now it allows to control Bluetooth Audio devices: enumerates, change system default, connect and disconnect.

Full changes list:

* Microsoft: Device type reading code update for better device type detection;
* VCL Edition: Fixed build issue with CBuilder demos;
* Common Microsoft API definitions updated;
* New error code: WCL_E_AUDIO_SWITCHER_CLOSED;
* New error code: WCL_E_AUDIO_SWITCHER_OPENED;
* New error code: WCL_E_AUDIO_SWITCHER_NOT_OPENED;
* New error code: WCL_E_AUDIO_SWITCHER_COM_INIT_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_CREATE_ENUMERATOR_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_REGISTER_EVENT_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_ENUM_ENDPOINTS_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_GET_ENDPOIN_COUNT_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_CREATE_CONFIGURATOR_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_SET_DEFAULT_DEVICE_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_FEATURE_NOT_SUPPORTED;
* New error code: WCL_E_AUDIO_SWITCHER_DEVICE_NOT_FOUND;
* New error code: WCL_E_AUDIO_SWITCHER_INVALID_DEVICE;
* New error code: WCL_E_AUDIO_SWITCHER_DEVICE_CONNECTED;
* New error code: WCL_E_AUDIO_SWITCHER_DEVICE_DISCONNECTED;
* New error code: WCL_E_AUDIO_SWITCHER_CREATE_TOPOLOGY_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_GET_CONNECTORS_COUNT_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_CONNECT_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_DISCONNECT_FAILED;
* New error code: WCL_E_AUDIO_SWITCHER_NO_CONNECTORS_FOUND;
* New wclAudioSwitcher class;
* Enumerate Audio Devices;
* Monitor Audio Device states;
* Changing system default Audio Device;
* Connect to already paired Bluetooth Audio Device;
* Disconnect from connect Bluetooth Audio Device;
* New AudioSwitcher demo application.

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

Wireless Communication Library - Adds Bluetooth, IrDA and WiFi Support Into Your Applications 04/09/2023

I finally did it! The default audio device changing feature is now here. Finally Bluetooth Framework allows to select/change system default audio device and to connect to and disconnects from already paired Bluetooth Audio device. New version should be available in a couple of days.

Wireless Communication Library - Adds Bluetooth, IrDA and WiFi Support Into Your Applications Wireless Communication Library - the ultimate solution for software developers who need support for Bluetooth, IrDA, WiFi, Wi-Fi, WLAN, Serial ports and gaming feautes

WiFi Framework - Easy WiFi Support for Your Applications 18/05/2023

WiFi Framework 7.10.20

What's new:

* Definitions updated for support latest authentication and encryption algorithms;
* New error code: WCL_E_WIFI_RES_NO_VISIBLE_AP;
* wclWiFiEvents: new event OnLinkDegraded;
* wclWiFiEvents: new event OnLinkImproved.

https://www.btframework.com/wififramework.htm

WiFi Framework - Easy WiFi Support for Your Applications WiFi Framework provides an easy access to the WiFi features on Windows desktop platforms

20/04/2023

Framework .NET Edition updated. All about and (yes, I am going to say it again: cross-platform programming is a myth. You will never get it working good on all platforms. Better to concentrate on one and make it the best). So what was changed:

* Switched from .NET Mutex to native Win32 Mutex (because / / knowns nothing about named synchronization objects and expecialy about Mutex);
* Switched from .NET Events to native Win32 events (again, / / knowns nothing about named synchronization objects);
* Code refactoring (just to do that);
* Fixed issue with Unity IL2CPP build (library's source code required for correct IL2CPP compilation) (aha, IL2CPP knows nothing about FunctionPointer delegate attribute, but Mono does).

Interesting thing that if you just Mono all works fine. The problems begin once you switches to IL2CPP. Why? Who knows.

Bluetooth Framework - Easy Bluetooth Support for Your Applications 10/04/2023

Framework 7.16.19 has just been released

What's new in this release:

* GATT Client: OnConnectionPhyChanged event (Windows 11);

* GATT Server: reading connection PHY (Windows 11);

* GATT Server: reading connection parameters (Windows 11);

* GATT Server: changing connection parameters (Windows 11);

* GATT Server: connection parameters changed event (Windows 11);

* GATT Server: connection PHY changed event (Windows 11);

* GATT Server demo updated to show how to read connection parameters;

* GATT Server demo updated to show how to read connection PHY;

* WCL_E_BLUETOOTH_LE_GATT_SERVER_RESPONSE_ALREADY_SEND => WCL_E_BLUETOOTH_LE_GATT_SERVER_RESPONSE_ALREADY_SENT

* New error code: WCL_E_BLUETOOTH_LE_CLIENT_NOT_CONNECTED;

* New error code: WCL_E_BLUETOOTH_LE_SUBSCRIBE_FAILED;

* New error code: WCL_E_BLUETOOTH_LE_UNSUBSCRIBE_FAILED;

* C++ Edition: fixed bug when Write Client Configuration Descriptor (Subscribe) failed on Windows 11;

* .NET Edition: fixed freezing issue when closing console application that uses Bluetooth Framework;

* .NET Edition: fixed bug when BLE devices was not discovered on Windows 10 IoT Core platform;

* .NET Edition: fixed bug when not all BLE advertisements were captured on Windows 10 IoT Core platform.

https://www.btframework.com/bluetoothframework.htm

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

GitHub - btframework/ErrorToText: Shows how to use wclGetErrorInfo function 30/03/2023

Framework 7.16.18 with much better Server implementation:

• new class wclGattLocalCharacteristicReadRequest: the class provides information about GATT server characteristic value read request and allows to respond to the request with data or with error code;
• new class wclGattLocalCharacteristicWriteRequest: the class provides information about GATT server characteristic value write request and allows to receive data provided by a GATT client and to respond to the request processing result if Write With Response operation executed;
• wclGattLocalCharacteristicValue class removed;
• GATT server OnRead even changed: now it takes the wclGattLocalCharacteristicReadRequest object as a Request parameter that provides more information about read operation and allows to control request processing;
• GATT server OnRead even changed: the Value parameter removed;
• GATT server OnWrite even changed: now it takes the wclGattLocalCharacteristicWriteRequest object as a Request parameter that provides more information about write operation and allows to control request processing;
• GATT server OnWrite even changed: the Data and Size parameters removed;
• GattServer demo updated to show how to work with Long Characteristic read and write operations;
• New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_SEND_RESPONSE_FAILED;
• New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_WRITE_WITHOUT_RESPONSE;
• New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_RESPONSE_ALREADY_SEND.

These changes require some small modifications in your code: you need to change GattServer OnRead and OnWrite event handlers. But these changes allows to control read and write operations. Now it allows to correctly process Long Read as well as Long Write operations and, in case of Write With Response, allows to check data and reply with error code if data is incorrect. New OnRead event implementation allows to reject read operation if something is wrong, for example, if client does not passed authentication or something like that.

GattServer demos were updated to show how to use these new features so before changing your code take a look on those demos. The demos also includes one more readable characteristic and shows how to decide which one was requested to read: one sends "short" data and other one sends "long" data.

The writable characteristic from the GattServer demos now includes "Writable Without Response" flag so you can test long and short write operations as well as Write With and Write Without Response operations.

Also please do not forget that the library package now includes the errors.xml file that can be used locally for error to test translation and can be shipped with your application if needed. Sample application that show how to translate WCL error code to human readable text can be found by this link:

GitHub - btframework/ErrorToText: Shows how to use wclGetErrorInfo function Shows how to use wclGetErrorInfo function. Contribute to btframework/ErrorToText development by creating an account on GitHub.

Bluetooth Framework - Easy Bluetooth Support for Your Applications 22/03/2023

We found critical issue in Framework and the fix and some other changes is now available:

* WCL_E_BLUETOOTH_LE_GET_ADV_PARAMS_FAILED error code removed;
* WCL_E_BLUETOOTH_LE_RESET_ADV_PARAMS_FAILED error code removed;
* New error code: WCL_E_BLUETOOTH_LE_NOTHING_ADVERTISE;
* New error code: WCL_E_BLUETOOTH_LE_TOO_MANY_ADVERTISEMENTS;
* wclBluetoothLeAdvertiser: Number of concurrent advertisements limited to 3 but with Microsoft it is better to have 2;
* wclBluetoothLeAdvertiser: OnAdvertisingBegin event removed;
* wclBluetoothLeAdvertiser: OnAdvertisingEnd event removed;
* wclBluetoothLeAdvertiser: OnAdvertisingError event removed;
* BLED112: Bluetooth LE advertisement reworked to make it more stable;
* Microsoft: Bluetooth LE advertisement reworked to make it more stable;
* Microsoft: fixed issue when MAC changed for each advertisement;
* C++ Edition: code refactoring, use properties instead Get_ and Set_ methods.

https://www.btframework.com/bluetoothframework.htm

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

18/03/2023

Yesterday we released Framework version with the feature that allows to change Bluetooth LE scan parameters in easy way.

More information can be found by this link: https://www.btframework.com/blescanparams.htm

Bluetooth LE Scan Parameters Bluetooth Framework - Bluetooth LE Scan Parameters

Bluetooth Framework - Easy Bluetooth Support for Your Applications 13/03/2023

We have just released new version of Framework (7.16.15). Not too big changes, only what we were asked by our customers:

* wclBluetoothRadio: new property LeSupported;

* wclBluetoothRadio: new property ClassicSupported;

* wclBluetoothManager: Fixed issue if the OnStatusChanged event called before the AfterOpen event

the Radio object passed to the OnStatusChanged event is not in the radios list;

* wclBluetoothManager: Fixed issue if the OnStatusChanged event called after BeforeClose event the

Radio object passed to the OnStatusChanged event can be destroyed before OnClosed event.

https://www.btframework.com/bluetoothframework.htm

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

18/02/2023

#𝐖𝐢𝐅𝐢 𝐅𝐫𝐚𝐦𝐞𝐰𝐨𝐫𝐤 𝐮𝐩𝐝𝐚𝐭𝐞:

• 𝐰𝐜𝐥𝐈𝐬𝐔𝐬𝐞𝐫𝐀𝐝𝐦𝐢𝐧 reworked for IoT support;
• Fixed Windows IoT Core detection issue;
• Error code 𝐖𝐂𝐋_𝐄_𝐖𝐈𝐅𝐈_𝐃𝐈𝐑𝐄𝐂𝐓_𝐃𝐄𝐕𝐈𝐂𝐄_𝐒𝐓𝐀𝐑𝐓_𝐆𝐄𝐓_𝐏𝐀𝐈𝐑𝐄𝐃_𝐓𝐇𝐑𝐄𝐀𝐃_𝐅𝐀𝐈𝐋𝐄𝐃 changed to 𝐖𝐂𝐋_𝐄_𝐖𝐈𝐅𝐈_𝐃𝐈𝐑𝐄𝐂𝐓_𝐃𝐄𝐕𝐈𝐂𝐄_𝐖𝐀𝐓𝐂𝐇𝐄𝐑_𝐒𝐓𝐀𝐑𝐓_𝐆𝐄𝐓_𝐏𝐀𝐈𝐑𝐄𝐃_𝐓𝐇𝐑𝐄𝐀𝐃_𝐅𝐀𝐈𝐋𝐄𝐃;
• Error code 𝐖𝐂𝐋_𝐄_𝐖𝐈𝐅𝐈_𝐃𝐈𝐑𝐄𝐂𝐓_𝐃𝐄𝐕𝐈𝐂𝐄_𝐒𝐓𝐀𝐑𝐓_𝐔𝐍𝐏𝐀𝐈𝐑_𝐓𝐇𝐑𝐄𝐀𝐃_𝐅𝐀𝐈𝐋𝐄𝐃 changed to 𝐖𝐂𝐋_𝐄_𝐖𝐈𝐅𝐈_𝐃𝐈𝐑𝐄𝐂𝐓_𝐃𝐄𝐕𝐈𝐂𝐄_𝐖𝐀𝐓𝐂𝐇𝐄𝐑_𝐒𝐓𝐀𝐑𝐓_𝐔𝐍𝐏𝐀𝐈𝐑_𝐓𝐇𝐑𝐄𝐀𝐃_𝐅𝐀𝐈𝐋𝐄𝐃;
• Error code 𝐖𝐂𝐋_𝐄_𝐖𝐈𝐅𝐈_𝐃𝐈𝐑𝐄𝐂𝐓_𝐃𝐄𝐕𝐈𝐂𝐄_𝐒𝐓𝐀𝐑𝐓_𝐍𝐀𝐌𝐄_𝐑𝐄𝐒𝐎𝐋𝐕𝐈𝐍𝐆_𝐓𝐇𝐑𝐄𝐀𝐃_𝐅𝐀𝐈𝐋𝐄𝐃 changed to 𝐖𝐂𝐋_𝐄_𝐖𝐈𝐅𝐈_𝐃𝐈𝐑𝐄𝐂𝐓_𝐃𝐄𝐕𝐈𝐂𝐄_𝐖𝐀𝐓𝐂𝐇𝐄𝐑_𝐒𝐓𝐀𝐑𝐓_𝐍𝐀𝐌𝐄_𝐑𝐄𝐒𝐎𝐋𝐕𝐈𝐍𝐆_𝐓𝐇𝐑𝐄𝐀𝐃_𝐅𝐀𝐈𝐋𝐄𝐃;
• 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_WIFI_PSD_IE_NOT_SUPPORTED;
• 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_WIFI_HOSTED_NETWORK_STARTED;
• 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_START_ENUM_PAIRED_DEVICES_THREAD_FAILED;
• 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_ENUMERATE_DEVICES_FAILED;
• 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_QUERY_ASYNC_INFO_FAILED;
• 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_WIFI_DIRECT_DEVICE_WATCHER_GET_ENUM_RESULT_FAILED;
• 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_WIFI_DIRECT_DEVICE_START_NAME_RESOLVING_THREAD_FAILED;
• 𝐑𝐞𝐚𝐝𝐢𝐧𝐠 remote WiFi Direct device name;
• 𝐄𝐧𝐮𝐦𝐞𝐫𝐚𝐭𝐢𝐧𝐠 𝐩𝐚𝐢𝐫𝐞𝐝 𝐖𝐢𝐅𝐢 𝐃𝐢𝐫𝐞𝐜𝐭 𝐝𝐞𝐯𝐢𝐜𝐞𝐬 (wclWiFiDirectDeviceWatcher class);
• 𝐒𝐞𝐭 𝐏𝐒𝐃 𝐈𝐄 for Hosted Network;
• 𝐃𝐮𝐚𝐥 𝐒𝐓𝐀 support (Windows 11);
• 𝐃𝐮𝐚𝐥 𝐒𝐓𝐀 control (enabling, disabling, reading state);
• 𝐄𝐧𝐮𝐦𝐞𝐫𝐚𝐭𝐢𝐧𝐠 secondary 𝐢𝐧𝐭𝐞𝐫𝐟𝐚𝐜𝐞𝐬 on 𝐃𝐮𝐚𝐥 𝐒𝐓𝐀 supporting adapters;
• 𝐰𝐜𝐥𝐖𝐢𝐅𝐢𝐈𝐧𝐭𝐞𝐫𝐟𝐚𝐜𝐞: new method 𝐅𝐫𝐞𝐪𝐮𝐞𝐧𝐜𝐲𝐓𝐨𝐂𝐡𝐚𝐧𝐧𝐞𝐥 that converts the given central frequency to the Wi-Fi channel number;
• 𝐰𝐜𝐥𝐖𝐢𝐅𝐢𝐈𝐧𝐭𝐞𝐫𝐟𝐚𝐜𝐞: new method 𝐅𝐫𝐞𝐪𝐮𝐞𝐧𝐜𝐲𝐓𝐨𝐁𝐚𝐧𝐝 that converts the given frequency to the Wi-Fi band;
• 𝐖𝐢𝐅𝐢𝐂𝐥𝐢𝐞𝐧𝐭 updated to show how to use UNICODE in SSID name and create correct XML profile for 𝐔𝐍𝐈𝐂𝐎𝐃𝐄 𝐒𝐒𝐈𝐃;
• 𝐖𝐢𝐅𝐢𝐃𝐢𝐫𝐞𝐜𝐭𝐂𝐥𝐢𝐞𝐧𝐭 demo application updated to show how to 𝐜𝐡𝐞𝐜𝐤 𝐢𝐟 𝐚 𝐫𝐞𝐦𝐨𝐭𝐞 𝐝𝐞𝐯𝐢𝐜𝐞 𝐢𝐬 𝐩𝐚𝐢𝐫𝐞𝐝;
• 𝐖𝐢𝐅𝐢𝐃𝐢𝐫𝐞𝐜𝐭𝐂𝐥𝐢𝐞𝐧𝐭 demo application updated to show how to 𝐠𝐞𝐭 𝐚 𝐫𝐞𝐦𝐨𝐭𝐞 𝐝𝐞𝐯𝐢𝐜𝐞 𝐧𝐚𝐦𝐞;
• 𝐖𝐢𝐅𝐢𝐃𝐢𝐫𝐞𝐜𝐭𝐂𝐥𝐢𝐞𝐧𝐭 demo application updated to show how to 𝐮𝐧𝐩𝐚𝐢𝐫 𝐚 𝐫𝐞𝐦𝐨𝐭𝐞 𝐝𝐞𝐯𝐢𝐜𝐞;
• 𝐰𝐜𝐥𝐂𝐨𝐦𝐦𝐨𝐧: fixed problem with blocking on loading and unloading Configuration Manager API;
• .𝐍𝐄𝐓 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: new WinAPI error codes definitions in wclCommon assembly;
• .𝐍𝐄𝐓 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: minor fixes in WCL Messaging subsystem;
• .𝐍𝐄𝐓 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: fixed bug in wclThread when OnSignal event not called;
• .𝐍𝐄𝐓 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: fixed issue with connecting to Wi-Fi networks with UNICODE SSID;
• .𝐍𝐄𝐓 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: 𝐏𝐲𝐭𝐡𝐨𝐧 𝐝𝐞𝐦𝐨𝐬;
• 𝐂++ 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: fixed building issue.

https://www.btframework.com/wififramework.htm

Bluetooth Framework - Easy Bluetooth Support for Your Applications 18/02/2023

Framework update:

* Minor update in WinAPI declarations (𝐜𝐨𝐦𝟎𝐜𝐨𝐦 class GUID);
* Added 𝐩𝐫𝐨𝐭𝐞𝐜𝐭𝐢𝐨𝐧 and 𝐬𝐲𝐧𝐜𝐡𝐫𝐨𝐧𝐢𝐳𝐚𝐭𝐢𝐨𝐧 for WinRT event handlers;
* Now 𝐃𝐚𝐭𝐚 𝐏𝐫𝐨𝐜𝐞𝐬𝐬𝐨𝐫𝐬 allow 𝐦𝐚𝐧𝐮𝐚𝐥 𝐝𝐚𝐭𝐚 𝐟𝐥𝐨𝐰 𝐦𝐚𝐧𝐚𝐠𝐞𝐦𝐞𝐧𝐭;
* 𝐎𝐁𝐄𝐗: now you can provide custom maximum OBEX ppacket size;
* 𝐎𝐁𝐄𝐗: minor fixes in OPP Server;
* 𝐍𝐞𝐰 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞: WCL_E_BLUETOOTH_LE_WRITE_WITHOUT_RESPONSE_NOT_SUPPORTED;
* Code refactoring;
* 𝐁𝐋𝐄𝐃𝟏𝟏𝟐: get connection PHY;
* 𝐁𝐋𝐄𝐃𝟏𝟏𝟐: returns paired devices during discovering if requested (IncludePaired = true);
* 𝐁𝐥𝐮𝐞𝐒𝐨𝐥𝐞𝐢𝐥: get connection PHY;
* 𝐁𝐥𝐮𝐞𝐒𝐨𝐥𝐞𝐢𝐥: returns paired devices during discovering if requested (IncludePaired = true);
* 𝐌𝐢𝐜𝐫𝐨𝐬𝐨𝐟𝐭: fixed problem with incorrect reading User Description descriptor when client is connected with Legacy GATT API;
* 𝐌𝐢𝐜𝐫𝐨𝐬𝐨𝐟𝐭: returns paired BLE devices during discovering if requested (IncludePaired = true);
* 𝐌𝐢𝐜𝐫𝐨𝐬𝐨𝐟𝐭: classic discovering reworked to work faster;
* 𝐓𝐨𝐬𝐡𝐢𝐛𝐚: returns paired devices during discovering if requested (IncludePaired = true);
* 𝐰𝐜𝐥𝐁𝐥𝐮𝐞𝐭𝐨𝐨𝐭𝐡𝐑𝐚𝐝𝐢𝐨: ClassicDiscoveringCheckPaired 𝐩𝐫𝐨𝐩𝐞𝐫𝐭𝐲 𝐫𝐞𝐦𝐨𝐯𝐞𝐝;
* 𝐰𝐜𝐥𝐁𝐥𝐮𝐞𝐭𝐨𝐨𝐭𝐡𝐑𝐚𝐝𝐢𝐨: new IncludePaired 𝐩𝐚𝐫𝐚𝐦𝐞𝐭𝐞𝐫 𝐚𝐝𝐝𝐞𝐝 in Discover() method (use this instead of ClassicDiscoveringCheckPaired property);
* 𝐑𝐟𝐂𝐨𝐦𝐦𝐒𝐞𝐫𝐯𝐞𝐫 𝐝𝐞𝐦𝐨 𝐚𝐩𝐩𝐥𝐢𝐜𝐚𝐭𝐢𝐨𝐧 𝐮𝐩𝐝𝐚𝐭𝐞d to show how to make local Bluetooth radio Discoverable and Connectable;
* 𝐎𝐩𝐩𝐒𝐞𝐫𝐯𝐞𝐫 𝐝𝐞𝐦𝐨 𝐚𝐩𝐩𝐥𝐢𝐜𝐚𝐭𝐢𝐨𝐧 𝐮𝐩𝐝𝐚𝐭𝐞𝐝 to show how to make local Bluetooth radio Discoverable and Connectable;
* BLE 𝐞𝐫𝐫𝐨𝐫 𝐜𝐨𝐝𝐞𝐬 𝐫𝐞-𝐞𝐧𝐜𝐨𝐝𝐢𝐧𝐠;
* New GATT error decoding;
* 𝐖𝐫𝐢𝐭𝐞𝐂𝐡𝐚𝐫𝐚𝐜𝐭𝐞𝐫𝐢𝐬𝐭𝐢𝐜𝐕𝐚𝐥𝐮𝐞 method: 𝐧𝐞𝐰 𝐩𝐚𝐫𝐚𝐦𝐞𝐭𝐞𝐫 𝐖𝐫𝐢𝐭𝐞𝐊𝐢𝐧𝐝. It allows to control write operation (with/without response or auto mode). Tnstead of changing a characteristic's property use this parameter;
* 𝐖𝐫𝐢𝐭𝐞𝐂𝐥𝐢𝐞𝐧𝐭𝐂𝐨𝐧𝐟𝐢𝐠𝐮𝐫𝐚𝐭𝐢𝐨𝐧 method: 𝐧𝐞𝐰 𝐩𝐚𝐫𝐚𝐦𝐞𝐭𝐞𝐫 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞𝐊𝐢𝐧𝐝. It allows to control how to subscribe to a value change notification (use notification or indication). Instead of changing a characteristic's property use this parameter;
* 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞 method: 𝐧𝐞𝐰 𝐩𝐚𝐫𝐚𝐦𝐞𝐭𝐞𝐫 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞𝐊𝐢𝐧𝐝. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
* 𝐔𝐧𝐬𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞: 𝐧𝐞𝐰 𝐩𝐚𝐫𝐚𝐦𝐞𝐭𝐞𝐫 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞𝐊𝐢𝐧𝐝. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
* 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞𝐅𝐨𝐫𝐍𝐨𝐭𝐢𝐟𝐢𝐜𝐚𝐭𝐢𝐨𝐧𝐬: 𝐧𝐞𝐰 𝐩𝐚𝐫𝐚𝐦𝐞𝐭𝐞𝐫 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞𝐊𝐢𝐧𝐝. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
* 𝐔𝐧𝐬𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞𝐅𝐫𝐨𝐦𝐍𝐨𝐭𝐢𝐟𝐢𝐜𝐚𝐭𝐢𝐨𝐧𝐬: 𝐧𝐞𝐰 𝐩𝐚𝐫𝐚𝐦𝐞𝐭𝐞𝐫 𝐒𝐮𝐛𝐬𝐜𝐫𝐢𝐛𝐞𝐊𝐢𝐧𝐝. It allows to control how to subscribe to a value change notification (use notification or indication). Tnstead of changing a characteristic's property use this parameter;
* 𝐰𝐜𝐥𝐆𝐚𝐭𝐭𝐋𝐨𝐜𝐚𝐥𝐃𝐞𝐬𝐜𝐫𝐢𝐩𝐭𝐨𝐫 𝐧𝐞𝐰 𝐟𝐢𝐞𝐥𝐝 𝐑𝐞𝐚𝐝𝐏𝐫𝐨𝐭𝐞𝐜𝐭𝐢𝐨𝐧𝐋𝐞𝐯𝐞𝐥. It allows to provide different from characteristic read protection level;
* 𝐰𝐜𝐥𝐆𝐚𝐭𝐭𝐋𝐨𝐜𝐚𝐥𝐃𝐞𝐬𝐜𝐫𝐢𝐩𝐭𝐨𝐫 𝐧𝐞𝐰 𝐟𝐢𝐞𝐥𝐝 𝐖𝐫𝐢𝐭𝐞𝐏𝐫𝐨𝐭𝐞𝐜𝐭𝐢𝐨𝐧𝐋𝐞𝐯𝐞𝐥. It allows to provide different from characteristic write protection level;
* .𝐍𝐄𝐓 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: minor fixes in WCL Messaging subsystem;
* .𝐍𝐄𝐓 𝐄𝐝𝐢𝐭𝐢𝐨𝐧: fixed bug in wclThread when OnSignal event not called.

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

Bluetooth Framework - Easy Bluetooth Support for Your Applications 06/12/2022

Framework Update

New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_SET_DESCRIPTION_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_GET_FORMATS_LIST_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_CREATE_FORMAT_STATICS_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_CREATE_FORMAT_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_ADD_FORMAT_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GET_USER_DESCRIPTION_FAILED;
New error code: WCL_E_BLUETOOTH_LE_INVALID_DESCRIPTOR_UUID;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_CREATE_DESCRIPTOR_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_ADD_DESCRIPTOR_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_SET_DESCRIPTOR_VALUE_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_SET_DESCRIPTOR_READ_PROTECTION_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_SET_DESCRIPTOR_WRITE_PROTECTION_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_GET_CREATE_DESCRIPTOR_RESULT_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GATT_SERVER_GET_CREATE_DESCRIPTOR_ERROR_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GET_CONNECTION_PHY_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GET_CONNECTION_TX_PHY_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GET_CONNECTION_RX_PHY_FAILED;
New error code: WCL_E_BLUETOOTH_LE_GET_CONNECTION_PHY_VALUE_FAILED;
New data type: wclGattPresentationFormat;
New data type: wclGattCharactertisticUserDescription;
New data type: wclGattCharacteristicAggregateFormat;
The wclGattCharacteristicFormat structure changed: the Format field data type changed from Byte to wclGattPresentationFormat;
The wclGattCharacteristicFormat structure changed: the AUnit field data type changed from wclGattUuuid to UInt16;
The wclGattCharacteristicFormat structure changed: the Description field data type changed from wclGattUuuid to UInt16;
The wclGattDescriptorValue structure: UserDescription field added;
The wclGattDescriptorValue structure: CharacteristicAggregateFormat field added;
GATT client: WriteDescriptorValue() checks the descriptor type;
GATT client: BLED112 implementation now can write custom descriptors;
GATT client: decoding user description descriptor's value;
GATT client: reading connection PHY (Windows 11 and above);
GATT client: parsing Characteristic Aggregate Format descriptor;
GATT server: characteristic user description descriptor;
GATT server: characteristic presentation format descriptors;
GATT server: custom descriptors;
wclIsUserAdmin reworked for IoT support;
Fixed reading Characteristic Aggregate Format descriptor;
Fixed problem with reading Characteristic Presentation Format descriptor in case there are more than one such descriptor;
Fixed problem with reading some descriptors when the descriptor's data length is 0;
New Unity demos (native support for .NET Edition).

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

Bluetooth Framework - Easy Bluetooth Support for Your Applications 28/10/2022

Framework Update

What's new:

* New error code: WCL_E_BLUETOOTH_LE_GATT_CLIENT_SET_DISCONNECT_EVENT_HANDLER_FAILED;
* wclCommon: fixed problem with blocking on loading and unloading Configuration Manager API;
* Fixed issue with incorrect discovering termination (dead-lock issue);
* Enumerating connected devices;
* RemoteUnpair: new Method parameter added. It allows to force LE or Classic unpair (or leave it with default Auto value for automatic device type detection);
* RemoteUnpair: new Force parameter added. It allows to disable device pairing state and force unpairing;
* EnumRemoteServices returns WCL_E_BLUETOOTH_INVALID_DEVICE_TYPE if called for BLE device;
* GetRemoteCod returns WCL_E_BLUETOOTH_INVALID_DEVICE_TYPE if called for BLE device;
* GattServer: client disconnection;
* Microsoft: disconnect any Bluetooth LE devices by its MAC;
* Microsoft: AuthenticationCompleted event fires with WCL_E_BLUETOOTH_LE_ALREADY_PAIRED instead of WCL_E_SUCCESS if device was already paired;
* Microsoft: turning radio off/on independent of OS bits;
* wclGattClient: minor changes in legacy GATT connection pairing (in case of ForceNotifications used);
* wclGattClient: no AuthenticationCompelted event fires in case if device is already paired and ForceNotifications used;
* wclGattClient: disconnect detection when leagcy GATT API or ForceNotifications used;
* IoT demos: updated to show how to use RemoteDisconnect() method;
* IoT demos: updated to show how to use EnumConnectedDevices() method;
* C++ Edition: fixed building issue;
* .NET Edition: fixed problem with disconnecting from GATT device when using Microsotf Bluetooth drivers;
* .NET Edition: new WinAPI error codes definitions in wclCommon assembly;
* .NET Edition Python demos (https://github.com/btframework/WCL-Python-Demos/tree/main/Bluetooth).

https://www.btframework.com/bluetoothframework.htm

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

Bluetooth Framework - Easy Bluetooth Support for Your Applications 14/09/2022

Bluetooth Framework 7.16.3

* New error code: WCL_E_BLUETOOTH_LE_AUTH_UNKNOWN;
* New error code: WCL_E_BLUETOOTH_PAIRING_HANDLED_BY_SYSTEM;
* New error code: WCL_E_BLED112_PAIR_DURING_CONNECT;
* LE pairing error decoding updated;
* Refactoring LE pairing code;
* BLED112 pairing procedure has been reworked;
* wclBluetoothleProtectionLevel type renamed to wclBluetoothLeProtectionLevel;
* wclBluetoothRadio: new "Manager" property. Returns the wclBluetoothManager object that owns the Radio;
* wclBluetoothRadio: event handling by wclBluetoothManager has been reworked;
* wclBluetoothRadio: virtual event management methods declaration changed (internal usage);
* wclBluetoothManager: new "HandlePairing" property. If set to False the Bluetooth Framework pairing and pairing events handling will be disabled;
* wclBluetoothManager: Open method takes new "HandlePairing" parameter that allows to control Bluetooth Framework pairing;
* .NET Edition: fixed local radio name changing issue;
* Fixed Windows IoT Core detection issue.

Bluetooth Framework - Easy Bluetooth Support for Your Applications Bluetooth Framework provides an easy access to the Bluetooth features on Windows desktop platforms

24/08/2022

Starting from version 7.16.1 framework can parse BLE advertising PDUs captured by the https://www.btframework.com/blesniffer.htm

How To Capture Raw Bluetooth LE Packets How To Capture Raw Bluetooth LE Packets

15/08/2022

Framework 7.16.0 has been released

* new error code: WCL_E_WINUSB_DEVICE_OPENED;
* new error code: WCL_E_WINUSB_DEVICE_CLOSED;
* new error code: WCL_E_WINUSB_DEVICE_NOT_OPENED;
* new error code: WCL_E_WINUSB_OPEN_DEVICE_FAILED;
* new error code: WCL_E_WINUSB_INIT_DEVICE_FAILED;
* new error code: WCL_E_WINUSB_CONTROL_TRANSFER_FAILED;
* new error code: WCL_E_WINUSB_READ_PIPE_FAILED;
* wclCommon: New wclWinUsbDevice class;
* .NET Edition: wclCommon version changed (7.9.0);
* new error code: WCL_E_BLE_SNIFFER_ACTIVE;
* new error code: WCL_E_BLE_SNIFFER_NOT_ACTIVE;
* new error code: WCL_E_BLE_SNIFFER_CREATE_INIT_EVENT_FAILED;
* new error code: WCL_E_BLE_SNIFFER_CREATE_TERM_EVENT_FAILED;
* new error code: WCL_E_BLE_SNIFFER_START_THREAD_FAILED;
* new error code: WCL_E_BLE_SNIFFER_CC2540_DEVICE_NOT_FOUND;
* new error code: WCL_E_BLE_SNIFFER_GET_IDENT_FAILED;
* new error code: WCL_E_BLE_SNIFFER_SET_POWER_FAILED;
* new error code: WCL_E_BLE_SNIFFER_GET_POWER_FAILED;
* new error code: WCL_E_BLE_SNIFFER_SET_CHANNEL_FAILED;
* new error code: WCL_E_BLE_SNIFFER_START_CAPTURE_FAILED;
* Bluetooth LE Sniffer (using CC2540 USB dongle);
* VCL Edition: Building CBuilder XE2 projects issue fixed;
* new demo application.

https://www.btframework.com/bluetoothframework.htm
https://www.btframework.com/blesniffer.htm

How To Capture Raw Bluetooth LE Packets How To Capture Raw Bluetooth LE Packets

Telephone

Opening Hours

Monday 10:00 - 17:00
Tuesday 10:00 - 17:00
Wednesday 10:00 - 17:00
Thursday 10:00 - 17:00
Friday 10:00 - 17:00