Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
blocks:drivers:concepts [2018-03-07 19:14] admin |
blocks:drivers:concepts [2024-04-18 11:24] (current) admin [Using a Device Driver] |
||
---|---|---|---|
Line 11: | Line 11: | ||
If an adequate driver for your device already exists, using it is quite straightforward. | If an adequate driver for your device already exists, using it is quite straightforward. | ||
- | - Obtain the driver code. Drivers provided by PIXILAB may come as part of your Blocks installation, | + | - Obtain the drivers. Drivers provided by PIXILAB may come as part of your Blocks installation, |
- | - Install the file(s) into your Blocks server by copying all relevant files to the PIXILAN-root/ | + | - Install the file(s) into your Blocks server by extracting the ZIP and then copying all relevant files to the PIXILAB-Blocks-root/ |
+ | - Some rarely used device drivers are located in the driver-archive directory. If you need any of those, move those over from the archive to the acive driver directory. While blocks ignore the source code (.ts) file and use the .js it still makes sense to move/copy both the .ts and .js file to keep them in the same place. | ||
+ | - Make sure to also copy the latest version of all files in //system// and // | ||
- Restart the Block server. | - Restart the Block server. | ||
- | :!: When installing the files downloaded above, take care when copying the files into an existing | + | :!: When installing the files downloaded above, take care when copying the files into an existing |
- | The driver(s) will now appear on the " | + | The driver(s) will now appear on the " |
===== Driver Development Prerequisites ===== | ===== Driver Development Prerequisites ===== | ||
Line 39: | Line 41: | ||
* Development tools and code, as described [[blocks: | * Development tools and code, as described [[blocks: | ||
* Access to the device to be controlled, as well as all relevant documentation. | * Access to the device to be controlled, as well as all relevant documentation. | ||
- | * If the device is controlled by serial data rather than a direct network connection, you'll need a [[blocks: | + | * If the device is controlled by serial data rather than a direct network connection, you'll need either a USB-to-serial interface if you're connecting through a PIXILAB Player or a [[blocks: |
Line 55: | Line 57: | ||
</ | </ | ||
- | This class (here named // | + | This class (here named // |
:!: While only the .js file is required to use the driver, you typically keep the .ts " | :!: While only the .js file is required to use the driver, you typically keep the .ts " | ||
Line 61: | Line 63: | ||
=== Constructor Function === | === Constructor Function === | ||
- | A new instance of the driver will be created for each device that uses the driver. This is done by calling the constructor function, passing it an object of the driven class (here NetworkTCP). The constructor | + | A new instance of the driver will be created for each device that uses the driver. This is done by calling the constructor function, passing it an object of the driven class (here NetworkTCP). The constructor takes a parameter of the type defined for the //Driver// base class (in the example above, that type is // |
The constructor stores the driven instance in the private //socket// variable, allowing it to use the socket to communicate with the device via the network. See the NetworkTCP class definition for available functions used to communicate with the device. | The constructor stores the driven instance in the private //socket// variable, allowing it to use the socket to communicate with the device via the network. See the NetworkTCP class definition for available functions used to communicate with the device. | ||
Line 108: | Line 110: | ||
Decorator that can be applied to parameters to // | Decorator that can be applied to parameters to // | ||
+ | ==== Learn More ==== | ||
+ | Learn more in the [[blocks: |