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
a0f5e9e3da
waver : display detected Rx in spectrogram
2021-02-28 09:33:55 +02: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
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
62b71c3322
ggwave : resampling fixes
...
The old output resampling was bugged and produced cracking in the audio
when the output sampling rate was different from the base sampling rate.
Additionally, the decoding wasn't properly handling resampled input in all
cases.
2021-02-21 00:16:43 +02:00
Georgi Gerganov
f4fb02d5d4
ggwave : add "soundMarkerThreshold" parameter
...
Can be used to control the threshold used for distinguishing odd from even
frequencies in the sound markers.
2021-02-21 00:13:28 +02:00