Чтение и эмуляция датчиков Oregon Scientific (433Mhz)

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

В библиотеках Arduino  IDE 1.8.5 появилась ссылка на библиотеку чтения датчиков https://github.com/Mickaelh51/Arduino-Oregon-Library . ну помимо этого накопал еще несколько библиотек трансмитеров.. буду тестить.

Еще вопрос, кто чинил сам орегоновский датчик, иногда перестает передавать.. или киньтесь их схемкой

Porosenok
Offline
Зарегистрирован: 06.11.2016

По результатам возни с осциллографом подправил свою библиотеку (https://github.com/invandy/Oregon_NR). В моём случае датчики стали слышны устойчивее и заметно дальше.

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

Вы не дадите комментарии по использованию в вашей библиотеке чтения датчиков газа и дыма ?

valkir
Offline
Зарегистрирован: 18.10.2018

porosenok

Спасибо вам за библиотеку, она принимает гораздо лучше чем рекомендуемая на других ресурсах бибилиотека от jeelabs.net

Использую датчики на дачном участке в теплице, ловит с 40 метров. Приемник в деревянном доме.

Библиотека норм работает как на Pro Mini так и на ESP8266.

ДЛя отслальных могу сказать, если плохо принимает. Экспериментируйте с приемниками. Я заказал с али 4 версии различных. Одни например норм работают только на 5В, а на 3.3в при формально заявленной возможности не ловят вообще ничего, другие имеют низкую избирательность и прием только в 1м получается.

Самые хорошие результаты на получились на RX470B-V02 от  qiachip

Так как у меня есть датчики oregon версий v2 и v3 например анемометр, мне пришлось собрать монстра с двумя антенами, esp8266 ловит v2 а Mini Pro v3 общаются по UART и esp8266 передает показания на thingspeak

Porosenok
Offline
Зарегистрирован: 06.11.2016

kaluganin пишет:

Вы не дадите комментарии по использованию в вашей библиотеке чтения датчиков газа и дыма ?

Да всё просто. Поскольку библиотека неплохо справляется с приёмом пакетов определённой длины, завернуть в этот пакет можно много чего другого. Вот и напридумывал своих типов датчиков и свои поля. В доме теперь на в этом формате передают датчики загазованности, тока и напряжения, пожарная и охранная сигнализация. Даже емкостной датчик осадков со двора вещает.

Porosenok
Offline
Зарегистрирован: 06.11.2016

Поинтересовался, что теперь выпускает Орегон. Новые трёхканальные погодные станции комплектуются теперь не 132-ыми датчиками. Теперь у них в комплекте идёт THGR511, который тоже трёхканальный, бъёт только на 30 метров, но при этом протокол V3.0. Кто-нибудь уже их копал?

Porosenok
Offline
Зарегистрирован: 06.11.2016

Понадобилось сделать автономный имитатор орегонвского датчика. Судя по тому, что здесь пишут - даже в спящем режиме ардуино сжирает емкость литиевых аккумуляторов за несколько недель. А хочется по взрослому - от 2ух-3ех пальчиков и сезон, как минимум. Накопал разработанный специально для этих целей таймер TPL5110:

https://www.ti.com/lit/ds/symlink/tpl5110.pdf

Ток потребления в режиме ожидания - около 35na. ИНтервал запуска - до 7200с.

Схему вижу вот так:

Работать должно даже от 2-ух "пальчиков". Но проблема такова - точность внутреннего генератора таймера - 1%. Даже при использовании прецизионных резисторов будет постепенный уход от требуемого интервала передачи. Если при использовании приёмника на это, мягко говоря, плевать, то орегоновская погодная станция может отнестись к такому отклонению очень скептически и просто вычеркнуть датчик из списка принимаемых.

Porosenok
Offline
Зарегистрирован: 06.11.2016

В общем экспериментальный датчик я собрал.

Вкратце техническое задание можно сформулировать так:
- Cымитировать на ардуино датчик Oregon THGN132, но работающий от "пальчиковых" батареек. Работающий долго.
- Батарейки должны выжиматься до полного разряда.
- Сенсор BME280
- Возможность передачи данных также и об атмосферном  давлении и напряжении батареи.
- сделать по возможности легко повторяемую модульную конструкцию.

От усыпления ардуино отказался. Во-первых, помимо ардуино надо усыплять и сенсор с передатчиком. Хотя, это вопрос, конечно легко решаемый коммутации цепи питания полевым транзистором.
Во-вторых, при падении напряжения упадёт и мощность передатчика.
Во-третьих, ардуино не выжмет батарейки до последнего, а отрубится на 2.7В

В итоге решил экономить электричество с помощью таймер TPL5110. Тут тоже не всё гладко. Готовые недешевые модули выпускает только Adafruit, китайских клонов нет. Кроме того точность времени срабатывания таймера около 10%. Не факт, что оригинальная погодная станция захочет принимать пакеты при такой точности соблюдении интервала между ними.

Схему собранного устройства, его фото, а также фото самосборной платы таймера прилагаю.


Ссылки на компоненты:
DC/DC
https://ru.aliexpress.com/item/1-DC-DC/32843722601.html

BME280
https://ru.aliexpress.com/item/BME280/32672210336.html

AO3401
https://ru.aliexpress.com/item/free-shipping-20PCS-AO3401-SOT-23-P-Chann...

TPL5110
https://ru.aliexpress.com/item/2-TPL5110DDCR-TPL5110DDCT-TPL5110-ZALX-IC...

BSS138 выпаял с левелшифтера.
https://ru.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Directio...

Макетка для таймера
https://ru.aliexpress.com/item/FREE-SHIPPING-20PCS-SOT23-SOP10-MSOP10-UM...

Передатчик из комплекта
https://ru.aliexpress.com/item/1pair-2pcs-433mhz-rf-transmitter-and-rece...

Измерил ток, потребляемый устойством в режиме передачи и время работы устройства. ПРи прошивке через USB получилось очень долго. Около 1.5с загрузчик стоит и ждёт неизвестно чего. Но ток при этом устройство потребляется исправно. При прошивке Arduino через ISP голого HEX без загрузчика - время работы сократилось до 600мс. Из них 200мс - старт и опрос датчика, и 400мс - передача пакета в эфир.
На прилагаемой осциллограмме показан ток, потребляемый от источника напряжением 2В. Клетка по горизонтали 100мс, по вертикали - 50мА.

Итого потребляемая мощность в рабочем режиме около 0.15 Вт.  ПРи цикле передачи 36с имеем среднюю потребляемую мощность 2.5мВт. Щелочная батарейка АА имеет емкость около 2.25Втч. Трёх батареек должно хватить на 2700 часов работы -  не менее трёх месяцев. Хотелось бы в это верить...

 

Porosenok
Offline
Зарегистрирован: 06.11.2016

После исследований на осциллографе пришёл к выводу, что ошибался. Повышающий DC/DC имеет слишком низкий КПД на малых токах потребления, при этом и стабилизатор из него получается весьма скверный. Без него стабильность напряжения на передатчике даже выше, а потребляемый устройством ток - меньше. Схема в итоге получила следующий вид:

При падении напряжения батареи до 2.7В, напряжение на передатчике падает до предельных 2В. Так что наверное и фьюзы перешивать не надо на 1.8В. Но я на всякий случай перешил и проверил. Передатчик перестёт работать при напряжении батареи 2.5В. Стоит ли эти 0.2В возни с перешивкой фьюзов? Не знаю даже...

Резистор R3 ограничивает ток от батарейки и обеспечивает стабильную работу таймера. Без него таймер может не давать схеме запуститься вообще. Возможно можно использовать резистор и меньшего номинала, но у меня другого не было.

Измерение напряжения батареи работет от внутреннего опорного источника 1.1В и даёт какие-то странные результаты.
Значения с АЦП, в зависимости от напряжения батареи приходят следующие:
2.5В - 3FFh
2.7В - 3C0h
3.0В - 380h
3.5В - 300h
4.0В - 2C5h
4.5В - 2D7h

Экстремум этой функции искать не стал. В принципе и так можно оценить состояние батареи и выставить соответсвующий бит в орегоновском пакете данных.

Porosenok
Offline
Зарегистрирован: 06.11.2016

Скетч передатчика прилагаю. Проверено на приёме на на погодных станциях BAR208 и BAR206. Точность настройки таймера, чтобы станция не теряла датчки  должна быть +-1сек.

#include <Wire.h>
#include <BME280I2C.h>

# define THGN_SEND        1  // Передача данных в формате THGN132
# define THP_SEND         0  // Передача данных в проприетарном формате THP
//# define DEVICE_LOG          //Писать ли лог В Serial

//Ниблы датчика THP
//Во всех полях младшие ниблы идут вперёд!!!
// 1-2    - тип (55)
// 3      - канал (0-7)
// 4-6    - (температура от -100С) * 10. Т.е. +25.1С = 1251 = 4E3h 
// 7-9    - Влажность *10 Т.е. 25.1% = 251 = 0FBh
// 10-12  - (давление от 500ммртст) * 10. Т.е. 765мм = 2650 = A5Ah
// 13-15  - данные с АЦП (A0)
// 16-17  - CheckSUM 
// 18-19  - CRC8 (poly 0x07 start 0x00)

# define TX_PIN           4       // Порт ООК передатчика
# define DONE_PIN         15      // Сигнал на таймер
# define BATTERY_PIN      0       // A0 - напряжение батареи

# define BME_WAIT         10      // Сколько мс ожидать датчик
# define BATTERY_THR      0x03B0  // Порог значения АЦП для выставляения флага разряда батарейки (THGN)

const unsigned long TIME = 488;
const unsigned long TWOTIME = TIME*2;

#define SEND_HIGH() digitalWrite(TX_PIN, HIGH)
#define SEND_LOW() digitalWrite(TX_PIN, LOW)
 
byte OregonMessageBuffer[10];
unsigned long time_marker = 0;


BME280I2C bme;  
bool  bme_present = false;
float bme_temp(NAN), bme_hum(NAN), bme_pres(NAN);


///////////////////////////////////////////////////////////////////////////////////////////////////
// Функции передатчика////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
inline void sendZero(void)
{
  while (time_marker+TIME*4>=micros());
  time_marker+=TIME*4;
  SEND_HIGH();
  delayMicroseconds(TIME);
  SEND_LOW();
  delayMicroseconds(TWOTIME);
  SEND_HIGH();
}

inline void sendOne(void)
{
   while (time_marker+TIME*4>=micros());
   time_marker+=TIME*4;
   SEND_LOW();
   delayMicroseconds(TIME);
   SEND_HIGH();
   delayMicroseconds(TWOTIME);
   SEND_LOW();
}

inline void sendQuarterMSB(const byte data)
{
  (bitRead(data, 4)) ? sendOne() : sendZero();
  (bitRead(data, 5)) ? sendOne() : sendZero();
  (bitRead(data, 6)) ? sendOne() : sendZero();
  (bitRead(data, 7)) ? sendOne() : sendZero();
  time_marker += 4;
}
 
inline void sendQuarterLSB(const byte data)
{
  (bitRead(data, 0)) ? sendOne() : sendZero();
  (bitRead(data, 1)) ? sendOne() : sendZero();
  (bitRead(data, 2)) ? sendOne() : sendZero();
  (bitRead(data, 3)) ? sendOne() : sendZero();
  time_marker += 4;
}

void sendData(byte *data, byte size)
{
  for(byte i = 0; i < size; ++i)
  {
    sendQuarterMSB(data[i]);
    if (i < (size - 1))
    sendQuarterLSB(data[i]);
    time_marker+=9;
  }
}
 
void sendOregon(byte *data, byte size)
{
    time_marker=micros();
    sendPreamble();
    sendSync();
    sendData(data, size);
}

inline void sendPreamble(void)
{
  byte PREAMBLE[]={0xFF,0xFF};
  sendData(PREAMBLE, 2);
}
 
inline void sendSync(void)
{
  sendQuarterLSB(0xA);
}

///////////////////////////////////////////////////////////////////////////////////////////////////
// Функции кодирования данных THP//////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////

void setTypeTHP(byte *data)
  {
    data[0] = 0x55;
  }
  
void setChannelTHP(byte *data, byte channel)
  {
  data[1] &= 0x0F;
  data[1] += channel << 4;
  }
  
void setBatteryTHP(byte *data, word bat_voltage)
  {
    data[6] = (bat_voltage & 0x0FF0) >> 4;
    data[7] &= 0x0F;
    data[7] += (bat_voltage & 0x000F) << 4;
  }
  
void setTemperatureTHP(byte *data, float bme_temperature)
  {
    word temp_code;
    if (bme_temperature < -100 || bme_temperature > 100) temp_code = 0x0FFF;
    else temp_code = (word)((bme_temperature + 100) * 10);
    data[2] = temp_code & 0x00FF;
    data[1] &= 0xF0;
    data[1] += (temp_code & 0x0F00) >> 8;
  }
  
void setHumidityTHP(byte *data, float bme_humidity)
  {
    word hum_code;
    if (bme_humidity > 100) hum_code = 0x0FFF;
    else hum_code = (word)(bme_humidity * 10);
    data[3] = (hum_code & 0x0FF0) >> 4;
    data[4] &= 0x0F;
    data[4] += (hum_code & 0x000F) << 4;
  }

void setPressureTHP(byte *data, float bme_pressure)
  {
    word pres_code;
    if (bme_pressure < 500) pres_code = 0x0000;
    else pres_code = (word)((bme_pressure - 500) * 10);
    data[5] = pres_code & 0x00FF;
    data[4] &= 0xF0;
    data[4] += (pres_code & 0x0F00) >> 8;
  }

void setErrorTHP(byte *data)
  {
    data[1] |= 0x0F;
    data[2] = 0xFF;
    data[3] = 0xFF;
    data[4] = 0xFF;
    data[5] = 0xFF;
    data[6] = 0xFF;
    data[7] |= 0xF0;
  }
void SendPacketTHP(byte* data, int datasize)
{
  calculateAndSetChecksumTHP(data);
  
#ifdef DEVICE_LOG    
  for (byte i = 0; i < datasize; ++i)   
    {
      Serial.print(data[i] >> 4, HEX);
      if (i < (datasize - 1) )
      Serial.print(data[i] & 0x0F, HEX);
    }  
  Serial.println();
#endif
  
  sendOregon(data, datasize);
  SEND_LOW();
  delayMicroseconds(TWOTIME*15);
  sendOregon(data, datasize);
  SEND_LOW();
}

void calculateAndSetChecksumTHP(byte* data)
{
  byte CCIT_POLY = 0x07;
  data[7] = data[7] & 0xF0;
  data[8] = 0x00;
  data[9] = 0x00;
  byte summ = 0x00;
  byte crc = 0x00;
  byte cur_nible;
  for(int i = 0; i<8; i++) 
  {
    cur_nible = (data[i] & 0xF0) >> 4;
    summ += cur_nible;
    crc ^= cur_nible;
    for(int j = 0; j < 4; j++)
      if (crc & 0x80) crc = (crc << 1) ^ CCIT_POLY;
      else crc <<= 1;
      
    cur_nible = data[i] & 0x0F;
    summ += cur_nible;
    crc ^= cur_nible;
    for(int j = 0; j < 4; j++)
      if (crc & 0x80) crc = (crc << 1) ^ CCIT_POLY;
      else crc <<= 1;
  }
  data[7] += summ & 0x0F;
  data[8] += summ & 0xF0;
  data[8] += crc & 0x0F;
  data[9] += crc & 0xF0;
}

///////////////////////////////////////////////////////////////////////////////////////////////////
// Функции кодирования данных THGN132//////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
inline void setType(byte *data, byte* type)
  {
    data[0] = type[0];
    data[1] = type[1];
  }

inline void setChannel(byte *data, byte channel)
  {
      data[2]&= 0x0F;
      data[2] += channel & 0xF0;
  }

inline void setId(byte *data, byte ID)
  {
    data[2]&= 0xF0;
    data[2] += ID & 0xF0 >> 4;
    data[3]&= 0x0F;
    data[3] += ID & 0x0F << 4;
  }

void setBatteryLevel(byte *data, byte level)
  {
    data[3] &= 0xF0;
    if (!level) data[3] += 0x0C;
  }
  
void setTemperature(byte *data, float temp)
  {
    if(temp < 0)
    {
      data[5] = 0x08;
      temp *= -1;
    }
    else
    {
      data[5] = 0x00;
    }
    byte tempInt = (byte)temp;
    byte td = (tempInt / 10);
    byte tf = tempInt - td * 10;
    byte tempFloat = (temp - (float)tempInt) * 10;
    
    data[5] += (td << 4);
    data[4] = tf;
    data[4] |= (tempFloat << 4);
  }

  void setHumidity(byte* data, byte hum)
  {
      data[6] = (hum/10);
      data[6] += (hum - (data[6] * 10)) << 4;
      data[7] = 0x80;
  }

void calculateAndSetChecksum(byte* data)
{
  byte CCIT_POLY = 0x07;
  data[7] = data[7] & 0xF0;
  data[8] = 0x00;
  data[9] = 0x00;
  byte summ = 0x00;
  byte crc = 0x3C;
  byte cur_nible;
  for(int i = 0; i<8; i++) 
  {
    cur_nible = (data[i] & 0xF0) >> 4;
    summ += cur_nible;
    if (i !=3)
    {
      crc ^= cur_nible;
      for(int j = 0; j < 4; j++)
      if (crc & 0x80) crc = (crc << 1) ^ CCIT_POLY;
      else crc <<= 1;
    }  
    cur_nible = data[i] & 0x0F;
    summ += cur_nible;
    if (i !=2)
    {
      crc ^= cur_nible;
      for(int j = 0; j < 4; j++)
      if (crc & 0x80) crc = (crc << 1) ^ CCIT_POLY;
      else crc <<= 1;
    }  
  }
  data[7] += summ & 0x0F;
  data[8] += summ & 0xF0;
  data[8] += crc & 0x0F;
  data[9] += crc & 0xF0;
}

void SendPacket(byte* data, int datasize)
{
  calculateAndSetChecksum(data);
  
#ifdef DEVICE_LOG    
  for (byte i = 0; i < datasize; ++i)   
    {
      Serial.print(data[i] >> 4, HEX);
      if (i < (datasize - 1) )
      Serial.print(data[i] & 0x0F, HEX);
    }  
  Serial.println();
#endif  

  sendOregon(data, datasize);
  SEND_LOW();
  delayMicroseconds(TWOTIME*15);
  sendOregon(data, datasize);
  SEND_LOW();
}
  /////////////////////////////////////////////////////////////////////////////////////////////////
// Основные функции////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
  void setup()
  {
    analogReference(INTERNAL);     //Опорное напряжение = 1.1в
    digitalWrite(DONE_PIN, LOW);   
    SEND_LOW();
    pinMode(TX_PIN, OUTPUT);
    pinMode(DONE_PIN, OUTPUT);
    
#ifdef DEVICE_LOG
    Serial.begin(115200);     
    Serial.println("Waiting for BMEsensor...");
#endif

    //Обмен данными с датчиком//////////////////////////////////
    Wire.begin();
    while(!bme.begin())
    {
      if (millis() > BME_WAIT) break;
    }
    if (!bme.begin())
    {
#ifdef DEVICE_LOG                             
      Serial.println("No BME sensor found");
#endif      
      bme_present = false;
    }
    else
    {
      switch(bme.chipModel())
      {
        case BME280::ChipModel_BME280:
           bme_present = true;
           bme.read(bme_pres, bme_temp, bme_hum);
#ifdef DEVICE_LOG                       
          Serial.println("Found BME280 sensor! Success.");
          Serial.print("Temperature = ");
          Serial.print(bme_temp, 1);
          Serial.println("C");
          Serial.print("Humidity = ");
          Serial.print(bme_hum, 1);
          Serial.println("%");
          Serial.print("Pressure = ");
          Serial.print(bme_pres * 0.75, 1);
          Serial.println("mmHg");
#endif                     
          break;
        default:
#ifdef DEVICE_LOG                       
            Serial.println("Found UNKNOWN sensor! Error!");
#endif
            bme_present = false;

      }
    }

    //Проверка напряжения баттареи///////////////////////////////////////////
    word battvotage = analogRead(BATTERY_PIN);
#ifdef DEVICE_LOG
    Serial.print("Battery voltage = ");
    Serial.print(battvotage, HEX);
#endif
    
    //Подготовка и отправка данных THGN//////////////////////////////////////

    if (THGN_SEND)
    {
      byte Sensor_type[] = {0x1D,0x20};           //Тип - THGN132
      setType(OregonMessageBuffer, Sensor_type);
      setChannel(OregonMessageBuffer, 0x40);      // Канал: 1- 0x10, 2 - 0x20, 3 - 0x40
      setId(OregonMessageBuffer, 0xBB);           // ID
      bool battery_l = 0;
      if (battvotage > BATTERY_THR) battery_l = false; 
      setBatteryLevel(OregonMessageBuffer, battery_l); //Флаг разряда батарейки
      if (bme_present)
      {
        if (bme_hum > 98) bme_hum = 98;
        if (bme_hum < 2) bme_hum = 2;
        if (bme_temp > 70) bme_temp = 70;
        if (bme_temp < -50) bme_temp = -50;
        setTemperature(OregonMessageBuffer, bme_temp);
        setHumidity(OregonMessageBuffer, bme_hum);  
      }
      else
      {
        setTemperature(OregonMessageBuffer, -49.9);
        setHumidity(OregonMessageBuffer, 2.0);  
      }
      SendPacket(OregonMessageBuffer, sizeof(OregonMessageBuffer));
    }
    
    // Если отправляются оба формата пакетов, межу ними надо выдержать паузу
    if (THP_SEND && THGN_SEND) delay(100);
    
    //Подготовка и отправка данных THP//////////////////////////////////////
    if (THP_SEND)
    {
      setTypeTHP(OregonMessageBuffer);
      setChannelTHP(OregonMessageBuffer, 0x00);          //Канал - 0
      setBatteryTHP(OregonMessageBuffer, battvotage);
      if (bme_present)
      {
        setTemperatureTHP(OregonMessageBuffer, bme_temp);
        setHumidityTHP(OregonMessageBuffer, bme_hum);  
        setPressureTHP(OregonMessageBuffer, bme_pres * 0.75);  // перевод Pa в mmHg
      }
      else
      {
        setErrorTHP(OregonMessageBuffer);  
      }
      SendPacketTHP(OregonMessageBuffer, sizeof(OregonMessageBuffer));
    }
    
#ifdef DEVICE_LOG    
    Serial.println();
    Serial.print(millis());
    Serial.println("ms");
    Serial.println();
#endif
    //Команда на отключение питания
    digitalWrite(DONE_PIN, HIGH);
  }

  void loop()
  {
  
  }
Porosenok
Offline
Зарегистрирован: 06.11.2016

Библиотека Oregon_NR с поддержкой датчика THP.

https://github.com/invandy/Orgeon_NR_THP

Porosenok
Offline
Зарегистрирован: 06.11.2016

Обновил библиотеку https://github.com/invandy/Orgeon_NR

Из нового:

- Добавлена поддержка протокола v3

- Добавлено распознавание датчиков RTGN318, THGR810, WGR800, UVN800

- Улучшены функции восстановления кода

- Добавлена возможность экономии памяти (с некоторым ухудшением качества приёма, естествено)

Убедительная просьба - проверить библиотеку и отписаться, как оно работает. Вживую проверял только на датчиках THGN132, THN132 и WGR800. 

 

romasu
Offline
Зарегистрирован: 11.04.2016

Porosenok пишет:

Обновил библиотеку https://github.com/invandy/Orgeon_NR

Убедительная просьба - проверить библиотеку и отписаться, как оно работает. Вживую проверял только на датчиках THGN132, THN132 и WGR800. 

Добрый день!

Скачал последнюю версию библиотеки, тестирую на Nano+ датчик WGR800

декодирование нестабильное (причем теряются в среднем 1-2 последних байта сообщения)

лог:

⸮Start!!!3s 3   p 198405B020C000000..  314ms 

17s 3  d  198405B020C000000..  314ms 
31s 3  d  198405B020C000000..  312ms 
45s 3 s   198405B020C000000..  314ms 
59s 3  d  198405B020C000000..  313ms 
61s 3  d  ...................  411ms 
73s 3 sdp 198405B020C000000..  314ms 
83s   s   3....FF..9.........  392ms 
87s 3  d  198405B020C000000..  313ms 
101s 3 sd  198405B020C000000..  139ms 
115s 3 s   198405B020C000000..  313ms 
129s 3 s p 198405B020C000000..  313ms 
171s 3 s p 198405B020C000000..  312ms 
185s 3     198405B020C000000..  314ms 
199s 3  dp 198405B020C000000..  313ms 
213s 3  dp 198405B020C000000..  314ms 
254s 3 s   198405B0...........  313ms 
266s 3  d  ...................  356ms 
268s 3   p 198405B020C000000..  314ms 
282s 3   p 198405B020C000000..  313ms 
296s 3   p 198405B020C000000..  313ms 
299s 3     A..................  314ms 
310s 3  dp 198405B020C000000..  312ms 
324s 3 sd  198405B020C000000..  140ms 
338s 3  d  198405B020C000000..  314ms 
352s 3 s p 198405B020C0000004.  312ms 
366s 3   p 198405B020C000000..  313ms 
394s 3 s   198405B020C000000..  313ms 
408s 3     198405B020C000000..  313ms 
422s 3     198405B020C000000..  315ms 
 
Приемник WL101-341 (с квартцем)
 
датчик за в другой комнате (за одной бетонной стенкой). 
Размещение датчика возле приемника картину улучшает, но незначительно.
 
 
Готов отправить любые логи.

 

romasu
Offline
Зарегистрирован: 11.04.2016

На всякий случай расширенные логи с 1 успешным декодированием, может это поможет:

1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOIIOOOOOOOOOIIOOOO..... OSV:3 SYN:22 TIME:3

3s 3 s   198405B0B0C0006003.  319ms 
1)     III...............                                                                                        OSV:3 SYN:NO TIME:4
1)     III.............................................................                                          OSV:3 SYN:NO TIME:8
1)     III...................................................................................................... OSV:3 SYN:NO TIME:10
1)     III...................                                                                                    OSV:3 SYN:NO TIME:11
1)     IIIII...............................................................                                      OSV:3 SYN:NO TIME:13
1)     IIIOI.............................................................                                        OSV:3 SYN:NO TIME:16
1)     IIIO..................................................................................................... OSV:3 SYN:NO TIME:17
2)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOO                                                  OSV:3 SYN:22 COR: 19
RESULT IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOO                                                  
17s 3     198405B0B0C000600..  158ms 
1)     III..........................................................                                             OSV:3 SYN:NO TIME:24
1)     I.iiiiiIIiiiiIO..oiiiiiiiiiiiiIO.....iiiiiiiiiOII.ii..ooo.........io                                      OSV:2 SYN:NO TIME:26
1)     Io..oOIOIoiiioo.OO..OO                                                                                    OSV:2 SYN:5 TIME:27
2)     Io.oii...iOOiiIII.IOio                                                                                    OSV:2 SYN:NO COR: 3
RESULT Io..oOIOIoiIIIoIOO.OOO                                                                                    
1)     III.................................                                                                      OSV:3 SYN:NO TIME:27
1)     III...................................................................................................... OSV:3 SYN:NO TIME:29
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOOIOIIIIOOI.. OSV:3 SYN:22 TIME:31
31s 3 s p 198405B0B0C000000D3  318ms 198405B0B0C000000D3 TYPE: WGR800 AVG WS: 0.0m/s MAX WS: 0.0m/s QUADRANT: 11 ID: 5B
1)     III...................................................................................................... OSV:3 SYN:NO TIME:38
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOOIOIIIO..... OSV:3 SYN:22 TIME:45
45s 3 sd  198405B0B0C000000D.  321ms 
1)     III...................................................................................................... OSV:3 SYN:NO TIME:50
1)     III...................................................................................................... OSV:3 SYN:NO TIME:52
1)     IOIo.........iii..                                                                                        OSV:2 SYN:NO TIME:53
1)     I....ooo....oo.oioo...iiiIIiIOo.OOOo.iiiiiiiiiio                                                          OSV:2 SYN:NO TIME:57
1)     III...................................................................................................... OSV:3 SYN:NO TIME:59
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOOIOIIIO..... OSV:3 SYN:22 TIME:59
59s 3 s p 198405B0B0C000000D.  319ms 
1)     III...................................................................................................... OSV:3 SYN:NO TIME:62
1)     I..iiiiiiioo..                                                                                            OSV:2 SYN:NO TIME:63
1)     IIIOI.................................................................................................... OSV:3 SYN:NO TIME:66
1)     III...................................................................................................... OSV:3 SYN:NO TIME:68
1)     IOioii...iOOiii.IOI.ii                                                                                    OSV:2 SYN:1 TIME:70
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOO........... OSV:3 SYN:22 TIME:73
73s 3     198405B0B0C000000..  320ms 
1)     III................                                                                                       OSV:3 SYN:NO TIME:75
1)     III...................................................................................................... OSV:3 SYN:NO TIME:80
1)     III...................................................................................................... OSV:3 SYN:NO TIME:82
1)     IIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOOIOIII........... OSV:3 SYN:17 TIME:87
87s 3  d  198405B0B0C000000D.  314ms 
1)     III.......................                                                                                OSV:3 SYN:NO TIME:91
2)     IIIO...............................................................................................       OSV:3 SYN:NO COR: 0
RESULT IIIO...............................................................................................       
1)     III.....                                                                                                  OSV:3 SYN:NO TIME:93
1)     IIII.............................................................................................         OSV:3 SYN:NO TIME:98
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOO........... OSV:3 SYN:22 TIME:101
101s 3 sd  198405B0B0C000000..  321ms 
1)     III...........................................                                                            OSV:3 SYN:NO TIME:105
1)     III...................................................................................................... OSV:3 SYN:NO TIME:109
1)     Io.iiiiiiiiiiiiIIoo.IIiiiiiiii...iooi.IOo.oiiiiioo...ooi.iiiiiiiiioo..iiiIIiiii.iiii.oiIIIioo........iioo OSV:2 SYN:NO TIME:110
1)     III...................................................................................................... OSV:3 SYN:NO TIME:112
1)     IOOOIIOIIOIOOOIIOOIIIOIIOIOIOOIIIIIIOIIOOIIOOOOOIOIOIO.................                                   OSV:3 SYN:NO TIME:112
2)     IIIOIOOOIIOIO                                                                                             OSV:3 SYN:NO COR: -14
RESULT IIIOIOOOIIOIO                                                                                             
1)     IOOiiIOI.oi.o                                                                                             OSV:2 SYN:NO TIME:113
1)     III.........................                                                                              OSV:3 SYN:NO TIME:113
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOO........... OSV:3 SYN:22 TIME:115
115s 3 s   198405B0B0C000000..  319ms 
1)     IIIO..................................................................................................... OSV:3 SYN:NO TIME:116
1)     III...................................................................................................... OSV:3 SYN:NO TIME:125
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOO........... OSV:3 SYN:22 TIME:129
129s 3  dp 198405B0B0C000000..  319ms 
1)     Io.OOOiii.....oii.                                                                                        OSV:2 SYN:NO TIME:140
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOOO.......... OSV:3 SYN:22 TIME:143
143s 3 sd  198405B0B0C000000..  318ms 
1)     I.ooiiiiiiiiIIiiiii.                                                                                      OSV:2 SYN:NO TIME:149
1)     I..iiiiiiiiiiIIio.ii.iiiiiiiioOoIOIi.iOOiiiiiOiiiOIoo.....                                                OSV:2 SYN:NO TIME:155
1)     IOOIIIIIIOIIOOIIOOOOOIOIIIOOIOOOIOOIIOOOII..                                                              OSV:3 SYN:NO TIME:155
2)     IIII...............                                                                                       OSV:3 SYN:NO COR: -3
RESULT IIIIIIOIIOOIIOOOOOI                                                                                       
1)     IOOIOIIIIOIIOOIIOOOOOIOIIIOOIOOIO...............                                                          OSV:3 SYN:NO TIME:156
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOO........... OSV:3 SYN:22 TIME:157
157s 3 sdp 198405B0B0C000000..  320ms 
1)     III...............................                                                                        OSV:3 SYN:NO TIME:158
1)     IIIOI................................................................................................     OSV:3 SYN:NO TIME:164
1)     IIIO..................................................................................................... OSV:3 SYN:NO TIME:168
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIOIOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOO........... OSV:3 SYN:22 TIME:171
171s 3  d  198405B0B0C000000..  318ms 
1)     III...................................................................................................... OSV:3 SYN:NO TIME:172
 
