This commit is contained in:
Alex
2021-06-17 17:24:48 +03:00
parent 48e1fa1e98
commit d10b64cbe6
2 changed files with 9 additions and 7 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ void loop() {
if (++count >= 100) count = 0; if (++count >= 100) count = 0;
// отправка данных типа byte* // отправка данных типа byte*
tx.write(data, sizeof(data)); tx.write((byte*)data, sizeof(data));
// отправка 10 раз в сек // отправка 10 раз в сек
delay(100); delay(100);
+8 -6
View File
@@ -55,9 +55,9 @@ uint8_t G433_crc_xor(uint8_t *buffer, uint8_t size); // ручной CRC XOR
#endif #endif
// режимы CRC // режимы CRC
#define G433_CRC8 0 #define G433_NOCRC 0
#define G433_XOR 1 #define G433_CRC8 1
#define G433_NOCRC 2 #define G433_XOR 2
// количество синхроимпульсов // количество синхроимпульсов
#if defined(G433_FAST) #if defined(G433_FAST)
@@ -83,7 +83,8 @@ public:
// отправка, блокирующая. Кушает любой тип данных // отправка, блокирующая. Кушает любой тип данных
template <typename T> template <typename T>
void sendData(T &data) { bool sendData(T &data) {
if (sizeof(T) > TX_BUF) return 0;
const uint8_t *ptr = (const uint8_t*) &data; const uint8_t *ptr = (const uint8_t*) &data;
for (uint16_t i = 0; i < sizeof(T); i++) buffer[i] = *ptr++; for (uint16_t i = 0; i < sizeof(T); i++) buffer[i] = *ptr++;
if (CRC_MODE == G433_CRC8) { if (CRC_MODE == G433_CRC8) {
@@ -95,6 +96,7 @@ public:
} else { } else {
write(buffer, sizeof(T)); write(buffer, sizeof(T));
} }
return 1;
} }
// отправка сырого набора байтов // отправка сырого набора байтов
@@ -137,7 +139,7 @@ public:
} }
// доступ к буферу // доступ к буферу
uint8_t buffer[TX_BUF]; uint8_t buffer[TX_BUF + !!CRC_MODE];
private: private:
}; };
@@ -207,7 +209,7 @@ public:
uint16_t size = 0; uint16_t size = 0;
// доступ к буферу // доступ к буферу
uint8_t buffer[RX_BUF]; uint8_t buffer[RX_BUF + !!CRC_MODE];
private: private:
bool pinChanged() { bool pinChanged() {