Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
ref_serial_transmitter.hpp
Go to the documentation of this file.
1/*****************************************************************************/
2/********** !!! WARNING: CODE GENERATED BY TAPROOT. DO NOT EDIT !!! **********/
3/*****************************************************************************/
4
5/*
6 * Copyright (c) 2022 Advanced Robotics at the University of Washington <robomstr@uw.edu>
7 *
8 * This file is part of Taproot.
9 *
10 * Taproot is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
14 *
15 * Taproot is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with Taproot. If not, see <https://www.gnu.org/licenses/>.
22 */
23
24#ifndef TAPROOT_REF_SERIAL_TRANSMITTER_HPP_
25#define TAPROOT_REF_SERIAL_TRANSMITTER_HPP_
26
29#include "tap/util_macros.hpp"
30
31#include "modm/processing/resumable.hpp"
32
33#include "dji_serial.hpp"
34#include "ref_serial_data.hpp"
35
36namespace tap
37{
38class Drivers;
39}
40
42{
55class RefSerialTransmitter : public RefSerialData, public modm::Resumable<8>
56{
57public:
59
87 static void configGraphicGenerics(
88 Tx::GraphicData* graphicData,
89 const uint8_t* name,
90 Tx::GraphicOperation operation,
91 uint8_t layer,
92 Tx::GraphicColor color);
98 static void configLine(
99 uint16_t width,
100 uint16_t startX,
101 uint16_t startY,
102 uint16_t endX,
103 uint16_t endY,
104 Tx::GraphicData* sharedData);
110 static void configRectangle(
111 uint16_t width,
112 uint16_t startX,
113 uint16_t startY,
114 uint16_t endX,
115 uint16_t endY,
116 Tx::GraphicData* sharedData);
122 static void configCircle(
123 uint16_t width,
124 uint16_t centerX,
125 uint16_t centerY,
126 uint16_t radius,
127 Tx::GraphicData* sharedData);
133 static void configEllipse(
134 uint16_t width,
135 uint16_t centerX,
136 uint16_t centerY,
137 uint16_t xLen,
138 uint16_t yLen,
139 Tx::GraphicData* sharedData);
145 static void configArc(
146 uint16_t startAngle,
147 uint16_t endAngle,
148 uint16_t width,
149 uint16_t centerX,
150 uint16_t centerY,
151 uint16_t xLen,
152 uint16_t yLen,
153 Tx::GraphicData* sharedData);
164 static void configFloatingNumber(
165 uint16_t fontSize,
166 uint16_t decimalPrecision,
167 uint16_t width,
168 uint16_t startX,
169 uint16_t startY,
170 float value,
171 Tx::GraphicData* sharedData);
182 static void configInteger(
183 uint16_t fontSize,
184 uint16_t width,
185 uint16_t startX,
186 uint16_t startY,
187 int32_t value,
188 Tx::GraphicData* sharedData);
196 static void configCharacterMsg(
197 uint16_t fontSize,
198 uint16_t width,
199 uint16_t startX,
200 uint16_t startY,
201 const char* dataToPrint,
202 Tx::GraphicCharacterMessage* sharedData);
203
211 static void configFrameHeader(DJISerial::FrameHeader* header, uint16_t msgLen);
212 static void configInteractiveHeader(
213 Tx::InteractiveHeader* header,
214 uint16_t cmdId,
215 RobotId senderId,
216 uint16_t receiverId);
217
224 mockable modm::ResumableResult<void> deleteGraphicLayer(
225 Tx::DeleteGraphicOperation graphicOperation,
226 uint8_t graphicLayer);
227
240 mockable modm::ResumableResult<void> sendGraphic(
241 Tx::Graphic1Message* graphicMsg,
242 bool configMsgHeader = true,
243 bool sendMsg = true);
244 mockable modm::ResumableResult<void> sendGraphic(
245 Tx::Graphic2Message* graphicMsg,
246 bool configMsgHeader = true,
247 bool sendMsg = true);
248 mockable modm::ResumableResult<void> sendGraphic(
249 Tx::Graphic5Message* graphicMsg,
250 bool configMsgHeader = true,
251 bool sendMsg = true);
252 mockable modm::ResumableResult<void> sendGraphic(
253 Tx::Graphic7Message* graphicMsg,
254 bool configMsgHeader = true,
255 bool sendMsg = true);
256 mockable modm::ResumableResult<void> sendGraphic(
257 Tx::GraphicCharacterMessage* graphicMsg,
258 bool configMsgHeader = true,
259 bool sendMsg = true);
261
262 mockable modm::ResumableResult<void> sendRobotToRobotMsg(
263 Tx::RobotToRobotMessage* robotToRobotMsg,
264 uint16_t msgId,
265 RobotId receiverId,
266 uint16_t msgLen);
267
268private:
270 Tx::DeleteGraphicLayerMessage deleteGraphicLayerMessage;
271
275 template <typename GRAPHIC>
276 modm::ResumableResult<void> sendGraphic_(
277 GRAPHIC* graphicMsg,
278 uint16_t messageId,
279 bool configMsgHeader,
280 bool sendMsg,
281 RobotId robotId,
283 uint8_t extraDataLength);
284};
285} // namespace tap::communication::serial
286
287#endif // TAPROOT_REF_SERIAL_TRANSMITTER_HPP_
Definition drivers.hpp:70
Definition ref_serial_data.hpp:41
RobotId
Definition ref_serial_data.hpp:48
Definition ref_serial_transmitter.hpp:56
static void configLine(uint16_t width, uint16_t startX, uint16_t startY, uint16_t endX, uint16_t endY, Tx::GraphicData *sharedData)
Definition ref_serial_transmitter.cpp:50
static void configFloatingNumber(uint16_t fontSize, uint16_t decimalPrecision, uint16_t width, uint16_t startX, uint16_t startY, float value, Tx::GraphicData *sharedData)
Definition ref_serial_transmitter.cpp:132
static void configGraphicGenerics(Tx::GraphicData *graphicData, const uint8_t *name, Tx::GraphicOperation operation, uint8_t layer, Tx::GraphicColor color)
Definition ref_serial_transmitter.cpp:37
static void configFrameHeader(DJISerial::FrameHeader *header, uint16_t msgLen)
Definition ref_serial_transmitter.cpp:442
static void configCircle(uint16_t width, uint16_t centerX, uint16_t centerY, uint16_t radius, Tx::GraphicData *sharedData)
Definition ref_serial_transmitter.cpp:82
static void configRectangle(uint16_t width, uint16_t startX, uint16_t startY, uint16_t endX, uint16_t endY, Tx::GraphicData *sharedData)
Definition ref_serial_transmitter.cpp:66
static void configInteger(uint16_t fontSize, uint16_t width, uint16_t startX, uint16_t startY, int32_t value, Tx::GraphicData *sharedData)
Definition ref_serial_transmitter.cpp:151
static void configInteractiveHeader(Tx::InteractiveHeader *header, uint16_t cmdId, RobotId senderId, uint16_t receiverId)
Definition ref_serial_transmitter.cpp:452
mockable modm::ResumableResult< void > deleteGraphicLayer(Tx::DeleteGraphicOperation graphicOperation, uint8_t graphicLayer)
Definition ref_serial_transmitter.cpp:199
mockable modm::ResumableResult< void > sendGraphic(Tx::Graphic1Message *graphicMsg, bool configMsgHeader=true, bool sendMsg=true)
Definition ref_serial_transmitter.cpp:293
static void configArc(uint16_t startAngle, uint16_t endAngle, uint16_t width, uint16_t centerX, uint16_t centerY, uint16_t xLen, uint16_t yLen, Tx::GraphicData *sharedData)
Definition ref_serial_transmitter.cpp:112
static void configEllipse(uint16_t width, uint16_t centerX, uint16_t centerY, uint16_t xLen, uint16_t yLen, Tx::GraphicData *sharedData)
Definition ref_serial_transmitter.cpp:96
static void configCharacterMsg(uint16_t fontSize, uint16_t width, uint16_t startX, uint16_t startY, const char *dataToPrint, Tx::GraphicCharacterMessage *sharedData)
Definition ref_serial_transmitter.cpp:167
mockable modm::ResumableResult< void > sendRobotToRobotMsg(Tx::RobotToRobotMessage *robotToRobotMsg, uint16_t msgId, RobotId receiverId, uint16_t msgLen)
Definition ref_serial_transmitter.cpp:378
Definition dji_serial.cpp:41
Definition ballistics.cpp:29
tap::Drivers Drivers
Definition drivers.hpp:11
fang::Drivers & drivers
Definition robot_singleton.cpp:45
#define mockable
Wrap class functions that are not already virtual in this function if you wish to mock them.
Definition util_macros.hpp:38