123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- // // ******************************************************************
- // // /\ /| @File iic_packet.h
- // // \ V/ @Brief
- // // | "") @Author lijinwen, ghz005@uni-trend.com.cn
- // // / | @Creation 2024-07-19
- // // / \\ @Modified 2024-07-25
- // // *(__\_\
- // // ******************************************************************
- #pragma once
- #include <cstdint>
- #include <vector>
- #include "../decode_event.h"
- //#include "protocol_iic_enums.h"
- namespace Protocol
- {
- struct IicDataInfo
- {
- int32_t index;
- int32_t length;
- uint8_t data;
- uint8_t ack;
- int32_t ack_index;
- int32_t ack_length;
- uint8_t success_ack;
- uint8_t has_ack;
- };
- //内部使用数据结构 数据帧
- /* struct IicPacket
- {
- bool has_start;
- int32_t start_index;
- int32_t start_len;
- int32_t addr_index;
- int32_t addr_len;
- uint16_t addr_data;
- bool rw;
- int32_t rw_index;
- int32_t rw_len;
- bool addr_ack;
- bool success_addr_ack;
- int32_t addr_ack_index;
- int32_t addr_ack_len;
- bool has_addr_ack;
- std::vector<IicDataInfo> data_infos;
- bool has_end;
- int32_t end_index;
- int32_t end_len;
- };*/
- struct IicEvent
- {
- bool has_start;
- int32_t start_index;
- int32_t start_len;
- int32_t addr_index;
- int32_t addr_len;
- uint16_t addr_data;
- //bool rw; bug
- uint16_t rw;
- int32_t rw_index;
- int32_t rw_len;
- bool addr_ack;
- bool success_addr_ack;
- int32_t addr_ack_index;
- int32_t addr_ack_len;
- bool has_addr_ack;
- int32_t data_infos_index; // ptr to std::vector<IicDataInfo> packet_infos_
- int32_t data_infos_count;
- bool has_end;
- int32_t end_index;
- int32_t end_len;
- /* IicEvent(IicPacket packet)
- {
- has_start = packet.has_start;
- start_index = packet.start_index;
- start_len = packet.start_len;
- addr_index = packet.addr_index;
- addr_len = packet.addr_len;
- addr_data = packet.addr_data;
- rw = packet.rw;
- rw_index = packet.rw_index;
- rw_len = packet.rw_len;
- addr_ack = packet.addr_ack;
- success_addr_ack = packet.success_addr_ack;
- addr_ack_index = packet.addr_ack_index;
- addr_ack_len = packet.addr_ack_len;
- has_addr_ack = packet.has_addr_ack;
- data_infos_ptr = reinterpret_cast<intptr_t>(packet.data_infos.data());
- has_end = packet.has_end;
- end_index = packet.end_index;
- end_len = packet.end_len;
- }*/
- };
- }
|