Loading...
Searching...
No Matches
feetech_protocol.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2017 Inria
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser General
5 * Public License v2.1. See the file LICENSE in the top level directory for more
6 * details.
7 */
8
9#pragma once
10
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#define FEETECH_START (0xFF)
27
28typedef enum {
29 SCS15_B_1M = 0,
30 SCS15_B_0_5M = 1,
31 SCS15_B_250K = 2,
32 SCS15_B_128K = 3,
33 SCS15_B_115200 = 4,
34 SCS15_B_76800 = 5,
35 SCS15_B_57600 = 6,
36 SCS15_B_38400 = 7
37} scs15_baudrate_t;
38
39typedef enum {
40 SCS15_ID = 5,
41 SCS15_BAUD_RATE = 6,
42 SCS15_RETURN_DELAY_TIME = 7,
43 SCS15_RETURN_LEVEL = 8,
44 SCS15_LIMIT_TEMPERATURE = 13,
45 SCS15_MAX_LIMIT_VOLTAGE = 14,
46 SCS15_MIN_LIMIT_VOLTAGE = 15,
47 SCS15_ALARM_LED = 18,
48 SCS15_ALARM_SHUTDOWN = 19,
49 SCS15_COMPLIANCE_P = 21,
50 SCS15_COMPLIANCE_D = 22,
51 SCS15_COMPLIANCE_I = 23,
52 SCS15_CW_DEAD = 26,
53 SCS15_CCW_DEAD = 27,
54 SCS15_TORQUE_ENABLE = 40,
55 SCS15_LED = 41,
56 SCS15_LOCK = 48,
57 SCS15_PRESENT_VOLTAGE = 62,
58 SCS15_PRESENT_TEMPERATURE = 63,
59 SCS15_REGISTERED_INSTRUCTION = 64,
60 SCS15_ERROR = 65,
61 SCS15_MOVING = 66,
62} scs15_register8_t;
63
64typedef enum {
65 SCS15_MODEL_NUMBER = 0,
66 SCS15_VERSION = 3,
67 SCS15_MIN_ANGLE_LIMIT = 9,
68 SCS15_MAX_ANGLE_LIMIT = 11,
69 SCS15_MAX_TORQUE = 16,
70 SCS15_PUNCH = 24,
71 SCS15_IMAX = 28,
72 SCS15_OFFSET = 30,
73 SCS15_GOAL_POSITION = 42,
74 SCS15_GOAL_TIME = 44,
75 SCS15_GOAL_SPEED = 46,
76 SCS15_PRESENT_POSITION = 56,
77 SCS15_PRESENT_SPEED = 58,
78 SCS15_PRESENT_LOAD = 60,
79 SCS15_VIR_POSITION = 67,
80 SCS15_CURRENT = 69,
81} scs15_register16_t;
82
83typedef enum {
84 INST_PING = 0x01,
85 INST_READ = 0x02,
86 INST_WRITE = 0x03,
87 INST_REG_WRITE = 0x04,
88 INST_ACTION = 0x05,
89 INST_RESET = 0x06,
90 INST_SYNC_WRITE = 0x83,
91} feetech_intruction_t;
92
93#ifdef __cplusplus
94}
95#endif
96