Skip to main content

autd3_cpu_wire/
params.rs

1// AUTO-GENERATED by `cargo xtask cpu gen-param` from
2// firmware/fpga/rtl/sources_1/new/headers/params.svh and the IP .xci files. DO NOT EDIT.
3// Client-facing wire constants shared with the firmware.
4
5pub const NUM_TRANSDUCERS: usize = 249;
6pub const NUM_BANKS: usize = 2;
7pub const EMISSION_MAX_INDICES: u32 = 1024;
8pub const EMISSION_SLOT_WORDS: usize = 256;
9pub const FOCUS_WORDS: usize = 4;
10pub const NUM_FOCI_MAX: u8 = 8;
11pub const ULTRASOUND_FREQ_HZ: u32 = 40000;
12pub const REP_INFINITE: u16 = 0xFFFF;
13pub const FUNC_DYNAMIC_FREQ_BIT: u16 = 1;
14pub const FUNC_EMULATOR_BIT: u16 = 7;
15pub const VERSION_NUM_MAJOR: u8 = 0x0;
16pub const VERSION_NUM_MINOR: u8 = 0x4;
17pub const VERSION_NUM_PATCH: u8 = 0x0;
18
19pub const FPGA_STATE_BIT_THERMAL_ASSERT: u16 = 0;
20pub const FPGA_STATE_THERMAL_ASSERT: u16 = 1 << FPGA_STATE_BIT_THERMAL_ASSERT;
21pub const FPGA_STATE_BIT_MOD_BANK: u16 = 1;
22pub const FPGA_STATE_MOD_BANK: u16 = 1 << FPGA_STATE_BIT_MOD_BANK;
23pub const FPGA_STATE_BIT_PATTERN_BANK: u16 = 2;
24pub const FPGA_STATE_PATTERN_BANK: u16 = 1 << FPGA_STATE_BIT_PATTERN_BANK;
25pub const FPGA_STATE_BIT_PATTERN_MODE: u16 = 3;
26pub const FPGA_STATE_PATTERN_MODE: u16 = 1 << FPGA_STATE_BIT_PATTERN_MODE;
27pub const FPGA_STATE_BIT_PATTERN_STOPPED: u16 = 4;
28pub const FPGA_STATE_PATTERN_STOPPED: u16 = 1 << FPGA_STATE_BIT_PATTERN_STOPPED;
29pub const FPGA_STATE_BIT_MOD_STOPPED: u16 = 5;
30pub const FPGA_STATE_MOD_STOPPED: u16 = 1 << FPGA_STATE_BIT_MOD_STOPPED;
31pub const FPGA_STATE_BIT_TRANSITION_PENDING: u16 = 6;
32pub const FPGA_STATE_TRANSITION_PENDING: u16 = 1 << FPGA_STATE_BIT_TRANSITION_PENDING;
33pub const FPGA_STATE_BIT_READS_ENABLED: u16 = 7;
34pub const FPGA_STATE_READS_ENABLED: u16 = 1 << FPGA_STATE_BIT_READS_ENABLED;
35
36pub const TRANSITION_MODE_SYNC_IDX: u8 = 0x0;
37pub const TRANSITION_MODE_SYS_TIME: u8 = 0x1;
38pub const TRANSITION_MODE_GPIO: u8 = 0x2;
39pub const TRANSITION_MODE_EXT: u8 = 0xF0;
40pub const TRANSITION_MODE_IMMEDIATE: u8 = 0xFF;
41
42pub const EMISSION_TYPE_FOCI: u8 = 0x0;
43pub const EMISSION_TYPE_RAW: u8 = 0x1;
44
45pub const SILENCER_FLAG_BIT_FIXED_UPDATE_RATE_MODE: u8 = 0;
46pub const SILENCER_FLAG_FIXED_UPDATE_RATE_MODE: u8 = 1 << SILENCER_FLAG_BIT_FIXED_UPDATE_RATE_MODE;
47
48pub const GPIO_O_TYPE_NONE: u8 = 0x0;
49pub const GPIO_O_TYPE_BASE_SIG: u8 = 0x1;
50pub const GPIO_O_TYPE_THERMO: u8 = 0x2;
51pub const GPIO_O_TYPE_FORCE_FAN: u8 = 0x3;
52pub const GPIO_O_TYPE_SYNC: u8 = 0x10;
53pub const GPIO_O_TYPE_MOD_BANK: u8 = 0x20;
54pub const GPIO_O_TYPE_MOD_IDX: u8 = 0x21;
55pub const GPIO_O_TYPE_PATTERN_BANK: u8 = 0x50;
56pub const GPIO_O_TYPE_PATTERN_IDX: u8 = 0x51;
57pub const GPIO_O_TYPE_IS_STM_MODE: u8 = 0x52;
58pub const GPIO_O_TYPE_SYS_TIME_EQ: u8 = 0x60;
59pub const GPIO_O_TYPE_SYNC_DIFF: u8 = 0x70;
60pub const GPIO_O_TYPE_PWM_OUT: u8 = 0xE0;
61pub const GPIO_O_TYPE_DIRECT: u8 = 0xF0;
62
63pub const MOD_BUFFER_SAMPLES: usize = 65536;
64pub const PWE_TABLE_SIZE: usize = 256;
65
66pub const FOCUS_TR_X_MAX: i32 = 6909;
67pub const FOCUS_TR_Y_MAX: i32 = 5283;
68
69pub const FPGA_CLK_FREQ_HZ: u32 = 20_480_000;