Porosenok
Offline
Зарегистрирован: 06.11.2016

Неплохо бы запустить "осциллограф" строкой

oregon.receiver_dump = 1;

и прислать расширенный лог хотя с нескольких пакетов с утерянной концовкой. Много не надо :)

Porosenok
Offline
Зарегистрирован: 06.11.2016

Кстати, обратил внимание, что WGR800 имеет очень несимметричную диаграмму направленности излучающей антенны. Дальность приёма в зависимости от ориентации севера на датчике меняется в разы!

romasu
Offline
Зарегистрирован: 11.04.2016

Добрый день!

Вечером сниму логи и пришлю.

А куда направлена диаграмма антенны относительно метки "север" на датчике?

Porosenok
Offline
Зарегистрирован: 06.11.2016

Я так понял что на восток провал в диаграмме. Возможно из-за батареек, они как рефлектор работают.

romasu
Offline
Зарегистрирован: 11.04.2016

Ок, спасибо! Буду иметь ввиду :)

 

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

Нельзя-ли уточнить, если ваша библиотека будет работать совместно с rc-switch на разных прерываниях,будут-ли они конфликтовать ?? Не пробовали подобные варианты  с двумя прерываниями??

Porosenok
Offline
Зарегистрирован: 06.11.2016

Ну.. теоретически, если в обычной Ардуино подключить мою библиотеку на порт 2, а RCswitch на порт 3 (или наоборот), то почему бы и нет. Если хватит производительности, чтобы точно измерить времена прихода фронтов, то должно работать корректно. Я, честно скажу, не пробовал. Но интересно...

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

