This commit is contained in:
Alex
2021-06-17 12:49:46 +03:00
parent bd9e4b19ae
commit 48e1fa1e98
12 changed files with 297 additions and 247 deletions
+13 -13
View File
@@ -1,21 +1,21 @@
// демо-пример: инициализация и настройки
// крупный приёмник SYN480R [VCC: 3.3-5.5V, logic: VCC]
// или MX-RM-5V (RF-5V) [VCC: 5V, logic: 5V]
// "медленный режим" для синих модулей SYN480R
// Объявляется перед подключением библиотеки
// Зелёным модулям не нужен!
#define G433_SLOW_MODE
// можно указать скорость, по умолч. стоит 2000 бит/с
// рабочий диапазон: 100-8000 бит/с
//#define G433_SPEED 1000
// дефайны перед подключением библиотеки
//#define G433_MANCHESTER // интерфейс Manchester Coding для экспериментов =)
//#define G433_SPEED 1000 // скорость 100-8000 бит/с, по умолч. 2000 бит/с
#include <Gyver433.h>
// Gyver433_TX<пин, буфер, CRC>
//Gyver433_RX<пин> rx;
//Gyver433_RX<пин, буфер> rx;
//Gyver433_RX<пин, буфер, CRC> rx;
// пин: цифровой пин
// буфер: размер приёмного буфера в байтах
// буфер: размер буфера в байтах. По умолч. 64
// CRC: проверка целостности данных: G433_CRC8 (надёжный), G433_XOR (лёгкий), G433_NOCRC (отключено). По умолч. G433_CRC8
Gyver433_RX<2, 20> rx; // указали пин и размер буфера
Gyver433_RX<2, 20> rx;
void setup() {
Serial.begin(9600);
@@ -25,7 +25,7 @@ void loop() {
// "тик" опрашивает радио и вернёт количество успешно принятых байт
// tick принимает асинхронно, но может ловить ошибки при загруженном коде
// tickWait блокирует выполнение, но принимает данные чётко
//if (rx.tick()) {
if (rx.tickWait()) {
// принятые данные доступны в .buffer
@@ -33,4 +33,4 @@ void loop() {
Serial.write(rx.buffer, rx.size);
Serial.println();
}
}
}
+14 -11
View File
@@ -1,21 +1,24 @@
// демо-пример: инициализация и настройки
// мелкий передатчик SYN115 [VCC: 1.8-3.6V, logic: VCC]
// или FS1000A [VCC: 3-12V, logic: 5V]
// "медленный режим" для синих модулей SYN115
// Объявляется перед подключением библиотеки
// зелёным модулям не нужен!
#define G433_SLOW_MODE
// можно указать скорость, по умолч. стоит 2000 бит/с
// рабочий диапазон: 100-8000 бит/с
//#define G433_SPEED 1000
// дефайны перед подключением библиотеки
//#define G433_FAST // короткая синхронизация для зелёных модулей
//#define G433_MEDIUM // средняя синхронизация для SYN480R при отправке ЧАЩЕ 400мс (активно по умолчанию)
//#define G433_SLOW // длинная синхронизация для SYN480R при отправке РЕЖЕ 400мс
//#define G433_MANCHESTER // интерфейс Manchester Coding для экспериментов =)
//#define G433_SPEED 1000 // скорость 100-8000 бит/с, по умолч. 2000 бит/с
#include <Gyver433.h>
// Gyver433_TX<пин, буфер, CRC>
//Gyver433_TX<пин> tx;
//Gyver433_TX<пин, буфер> tx;
//Gyver433_TX<пин, буфер, CRC> tx;
// пин: цифровой пин
// буфер: размер буфера в байтах. На "ручную" отправку буфер не нужен. По умолч. 64
// CRC: проверка целостности данных: G433_CRC8 (надёжный), G433_XOR (лёгкий), G433_NOCRC (отключено). По умолч. G433_CRC8
Gyver433_TX<2, 20> tx; // указали пин и размер буфера
Gyver433_TX<2, 20> tx;
void setup() {
}
@@ -34,4 +37,4 @@ void loop() {
// отправка 10 раз в сек
delay(100);
}
}
+4 -4
View File
@@ -1,5 +1,5 @@
// приём в прерывании. Отправляет пример demo_tx
#define G433_SLOW_MODE
//#define G433_SPEED 1000 // скорость 100-8000 бит/с, по умолч. 2000 бит/с
#include <Gyver433.h>
Gyver433_RX<2, 20> rx; // указали пин и размер буфера
@@ -11,16 +11,16 @@ void setup() {
}
void isr() {
rx.tickISR(); // спец тикер вызывается в прерывании по CHANGE
rx.tickISR(); // спец. тикер вызывается в прерывании по CHANGE
}
void loop() {
// .gotData() вернёт количество удачно принятых в прерывании байт
if (rx.gotData()) {
if (rx.gotData()) { // если больше 0
Serial.write(rx.buffer, rx.size);
Serial.println();
}
// имитация загруженного кода
delay(200);
delay(100);
}
+2 -2
View File
@@ -1,6 +1,6 @@
// обмен сырыми данными без CRC и буфера на отправку
// отправляет пример raw_tx
#define G433_SLOW_MODE
#include <Gyver433.h>
Gyver433_RX<2, 20, G433_NOCRC> rx; // буфер на приём нужен!
@@ -13,4 +13,4 @@ void loop() {
Serial.write(rx.buffer, rx.size);
Serial.println();
}
}
}
+4 -2
View File
@@ -1,8 +1,10 @@
// обмен сырыми данными без CRC и буфера на отправку
// принимает пример raw_rx
//#define G433_SPEED 1000 // скорость 100-8000 бит/с, по умолч. 2000 бит/с
#define G433_SLOW_MODE
#include <Gyver433.h>
Gyver433_TX<2, 0, G433_NOCRC> tx;
Gyver433_TX<2, 0, G433_NOCRC> tx; // буфер на отправку 0! Экономим
void setup() {
}
+1
View File
@@ -1,4 +1,5 @@
// выводим данные на дисплей. Отправляет пример demo_tx
//#define G433_SPEED 1000 // скорость 100-8000 бит/с, по умолч. 2000 бит/с
#include <Gyver433.h>
Gyver433_RX<2> rx; // указали пин
+2 -1
View File
@@ -1,6 +1,7 @@
// приём структуры данных
#define G433_SLOW_MODE
//#define G433_SPEED 1000 // скорость 100-8000 бит/с, по умолч. 2000 бит/с
#include <Gyver433.h>
Gyver433_RX<2, 10> rx; // указали пин и размер буфера
+4 -2
View File
@@ -1,6 +1,8 @@
// передача структуры данных
#define G433_SLOW_MODE
//#define G433_SPEED 1000 // скорость 100-8000 бит/с, по умолч. 2000 бит/с
#define G433_SLOW // отправляю раз в секунду на SYN480R
#include <Gyver433.h>
Gyver433_TX<2, 10> tx; // указали пин и размер буфера
@@ -25,7 +27,7 @@ void loop() {
tx.sendData(data);
Serial.println("Transmit:");
Serial.println("Transmitted:");
Serial.println(data.counter);
Serial.println(data.randomNum);
Serial.println(data.analog);