|
rcbench
Servo and ESC test bench: panel, IOmcu and shared C
|
Data Structures | |
| struct | [struct].ask |
| struct | [struct].ch |
| struct | [struct].warn |
| struct | [struct].trail |
| struct | [struct].sent_speed |
| struct | [struct].undo |
Data Fields | |
| int | type |
| uint16_t | min_us |
| uint16_t | centre_us |
| uint16_t | max_us |
| uint16_t | frame_hz |
| bool | reverse |
| int16_t | trim_us |
| float | travel_deg |
| int | speed_pct |
| float | commanded_deg |
| float | shown_deg |
| float | shown_cmd |
| float | measured_deg |
| bool | have_feedback |
| bool | enc_valid |
| bool | enc_no_magnet |
| uint16_t | enc_raw |
| int | shown_q_enc |
| bool | dragging |
| int | drag_id |
| int | shown_q_deg |
| bool | driving |
| float | pulse |
| int | drawn_pulse [2] |
| servo_cmd_t | pending |
| bool | knob_live |
| bool | knob_had_cmd |
| bool | knob_had_driving |
| uint32_t | knob_post |
| float | knob_prev_deg |
| bool | knob_finger |
| bool | knob_owned |
| ui_value_gate_t | gate |
| bool | bench_armed |
| bool | at_rest |
| ui_hold_t | arm |
| bool | arm_down |
| int | arm_id |
| uint32_t | arm_rev |
| uint32_t | drawn_arm [2] |
| gfx_rect_t | arm_btn |
| gfx_rect_t | centre_btn |
| gfx_rect_t | sweep_btn |
| gfx_rect_t | release_btn |
| bool | kst_shown |
| bool | kst_held |
| bool | sup_held |
| uint32_t | drawn_kst [2] |
| uint32_t | drawn_kst_hold [2] |
| ui_slider_t | speed |
| ui_plot_t | power |
| supply_state_t | sup |
| bool | have_sup |
| uint32_t | power_rev |
| uint32_t | drawn_power [2] |
| bool | model_shown |
| servo_source_id_t | source |
| bool | have_changes |
| uint32_t | changes |
| sense_link_win_t | win |
| bool | have_win |
| servo_source_why_t | src_why |
| bool | have_drop |
| servo_source_why_t | drop_why |
| uint32_t | drop_at |
| int32_t | cur_key |
| uint32_t | cur_rev |
| uint32_t | drawn_cur [2] |
| gfx_rect_t | out_btn |
| ui_hold_t | out_hold |
| bool | out_down |
| int | out_id |
| bool | out_press_on |
| bool | out_on |
| float | sup_v |
| float | sup_i |
| uint32_t | sup_rev |
| uint32_t | drawn_sup [2] |
| struct | ask |
| uint32_t | drawn_ask [2] |
| uint32_t | stops |
| ui_wb_strip_t | wb |
| uint8_t | run_list |
| uint32_t | strip_rev |
| uint32_t | drawn_strip [2] |
| prog_view_t | prog_view |
| uint32_t | prog_sig |
| bool | drawn_cover [2] |
| ui_target_row_t | trow |
| ui_tabs_t | tabs |
| int | ov_pressed |
| int | ov_row |
| uint8_t | ov_id |
| bool | ov_have |
| ui_keypad_t | kp |
| int | kp_target |
| setting_id_t | kp_setting |
| ui_textkey_t | tk |
| struct | ch |
| struct | warn |
| uint32_t | drawn_warn [2] |
| uint8_t | drawn_save [2] |
| servo_rate_state_t | rate_st |
| uint16_t | rate_hz |
| bool | sweep_able |
| uint16_t | lineage |
| bool | surfaces |
| uint32_t | pause_tap_ms |
| bool | resume_from_set |
| uint16_t | resume_pause_seq |
| float | resume_from_cmd |
| bool | sweeping |
| bool | paused |
| int | pause_speed_pct |
| float | pause_from_cmd |
| uint16_t | pause_seq |
| bool | sweep_ended |
| sweep_t | sw |
| uint32_t | clock_ms |
| float | clock_frac_ms |
| struct | trail [64] |
| uint8_t | trail_head |
| uint8_t | trail_n |
| bool | awaiting |
| uint32_t | await_phase_ms |
| sweep_drain_t | dr |
| servo_map_t | posted_map |
| uint16_t | start_seq |
| start_rec_t | start_rec |
| struct | sent_speed [8] |
| struct | undo |
| bool | toggle_live |
| servo_cmd_kind_t | toggle_kind |
| uint32_t | toggle_post |
| uint32_t | post_count |
| uint32_t | profile_rev |
| uint32_t | arm_profile_rev |
| servo_test_t | test |
| bool | test_hv |
| ui_hold_t | test_hold |
| bool | test_down |
| uint32_t | test_rev |
| uint32_t | drawn_test [2] |
| uint32_t | now_ms |
| bool | have_now |
| bool | link_up |
| bool | enc_held |
| int | test_note |
| int | test_file |
| bool | test_report |
| bool | test_off |
| int | test_blocked_seen |
| bool | test_online_seen |
| bool | test_box |
| bool | test_seen |
| bool | test_on_ina |
| bool | test_restore |
| uint8_t | restore_stage |
| uint32_t | restore_ms |
| float | test_v0 |
| float | test_i0 |
| float | test_v1 |
| float | test_i1 |
| uint32_t | test_sig |
| servo_limrun_t | lim |
| bool | lim_prog |
| bool | lim_pulses |
| ui_hold_t | lim_hold |
| bool | lim_down |
| bool | lim_box |
| bool | lim_seen |
| bool | lim_leaving |
| bool | lim_end_due |
| int | lim_file |
| bool | lim_report |
| bool | lim_off |
| const char * | lim_note |
| uint32_t | lim_changes |
| uint32_t | lim_sig |
| bool | peek_lim |
| servo_test_out_t | peek_kind |
| bool | files_lim |
| bool | logger_busy |
| uint32_t | ctrl_rev |
| uint8_t | drive_target |
| uint8_t | drive_pin |
| bool | drive_pwm |
| uint64_t | pins |
| bool | pins_known |
| uint32_t | drawn_ctrl [2] |
| unsigned | drawn_mask |
| uint32_t | dial_rev |
| The dial's own count of changes: the horn's angle, the commanded angle and the MEASURED reading, which move every frame of a sweep or a drag. On LIVE with nothing over the card a change repaints the horns' boxes, as the buffer drew them and as they are now, and the numerals that follow them – not the two cards (svs_render()). | |
| uint32_t | drawn_dial [2] |
| float | drawn_deg [2] |
| float | drawn_cmd [2] |
| bool | drawn_ghost [2] |
| svs_drag_filter_t | df |
| bool servo_screen_state_t::arm_down |
a press is on the ARM button
| int servo_screen_state_t::arm_id |
which contact it is
| svs_drag_filter_t servo_screen_state_t::df |
the drag's filtered target, svs_drag_tick()
| float servo_screen_state_t::drawn_cmd[2] |
the commanded one behind it
| float servo_screen_state_t::drawn_deg[2] |
the horn's angle as each buffer drew it
| uint32_t servo_screen_state_t::drawn_dial[2] |
dial_rev as each buffer drew it
| bool servo_screen_state_t::drawn_ghost[2] |
and whether that one was drawn
| bool servo_screen_state_t::driving |
the output is being held somewhere
| bool servo_screen_state_t::enc_held |
IOmcu holds the encoder on (set_enc_held)
| bool servo_screen_state_t::enc_no_magnet |
not valid: the sensor sees no magnet
| bool servo_screen_state_t::lim_box |
the left card shows the limit run
| uint32_t servo_screen_state_t::lim_changes |
the meter's change count at the start
| int servo_screen_state_t::lim_file |
its report's number; 0 not yet, -1 none
| bool servo_screen_state_t::lim_leaving |
The run ended in a session and its LEAVE is on its way: the box, not the programmer, stays on the left card, and the programmer's run ends once the LEAVE has (lim_end_due).
| const char* servo_screen_state_t::lim_note |
why the last START was refused, or NULL
| bool servo_screen_state_t::lim_off |
USER LOGS was off at its start
| bool servo_screen_state_t::lim_prog |
LIMIT RUN: SEARCH+PROG, for the session
| bool servo_screen_state_t::lim_pulses |
SERVO PULSES at 1000-2000, session
| bool servo_screen_state_t::lim_report |
the card took the report whole
| bool servo_screen_state_t::lim_seen |
it was running when last looked
| uint32_t servo_screen_state_t::now_ms |
the panel's clock, servo_screen_clock()
| bool servo_screen_state_t::out_on |
the output as last drawn
| bool servo_screen_state_t::out_press_on |
the press began as OUTPUT OFF
| float servo_screen_state_t::pulse |
phase of the grip's breathing
| uint32_t servo_screen_state_t::restore_ms |
the clock at the stage's start
| uint8_t servo_screen_state_t::restore_stage |
RS_* below
| float servo_screen_state_t::shown_cmd |
the same, as the far end's command
| float servo_screen_state_t::shown_deg |
what the horn is drawn at
| int servo_screen_state_t::shown_q_deg |
the position as drawn, in tenths
| int servo_screen_state_t::shown_q_enc |
the angle as drawn, in tenths
| int servo_screen_state_t::speed_pct |
how fast the bench slews the command
| float servo_screen_state_t::sup_i |
the set points as last seen
| int servo_screen_state_t::test_blocked_seen |
test_blocked() at the last tick
| bool servo_screen_state_t::test_box |
the left card shows the run
| int servo_screen_state_t::test_file |
its files' number; 0 not yet, -1 none
| bool servo_screen_state_t::test_hv |
HV SERVO: 7.4 and 8.4V run
| float servo_screen_state_t::test_i0 |
before the run
| float servo_screen_state_t::test_i1 |
as the run left them
| int servo_screen_state_t::test_note |
servo_str_t the engine refused a START with, 0 none; test_blocked() is live
| bool servo_screen_state_t::test_off |
USER LOGS off at its start: no file
| bool servo_screen_state_t::test_on_ina |
the run reads the INA3221's windows
| bool servo_screen_state_t::test_online_seen |
the supply answering, likewise
| bool servo_screen_state_t::test_report |
the card took its .TXT whole
| bool servo_screen_state_t::test_seen |
the run was running when last looked
| uint32_t servo_screen_state_t::test_sig |
what the box last showed
| float servo_screen_state_t::travel_deg |
how far each way the horn is allowed
| int16_t servo_screen_state_t::trim_us |
added to centre