diff --git a/CHANGELOG.md b/CHANGELOG.md index 44058a1..c513594 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.14.4] - 03.10.2023 +### Changed +- Bug fix: Changed RPC method flags from 16-bit to 32-bit +- Bug fix: Fix RPC method parsing in TwinCAT 4026 + +See [PR #127](https://github.com/jisotalo/ads-client/pull/127) for details. + +Thank you [icon-bobk](https://github.com/icon-bobk) for contribution! + ## [1.14.3] - 23.09.2023 ### Changed - Bug fix: Some TwinCAT 2 devices (such as BK9050) do not send data length if answering with error code diff --git a/README.md b/README.md index 1670e53..25aff15 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ [![npm version](https://img.shields.io/npm/v/ads-client)](https://www.npmjs.org/package/ads-client) -[![Donate](https://img.shields.io/badge/Support-PayPal-yellow)](https://www.paypal.com/donate/?business=KUWBXXCVGZZME&no_recurring=0¤cy_code=EUR) [![GitHub](https://img.shields.io/badge/View%20on-GitHub-brightgreen)](https://github.com/jisotalo/ads-client) [![License](https://img.shields.io/github/license/jisotalo/ads-client)](https://choosealicense.com/licenses/mit/) @@ -12,21 +11,24 @@ Coded from scratch using [TwinCAT ADS specification](https://infosys.beckhoff.co There is automatically created documentation available at https://jisotalo.fi/ads-client/ -# Project status +# Version 2 will be released soon -This project is currently "ready". It's maintained actively and used in projects by the author and others (also lot's of commercial projects) +The 1.4.4 is the the last version for v1, unless some bugs need fixing. -Bugs are fixed if found and new features can be added. Please let me know if you have any ideas! +It might be a good idea to use the version 2 beta for new projects. It will no longer have breaking changes and it's basically ready! -If you want to support my work, you can do it using PayPal. I can provide you support in exchange. +See [`v2-dev`](https://github.com/jisotalo/ads-client/tree/v2-dev) branch for more info. It's a full rewrite in in TypeScript and it can be installed from npm (`npm i ads-client@beta`). -[![Donate](https://img.shields.io/badge/Support%20my%20work!-PayPal-yellow)](https://www.paypal.com/donate/?business=KUWBXXCVGZZME&no_recurring=0¤cy_code=EUR) +# Supporting -## Version 2 +If you want to support my work, you can buy me a coffee! -Version 2 is now released as beta! +Buy Me A Coffee + +[![Donate](https://img.shields.io/badge/Donate-PayPal-yellow)](https://www.paypal.com/donate/?business=KUWBXXCVGZZME&no_recurring=0¤cy_code=EUR) + +If you need help with integrating the ads-client, I'm available for coding work with invoicing. Please send me email! -See [`v2-dev`](https://github.com/jisotalo/ads-client/tree/v2-dev) branch for more info. It's a full rewrite in in TypeScript and it can be installed from npm. # Using Node-RED? Check out the [node-red-contrib-ads-client](https://www.npmjs.com/package/node-red-contrib-ads-client) package. It's an `ads-client` wrapper for Node-RED to get the same functionality. @@ -34,8 +36,8 @@ Check out the [node-red-contrib-ads-client](https://www.npmjs.com/package/node-r # Table of contents - [ads-client](#ads-client) -- [Project status](#project-status) - - [Version 2](#version-2) +- [Version 2 will be released soon](#version-2-will-be-released-soon) +- [Supporting](#supporting) - [Using Node-RED?](#using-node-red) - [Table of contents](#table-of-contents) - [Installation](#installation) diff --git a/docs/-_LibraryInternals.html b/docs/-_LibraryInternals.html index 966cb7b..ee3d886 100644 --- a/docs/-_LibraryInternals.html +++ b/docs/-_LibraryInternals.html @@ -147,7 +147,7 @@

