ReduxLib C++ 2024.2.0
Loading...
Searching...
No Matches
CanandmagDetails.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 Canandmag-specific constants and details not generally needed by end users
10 */
12// constants_compiler: begin vendordep_Canandmag_cpp
13
14/** Canandmag-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 Canandmag */
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/** Canandmag-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: CanandmagDetails.h:11
const std::vector< uint8_t > VDEP_SETTINGS
Definition: CanandmagDetails.h:76
SettingCommand
Definition: CanandmagDetails.h:62
@ kResetFactoryDefault
Definition: CanandmagDetails.h:66
@ kResetFactoryDefaultKeepZero
Definition: CanandmagDetails.h:70
@ kFetchSettingValue
Definition: CanandmagDetails.h:68
@ kFetchSettings
Definition: CanandmagDetails.h:64
Message
Definition: CanandmagDetails.h:15
@ kPositionOutput
Definition: CanandmagDetails.h:17
@ kReportSetting
Definition: CanandmagDetails.h:30
@ kPartyMode
Definition: CanandmagDetails.h:36
@ kVelocityOutput
Definition: CanandmagDetails.h:19
@ kSettingCommand
Definition: CanandmagDetails.h:26
@ kRawPositionOutput
Definition: CanandmagDetails.h:21
@ kClearStickyFaults
Definition: CanandmagDetails.h:32
@ kSetSetting
Definition: CanandmagDetails.h:28
@ kStatus
Definition: CanandmagDetails.h:34
Setting
Definition: CanandmagDetails.h:40
@ kInvertDirection
Definition: CanandmagDetails.h:52
@ kZeroOffset
Definition: CanandmagDetails.h:42
@ kVelocityWindow
Definition: CanandmagDetails.h:44
@ kPositionFramePeriod
Definition: CanandmagDetails.h:46
@ kStatusFramePeriod
Definition: CanandmagDetails.h:58
@ kDisableZeroButton
Definition: CanandmagDetails.h:56
@ kVelocityFramePeriod
Definition: CanandmagDetails.h:48
@ kRawPositionFramePeriod
Definition: CanandmagDetails.h:50
@ kRelativePosition
Definition: CanandmagDetails.h:54