https://github.com/penx/bmrequesttype
Calculate bmRequestType for USB
https://github.com/penx/bmrequesttype
Last synced: 3 months ago
JSON representation
Calculate bmRequestType for USB
- Host: GitHub
- URL: https://github.com/penx/bmrequesttype
- Owner: penx
- Created: 2020-05-20T21:10:23.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T06:31:30.000Z (about 3 years ago)
- Last Synced: 2025-03-12T22:05:37.515Z (10 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/bmrequesttype
- Size: 809 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# bmRequestType
Calculate bmRequestType for USB
i.e.
- http://www.usbmadesimple.co.uk/ums_4.htm
- https://www.usb.org/sites/default/files/csm2_v1_0.pdf
- https://www.beyondlogic.org/usbnutshell/usb6.shtml
Useful combined with e.g. [node-usb](https://github.com/tessel/node-usb).
## Usage
```sh
npm i bmrequesttype
```
```js
const { bmRequestType, DIRECTION, TYPE, RECIPIENT } = require('bmrequesttype');
bmRequestType(DIRECTION.Out, TYPE.Class, RECIPIENT.Interface); // 33
```
## API
```
bmRequestType(direction, type, recipient)
DIRECTION.Out = 0
DIRECTION.In = 1
TYPE.Standard = 0
TYPE.Class = 1
TYPE.Vendor = 2
TYPE.Reserved = 3
RECIPIENT.Device = 0
RECIPIENT.Interface = 1
RECIPIENT.Endpoint = 2
RECIPIENT.Other = 3
```