ReduxLib C++ 2024.1.1-beta0
Loading...
Searching...
No Matches
CanandcoderStatus.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 <units/temperature.h>
6#include "redux/sensors/canandcoder/CanandcoderFaults.h"
7
9
10/**
11 * Struct class representing a Canandcoder's status.
12*/
14 /**
15 * Constructor for CanandcoderStatus
16 * @param activeFaultsRaw raw uint8_t field
17 * @param stickyFaultsRaw raw uint8_t field
18 * @param faultsValid whether the faults fields have valid adata
19 * @param temp MCU temp
20 * @param magnetInRange whether the encoder magnet is in range
21 */
22 constexpr CanandcoderStatus(uint8_t activeFaultsRaw, uint8_t stickyFaultsRaw, bool faultsValid, units::celsius_t temp, bool magnetInRange): \
23 activeFaults{activeFaultsRaw, faultsValid}, stickyFaults{stickyFaultsRaw, faultsValid}, temperature{temp}, magnetInRange{magnetInRange} {};
24 public:
25 /** Active faults. */
27 /** Sticky faults. */
29 /** Encoder MCU temperature (celsius). */
30 units::celsius_t temperature;
31 /** Whether the magnet is in range. */
33};
34}
Definition: CanandcoderFaults.h:13
Definition: CanandcoderStatus.h:8
Definition: CanandcoderStatus.h:13
CanandcoderFaults activeFaults
Definition: CanandcoderStatus.h:26
constexpr CanandcoderStatus(uint8_t activeFaultsRaw, uint8_t stickyFaultsRaw, bool faultsValid, units::celsius_t temp, bool magnetInRange)
Definition: CanandcoderStatus.h:22
bool magnetInRange
Definition: CanandcoderStatus.h:32
CanandcoderFaults stickyFaults
Definition: CanandcoderStatus.h:28
units::celsius_t temperature
Definition: CanandcoderStatus.h:30