Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
i_bus_channel_section.hpp
Go to the documentation of this file.
1#include "i_bus.hpp"
3#include "cool_serial/bytes.hpp"
4
5#include <array>
7{
13{
14public:
15 using ChannelBytes = std::array<Byte, kChannelSectionSize>;
16
17 ChannelSection(const ChannelBytes& bytes);
18
22 ChannelSection(const coolSerial::Bytes& bytes);
24
30 uint16_t calculateChecksum() const;
31
35 bool isValid(uint16_t checkSum) const;
36private:
37 // Not constant but all other functions are const
38 // Not constant to avoid unnecessary double copies
39 std::array<Byte, kChannelSectionSize> bytes_;
40};
41}
Definition i_bus_channel_section.hpp:13
bool isValid(uint16_t checkSum) const
Definition i_bus_channel_section.cpp:60
uint16_t calculateChecksum() const
Definition i_bus_channel_section.cpp:40
ChannelData getChannelData() const
Definition i_bus_channel_section.cpp:11
std::array< Byte, kChannelSectionSize > ChannelBytes
Definition i_bus_channel_section.hpp:15
Definition dynamic_i_bus_parser.cpp:8
std::array< std::uint16_t, kChannelCount > ChannelData
Definition i_bus_channel_data.hpp:8