// // ****************************************************************** // // /\ /| @File iic_packet.h // // \ V/ @Brief // // | "") @Author lijinwen, ghz005@uni-trend.com.cn // // / | @Creation 2024-07-19 // // / \\ @Modified 2024-07-25 // // *(__\_\ // // ****************************************************************** #pragma once #include #include #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 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 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(packet.data_infos.data()); has_end = packet.has_end; end_index = packet.end_index; end_len = packet.end_len; }*/ }; }