Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Дмитрий Решетей
/
OREGON
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
1
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit a6ca41df
authored
Mar 13, 2020
by
Дмитрий Решетей
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updated
1 parent
99744fd2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
54 additions
and
47 deletions
libraries/Oregon_NR-master/Oregon_NR_MY.cpp
libraries/Oregon_NR-master/Oregon_NR_MY.h
libraries/Oregon_NR-master/Oregon_TM.cpp
libraries/Oregon_NR-master/Oregon_TM.h
libraries/Oregon_NR-master/Oregon_NR_MY.cpp
0 → 100644
View file @
a6ca41d
This diff is collapsed.
Click to expand it.
libraries/Oregon_NR-master/Oregon_NR_MY.h
View file @
a6ca41d
#include <Arduino.h>
#include <Arduino.h>
#ifndef Oregon_NR_h
#ifndef Oregon_NR_h
_AIR
#define Oregon_NR_h
#define Oregon_NR_h
_AIR
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// This Arduino code is for receive and transmit data using Oregon Scientific RF protocol version 2.1 and 3.0.
// This Arduino code is for receive and transmit data using Oregon Scientific RF protocol version 2.1 and 3.0.
...
...
libraries/Oregon_NR-master/Oregon_TM.cpp
View file @
a6ca41d
...
@@ -39,46 +39,46 @@
...
@@ -39,46 +39,46 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
//
Oregon Scientific v2.1
v3.0
//
Äàííàÿ áèáëèîòåêà Àðäóèíî ïðåäíàçíà÷åíà äëÿ ïðèåìà è ïåðåäà÷è äàííûõ â ôîðìàòå áåñïðîâîäíîãî ïðîòîêîëà Oregon Scientific v2.1 è
v3.0
//
//
//
14
2019
//
Ïîñëåäíåå îáíîâëåíèå 14 Îêòÿáðÿ
2019
//
//
//
//
Ïîääåðæèâàåòñÿ ôîðìàò ñëåäóþùèõ äàò÷èêîâ
//
//
//
:
//
Ïðè¸ì è ïåðåäà÷à
:
// THGN132N (THGR122N, THGN123N),
// THGN132N (THGR122N, THGN123N),
// RTGN318,
// RTGN318,
// THGR810.
// THGR810.
//
:
//
Òîëüîê ïðè¸ì
:
// THN132N,
// THN132N,
// WGR800,
// WGR800,
// UVN800.
// UVN800.
//
//
//
(
)
//
Òàêæå ïîääåðæèâàþòñÿ äàò÷èêè ñîáñòâåííîé ðàçðàáîòêè (çà äîïîëíèòåëüíîé äîêóìåíòàöåé îáðàùàòüñÿ ê àâòîðó
)
//
//
//
-
OREGON_NR
//
Ýòîò ôàéë - ÷àñòü áèáëèîòåêè
OREGON_NR
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// Copyright (c) 2019
// Copyright (c) 2019
Ñåðãåé Çàâèñëÿê
//
//
//
,
//
Äàííàÿ ëèöåíçèÿ ðàçðåøàåò ëèöàì, ïîëó÷èâøèì êîïèþ äàííîãî ïðîãðàììíîãî îáåñïå÷åíèÿ è ñîïóòñòâóþùåé äîêóìåíòàöèè
// (
),
,
// (
â äàëüíåéøåì èìåíóåìûìè «Ïðîãðàììíîå Îáåñïå÷åíèå»), áåçâîçìåçäíî èñïîëüçîâàòü Ïðîãðàììíîå Îáåñïå÷åíèå áåç îãðàíè÷åíèé
,
//
, , , , , ,
//
âêëþ÷àÿ íåîãðàíè÷åííîå ïðàâî íà èñïîëüçîâàíèå, êîïèðîâàíèå, èçìåíåíèå, ñëèÿíèå, ïóáëèêàöèþ, ðàñïðîñòðàíåíèå, ñóáëèöåíçèðîâàíèå
//
/ , , ,
:
//
è/èëè ïðîäàæó êîïèé Ïðîãðàììíîãî Îáåñïå÷åíèÿ, à òàêæå ëèöàì, êîòîðûì ïðåäîñòàâëÿåòñÿ äàííîå Ïðîãðàììíîå Îáåñïå÷åíèå, ïðè ñîáëþäåíèè ñëåäóþùèõ óñëîâèé
:
//
//
//
.
//
Óêàçàííîå âûøå óâåäîìëåíèå îá àâòîðñêîì ïðàâå è äàííûå óñëîâèÿ äîëæíû áûòü âêëþ÷åíû âî âñå êîïèè èëè çíà÷èìûå ÷àñòè äàííîãî Ïðîãðàììíîãî Îáåñïå÷åíèÿ
.
//
//
//
ܻ, - , ,
//
ÄÀÍÍÎÅ ÏÐÎÃÐÀÌÌÍÎÅ ÎÁÅÑÏÅ×ÅÍÈÅ ÏÐÅÄÎÑÒÀÂËßÅÒÑß «ÊÀÊ ÅÑÒÜ», ÁÅÇ ÊÀÊÈÕ-ËÈÁÎ ÃÀÐÀÍÒÈÉ, ßÂÍÎ ÂÛÐÀÆÅÍÍÛÕ ÈËÈ ÏÎÄÐÀÇÓÌÅÂÀÅÌÛÕ, ÂÊËÞ×Àß ÃÀÐÀÍÒÈÈ ÒÎÂÀÐÍÎÉ
//
, , .
//
ÏÐÈÃÎÄÍÎÑÒÈ, ÑÎÎÒÂÅÒÑÒÂÈß ÏÎ ÅÃÎ ÊÎÍÊÐÅÒÍÎÌÓ ÍÀÇÍÀ×ÅÍÈÞ È ÎÒÑÓÒÑÒÂÈß ÍÀÐÓØÅÍÈÉ, ÍÎ ÍÅ ÎÃÐÀÍÈ×ÈÂÀßÑÜ ÈÌÈ. ÍÈ Â ÊÀÊÎÌ ÑËÓ×ÀÅ ÀÂÒÎÐÛ ÈËÈ ÏÐÀÂÎÎÁËÀÄÀÒÅËÈ
//
- , , , ,
,
//
ÍÅ ÍÅÑÓÒ ÎÒÂÅÒÑÒÂÅÍÍÎÑÒÈ ÏÎ ÊÀÊÈÌ-ËÈÁÎ ÈÑÊÀÌ, ÇÀ ÓÙÅÐÁ ÈËÈ ÏÎ ÈÍÛÌ ÒÐÅÁÎÂÀÍÈßÌ,  ÒÎÌ ×ÈÑËÅ, ÏÐÈ ÄÅÉÑÒÂÈÈ ÊÎÍÒÐÀÊÒÀ, ÄÅËÈÊÒÅ ÈËÈ ÈÍÎÉ ÑÈÒÓÀÖÈÈ
,
//
-
.
//
ÂÎÇÍÈÊØÈÌ ÈÇ-ÇÀ ÈÑÏÎËÜÇÎÂÀÍÈß ÏÐÎÃÐÀÌÌÍÎÃÎ ÎÁÅÑÏÅ×ÅÍÈß ÈËÈ ÈÍÛÕ ÄÅÉÑÒÂÈÉ Ñ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ
.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
Конструктор
Oregon_TM
::
Oregon_TM
(
byte
tr_pin
)
Oregon_TM
::
Oregon_TM
(
byte
tr_pin
)
{
{
TX_PIN
=
tr_pin
;
TX_PIN
=
tr_pin
;
...
@@ -91,11 +91,13 @@ Oregon_TM::Oregon_TM(void)
...
@@ -91,11 +91,13 @@ Oregon_TM::Oregon_TM(void)
{
{
pinMode
(
TX_PIN
,
OUTPUT
);
pinMode
(
TX_PIN
,
OUTPUT
);
digitalWrite
(
TX_PIN
,
LOW
);
digitalWrite
(
TX_PIN
,
LOW
);
pinMode
(
7
,
OUTPUT
);
// mr.Tech
digitalWrite
(
7
,
HIGH
);
//mr.Tech
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////
//
Функции передатчика
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
void
Oregon_TM
::
sendZero
(
void
)
void
Oregon_TM
::
sendZero
(
void
)
{
{
...
@@ -209,7 +211,7 @@ void Oregon_TM::sendMSB(byte data)
...
@@ -209,7 +211,7 @@ void Oregon_TM::sendMSB(byte data)
(
bitRead
(
data
,
5
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
5
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
6
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
6
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
7
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
7
))
?
sendOne
()
:
sendZero
();
if
(
protocol
==
2
)
time_marker
+=
timing_corrector2
;
//
1024.07 1024.60
if
(
protocol
==
2
)
time_marker
+=
timing_corrector2
;
//
Поправка на разницу тактовых частот 1024.07Гц и 1024.60Гц
if
(
protocol
==
3
)
time_marker
+=
timing_corrector3
;
if
(
protocol
==
3
)
time_marker
+=
timing_corrector3
;
...
@@ -222,7 +224,7 @@ void Oregon_TM::sendLSB(byte data)
...
@@ -222,7 +224,7 @@ void Oregon_TM::sendLSB(byte data)
(
bitRead
(
data
,
1
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
1
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
2
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
2
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
3
))
?
sendOne
()
:
sendZero
();
(
bitRead
(
data
,
3
))
?
sendOne
()
:
sendZero
();
if
(
protocol
==
2
)
time_marker
+=
timing_corrector2
;
//
1024.07 1024.60
if
(
protocol
==
2
)
time_marker
+=
timing_corrector2
;
//
Поправка на разницу тактовых частот 1024.07Гц и 1024.60Гц
if
(
protocol
==
3
)
time_marker
+=
timing_corrector3
;
if
(
protocol
==
3
)
time_marker
+=
timing_corrector3
;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
...
@@ -234,9 +236,9 @@ void Oregon_TM::sendData()
...
@@ -234,9 +236,9 @@ void Oregon_TM::sendData()
sendMSB
(
SendBuffer
[
i
]);
sendMSB
(
SendBuffer
[
i
]);
if
(
i
<
9
)
if
(
i
<
9
)
sendLSB
(
SendBuffer
[
i
]);
sendLSB
(
SendBuffer
[
i
]);
if
(
protocol
==
2
)
time_marker
+=
4
;
//
1024.07 1024.60
if
(
protocol
==
2
)
time_marker
+=
4
;
//
Поправка на разницу тактовых частот 1024.07Гц и 1024.60Гц
//if (protocol == 3) time_marker += 4;
//if (protocol == 3) time_marker += 4;
//
1024.07 1024
//
Поправка на разницу тактовых частот 1024.07Гц и 1024Гц
}
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
...
@@ -409,7 +411,7 @@ void Oregon_TM::SendPacket()
...
@@ -409,7 +411,7 @@ void Oregon_TM::SendPacket()
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
//
Функции кодирования данных
//////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
void
Oregon_TM
::
setType
(
word
type
)
void
Oregon_TM
::
setType
(
word
type
)
{
{
...
@@ -626,15 +628,20 @@ void Oregon_TM::setComfort(float temp, byte hum)
...
@@ -626,15 +628,20 @@ void Oregon_TM::setComfort(float temp, byte hum)
else
SendBuffer
[
7
]
=
0x00
;
else
SendBuffer
[
7
]
=
0x00
;
return
;
return
;
}
}
//
///////////////////////////
//////////////////////////////////////////////////////////////////////
//
Передача - заметка от mr.Tech
//////////////////////////////////////////////////////////////////////
bool
Oregon_TM
::
transmit
()
bool
Oregon_TM
::
transmit
()
{
{
if
(
millis
()
>=
time_marker_send
&&
send_time
)
if
(
millis
()
>=
time_marker_send
&&
send_time
)
{
{
digitalWrite
(
7
,
LOW
);
// Включение режима TX на 7-й ноге. Добавлено mr.Tech 09.03.2020
delay
(
500
);
SendPacket
();
SendPacket
();
time_marker_send
=
millis
()
+
send_time
;
time_marker_send
=
millis
()
+
send_time
;
digitalWrite
(
7
,
HIGH
);
// Отключение режима TX на 7-й ноге. Добавлено mr.Tech 09.03.2020
return
true
;
return
true
;
}
}
else
return
false
;
else
return
false
;
}
}
...
@@ -645,7 +652,7 @@ bool Oregon_TM::transmit()
...
@@ -645,7 +652,7 @@ bool Oregon_TM::transmit()
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
//
THP
//
Поддержка датчика
THP
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
...
...
libraries/Oregon_NR-master/Oregon_TM.h
View file @
a6ca41d
...
@@ -41,40 +41,40 @@
...
@@ -41,40 +41,40 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
//
Oregon Scientific v2.1
v3.0
//
Данная библиотека Ардуино предназначена для приема и передачи данных в формате беспроводного протокола Oregon Scientific v2.1 и
v3.0
//
//
//
14
2019
//
Последнее обновление 14 Октября
2019
//
//
//
//
Поддерживается формат следующих датчиков
//
//
//
:
//
Приём и передача
:
// THGN132N (THGR122N, THGN123N),
// THGN132N (THGR122N, THGN123N),
// RTGN318,
// RTGN318,
// THGR810.
// THGR810.
//
:
//
Тольок приём
:
// THN132N,
// THN132N,
// WGR800,
// WGR800,
// UVN800.
// UVN800.
//
//
//
(
)
//
Также поддерживаются датчики собственной разработки (за дополнительной документацей обращаться к автору
)
//
//
//
-
OREGON_NR
//
Этот файл - часть библиотеки
OREGON_NR
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// Copyright (c) 2019
// Copyright (c) 2019
Ñåðãåé Çàâèñëÿê
//
//
//
,
//
Äàííàÿ ëèöåíçèÿ ðàçðåøàåò ëèöàì, ïîëó÷èâøèì êîïèþ äàííîãî ïðîãðàììíîãî îáåñïå÷åíèÿ è ñîïóòñòâóþùåé äîêóìåíòàöèè
// (
),
,
// (
â äàëüíåéøåì èìåíóåìûìè «Ïðîãðàììíîå Îáåñïå÷åíèå»), áåçâîçìåçäíî èñïîëüçîâàòü Ïðîãðàììíîå Îáåñïå÷åíèå áåç îãðàíè÷åíèé
,
//
, , , , , ,
//
âêëþ÷àÿ íåîãðàíè÷åííîå ïðàâî íà èñïîëüçîâàíèå, êîïèðîâàíèå, èçìåíåíèå, ñëèÿíèå, ïóáëèêàöèþ, ðàñïðîñòðàíåíèå, ñóáëèöåíçèðîâàíèå
//
/ , , ,
:
//
è/èëè ïðîäàæó êîïèé Ïðîãðàììíîãî Îáåñïå÷åíèÿ, à òàêæå ëèöàì, êîòîðûì ïðåäîñòàâëÿåòñÿ äàííîå Ïðîãðàììíîå Îáåñïå÷åíèå, ïðè ñîáëþäåíèè ñëåäóþùèõ óñëîâèé
:
//
//
//
.
//
Óêàçàííîå âûøå óâåäîìëåíèå îá àâòîðñêîì ïðàâå è äàííûå óñëîâèÿ äîëæíû áûòü âêëþ÷åíû âî âñå êîïèè èëè çíà÷èìûå ÷àñòè äàííîãî Ïðîãðàììíîãî Îáåñïå÷åíèÿ
.
//
//
//
ܻ, - , ,
//
ÄÀÍÍÎÅ ÏÐÎÃÐÀÌÌÍÎÅ ÎÁÅÑÏÅ×ÅÍÈÅ ÏÐÅÄÎÑÒÀÂËßÅÒÑß «ÊÀÊ ÅÑÒÜ», ÁÅÇ ÊÀÊÈÕ-ËÈÁÎ ÃÀÐÀÍÒÈÉ, ßÂÍÎ ÂÛÐÀÆÅÍÍÛÕ ÈËÈ ÏÎÄÐÀÇÓÌÅÂÀÅÌÛÕ, ÂÊËÞ×Àß ÃÀÐÀÍÒÈÈ ÒÎÂÀÐÍÎÉ
//
, , .
//
ÏÐÈÃÎÄÍÎÑÒÈ, ÑÎÎÒÂÅÒÑÒÂÈß ÏÎ ÅÃÎ ÊÎÍÊÐÅÒÍÎÌÓ ÍÀÇÍÀ×ÅÍÈÞ È ÎÒÑÓÒÑÒÂÈß ÍÀÐÓØÅÍÈÉ, ÍÎ ÍÅ ÎÃÐÀÍÈ×ÈÂÀßÑÜ ÈÌÈ. ÍÈ Â ÊÀÊÎÌ ÑËÓ×ÀÅ ÀÂÒÎÐÛ ÈËÈ ÏÐÀÂÎÎÁËÀÄÀÒÅËÈ
//
- , , , ,
,
//
ÍÅ ÍÅÑÓÒ ÎÒÂÅÒÑÒÂÅÍÍÎÑÒÈ ÏÎ ÊÀÊÈÌ-ËÈÁÎ ÈÑÊÀÌ, ÇÀ ÓÙÅÐÁ ÈËÈ ÏÎ ÈÍÛÌ ÒÐÅÁÎÂÀÍÈßÌ,  ÒÎÌ ×ÈÑËÅ, ÏÐÈ ÄÅÉÑÒÂÈÈ ÊÎÍÒÐÀÊÒÀ, ÄÅËÈÊÒÅ ÈËÈ ÈÍÎÉ ÑÈÒÓÀÖÈÈ
,
//
-
.
//
ÂÎÇÍÈÊØÈÌ ÈÇ-ÇÀ ÈÑÏÎËÜÇÎÂÀÍÈß ÏÐÎÃÐÀÌÌÍÎÃÎ ÎÁÅÑÏÅ×ÅÍÈß ÈËÈ ÈÍÛÕ ÄÅÉÑÒÂÈÉ Ñ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ
.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
...
@@ -149,4 +149,4 @@ class Oregon_TM
...
@@ -149,4 +149,4 @@ class Oregon_TM
};
};
#endif
#endif
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment