io-ts-promise
serialport
Our great sponsors
- Appwrite - The Open Source Firebase alternative introduces iOS support
- Sonar - Write Clean JavaScript Code. Always.
- InfluxDB - Access the most powerful time series database as a service
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
io-ts-promise | serialport | |
---|---|---|
1 | 6 | |
74 | 5,465 | |
- | 0.6% | |
0.0 | 9.1 | |
5 months ago | 6 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
io-ts-promise
-
Notes on Advanced TypeScript: Runtime Validations
There are more improvements we could make, but we should have a basic understanding of why it might be useful to validate any external data at runtime. io-ts offers more features handling recursive and optional types. Furthermore there are libraries like io-ts-promise that provide more features and useful helpers, the above decodePromise, for example, is available in a more advanced variant via io-ts-promise.
serialport
-
Using usb-detection with electron v4 on intel mac
Strangely enough it does package fine with electron-builder but does not work in dev mode. The same happens when I try to use https://serialport.io/ which is also another module where you could achieve device detection.
-
Trying to get access to the USB device in Electron app
We use node-serialport instead of the WebSerial API, since it was only recently that Electron supported WebSerial permission overrides to make things like a 'devices screen' viable. The WebBluetooth APIs are still in a situation where you have to do polling shenanigans to get a full device list. I've found the mutated permissions system leaves a lot to be desired when debugging, whereas the NAPI modules are a lot more straightforward.
-
I've been streaming hardware driver development using node. If you've ever wondered what's involved when talking to hardware, but were put off by needing to know C or kernel internals, you might enjoy this
It really depends. The stuff I'm doing in this video for example is writing a driver stack for a device called the Bus Pirate. Communication is done over serial (which is easy in node with the serialport library). The bus pirate is a device that allows you to talk to other devices over different protocols, including SPI, I2C, and OneWire (as well as bit banging, where you control some electrical signals directly any way you want using software). So while it's not something you'd do directly in production, you can actually test communication with devices in JS in a fast, iterative, interactive way without having to use a microcontroller. You can actually figure out all of your design decisions there and port your code to the microcontroller later if you're building some kind of embedded system device, potentially saving a lot of time and debugging.
-
Lychee never loads
Turns out, there is: https://github.com/serialport/node-serialport/issues/2259
-
Electron to native hardware
We use node-serialport for USB serial communications. It's included in the transport manager renderer process. The installation guide and docs should be good enough to get you started. Hopefully serialport has prebuilds for the combination of system and electron version you're trying. We had to setup an internal prebuilds system and CDN for our app since we'd often find ourselves ahead of the prebuilt versions for node-serialport. Alternatively you can build from source.
What are some alternatives?
johnny-five - JavaScript Robotics and IoT programming framework, developed at Bocoup.
cylon.js - JavaScript framework for robotics, drones, and the Internet of Things (IoT)
usb - Improved USB library for Node.js
i2c-bus - I2C serial bus access with Node.js
onoff - GPIO access and interrupt detection with Node.js
pigpio - Fast GPIO, PWM, servo control, state change notification and interrupt handling with Node.js on the Raspberry Pi
spi-device - SPI serial bus access with Node.js
Electron - :electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
pc-nrf-dfu-js - Javascript implementation of Nordic's DFU protocol over serial (or NoBLE).
gps - A NMEA parser and GPS utility library
node-rpio - Raspberry Pi GPIO library for node.js
bdiefinder - Find Samsung B-Die DDR 4 memory kits on Amazon, Newegg and many more