Commit Graph

37 Commits

Author SHA1 Message Date
Georgi Gerganov
2bc3c60d03 js : update + fix test 2022-07-04 21:18:20 +03:00
Georgi Gerganov
7c5b614c16 ggwave : big refactoring / renaming 2022-07-04 21:18:20 +03:00
Georgi Gerganov
f5e08d921b ggwave : various improvements
- faster FFT implementation
- built-in Direct Sequence Spread option
- remove <map> dependency from implementation
- update arduino-rx example
2022-07-04 21:18:20 +03:00
Georgi Gerganov
cf7f474938 ggwave : add option to only generate tones on Tx 2022-07-04 21:18:20 +03:00
Georgi Gerganov
481cc4f7e2 wip : pimpled Tx and moved resampler inside GGWave 2022-07-04 21:18:20 +03:00
Georgi Gerganov
6bbe8ecec3 wip : refactoring 2022-07-04 21:18:20 +03:00
Georgi Gerganov
d135fbbef4 js : decode now returns typed array and cannot be null
If no data is decoded, then the returned array is empty.
2022-05-02 19:07:06 +03:00
Georgi Gerganov
dbcb68a473 emscripten : fix CMake variable name + update ggwave.js 2022-02-02 22:58:10 +02:00
Georgi Gerganov
71aabb3fc3 emscripten : fix compile warnings + update ggwave.js 2021-11-27 13:17:28 +02:00
Georgi Gerganov
1fedf68a41 ggwave v0.3.1 2021-11-27 13:07:16 +02:00
Georgi Gerganov
bbacdbcc96 c-api : add toggleRxProtocol() (#60)
This function allows to enable/disable Rx protocols during the decoding
process. This is useful when the Tx/Rx protocol is known in advance.
2021-11-22 21:29:26 +02:00
Georgi Gerganov
1ebe881ea9 ggwave : update bindings to toggle logging on and off (#55)
ref #54
2021-11-22 20:17:16 +02:00
Georgi Gerganov
1a0af88ed6 js : add the custom protocol values to the Emscripten enum 2021-09-13 09:11:47 +03:00
Georgi Gerganov
87d6cc1389 ggwave v0.3.0 2021-07-03 11:54:10 +03:00
Georgi Gerganov
ad615cc4ed pypi : release v0.2.2
- fix "txProtocol" -> "txProtocolId" confusion
2021-04-18 16:55:15 +03:00
Georgi Gerganov
00b23ff54f r2t2 - Transmit data through the PC speaker (#32)
* inital implementation

* remove file

* ggwave-cli : txProtocol -> txProtocolId

* ggwave : add custom protocol enum values

* r2t2 : use cutom protocols

* r2t2 : build only on Unix systems

* r2t2 : remove thread

* r2t2-rx : wip

* r2t2 : wasm build ready + various fixes

* r2t2 : error message

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* r2t2 : length 16

* r2t2 : use slow protocol by default

* r2t2 : add timestamp

* r2t2 : update html

* r2t2 : update github link

* r2t2 : more robust tx

* r2t2 : add option to use beep command

* emscripten : cannot use requestAnimationFrame when capturing audio

This causes the queued audio buffer to grow indefinitely when the page
is not focused, causing the process to run out of memory.

* r2t2 : disable beep option

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* r2t2 : add example to README
2021-04-18 13:20:45 +03:00
midijohnny
464aa2283b Update README-tmpl.rst (#29)
See issues: there was a typo in the docs.
The parameter "txProtocol" should be "txProtocolId"
2021-04-12 13:03:53 +03:00
Georgi Gerganov
bdf56d2f8f ggwave : update js bindings 2021-02-27 12:27:18 +02:00
Georgi Gerganov
1c59e38696 ggwave : switch to floating point sampling rate 2021-02-27 12:23:25 +02:00
Georgi Gerganov
553b414929 ggwave : more resampling fixes
This time the sound cracking should be fixed for real.

Also adding option to generate noise in the cpp tests
2021-02-21 13:30:27 +02:00
Georgi Gerganov
311442f01c cmake : separate version string for python package 2021-02-21 00:55:55 +02:00
Georgi Gerganov
bf4be2a4f4 js : update ggwave.js 2021-02-20 22:45:29 +00:00
Georgi Gerganov
e5c094296f python : fix cython wrapper 2021-02-21 00:42:26 +02:00
Georgi Gerganov
d3732946c6 close #19 : add cmake option for single-file wasm build
If enabled, we build ggwave using "-s SINGLE_FILE=1" which causes
the WASM to be embedded inside the .js file.

Otherwise, 2 separate files are produced:
- libggwave.js
- libggwave.wasm
2021-02-20 19:57:47 +02:00
Georgi Gerganov
580090c721 ggwave v0.2.0 2021-02-20 19:42:16 +02:00
Georgi Gerganov
19bf22df0d ggwave v0.2.0 (#20)
* ggwave : add support for fixed length transmissions

* spectrogram : add sample rate offset for debugging purposes

* gwave : fix decoding bug

* waver : wip

* wip

* remove post-marker frames

* add resampler

* ggwave : input/output resampling

* ggwave : fix python build

* ggwave : update spm

* ggwave : refactor duplicate encode/decode code

* ggwave : fix sound marker detection

* waver : fix typo

* ggwave : fix uninitialized members

* ggwave : more sensitive receive
2021-02-20 19:16:15 +02:00
Georgi Gerganov
931549720a ios : update submodule 2021-01-30 15:07:16 +02:00
Georgi Gerganov
2e34d46e02 iOS SDK (#15)
* wip : creating a Swift Package Manager package

* ios : tests ready

* cmake : add ggwave-spm and spm-publish targets

* cosmetics
2021-01-30 12:38:01 +02:00
Georgi Gerganov
51d7bd9e18 npm : add README.md 2021-01-24 20:55:34 +02:00
Georgi Gerganov
19f353018d Javascript bindings (#14)
* Initial version ready

- bindings are in `bindings/emscripten.cpp`
- minimal Javascript example is in `examples/ggwave-js`

* add npm package + add test-ggwave.js

* js : rename export name to "ggwave_factory"

* update to v0.1.5

* Update README.md

* npm : add npm-publish target
2021-01-24 17:25:58 +02:00
Georgi Gerganov
105e0fd48d update default parameters + python updates
- by default ggwave will now output 32-bit float samples
- python samples no longer use numpy
- python test now decodes payload
- fix buffer overflow in receive.py example
2021-01-23 23:30:24 +02:00
Georgi Gerganov
ba8e0cd2b1 c, python : add option to query encode size 2021-01-23 17:13:13 +02:00
Georgi Gerganov
597cc48cbb core : refactoring + bug fix
- rename callback types
- fix calculation of data frames
2021-01-23 15:47:59 +02:00
Georgi Gerganov
3f690868a4 update to v0.1.4 2021-01-23 14:36:11 +02:00
Georgi Gerganov
a64106783f Support for various sample formats (#11)
* wip : support for various sample formats

* finalize support for various sample formats

* adding more tests

* update python bindings

* add "string" header
2021-01-23 11:45:20 +02:00
Georgi Gerganov
cd332b5919 ggwave : refactoring + comments 2021-01-17 21:19:41 +02:00
Georgi Gerganov
2ed431fa81 Add python bindings + package (#10)
* wip : python package

* wip : minor fixes

* wip : upload package to main pypi

* wip : initial text encoding

* wip : extending C api

* wip : use map of global instances

* wip : added decode functionality

* update main README
2021-01-17 17:36:50 +02:00