Georgi Gerganov
bd10489d02
cmake : install headers ( close #82 )
2023-01-15 09:59:59 +02:00
Georgi Gerganov
d02960259b
ref #77 : add MT protocols to ggwave.js + new API for setting freqStart
2022-09-10 17:57:37 +03:00
Georgi Gerganov
649f73fd60
arduino : fix bug in the Reed-Solomon code that causes crashes on some MCUs
...
The issue was first reported here:
https://github.com/ggerganov/ggwave-arduino/issues/1
We were incorrectly reading the "log" array in RS::gf::pow() function.
It is surprising how this code even worked on the other microcontrollers.
Probably we have been reading bogus values, so I expect the performance of
the transmissions to improve after this change.
2022-09-03 15:40:40 +03:00
Georgi Gerganov
ef182eacbd
ggwave, ref #54 : add compile-time macro for disabling internal logging
2022-07-17 17:53:47 +03:00
Georgi Gerganov
a29fb485e1
ggwave : update tests
2022-07-12 23:52:33 +03:00
Georgi Gerganov
0ab93dfad3
ggwave : add filter function
...
Currently support the following filter:
- Hann window
- Hamming window
- First-order high-pass
2022-07-12 22:31:15 +03:00
Georgi Gerganov
d3d096ec2d
spectrogram : remove old FFT algorithm
...
Reuse the one embedded within ggwave through a static function
2022-07-11 18:31:56 +03:00
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