16#ifndef RCBENCH_LINK_PAGES_H
17#define RCBENCH_LINK_PAGES_H
150#define LINK_PROTOCOL_MAJOR 4u
152#define LINK_PROTOCOL_MINOR 29u
155#define LINK_MINOR_BIND 10u
160#define LINK_MINOR_SERVO_WIN 11u
162#define LINK_MINOR_KST 12u
168#define LINK_MINOR_PROG 13u
177#define LINK_MINOR_KST_PLAN 14u
186#define LINK_MINOR_KST_LEAVE 15u
196#define LINK_MINOR_PULSE_FRAME 16u
205#define LINK_MINOR_TONE_BUSY 17u
213#define LINK_MINOR_ARM_ROLE 18u
222#define LINK_MINOR_SERVO_TARGET_RATE 19u
231#define LINK_MINOR_DRAWING 20u
239#define LINK_MINOR_REFUSED 21u
246#define LINK_MINOR_UPDATE 22u
253#define LINK_MINOR_HITEC 23u
260#define LINK_MINOR_HITEC_RX 24u
268#define LINK_MINOR_SENSE_MAP 25u
274#define LINK_MINOR_SENSE_LIMIT 27u
283#define LINK_MINOR_PROG_FUNC 26u
292#define LINK_MINOR_PROG_DSHOT 28u
302#define LINK_MINOR_HITEC_HOLD 29u
322#define LINK_OUT_SLOTS 8u
323#define LINK_OUT_CHANNELS 8u
326#define LINK_CH_SPAN 1000u
329#define LINK_CH_COUNT LINK_OUT_CHANNELS
341#define LINK_CC_COUNT (LINK_OUT_CHANNELS * LINK_CC_STRIDE)
349#define LINK_CC_SLEW_MAX 3000u
351#define LINK_CC_ROLE_THROTTLE 0u
352#define LINK_CC_ROLE_SURFACE 1u
370#define LINK_CC_DEFAULT_MIN 1000u
371#define LINK_CC_DEFAULT_MAX 2000u
372#define LINK_CC_FLOOR_US 400u
373#define LINK_CC_CEILING_US 2500u
384#define LINK_CC_THROTTLE_GAP_US 100u
401#define LINK_OS_COUNT (LINK_OUT_SLOTS * LINK_OS_STRIDE)
454 LINK_SV_FRAME_HZ = 0,
456 LINK_SV_SWEEP_MHZ = 2,
457 LINK_SV_SWEEP_SPAN = 3,
458 LINK_SV_SWEEP_DWELL_MS = 4,
459 LINK_SV_SWEEP_MOVES = 5,
464#define LINK_SV_HOLD 4u
466#define LINK_SV_RESUME 5u
529 LINK_SP_SET_MV_RB = 10,
530 LINK_SP_SET_MA_RB = 11,
531 LINK_SP_IN_STATE = 12,
533 LINK_SP_SAMPLES = 14,
539#define LINK_SP_ONLINE 0x01u
540#define LINK_SP_ON 0x02u
541#define LINK_SP_MODE(f) (((f) >> 2) & 3u)
542#define LINK_SP_STUCK 0x10u
543#define LINK_SP_SET_STUCK 0x20u
544#define LINK_SP_LIVE 0x40u
545#define LINK_SP_TRIPPED 0x80u
546#define LINK_SP_WIRE_WAIT 0x100u
547#define LINK_SP_WIRE_REFUSED 0x200u
548#define LINK_SP_SAGGED 0x400u
554#define LINK_SP_PORT 0x800u
655 LINK_SN_I228_ADDR = 4,
656 LINK_SN_I228_SHUNT_UOHM = 5,
657 LINK_SN_I228_MAX_DA = 6,
659 LINK_SN_I3221_ADDR = 8,
660 LINK_SN_I3221_SHUNT_DMOHM = 9,
661 LINK_SN_I3221_CHANNELS = 10,
664 LINK_SN_PRESENT = 13,
665 LINK_SN_I228_ID = 14,
666 LINK_SN_I3221_ID = 15,
669 LINK_SN_I228_DIAG = 18,
671 LINK_SN_I228_CHARGE_HI = 20,
673 LINK_SN_I228_ENERGY_HI = 22,
676 LINK_SN_ESC_FLAGS = 25,
686#define LINK_SN_COUNT_V48 26u
691#define LINK_SN_CONFIG_COUNT 12u
694#define LINK_SN_EN_I228 0x01u
695#define LINK_SN_EN_I3221 0x02u
696#define LINK_SN_EN_AS5600 0x04u
698#define LINK_SN_EN_ALL (LINK_SN_EN_I228 | LINK_SN_EN_I3221 | LINK_SN_EN_AS5600)
702#define LINK_SN_KHZ_BUS 400u
703#define LINK_SN_I228_ADDR_MIN 0x40u
704#define LINK_SN_I228_ADDR_MAX 0x4Fu
705#define LINK_SN_I228_UOHM_MIN 50u
706#define LINK_SN_I228_UOHM_MAX 20000u
707#define LINK_SN_I228_DA_MIN 10u
708#define LINK_SN_I228_DA_MAX 3000u
709#define LINK_SN_I3221_ADDR_MIN 0x40u
710#define LINK_SN_I3221_ADDR_MAX 0x43u
711#define LINK_SN_I3221_DMOHM_MIN 50u
712#define LINK_SN_I3221_DMOHM_MAX 10000u
713#define LINK_SN_I3221_CH_ALL 0x07u
728 return (sda % 2u) == 0u && scl == sda + 1u;
751 LINK_SN_I3221_ONLINE = 1u << 4,
752 LINK_SN_I3221_ID_OK = 1u << 5,
753 LINK_SN_I3221_ID_WRONG = 1u << 6,
759#define LINK_SN_RESETS_I228(r) ((uint8_t)((r) & 0xFFu))
760#define LINK_SN_RESETS_I3221(r) ((uint8_t)(((r) >> 8) & 0xFFu))
786#define LINK_SN_ESC_VOLTAGE_OK 0x01u
787#define LINK_SN_ESC_CURRENT_OK 0x02u
836 LINK_SS_CH_MAX_MA = 1,
837 LINK_SS_CH_MEAN_MV = 2,
838 LINK_SS_CH_MIN_MV = 3,
839 LINK_SS_CH_STRIDE = 4,
841#define LINK_SS_CHANNELS 3u
848 LINK_SS_CH_FLAGS = 13,
849 LINK_SS_CAP_ARM = 14,
850 LINK_SS_CAP_HOLD_MA = 15,
851 LINK_SS_CAP_MOVE_MA = 16,
852 LINK_SS_CAP_BAND_MA = 17,
854 LINK_SS_CAP_SEQ = 19,
857 LINK_SS_CAP_PEAK_MA = 22,
858 LINK_SS_CAP_MEAN_MA = 23,
859 LINK_SS_CAP_SAMPLES = 24,
863#define LINK_SS_CAP_FRAME 4u
866#define LINK_SS_CH_VALID(ch) ((uint16_t)(1u << ((unsigned)(ch) - 1u)))
867#define LINK_SS_CH_CLIPPED(ch) ((uint16_t)(1u << ((unsigned)(ch) + 3u)))
868#define LINK_SS_CAP_CLIPPED 0x80u
877#define LINK_SS_ARM 0x80u
878#define LINK_SS_ARM_OF(ch, out) \
879 ((uint16_t)(LINK_SS_ARM | ((unsigned)(ch) & 0x03u) \
880 | (((unsigned)(out) & 0x07u) << 8)))
881#define LINK_SS_ARM_CH(r) ((uint8_t)((r) & 0x03u))
882#define LINK_SS_ARM_OUT(r) ((uint8_t)(((r) >> 8) & 0x07u))
884#define LINK_SS_ARM_BITS 0x0F83u
886#define LINK_SS_ARM_PORT 0x0800u
891#define LINK_SS_CAP_CH 1u
964#define LINK_SW_RING 4u
970 LINK_SW_E_MEAN_MV = 3,
971 LINK_SW_E_MIN_MV = 4,
973 LINK_SW_E_STRIDE = 6,
976#define LINK_SW_ENTRY(k, r) \
977 ((unsigned)LINK_SW_ENTRIES + (unsigned)(k) * LINK_SW_E_STRIDE + (unsigned)(r))
980#define LINK_SW_HAVE 0x01u
981#define LINK_SW_CAP_CLIPPED 0x80u
984#define LINK_SW_E_CLIPPED(f) ((uint8_t)((f) & 0xFFu))
985#define LINK_SW_E_CLIPPED_MAX 255u
986#define LINK_SW_E_CURRENT 0x0100u
987#define LINK_SW_E_VOLTAGE 0x0200u
988#define LINK_SW_E_CLIP_HI 0x0400u
989#define LINK_SW_E_CLIP_LO 0x0800u
990#define LINK_SW_E_CLOSED 0x8000u
1043 LINK_SM_RESERVED_31 = 31,
1046#define LINK_SM_PARTS 4u
1047#define LINK_SM_CHANNELS 12u
1048#define LINK_SM_SHUNT(c) ((unsigned)LINK_SM_SHUNT_0 + (unsigned)(c))
1049#define LINK_SM_WATCH(c) ((unsigned)LINK_SM_WATCH_0 + (unsigned)(c))
1050#define LINK_SM_ID(a) ((unsigned)LINK_SM_ID_0 + (unsigned)(a))
1051#define LINK_SM_FIT_ALL 0x000Fu
1052#define LINK_SM_FAST_NONE 0x00FFu
1053#define LINK_SM_DMOHM_MIN 50u
1054#define LINK_SM_DMOHM_MAX 10000u
1056#define LINK_SM_WATCH_NONE 0x00u
1057#define LINK_SM_WATCH_OUT(n) (0x01u + (unsigned)(n))
1058#define LINK_SM_WATCH_PORT(n) (0x10u + (unsigned)(n))
1059#define LINK_SM_WATCH_SUPPLY 0x20u
1061#define LINK_SM_ONLINE(a) (1u << (unsigned)(a))
1062#define LINK_SM_ID_WRONG(a) (1u << (4u + (unsigned)(a)))
1063#define LINK_SM_IN_FORCE 0x0100u
1064#define LINK_SM_DERIVED 0x0200u
1085 LINK_SX_ENTRIES = 2,
1088#define LINK_SX_PER_PAGE 6u
1096 LINK_SX_E_MEAN_MV = 2,
1097 LINK_SX_E_MIN_MV = 3,
1098 LINK_SX_E_FLAGS = 4,
1099 LINK_SX_E_STRIDE = 5,
1102#define LINK_SX_E(k, r) \
1103 ((unsigned)LINK_SX_ENTRIES + (unsigned)(k) * LINK_SX_E_STRIDE + (unsigned)(r))
1104#define LINK_SX_HAVE 0x0100u
1105#define LINK_SX_E_CURRENT 0x0001u
1106#define LINK_SX_E_VOLTAGE 0x0002u
1107#define LINK_SX_E_CLIP_HI 0x0004u
1108#define LINK_SX_E_CLIP_LO 0x0008u
1139 LINK_SL_OVER_COUNT = 13,
1142#define LINK_SL_MA_MAX 32767u
1215 LINK_TN_F_MIN_HZ = 2,
1216 LINK_TN_F_MAX_HZ = 3,
1217 LINK_TN_SPLIT_PCT = 4,
1219 LINK_TN_MIN_PERIODS = 6,
1223 LINK_TN_WIN_FREQ_DHZ = 10,
1224 LINK_TN_WIN_PERIODS = 11,
1225 LINK_TN_BEEP_HEAD = 12,
1227 LINK_TN_EVT_SEQ = 14,
1229 LINK_TN_EVT_START_HI = 16,
1232 LINK_TN_EVT_BURSTS = 19,
1234 LINK_TN_EVT_FLAGS = 21,
1236 LINK_TN_GLITCHES = 23,
1243#define LINK_TN_CONFIG_COUNT 7u
1246#define LINK_TN_EN_TAP 0x01u
1249#define LINK_TN_F_MIN_LO 50u
1250#define LINK_TN_F_MIN_HI 2000u
1251#define LINK_TN_F_MAX_HI 6900u
1252#define LINK_TN_SPLIT_MAX 50u
1253#define LINK_TN_GAP_MS_MIN 1u
1254#define LINK_TN_GAP_MS_MAX 100u
1255#define LINK_TN_PERIODS_MIN 1u
1256#define LINK_TN_PERIODS_MAX 64u
1258#define LINK_TN_RING 64u
1264#define LINK_TN_DEFAULT_PIN 22u
1265#define LINK_TN_DEFAULT_F_MIN 400u
1266#define LINK_TN_DEFAULT_F_MAX 6500u
1267#define LINK_TN_DEFAULT_SPLIT 8u
1268#define LINK_TN_DEFAULT_GAP_MS 3u
1269#define LINK_TN_DEFAULT_PERIODS 3u
1295#define LINK_TN_EVT_AFTER_CHANGE 0x01u
1296#define LINK_TN_EVT_BEFORE_CHANGE 0x02u
1298#define LINK_OS_RANGE_OF(first, count) \
1299 ((uint16_t)((((unsigned)(first) & 0xFFu) << 8) | ((unsigned)(count) & 0xFFu)))
1300#define LINK_OS_FIRST(range) ((uint8_t)((range) >> 8))
1301#define LINK_OS_CHANNELS(range) ((uint8_t)((range) & 0xFFu))
1310 LINK_DRIVER_NONE = 0,
1311 LINK_DRIVER_PWM = 1,
1312 LINK_DRIVER_PPM = 2,
1313 LINK_DRIVER_DSHOT = 3,
1321 LINK_DRIVER_DSHOT_BIDIR = 4,
1355 LINK_ID_PROTOCOL_MAJOR = 0,
1356 LINK_ID_PROTOCOL_MINOR = 1,
1357 LINK_ID_FIRMWARE_MAJOR = 2,
1358 LINK_ID_FIRMWARE_MINOR = 3,
1359 LINK_ID_FIRMWARE_PATCH = 4,
1392 LINK_ST_UPTIME_MS_LO = 2,
1393 LINK_ST_UPTIME_MS_HI = 3,
1396 LINK_ST_CRC_ERRORS = 6,
1397 LINK_ST_RESYNCS = 7,
1410 LINK_ST_REFUSED_HI = 9,
1414#define LINK_ST_COUNT_V420 8u
1423 LINK_FAULT_NONE = 0,
1424 LINK_FAULT_LINK_SILENT = 1u << 0,
1425 LINK_FAULT_OVERCURRENT = 1u << 1,
1426 LINK_FAULT_OVERTEMP = 1u << 2,
1427 LINK_FAULT_STALL = 1u << 3,
1470 LINK_BN_CURR_MAX_CA = 9,
1471 LINK_BN_POWER_MAX_W = 10,
1472 LINK_BN_RPM_MAX = 11,
1480 LINK_BN_CURRENT_OK = 1u << 1,
1481 LINK_BN_RPM_OK = 1u << 2,
1545#define LINK_CAT_PINS 32u
1546#define LINK_CAT_COUNT LINK_CAT_PINS
1549#define LINK_CAT_OF(gpio, pad, hold) \
1550 ((uint16_t)((((unsigned)(gpio) & 0x3Fu) << 10) \
1551 | (((unsigned)(pad) & 0x3Fu) << 4) \
1552 | ((unsigned)(hold) & 0x0Fu)))
1553#define LINK_CAT_GPIO(r) ((uint8_t)(((r) >> 10) & 0x3Fu))
1554#define LINK_CAT_PAD(r) ((uint8_t)(((r) >> 4) & 0x3Fu))
1555#define LINK_CAT_HOLD(r) ((uint8_t)((r) & 0x0Fu))
1571 LINK_PIN_SENSOR = 5,
1612#define LINK_SH_LAYOUT_OF(corner, per_side) \
1613 ((uint16_t)((((unsigned)(corner) & 0xFFu) << 8) \
1614 | ((unsigned)(per_side) & 0xFFu)))
1615#define LINK_SH_CORNER(r) ((uint8_t)(((r) >> 8) & 0xFFu))
1616#define LINK_SH_PER_SIDE(r) ((uint8_t)((r) & 0xFFu))
1623 LINK_SH_BOTTOM_LEFT = 0,
1624 LINK_SH_BOTTOM_RIGHT = 1,
1625 LINK_SH_TOP_LEFT = 2,
1626 LINK_SH_TOP_RIGHT = 3,
1659 LINK_AW_BYTES_HI = 5,
1674 LINK_AW_HASH_HI = 8,
1733#define LINK_DRAW_VERSION 1u
1734#define LINK_DRAW_HEAD_BYTES 16u
1735#define LINK_DRAW_PAD_BYTES 8u
1736#define LINK_DRAW_SHAPE_BYTES 12u
1737#define LINK_DRAW_MAX_PADS 64u
1738#define LINK_DRAW_MAX_SHAPES 400u
1739#define LINK_DRAW_MAX_BYTES (LINK_DRAW_HEAD_BYTES \
1740 + LINK_DRAW_MAX_PADS * LINK_DRAW_PAD_BYTES \
1741 + LINK_DRAW_MAX_SHAPES * LINK_DRAW_SHAPE_BYTES)
1745#define LINK_DRAW_PAD_GPIO 4u
1747#define LINK_DRAW_PAD_SQUARE 0x01u
1754 LINK_DRAW_RRECT = 2,
1775#define LINK_AD_WORDS ((unsigned)(LINK_AD_COUNT - LINK_AD_DATA))
1776#define LINK_AD_BYTES (LINK_AD_WORDS * 2u)
1797#define LINK_PAD_SLOTS 32u
1798#define LINK_PAD_COUNT LINK_PAD_SLOTS
1803#define LINK_PAD_OF(pad, kind, dv) \
1804 ((uint16_t)((((unsigned)(pad) & 0x3Fu) << 10) \
1805 | (((unsigned)(kind) & 0x03u) << 8) \
1806 | ((unsigned)(dv) & 0xFFu)))
1807#define LINK_PAD_NUM(r) ((uint8_t)(((r) >> 10) & 0x3Fu))
1808#define LINK_PAD_KIND(r) ((uint8_t)(((r) >> 8) & 0x03u))
1809#define LINK_PAD_DV(r) ((uint8_t)((r) & 0xFFu))
1867 LINK_KS_FP_REGS_HI = 11,
1871 LINK_KS_HALF_MAX_NS = 13,
1874 LINK_KS_DELAY_MAX_US = 15,
1916 LINK_KS_W_COUNT = 29,
1920#define LINK_KS_W_CMD_FRAME 4u
1922#define LINK_KS_W_STAGED 21u
1924#define LINK_KS_IMAGE_REGS 16u
1931#define LINK_KST_WRITE_KEY 0x57A5u
1933#define LINK_KS_STATE_OF(r) ((uint8_t)((r) & 0x7u))
1934#define LINK_KS_PORT_OF(r) ((uint8_t)(((r) >> 12) & 0xFu))
1935#define LINK_KS_OP_OF(r) ((uint8_t)(((r) >> 12) & 0xFu))
1936#define LINK_KS_FRAMES_OF(r) ((uint16_t)((r) & 0xFFFu))
1937#define LINK_KS_W_CMD_CONFIRM 0x0080u
1944#define LINK_KS_W_CMD_PORT 0x0040u
1945#define LINK_KS_W_CMD_OF(op, port) \
1946 ((uint16_t)((unsigned)(op) | LINK_KS_W_CMD_PORT \
1947 | (((unsigned)(port) & 0xFu) << 8)))
1953#define LINK_KST_RESULT_SUPPLY 32u
1960#define LINK_KST_RESULT_NO_PATH 33u
1967#define LINK_KST_RESULT_TOO_COMPLEX 34u
1975#define LINK_KST_RESULT_PLANNING 35u
1980#define LINK_KST_LEAVE_MS_MAX 10000u
1987#define LINK_KST_LEAVE_MS_DEFAULT 100u
1997 uint16_t crc = 0xFFFFu;
1999 for (
unsigned i = 0; i < n; ++i) {
2000 const uint8_t b[2] = { (uint8_t)(regs[i] & 0xFFu),
2001 (uint8_t)(regs[i] >> 8) };
2047 LINK_KST_OP_READ_ALL = 2,
2071 LINK_KST_REF_NONE = 0,
2176 LINK_PG_FN_COUNT = 5,
2179#define LINK_PG_FN_COUNT_V426 2u
2181#define LINK_PG_FN_IS_DSHOT(fn) \
2182 ((unsigned)(fn) - (unsigned)LINK_PG_FN_DSHOT150 \
2183 <= (unsigned)LINK_PG_FN_DSHOT600 - (unsigned)LINK_PG_FN_DSHOT150)
2185#define LINK_PG_FN_KBIT(fn) \
2186 ((unsigned)(fn) == (unsigned)LINK_PG_FN_DSHOT150 ? 150u \
2187 : (unsigned)(fn) == (unsigned)LINK_PG_FN_DSHOT300 ? 300u \
2188 : (unsigned)(fn) == (unsigned)LINK_PG_FN_DSHOT600 ? 600u : 0u)
2190#define LINK_PG_PORTS_MAX 4u
2191#define LINK_PG_PIN_NONE 0xFFFFu
2192#define LINK_PG_REG(port, r) \
2193 ((uint8_t)(LINK_PG_PORT0 + (unsigned)(port) * LINK_PG_STRIDE + (r)))
2194#define LINK_PG_FUNC(port) ((uint8_t)(LINK_PG_FUNC0 + (unsigned)(port)))
2195#define LINK_PG_F_BOUND(port) ((uint16_t)(1u << (unsigned)(port)))
2196#define LINK_PG_F_PARKED(port) ((uint16_t)(0x10u << (unsigned)(port)))
2197#define LINK_PG_F_REFUSED(port) ((uint16_t)(0x100u << (unsigned)(port)))
2199#define LINK_PG_F_DSHOT(port) ((uint16_t)(0x1000u << (unsigned)(port)))
2259 LINK_HITEC_VIEW_COUNT
2265 LINK_HT_I_DELAY_HI = 17,
2267 LINK_HT_I_LEAD_HI = 19,
2269 LINK_HT_I_T_HI = 21,
2271 LINK_HT_I_SPAN_HI = 23,
2278 LINK_HT_I_WINDOW_HI = 28,
2301 LINK_HT_W_LEAD_HI = 11,
2303 LINK_HT_W_WINDOW_HI = 13,
2309 LINK_HT_W_LEVEL_HI = 17,
2329 LINK_HT_W_COUNT = 24,
2347#define LINK_HT_LINE_PRECHARGE 0x0100u
2350#define LINK_HT_W_CMD_FRAME 4u
2352#define LINK_HT_W_STAGED 18u
2358#define LINK_HITEC_WRITE_KEY 0x48A5u
2363#define LINK_HITEC_SUPPLY_MIN_MV 4800u
2364#define LINK_HITEC_SUPPLY_MAX_MV 6000u
2366#define LINK_HITEC_OFF_MS_MAX 10000u
2368#define LINK_HT_STATE_OF(r) ((uint8_t)((r) & 0x7u))
2369#define LINK_HT_PORT_OF(r) ((uint8_t)(((r) >> 12) & 0xFu))
2370#define LINK_HT_OP_OF(r) ((uint8_t)(((r) >> 12) & 0xFu))
2371#define LINK_HT_W_CMD_OF(op, port) \
2372 ((uint16_t)((unsigned)(op) | (((unsigned)(port) & 0xFu) << 8)))
2373#define LINK_HT_LINE_OF(family, drive) \
2374 ((uint16_t)(((unsigned)(family) & 1u) | (((unsigned)(drive) & 1u) << 4)))
2403 LINK_HT_CAP_FULL = 0x0100u,
2404 LINK_HT_CAP_ANSWERED = 0x0200u,
2405 LINK_HT_CAP_OVERFLOW = 0x0400u,
2406 LINK_HT_CAP_ABORTED = 0x0800u,
2411 LINK_HITEC_DEC_NONE = 0,
2454#define LINK_HITEC_SUPPLY_MS 3000u
2460 LINK_HITEC_REF_NONE = 0,
2505 LINK_CT_MOTOR_POLES = 2,
2511#define LINK_CT_ARM_FRAME 3u
2517#define LINK_POLES_MIN 2u
2518#define LINK_POLES_MAX 42u
2525#define LINK_CLEAR_MAGIC 0x5AFEu
2540#define LINK_ARM_ALL 0x0001u
2541#define LINK_ARM_THROTTLE 0x0002u
2542#define LINK_ARM_SURFACE 0x0004u
2544#define LINK_ARM_ROLES (LINK_ARM_THROTTLE | LINK_ARM_SURFACE)
2547#define LINK_THROTTLE_MAX 10000u
2620 LINK_UPD_COUNT = 32,
2627#define LINK_UPD_PROTOCOL 1u
2630#define LINK_UPD_BLOCK_BYTES 64u
2631#define LINK_UPD_DATA_COUNT 32u
2633#define LINK_UPD_SECTOR_BYTES 4096u
2635#define LINK_UPD_EXPECT_REGS 16u
2638#define LINK_UPD_SLOT_A 0x0000u
2639#define LINK_UPD_SLOT_B 0x0001u
2643#define LINK_UPD_SLOT_NONE 0x000Fu
2644#define LINK_UPD_SLOT_MASK 0x000Fu
2646#define LINK_UPD_SLOT_TRIAL 0x0100u
2648#define LINK_UPD_SLOT_OTHER 0x0200u
2668 LINK_UPD_CMD_NONE = 0,
2706 LINK_UPD_ERR_NONE = 0,
2725 LINK_UPD_DIGEST_NONE = 0,
CRC-16 (cyclic redundancy check): polynomial 0x1021, no reflection, no final XOR, seed passed by the ...
uint16_t link_crc(uint16_t crc, const void *data, size_t len)
Fold len bytes into crc and return the new accumulator.
Definition link_crc.c:16
What crosses the link, independent of the transport: an op, a page, an offset, a count and up to a pa...
#define LINK_MAX_REGS
Registers in a page, and therefore in the largest transfer.
Definition link_msg.h:22
link_sense_enc_flag_t
AS5600_FLAGS' bits (protocol 4.9).
Definition link_pages.h:763
@ LINK_SN_ENC_ML
STATUS ML: the field is too weak.
Definition link_pages.h:773
@ LINK_SN_ENC_ONLINE
Answering at 0x36 with a STATUS an AS5600 can give.
Definition link_pages.h:765
@ LINK_SN_ENC_WRONG
Something answers at 0x36 with a STATUS no AS5600 gives, ML and MH both set; not used.
Definition link_pages.h:780
@ LINK_SN_ENC_MH
STATUS MH: the field is too strong.
Definition link_pages.h:775
@ LINK_SN_ENC_MD
STATUS MD: a magnet is detected.
Definition link_pages.h:771
@ LINK_SN_ENC_VALID
AS5600_ANGLE and bits 1 to 3 hold a reading of this set-up.
Definition link_pages.h:782
link_art_format_t
The formats an ARTWORK drawing can have.
Definition link_pages.h:1681
@ LINK_ART_DRAWING
The board drawing laid out below (LINK_DRAW_*).
Definition link_pages.h:1690
@ LINK_ART_RGB565
A photograph, two bytes a pixel.
Definition link_pages.h:1688
@ LINK_KS_W_START_CRC
Definition link_pages.h:1900
@ LINK_KS_W_SUPPLY_MV
Definition link_pages.h:1906
@ LINK_KS_W_SEQ
Definition link_pages.h:1888
@ LINK_KS_W_IMAGE
Definition link_pages.h:1894
@ LINK_KS_W_LEAVE_MS
Definition link_pages.h:1909
@ LINK_KS_W_UNLOCK
Definition link_pages.h:1897
@ LINK_KS_W_CRC
Definition link_pages.h:1891
@ LINK_KS_W_VIEW
Definition link_pages.h:1903
@ LINK_KS_W_SUPPLY_MA
Definition link_pages.h:1908
@ LINK_KS_W_CMD
Definition link_pages.h:1884
@ LINK_KS_W_KEY
Definition link_pages.h:1889
link_upd_digest_t
What the UPDATE_CTL digest register holds.
Definition link_pages.h:2724
@ LINK_UPD_DIGEST_IMAGE
Definition link_pages.h:2727
@ LINK_UPD_DIGEST_RUNNING
Definition link_pages.h:2726
@ LINK_ID_CAPABILITIES
Definition link_pages.h:1361
@ LINK_ID_HARDWARE
Definition link_pages.h:1360
@ LINK_SH_WIDTH_CMM
Definition link_pages.h:1599
@ LINK_SH_HEIGHT_CMM
Definition link_pages.h:1600
@ LINK_SH_LAYOUT
Definition link_pages.h:1601
@ LINK_SH_PITCH_CMM
Definition link_pages.h:1602
@ LINK_SH_INSET_CMM
Edge to the centre of the pad row, from the outline's own edge.
Definition link_pages.h:1608
@ LINK_OS_RATE_HZ
Definition link_pages.h:398
@ LINK_OS_DRIVER
Definition link_pages.h:390
@ LINK_OS_PIN
Definition link_pages.h:391
@ LINK_OS_RANGE
Definition link_pages.h:397
link_out_driver_t
The drivers, numbered on the wire.
Definition link_pages.h:1309
@ LINK_SL_KEPT
Definition link_pages.h:1137
@ LINK_SL_LIMIT_0
Definition link_pages.h:1136
link_tone_flag_t
What the IOmcu says about the tap.
Definition link_pages.h:1272
@ LINK_TN_PIN_REFUSED
The tap is enabled and does not run: the pin is not free (a kept set-up met a binding or a reservatio...
Definition link_pages.h:1280
@ LINK_TN_RUNNING
The PIO state machine and its DMA ring run on the pin.
Definition link_pages.h:1274
@ LINK_TN_OVERRUN
The capture ring or the state machine's FIFO was overrun since the capture started; the beep under wa...
Definition link_pages.h:1287
@ LINK_TN_BEEP
A run of bursts is under way.
Definition link_pages.h:1289
@ LINK_TN_TONE
The last window held a tone.
Definition link_pages.h:1291
link_hitec_result_t
LINK_HT_RESULT's low byte.
Definition link_pages.h:2435
@ LINK_HITEC_RESULT_NO_LINE
Definition link_pages.h:2445
@ LINK_HITEC_RESULT_NONE
Definition link_pages.h:2436
@ LINK_HITEC_RESULT_RUNNING
Definition link_pages.h:2437
@ LINK_HITEC_RESULT_CUT
Definition link_pages.h:2448
@ LINK_HITEC_RESULT_SUPPLY
Definition link_pages.h:2440
@ LINK_HITEC_RESULT_DONE
Definition link_pages.h:2438
@ LINK_HITEC_RESULT_START
Definition link_pages.h:2443
link_pg_func_t
A port's function: what its pin carries while no wire page holds it.
Definition link_pages.h:2167
@ LINK_PG_FN_NONE
Definition link_pages.h:2169
@ LINK_PG_FN_SERVO_PWM
Definition link_pages.h:2168
@ LINK_PG_FN_DSHOT150
Definition link_pages.h:2171
@ LINK_PG_FN_DSHOT600
Definition link_pages.h:2175
@ LINK_PG_FN_DSHOT300
Definition link_pages.h:2174
link_shape_corner_t
Which corner of the outline pad 1 sits at, seen with the board as drawn.
Definition link_pages.h:1622
@ LINK_SS_CAP_ARRIVE_T
Definition link_pages.h:856
@ LINK_SS_CAP_MOVE_T
Definition link_pages.h:855
@ LINK_SS_CAP_STATE
Definition link_pages.h:853
link_bench_flag_t
What the IOmcu says about the numbers it is sending.
Definition link_pages.h:1478
@ LINK_BN_TEMP_MOT_OK
The motor's temperature, which is a different sensor.
Definition link_pages.h:1500
@ LINK_BN_SIMULATED
The numbers are modelled, not measured.
Definition link_pages.h:1520
@ LINK_BN_SENSED
Voltage, current and power are the INA228's (protocol 4.7), not the ESC's telemetry,...
Definition link_pages.h:1505
@ LINK_BN_TEMP_OK
The ESC's own temperature.
Definition link_pages.h:1490
@ LINK_BN_VOLTAGE_OK
Definition link_pages.h:1479
@ LINK_BN_TOTALS_OK
CHARGE_MAH and ENERGY_DWH are the INA228's accumulators, cleared at this run's arm,...
Definition link_pages.h:1513
link_hitec_view_t
What registers 16 to 31 show.
Definition link_pages.h:2249
@ LINK_HITEC_VIEW_RUN
The run: LINK_HT_I_*.
Definition link_pages.h:2258
@ LINK_HITEC_VIEW_TIMES_HI
Bytes 8 to 15, the same way.
Definition link_pages.h:2256
@ LINK_HITEC_VIEW_TIMES_LO
The start bits of bytes 0 to 7, ns from the receiver's start, 32 bits each, low half first; 0 past th...
Definition link_pages.h:2254
@ LINK_HT_DEC
Definition link_pages.h:2236
@ LINK_HT_DATA
Definition link_pages.h:2244
@ LINK_HT_VIEW
Definition link_pages.h:2239
@ LINK_HT_CAP
Definition link_pages.h:2233
@ LINK_HT_SEQ
Definition link_pages.h:2224
@ LINK_HT_STATE
Definition link_pages.h:2222
@ LINK_HT_BYTES
Definition link_pages.h:2241
@ LINK_HT_OP
Definition link_pages.h:2225
@ LINK_HT_RESULT
Definition link_pages.h:2229
@ LINK_HT_VALUE
Definition link_pages.h:2238
link_kst_op_t
The operations of a command.
Definition link_pages.h:2043
@ LINK_KST_OP_REBOOT
Definition link_pages.h:2058
@ LINK_KST_OP_NONE
Definition link_pages.h:2044
@ LINK_KST_OP_VERIFY
Definition link_pages.h:2052
@ LINK_KST_OP_ENTER
Definition link_pages.h:2045
@ LINK_KST_OP_RELEASE
Definition link_pages.h:2051
@ LINK_KST_OP_POWER_CYCLED
Definition link_pages.h:2056
@ LINK_KST_OP_ABORT
Definition link_pages.h:2054
@ LINK_KST_OP_LEAVE
Definition link_pages.h:2060
@ LINK_KST_OP_WRITE
Definition link_pages.h:2048
@ LINK_KST_OP_RESTORE
Definition link_pages.h:2050
link_pin_hold_t
What holds a pin the bench may not drive.
Definition link_pages.h:1565
@ LINK_PIN_CAN
Definition link_pages.h:1568
@ LINK_PIN_HEARTBEAT
Definition link_pages.h:1567
@ LINK_PIN_OTHER
Definition link_pages.h:1572
@ LINK_PIN_FREE
Definition link_pages.h:1566
link_hitec_state_t
Where the port is.
Definition link_pages.h:2377
@ LINK_HITEC_FREE
Definition link_pages.h:2378
@ LINK_HITEC_POWER_OFF
Definition link_pages.h:2383
@ LINK_HITEC_BUSY
Definition link_pages.h:2382
@ LINK_HITEC_STOPPING
Definition link_pages.h:2379
@ LINK_HITEC_OPEN
Definition link_pages.h:2381
@ LINK_ST_FRAMES_LO
Definition link_pages.h:1394
@ LINK_ST_FRAMES_HI
Definition link_pages.h:1395
@ LINK_ST_REFUSED_LO
Protocol 4.21: CAN frames received and refused since power-up, low half first, modulo 2^32.
Definition link_pages.h:1409
@ LINK_ST_FAULTS
Definition link_pages.h:1391
@ LINK_ST_STATE
Definition link_pages.h:1390
link_page_id_t
The page numbers of the link protocol.
Definition link_pages.h:31
@ LINK_PAGE_TONE
Definition link_pages.h:56
@ LINK_PAGE_CATALOGUE
Definition link_pages.h:47
@ LINK_PAGE_SENSE_MAP
Definition link_pages.h:64
@ LINK_PAGE_LIMITS
Definition link_pages.h:35
@ LINK_PAGE_ARTWORK
Definition link_pages.h:49
@ LINK_PAGE_UPDATE_DATA
Definition link_pages.h:72
@ LINK_PAGE_CHAN_CFG
Definition link_pages.h:46
@ LINK_PAGE_SENSE_WIN_A
Definition link_pages.h:68
@ LINK_PAGE_SUPPLY
Definition link_pages.h:53
@ LINK_PAGE_HITEC
Definition link_pages.h:63
@ LINK_PAGE_SERVO_WIN
Definition link_pages.h:60
@ LINK_PAGE_BIND
Definition link_pages.h:59
@ LINK_PAGE_OUTPUTS
Definition link_pages.h:45
@ LINK_PAGE_CHANNELS
Definition link_pages.h:37
@ LINK_PAGE_BIND_OUT
Definition link_pages.h:58
@ LINK_PAGE_PROG
Definition link_pages.h:62
@ LINK_PAGE_SHAPE
Definition link_pages.h:48
@ LINK_PAGE_KST
Definition link_pages.h:61
@ LINK_PAGE_FAILSAFE
Definition link_pages.h:36
@ LINK_PAGE_UPDATE_CTL
Definition link_pages.h:71
@ LINK_PAGE_SERVO
Definition link_pages.h:52
@ LINK_PAGE_SENSE
Definition link_pages.h:54
@ LINK_PAGE_STATUS
Definition link_pages.h:33
@ LINK_PAGE_SENSE_LIMIT
Definition link_pages.h:66
@ LINK_PAGE_SERVO_SENSE
Definition link_pages.h:55
@ LINK_PAGE_SENSE_WIN_B
Definition link_pages.h:69
@ LINK_PAGE_BENCH
Definition link_pages.h:38
@ LINK_PAGE_ART_DATA
Definition link_pages.h:50
@ LINK_PAGE_BIND_CFG
Definition link_pages.h:57
@ LINK_PAGE_CONTROL
Definition link_pages.h:34
@ LINK_PAGE_PADS
Definition link_pages.h:51
@ LINK_PAGE_IDENTITY
Definition link_pages.h:32
@ LINK_SW_E_MEAN_MA
Definition link_pages.h:967
@ LINK_SW_E_MIN_MA
Definition link_pages.h:969
@ LINK_SW_E_MAX_MA
Definition link_pages.h:968
@ LINK_AW_WIDTH
Definition link_pages.h:1655
@ LINK_AW_BLOCKS
Definition link_pages.h:1654
@ LINK_AW_CRC
link_crc() over the whole payload, seeded zero.
Definition link_pages.h:1666
@ LINK_AW_HASH_LO
link_fnv1a32() over the whole payload, low half then high half.
Definition link_pages.h:1673
@ LINK_AW_HEIGHT
Definition link_pages.h:1656
@ LINK_AW_FORMAT
Definition link_pages.h:1657
@ LINK_AW_BYTES_LO
Definition link_pages.h:1658
link_kst_state_t
Where the programming port is.
Definition link_pages.h:2008
@ LINK_KST_LOW
Definition link_pages.h:2011
@ LINK_KST_RAIL_OFF
Definition link_pages.h:2014
@ LINK_KST_LEAVING
Definition link_pages.h:2016
@ LINK_KST_RAIL_WAIT
Definition link_pages.h:2015
@ LINK_KST_PROGRAMMING
Definition link_pages.h:2013
@ LINK_KST_PWM
Definition link_pages.h:2009
@ LINK_KST_STOPPING
Definition link_pages.h:2010
static bool link_sn_pins_pair(unsigned sda, unsigned scl)
Whether sda and scl are one I2C block's pair: SDA a GPIO whose number mod 4 is 0 or 2,...
Definition link_pages.h:726
link_hitec_refusal_t
Why a command that was taken did nothing: LINK_HT_RESULT's high byte.
Definition link_pages.h:2459
@ LINK_HITEC_REF_STAGED
Definition link_pages.h:2471
@ LINK_HITEC_REF_BUSY
Definition link_pages.h:2461
@ LINK_HITEC_REF_NOT_OPEN
Definition link_pages.h:2469
@ LINK_HITEC_REF_UNSAFE
Definition link_pages.h:2467
@ LINK_HITEC_REF_SUPPLY_RANGE
Definition link_pages.h:2477
@ LINK_HITEC_REF_STOPPED
Definition link_pages.h:2473
@ LINK_HITEC_REF_NO_KEY
Definition link_pages.h:2470
@ LINK_HITEC_REF_RANGE
Definition link_pages.h:2475
@ LINK_HITEC_REF_PORT
Definition link_pages.h:2463
@ LINK_HITEC_REF_NO_PIN
Definition link_pages.h:2474
@ LINK_HITEC_REF_ARMED
Definition link_pages.h:2466
@ LINK_HITEC_REF_HELD
Definition link_pages.h:2465
@ LINK_HITEC_REF_NO_SUPPLY
Definition link_pages.h:2479
@ LINK_SM_ID_0
Definition link_pages.h:1041
@ LINK_SM_SHUNT_0
Definition link_pages.h:1037
@ LINK_SM_WATCH_0
Definition link_pages.h:1038
@ LINK_SM_KEPT
Definition link_pages.h:1039
@ LINK_BN_CURRENT_CA
Definition link_pages.h:1462
@ LINK_BN_CHARGE_MAH
Definition link_pages.h:1467
@ LINK_BN_TEMP_MOT_DC
Definition link_pages.h:1466
@ LINK_BN_VOLT_MIN_CV
Definition link_pages.h:1469
@ LINK_BN_ENERGY_DWH
Definition link_pages.h:1468
@ LINK_BN_TEMP_ESC_DC
Definition link_pages.h:1465
@ LINK_BN_FLAGS
Definition link_pages.h:1473
@ LINK_BN_POWER_W
Definition link_pages.h:1463
@ LINK_BN_VOLTAGE_CV
Definition link_pages.h:1461
link_cap_state_t
The states of a capture, as the capture reports them.
Definition link_pages.h:896
@ LINK_CAP_ARMED
Definition link_pages.h:898
@ LINK_CAP_UNSEEN
Definition link_pages.h:905
@ LINK_CAP_ARRIVED
Definition link_pages.h:901
@ LINK_CAP_AT_STOP
Definition link_pages.h:902
@ LINK_CAP_LOST
Definition link_pages.h:907
@ LINK_CAP_WAIT_MOVE
Definition link_pages.h:899
@ LINK_CAP_LATE
Definition link_pages.h:903
@ LINK_AD_BLOCK
Definition link_pages.h:1771
@ LINK_AD_DATA
Definition link_pages.h:1772
@ LINK_SP_RESET
Definition link_pages.h:536
@ LINK_SP_FLAGS
Definition link_pages.h:526
@ LINK_SP_BAUD_FOUND
Definition link_pages.h:535
@ LINK_SS_CH_MEAN_MA
Definition link_pages.h:835
@ LINK_KS_FP_RULES
Definition link_pages.h:1864
@ LINK_KS_RESULT
Definition link_pages.h:1851
@ LINK_KS_FP_REGS_LO
Definition link_pages.h:1865
@ LINK_KS_BAD_LO
Definition link_pages.h:1862
@ LINK_KS_FAIL
Definition link_pages.h:1857
@ LINK_KS_OP
Definition link_pages.h:1848
@ LINK_KS_STATE
Definition link_pages.h:1845
@ LINK_KS_HALF_MIN_NS
Definition link_pages.h:1868
@ LINK_KS_SEQ
Definition link_pages.h:1847
@ LINK_KS_DIFF_HI
Definition link_pages.h:1861
@ LINK_KS_DELAY_MIN_US
Definition link_pages.h:1872
@ LINK_KS_DIFF_LO
Definition link_pages.h:1859
@ LINK_KS_IMAGE
Definition link_pages.h:1875
@ LINK_SW_CAP_STATE
Definition link_pages.h:958
@ LINK_SW_ENTRIES
Definition link_pages.h:960
@ LINK_HT_F_KEY
Definition link_pages.h:2395
@ LINK_HT_F_PRECHARGE
Definition link_pages.h:2397
@ LINK_HT_F_STOPPED
Definition link_pages.h:2391
@ LINK_HT_F_CAPTURE
Definition link_pages.h:2394
@ LINK_HT_F_RAIL
Definition link_pages.h:2393
link_pad_kind_t
What a pad that is not a pin is.
Definition link_pages.h:1819
@ LINK_PAD_NONE
Definition link_pages.h:1820
@ LINK_PAD_OTHER
Definition link_pages.h:1823
@ LINK_PAD_GROUND
Definition link_pages.h:1821
@ LINK_PAD_POWER
Definition link_pages.h:1822
link_upd_cmd_t
The commands the UPDATE_CTL page takes.
Definition link_pages.h:2667
@ LINK_UPD_CMD_FINISH
UPDATE_DATA registers 0 to 15 hold the expected SHA-256.
Definition link_pages.h:2689
@ LINK_UPD_CMD_ACTIVATE
Write the first sector and restart into the new slot.
Definition link_pages.h:2691
@ LINK_UPD_CMD_HASH_RUNNING
SHA-256 of the running slot's first ARG0 | ARG1 << 16 bytes, with the image's TBYB flag read as clear...
Definition link_pages.h:2675
@ LINK_UPD_CMD_BEGIN
A session for an image of ARG0 | ARG1 << 16 bytes: 1 to the slot.
Definition link_pages.h:2679
@ LINK_UPD_CMD_ABORT
End the session; the slot is left without an image.
Definition link_pages.h:2693
@ LINK_UPD_CMD_BUY
Keep the image on trial.
Definition link_pages.h:2699
@ LINK_UPD_CMD_COMMIT
UPDATE_DATA is block ARG0; ARG1 is its CRC-16.
Definition link_pages.h:2687
@ LINK_PG_COUNT
Definition link_pages.h:2132
@ LINK_PG_TARGET
Definition link_pages.h:2139
@ LINK_PG_REGS_V424
Definition link_pages.h:2143
@ LINK_PG_FUNC0
Definition link_pages.h:2144
@ LINK_PG_FLAGS
Definition link_pages.h:2133
@ LINK_PG_PWM
Definition link_pages.h:2137
@ LINK_CC_MAX_US
Definition link_pages.h:338
@ LINK_CC_ROLE
Definition link_pages.h:335
@ LINK_CC_MIN_US
Definition link_pages.h:337
@ LINK_CC_SLEW
Definition link_pages.h:336
@ LINK_HT_I_DELAY_LO
Definition link_pages.h:2264
@ LINK_HT_I_BIT_NS
Definition link_pages.h:2272
@ LINK_HT_I_PIN
Definition link_pages.h:2276
@ LINK_HT_I_T_LO
Definition link_pages.h:2268
@ LINK_HT_I_LEAD_LO
Definition link_pages.h:2266
@ LINK_HT_I_LINE
Definition link_pages.h:2274
@ LINK_HT_I_SPAN_LO
Definition link_pages.h:2270
@ LINK_HT_I_WINDOW_LO
Definition link_pages.h:2277
@ LINK_HT_I_FRAMING
Definition link_pages.h:2279
link_hitec_rx_t
LINK_HT_W_RX_MODE.
Definition link_pages.h:2333
@ LINK_HITEC_RX_PRECHARGE
No pull-up: the IOmcu precharges the line and samples it (protocols/hitec/include/hitec_pre....
Definition link_pages.h:2342
@ LINK_HITEC_RX_PULL_UP
Released for the answer; a pull-up on the board lifts the line.
Definition link_pages.h:2337
@ LINK_PG_SLEW
Definition link_pages.h:2156
@ LINK_PG_MAX_US
Definition link_pages.h:2158
@ LINK_PG_PIN
Definition link_pages.h:2153
@ LINK_PG_MIN_US
Definition link_pages.h:2157
@ LINK_PG_CMD
Definition link_pages.h:2155
link_hitec_op_t
The operations of a command.
Definition link_pages.h:2418
@ LINK_HITEC_OP_OPEN
Definition link_pages.h:2420
@ LINK_HITEC_OP_LISTEN
Definition link_pages.h:2425
@ LINK_HITEC_OP_SEND
Definition link_pages.h:2423
@ LINK_HITEC_OP_LEVEL
Definition link_pages.h:2426
@ LINK_HITEC_OP_NONE
Definition link_pages.h:2419
@ LINK_HITEC_OP_CLOSE
Definition link_pages.h:2422
@ LINK_HITEC_OP_POWER
Definition link_pages.h:2428
@ LINK_HITEC_OP_CLEAR
Definition link_pages.h:2430
@ LINK_HITEC_OP_ABORT
Definition link_pages.h:2427
@ LINK_BD_COMMIT
Definition link_pages.h:1348
@ LINK_SX_E_MAX_MA
Definition link_pages.h:1095
@ LINK_SX_E_MEAN_MA
Definition link_pages.h:1094
static uint16_t link_kst_crc(const uint16_t *regs, unsigned n)
The CRC of n page registers, low byte first, seeded 0xFFFF.
Definition link_pages.h:1995
link_upd_state_t
The states of an update session on the IOmcu.
Definition link_pages.h:2653
@ LINK_UPD_VERIFIED
Definition link_pages.h:2659
@ LINK_UPD_RECEIVING
Definition link_pages.h:2656
@ LINK_UPD_HASHING
Definition link_pages.h:2655
@ LINK_UPD_VERIFYING
Definition link_pages.h:2658
@ LINK_UPD_RECEIVED
Definition link_pages.h:2657
@ LINK_UPD_IDLE
Definition link_pages.h:2654
@ LINK_UPD_ACTIVATED
Definition link_pages.h:2661
@ LINK_UPD_FAILED
Definition link_pages.h:2660
link_sense_flag_t
What the IOmcu says about the bus and the two parts.
Definition link_pages.h:732
@ LINK_SN_I228_CLIPPED
A current read at the end of its range, in the last 50ms window or since the run's arm: BENCH's curre...
Definition link_pages.h:750
@ LINK_SN_I228_ONLINE
Definition link_pages.h:733
@ LINK_SN_BUS_OPEN
Definition link_pages.h:754
@ LINK_SN_I228_ID_WRONG
Something answers at its address with another identity, and is not used.
Definition link_pages.h:744
@ LINK_SN_I228_ID_OK
Its last identity read was an INA228's.
Definition link_pages.h:739
@ LINK_SN_BUS_STUCK
Definition link_pages.h:755
link_fault_t
What the IOmcu did on its own authority.
Definition link_pages.h:1422
@ LINK_FAULT_STORE_OFF
The IOmcu's flash store is off for this boot (protocol 4.7): its second core did not register for the...
Definition link_pages.h:1438
@ LINK_FAULT_VERSION
Definition link_pages.h:1429
@ LINK_FAULT_HEARTBEAT
Definition link_pages.h:1428
@ LINK_SV_SWEEP_DONE
Definition link_pages.h:460
link_draw_shape_kind_t
The kinds of shape record a drawing holds.
Definition link_pages.h:1752
link_dev_state_t
The states of the IOmcu's link end.
Definition link_pages.h:1444
@ LINK_STATE_IDLE
Definition link_pages.h:1445
@ LINK_STATE_ARMED
Definition link_pages.h:1446
@ LINK_STATE_FAILSAFE
Definition link_pages.h:1447
@ LINK_SN_I228_TEMP_DC
Definition link_pages.h:668
@ LINK_SN_I228_CHARGE_LO
Definition link_pages.h:670
@ LINK_SN_AS5600_ANGLE
Definition link_pages.h:678
@ LINK_SN_RESERVED_7
Definition link_pages.h:658
@ LINK_SN_AS5600_MAGNITUDE
Definition link_pages.h:679
@ LINK_SN_RESERVED_11
Definition link_pages.h:662
@ LINK_SN_ESC_CURRENT_CA
Definition link_pages.h:675
@ LINK_SN_FLAGS
Definition link_pages.h:663
@ LINK_SN_AS5600_FLAGS
Definition link_pages.h:677
@ LINK_SN_ESC_VOLTAGE_CV
Definition link_pages.h:674
@ LINK_SN_I228_ENERGY_LO
Definition link_pages.h:672
@ LINK_SN_AS5600_STILL_MS
Definition link_pages.h:681
@ LINK_SN_RESETS
Definition link_pages.h:682
@ LINK_SN_AS5600_SAMPLES
Definition link_pages.h:680
@ LINK_TN_FLAGS
Definition link_pages.h:1221
@ LINK_TN_EVT_FREQ_DHZ
Definition link_pages.h:1231
@ LINK_TN_EVT_SEL
Definition link_pages.h:1226
@ LINK_TN_RESERVED_7
Definition link_pages.h:1220
@ LINK_TN_EVT_START_LO
Definition link_pages.h:1228
@ LINK_TN_EVT_LEN_DMS
Definition link_pages.h:1230
@ LINK_TN_EVT_CARRIER_HHZ
Definition link_pages.h:1233
link_upd_err_t
The reasons an update command or session was refused or failed.
Definition link_pages.h:2705
@ LINK_UPD_ERR_NO_SLOTS
Definition link_pages.h:2707
@ LINK_UPD_ERR_BUY
Definition link_pages.h:2717
@ LINK_UPD_ERR_LINK
Definition link_pages.h:2716
@ LINK_UPD_ERR_COMMAND
Definition link_pages.h:2718
@ LINK_UPD_ERR_FLASH
Definition link_pages.h:2712
@ LINK_UPD_ERR_SIZE
Definition link_pages.h:2709
@ LINK_UPD_ERR_GATE
Definition link_pages.h:2708
@ LINK_UPD_ERR_TRIAL
Definition link_pages.h:2715
@ LINK_UPD_ERR_ORDER
Definition link_pages.h:2710
@ LINK_UPD_ERR_STATE
Definition link_pages.h:2714
@ LINK_UPD_ERR_CRC
Definition link_pages.h:2711
@ LINK_UPD_ERR_DIGEST
Definition link_pages.h:2713
@ LINK_CT_ARM
Definition link_pages.h:2495
@ LINK_CT_THROTTLE
Definition link_pages.h:2496
@ LINK_CT_CLEAR
Definition link_pages.h:2506
link_kst_refusal_t
Why a command that was taken did nothing: the high byte of LINK_KS_RESULT.
Definition link_pages.h:2070
@ LINK_KST_REF_PLAN_R00
Definition link_pages.h:2090
@ LINK_KST_REF_NO_SUPPLY
Definition link_pages.h:2100
@ LINK_KST_REF_NO_PIN
Definition link_pages.h:2096
@ LINK_KST_REF_MUST_READ
Definition link_pages.h:2086
@ LINK_KST_REF_SUPPLY_LOW
Definition link_pages.h:2108
@ LINK_KST_REF_NO_IMAGE
Definition link_pages.h:2088
@ LINK_KST_REF_UNSAFE
Definition link_pages.h:2079
@ LINK_KST_REF_NO_ENABLE
Definition link_pages.h:2081
@ LINK_KST_REF_PLAN_RULES
Definition link_pages.h:2089
@ LINK_KST_REF_SUPPLY_RANGE
Definition link_pages.h:2097
@ LINK_KST_REF_BUSY
Definition link_pages.h:2072
@ LINK_KST_REF_PLAN_NO_PATH
Definition link_pages.h:2092
@ LINK_KST_REF_START
Definition link_pages.h:2084
@ LINK_KST_REF_LEAVE_MS
Definition link_pages.h:2103
@ LINK_KST_REF_PORT
Definition link_pages.h:2075
@ LINK_KST_REF_STAGED
Definition link_pages.h:2082
@ LINK_KST_REF_NOT_PROGRAMMING
Definition link_pages.h:2080
@ LINK_KST_REF_PLAN_PAIRING
Definition link_pages.h:2091
@ LINK_KST_REF_LOCKED
Definition link_pages.h:2105
link_cap_t
What the IOmcu has fitted, as opposed to what the panel has screens for.
Definition link_pages.h:1375
@ LINK_CAP_SERVO_PWM
Definition link_pages.h:1378
@ LINK_CAP_RECEIVER
Definition link_pages.h:1381
@ LINK_CAP_PROGRAM
Definition link_pages.h:1384
@ LINK_CAP_CELLS
Definition link_pages.h:1383
@ LINK_CAP_ESC_TELEM
Definition link_pages.h:1377
@ LINK_CAP_SERVO_SENSE
Definition link_pages.h:1379
@ LINK_CAP_PACK_SENSE
Definition link_pages.h:1380
@ LINK_CAP_VIBRATION
Definition link_pages.h:1382
@ LINK_CAP_ESC_DRIVE
Definition link_pages.h:1376
link_hitec_dec_t
How the page decodes a capture.
Definition link_pages.h:2410
@ LINK_HITEC_DEC_C
Definition link_pages.h:2412
@ LINK_HITEC_DEC_D
Definition link_pages.h:2413
@ LINK_HITEC_DEC_LISTEN
Definition link_pages.h:2414
@ LINK_UPD_ERROR
Definition link_pages.h:2607
@ LINK_UPD_DIGEST
Definition link_pages.h:2619
@ LINK_UPD_VERSION
Definition link_pages.h:2605
@ LINK_UPD_STATE
Definition link_pages.h:2606
@ LINK_UPD_CMD
Definition link_pages.h:2613
@ LINK_UPD_SLOT
Definition link_pages.h:2608
@ LINK_UPD_SIZE_LO
Definition link_pages.h:2611
@ LINK_UPD_DIGEST_OF
Definition link_pages.h:2617
@ LINK_UPD_NEXT_BLOCK
Definition link_pages.h:2610
@ LINK_UPD_SLOT_SECTORS
Definition link_pages.h:2609
@ LINK_UPD_SIZE_HI
Definition link_pages.h:2612
@ LINK_KS_F_MUST_READ
Definition link_pages.h:2029
@ LINK_KS_F_RAIL
Definition link_pages.h:2036
@ LINK_KS_F_BUSY
Definition link_pages.h:2025
@ LINK_KS_F_FP_OK
Definition link_pages.h:2034
@ LINK_KS_F_BACKUP
Definition link_pages.h:2033
@ LINK_KS_F_IN_MODE
Definition link_pages.h:2026
@ LINK_KS_F_VIEW_BACKUP
Definition link_pages.h:2039
@ LINK_KS_F_IMAGE
Definition link_pages.h:2032
@ LINK_KS_F_LOCKED
Definition link_pages.h:2035
@ LINK_HT_W_LEVEL_LO
Definition link_pages.h:2308
@ LINK_HT_W_DECODE
Definition link_pages.h:2310
@ LINK_HT_W_WINDOW_LO
Definition link_pages.h:2302
@ LINK_HT_W_SUPPLY_MV
Definition link_pages.h:2314
@ LINK_HT_W_CRC
Definition link_pages.h:2290
@ LINK_HT_W_SUPPLY_MA
Definition link_pages.h:2317
@ LINK_HT_W_LINE
Definition link_pages.h:2293
@ LINK_HT_W_RX
Definition link_pages.h:2304
@ LINK_HT_W_RX_MODE
Definition link_pages.h:2324
@ LINK_HT_W_CMD
Definition link_pages.h:2285
@ LINK_HT_W_KEY
Definition link_pages.h:2288
@ LINK_HT_W_TX
Definition link_pages.h:2298
@ LINK_HT_W_NTX
Definition link_pages.h:2295
@ LINK_HT_W_LEAD_LO
Definition link_pages.h:2300
@ LINK_HT_W_SEQ
Definition link_pages.h:2287
@ LINK_HT_W_OFF_MS
Definition link_pages.h:2319
@ LINK_HT_W_VIEW
Definition link_pages.h:2321
@ LINK_HT_W_ANSWER
Definition link_pages.h:2306