rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Toggle main menu visibility
Loading...
Searching...
No Matches
fw_trial.h
Go to the documentation of this file.
1
31
32
#ifndef RCBENCH_FW_TRIAL_H
33
#define RCBENCH_FW_TRIAL_H
34
35
#include <stdbool.h>
36
#include <stdint.h>
37
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
43
#define FW_TRIAL_CARD 0x01u
45
#define FW_TRIAL_SETTINGS 0x02u
47
#define FW_TRIAL_CONTROL 0x04u
49
#define FW_TRIAL_LOGGER 0x08u
51
#define FW_TRIAL_FRAME 0x10u
53
#define FW_TRIAL_TICK 0x20u
55
#define FW_TRIAL_ALL 0x3Fu
56
61
#define FW_TRIAL_BOUND_MS 30000u
62
64
typedef
enum
{
65
FW_TRIAL_OPEN
= 0,
66
FW_TRIAL_KEEP
,
67
FW_TRIAL_KEEP_BOUND
,
68
FW_TRIAL_SETTLED
,
69
}
fw_trial_verdict_t
;
70
72
typedef
struct
{
73
uint32_t
start_ms
;
74
uint32_t
done
;
75
bool
bound
;
76
bool
settled
;
77
}
fw_trial_t
;
78
84
void
fw_trial_init
(
fw_trial_t
*t, uint32_t start_ms);
85
93
void
fw_trial_mark
(
fw_trial_t
*t, uint32_t steps);
94
100
void
fw_trial_settle
(
fw_trial_t
*t);
101
113
fw_trial_verdict_t
fw_trial_poll
(
fw_trial_t
*t, uint32_t now_ms,
bool
quiet);
114
120
uint32_t
fw_trial_missing
(
const
fw_trial_t
*t);
121
122
#ifdef __cplusplus
123
}
124
#endif
125
126
#endif
/* RCBENCH_FW_TRIAL_H */
fw_trial_poll
fw_trial_verdict_t fw_trial_poll(fw_trial_t *t, uint32_t now_ms, bool quiet)
Decide at now_ms. FW_TRIAL_KEEP and FW_TRIAL_KEEP_BOUND settle the trial: each is returned once.
Definition
fw_trial.c:33
fw_trial_init
void fw_trial_init(fw_trial_t *t, uint32_t start_ms)
Start a trial with no step seen.
Definition
fw_trial.c:11
fw_trial_settle
void fw_trial_settle(fw_trial_t *t)
Settle the trial outside this model, as the start without touch does; every later poll says FW_TRIAL_...
Definition
fw_trial.c:28
fw_trial_missing
uint32_t fw_trial_missing(const fw_trial_t *t)
The steps not seen yet.
Definition
fw_trial.c:56
fw_trial_mark
void fw_trial_mark(fw_trial_t *t, uint32_t steps)
Record steps as seen. FW_TRIAL_TICK counts only once FW_TRIAL_FRAME is seen, before this call or in i...
Definition
fw_trial.c:17
fw_trial_verdict_t
fw_trial_verdict_t
What fw_trial_poll() decides.
Definition
fw_trial.h:64
FW_TRIAL_SETTLED
@ FW_TRIAL_SETTLED
Definition
fw_trial.h:68
FW_TRIAL_OPEN
@ FW_TRIAL_OPEN
Definition
fw_trial.h:65
FW_TRIAL_KEEP
@ FW_TRIAL_KEEP
Definition
fw_trial.h:66
FW_TRIAL_KEEP_BOUND
@ FW_TRIAL_KEEP_BOUND
Definition
fw_trial.h:67
fw_trial_t
One trial: the steps seen and whether it is settled.
Definition
fw_trial.h:72
fw_trial_t::bound
bool bound
Definition
fw_trial.h:75
fw_trial_t::done
uint32_t done
Definition
fw_trial.h:74
fw_trial_t::settled
bool settled
Definition
fw_trial.h:76
fw_trial_t::start_ms
uint32_t start_ms
Definition
fw_trial.h:73
shared
fwupdate
include
fw_trial.h
Generated by
1.18.0