это к чему, идеально, что-б библиотека пропускала  и чужой сигнал, для его сторонней обработки другой библиотекой. а пока вот попробую совместить.. на esp, посомтрим, что выйдет.

mvn77
Offline
Зарегистрирован: 31.03.2017

А зачем таймер - не лучше модуль DS3231? Любой интервал, полное отключение схемы питания через SQW... из минусов батарейка часов - но если хорошую постаяить думаю лет на 5  хватит. У меня дешевые по 2 -3 года выхаживают.

Porosenok
Offline
Зарегистрирован: 06.11.2016

Я об этом не подумал - может и лучше...

romasu
Offline
Зарегистрирован: 11.04.2016

Добрый вечер!

Лог:

1)     III..............................................................                                         OSV:3 SYN:NO TIME:29

07 07 28 85 68 88 88 88 88 88 88 88 88 88 47 87 78 88 88 88 65 45 76 82 00  
 
 
OIOI__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOOOOOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOOIO__II__IIII__II__IOOOII__IOIIIOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOOOIOO__II____OOOO______OIOOIO____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OO__OOIOIIOO__II____OOII__IIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOIOOII__II__II__II__II__II__II__II__II__II__OIOO__OO__IOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO__IOIOIIOOII__OOIIOOIO__IIOOIOII__II__II__II__II__II__II__II__II__II__OIOO__OIOOIOIIOI__OO__IOIO__OIOOIOIOIOII__II__II__II__II__II__II__II__II__IIOIOOIIOOIOIIOOIOIIOIOIOOIIOOII__IIOOII__II__II__II__II__II__II__
1)     IIIOI.....................                                                                                OSV:3 SYN:NO TIME:38
07 07 27 07 04 18 48 33 78 14 87 07 88 88 85 88 54 85 77 04 86 87 88 20 80 37 24 82 83 73 20 43 00 56 00 76 06 00 78 00 70 66 85 83 87 37 25 73 82 88 88 88 88 88 68 87 88 71 66 81 86 85 85 88 82 62 82 85 50 30 31 30 51 50 62 84 83 87 52 86 82 68 87 16 25 37 85 88 88 88 83 88 76 86 75 74 22 33 88 85 64 66 44 88 67 61 00  
 
 
OIOI__OIOOOIII__IIOOIIOIIIIIIIII__IIIIOOIIIIIIOOIOIIOO______OO__OOIIOOIIOIOOIIOOIOIIII__IIII______IIIIIIIIIIIIIIIIIOIIIOIIIIIIII______IIIO______IOIO______II__II__IIIIOI__IIIIIIIIII__IIIIIIII__OO__IIII__II__IIIIIOOOOOOOOOIIII__II__IOOOII__IOIIIOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOOOIOO__II____OOOO______OIOOIO____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OO__OOIOIIOO__II____OOII__IIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOIOIOIOO__IIOOIIOOIIOI__II__IIOOII__OOII__IIOOIOIIOOIOIOIO__IIOOIIOOIIOIOOIIOOIOII__OOII__OIOI__II__II__II__II__IOII__II__II__OI__IOII__IOIOIOIOIOIOIOIOIIOOIIOOII__OIOOII__II__IIOOII__II__OIOOIOII__OOIIOOII__IO__OO__OOII__OOIIOOIO__IIOOIOII__II__II__II__II__II__II__II__II__II__OIOO__OIOOIOIIOI__OO__IOIO__OIOOIOIOIOII__II__II__II__II__II__II__II__II__IIOIOOIIOOIOIIOOIOIIOIOIOOIIOOII__IIOOII__II__II__II__II__II__II__
1)     IIIIIO................................................................................................... OSV:3 SYN:NO TIME:40
07 07 88 35 87 88 88 88 86 88 88 88 88 88 88 67 88 67 88 88 88 78 88 75 00  
 
 
OIOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOOOOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOOOOOOOOIIII__II__IOOOII__IOIIIOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOOOIOO__II____OOOO______OIOOIO____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OO__OOIOIIOO__II____OOII__IIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOI__II__II__II__II__II__II__II__II__II__II__IIOO__OO__IOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO__OO__OOII__OOIIOOIO__IIOOIOII__II__II__II__II__II__II__II__II__II__OIOO__OIOOIOIIOI__OO__IOIO__OIOOIOIOIOII__II__II__II__II__II__II__II__II__IIOIOOIIOOIOIIOOIOIIOIOIOOIIOOII__IIOOII__II__II__II__II__II__II__
1)     III.......................                                                                                OSV:3 SYN:NO TIME:43
07 07 88 88 53 86 88 88 88 88 88 88 88 88 88 78 88 86 67 48 35 48 35 37 67 84 00 11 42 01 11 42 00 23 06 03 87 38 88 88 85 47 88 88 88 88 88 88 68 88 86 68 88 87 88 45 74 62 88 88 68 25 87 44 64 30 14 68 21 44 24 33 18 88 88 85 68 88 78 88 68 88 88 88 88 87 85 88 88 88 87 88 88 88 87 88 88 88 78 77 88 10 33 00 32 04 04 45 58 87 88 88 78 40 88 88 88 58 76 88 88 88 88 88 68 88 58 86 85 86 78 48 78 67 88 66 57 68 82 00  
 
 
OIOIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOO__OOOO__OOOOOIOOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII____IIIIII__II______OOIIOO__OO__OIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOO__OO__OOOOIIIIIIIIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOOOOOOOIOO__II____OOOO______OIOOIO____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OO__OOIOIIOO__II____OOII__IIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOI__IIOOII__II__II__II__II__II__II__II__II__II__OIOO__IIOO__IIOO__OIOOII__II__II__II__II__II__II__II__II__II__OI__II__IIOOIIOI__IIOOIIOOIIOOIIOI__II__II__II__II__II__II__II__II__II__II__II__II__II__IIOOIIOOIIOO__II__II__II__OOII__II__II__II__II__II__II__II__II__II__II__II__OIOO__OO__OIOOIOIIOI__OO__IOIO__OIOOIOIOIOII__II__II__II__II__II__II__II__II__IIOIOOIIOOIOIIOOIOIIOIOIOOIIOOII__IIOOII__II__II__II__II__II__II__
1)     III...................................................................................................... OSV:3 SYN:NO TIME:46
07 07 85 87 88 58 88 88 88 88 88 88 87 88 88 67 38 84 88 88 38 48 76 58 84 10  
 
 
OIOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__IIIIIIIIIIII__OOOOOOOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOOOOIIIIIIIIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOOOOOOOIOO__II____OOOO______OIOOIO____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OO__OOIOIIOO__II____OOII__IIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOI__II__II__II__II__II__II__II__OOII__II__II__OIOO__OO__IOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO__OOII__II__II__OOII__II__II__II__II__II__II__II__II__II__II__II__OIOO__OO__OIOOIOIIOI__OO__IOIO__OIOOIOIOIOII__II__II__II__II__II__II__II__II__IIOIOOIIOOIOIIOOIOIIOIOIOOIIOOII__IIOOII__II__II__II__II__II__II__
1)     III........................                                                                               OSV:3 SYN:NO TIME:49
07 07 07 08 08 17 07 08 08 06 07 07 07 07 07 06 07 07 07 07 00 77 00 67 05 00 70 70 86 00 70 86 00 70 60 88 00 70 87 00 71 71 70 71 87 01 87 01 87 17 01 86 01 61 61 61 61 86 06 00 61 50 51 61 61 51 85 15 01 51 51 62 61 52 61 62 51 52 61 52 52 62 52 63 72 62 63 62 72 62 52 52 52 52 62 86 25 25 01 52 85 24 02 52 85 02 84 02 60 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOIIOOIIOOIIOIOOIIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIO__IO__IO__IO__IO________________________________II____OO__IIOOOO__IIOO__OOIOOOOOOOOO__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOOOOOOOIOO__II____OOOO______OIOOIO____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OO__OOIOIIOO__II____OOII__IIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOIIOOIIOOIIOIOOIIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIIOIOIOOIOIIOO__IOIIOOIIOOIO__OO__OOIOII__II__II__II__II__II__II__II__II__II__II__II__OIOO__OO__OIOOIOIIOI__OO__IOIO__OIOOIOIOIOII__II__II__II__II__II__II__II__II__IIOIOOIIOOIOIIOOIOIIOIOIOOIIOOII__IIOOII__II__II__II__II__II__II__
1)     IIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOOIIOOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOOOOOIIIOOIO.. OSV:3 SYN:21 TIME:54
54s 3     198405B060C00000083  418ms 198405B060C00000083 TYPE: WGR800 AVG WS: 0.0m/s MAX WS: 0.0m/s QUADRANT: 6 ID: 5B
07 07 60 32 78 18 43 34 38 86 88 88 88 88 88 88 68 68 77 68 64 88 88 88 88 87 66 88 88 40 13 25 58 63 02 27 07 02  
 
