UMRT Arm Firmware Library
include
umrt-arm-firmware-lib
arduino_communication_test.hpp
1
//
2
// Created by Noah on 2024-06-13.
3
//
4
5
#ifndef UMRT_ARM_FIRMWARE_LIB_ARDUINO_COMMUNICATION_TEST_HPP
6
#define UMRT_ARM_FIRMWARE_LIB_ARDUINO_COMMUNICATION_TEST_HPP
7
8
#include "arduino_stepper_controller.hpp"
9
#include "
utils.hpp
"
10
#include <string>
11
#include <thread>
12
13
#include <vector>
14
15
// TODO: Could use some docs, would be nice if we could get some sample output
16
class
ArduinoCommunicationTest
{
17
public
:
18
ArduinoCommunicationTest
(
const
std::string
& device,
const
int
baud,
const
std::vector<uint8_t>
& motor_ids);
19
20
void
update();
21
22
void
sendTestRoutine();
23
24
protected
:
25
ArduinoStepperController
s;
26
std::thread
test_thread;
27
const
std::vector<uint8_t>
motor_ids;
28
29
void
onSetup();
30
31
void
onString(
const
std::string
& str);
32
33
void
onEcho(
const
std::vector<uint8_t>
& payload);
34
35
void
onEchoText(
const
std::vector<uint8_t>
& payload);
36
37
void
onEchoInt32(
const
std::vector<uint8_t>
& payload);
38
39
void
onEchoRaw(
const
std::vector<uint8_t>
& payload);
40
41
void
onSetSpeed(
const
uint8_t motor,
const
int16_t speed);
42
43
void
onGetSpeed(
const
uint8_t motor,
const
int16_t speed);
44
45
void
onSendStep(
const
uint8_t motor,
const
uint16_t steps,
const
int16_t speed);
46
47
void
onSeekPosition(
const
uint8_t motor,
const
int32_t position,
const
int16_t speed);
48
49
void
onGetPosition(
const
uint8_t motor,
const
int32_t position);
50
51
private
:
52
std::function
<void(
const
std::vector<uint8_t>
&)> processPayload;
53
};
54
55
56
#endif
//UMRT_ARM_FIRMWARE_LIB_ARDUINO_COMMUNICATION_TEST_HPP
std::string
ArduinoCommunicationTest
Definition:
arduino_communication_test.hpp:16
ArduinoStepperController
Manages the Firmata connection to an Arduino running the Stepper Controller program.
Definition:
arduino_stepper_controller.hpp:18
std::function
std::thread
utils.hpp
A collection of helper functions related to encoding/decoding data for communication over a Firmata l...
std::vector< uint8_t >
Generated by
1.9.1