Loading...
Searching...
No Matches
dynamixel_writer.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Inria
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
18
19#include "dynamixel_protocol.h"
20#include <stdint.h>
21#include <stdlib.h>
22#include <stdbool.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
31typedef struct {
32 uint8_t *buffer;
33 size_t size;
34 size_t limit;
36
44void dynamixel_writer_init(dynamixel_writer_t *writer, uint8_t *buffer, size_t limit);
45
53const uint8_t *dynamixel_writer_get_data(const dynamixel_writer_t *writer);
54
63
71
81void dynamixel_writer_write_make(dynamixel_writer_t *writer, uint8_t id, uint16_t reg, const uint8_t *buffer, size_t size);
82
91void dynamixel_writer_read_make(dynamixel_writer_t *writer, uint8_t id, uint16_t reg, size_t size);
92
93#ifdef __cplusplus
94}
95#endif
96
Dynamixel protocol definitions.
void dynamixel_writer_read_make(dynamixel_writer_t *writer, uint8_t id, uint16_t reg, size_t size)
Build a READ packet.
const uint8_t * dynamixel_writer_get_data(const dynamixel_writer_t *writer)
Get the data buffer to send.
size_t dynamixel_writer_get_size(const dynamixel_writer_t *writer)
Get the data buffer's size to send.
void dynamixel_writer_write_make(dynamixel_writer_t *writer, uint8_t id, uint16_t reg, const uint8_t *buffer, size_t size)
Build a WRITE packet.
void dynamixel_writer_ping_make(dynamixel_writer_t *writer, uint8_t id)
Build a PING packet.
void dynamixel_writer_init(dynamixel_writer_t *writer, uint8_t *buffer, size_t limit)
Initialize the Dynamixel packet writer.
Dynamixel packet writer struct.
size_t size
packet's size
size_t limit
data buffer's size
uint8_t * buffer
data buffer