romasu
Offline
Зарегистрирован: 11.04.2016

Немного отформатировал и выбрал 3 пакета с успешным декодированием и 2 с ошибками

Нормальное декодирование

07 07 07 08 08 17 07 08 08 06 07 07 07 07 07 06 07 07 07 07 00 77 00 67 05 00 70 70 86 00 
70 86 00 70 60 88 00 70 87 00 71 71 70 71 87 01 87 01 87 17 01 86 01 61 61 61 61 86 06 00 
61 50 51 61 61 51 85 15 01 51 51 62 61 52 61 62 51 52 61 52 52 62 52 63 72 62 63 62 72 62 
52 52 52 52 62 86 25 25 01 52 85 24 02 52 85 02 84 02 60 00
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOII
OOIIOOIIOIOOIIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIO__IO__IO__IO__IO______________________
__________II____OO__IIOOOO__IIOO__OOIOOOOOOOOO__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIII__OOOOOOOOOIOO__II____OOOO______OIOOIO____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OO
__OOIOIIOO__II____OOII__IIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOII
OOIIOOIIOIOOIIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIOIOIIOIOIOOIOIIOO__IOIIOOIIOOIO__OO__OOIOII__II__II__II__II__II__II__II__II__II__II
__II__OIOO__OO__OIOOIOIIOI__OO__IOIO__OIOOIOIOIOII__II__II__II__II__II__II__II__II__IIOIOO
IIOOIOIIOOIOIIOIOIOOIIOOII__IIOOII__II__II__II__II__II__II__
 
