https://github.com/drom/jtag
JTAG / FTDI related JavaScript library and tools.
https://github.com/drom/jtag
Last synced: 13 days ago
JSON representation
JTAG / FTDI related JavaScript library and tools.
- Host: GitHub
- URL: https://github.com/drom/jtag
- Owner: drom
- License: mit
- Created: 2021-11-17T07:00:10.000Z (over 3 years ago)
- Default Branch: trunk
- Last Pushed: 2024-12-08T23:17:19.000Z (5 months ago)
- Last Synced: 2025-03-31T02:23:04.452Z (about 2 months ago)
- Language: JavaScript
- Homepage:
- Size: 32.2 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.npmjs.org/package/jtag.ftdi)[](https://github.com/drom/jtag/actions/workflows/linux.yml)
JTAG / FTDI related JavaScript library and tools.
Imported from: https://gitlab.com/drom/jtag
## Installation
Package can be installed from NPM
```sh
npm install jtag.ftdi --build-from-source=usb
```The package depends on [node-usb](https://github.com/tessel/node-usb) that depends on `libusb` library that have to be installed:
#### Ubuntu
```
sudo apt-get install build-essential libudev-dev
```#### OpenSuse
```
sudo zypper install libudev-devel libusb-1_0-devel
```### SVF
[Serial Vector Format (SVF)](https://en.wikipedia.org/wiki/Serial_Vector_Format) is a text file format that contains sequence of JTAG operations.
### FTDI
FTDI
[FT232H](http://www.ftdichip.com/Products/ICs/FT232H.htm),
[FT2232H](http://www.ftdichip.com/Products/ICs/FT2232H.html),
[FT4232H](http://www.ftdichip.com/Products/ICs/FT4232H.htm)
is a series of USB 2.0 ICs that can be used for high speed serial communication protocols.## Tools
### svf2ftdi
```sh
./node_modules/.bin/svf2ftdiOptions:
--file, -f input SVF file name [string]
--url, -u input SVF URL [string]
--serial-number, -n FTDI serial number [string]
--serial-div, -d FTDI serial number divisor [string]
--version Show version number [boolean]
--help Show help [boolean]
```## Library
### svf-stream
Node.js Writable stream that parses input SVF text while calling JTAG driver.
```js
const svf = require('jtag.ftdi/lib/svf-stream');
const jtag = ;
const s1 = svf(jtag);
source.pipe(s1);
```### ftdi-libusb
Node.js component that implements JTAG protocol on `FTDI` IC over `libusb`.
```js
const ftdi = require('jtag.ftdi/lib/ftdi-libusb');
const jtag = ftdi(options);
...
```### ftdi-webusb
WebUSB version of JTAG over FTDI driver.
```js
const ftdi = require('jtag.ftdi/lib/ftdi-webusb');
const jtag = ftdi(options);
...
```