(sta
Source:
@@ -305,7 +305,7 @@

(sta
Source:
@@ -466,7 +466,7 @@

(static)
Source:
@@ -873,7 +873,7 @@

(static) _co
Source:
@@ -1009,7 +1009,7 @@

(static) Source:
@@ -1167,7 +1167,7 @@

(static)
Source:
@@ -1348,7 +1348,7 @@

(static
Source:
@@ -1506,7 +1506,7 @@

(static) <
Source:
@@ -1963,7 +1963,7 @@

(static) Source:
@@ -2127,7 +2127,7 @@

(stati
Source:
@@ -2383,7 +2383,7 @@

(async
Source:
@@ -2520,7 +2520,7 @@

(asy
Source:
@@ -3238,7 +3238,7 @@

(static) Source:
@@ -3396,7 +3396,7 @@

(stati
Source:
@@ -3554,7 +3554,7 @@

(static) Source:
@@ -3712,7 +3712,7 @@

(static)
Source:
@@ -3870,7 +3870,7 @@

(async, s
Source:
@@ -4164,7 +4164,7 @@

(stat
Source:
@@ -4449,7 +4449,7 @@

(stati
Source:
@@ -4631,7 +4631,7 @@

(stati
Source:
@@ -4879,7 +4879,7 @@

(stati
Source:
@@ -5060,7 +5060,7 @@

(static) Source:
@@ -5218,7 +5218,7 @@

(static) <
Source:
@@ -5380,7 +5380,7 @@

(static) Source:
@@ -6110,7 +6110,7 @@

(static) Source:
@@ -7095,7 +7095,7 @@

(static) Source:
@@ -7725,7 +7725,7 @@
Properties:

- Documentation generated by JSDoc 3.6.11 on Sat Sep 23 2023 08:34:17 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme. + Documentation generated by JSDoc 3.6.11 on Thu Oct 03 2024 20:50:46 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme.
diff --git a/docs/Client.html b/docs/Client.html index 19f338e..9465c7e 100644 --- a/docs/Client.html +++ b/docs/Client.html @@ -9027,7 +9027,7 @@
Returns:

- Documentation generated by JSDoc 3.6.11 on Sat Sep 23 2023 08:34:17 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme. + Documentation generated by JSDoc 3.6.11 on Thu Oct 03 2024 20:50:46 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme.
diff --git a/docs/ClientException.html b/docs/ClientException.html index c3197ab..21f6b02 100644 --- a/docs/ClientException.html +++ b/docs/ClientException.html @@ -857,7 +857,7 @@
Type:

- Documentation generated by JSDoc 3.6.11 on Sat Sep 23 2023 08:34:17 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme. + Documentation generated by JSDoc 3.6.11 on Thu Oct 03 2024 20:50:46 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme.
diff --git a/docs/ads-client.js.html b/docs/ads-client.js.html index 0660ea0..2960f56 100644 --- a/docs/ads-client.js.html +++ b/docs/ads-client.js.html @@ -4866,6 +4866,7 @@

ads-client.js

//Get method length let len = data.readUInt32LE(pos) + const methodFinalPos = pos + len; pos += 4 //4..7 Version @@ -4888,33 +4889,33 @@

ads-client.js

method.reserved = data.readUInt32LE(pos) pos += 4 - //24..27 Return type GUID + //24..39 Return type GUID method.returnTypeGuid = data.slice(pos, pos + 16).toString('hex') pos += 16 - //28..31 Return data type + //40..43 Return data type method.retunAdsDataType = data.readUInt32LE(pos) method.retunAdsDataTypeStr = ADS.ADS_DATA_TYPES.toString(method.retunAdsDataType) pos += 4 - //27..30 Flags (AdsDataTypeFlags) - method.flags = data.readUInt16LE(pos) + //44..47 Flags + method.flags = data.readUInt32LE(pos) method.flagsStr = ADS.ADS_DATA_TYPE_FLAGS.toStringArray(method.flags) pos += 4 - //31..32 Name length + //48..49 Name length method.nameLength = data.readUInt16LE(pos) pos += 2 - //33..34 Return type length + //50..51 Return type length method.returnTypeLength = data.readUInt16LE(pos) pos += 2 - //35..36 Comment length + //52..53 Comment length method.commentLength = data.readUInt16LE(pos) pos += 2 - //37..38 Parameter count + //54..55 Parameter count method.parameterCount = data.readUInt16LE(pos) pos += 2 @@ -5002,6 +5003,7 @@

ads-client.js

method.parameters.push(param) } + pos = methodFinalPos; dataType.rpcMethods.push(method) } } @@ -6942,7 +6944,7 @@

ads-client.js


- Documentation generated by JSDoc 3.6.11 on Sat Sep 23 2023 08:34:17 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme. + Documentation generated by JSDoc 3.6.11 on Thu Oct 03 2024 20:50:46 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme.
diff --git a/docs/global.html b/docs/global.html index 72adc61..d1bd10f 100644 --- a/docs/global.html +++ b/docs/global.html @@ -3627,7 +3627,7 @@
Properties:

- Documentation generated by JSDoc 3.6.11 on Sat Sep 23 2023 08:34:17 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme. + Documentation generated by JSDoc 3.6.11 on Thu Oct 03 2024 20:50:46 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme.
diff --git a/docs/index.html b/docs/index.html index f7e2ca5..5eb8aa5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -62,30 +62,50 @@

ads-client

npm version -Donate GitHub License

Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.

Coded from scratch using TwinCAT ADS specification and Beckhoff.TwinCAT.Ads nuget package. Inspiration from similar projects like node-ads, beckhoff-js and iecstruct.

There is automatically created documentation available at https://jisotalo.fi/ads-client/

-

Project status

-

This project is currently "ready". It's maintained actively and used in projects by the author and others (also lot's of commercial projects)

-

Bugs are fixed if found and new features can be added. Please let me know if you have any ideas!

-

If you want to support my work, you can do it using PayPal. I can provide you support in exchange.

-

Donate

-

Version 2

-

Version 2 is under development in v2-dev branch. It's written in TypeScript (including all types!) and will also be more optimized. At the moment basic functions might work but it's not ready for production use.

+

Version 2 will be released soon

+

The 1.4.4 is the the last version for v1, unless some bugs need fixing.

+

It might be a good idea to use the version 2 beta for new projects. It will no longer have breaking changes and it's basically ready!

+

See v2-dev branch for more info. It's a full rewrite in in TypeScript and it can be installed from npm (npm i ads-client@beta).

+

Supporting

+

If you want to support my work, you can buy me a coffee!

+

Buy Me A Coffee

+

Donate

+

If you need help with integrating the ads-client, I'm available for coding work with invoicing. Please send me email!

Using Node-RED?

Check out the node-red-contrib-ads-client package. It's an ads-client wrapper for Node-RED to get the same functionality.

Table of contents

-
  • Calling a function block method with parameters using RPC (remote procedure call) +
  • Calling a function block method with parameters using RPC (remote procedure call)
  • -
  • FAQ
  • +
  • FAQ + +
  • Automatic testing
  • Documentation
  • License
  • @@ -1705,7 +1741,7 @@

    License


    - Documentation generated by JSDoc 3.6.11 on Sat Sep 23 2023 08:34:17 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme. + Documentation generated by JSDoc 3.6.11 on Thu Oct 03 2024 20:50:46 GMT+0300 (Itä-Euroopan kesäaika) using the docdash theme.
    diff --git a/package.json b/package.json index 11ab93e..b2eafd1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ads-client", - "version": "1.14.3", + "version": "1.14.4", "description": "Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.", "main": "./src/ads-client.js", "scripts": {