1)     IIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOOIIOOOOOOOIIOOOOOOOOOOOOOO
OOOOOOOOOOOOOIIIOOIO.. OSV:3 SYN:21 TIME:54
54s 3     198405B060C00000083  418ms 198405B060C00000083 TYPE: WGR800 AVG WS: 0.0m/s 
MAX WS: 0.0m/s QUADRANT: 6 ID: 5B
 
-----------------------------------------------------------------------------------------
Нормальное декодирование
07 07 07 07 17 07 07 16 07 06 07 05 07 07 00 78 00 67 06 00 60 70 68 00 70 77 00 50 80 88 
00 60 77 00 60 60 80 70 88 00 87 00 78 07 00 87 01 60 70 70 71 87 06 00 60 60 60 50 60 60 
86 16 00 71 70 61 61 61 70 81 71 61 61 61 62 71 71 72 71 61 62 83 61 61 61 61 61 51 62 85 
15 15 01 52 86 15 01 61 85 02 85 01 60 00  
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOIIOOIIOOIIOIOO
IIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIO__IOIO__IOIO____IOIOIOIOIOIO__II
OIOIOO__IIOIOOIOIIOOIIOOIOOOOOOOOOIIOIOOII____OOOO__OOOOOO__IIII__IIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIOOOOIIOOOOOI__OIOO__OOOO__OOII____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIO
OO__IIOI__OOOOOO____OOOOIIOOII__IIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOIIOOIIOOIIOIOO
IIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOII
OIOIOOIOIIOIOOIOIIOOIIOOIO__OO__OOIIOIOOIIOI__OO__IIOO__OOIOII__OOII__II__II__II__II__II__
II__II__II__IIOO__IIOO__OIOIOIOOIIOO__IIOOIIOI__II__II__II__II__II__II__II__II__II__II__IO
__IOIIOIOIOO__OOIO__OO__IIOOIIOOII__II__II__II__II__II__II__
 
1)     IIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOOIIOOOOOOOIIOOOOOOOOOOOOOOOOOOOO
OOOOOOOIIIOOIIOOIOIOO. OSV:3 SYN:15 TIME:487
487s 3  d  198405B060C00000083  411ms 198405B060C00000083 TYPE: WGR800 AVG WS: 0.0m/s 
MAX WS: 0.0m/s QUADRANT: 6 ID: 5B
 
------------------------------------------------------------------------------------------
ошибка декодирования
07 07 08 08 08 06 06 07 07 07 07 06 06 07 06 07 06 07 07 07 00 86 00 86 07 00 61 70 86 01 
70 86 00 60 60 86 00 50 86 01 60 51 61 60 86 00 86 01 85 06 00 86 02 61 61 62 61 85 15 02 
51 62 62 61 62 52 85 25 02 51 52 52 52 52 52 52 52 52 53 42 52 52 52 52 52 53 53 43 62 43 
52 52 52 43 63 85 35 35 03 53 85 35 03 52 84 03 84 03 60 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOII
OOIIOOIIOIOOIIOOIOIO__IOIIOIOOIO____IO____II__OOIO________________________________________
__________IIIIIIOO__IIIIOO____OO__OOIOOOOOOOOOII__IIIIII__IIIIIIII__IIIIIIIIIIIIIIIIIIIIII
IIIIIIIIII__OOIIIIIIIIIO__II____IOOOIIIOOOIIIOIIOOII__IIIOIOII__IIIIII__IIIIIIII__IIIIOOII
II__IIIIIIIIIIIIII__II____IIOO__IIOIIIIIIIIIII__IIII__IIIIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOII
OOIIOOIIOIOOIIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIOIOII__IIOOIOII__OOIOIO__IIOOIO__OO__OOIIOOII__IIOOII__II__OOII__II__II__II__II__II
__II__II__OIOOII__II__IOIOIIOI__IO__II__OOII__IIOOIIOOII__IOIIOOII__IIOOII__II__OOII__OOII
__OOII__II__II__IIOOIIOI__IIOOIOIIOI__II__II__OOII__OOII__II
 
1)     IIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOOIIOOOOOOOIIOOOOOOOOOOOOOO
OOOOOOOOOOOOOI........ OSV:3 SYN:21 TIME:529
529s 3     198405B060C0000008.  417ms
 
------------------------------------------------------------------------------------------
ошибка декодирования
07 07 05 05 16 16 06 00 76 01 86 17 01 61 61 86 02 61 85 01 52 62 86 01 61 85 02 51 51 51 
50 85 01 85 02 84 15 02 85 02 52 51 52 52 85 25 03 53 83 53 43 53 63 86 26 02 53 53 53 73 
53 63 53 53 53 63 43 43 42 33 43 43 43 43 44 43 43 52 44 54 67 44 84 44 33 03 45 83 44 04 
33 83 04 83 04 40 00  
 
OIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOO____IIOOIOIIOOIOIOIOIOIIOOIIOO__OIOOIIOO__IO____II
__OO____________II__OO________________________________________________II________OOII____OO
____OO__OO__OOOOOOOOIOIOIOIOIOIIII____OOIO__IIOOOOII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
__OI__OOIIIIIIOOIIOI__IIIIII__II____IIIIIIIIIIIIIIIIIIII__IIIIIIII__IIIIIIIOOOOOOI__OOOOOO
OOIIIIIIIIIIIIIIIIIIIIII__IIIIII__OOOO__IOIIOO____II__IIII__
 
OIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOIIOOIIOOIIOIOOIIOOIOIOIOIOII
OIOOIOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIIOI__IO__OOIIOI__OO
IO__OOIIOOIIOO__OO__IOIOIOIOIOII__OIOIOOIOIOIIOO__IIOOII__II__II__II__II__II__II__II__II__
OIOIOIOOII__IIOOIIOIOOII__IIOOIIOI__II__II__II__II__II__OOII__II__OOII__II__OO__OIOIOO__OO
__II__II__II__II__II__IIOOII__IIOIOO__IOIOIIOOIOIOIIOOII____
 
