ReduxLib C++ 2026.1.2
Loading...
Searching...
No Matches
DataSource.h
1// Copyright (c) Bagholders of Redux Robotics and other contributors.
2// This is open source and can be modified and shared under the Mozilla Public License v2.0.
3
4#pragma once
5#include <cstdint>
6#include "DigoutPinConfig.h"
7
9
10/**
11 * Internal data sources available to the device.
12 *
13 * These are primarily used for configuring digital output logic.
14 */
15enum class DataSource : uint8_t {
16 kZero = 0,
17 kProximity = 1,
18 kRed = 2,
19 kGreen = 3,
20 kBlue = 4,
21 kHue = 5,
22 kSaturation = 6,
23 kValue = 7,
24};
25
26/**
27 * Digital output pin config that mirrors an internal data source.
28 *
29 * This config is used with CanandcolorSettings::SetDigoutPinConfig().
30 */
32 public:
33 /**
34 * Constructs a DataSourcePinConfig.
35 * @param dataSource data source to mirror
36 */
37 explicit DataSourcePinConfig(DataSource dataSource);
38
39 uint64_t ToOutputSettingData() const override;
40 bool Equals(const DigoutPinConfig& other) const override;
41
42 private:
43 DataSource dataSource_;
44};
45
46} // namespace redux::sensors::canandcolor
bool Equals(const DigoutPinConfig &other) const override
Definition DigoutPinConfig.h:15
Definition Canandcolor.h:19
DataSource
Definition DataSource.h:15