Skip to content

Commit cfae1ee

Browse files
committed
Attenna MUX support, load timing config, made isTargetRPMExceeded based on power, added voltage as FSM S4Load condition, work on load algo
1 parent 862665a commit cfae1ee

5 files changed

Lines changed: 862 additions & 21 deletions

File tree

include/LoadConfig.hpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ namespace UM_PROS3 {
3838
// Onboard LED
3939
constexpr uint_fast8_t LED_DATA_PIN = RGB_DATA;
4040

41+
// Antenna Mux
42+
constexpr uint_fast8_t ANTENNA_MUX_PIN = 11;
43+
4144
// ESTOP
4245
constexpr uint_fast8_t ESTOP_PIN = 5;
4346

@@ -93,16 +96,16 @@ namespace LED {
9396
namespace RUN {
9497
// Task Execution Intervals
9598
enum TASK_INTERVALS : uint32_t {
96-
TI_FSM_mS = 50, // CONFIG - 50 ms (20 Hz)
97-
TI_POLL_SENSORS_mS = 3, // CONFIG - 3 ms (333 Hz), stopped likeing 2 ms
98-
// (100 Hz) around commit 9d80f8b
99-
TI_ADJUST_LOAD_mS = 500, // CONFIG - 500 ms (2 Hz)
100-
TI_RECV_ms = 50, // CONFIG - 100 ms (10 Hz)
101-
TI_SEND_ms = 75, // CONFIG - 75 ms (13.33 Hz) // FIXME
102-
TI_CFG_ms = 1000, // CONFIG - 1000 ms (1 Hz)
103-
TI_TELNET_ms = 500, // CONFIG - 500 ms (2 Hz)
104-
TI_OTA_ms = 1000, // CONFIG - 1000 ms (1 Hz)
105-
TI_LOG_DATA_ms = 4000, // CONFIG - 4000 ms (0.25 Hz)
99+
TI_FSM_mS = 50, // CONFIG - 50 ms (20 Hz)
100+
TI_POLL_SENSORS_mS = 3, // CONFIG - 3 ms (333 Hz), stopped likeing 2 ms
101+
// (100 Hz) around commit 9d80f8b
102+
TI_ADJUST_LOAD_mS = 1000, // CONFIG - 1000 ms (1 Hz)
103+
TI_RECV_ms = 50, // CONFIG - 100 ms (10 Hz)
104+
TI_SEND_ms = 75, // CONFIG - 75 ms (13.33 Hz) // FIXME
105+
TI_CFG_ms = 1000, // CONFIG - 1000 ms (1 Hz)
106+
TI_TELNET_ms = 500, // CONFIG - 500 ms (2 Hz)
107+
TI_OTA_ms = 1000, // CONFIG - 1000 ms (1 Hz)
108+
TI_LOG_DATA_ms = 4000, // CONFIG - 4000 ms (0.25 Hz)
106109
FAIL_BACKOFF_BASE_FACTOR =
107110
10, // CONFIG - Multiplier for task delay on failure
108111
FAIL_BACKOFF_MULTIPLIER =

include/LoadContainer.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,10 @@ class LoadContainer {
5959
// return (angularAccel_RPMPS < 20);
6060
} // todo - steady power is actually more important
6161
inline bool isTargetRPMExceeded() const {
62-
constexpr uint_fast16_t TARGET_RPM = 2200; // todo
63-
return (currentRPM > TARGET_RPM);
62+
// constexpr uint_fast16_t TARGET_RPM = 2200; // todo
63+
// return (currentRPM > TARGET_RPM);
64+
constexpr uint_fast16_t TARGET_POWER_mW = 28000; // todo
65+
return (INA260::power_mW > TARGET_POWER_mW);
6466
} // todo
6567

6668
inline void updateSafetyFlag() {

include/LoadFSM.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ class LoadFSM {
102102
}
103103
// todo cycling between 2 and 3
104104
// Check other transition conditions
105+
constexpr int_fast16_t MIN_LOAD_VOLTAGE_mV = 10000;
105106
if ((currentState == FSMCommon::States::sRST) &&
106107
(load.getRPM() > static_cast<int_fast16_t>(START_RUN_2_RPM))) {
107108
// sRST -> sStartRun
@@ -111,7 +112,8 @@ class LoadFSM {
111112
// Load is already off
112113

113114
return UPDATE_RESULT::STATE_CHANGED;
114-
} else if ((currentState == FSMCommon::States::sStartRun) &&
115+
} else if ((INA260::voltage_mV >= MIN_LOAD_VOLTAGE_mV) &&
116+
(currentState == FSMCommon::States::sStartRun) &&
115117
load.isSteadyRPM()) {
116118
// sStartRun -> sRunLoad
117119
// Note: The producing positive power condition is handled by the

0 commit comments

Comments
 (0)