ReduxLib C++ 2024.1.1-beta0
Loading...
Searching...
No Matches
CanandcoderDetails.h
1// Copyright (c) Redux Robotics and other contributors.
2// This is open source and can be modified and shared under the 3-clause BSD license.
3
4#pragma once
5#include <cinttypes>
6#include <vector>
7
8/**
9 * Namespace for Canandcoder-specific constants and details not generally needed by end users
10 */
12// constants_compiler: begin vendordep_Canandcoder_cpp
13
14/** Canandcoder-specific CAN message IDs*/
15enum Message : uint8_t {
16 /** Message id for Position frame */
18 /** Message id for Velocity frame */
20 /** Message id for Raw position frame */
22
23 // common to all devices
24
25 /** Message id for setting control command */
27 /** Message id for update setting on device */
29 /** Message id for setting value report from device */
31 /** Message id for clear device sticky faults */
33 /** Message id for status frames */
34 kStatus = 0x6,
35 /** Message id for party mode */
37};
38
39/** Setting IDs valid for Canandcoder */
40enum Setting : uint8_t {
41 /** Setting msg id for Encoder zero offset */
43 /** Setting msg id for Velocity window width (value*250us) */
45 /** Setting msg id for Position frame period (ms) */
47 /** Setting msg id for Velocity frame period (ms) */
49 /** Setting msg id for Raw position frame period (ms) */
51 /** Setting msg id for Invert direction (use cw instead of ccw) */
53 /** Setting msg id for Relative position value */
55 /** Setting msg id for Disable the zero button */
57 /** Setting msg id for status frame period (ms) */
59};
60
61/** Canandcoder-specific setting command IDs*/
62enum SettingCommand : uint8_t {
63 /** Setting command id for Fetch all settings from device */
65 /** Setting command id for Reset everything to factory default */
67 /** setting command for Fetch individual setting */
69 /** Setting command id for Factory defaults, but keep the encoder zero offset */
71};
72
73//constants_compiler: end
74
75/** std::vector of relevant settings IDS for the vendordep*/
76const std::vector<uint8_t> VDEP_SETTINGS = {
84};
85}
Definition: CanandcoderDetails.h:11
const std::vector< uint8_t > VDEP_SETTINGS
Definition: CanandcoderDetails.h:76
Setting
Definition: CanandcoderDetails.h:40
@ kRelativePosition
Definition: CanandcoderDetails.h:54
@ kVelocityFramePeriod
Definition: CanandcoderDetails.h:48
@ kStatusFramePeriod
Definition: CanandcoderDetails.h:58
@ kInvertDirection
Definition: CanandcoderDetails.h:52
@ kRawPositionFramePeriod
Definition: CanandcoderDetails.h:50
@ kPositionFramePeriod
Definition: CanandcoderDetails.h:46
@ kZeroOffset
Definition: CanandcoderDetails.h:42
@ kVelocityWindow
Definition: CanandcoderDetails.h:44
@ kDisableZeroButton
Definition: CanandcoderDetails.h:56
Message
Definition: CanandcoderDetails.h:15
@ kVelocityOutput
Definition: CanandcoderDetails.h:19
@ kStatus
Definition: CanandcoderDetails.h:34
@ kPartyMode
Definition: CanandcoderDetails.h:36
@ kRawPositionOutput
Definition: CanandcoderDetails.h:21
@ kSetSetting
Definition: CanandcoderDetails.h:28
@ kPositionOutput
Definition: CanandcoderDetails.h:17
@ kSettingCommand
Definition: CanandcoderDetails.h:26
@ kReportSetting
Definition: CanandcoderDetails.h:30
@ kClearStickyFaults
Definition: CanandcoderDetails.h:32
SettingCommand
Definition: CanandcoderDetails.h:62
@ kResetFactoryDefault
Definition: CanandcoderDetails.h:66
@ kResetFactoryDefaultKeepZero
Definition: CanandcoderDetails.h:70
@ kFetchSettings
Definition: CanandcoderDetails.h:64
@ kFetchSettingValue
Definition: CanandcoderDetails.h:68