mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-06-28 05:09:40 +00:00
refactor working
This commit is contained in:
82
IR_config.h
82
IR_config.h
@ -48,55 +48,55 @@ msg type:
|
||||
#define IR_MSG_ 5U // | 101..... | = ??
|
||||
#define IR_MSG_DATA_NOACCEPT 6U // | 110..... | = данные, не требующие подтверждения
|
||||
#define IR_MSG_DATA_ACCEPT 7U // | 111..... | = данные требующие подтверждения
|
||||
/* // ----------
|
||||
/* // ----------
|
||||
|
||||
/```````````````````` подтверждение ```````````````````\ /``````````````````````````````````````` запрос ``````````````````````````````````\
|
||||
|
||||
{``````````} [````````````````````````] [``````````````] {``````````} [````````````````````````] [````````````````````````] [``````````````]
|
||||
{ msg type } [ addr_from uint16_t ] [ CRC Bytes ] { msg type } [ addr_from uint16_t ] [ addr_to uint16_t ] [ CRC Bytes ]
|
||||
{..........} [........................] [..............] {..........} [........................] [........................] [..............]
|
||||
|
||||
{ 001..... } [addr_from_H][addr_from_L] [ crc1 ][ crc2 ] { 010..... } [addr_from_H][addr_from_L] [addr_from_H][addr_from_L] [ crc1 ][ crc2 ]
|
||||
| 0 1 2 3 4 | 0 1 2 3 4 5 6
|
||||
\__________________________________________/ | \_____________________________________________________________________/ |
|
||||
| | | |
|
||||
\__________________________________________________/ \_____________________________________________________________________________/
|
||||
/```````````````````` подтверждение ```````````````````\ /``````````````````````````````````````` запрос ``````````````````````````````````\
|
||||
|
||||
{``````````} [````````````````````````] [``````````````] {``````````} [````````````````````````] [````````````````````````] [``````````````]
|
||||
{ msg type } [ addr_from uint16_t ] [ CRC Bytes ] { msg type } [ addr_from uint16_t ] [ addr_to uint16_t ] [ CRC Bytes ]
|
||||
{..........} [........................] [..............] {..........} [........................] [........................] [..............]
|
||||
|
||||
{ 001..... } [addr_from_H][addr_from_L] [ crc1 ][ crc2 ] { 010..... } [addr_from_H][addr_from_L] [addr_from_H][addr_from_L] [ crc1 ][ crc2 ]
|
||||
| 0 1 2 3 4 | 0 1 2 3 4 5 6
|
||||
\__________________________________________/ | \_____________________________________________________________________/ |
|
||||
| | | |
|
||||
\__________________________________________________/ \_____________________________________________________________________________/
|
||||
|
||||
|
||||
|
||||
/`````````````````````` Задний сигнал машинки без адресации ``````````````````````\ В (IR_MASK_MSG_INFO & 15U) содержится количество байт
|
||||
сквозных команд, максимум 15
|
||||
{``````````} [````````````````````````] [````````````````````````] [``````````````] Если полезных байт информации нет, отправляется один
|
||||
{ msg type } [ addr_from uint16_t ] [====== data bytes ======] [ CRC Bytes ] байт нулей
|
||||
{..........} [........................] [........................] [..............]
|
||||
|
||||
{ 0000xxxx } [addr_from_H][addr_from_L] [data_H][data_n..][data_L] [ crc1 ][ crc2 ]
|
||||
| 0 1 2 3 | |
|
||||
\_____________________________________________________________________/ |
|
||||
| |
|
||||
\_____________________________________________________________________________/
|
||||
/`````````````````````` Задний сигнал машинки без адресации ``````````````````````\ В (IR_MASK_MSG_INFO & 15U) содержится количество байт
|
||||
сквозных команд, максимум 15
|
||||
{``````````} [````````````````````````] [````````````````````````] [``````````````] Если полезных байт информации нет, отправляется один
|
||||
{ msg type } [ addr_from uint16_t ] [====== data bytes ======] [ CRC Bytes ] байт нулей
|
||||
{..........} [........................] [........................] [..............]
|
||||
|
||||
{ 0000xxxx } [addr_from_H][addr_from_L] [data_H][data_n..][data_L] [ crc1 ][ crc2 ]
|
||||
| 0 1 2 3 | |
|
||||
\_____________________________________________________________________/ |
|
||||
| |
|
||||
\_____________________________________________________________________________/
|
||||
|
||||
|
||||
|
||||
/```````````````````````````````````` Задний сигнал машинки с адресацией ````````````````````````````````````\
|
||||
|
||||
{``````````} [````````````````````````] [````````````````````````] [````````````````````````] [``````````````]
|
||||
{ msg type } [ addr_from uint16_t ] [ addr_to uint16_t ] [====== data bytes ======] [ CRC Bytes ]
|
||||
{..........} [........................] [........................] [........................] [..............]
|
||||
|
||||
{ 0001xxxx } [addr_from_H][addr_from_L] [addr_from_H][addr_from_L] [data_H][data_n..][data_L] [ crc1 ][ crc2 ]
|
||||
| 0 1 2 3 4 5 | |
|
||||
\________________________________________________________________________________________________/ |
|
||||
| |
|
||||
\________________________________________________________________________________________________________/
|
||||
/```````````````````````````````````` Задний сигнал машинки с адресацией ````````````````````````````````````\
|
||||
|
||||
{``````````} [````````````````````````] [````````````````````````] [````````````````````````] [``````````````]
|
||||
{ msg type } [ addr_from uint16_t ] [ addr_to uint16_t ] [====== data bytes ======] [ CRC Bytes ]
|
||||
{..........} [........................] [........................] [........................] [..............]
|
||||
|
||||
{ 0001xxxx } [addr_from_H][addr_from_L] [addr_from_H][addr_from_L] [data_H][data_n..][data_L] [ crc1 ][ crc2 ]
|
||||
| 0 1 2 3 4 5 | |
|
||||
\________________________________________________________________________________________________/ |
|
||||
| |
|
||||
\________________________________________________________________________________________________________/
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
#define IR_MASK_MSG_TYPE 0b00000111
|
||||
#define IR_MASK_MSG_INFO 0b00011111
|
||||
|
||||
/*
|
||||
/////////////////////////////////////////////////////////////////////////////////////*/
|
||||
/*
|
||||
/////////////////////////////////////////////////////////////////////////////////////*/
|
||||
typedef uint16_t crc_t;
|
||||
|
||||
#define bytePerPack 16 // колличество байтов в пакете
|
||||
@ -147,8 +147,8 @@ public:
|
||||
|
||||
struct ErrorsStruct {
|
||||
uint8_t lowSignal = 0;
|
||||
uint8_t highSignal= 0;
|
||||
uint8_t other= 0;
|
||||
uint8_t highSignal = 0;
|
||||
uint8_t other = 0;
|
||||
|
||||
void reset() {
|
||||
lowSignal = 0;
|
||||
@ -162,7 +162,7 @@ public:
|
||||
struct PackInfo {
|
||||
uint8_t* buffer = nullptr;
|
||||
uint8_t packSize = 0;
|
||||
uint16_t crc= 0;
|
||||
uint16_t crc = 0;
|
||||
ErrorsStruct err;
|
||||
uint16_t rTime = 0;
|
||||
};
|
||||
@ -170,7 +170,7 @@ public:
|
||||
protected:
|
||||
ErrorsStruct errors;
|
||||
|
||||
void checkaddressRuleApply(uint16_t address, uint16_t id, bool &flag) {
|
||||
void checkaddressRuleApply(uint16_t address, uint16_t id, bool& flag) {
|
||||
flag = false;
|
||||
flag |= id == 0;
|
||||
flag |= address == id;
|
||||
|
Reference in New Issue
Block a user