1)     IIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOOIIOOOOOOOIIOOOOOOOOOOOOOOOOOOOOOOOOOII
...............        OSV:3 SYN:8 TIME:473
473s 3 s   198405B060C000000..  401ms 
 
 
-----------------------------------------------------------------------------------------
Нормальное декодирование
07 07 06 07 07 06 15 06 05 06 06 05 07 05 05 05 00 78 00 68 06 00 50 80 77 00 80 88 00 60 
61 88 00 60 88 00 60 60 70 70 87 00 76 00 87 06 00 88 00 50 70 61 71 87 06 00 50 61 60 60 
61 60 87 27 01 61 61 61 71 71 72 70 61 60 80 61 61 72 71 61 61 61 52 61 51 51 50 51 50 51 
62 86 16 15 02 52 85 25 02 62 85 02 87 03 70 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOIIOOIIOOII
OIOOIIOOIOIOIOIOIIOIOOIOIOIOIOIOIOII__OOIOIOIOIOIO__IOIOIOIOIOIO__IOIOIOIO__IOIOIOIOIOIOIO
__IIOIOIOO__II__OO__IIOOIIOOIOOOOOOOOOIOOOOOOOIIIOOOOO__IOII__II__II__OO__IIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIOOOOO__OO____IIOIOOOOOI__IIIIIOIIIIIIIIIIIIIIIIIIIIIIII__IIIIIIIIIIII
II__OO__OO__OIIOIIII__IIIIIIIIOIIIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIOIIOOIIOOII
OIOOIIOOIOIOIOIOIIOIOOIOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIIOIOIOOIOIIOIOOIOIIOOIIOOIO__OO__OOIO__OO__II__OO__IOIOIIOOIIOOIIOIOOIOII__II__II__II__
II__II__II__II__II__IO__OOIIOOIOIOIIOIOO__OIOOII__IOII__II__II__II__II__II__OOII__II__II__
IIOIOOIIOOIIOI__II__OOII__II__OI__II__II__II__II__II__II__II
 
1)     IIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOOIIOOOOOOOIIOOOOOOOOOOOOOOOOOO
OOOOOOOOOIIIOOIIOOIOIO OSV:3 SYN:17 TIME:753
753s 3     198405B060C00000083  411ms 198405B060C00000083 TYPE: WGR800 AVG WS: 0.0m/s 
MAX WS: 0.0m/s QUADRANT: 6 ID: 5B
Porosenok
Offline
Зарегистрирован: 06.11.2016

Берём запись с канала

07 07 05 05 16 16 06 00 76 01 86 17 01 61 61 86 02 61 85 01 52 62 86 01 61 85 02 51 51 51 
50 85 01 85 02 84 15 02 85 02 52 51 52 52 85 25 03 53 83 53 43 53 63 86 26 02 53 53 53 73 
53 63 53 53 53 63 43 43 42 33 43 43 43 43 44 43 43 52 44 54 67 44 84 44 33 03 45 83 44 04 
33 83 04 83 04 40 00  
Видно, что к концу записи  вместо "00 70 00" имеем "04 40 00". Что это значит? Это значит, что к окнцу записи 127 тактов  синхронизация сьезжает на 4 цикла записи т.е. на 4 * 30 = 120мкс. Т.е. датчик и ардуино имеют разные чатоты передачи данных. Почему - мне неизвестно. Вероятнее всего это кварц датчика. На моих датчиках и устройствах такого расхождения я не встречал.
Вылечить можно так:
Находим в библиотеке следующее место:
 if (bt2 == 7) 
    { 
      pre_marker += 4;
      bt2 = 0;
    }

и меняем цифру 4 на 3 или меньше. Должно помочь.  Но вообще это не дело. Постараюсь вывести этот параметр в настройку библиотеки или поменять метод расшифровки. Спасибо, что помогли найти проблемное место.

 

romasu
Offline
Зарегистрирован: 11.04.2016

Спасибо за помошь!

При pre_marker += 3; - практически разницы нет

При pre_marker += 2; - стало значительно стабильнее. (примерно 50/50), до этого декодировался 1 пакет из 5-6

лог при pre_marker += 2. Имеет смысл уменьшить до 1?

Нормальное декодирование
07 07 07 07 06 06 06 06 06 06 06 07 06 06 06 07 05 06 06 05 07 00 87 00 87 07 00 70 60 86 
00 50 87 00 70 60 86 00 60 86 00 60 60 60 60 86 00 86 01 86 06 01 86 01 61 61 61 86 16 16 
16 01 60 51 61 61 61 86 15 02 61 51 51 51 51 51 51 61 51 51 52 52 52 52 52 62 52 52 52 52 
52 52 52 86 02 52 52 52 52 85 02 51 52 52 85 02 85 02 42 60 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIO____________________
______IIOO________IIOOIO____IIOOIIOO__IOOOOOOOOOIIIIIIIIIIIIIIIIIIIIIIIIIIIIOI__OOOOOOOOII
OOIIIIIIII__IIII__IIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOO__OO__IIOOIOOOOOOOII
OOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOOIII__OOIIOO
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIIOOIOIOIOIOIIOOIOIOIOIIOOIIOOIOIO__OO__OOII__II__II__II__II__II__II__OIOIOO__OO__II
OOII__II__OOII__OOII__OOII__II__II__II__II__II__II__II__II__II__IO__OOIIOOIOIIOOIO__OO__II
OOII__II__II__II__II__II__II__II__II__II__IIOO__OI__OIOOIIOO
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIIIOOOOOOIIOOOOOOOOOOOOO
OOOOOOOOOOOIOOOOOIOOOO OSV:3 SYN:22 TIME:69
69s 3     198405B0F0C00000014  418ms 198405B0F0C00000014 TYPE: WGR800 AVG WS: 0.0m/s 
MAX WS: 0.0m/s QUADRANT: 15 ID: 5B
 
------------------------------------------------------------------------------------------
Нормальное декодирование
07 07 06 06 07 06 06 06 06 06 06 06 06 07 07 06 06 06 06 06 07 00 77 00 87 07 00 60 60 86 
00 50 87 00 60 60 86 00 60 86 00 60 60 60 60 86 00 86 01 86 06 00 86 01 61 61 61 86 16 16 
06 01 61 61 61 61 61 86 15 01 61 51 51 61 61 51 51 51 51 51 51 51 51 51 51 61 51 51 52 52 
52 52 52 85 01 51 52 52 52 85 02 52 52 52 85 02 85 02 52 60 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO____
______IIOOIO______IIOO______IIOOIIOO__IOOOOOOOOOIIIIIIIIIIIIIIIIIIII__IIIIIIIIIOOOOOOOOO__
____OOOOOOOOIIII__IIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOO__OO__IIOOIOOOOOOOII
OOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOOIII__OOIIOO
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIIOOIOIOIOIOIIOOIOIOIOIIOOIIOOIOIO__OO__OOII__II__II__II__II__OOII__II__IO__OO__OOIO
IO__OO__OO__II__OOII__OOII__II__II__II__II__II__II__II__II__II__IO__OOIIOOIOIIOOIO__OO__II
OOII__II__II__II__II__II__II__II__II__II__IIOO__OI__OIOOIIOO
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIIIOOOOOOIIOOOOOOOOOOOOO
OOOOOOOOOOOIOOOOOIOOOO OSV:3 SYN:22 TIME:153
153s 3  dp 198405B0F0C00000014  418ms 198405B0F0C00000014 TYPE: WGR800 AVG WS: 0.0m/s 
MAX WS: 0.0m/s QUADRANT: 15 ID: 5B
 
------------------------------------------------------------------------------------------
Ошибка декодирования
07 07 06 06 06 07 05 06 06 06 06 06 05 16 06 06 06 06 06 06 06 00 86 00 86 06 01 61 51 86 
00 60 86 00 60 51 86 00 51 86 01 51 61 61 51 85 01 86 01 85 15 01 85 01 51 51 51 85 25 25 
25 02 51 51 52 52 52 85 25 02 52 52 52 52 52 52 52 52 42 52 52 52 42 52 52 52 42 52 53 53 
42 42 53 84 02 52 42 43 42 84 03 43 53 43 84 03 84 03 43 50 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOII______OOIOIO______II__OO________________________________________
________OO__________OO________OO__OO__IOOOOOOOOO__IIIIIIIIIIIIIIIIIIIIII__IIIIIIII__OIIO__
____OOOOOOOOIIII__IIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOO__OO__IIOOIOOOOOOOII
OOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOOIII__OOIIOO
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIO__IOIOIOIO__OOIOIOIO__OOIIOOIOIO__OO__OOIOII__II__II__II__II__IIOOII__II__OIOI__IO
IO__OO__OO__II__OOII__OOII__II__II__II__II__II__II__II__II__II__IO__OOIIOOIOIIOOIO__OO__II
OOII__II__II__II__II__II__II__II__II__II__IIOO__OI__OIOOIIOO
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIIIOOOOOOIIOOOOOOOOOOOOO
OOOOOOOOOOOO.......... OSV:3 SYN:22 TIME:125
125s 3 sd  198405B0F0C000000..  418ms
 
------------------------------------------------------------------------------------------
Ошибка декодирования
07 07 07 07 07 06 07 06 06 07 07 07 06 06 06 06 06 06 06 06 06 00 86 00 86 06 00 60 60 86 
00 60 86 00 60 60 86 01 61 86 00 61 61 60 61 86 01 86 01 86 16 01 85 01 51 51 51 85 15 15 
15 01 52 51 51 51 52 85 15 01 51 51 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 
52 52 42 85 02 52 52 42 43 84 03 42 42 52 85 03 84 03 43 60 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOO__IOIOIO__IIOIOOIOIO____________________________________
______IIOO__________OO______IIOO__OO__IOOOOOOOOOIIIIII____IIIIIIIIIIIIIIIIIIIIOOIOIIIIIIII
IIIIIIIIIIIOOOIOOOOOOOOI__OOIO__OO____IIIIIIIIIIIIIIIIII__IIIIIIIIIIIIIIIIIIIIIIIIOOOO__OO
__OOOOOOOOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOOOIII__OOIIOO
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIIOOIOIOIOIO__OOIOIOIOIIOOIIOOIOIO__OO__OOII__IIOI__II__II__II__II__II__OOIOII__II__
II__II__II__OOIO__OO__OIOIOOIOIIOOIOIOII__II__II__II__IIOOII__II__II__II__II__II__OO__IIOO
IIOO__OO__II__II__II__II__II__II__II__II__IIOO__OI__OIOOIIOO
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIIIOOOOOOIIOOOOOOOOOOOOO
OOOOOOOOOOOIOOOOO..... OSV:3 SYN:22 TIME:181
181s 3   p 198405B0F0C0000001.  418ms
 
------------------------------------------------------------------------------------------
Ошибка декодирования
07 07 57 42 88 88 71 02 24 83 02 21 48 88 88 88 68 88 88 88 57 88 78 68 88 88 88 86 88 65 
02 60 83 54 21 05 45 53 85 02 44 48 87 84 62 82 24 58 88 56 88 88 88 78 88 88 88 88 88 88 
88 88 88 88 56 32 82 12 24 27 08 43 38 77 00 88 30 21 27 22 45 27 38 88 88 77 88 88 88 77 
88 88 88 88 88 88 88 88 68 86 05 73 22 65 65 08 56 87 88 66 01 13 51 60 41 38 68 88 88 88 
88 88 87 37 88 86 78 87 64 88 78 88 88 88 82 00  
 
07 07 07 07 06 07 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 00 86 00 86 06 00 61 60 86 
00 60 86 00 60 60 85 01 51 86 01 60 51 51 51 85 01 86 01 85 15 01 85 01 51 51 51 85 25 25 
25 01 52 51 52 52 52 85 25 02 52 52 52 51 52 52 52 52 52 52 52 52 42 42 42 52 42 52 52 52 
52 52 42 85 02 42 42 42 43 84 02 43 53 43 84 02 84 03 43 60 00  
 
OIOIII__IIIIIOOOOO__OOOOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOIO____OOOIII__IIOO__IIII____
__OOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII____OOOO__OI__IIIIOOII__OO__OOII__IIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIOI__OOIIIIOIIIIIIIIIOOOOIOIO__IIIIIIIIIIIIIIIIIIIIIIIIII__IIIIIIIIII__
OOOOOOOO______IIIOIIIOIOIO__IIIIIOIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOIIOIIIIOOII
II__IIOOIOOIOO____OOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII__OOOO
 
OIOI__OOII__IO__OOIIOO__II__II__II__II__II__II__II__II__II__OOIOIOIO__OI__OOIIOOIOII__OI__
IO__II__II__II__II__II__II__II__II__II__OIOIOO__IIOIOOII__OOIIOIOOIIOOIIOOII__II__II__II__
II__II__II__II__II__OIOIOOII__OI__II__IIOO__IOIOIOII__II__II__II__II__II__IIOOII__II__IIOI
OO__OO__IOIOIOII__II__IOIOIOII__IOII__OOII__II__II__II__II__II__II__II__II__OO__IOII__OOII
__OOIIOOIO__OOIOIO__II__II__II__II__II__II__II__II__IIOIOO__
1)     III................................................................................
...................... OSV:3 SYN:NO TIME:293
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOII______OO__IO______II__OO______IO________________________________
______IIOO__________OO________OO__OO__IOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIIOOIOIOIOIO__OOIOIOIO__OOIIOOIOIO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__
OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO
__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO__OO
2)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOO                           
                       OSV:3 SYN:22 COR: 0
RESULT IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOO                                                  
293s 3  d  198405B0F0C0000001.  363ms 

 

Porosenok
Offline
Зарегистрирован: 06.11.2016

Попробуйте. Если не хватит, можно и 7-ку заменить на что-нибудь поболее. Или вообе убрать эту конструкцию

romasu
Offline
Зарегистрирован: 11.04.2016

pre_marker += 1, стало стабильнее (проходит 80% пакетов)

лог:

Нормальное декодирование

07 07 06 07 06 06 06 07 06 07 07 07 06 06 06 05 05 05 07 07 05 00 86 00 77 06 00 60 60 86 
00 60 87 00 50 60 86 00 70 87 00 71 60 60 60 86 00 86 00 86 16 01 86 00 61 60 61 86 16 16 
16 01 61 61 61 61 61 86 16 01 61 61 61 61 61 51 61 61 51 61 62 61 62 62 51 61 51 52 52 52 
52 52 52 85 02 51 51 51 51 85 01 52 52 52 85 02 85 02 52 70 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIO__IO____IOIOIO______
______IIOOIOIOIOIOIIOO______IIOOIIOO__IOOOOOOOOOOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
II__OOOOIIOIOOIIOOOOOOOOIIIIIIIIIIIIIIIIII__IIIIIIIIIIIIIIIIIIII__OOOOOOOIII__IIIIII__IIII
__IIIIIIIIIIIIIIIIIIIIIIII__IIIIIIII__IIIIIIIO__OOII____IIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIIOOIOIOIOIOIIOOIOIOIOIIOOIIOOIOIO__OO__OO__II__II__II__II__II__II__II__II__II__II__
IIOIOO__IIOIOOIIOO__OO__II__II__II__II__IIOOII__II__II__II__II__OIOO__OO__IIOOII__IIOOII__
OOII__II__II__II__II__II__OOII__II__OOII__II__IIOOIIOI__II__
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIIIOOOOOOIIOOOOOOOOOOOOO
OOOOOOOOOOOIOOOOOIOOOO OSV:3 SYN:22 TIME:133
133s 3 s   198405B0F0C00000014  418ms 198405B0F0C00000014 TYPE: WGR800 AVG WS: 0.0m/s 
MAX WS: 0.0m/s QUADRANT: 15 ID: 5B
 
------------------------------------------------------------------------------------------
декодирование с ошибкой
07 07 07 07 06 06 06 06 05 06 06 05 05 05 06 06 06 06 06 06 06 00 86 00 86 16 00 60 60 86 
00 60 86 00 60 60 86 00 61 86 01 61 61 61 60 86 01 86 01 86 16 01 85 01 61 51 61 85 16 15 
25 01 51 52 51 61 51 85 15 01 51 51 52 51 51 52 52 52 51 52 52 52 52 52 52 52 42 52 52 52 
52 52 52 85 02 52 42 42 42 84 02 42 42 42 84 02 84 02 42 60 00  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOI__OOIO__IOIOIOIIOIOOIOIO__IOIO______IO______________________
______IIOO__________OO________OO__OO__IOOOOOOOOOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOOOO__
IOII__II__IIII__OOIIIIIIIIIIIIIIIIIIIIIIII__IIIIIIIIIIIIIIIIIIII__OOOOOOOIII__IIIIII__IIII
__IIIIIIIIIIIIIIIIIIIIIIII__IIIIIIII__IIIIIIIO__OOII____IIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIOIIOOIOIIOOIOIOIOIO
IIOOIIOOIIOIOOIIOOIOIOIOIIOIOIOIOOIOIOIOIOIOIIOIOOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO
IOIOIOIIOOIOIOIOIO__OOIOIOIO__OOIIOOIOIO__OO__OOII__II__II__II__II__II__II__II__II__OO__IO
IOIIOOIIOOII__OIOOII__II__II__II__II__II__OOII__II__II__II__II__OIOO__OO__IIOOII__IIOOII__
OOII__II__II__II__II__II__OOII__II__OOII__II__IIOOIIOI__II__
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOOIOOIOOOOOIOIOIIOIOOOOIIIIOOOOOOIIOOOOOOOOOOOOO
OOOOOOOOOOOIOOOOO..... OSV:3 SYN:22 TIME:77
77s 3 s   198405B0F0C0000001.  419ms
 
А как часто датчик шлет информацию? по какому алгоритму?
И еще, на 5V, 16МГц Nano почему то работает стабильнее чем на 3,3V  8МГц ProMini (кварц внешний). Питание приемника в обоих случаях 3,3V. Не хватает производительности 8МГц Pro Mini?
Porosenok
Offline
Зарегистрирован: 06.11.2016

Скорее всего 8Мгц маловато.  WGR800 выдаёт раз в 15 секунд одиночный пакет

romasu
Offline
Зарегистрирован: 11.04.2016

 Спасибо, я так и понял. Просто в промежутках между 15 сек вижу какой то мусор ... Скорее всего приемник видит какие-то соседские датчики.

Теперь мне нужно "прикрутить" Вашу библиотеку к MySensors. Вы не пробовали?

Правильно ли понимаю, что мне нужно синхронизировать основной цикл таким образом, чтобы через каждые 15 сек от первого пакета выделялось время не менее 400ms для прием и декодирование информации с датчика. Понятно, что все работает на прерываниях, но радиомодуль MySensors тоже использует прерывания и тут нужно как-то синхронизировать ассинхронную обработку :) 

Porosenok
Offline
Зарегистрирован: 06.11.2016

Можно попробовать так как вы предлагаете - выделять таймслот под каждый датчик и обрабатывать соответсвующим декодером. Но если будет утеряно большое количество пакетов, можно потерять синхронизацию

romasu
Offline
Зарегистрирован: 11.04.2016

Если есть возможность, посмотрите пож. логи с ProMini 8Mgz.

Успешных пакетов нет совсем, в лучшем случае 1-2 первых цифры.

Работает только Ваш код из примера (аналогичный тому, что я запускал на Nano 16Mgz)

ProMini 8Mgz

 
07 07 06 06 06 06 16 06 06 05 15 16 15 05 15 05 15 05 15 15 15 01 85 01 85 15 01 52 52 85 
02 42 84 02 42 42 84 02 42 84 02 43 43 43 33 84 03 84 03 83 33 03 83 04 34 34 33 83 43 43 
43 04 34 24 24 34 24 82 42 04 25 25 25 25 25 25 25 25 25 15 25 26 15 16 16 16 16 16 16 16 
16 16 06 81 06 06 06 16 07 80 06 07 07 07 80 07 80 07 07 10  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOO____IIOO____OO______OO____OO________
__OO__OO____OO__OO______________OO__OOOO__OO____OO__________________OI____OIOIOIOIOIOIOIOI
OIOIOIIOOIOIOIOIOIIOOIOIOIOIIOOIIOOIOIOOOOOOOOIIIIIIIIII__IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIII__IIIIIIIIIIII__IIIIIIIIIIIIII__OIIIIIIIIIIIIIIIIIIIIIII__IIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII____IIIIIIIIIIIIIIIIIIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIO__OOIOIO__OOIO__OOIOIOIOIO
__OOIIOOIOIO__IIOOIOIOIOIOIOIO__OOIIOO__IIOOIOIO__IOII__II__II__IIOIOIOIOIOIOIOIOIOIOIOIOI
OIOIOI__OIOIOIOIOI__OIOIOIOI__OI__OIOIOO__OO__II__II__IIOOII__II__II__II__II__II__II__II__
II__IIOOII__II__II__OOII__II__II__IIOIOI__II__II__II__II__II__OOII__II__II__II__II__II__II
__II__II__II__II__II__II__II__II__IIOI__II__II__II__II__II__
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOO..................................................
...................... OSV:3 SYN:22 TIME:12
12s 3   p 1..................  424ms 
 
