ReduxLib C++ 2026.1.2
Loading...
Searching...
No Matches
CanandmagStatus.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 <units/temperature.h>
6#include "redux/sensors/canandmag/CanandmagFaults.h"
7
9
10/**
11 * Struct class representing a Canandmag's status.
12*/
14 /**
15 * Constructor for CanandmagStatus
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 CanandmagStatus(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 CanandmagFaults.h:13
Definition Canandmag.h:29
Definition CanandmagStatus.h:13
units::celsius_t temperature
Definition CanandmagStatus.h:30
CanandmagFaults stickyFaults
Definition CanandmagStatus.h:28
constexpr CanandmagStatus(uint8_t activeFaultsRaw, uint8_t stickyFaultsRaw, bool faultsValid, units::celsius_t temp, bool magnetInRange)
Definition CanandmagStatus.h:22
CanandmagFaults activeFaults
Definition CanandmagStatus.h:26
bool magnetInRange
Definition CanandmagStatus.h:32