ggwave
Tiny data-over-sound library.
- Audible and ultrasound transmissions available
- Bandwidth of 8-16 bytes/s (depending on the transmission protocol)
- Robust FSK modulation
- Reed-Solomon based error correction
Example Usage
var factory = require('ggwave')
factory().then(function(ggwave) {
var parameters = ggwave.getDefaultParameters();
var instance = ggwave.init(parameters);
var payload = 'hello js';
var waveform = ggwave.encode(instance, payload, ggwave.TxProtocolId.GGWAVE_TX_PROTOCOL_AUDIBLE_FAST, 10);
var res = ggwave.decode(instance, waveform);
if (res != payload) {
process.exit(1);
}
});
[v0.4.0] - 2022-07-05
This release introduces some breaking changes in the C and C++ API!
Make sure to read the ggwave.h
header for more information
- Major refactoring in order to support microcontrollers (#65
- Zero memory allocations during runtime
- Do not include STL headers anymore
- New, low-frequency, mono-tone (MT) protocols suitable for microcontrollers
- Remove code-duplication for some of the examples
- Better FFT implementation
- Less memory usage
- Bug fix in fixed-length payload decoding
- Add Arduino and ESP32 examples
- Support for Direct Sequence Spread (DSS)