Commit Graph

93 Commits

Author SHA1 Message Date
Georgi Gerganov
cd8c47ea11 ggwave : reduce memory for fixed payload + fix bug in decoding 2022-07-04 21:18:20 +03:00
Georgi Gerganov
9cea484135 ggwave : add DSS tests + improve enums 2022-07-04 21:18:20 +03:00
Georgi Gerganov
c4947d75d7 ggwave : add DSS test + remove OperatingMode enum 2022-07-04 21:18:20 +03:00
Georgi Gerganov
ca84180f22 ggwave : add default constructor 2022-07-04 21:18:20 +03:00
Georgi Gerganov
4a21ad667c ggwave : add default constructor 2022-07-04 21:18:20 +03:00
Georgi Gerganov
bb187b0800 ggwave : zero-out the heap memory upon allocation 2022-07-04 21:18:20 +03:00
Georgi Gerganov
7918594b96 arduino : updating examples + fix memory alignment issue for rp2040 2022-07-04 21:18:20 +03:00
Georgi Gerganov
68367c2d09 ggwave : optimize memory footprint even more 2022-07-04 21:18:20 +03:00
Georgi Gerganov
535392d41f ggwave : remove <initializer_list> 2022-07-04 21:18:20 +03:00
Georgi Gerganov
f7d9e90078 remove-stl : update arduino tx examples 2022-07-04 21:18:20 +03:00
Georgi Gerganov
456fc7a886 remove-stl : almost complete - only <initializer_list> remains 2022-07-04 21:18:20 +03:00
Georgi Gerganov
e6d458e482 remove-stl : no longer using std::vector
However, the processing became ~4 times slower !?
2022-07-04 21:18:20 +03:00
Georgi Gerganov
4794508e04 remove-stl : prepare migration to ggvector 2022-07-04 21:18:20 +03:00
Georgi Gerganov
d916ad332b remove-stl : start removing stl completely 2022-07-04 21:18:20 +03:00
Georgi Gerganov
82f6274a55 arduino : update the examples for Tx and Rx 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
05f1b4750b ggwave : significantly speed-up fixed-length decoding on Arduino 2022-07-04 21:18:20 +03:00
Georgi Gerganov
1e41795fd3 ggwave : minor rename 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
f4020f63f9 ggwave : switch from uint8_t -> uint16_t for fixed length decoding
uint8_t does not work so well for some reason. Probably we lose
precission, although it's not obvious why
2022-07-04 21:18:20 +03:00
Georgi Gerganov
676163cc65 ggwave : remove <map> header dependency 2022-07-04 21:18:20 +03:00
Georgi Gerganov
4f94634611 ggwave : remove <functional> header dependency 2022-07-04 21:18:20 +03:00
Georgi Gerganov
c272d79429 ggwave : remove <chrono> and <memory> headers 2022-07-04 21:18:20 +03:00
Georgi Gerganov
8a89e3fd50 examples : remove ggwave-mod
No longer needed since the core ggwave lib now supports mono-tone
protocols
2022-07-04 21:18:20 +03:00
Georgi Gerganov
d752410c9c arduino-rx : generate Tx response 2022-07-04 21:18:20 +03:00
Georgi Gerganov
3c1afa9892 ggwave : reduce memory usage for fixed length decoding 2022-07-04 21:18:20 +03:00
Georgi Gerganov
069169f700 ggwave : add mono-tone protocols 2022-07-04 21:18:20 +03:00
Georgi Gerganov
83b9a55bd7 ggwave : do not compute Tx amplitudes when Tx only tones 2022-07-04 21:18:20 +03:00
Georgi Gerganov
3f9b100687 ggwave : compute Tx amplitudes always 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
2eb5f8dadf ggwave : reduce memory allocations on Tx 2022-07-04 21:18:20 +03:00
Georgi Gerganov
5578a62b88 ggwave : remove unused ampl i16 Tx buffer 2022-07-04 21:18:20 +03:00
Georgi Gerganov
7a0c1681b1 ecc : reduce memory allocations in reed-solomon lib 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
f4027d619f wip : pimpled Rx 2022-07-04 21:18:20 +03:00
Georgi Gerganov
6bbe8ecec3 wip : refactoring 2022-07-04 21:18:20 +03:00
Georgi Gerganov
05955a3ffa wip 2022-07-04 21:18:20 +03:00
Georgi Gerganov
7c2312d784 wip 2022-07-04 21:18:20 +03:00
Georgi Gerganov
5b709ed3d3 ggwave, waver : minor compile warning fixes 2022-02-05 13:18:52 +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
43bf2f17e1 ggwave : fix out-of-bounds access in ggwave_decode (#53)
Also, provide a memory-safe overload called ggwave_ndecode()
The overload takes an extra parameter that specifies the size of
the output buffer and thus limits the size of the Rx payload that can be
decoded and stored.
2021-09-21 07:07:12 +03:00
Georgi Gerganov
9cf2d476b8 Add interface for changing ggwave's internal logging (#52)
* ggwave : add interface for changing ggwave's internal logging

Using GGWave::setLogFile() it is now possible to change the log file
used internally by ggwave, or disable it all together.

* ggwave : add comments about thread-safety of setLogFile
2021-09-21 06:48:16 +03:00
Georgi Gerganov
d73b18426b ggwave : fix python build on Windows 2021-07-03 11:45:18 +03:00
Georgi Gerganov
ba87a651e3 ggwave : add option to query the generated tones
Calling the getWaveformTones() method after calling encode() gives a
list of the tones participating in the generated sound
2021-04-03 18:49:36 +03:00
Georgi Gerganov
1875faec9d cmake : fix emscripten install targets 2021-02-28 08:02:13 +00:00
Georgi Gerganov
a0f5e9e3da waver : display detected Rx in spectrogram 2021-02-28 09:33:55 +02:00
Georgi Gerganov
74f35ebcf0 waver : fix font loading and snap build 2021-02-27 22:36:36 +02:00
Georgi Gerganov
5f2bfd09ba msys2 : fix build 2021-02-27 09:47:13 -08:00
Georgi Gerganov
1c59e38696 ggwave : switch to floating point sampling rate 2021-02-27 12:23:25 +02:00
Georgi Gerganov
5b5293d764 Waver v1.4.0 (#23)
* waver : change default protocol

* waver : global scale to 1.25

* waver : more colors

* waver : resend last message

* waver : bigger send button

* waver : start with fixed-length enabled

* waver : fix spectrum display for fixed-length mode

* waver : add option to control input sample rate offset

* ggwave : improve fixed-length decoding

* examples-common : SDL now captures 1024 samples instead of 4096

* waver : spectrum improvements + spectrogram mode

* minor changes

* ggwave : add FFT static method

* waver : realtime spectrum display

* waver : fix dragging behavior

* waver : show current tx protocol in "Messages"

* waver : show frequency range and bandwidth of selected protocol

* waver : change sample rate offset function

output instead of input

* waver : add info about local peers

* waver : add option to pause spectrum by clicking it

* waver : minor

* waver : add option descriptions

* waver : fix data races

* waver : purple-ish background

* waver : cian-ish background

* waver : add option button to cancel receiving

* waver : add option to select Rx Protocols

* waver : change default protocol

* waver : fix displayed protocol for each message
2021-02-27 11:45:01 +02:00