Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
i_bus.hpp
Go to the documentation of this file.
2
3#include <array>
4#include <cstdint>
5
6#pragma once
14{
15static constexpr Byte kFirstStartOfFrame{0x20};
16static constexpr Byte kSecondStartofFrame{0x40};
17static constexpr std::array<Byte, 2> kStartOfFrame{kFirstStartOfFrame, kSecondStartofFrame};
18
19static constexpr int kChannelCount{14};
20
21static constexpr int kStartOfFrameSize{2}; // Bytes
22static constexpr int kBytesPer16BitInt{2};
23static constexpr int kChecksumSectionSize{2}; // Bytes
24
25static constexpr int kChannelSectionSize{kChannelCount * kBytesPer16BitInt}; // Bytes (Channel + 16 bit Checkshum)
26static constexpr int kPacketSize{kStartOfFrameSize + kChannelSectionSize + kChecksumSectionSize}; // Bytes
27
28static constexpr uint16_t kChecksumConstant{0xffff};
29
30// Unlike UMN, the start of frame and end of frame are not stored in the buffer
31static constexpr uint16_t kInitialCheksum{kFirstStartOfFrame + kSecondStartofFrame};
32
40// https://github.com/mokhwasomssi/stm32_hal_ibus/blob/main/ibus.c
41}
Definition dynamic_i_bus_parser.cpp:8
coolSerial::Byte Byte
Definition byte.hpp:4