From 33581cf029270355fe97a72ab1c904d0ffe7762b Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 30 May 2022 23:24:59 +0300 Subject: [PATCH] arduino-tx : trying to use original library --- examples/arduino-tx/.gitignore | 5 ++ examples/arduino-tx/CMakeLists.txt | 9 +++ examples/arduino-tx/arduino-tx.ino | 16 +++- examples/arduino-tx/arduino-tx.ino-working | 86 ++++++++++++++++++++++ 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 examples/arduino-tx/.gitignore create mode 100644 examples/arduino-tx/CMakeLists.txt create mode 100644 examples/arduino-tx/arduino-tx.ino-working diff --git a/examples/arduino-tx/.gitignore b/examples/arduino-tx/.gitignore new file mode 100644 index 0000000..efd47f2 --- /dev/null +++ b/examples/arduino-tx/.gitignore @@ -0,0 +1,5 @@ +ggwave +ggwave.cpp +resampler.h +resampler.cpp +reed-solomon diff --git a/examples/arduino-tx/CMakeLists.txt b/examples/arduino-tx/CMakeLists.txt new file mode 100644 index 0000000..6a61c55 --- /dev/null +++ b/examples/arduino-tx/CMakeLists.txt @@ -0,0 +1,9 @@ +# +# arduino-tx + +configure_file(${CMAKE_SOURCE_DIR}/include/ggwave/ggwave.h ${CMAKE_CURRENT_SOURCE_DIR}/ggwave/ggwave.h COPYONLY) +configure_file(${CMAKE_SOURCE_DIR}/src/ggwave.cpp ${CMAKE_CURRENT_SOURCE_DIR}/ggwave.cpp COPYONLY) +configure_file(${CMAKE_SOURCE_DIR}/src/reed-solomon/gf.hpp ${CMAKE_CURRENT_SOURCE_DIR}/reed-solomon/gf.hpp COPYONLY) +configure_file(${CMAKE_SOURCE_DIR}/src/reed-solomon/rs.hpp ${CMAKE_CURRENT_SOURCE_DIR}/reed-solomon/rs.hpp COPYONLY) +configure_file(${CMAKE_SOURCE_DIR}/src/reed-solomon/poly.hpp ${CMAKE_CURRENT_SOURCE_DIR}/reed-solomon/poly.hpp COPYONLY) +configure_file(${CMAKE_SOURCE_DIR}/src/reed-solomon/LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/reed-solomon/LICENSE COPYONLY) diff --git a/examples/arduino-tx/arduino-tx.ino b/examples/arduino-tx/arduino-tx.ino index 7673097..543dc38 100644 --- a/examples/arduino-tx/arduino-tx.ino +++ b/examples/arduino-tx/arduino-tx.ino @@ -8,7 +8,7 @@ const int kPinButton0 = 2; const int kPinButton1 = 4; void setup() { - //Serial.begin(57600); + Serial.begin(57600); //pinMode(kPinLed0, OUTPUT); //pinMode(kPinSpeaker, OUTPUT); @@ -64,6 +64,20 @@ bool isDown = false; void loop() { Serial.println("hello"); + auto p = GGWave::getDefaultParameters(); + p.sampleFormatInp = GGWAVE_SAMPLE_FORMAT_I16; + p.samplesPerFrame = 128; + p.payloadLength = 4; + p.operatingMode = (ggwave_OperatingMode) (GGWAVE_OPERATING_MODE_TX | GGWAVE_OPERATING_MODE_TX_ONLY_TONES); + + GGWave::getTxProtocols() = GGWave::TxProtocols({{ "[MT] Fastest", 24, 3, 1, 2, true, }}); + GGWave ggwave(p); + + while (true) { + delay(1000); + Serial.println("working"); + } + //int but0 = digitalRead(kPinButton0); //int but1 = digitalRead(kPinButton1); diff --git a/examples/arduino-tx/arduino-tx.ino-working b/examples/arduino-tx/arduino-tx.ino-working new file mode 100644 index 0000000..7673097 --- /dev/null +++ b/examples/arduino-tx/arduino-tx.ino-working @@ -0,0 +1,86 @@ +#include + +#include "ggwave/ggwave.h" + +const int kPinLed0 = 13; +const int kPinSpeaker = 10; +const int kPinButton0 = 2; +const int kPinButton1 = 4; + +void setup() { + //Serial.begin(57600); + + //pinMode(kPinLed0, OUTPUT); + //pinMode(kPinSpeaker, OUTPUT); + //pinMode(kPinButton0, INPUT); + //pinMode(kPinButton1, INPUT); + + //delay(3000); + + //digitalWrite(kPinLed0, HIGH); + //GGWave::send_text(kPinSpeaker, "Hello!", GGWave::TX_ARDUINO_512_FASTEST); + //digitalWrite(kPinLed0, LOW); + + //delay(2000); + + //digitalWrite(kPinLed0, HIGH); + //GGWave::send_text(kPinSpeaker, "This is a", GGWave::TX_ARDUINO_512_FASTEST); + //GGWave::send_text(kPinSpeaker, "ggwave demo", GGWave::TX_ARDUINO_512_FASTEST); + //digitalWrite(kPinLed0, LOW); + + //delay(2000); + + //digitalWrite(kPinLed0, HIGH); + //GGWave::send_text(kPinSpeaker, "The arduino", GGWave::TX_ARDUINO_512_FASTEST); + //delay(200); + //GGWave::send_text(kPinSpeaker, "transmits data", GGWave::TX_ARDUINO_512_FASTEST); + //delay(200); + //GGWave::send_text(kPinSpeaker, "using sound", GGWave::TX_ARDUINO_512_FASTEST); + //delay(200); + //GGWave::send_text(kPinSpeaker, "through a buzzer", GGWave::TX_ARDUINO_512_FASTEST); + //digitalWrite(kPinLed0, LOW); + + //delay(1000); + + //digitalWrite(kPinLed0, HIGH); + //GGWave::send_text(kPinSpeaker, "The sound is", GGWave::TX_ARDUINO_512_FASTEST); + //delay(200); + //GGWave::send_text(kPinSpeaker, "decoded in a", GGWave::TX_ARDUINO_512_FASTEST); + //delay(200); + //GGWave::send_text(kPinSpeaker, "web page.", GGWave::TX_ARDUINO_512_FASTEST); + //digitalWrite(kPinLed0, LOW); + + //delay(1000); + + //digitalWrite(kPinLed0, HIGH); + //GGWave::send_text(kPinSpeaker, "Press the button!", GGWave::TX_ARDUINO_512_FASTEST); + //digitalWrite(kPinLed0, LOW); +} + +char txt[16]; +int pressed = 0; +bool isDown = false; + +void loop() { + Serial.println("hello"); + + //int but0 = digitalRead(kPinButton0); + //int but1 = digitalRead(kPinButton1); + + //if (but1 == LOW && isDown == false) { + // delay(200); + // ++pressed; + // isDown = true; + //} else if (but1 == HIGH) { + // isDown = false; + //} + + //if (but0 == LOW) { + // snprintf(txt, 16, "Pressed: %d", pressed); + + // digitalWrite(kPinLed0, HIGH); + // GGWave::send_text(kPinSpeaker, txt, GGWave::TX_ARDUINO_512_FASTEST); + // digitalWrite(kPinLed0, LOW); + // pressed = 0; + //} +}