------------------------------------------------------------------------------------------
 
07 07 07 07 07 07 06 06 06 06 06 16 06 05 06 06 06 06 06 05 15 00 85 01 85 15 01 51 51 85 
02 51 85 02 42 42 84 02 42 84 02 43 43 43 43 84 02 84 03 83 34 03 84 03 33 33 33 83 33 44 
33 04 34 34 34 34 34 83 43 04 24 35 24 35 25 25 25 25 25 25 25 25 25 25 25 25 16 16 16 16 
15 26 16 81 06 16 16 06 06 81 06 07 06 16 80 06 80 07 07 20  
 
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOO______OO____OO________
__OO__OO____OO__OO______________OO______________OOOOIIOOII________________________OIOIOIOI
OI__OIIOOIOIOIOIOIIOOIOIOIOIIOOIIOOIOIOOOOOOOO____IIIIOOIOIIIIIIIIIIIIIIIOIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIII__II____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
 
OIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOOIIOOIIOIOOIOIOIIOOIOIIOOIOIO__OOIO__OOIOIOIOIO
__OOIIOOIOIO__IIOOIOIOIOIOIOIO__OOIOIOIOIOIOIOIO__OOIIOOIIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOI
OIOIOI__OIOIOIOIOI__OIOIOIOI__OI__OIOIOO__OO__IOIOII__OOIOII__II__II__II__II__II__II__II__
II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II__II
__IIOOIIOI__II__II__II__II__II__II__II__II__II__II__II__II__
1)     IIIIIIIIIIIIIIIIIIIIIIOIOIIOOOIOOIOOO..............................................
...................... OSV:3 SYN:22 TIME:221
221s 3     19.................  424ms
 
Заранее спасибо за помощь!
 
Porosenok
Offline
Зарегистрирован: 06.11.2016

Без вариантов - не хватает 8Мгц

romasu
Offline
Зарегистрирован: 11.04.2016

Большое спасибо!

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

Собрал датчик на коде от уважаемого Porosenok, станция Oregon 206  его видит, все ок.

Porosenok
Offline
Зарегистрирован: 06.11.2016

Возможно кому-то пригодится. Список орегоновских датчиков с фотографиями внутренностей, принципиальными схемами осциллограммами сигналов и прочим.

https://fccid.io/NMT

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

вау!!!! схемы..  премного благодарен!!!

Porosenok
Offline
Зарегистрирован: 06.11.2016

Обновил свою библиотеку (http://github.com/invandy/Oregon_NR). Попытался немного улучшить приём, Добавил примеры с приёмником, передатчиками и ретранслятором.

 

Porosenok
Offline
Зарегистрирован: 06.11.2016

Посмотрев схемы, реанимировал сперва 132-ой погодный датчик, а затем и саму погодную станцию. Оказалась одна и та же неисправность - кварц 32768Гц. В датчике он единственный, а вот в станции - пришлось искать методом перебора.

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

Не подскажите, с орегоновским анемометром есть особенности ??

Porosenok
Offline
Зарегистрирован: 06.11.2016

Никаких особенностей нет. Приём в версии протокола 3.0 немного похуже - меньше избыточность кода, иногда восстанавливать данные просто не из чего... Ну и флюгер у него бестолковый - порывами ветра разворачивает в произвольном направлении. Пытаюсь как-то усреднять данные за период времени, но толку от этого немного. 

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

медианным фильтром?

Porosenok
Offline
Зарегистрирован: 06.11.2016

Нет. Суммирую все вектора примерно за полчаса. Изначально за модуль вектора принимал силу ветра, но позже пршёл к выводу, что все вектора должны быть с одинаковым модулем.

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

ясно.. подскажите, тестирую на wrg800-01, все принимает а датчики thgn132N не слышит.. на строй библе слышал..

2 v EC401.D0.0201C.F..1  189ms 

3 v 19840CC000C000000A3  105ms TYPE: WGR800 AVG WS: 0.0m/s MAX WS: 0.0m/s WDIR: 0 BAT: F ID: CC
 
Porosenok
Offline
Зарегистрирован: 06.11.2016

Попробуйте перекачать библиотеку. Я обновлял её несколько дней назад. Если не поможет - скиньте сюда осциллограф по этому датчику... Разберёмся. Но похоже на рассинхронизацию.Настораживает, что это не единичный случай, но у себя я ни на одном устройстве не наблюдаю ничего подобного...

Могу предположить, что проблема в организации программы. В процессе прослушивания приемника ничем другим заниматься не получится. Просто не хватит времени. Приёмник постоянно выдаёт шум, который надо анализировать.

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

вечером выложу. а так-то это ваш тестовый пример. он просто слушает

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

Вот, включил осцилографф и прочее отобажение, все кажет... выключаешь нет ничего. Точнее комментил осцил и вывод в сериал служебной инфо. И по чувствительности, по сравнению с предыдущей версией заметно хуже.

 
SCOPE1 87 00 88 00 88 00 88 00 88 00 88 00 88 00 88 00 88 00 88 00 88 08 00 70 87 07 00 70 87 07 00 70 87 00 87 00 86 06 00 77 00 70 87 00 86 06 00 86 00 50 76 05 00 86 00 86 00 86 00 86 00 60 86 05 00 85 00 76 00 86 00 50 75 05 00 50 75 00 75 04 00 40 75 00 75 04 00 40 85 04 00 75 00 50 85 00 85 00 85 04 00 85 00 50 75 05 00 85 00 85 00 50 85 05 00 85 00 85 00 85 00 84 00 85 01 51 85 01 84 05 00 85 01 85 01 85 01 51 85 14 01 84 01 84 01 41 84 15 01 84 01 84 01 41 84 14 01 40 00 00  
BEFORE II OO II OO II OO II OO II OO II OO II OO II OO II OO II OO II OI OO IO II OI OO IO II OI OO IO II OO II OO II OI OO II OO IO II OO II OI OO II OO IO II OI OO II OO II OO II OO II OO IO II OI OO II OO II OO II OO IO II OI OO IO II OO II OI OO IO II OO II OI OO IO II OI OO II OO IO II OO II OO II OI OO II OO IO II OI OO II OO II OO IO II OI OO II OO II OO II OO __ OO II OO IO II OO __ OI OO II OO II OO II OO IO II OI OO __ OO __ OO IO __ OI OO __ OO __ OO IO __ OI OO IO OO OO 
AFTER  II OO II OO II OO II OO II OO II OO II OO II OO II OO II OO II OI OO IO II OI OO IO II OI OO IO II OO II OO II OI OO II OO IO II OO II OI OO II OO IO II OI OO II OO II OO II OO II OO IO II OI OO II OO II OO II OO IO II OI OO IO II OO II OI OO IO II OO II OI OO IO II OI OO II OO IO II OO II OO II OI OO II OO IO II OI OO II OO II OO IO II OI OO II OO II OO II OO II OO II OO IO II OO II OI OO II OO II OO II OO IO II OI OO II OO II OO IO II OI OO II OO II OO IO II OI OO IO II OO 
RESULT I  I  I  I  I  I  I  I  I  I  I  O  I  O  I  O  I  I  I  O  O  I  I  O  O  I  O  O  O  O  O  I  O  O  O  O  I  O  I  I  O  I  I  O  I  O  O  I  I  I  O  O  I  O  O  O  I  O  O  O  O  O  O  I  I  O  O  O  O  I  O  O  O  I  O  O  O  I  O  I  i                           OSV:2 SYN:11 TIME:6
6s    dp EC401AD272203444...  302ms TYPE: THN132N  CHNL: 1 TMP: 22.7C          BAT: F ID: AD
 
SCOPE1 07 07 18 18 18 18 17 18 17 18 17 17 18 18 10 78 00 78 08 00 80 70 78 00 70 78 00 70 70 78 00 70 78 00 60 60 60 60 60 60 77 06 00 60 77 06 00 60 60 60 60 60 77 06 00 60 60 60 60 70 77 06 00 60 60 60 60 70 70 70 50 60 60 60 60 60 50 60 50 50 50 60 60 60 60 60 60 86 06 00 60 50 76 00 76 05 00 40 40 75 00 40 40 00  
BEFORE OI OI OI OI OI OI OI OI OI OI OI OI OI OI OO II OO II OI OO IO IO II OO IO II OO IO IO II OO IO II OO IO IO IO IO IO IO II OI OO IO II OI OO IO IO IO IO IO II OI OO IO IO IO IO IO II OI OO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO II OI OO IO IO II OO II OI OO IO IO II OO IO IO OO 
AFTER  OI OI OI OI OI OI OI OI OI OI OI OI OI OI OO II OO II OI OO IO IO II OO IO II OO IO IO II OO IO II OO IO IO IO IO IO IO II OI OO IO II OI OO IO IO IO IO IO II OI OO IO IO IO IO IO II OI OO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO IO II OI OO IO IO II OO II OI OO IO IO II OO IO IO __ 
RESULT I  I  I  I  I  I  I  I  I  I  I  I  I  I  I  O  I  O  I  I  O  O  O  I  O  O  I  O  O  O  I  O  O  I  O  O  O  O  O  O  O  I  I  O  O  I  I  O  O  O  O  O  O  I  I  O  O  O  O  O  O  I  I  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  O  I  I  O  O  O  I  O  I  I  O  O  O  I  O  O  O  .   OSV:3 SYN:15 TIME:14
14s 3     19840CC0C0C00000064  210ms TYPE: WGR800 AVG WS: 0.0m/s MAX WS: 0.0m/s WDIR: 12 BAT: F ID: CC
 
Porosenok
Offline
Зарегистрирован: 06.11.2016

Дело в том, что я не менял в библиотеке ничего, что касается версии 2.  Но на основе "осциллографа"  увидел ещё одну особенность в передаче данных. Попробуйте перекачать библиотеку, Если станет лучше, значит надо будет ещё подправить :)