diff --git a/.cargo/config b/.cargo/config index b0a3da5..ed4e9c1 100644 --- a/.cargo/config +++ b/.cargo/config @@ -1,7 +1,7 @@ [build] -target = "xtensa-none-elf" +target = "xtensa-esp32-none-elf" -[target.xtensa-none-elf] +[target.xtensa-esp32-none-elf] rustflags = [ "-C", "target-cpu=esp32", "-C", "save-temps", @@ -12,43 +12,121 @@ rustflags = [ "-C", "link-arg=-u__cxx_fatal_exception", "-C", "link-arg=-uld_include_panic_highint_hdl", "-C", "link-arg=-uesp_app_desc", - + "-C", "link-arg=-unewlib_include_locks_impl", + "-C", "link-arg=-unewlib_include_heap_impl", + "-C", "link-arg=-unewlib_include_syscalls_impl", + "-C", "link-arg=-Wl,--gc-sections", "-C", "link-arg=-Wl,-static", "-C", "link-arg=-Wl,--start-group", + "-C", "link-arg=-Lbuild/app_trace", "-C", "link-arg=-lapp_trace", "-C", "link-arg=-Lbuild/app_update", "-C", "link-arg=-lapp_update", + "-C", "link-arg=-Lbuild/asio", "-C", "link-arg=-lasio", + + "-C", "link-arg=-Lbuild/bootloader_support", "-C", "link-arg=-lbootloader_support", + "-C", "link-arg=-Lbuild/bt", "-C", "link-arg=-lbt", + + "-C", "link-arg=-Lbuild/coap", "-C", "link-arg=-lcoap", + "-C", "link-arg=-Lbuild/console", "-C", "link-arg=-lconsole", + "-C", "link-arg=-Lbuild/cxx", "-C", "link-arg=-lcxx", + "-C", "link-arg=-Lbuild/driver", "-C", "link-arg=-ldriver", + + "-C", "link-arg=-Lbuild/efuse", "-C", "link-arg=-lefuse", "-C", "link-arg=-Lbuild/esp-tls", "-C", "link-arg=-lesp-tls", "-C", "link-arg=-Lbuild/esp32", "-C", "link-arg=-lesp32", - "-C", "link-arg=esp-idf/components/esp32/libhal.a", - "-C", "link-arg=-Lesp-idf/components/esp32/lib", "-C", "link-arg=-lcore", "-C", "link-arg=-Lesp-idf/components/esp32/ld", "-C", "link-arg=-Tesp32_out.ld", + "-C", "link-arg=-Tesp32.discard-rtti.ld", "-C", "link-arg=-Tbuild/esp32/esp32.project.ld", - "-C", "link-arg=-Tesp32.rom.ld", "-C", "link-arg=-Tesp32.peripherals.ld", - "-C", "link-arg=-Tesp32.rom.libgcc.ld", - "-C", "link-arg=-Tesp32.rom.spiram_incompatible_fns.ld", + "-C", "link-arg=-Lbuild/esp_adc_cal", "-C", "link-arg=-lesp_adc_cal", + "-C", "link-arg=-Lbuild/esp_common", "-C", "link-arg=-lesp_common", + "-C", "link-arg=-Lbuild/esp_eth", "-C", "link-arg=-lesp_eth", + "-C", "link-arg=-Lbuild/esp_event", "-C", "link-arg=-lesp_event", + "-C", "link-arg=-Lbuild/esp_gdbstub", "-C", "link-arg=-lesp_gdbstub", + "-C", "link-arg=-Lbuild/esp_http_client", "-C", "link-arg=-lesp_http_client", + "-C", "link-arg=-Lbuild/esp_http_server", "-C", "link-arg=-lesp_http_server", + "-C", "link-arg=-Lbuild/esp_https_ota", "-C", "link-arg=-lesp_https_ota", + "-C", "link-arg=-Lbuild/esp_local_ctrl", "-C", "link-arg=-lesp_local_ctrl", "-C", "link-arg=-Lbuild/esp_ringbuf", "-C", "link-arg=-lesp_ringbuf", - "-C", "link-arg=-Lbuild/freertos", "-C", "link-arg=-lfreertos", + "-C", "link-arg=-Lbuild/esp_rom", "-C", "link-arg=-lesp_rom", + "-C", "link-arg=-Lesp-idf/components/esp_rom/esp32/ld", + "-C", "link-arg=-Tesp32.rom.ld", + "-C", "link-arg=-Tesp32.rom.libgcc.ld", + "-C", "link-arg=-Tesp32.rom.syscalls.ld", + "-C", "link-arg=-Tesp32.rom.newlib-data.ld", + "-C", "link-arg=-Tesp32.rom.newlib-funcs.ld", + + "-C", "link-arg=-Lbuild/esp_websocket_client", "-C", "link-arg=-lesp_websocket_client", + "-C", "link-arg=-Lbuild/esp_wifi", "-C", "link-arg=-lesp_wifi", + "-C", "link-arg=-Lesp-idf/components/esp_wifi/lib_esp32", + "-C", "link-arg=-lcore", "-C", "link-arg=-lrtc", "-C", "link-arg=-lnet80211", + "-C", "link-arg=-lpp", "-C", "link-arg=-lsmartconfig", + "-C", "link-arg=-lcoexist", "-C", "link-arg=-lespnow", + "-C", "link-arg=-lphy", "-C", "link-arg=-lmesh", + + "-C", "link-arg=-Lbuild/espcoredump", "-C", "link-arg=-lespcoredump", + "-C", "link-arg=-Lbuild/expat", "-C", "link-arg=-lexpat", + + "-C", "link-arg=-Lbuild/fatfs", "-C", "link-arg=-lfatfs", + "-C", "link-arg=-Lbuild/freemodbus", "-C", "link-arg=-lfreemodbus", + "-C", "link-arg=-Lbuild/freertos", "-C", "link-arg=-lfreertos", "-C", "link-arg=-Wl,--undefined=uxTopUsedPriority", "-C", "link-arg=-Lbuild/heap", "-C", "link-arg=-lheap", + + "-C", "link-arg=-Lbuild/idf_test", "-C", "link-arg=-lidf_test", + "-C", "link-arg=-Lbuild/jsmn", "-C", "link-arg=-ljsmn", + "-C", "link-arg=-Lbuild/json", "-C", "link-arg=-ljson", + + "-C", "link-arg=-Lbuild/libsodium", "-C", "link-arg=-llibsodium", "-C", "link-arg=-Lbuild/log", "-C", "link-arg=-llog", + "-C", "link-arg=-Lbuild/lwip", "-C", "link-arg=-llwip", - "-C", "link-arg=esp-idf/components/newlib/lib/libc.a", - "-C", "link-arg=esp-idf/components/newlib/lib/libm.a", + "-C", "link-arg=-Lbuild/main", "-C", "link-arg=-lmain", + "-C", "link-arg=-Lbuild/mbedtls", "-C", "link-arg=-lmbedtls", + "-C", "link-arg=-Lbuild/mdns", "-C", "link-arg=-lmdns", + "-C", "link-arg=-Lbuild/mqtt", "-C", "link-arg=-lmqtt", "-C", "link-arg=-Lbuild/newlib", "-C", "link-arg=-lnewlib", + + "-C", "link-arg=-lc", "-C", "link-arg=-lm", + + "-C", "link-arg=-Lbuild/nghttp", "-C", "link-arg=-lnghttp", + "-C", "link-arg=-Lbuild/nvs_flash", "-C", "link-arg=-lnvs_flash", + "-C", "link-arg=-Lbuild/openssl", "-C", "link-arg=-lopenssl", + "-C", "link-arg=-Lbuild/protobuf-c", "-C", "link-arg=-lprotobuf-c", + "-C", "link-arg=-Lbuild/protocomm", "-C", "link-arg=-lprotocomm", + "-C", "link-arg=-Lbuild/pthread", "-C", "link-arg=-lpthread", + "-C", "link-arg=-upthread_include_pthread_impl", + "-C", "link-arg=-upthread_include_pthread_cond_impl", + "-C", "link-arg=-upthread_include_pthread_local_storage_impl", + + "-C", "link-arg=-Lbuild/sdmmc", "-C", "link-arg=-lsdmmc", "-C", "link-arg=-Lbuild/soc", "-C", "link-arg=-lsoc", "-C", "link-arg=-Lbuild/spi_flash", "-C", "link-arg=-lspi_flash", + "-C", "link-arg=-Lbuild/spiffs", "-C", "link-arg=-lspiffs", + + "-C", "link-arg=-Lbuild/tcp_transport", "-C", "link-arg=-ltcp_transport", + "-C", "link-arg=-Lbuild/tcpip_adapter", "-C", "link-arg=-ltcpip_adapter", + "-C", "link-arg=-Lbuild/ulp", "-C", "link-arg=-lulp", + "-C", "link-arg=-Lbuild/unity", "-C", "link-arg=-lunity", + "-C", "link-arg=-Lbuild/vfs", "-C", "link-arg=-lvfs", - "-C", "link-arg=-Lbuild/xtensa-debug-module", "-C", "link-arg=-lxtensa-debug-module", + + "-C", "link-arg=-Lbuild/xtensa", "-C", "link-arg=-lxtensa", + + "-C", "link-arg=-Lbuild/wear_levelling", "-C", "link-arg=-lwear_levelling", + "-C", "link-arg=-Lbuild/wifi_provisioning", "-C", "link-arg=-lwifi_provisioning", + "-C", "link-arg=-Lbuild/wpa_supplicant", "-C", "link-arg=-lwpa_supplicant", + + "-C", "link-arg=esp-idf/components/xtensa/esp32/libhal.a", "-C", "link-arg=-lgcc", "-C", "link-arg=-lstdc++", diff --git a/.gitmodules b/.gitmodules index b534739..7fb0178 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "esp-idf"] path = esp-idf - url = git@github.com:espressif/esp-idf.git + url = https://github.com/espressif/esp-idf.git tag = v3.1.3 diff --git a/build.sh b/build.sh index e7bcb40..b2e7965 100755 --- a/build.sh +++ b/build.sh @@ -3,10 +3,9 @@ source setenv.sh # export V=1 -make -j6 app - -cargo build --release #--verbose - +make -j6 app && \ +# rustup run xtensa xargo build --release --verbose && \ +rustup run xtensa xargo build --release && \ $IDF_PATH/components/esptool_py/esptool/esptool.py \ --chip esp32 \ elf2image \ diff --git a/esp-idf b/esp-idf index 106dc05..0a03a55 160000 --- a/esp-idf +++ b/esp-idf @@ -1 +1 @@ -Subproject commit 106dc05903a1691c024bb61ac7b29ca728829671 +Subproject commit 0a03a55c1eb44a354c9ad5d91d91da371fe23f84 diff --git a/bindgen.sh b/esp32-sys/bindgen.sh similarity index 89% rename from bindgen.sh rename to esp32-sys/bindgen.sh index 6413803..29a853a 100755 --- a/bindgen.sh +++ b/esp32-sys/bindgen.sh @@ -2,14 +2,12 @@ set -e -source setenv.sh +source ../setenv.sh COMPS=$IDF_PATH/components SYSROOT=$HOME/xtensa-esp32-elf/xtensa-esp32-elf/sysroot -TARGET=xtensa-none-elf BINDGEN=bindgen -LIBCLANG_PATH=$HOME/git/rust/xtensa/llvm_build/lib CLANG_FLAGS="\ --sysroot=$SYSROOT \ -I$(pwd)/build/include \ @@ -26,6 +24,8 @@ for INC in `ls -d $COMPS/*/include`; do CLANG_FLAGS+=" -I$INC" done +CLANG_FLAGS+=" -I../build/include" + #echo $CLANG_FLAGS function generate_bindings () diff --git a/esp32-sys/src/bindings.h b/esp32-sys/src/bindings.h index 0f9a048..4979fd0 100644 --- a/esp32-sys/src/bindings.h +++ b/esp32-sys/src/bindings.h @@ -1 +1,13 @@ #include "driver/uart.h" +#include "driver/gpio.h" +#include "esp_log.h" + + +/* Manual defines because the macros are too complex to be processed */ + +/* + * Original was + * #define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) + */ +#undef portTICK_PERIOD_MS +#define portTICK_PERIOD_MS 1000 / configTICK_RATE_HZ diff --git a/esp32-sys/src/bindings.rs b/esp32-sys/src/bindings.rs index 12bec0f..f58eaf0 100644 --- a/esp32-sys/src/bindings.rs +++ b/esp32-sys/src/bindings.rs @@ -2,21 +2,20 @@ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] -pub struct __BindgenBitfieldUnit -where - Storage: AsRef<[u8]> + AsMut<[u8]>, -{ +pub struct __BindgenBitfieldUnit { storage: Storage, align: [Align; 0], } +impl __BindgenBitfieldUnit { + #[inline] + pub const fn new(storage: Storage) -> Self { + Self { storage, align: [] } + } +} impl __BindgenBitfieldUnit where Storage: AsRef<[u8]> + AsMut<[u8]>, { - #[inline] - pub fn new(storage: Storage) -> Self { - Self { storage, align: [] } - } #[inline] pub fn get_bit(&self, index: usize) -> bool { debug_assert!(index / 8 < self.storage.as_ref().len()); @@ -87,7 +86,7 @@ where pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] - pub fn new() -> Self { + pub const fn new() -> Self { __IncompleteArrayField(::core::marker::PhantomData, []) } #[inline] @@ -118,6 +117,7 @@ impl ::core::clone::Clone for __IncompleteArrayField { Self::new() } } +pub const SOC_UART_NUM: u32 = 3; pub const __NEWLIB__: u32 = 2; pub const __NEWLIB_MINOR__: u32 = 1; pub const _POSIX_THREADS: u32 = 1; @@ -607,7 +607,7 @@ pub const SOC_IROM_LOW: u32 = 1074593792; pub const SOC_IROM_HIGH: u32 = 1077936128; pub const SOC_DROM_LOW: u32 = 1061158912; pub const SOC_DROM_HIGH: u32 = 1065353216; -pub const SOC_DRAM_LOW: u32 = 1068367872; +pub const SOC_DRAM_LOW: u32 = 1073405952; pub const SOC_DRAM_HIGH: u32 = 1073741824; pub const SOC_RTC_IRAM_LOW: u32 = 1074528256; pub const SOC_RTC_IRAM_HIGH: u32 = 1074536448; @@ -615,6 +615,7 @@ pub const SOC_RTC_DATA_LOW: u32 = 1342177280; pub const SOC_RTC_DATA_HIGH: u32 = 1342185472; pub const SOC_EXTRAM_DATA_LOW: u32 = 1065353216; pub const SOC_EXTRAM_DATA_HIGH: u32 = 1069547520; +pub const SOC_MAX_CONTIGUOUS_RAM_SIZE: u32 = 4194304; pub const DR_REG_DPORT_BASE: u32 = 1072693248; pub const DR_REG_AES_BASE: u32 = 1072697344; pub const DR_REG_RSA_BASE: u32 = 1072701440; @@ -680,6 +681,7 @@ pub const WDT_CLK_FREQ: u32 = 80000000; pub const TIMER_CLK_FREQ: u32 = 5000000; pub const SPI_CLK_DIV: u32 = 4; pub const TICKS_PER_US_ROM: u32 = 26; +pub const GPIO_MATRIX_DELAY_NS: u32 = 25; pub const SOC_IROM_MASK_LOW: u32 = 1073741824; pub const SOC_IROM_MASK_HIGH: u32 = 1074200576; pub const SOC_CACHE_PRO_LOW: u32 = 1074200576; @@ -1172,6 +1174,18 @@ pub const UART_DATE_S: u32 = 0; pub const UART_ID: u32 = 4294967295; pub const UART_ID_V: u32 = 4294967295; pub const UART_ID_S: u32 = 0; +pub const UART_NUM_0_TXD_DIRECT_GPIO_NUM: u32 = 1; +pub const UART_NUM_0_RXD_DIRECT_GPIO_NUM: u32 = 3; +pub const UART_NUM_0_CTS_DIRECT_GPIO_NUM: u32 = 19; +pub const UART_NUM_0_RTS_DIRECT_GPIO_NUM: u32 = 22; +pub const UART_NUM_1_TXD_DIRECT_GPIO_NUM: u32 = 10; +pub const UART_NUM_1_RXD_DIRECT_GPIO_NUM: u32 = 9; +pub const UART_NUM_1_CTS_DIRECT_GPIO_NUM: u32 = 6; +pub const UART_NUM_1_RTS_DIRECT_GPIO_NUM: u32 = 11; +pub const UART_NUM_2_TXD_DIRECT_GPIO_NUM: u32 = 17; +pub const UART_NUM_2_RXD_DIRECT_GPIO_NUM: u32 = 16; +pub const UART_NUM_2_CTS_DIRECT_GPIO_NUM: u32 = 8; +pub const UART_NUM_2_RTS_DIRECT_GPIO_NUM: u32 = 7; pub const __GNUCLIKE_ASM: u32 = 3; pub const __GNUCLIKE___TYPEOF: u32 = 1; pub const __GNUCLIKE___OFFSETOF: u32 = 1; @@ -1269,288 +1283,10 @@ pub const ESP_ERR_INVALID_VERSION: u32 = 266; pub const ESP_ERR_INVALID_MAC: u32 = 267; pub const ESP_ERR_WIFI_BASE: u32 = 12288; pub const ESP_ERR_MESH_BASE: u32 = 16384; +pub const ESP_ERR_FLASH_BASE: u32 = 24576; pub const true_: u32 = 1; pub const false_: u32 = 0; pub const __bool_true_false_are_defined: u32 = 1; -pub const ESP_INTR_FLAG_LEVEL1: u32 = 2; -pub const ESP_INTR_FLAG_LEVEL2: u32 = 4; -pub const ESP_INTR_FLAG_LEVEL3: u32 = 8; -pub const ESP_INTR_FLAG_LEVEL4: u32 = 16; -pub const ESP_INTR_FLAG_LEVEL5: u32 = 32; -pub const ESP_INTR_FLAG_LEVEL6: u32 = 64; -pub const ESP_INTR_FLAG_NMI: u32 = 128; -pub const ESP_INTR_FLAG_SHARED: u32 = 256; -pub const ESP_INTR_FLAG_EDGE: u32 = 512; -pub const ESP_INTR_FLAG_IRAM: u32 = 1024; -pub const ESP_INTR_FLAG_INTRDISABLED: u32 = 2048; -pub const ESP_INTR_FLAG_LOWMED: u32 = 14; -pub const ESP_INTR_FLAG_HIGH: u32 = 240; -pub const ESP_INTR_FLAG_LEVELMASK: u32 = 254; -pub const ETS_INTERNAL_TIMER0_INTR_SOURCE: i32 = -1; -pub const ETS_INTERNAL_TIMER1_INTR_SOURCE: i32 = -2; -pub const ETS_INTERNAL_TIMER2_INTR_SOURCE: i32 = -3; -pub const ETS_INTERNAL_SW0_INTR_SOURCE: i32 = -4; -pub const ETS_INTERNAL_SW1_INTR_SOURCE: i32 = -5; -pub const ETS_INTERNAL_PROFILING_INTR_SOURCE: i32 = -6; -pub const ETS_INTERNAL_INTR_SOURCE_OFF: u32 = 6; -pub const CONFIG_ESP32_PHY_MAX_TX_POWER: u32 = 20; -pub const CONFIG_TRACEMEM_RESERVE_DRAM: u32 = 0; -pub const CONFIG_FREERTOS_MAX_TASK_NAME_LEN: u32 = 16; -pub const CONFIG_MQTT_TRANSPORT_SSL: u32 = 1; -pub const CONFIG_FATFS_LFN_NONE: u32 = 1; -pub const CONFIG_MB_SERIAL_TASK_PRIO: u32 = 10; -pub const CONFIG_MQTT_PROTOCOL_311: u32 = 1; -pub const CONFIG_TCP_RECVMBOX_SIZE: u32 = 6; -pub const CONFIG_FATFS_CODEPAGE_437: u32 = 1; -pub const CONFIG_TCP_WND_DEFAULT: u32 = 5744; -pub const CONFIG_PARTITION_TABLE_OFFSET: u32 = 32768; -pub const CONFIG_SPIFFS_USE_MAGIC_LENGTH: u32 = 1; -pub const CONFIG_IPC_TASK_STACK_SIZE: u32 = 1024; -pub const CONFIG_FATFS_PER_FILE_CACHE: u32 = 1; -pub const CONFIG_ESPTOOLPY_FLASHFREQ: &'static [u8; 4usize] = b"40m\0"; -pub const CONFIG_MBEDTLS_KEY_EXCHANGE_RSA: u32 = 1; -pub const CONFIG_UDP_RECVMBOX_SIZE: u32 = 6; -pub const CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE: u32 = 0; -pub const CONFIG_MBEDTLS_AES_C: u32 = 1; -pub const CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED: u32 = 1; -pub const CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN: u32 = 752; -pub const CONFIG_MBEDTLS_GCM_C: u32 = 1; -pub const CONFIG_ESPTOOLPY_FLASHSIZE: &'static [u8; 4usize] = b"2MB\0"; -pub const CONFIG_HEAP_POISONING_DISABLED: u32 = 1; -pub const CONFIG_SPIFFS_CACHE_WR: u32 = 1; -pub const CONFIG_BROWNOUT_DET_LVL_SEL_0: u32 = 1; -pub const CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER: u32 = 1; -pub const CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE: u32 = 1; -pub const CONFIG_SPIFFS_CACHE: u32 = 1; -pub const CONFIG_INT_WDT: u32 = 1; -pub const CONFIG_MBEDTLS_SSL_PROTO_TLS1: u32 = 1; -pub const CONFIG_ESP_GRATUITOUS_ARP: u32 = 1; -pub const CONFIG_MBEDTLS_ECDSA_C: u32 = 1; -pub const CONFIG_ESPTOOLPY_FLASHFREQ_40M: u32 = 1; -pub const CONFIG_LOG_BOOTLOADER_LEVEL_INFO: u32 = 1; -pub const CONFIG_ESPTOOLPY_FLASHSIZE_2MB: u32 = 1; -pub const CONFIG_HTTPD_MAX_REQ_HDR_LEN: u32 = 512; -pub const CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE: u32 = 0; -pub const CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS: u32 = 1; -pub const CONFIG_MBEDTLS_ECDH_C: u32 = 1; -pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE: u32 = 1; -pub const CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM: u32 = 10; -pub const CONFIG_MBEDTLS_SSL_ALPN: u32 = 1; -pub const CONFIG_MBEDTLS_PEM_WRITE_C: u32 = 1; -pub const CONFIG_LOG_DEFAULT_LEVEL_INFO: u32 = 1; -pub const CONFIG_BT_RESERVE_DRAM: u32 = 0; -pub const CONFIG_APP_COMPILE_TIME_DATE: u32 = 1; -pub const CONFIG_FATFS_FS_LOCK: u32 = 0; -pub const CONFIG_IP_LOST_TIMER_INTERVAL: u32 = 120; -pub const CONFIG_SPIFFS_META_LENGTH: u32 = 4; -pub const CONFIG_ESP32_PANIC_PRINT_REBOOT: u32 = 1; -pub const CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE: u32 = 20; -pub const CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED: u32 = 1; -pub const CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED: u32 = 1; -pub const CONFIG_MB_SERIAL_BUF_SIZE: u32 = 256; -pub const CONFIG_CONSOLE_UART_BAUDRATE: u32 = 115200; -pub const CONFIG_LWIP_MAX_SOCKETS: u32 = 10; -pub const CONFIG_LWIP_NETIF_LOOPBACK: u32 = 1; -pub const CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT: &'static [u8; 8usize] = b"pthread\0"; -pub const CONFIG_EMAC_TASK_PRIORITY: u32 = 20; -pub const CONFIG_TIMER_TASK_STACK_DEPTH: u32 = 2048; -pub const CONFIG_TCP_MSS: u32 = 1436; -pub const CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED: u32 = 1; -pub const CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF: u32 = 0; -pub const CONFIG_FATFS_CODEPAGE: u32 = 437; -pub const CONFIG_ESP32_DEFAULT_CPU_FREQ_160: u32 = 1; -pub const CONFIG_ULP_COPROC_RESERVE_MEM: u32 = 0; -pub const CONFIG_LWIP_MAX_UDP_PCBS: u32 = 16; -pub const CONFIG_ESPTOOLPY_BAUD: u32 = 115200; -pub const CONFIG_INT_WDT_CHECK_CPU1: u32 = 1; -pub const CONFIG_ADC_CAL_LUT_ENABLE: u32 = 1; -pub const CONFIG_FLASHMODE_DIO: u32 = 1; -pub const CONFIG_ESPTOOLPY_AFTER_RESET: u32 = 1; -pub const CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED: u32 = 1; -pub const CONFIG_LWIP_DHCPS_MAX_STATION_NUM: u32 = 8; -pub const CONFIG_TOOLPREFIX: &'static [u8; 18usize] = b"xtensa-esp32-elf-\0"; -pub const CONFIG_MBEDTLS_ECP_C: u32 = 1; -pub const CONFIG_FREERTOS_IDLE_TASK_STACKSIZE: u32 = 1536; -pub const CONFIG_MBEDTLS_RC4_DISABLED: u32 = 1; -pub const CONFIG_CONSOLE_UART_NUM: u32 = 0; -pub const CONFIG_ESP32_APPTRACE_LOCK_ENABLE: u32 = 1; -pub const CONFIG_PTHREAD_STACK_MIN: u32 = 768; -pub const CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC: u32 = 1; -pub const CONFIG_ESPTOOLPY_BAUD_115200B: u32 = 1; -pub const CONFIG_TCP_OVERSIZE_MSS: u32 = 1; -pub const CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS: u32 = 1; -pub const CONFIG_CONSOLE_UART_DEFAULT: u32 = 1; -pub const CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN: u32 = 16384; -pub const CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS: u32 = 4; -pub const CONFIG_ESPTOOLPY_FLASHSIZE_DETECT: u32 = 1; -pub const CONFIG_TIMER_TASK_STACK_SIZE: u32 = 3584; -pub const CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE: u32 = 1; -pub const CONFIG_MBEDTLS_X509_CRL_PARSE_C: u32 = 1; -pub const CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER: u32 = 1; -pub const CONFIG_MB_SERIAL_TASK_STACK_SIZE: u32 = 2048; -pub const CONFIG_LWIP_DHCPS_LEASE_UNIT: u32 = 60; -pub const CONFIG_SPIFFS_USE_MAGIC: u32 = 1; -pub const CONFIG_TCPIP_TASK_STACK_SIZE: u32 = 3072; -pub const CONFIG_TASK_WDT: u32 = 1; -pub const CONFIG_MAIN_TASK_STACK_SIZE: u32 = 3584; -pub const CONFIG_SPIFFS_PAGE_CHECK: u32 = 1; -pub const CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0: u32 = 1; -pub const CONFIG_LWIP_MAX_ACTIVE_TCP: u32 = 16; -pub const CONFIG_TASK_WDT_TIMEOUT_S: u32 = 5; -pub const CONFIG_INT_WDT_TIMEOUT_MS: u32 = 300; -pub const CONFIG_ESPTOOLPY_FLASHMODE: &'static [u8; 4usize] = b"dio\0"; -pub const CONFIG_NEWLIB_STDIN_LINE_ENDING_CR: u32 = 1; -pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA: u32 = 1; -pub const CONFIG_ESPTOOLPY_BEFORE: &'static [u8; 14usize] = b"default_reset\0"; -pub const CONFIG_ADC2_DISABLE_DAC: u32 = 1; -pub const CONFIG_LOG_DEFAULT_LEVEL: u32 = 3; -pub const CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION: u32 = 1; -pub const CONFIG_TIMER_QUEUE_LENGTH: u32 = 10; -pub const CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT: u32 = 1; -pub const CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY: u32 = 1; -pub const CONFIG_MAKE_WARN_UNDEFINED_VARIABLES: u32 = 1; -pub const CONFIG_FATFS_TIMEOUT_MS: u32 = 10000; -pub const CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM: u32 = 32; -pub const CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS: u32 = 1; -pub const CONFIG_MBEDTLS_CCM_C: u32 = 1; -pub const CONFIG_SPI_MASTER_ISR_IN_IRAM: u32 = 1; -pub const CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER: u32 = 20; -pub const CONFIG_ESP32_RTC_CLK_CAL_CYCLES: u32 = 1024; -pub const CONFIG_ESP32_WIFI_TX_BA_WIN: u32 = 6; -pub const CONFIG_ESP32_WIFI_NVS_ENABLED: u32 = 1; -pub const CONFIG_MDNS_MAX_SERVICES: u32 = 10; -pub const CONFIG_IDF_TARGET_ESP32: u32 = 1; -pub const CONFIG_EMAC_CHECK_LINK_PERIOD_MS: u32 = 2000; -pub const CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED: u32 = 1; -pub const CONFIG_LIBSODIUM_USE_MBEDTLS_SHA: u32 = 1; -pub const CONFIG_DMA_RX_BUF_NUM: u32 = 10; -pub const CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED: u32 = 1; -pub const CONFIG_TCP_SYNMAXRTX: u32 = 6; -pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: u32 = 1; -pub const CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF: u32 = 0; -pub const CONFIG_PYTHON: &'static [u8; 7usize] = b"python\0"; -pub const CONFIG_MBEDTLS_ECP_NIST_OPTIM: u32 = 1; -pub const CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1: u32 = 1; -pub const CONFIG_ESPTOOLPY_COMPRESSED: u32 = 1; -pub const CONFIG_PARTITION_TABLE_FILENAME: &'static [u8; 25usize] = b"partitions_singleapp.csv\0"; -pub const CONFIG_MB_CONTROLLER_STACK_SIZE: u32 = 4096; -pub const CONFIG_TCP_SND_BUF_DEFAULT: u32 = 5744; -pub const CONFIG_GARP_TMR_INTERVAL: u32 = 60; -pub const CONFIG_LWIP_DHCP_MAX_NTP_SERVERS: u32 = 1; -pub const CONFIG_TCP_MSL: u32 = 60000; -pub const CONFIG_MBEDTLS_SSL_PROTO_TLS1_1: u32 = 1; -pub const CONFIG_LWIP_SO_REUSE_RXTOALL: u32 = 1; -pub const CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT: u32 = 20; -pub const CONFIG_PARTITION_TABLE_SINGLE_APP: u32 = 1; -pub const CONFIG_UNITY_ENABLE_FLOAT: u32 = 1; -pub const CONFIG_ESP32_WIFI_RX_BA_WIN: u32 = 6; -pub const CONFIG_MBEDTLS_X509_CSR_PARSE_C: u32 = 1; -pub const CONFIG_SPIFFS_USE_MTIME: u32 = 1; -pub const CONFIG_EMAC_TASK_STACK_SIZE: u32 = 3072; -pub const CONFIG_MB_QUEUE_LENGTH: u32 = 20; -pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: u32 = 1; -pub const CONFIG_LWIP_DHCP_DOES_ARP_CHECK: u32 = 1; -pub const CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER: u32 = 1; -pub const CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE: u32 = 2304; -pub const CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V: u32 = 1; -pub const CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY: u32 = 2000; -pub const CONFIG_BROWNOUT_DET_LVL: u32 = 0; -pub const CONFIG_MBEDTLS_PEM_PARSE_C: u32 = 1; -pub const CONFIG_SPIFFS_GC_MAX_RUNS: u32 = 10; -pub const CONFIG_ESP32_APPTRACE_DEST_NONE: u32 = 1; -pub const CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC: u32 = 1; -pub const CONFIG_MBEDTLS_SSL_PROTO_TLS1_2: u32 = 1; -pub const CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA: u32 = 1; -pub const CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM: u32 = 32; -pub const CONFIG_HTTPD_MAX_URI_LEN: u32 = 512; -pub const CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED: u32 = 1; -pub const CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED: u32 = 1; -pub const CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1: u32 = 1; -pub const CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ: u32 = 160; -pub const CONFIG_MBEDTLS_HARDWARE_AES: u32 = 1; -pub const CONFIG_FREERTOS_HZ: u32 = 100; -pub const CONFIG_LOG_COLORS: u32 = 1; -pub const CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE: u32 = 1; -pub const CONFIG_STACK_CHECK_NONE: u32 = 1; -pub const CONFIG_ADC_CAL_EFUSE_TP_ENABLE: u32 = 1; -pub const CONFIG_FREERTOS_ASSERT_FAIL_ABORT: u32 = 1; -pub const CONFIG_BROWNOUT_DET: u32 = 1; -pub const CONFIG_ESP32_XTAL_FREQ: u32 = 40; -pub const CONFIG_MONITOR_BAUD_115200B: u32 = 1; -pub const CONFIG_LOG_BOOTLOADER_LEVEL: u32 = 3; -pub const CONFIG_MBEDTLS_TLS_ENABLED: u32 = 1; -pub const CONFIG_LWIP_MAX_RAW_PCBS: u32 = 16; -pub const CONFIG_MBEDTLS_SSL_SESSION_TICKETS: u32 = 1; -pub const CONFIG_SPIFFS_MAX_PARTITIONS: u32 = 3; -pub const CONFIG_ESP_ERR_TO_NAME_LOOKUP: u32 = 1; -pub const CONFIG_MBEDTLS_SSL_RENEGOTIATION: u32 = 1; -pub const CONFIG_ESPTOOLPY_BEFORE_RESET: u32 = 1; -pub const CONFIG_MB_EVENT_QUEUE_TIMEOUT: u32 = 20; -pub const CONFIG_ESPTOOLPY_BAUD_OTHER_VAL: u32 = 115200; -pub const CONFIG_SPIFFS_OBJ_NAME_LEN: u32 = 32; -pub const CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT: u32 = 5; -pub const CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF: u32 = 0; -pub const CONFIG_PARTITION_TABLE_MD5: u32 = 1; -pub const CONFIG_TCPIP_RECVMBOX_SIZE: u32 = 32; -pub const CONFIG_TCP_MAXRTX: u32 = 12; -pub const CONFIG_ESPTOOLPY_AFTER: &'static [u8; 11usize] = b"hard_reset\0"; -pub const CONFIG_TCPIP_TASK_AFFINITY: u32 = 2147483647; -pub const CONFIG_LWIP_SO_REUSE: u32 = 1; -pub const CONFIG_ESP32_XTAL_FREQ_40: u32 = 1; -pub const CONFIG_DMA_TX_BUF_NUM: u32 = 10; -pub const CONFIG_LWIP_MAX_LISTENING_TCP: u32 = 16; -pub const CONFIG_FREERTOS_INTERRUPT_BACKTRACE: u32 = 1; -pub const CONFIG_WL_SECTOR_SIZE: u32 = 4096; -pub const CONFIG_ESP32_DEBUG_OCDAWARE: u32 = 1; -pub const CONFIG_MQTT_TRANSPORT_WEBSOCKET: u32 = 1; -pub const CONFIG_TIMER_TASK_PRIORITY: u32 = 1; -pub const CONFIG_MBEDTLS_TLS_CLIENT: u32 = 1; -pub const CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY: u32 = 1; -pub const CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED: u32 = 1; -pub const CONFIG_MONITOR_BAUD: u32 = 115200; -pub const CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT: i32 = -1; -pub const CONFIG_ESP32_DEBUG_STUBS_ENABLE: u32 = 1; -pub const CONFIG_TCPIP_LWIP: u32 = 1; -pub const CONFIG_REDUCE_PHY_TX_POWER: u32 = 1; -pub const CONFIG_BOOTLOADER_WDT_TIME_MS: u32 = 9000; -pub const CONFIG_FREERTOS_CORETIMER_0: u32 = 1; -pub const CONFIG_PARTITION_TABLE_CUSTOM_FILENAME: &'static [u8; 15usize] = b"partitions.csv\0"; -pub const CONFIG_MBEDTLS_HAVE_TIME: u32 = 1; -pub const CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY: u32 = 1; -pub const CONFIG_TCP_QUEUE_OOSEQ: u32 = 1; -pub const CONFIG_ADC_CAL_EFUSE_VREF_ENABLE: u32 = 1; -pub const CONFIG_MBEDTLS_TLS_SERVER: u32 = 1; -pub const CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT: u32 = 1; -pub const CONFIG_FREERTOS_ISR_STACKSIZE: u32 = 1536; -pub const CONFIG_SUPPORT_TERMIOS: u32 = 1; -pub const CONFIG_OPENSSL_ASSERT_DO_NOTHING: u32 = 1; -pub const CONFIG_IDF_TARGET: &'static [u8; 6usize] = b"esp32\0"; -pub const CONFIG_WL_SECTOR_SIZE_4096: u32 = 1; -pub const CONFIG_OPTIMIZATION_LEVEL_DEBUG: u32 = 1; -pub const CONFIG_FREERTOS_NO_AFFINITY: u32 = 2147483647; -pub const CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED: u32 = 1; -pub const CONFIG_MB_TIMER_INDEX: u32 = 0; -pub const CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED: u32 = 1; -pub const CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED: u32 = 1; -pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: u32 = 1; -pub const CONFIG_SPI_SLAVE_ISR_IN_IRAM: u32 = 1; -pub const CONFIG_SYSTEM_EVENT_QUEUE_SIZE: u32 = 32; -pub const CONFIG_ESP32_WIFI_TX_BUFFER_TYPE: u32 = 1; -pub const CONFIG_BOOTLOADER_WDT_ENABLE: u32 = 1; -pub const CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED: u32 = 1; -pub const CONFIG_LWIP_LOOPBACK_MAX_PBUFS: u32 = 8; -pub const CONFIG_MB_TIMER_GROUP: u32 = 0; -pub const CONFIG_SPI_FLASH_ROM_DRIVER_PATCH: u32 = 1; -pub const CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE: u32 = 1; -pub const CONFIG_SPIFFS_PAGE_SIZE: u32 = 256; -pub const CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED: u32 = 1; -pub const CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0: u32 = 1; -pub const CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT: u32 = 3072; -pub const CONFIG_MB_TIMER_PORT_ENABLED: u32 = 1; -pub const CONFIG_MONITOR_BAUD_OTHER_VAL: u32 = 115200; -pub const CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF: u32 = 1; -pub const CONFIG_ESPTOOLPY_PORT: &'static [u8; 13usize] = b"/dev/ttyUSB0\0"; -pub const CONFIG_UNITY_ENABLE_DOUBLE: u32 = 1; pub const XTHAL_RELEASE_MAJOR: u32 = 11000; pub const XTHAL_RELEASE_MINOR: u32 = 3; pub const XTHAL_RELEASE_NAME: &'static [u8; 7usize] = b"11.0.3\0"; @@ -1652,405 +1388,6 @@ pub const XCHAL_CA_R: u32 = 1073742016; pub const XCHAL_CA_RX: u32 = 1073742032; pub const XCHAL_CA_RW: u32 = 1073742048; pub const XCHAL_CA_RWX: u32 = 1073742064; -pub const XTENSA_HWVERSION_T1020_0: u32 = 102000; -pub const XTENSA_HWCIDSCHEME_T1020_0: u32 = 10; -pub const XTENSA_HWCIDVERS_T1020_0: u32 = 2; -pub const XTENSA_HWVERSION_T1020_1: u32 = 102001; -pub const XTENSA_HWCIDSCHEME_T1020_1: u32 = 10; -pub const XTENSA_HWCIDVERS_T1020_1: u32 = 3; -pub const XTENSA_HWVERSION_T1020_2B: u32 = 102002; -pub const XTENSA_HWCIDSCHEME_T1020_2B: u32 = 10; -pub const XTENSA_HWCIDVERS_T1020_2B: u32 = 5; -pub const XTENSA_HWVERSION_T1020_2: u32 = 102002; -pub const XTENSA_HWCIDSCHEME_T1020_2: u32 = 10; -pub const XTENSA_HWCIDVERS_T1020_2: u32 = 4; -pub const XTENSA_HWVERSION_T1020_3: u32 = 102003; -pub const XTENSA_HWCIDSCHEME_T1020_3: u32 = 10; -pub const XTENSA_HWCIDVERS_T1020_3: u32 = 6; -pub const XTENSA_HWVERSION_T1020_4: u32 = 102004; -pub const XTENSA_HWCIDSCHEME_T1020_4: u32 = 10; -pub const XTENSA_HWCIDVERS_T1020_4: u32 = 7; -pub const XTENSA_HWVERSION_T1030_0: u32 = 103000; -pub const XTENSA_HWCIDSCHEME_T1030_0: u32 = 10; -pub const XTENSA_HWCIDVERS_T1030_0: u32 = 9; -pub const XTENSA_HWVERSION_T1030_1: u32 = 103001; -pub const XTENSA_HWCIDSCHEME_T1030_1: u32 = 10; -pub const XTENSA_HWCIDVERS_T1030_1: u32 = 10; -pub const XTENSA_HWVERSION_T1030_2: u32 = 103002; -pub const XTENSA_HWCIDSCHEME_T1030_2: u32 = 10; -pub const XTENSA_HWCIDVERS_T1030_2: u32 = 11; -pub const XTENSA_HWVERSION_T1030_3: u32 = 103003; -pub const XTENSA_HWCIDSCHEME_T1030_3: u32 = 10; -pub const XTENSA_HWCIDVERS_T1030_3: u32 = 12; -pub const XTENSA_HWVERSION_T1040_0: u32 = 104000; -pub const XTENSA_HWCIDSCHEME_T1040_0: u32 = 10; -pub const XTENSA_HWCIDVERS_T1040_0: u32 = 15; -pub const XTENSA_HWVERSION_T1040_1: u32 = 104001; -pub const XTENSA_HWCIDSCHEME_T1040_1: u32 = 1; -pub const XTENSA_HWCIDVERS_T1040_1: u32 = 32; -pub const XTENSA_HWVERSION_T1040_1P: u32 = 104001; -pub const XTENSA_HWCIDSCHEME_T1040_1P: u32 = 10; -pub const XTENSA_HWCIDVERS_T1040_1P: u32 = 16; -pub const XTENSA_HWVERSION_T1040_2: u32 = 104002; -pub const XTENSA_HWCIDSCHEME_T1040_2: u32 = 1; -pub const XTENSA_HWCIDVERS_T1040_2: u32 = 33; -pub const XTENSA_HWVERSION_T1040_3: u32 = 104003; -pub const XTENSA_HWCIDSCHEME_T1040_3: u32 = 1; -pub const XTENSA_HWCIDVERS_T1040_3: u32 = 34; -pub const XTENSA_HWVERSION_T1050_0: u32 = 105000; -pub const XTENSA_HWCIDSCHEME_T1050_0: u32 = 1100; -pub const XTENSA_HWCIDVERS_T1050_0: u32 = 1; -pub const XTENSA_HWVERSION_T1050_1: u32 = 105001; -pub const XTENSA_HWCIDSCHEME_T1050_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_T1050_1: u32 = 2; -pub const XTENSA_HWVERSION_T1050_2: u32 = 105002; -pub const XTENSA_HWCIDSCHEME_T1050_2: u32 = 1100; -pub const XTENSA_HWCIDVERS_T1050_2: u32 = 4; -pub const XTENSA_HWVERSION_T1050_3: u32 = 105003; -pub const XTENSA_HWCIDSCHEME_T1050_3: u32 = 1100; -pub const XTENSA_HWCIDVERS_T1050_3: u32 = 6; -pub const XTENSA_HWVERSION_T1050_4: u32 = 105004; -pub const XTENSA_HWCIDSCHEME_T1050_4: u32 = 1100; -pub const XTENSA_HWCIDVERS_T1050_4: u32 = 7; -pub const XTENSA_HWVERSION_T1050_5: u32 = 105005; -pub const XTENSA_HWCIDSCHEME_T1050_5: u32 = 1100; -pub const XTENSA_HWCIDVERS_T1050_5: u32 = 8; -pub const XTENSA_HWVERSION_RA_2004_1: u32 = 210000; -pub const XTENSA_HWCIDSCHEME_RA_2004_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2004_1: u32 = 3; -pub const XTENSA_HWVERSION_RA_2005_1: u32 = 210001; -pub const XTENSA_HWCIDSCHEME_RA_2005_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2005_1: u32 = 20; -pub const XTENSA_HWVERSION_RA_2005_2: u32 = 210002; -pub const XTENSA_HWCIDSCHEME_RA_2005_2: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2005_2: u32 = 21; -pub const XTENSA_HWVERSION_RA_2005_3: u32 = 210003; -pub const XTENSA_HWCIDSCHEME_RA_2005_3: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2005_3: u32 = 22; -pub const XTENSA_HWVERSION_RA_2006_4: u32 = 210004; -pub const XTENSA_HWCIDSCHEME_RA_2006_4: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2006_4: u32 = 23; -pub const XTENSA_HWVERSION_RA_2006_5: u32 = 210005; -pub const XTENSA_HWCIDSCHEME_RA_2006_5: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2006_5: u32 = 24; -pub const XTENSA_HWVERSION_RA_2006_6: u32 = 210006; -pub const XTENSA_HWCIDSCHEME_RA_2006_6: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2006_6: u32 = 25; -pub const XTENSA_HWVERSION_RA_2007_7: u32 = 210007; -pub const XTENSA_HWCIDSCHEME_RA_2007_7: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2007_7: u32 = 26; -pub const XTENSA_HWVERSION_RA_2008_8: u32 = 210008; -pub const XTENSA_HWCIDSCHEME_RA_2008_8: u32 = 1100; -pub const XTENSA_HWCIDVERS_RA_2008_8: u32 = 27; -pub const XTENSA_HWVERSION_RB_2006_0: u32 = 220000; -pub const XTENSA_HWCIDSCHEME_RB_2006_0: u32 = 1100; -pub const XTENSA_HWCIDVERS_RB_2006_0: u32 = 48; -pub const XTENSA_HWVERSION_RB_2007_1: u32 = 220001; -pub const XTENSA_HWCIDSCHEME_RB_2007_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_RB_2007_1: u32 = 49; -pub const XTENSA_HWVERSION_RB_2007_2: u32 = 221000; -pub const XTENSA_HWCIDSCHEME_RB_2007_2: u32 = 1100; -pub const XTENSA_HWCIDVERS_RB_2007_2: u32 = 52; -pub const XTENSA_HWVERSION_RB_2008_3: u32 = 221001; -pub const XTENSA_HWCIDSCHEME_RB_2008_3: u32 = 1100; -pub const XTENSA_HWCIDVERS_RB_2008_3: u32 = 53; -pub const XTENSA_HWVERSION_RB_2008_4: u32 = 221002; -pub const XTENSA_HWCIDSCHEME_RB_2008_4: u32 = 1100; -pub const XTENSA_HWCIDVERS_RB_2008_4: u32 = 54; -pub const XTENSA_HWVERSION_RB_2009_5: u32 = 221003; -pub const XTENSA_HWCIDSCHEME_RB_2009_5: u32 = 1100; -pub const XTENSA_HWCIDVERS_RB_2009_5: u32 = 55; -pub const XTENSA_HWVERSION_RB_2007_2_MP: u32 = 221100; -pub const XTENSA_HWCIDSCHEME_RB_2007_2_MP: u32 = 1100; -pub const XTENSA_HWCIDVERS_RB_2007_2_MP: u32 = 64; -pub const XTENSA_HWVERSION_RC_2009_0: u32 = 230000; -pub const XTENSA_HWCIDSCHEME_RC_2009_0: u32 = 1100; -pub const XTENSA_HWCIDVERS_RC_2009_0: u32 = 65; -pub const XTENSA_HWVERSION_RC_2010_1: u32 = 230001; -pub const XTENSA_HWCIDSCHEME_RC_2010_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_RC_2010_1: u32 = 66; -pub const XTENSA_HWVERSION_RC_2010_2: u32 = 230002; -pub const XTENSA_HWCIDSCHEME_RC_2010_2: u32 = 1100; -pub const XTENSA_HWCIDVERS_RC_2010_2: u32 = 67; -pub const XTENSA_HWVERSION_RC_2011_3: u32 = 230003; -pub const XTENSA_HWCIDSCHEME_RC_2011_3: u32 = 1100; -pub const XTENSA_HWCIDVERS_RC_2011_3: u32 = 68; -pub const XTENSA_HWVERSION_RD_2010_0: u32 = 240000; -pub const XTENSA_HWCIDSCHEME_RD_2010_0: u32 = 1100; -pub const XTENSA_HWCIDVERS_RD_2010_0: u32 = 80; -pub const XTENSA_HWVERSION_RD_2011_1: u32 = 240001; -pub const XTENSA_HWCIDSCHEME_RD_2011_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_RD_2011_1: u32 = 81; -pub const XTENSA_HWVERSION_RD_2011_2: u32 = 240002; -pub const XTENSA_HWCIDSCHEME_RD_2011_2: u32 = 1100; -pub const XTENSA_HWCIDVERS_RD_2011_2: u32 = 82; -pub const XTENSA_HWVERSION_RD_2011_3: u32 = 240003; -pub const XTENSA_HWCIDSCHEME_RD_2011_3: u32 = 1100; -pub const XTENSA_HWCIDVERS_RD_2011_3: u32 = 83; -pub const XTENSA_HWVERSION_RD_2012_4: u32 = 240004; -pub const XTENSA_HWCIDSCHEME_RD_2012_4: u32 = 1100; -pub const XTENSA_HWCIDVERS_RD_2012_4: u32 = 84; -pub const XTENSA_HWVERSION_RD_2012_5: u32 = 240005; -pub const XTENSA_HWCIDSCHEME_RD_2012_5: u32 = 1100; -pub const XTENSA_HWCIDVERS_RD_2012_5: u32 = 85; -pub const XTENSA_HWVERSION_RE_2012_0: u32 = 250000; -pub const XTENSA_HWCIDSCHEME_RE_2012_0: u32 = 1100; -pub const XTENSA_HWCIDVERS_RE_2012_0: u32 = 96; -pub const XTENSA_HWVERSION_RE_2012_1: u32 = 250001; -pub const XTENSA_HWCIDSCHEME_RE_2012_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_RE_2012_1: u32 = 97; -pub const XTENSA_HWVERSION_RE_2013_2: u32 = 250002; -pub const XTENSA_HWCIDSCHEME_RE_2013_2: u32 = 1100; -pub const XTENSA_HWCIDVERS_RE_2013_2: u32 = 98; -pub const XTENSA_HWVERSION_RE_2013_3: u32 = 250003; -pub const XTENSA_HWCIDSCHEME_RE_2013_3: u32 = 1100; -pub const XTENSA_HWCIDVERS_RE_2013_3: u32 = 99; -pub const XTENSA_HWVERSION_RE_2013_4: u32 = 250004; -pub const XTENSA_HWCIDSCHEME_RE_2013_4: u32 = 1100; -pub const XTENSA_HWCIDVERS_RE_2013_4: u32 = 100; -pub const XTENSA_HWVERSION_RE_2014_5: u32 = 250005; -pub const XTENSA_HWCIDSCHEME_RE_2014_5: u32 = 1100; -pub const XTENSA_HWCIDVERS_RE_2014_5: u32 = 101; -pub const XTENSA_HWVERSION_RE_2015_6: u32 = 250006; -pub const XTENSA_HWCIDSCHEME_RE_2015_6: u32 = 1100; -pub const XTENSA_HWCIDVERS_RE_2015_6: u32 = 102; -pub const XTENSA_HWVERSION_RF_2014_0: u32 = 260000; -pub const XTENSA_HWCIDSCHEME_RF_2014_0: u32 = 1100; -pub const XTENSA_HWCIDVERS_RF_2014_0: u32 = 112; -pub const XTENSA_HWVERSION_RF_2014_1: u32 = 260001; -pub const XTENSA_HWCIDSCHEME_RF_2014_1: u32 = 1100; -pub const XTENSA_HWCIDVERS_RF_2014_1: u32 = 113; -pub const XTENSA_HWVERSION_RF_2015_2: u32 = 260002; -pub const XTENSA_HWCIDSCHEME_RF_2015_2: u32 = 1100; -pub const XTENSA_HWCIDVERS_RF_2015_2: u32 = 114; -pub const XTENSA_HWVERSION_RF_2015_3: u32 = 260003; -pub const XTENSA_HWCIDSCHEME_RF_2015_3: u32 = 1100; -pub const XTENSA_HWCIDVERS_RF_2015_3: u32 = 115; -pub const XTENSA_HWVERSION_RG_2015_0: u32 = 270000; -pub const XTENSA_HWCIDSCHEME_RG_2015_0: u32 = 1100; -pub const XTENSA_HWCIDVERS_RG_2015_0: u32 = 128; -pub const XTENSA_SWVERSION_T1020_0: u32 = 102000; -pub const XTENSA_SWVERSION_T1020_1: u32 = 102001; -pub const XTENSA_SWVERSION_T1020_2B: u32 = 102002; -pub const XTENSA_SWVERSION_T1020_2: u32 = 102002; -pub const XTENSA_SWVERSION_T1020_3: u32 = 102003; -pub const XTENSA_SWVERSION_T1020_4: u32 = 102004; -pub const XTENSA_SWVERSION_T1030_0: u32 = 103000; -pub const XTENSA_SWVERSION_T1030_1: u32 = 103001; -pub const XTENSA_SWVERSION_T1030_2: u32 = 103002; -pub const XTENSA_SWVERSION_T1030_3: u32 = 103003; -pub const XTENSA_SWVERSION_T1040_0: u32 = 104000; -pub const XTENSA_SWVERSION_T1040_1: u32 = 104001; -pub const XTENSA_SWVERSION_T1040_1P: u32 = 104001; -pub const XTENSA_SWVERSION_T1040_2: u32 = 104002; -pub const XTENSA_SWVERSION_T1040_3: u32 = 104003; -pub const XTENSA_SWVERSION_T1050_0: u32 = 105000; -pub const XTENSA_SWVERSION_T1050_1: u32 = 105001; -pub const XTENSA_SWVERSION_T1050_2: u32 = 105002; -pub const XTENSA_SWVERSION_T1050_3: u32 = 105003; -pub const XTENSA_SWVERSION_T1050_4: u32 = 105004; -pub const XTENSA_SWVERSION_T1050_5: u32 = 105005; -pub const XTENSA_SWVERSION_RA_2004_1: u32 = 600000; -pub const XTENSA_SWVERSION_RA_2005_1: u32 = 600001; -pub const XTENSA_SWVERSION_RA_2005_2: u32 = 600002; -pub const XTENSA_SWVERSION_RA_2005_3: u32 = 600003; -pub const XTENSA_SWVERSION_RA_2006_4: u32 = 600004; -pub const XTENSA_SWVERSION_RA_2006_5: u32 = 600005; -pub const XTENSA_SWVERSION_RA_2006_6: u32 = 600006; -pub const XTENSA_SWVERSION_RA_2007_7: u32 = 600007; -pub const XTENSA_SWVERSION_RA_2008_8: u32 = 600008; -pub const XTENSA_SWVERSION_RB_2006_0: u32 = 700000; -pub const XTENSA_SWVERSION_RB_2007_1: u32 = 700001; -pub const XTENSA_SWVERSION_RB_2007_2: u32 = 701000; -pub const XTENSA_SWVERSION_RB_2008_3: u32 = 701001; -pub const XTENSA_SWVERSION_RB_2008_4: u32 = 701002; -pub const XTENSA_SWVERSION_RB_2009_5: u32 = 701003; -pub const XTENSA_SWVERSION_RB_2007_2_MP: u32 = 701100; -pub const XTENSA_SWVERSION_RC_2009_0: u32 = 800000; -pub const XTENSA_SWVERSION_RC_2010_1: u32 = 800001; -pub const XTENSA_SWVERSION_RC_2010_2: u32 = 800002; -pub const XTENSA_SWVERSION_RC_2011_3: u32 = 800003; -pub const XTENSA_SWVERSION_RD_2010_0: u32 = 900000; -pub const XTENSA_SWVERSION_RD_2011_1: u32 = 900001; -pub const XTENSA_SWVERSION_RD_2011_2: u32 = 900002; -pub const XTENSA_SWVERSION_RD_2011_3: u32 = 900003; -pub const XTENSA_SWVERSION_RD_2012_4: u32 = 900004; -pub const XTENSA_SWVERSION_RD_2012_5: u32 = 900005; -pub const XTENSA_SWVERSION_RE_2012_0: u32 = 1000000; -pub const XTENSA_SWVERSION_RE_2012_1: u32 = 1000001; -pub const XTENSA_SWVERSION_RE_2013_2: u32 = 1000002; -pub const XTENSA_SWVERSION_RE_2013_3: u32 = 1000003; -pub const XTENSA_SWVERSION_RE_2013_4: u32 = 1000004; -pub const XTENSA_SWVERSION_RE_2014_5: u32 = 1000005; -pub const XTENSA_SWVERSION_RE_2015_6: u32 = 1000006; -pub const XTENSA_SWVERSION_RF_2014_0: u32 = 1100000; -pub const XTENSA_SWVERSION_RF_2014_1: u32 = 1100001; -pub const XTENSA_SWVERSION_RF_2015_2: u32 = 1100002; -pub const XTENSA_SWVERSION_RF_2015_3: u32 = 1100003; -pub const XTENSA_SWVERSION_RG_2015_0: u32 = 1200000; -pub const XTENSA_SWVERSION_T1040_1_PREHOTFIX: u32 = 104001; -pub const XTENSA_SWVERSION_6_0_0: u32 = 600000; -pub const XTENSA_SWVERSION_6_0_1: u32 = 600001; -pub const XTENSA_SWVERSION_6_0_2: u32 = 600002; -pub const XTENSA_SWVERSION_6_0_3: u32 = 600003; -pub const XTENSA_SWVERSION_6_0_4: u32 = 600004; -pub const XTENSA_SWVERSION_6_0_5: u32 = 600005; -pub const XTENSA_SWVERSION_6_0_6: u32 = 600006; -pub const XTENSA_SWVERSION_6_0_7: u32 = 600007; -pub const XTENSA_SWVERSION_6_0_8: u32 = 600008; -pub const XTENSA_SWVERSION_7_0_0: u32 = 700000; -pub const XTENSA_SWVERSION_7_0_1: u32 = 700001; -pub const XTENSA_SWVERSION_7_1_0: u32 = 701000; -pub const XTENSA_SWVERSION_7_1_1: u32 = 701001; -pub const XTENSA_SWVERSION_7_1_2: u32 = 701002; -pub const XTENSA_SWVERSION_7_1_3: u32 = 701003; -pub const XTENSA_SWVERSION_7_1_8_MP: u32 = 701100; -pub const XTENSA_SWVERSION_8_0_0: u32 = 800000; -pub const XTENSA_SWVERSION_8_0_1: u32 = 800001; -pub const XTENSA_SWVERSION_8_0_2: u32 = 800002; -pub const XTENSA_SWVERSION_8_0_3: u32 = 800003; -pub const XTENSA_SWVERSION_9_0_0: u32 = 900000; -pub const XTENSA_SWVERSION_9_0_1: u32 = 900001; -pub const XTENSA_SWVERSION_9_0_2: u32 = 900002; -pub const XTENSA_SWVERSION_9_0_3: u32 = 900003; -pub const XTENSA_SWVERSION_9_0_4: u32 = 900004; -pub const XTENSA_SWVERSION_9_0_5: u32 = 900005; -pub const XTENSA_SWVERSION_10_0_0: u32 = 1000000; -pub const XTENSA_SWVERSION_10_0_1: u32 = 1000001; -pub const XTENSA_SWVERSION_10_0_2: u32 = 1000002; -pub const XTENSA_SWVERSION_10_0_3: u32 = 1000003; -pub const XTENSA_SWVERSION_10_0_4: u32 = 1000004; -pub const XTENSA_SWVERSION_10_0_5: u32 = 1000005; -pub const XTENSA_SWVERSION_10_0_6: u32 = 1000006; -pub const XTENSA_SWVERSION_11_0_0: u32 = 1100000; -pub const XTENSA_SWVERSION_11_0_1: u32 = 1100001; -pub const XTENSA_SWVERSION_11_0_2: u32 = 1100002; -pub const XTENSA_SWVERSION_11_0_3: u32 = 1100003; -pub const XTENSA_SWVERSION_12_0_0: u32 = 1200000; -pub const XTENSA_RELEASE_NAME: &'static [u8; 10usize] = b"RF-2015.3\0"; -pub const XTENSA_RELEASE_CANONICAL_NAME: &'static [u8; 10usize] = b"RF-2015.3\0"; -pub const XTENSA_SWVERSION: u32 = 1100003; -pub const XTENSA_SWVERSION_NAME: &'static [u8; 7usize] = b"11.0.3\0"; -pub const XTENSA_SWVERSION_CANONICAL_NAME: &'static [u8; 7usize] = b"11.0.3\0"; -pub const XTENSA_SWVERSION_MAJORMID_NAME: &'static [u8; 5usize] = b"11.0\0"; -pub const XTENSA_SWVERSION_MAJOR_NAME: &'static [u8; 3usize] = b"11\0"; -pub const XTENSA_SWVERSION_LICENSE_NAME: &'static [u8; 5usize] = b"11.0\0"; -pub const XCHAL_CA_BYPASS: u32 = 2; -pub const XCHAL_CA_BYPASSBUF: u32 = 6; -pub const XCHAL_CA_WRITETHRU: u32 = 2; -pub const XCHAL_CA_WRITEBACK: u32 = 2; -pub const XCHAL_HAVE_CA_WRITEBACK_NOALLOC: u32 = 0; -pub const XCHAL_CA_WRITEBACK_NOALLOC: u32 = 2; -pub const XCHAL_CA_BYPASS_RW: u32 = 0; -pub const XCHAL_CA_WRITETHRU_RW: u32 = 0; -pub const XCHAL_CA_WRITEBACK_RW: u32 = 0; -pub const XCHAL_CA_WRITEBACK_NOALLOC_RW: u32 = 0; -pub const XCHAL_CA_ILLEGAL: u32 = 15; -pub const XCHAL_CA_ISOLATE: u32 = 0; -pub const XCHAL_MMU_ASID_INVALID: u32 = 0; -pub const XCHAL_MMU_ASID_KERNEL: u32 = 0; -pub const XCHAL_MMU_SR_BITS: u32 = 0; -pub const XCHAL_MMU_CA_BITS: u32 = 4; -pub const XCHAL_MMU_MAX_PTE_PAGE_SIZE: u32 = 29; -pub const XCHAL_MMU_MIN_PTE_PAGE_SIZE: u32 = 29; -pub const XCHAL_ITLB_WAY_BITS: u32 = 0; -pub const XCHAL_ITLB_WAYS: u32 = 1; -pub const XCHAL_ITLB_ARF_WAYS: u32 = 0; -pub const XCHAL_ITLB_SETS: u32 = 1; -pub const XCHAL_ITLB_WAY0_SET: u32 = 0; -pub const XCHAL_ITLB_ARF_SETS: u32 = 0; -pub const XCHAL_ITLB_MINWIRED_SETS: u32 = 0; -pub const XCHAL_ITLB_SET0_WAY: u32 = 0; -pub const XCHAL_ITLB_SET0_WAYS: u32 = 1; -pub const XCHAL_ITLB_SET0_ENTRIES_LOG2: u32 = 3; -pub const XCHAL_ITLB_SET0_ENTRIES: u32 = 8; -pub const XCHAL_ITLB_SET0_ARF: u32 = 0; -pub const XCHAL_ITLB_SET0_PAGESIZES: u32 = 1; -pub const XCHAL_ITLB_SET0_PAGESZ_BITS: u32 = 0; -pub const XCHAL_ITLB_SET0_PAGESZ_LOG2_MIN: u32 = 29; -pub const XCHAL_ITLB_SET0_PAGESZ_LOG2_MAX: u32 = 29; -pub const XCHAL_ITLB_SET0_PAGESZ_LOG2_LIST: u32 = 29; -pub const XCHAL_ITLB_SET0_ASID_CONSTMASK: u32 = 0; -pub const XCHAL_ITLB_SET0_VPN_CONSTMASK: u32 = 0; -pub const XCHAL_ITLB_SET0_PPN_CONSTMASK: u32 = 3758096384; -pub const XCHAL_ITLB_SET0_CA_CONSTMASK: u32 = 0; -pub const XCHAL_ITLB_SET0_ASID_RESET: u32 = 0; -pub const XCHAL_ITLB_SET0_VPN_RESET: u32 = 0; -pub const XCHAL_ITLB_SET0_PPN_RESET: u32 = 0; -pub const XCHAL_ITLB_SET0_CA_RESET: u32 = 1; -pub const XCHAL_ITLB_SET0_E0_VPN_CONST: u32 = 0; -pub const XCHAL_ITLB_SET0_E1_VPN_CONST: u32 = 536870912; -pub const XCHAL_ITLB_SET0_E2_VPN_CONST: u32 = 1073741824; -pub const XCHAL_ITLB_SET0_E3_VPN_CONST: u32 = 1610612736; -pub const XCHAL_ITLB_SET0_E4_VPN_CONST: u32 = 2147483648; -pub const XCHAL_ITLB_SET0_E5_VPN_CONST: u32 = 2684354560; -pub const XCHAL_ITLB_SET0_E6_VPN_CONST: u32 = 3221225472; -pub const XCHAL_ITLB_SET0_E7_VPN_CONST: u32 = 3758096384; -pub const XCHAL_ITLB_SET0_E0_PPN_CONST: u32 = 0; -pub const XCHAL_ITLB_SET0_E1_PPN_CONST: u32 = 536870912; -pub const XCHAL_ITLB_SET0_E2_PPN_CONST: u32 = 1073741824; -pub const XCHAL_ITLB_SET0_E3_PPN_CONST: u32 = 1610612736; -pub const XCHAL_ITLB_SET0_E4_PPN_CONST: u32 = 2147483648; -pub const XCHAL_ITLB_SET0_E5_PPN_CONST: u32 = 2684354560; -pub const XCHAL_ITLB_SET0_E6_PPN_CONST: u32 = 3221225472; -pub const XCHAL_ITLB_SET0_E7_PPN_CONST: u32 = 3758096384; -pub const XCHAL_ITLB_SET0_E0_CA_RESET: u32 = 2; -pub const XCHAL_ITLB_SET0_E1_CA_RESET: u32 = 2; -pub const XCHAL_ITLB_SET0_E2_CA_RESET: u32 = 2; -pub const XCHAL_ITLB_SET0_E3_CA_RESET: u32 = 2; -pub const XCHAL_ITLB_SET0_E4_CA_RESET: u32 = 2; -pub const XCHAL_ITLB_SET0_E5_CA_RESET: u32 = 2; -pub const XCHAL_ITLB_SET0_E6_CA_RESET: u32 = 2; -pub const XCHAL_ITLB_SET0_E7_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_WAY_BITS: u32 = 0; -pub const XCHAL_DTLB_WAYS: u32 = 1; -pub const XCHAL_DTLB_ARF_WAYS: u32 = 0; -pub const XCHAL_DTLB_SETS: u32 = 1; -pub const XCHAL_DTLB_WAY0_SET: u32 = 0; -pub const XCHAL_DTLB_ARF_SETS: u32 = 0; -pub const XCHAL_DTLB_MINWIRED_SETS: u32 = 0; -pub const XCHAL_DTLB_SET0_WAY: u32 = 0; -pub const XCHAL_DTLB_SET0_WAYS: u32 = 1; -pub const XCHAL_DTLB_SET0_ENTRIES_LOG2: u32 = 3; -pub const XCHAL_DTLB_SET0_ENTRIES: u32 = 8; -pub const XCHAL_DTLB_SET0_ARF: u32 = 0; -pub const XCHAL_DTLB_SET0_PAGESIZES: u32 = 1; -pub const XCHAL_DTLB_SET0_PAGESZ_BITS: u32 = 0; -pub const XCHAL_DTLB_SET0_PAGESZ_LOG2_MIN: u32 = 29; -pub const XCHAL_DTLB_SET0_PAGESZ_LOG2_MAX: u32 = 29; -pub const XCHAL_DTLB_SET0_PAGESZ_LOG2_LIST: u32 = 29; -pub const XCHAL_DTLB_SET0_ASID_CONSTMASK: u32 = 0; -pub const XCHAL_DTLB_SET0_VPN_CONSTMASK: u32 = 0; -pub const XCHAL_DTLB_SET0_PPN_CONSTMASK: u32 = 3758096384; -pub const XCHAL_DTLB_SET0_CA_CONSTMASK: u32 = 0; -pub const XCHAL_DTLB_SET0_ASID_RESET: u32 = 0; -pub const XCHAL_DTLB_SET0_VPN_RESET: u32 = 0; -pub const XCHAL_DTLB_SET0_PPN_RESET: u32 = 0; -pub const XCHAL_DTLB_SET0_CA_RESET: u32 = 1; -pub const XCHAL_DTLB_SET0_E0_VPN_CONST: u32 = 0; -pub const XCHAL_DTLB_SET0_E1_VPN_CONST: u32 = 536870912; -pub const XCHAL_DTLB_SET0_E2_VPN_CONST: u32 = 1073741824; -pub const XCHAL_DTLB_SET0_E3_VPN_CONST: u32 = 1610612736; -pub const XCHAL_DTLB_SET0_E4_VPN_CONST: u32 = 2147483648; -pub const XCHAL_DTLB_SET0_E5_VPN_CONST: u32 = 2684354560; -pub const XCHAL_DTLB_SET0_E6_VPN_CONST: u32 = 3221225472; -pub const XCHAL_DTLB_SET0_E7_VPN_CONST: u32 = 3758096384; -pub const XCHAL_DTLB_SET0_E0_PPN_CONST: u32 = 0; -pub const XCHAL_DTLB_SET0_E1_PPN_CONST: u32 = 536870912; -pub const XCHAL_DTLB_SET0_E2_PPN_CONST: u32 = 1073741824; -pub const XCHAL_DTLB_SET0_E3_PPN_CONST: u32 = 1610612736; -pub const XCHAL_DTLB_SET0_E4_PPN_CONST: u32 = 2147483648; -pub const XCHAL_DTLB_SET0_E5_PPN_CONST: u32 = 2684354560; -pub const XCHAL_DTLB_SET0_E6_PPN_CONST: u32 = 3221225472; -pub const XCHAL_DTLB_SET0_E7_PPN_CONST: u32 = 3758096384; -pub const XCHAL_DTLB_SET0_E0_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_SET0_E1_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_SET0_E2_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_SET0_E3_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_SET0_E4_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_SET0_E5_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_SET0_E6_CA_RESET: u32 = 2; -pub const XCHAL_DTLB_SET0_E7_CA_RESET: u32 = 2; pub const XCHAL_CP_NUM: u32 = 1; pub const XCHAL_CP_MAX: u32 = 1; pub const XCHAL_CP_MASK: u32 = 1; @@ -2086,246 +1423,6 @@ pub const XCHAL_CP4_SA_NUM: u32 = 0; pub const XCHAL_CP5_SA_NUM: u32 = 0; pub const XCHAL_CP6_SA_NUM: u32 = 0; pub const XCHAL_CP7_SA_NUM: u32 = 0; -pub const XCHAL_HAVE_LE: u32 = 1; -pub const XCHAL_MEMORY_ORDER: u32 = 0; -pub const XCHAL_HAVE_HIGHLEVEL_INTERRUPTS: u32 = 1; -pub const XCHAL_NUM_LOWPRI_LEVELS: u32 = 1; -pub const XCHAL_FIRST_HIGHPRI_LEVEL: u32 = 2; -pub const XCHAL_INTLEVEL0_MASK: u32 = 0; -pub const XCHAL_INTLEVEL8_MASK: u32 = 0; -pub const XCHAL_INTLEVEL9_MASK: u32 = 0; -pub const XCHAL_INTLEVEL10_MASK: u32 = 0; -pub const XCHAL_INTLEVEL11_MASK: u32 = 0; -pub const XCHAL_INTLEVEL12_MASK: u32 = 0; -pub const XCHAL_INTLEVEL13_MASK: u32 = 0; -pub const XCHAL_INTLEVEL14_MASK: u32 = 0; -pub const XCHAL_INTLEVEL15_MASK: u32 = 0; -pub const XCHAL_INTLEVEL0_ANDBELOW_MASK: u32 = 0; -pub const XCHAL_INTLEVEL8_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_INTLEVEL9_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_INTLEVEL10_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_INTLEVEL11_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_INTLEVEL12_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_INTLEVEL13_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_INTLEVEL14_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_INTLEVEL15_ANDBELOW_MASK: u32 = 4294967295; -pub const XCHAL_LOWPRI_MASK: u32 = 407551; -pub const XCHAL_INTCLEARABLE_MASK: u32 = 1883243648; -pub const XCHAL_INTSETTABLE_MASK: u32 = 536871040; -pub const XCHAL_EXTINT0_MASK: u32 = 1; -pub const XCHAL_EXTINT1_MASK: u32 = 2; -pub const XCHAL_EXTINT2_MASK: u32 = 4; -pub const XCHAL_EXTINT3_MASK: u32 = 8; -pub const XCHAL_EXTINT4_MASK: u32 = 16; -pub const XCHAL_EXTINT5_MASK: u32 = 32; -pub const XCHAL_EXTINT6_MASK: u32 = 256; -pub const XCHAL_EXTINT7_MASK: u32 = 512; -pub const XCHAL_EXTINT8_MASK: u32 = 1024; -pub const XCHAL_EXTINT9_MASK: u32 = 4096; -pub const XCHAL_EXTINT10_MASK: u32 = 8192; -pub const XCHAL_EXTINT11_MASK: u32 = 16384; -pub const XCHAL_EXTINT12_MASK: u32 = 131072; -pub const XCHAL_EXTINT13_MASK: u32 = 262144; -pub const XCHAL_EXTINT14_MASK: u32 = 524288; -pub const XCHAL_EXTINT15_MASK: u32 = 1048576; -pub const XCHAL_EXTINT16_MASK: u32 = 2097152; -pub const XCHAL_EXTINT17_MASK: u32 = 4194304; -pub const XCHAL_EXTINT18_MASK: u32 = 8388608; -pub const XCHAL_EXTINT19_MASK: u32 = 16777216; -pub const XCHAL_EXTINT20_MASK: u32 = 33554432; -pub const XCHAL_EXTINT21_MASK: u32 = 67108864; -pub const XCHAL_EXTINT22_MASK: u32 = 134217728; -pub const XCHAL_EXTINT23_MASK: u32 = 268435456; -pub const XCHAL_EXTINT24_MASK: u32 = 1073741824; -pub const XCHAL_EXTINT25_MASK: u32 = 2147483648; -pub const XCHAL_HAVE_OLD_EXC_ARCH: u32 = 0; -pub const XCHAL_HAVE_EXCM: u32 = 1; -pub const XCHAL_PROGRAMEXC_VECTOR_VADDR: u32 = 1073742656; -pub const XCHAL_USEREXC_VECTOR_VADDR: u32 = 1073742656; -pub const XCHAL_PROGRAMEXC_VECTOR_PADDR: u32 = 1073742656; -pub const XCHAL_USEREXC_VECTOR_PADDR: u32 = 1073742656; -pub const XCHAL_STACKEDEXC_VECTOR_VADDR: u32 = 1073742592; -pub const XCHAL_KERNELEXC_VECTOR_VADDR: u32 = 1073742592; -pub const XCHAL_STACKEDEXC_VECTOR_PADDR: u32 = 1073742592; -pub const XCHAL_KERNELEXC_VECTOR_PADDR: u32 = 1073742592; -pub const XCHAL_EXCCAUSE_ILLEGAL_INSTRUCTION: u32 = 0; -pub const XCHAL_EXCCAUSE_SYSTEM_CALL: u32 = 1; -pub const XCHAL_EXCCAUSE_INSTRUCTION_FETCH_ERROR: u32 = 2; -pub const XCHAL_EXCCAUSE_LOAD_STORE_ERROR: u32 = 3; -pub const XCHAL_EXCCAUSE_LEVEL1_INTERRUPT: u32 = 4; -pub const XCHAL_EXCCAUSE_ALLOCA: u32 = 5; -pub const XCHAL_EXCCAUSE_INTEGER_DIVIDE_BY_ZERO: u32 = 6; -pub const XCHAL_EXCCAUSE_SPECULATION: u32 = 7; -pub const XCHAL_EXCCAUSE_PRIVILEGED: u32 = 8; -pub const XCHAL_EXCCAUSE_UNALIGNED: u32 = 9; -pub const XCHAL_EXCCAUSE_ITLB_MISS: u32 = 16; -pub const XCHAL_EXCCAUSE_ITLB_MULTIHIT: u32 = 17; -pub const XCHAL_EXCCAUSE_ITLB_PRIVILEGE: u32 = 18; -pub const XCHAL_EXCCAUSE_ITLB_SIZE_RESTRICTION: u32 = 19; -pub const XCHAL_EXCCAUSE_FETCH_CACHE_ATTRIBUTE: u32 = 20; -pub const XCHAL_EXCCAUSE_DTLB_MISS: u32 = 24; -pub const XCHAL_EXCCAUSE_DTLB_MULTIHIT: u32 = 25; -pub const XCHAL_EXCCAUSE_DTLB_PRIVILEGE: u32 = 26; -pub const XCHAL_EXCCAUSE_DTLB_SIZE_RESTRICTION: u32 = 27; -pub const XCHAL_EXCCAUSE_LOAD_CACHE_ATTRIBUTE: u32 = 28; -pub const XCHAL_EXCCAUSE_STORE_CACHE_ATTRIBUTE: u32 = 29; -pub const XCHAL_EXCCAUSE_COPROCESSOR0_DISABLED: u32 = 32; -pub const XCHAL_EXCCAUSE_COPROCESSOR1_DISABLED: u32 = 33; -pub const XCHAL_EXCCAUSE_COPROCESSOR2_DISABLED: u32 = 34; -pub const XCHAL_EXCCAUSE_COPROCESSOR3_DISABLED: u32 = 35; -pub const XCHAL_EXCCAUSE_COPROCESSOR4_DISABLED: u32 = 36; -pub const XCHAL_EXCCAUSE_COPROCESSOR5_DISABLED: u32 = 37; -pub const XCHAL_EXCCAUSE_COPROCESSOR6_DISABLED: u32 = 38; -pub const XCHAL_EXCCAUSE_COPROCESSOR7_DISABLED: u32 = 39; -pub const XCHAL_DBREAKC_VALIDMASK: u32 = 3221225535; -pub const XCHAL_DBREAKC_MASK_BITS: u32 = 6; -pub const XCHAL_DBREAKC_MASK_NUM: u32 = 64; -pub const XCHAL_DBREAKC_MASK_SHIFT: u32 = 0; -pub const XCHAL_DBREAKC_MASK_MASK: u32 = 63; -pub const XCHAL_DBREAKC_LOADBREAK_BITS: u32 = 1; -pub const XCHAL_DBREAKC_LOADBREAK_NUM: u32 = 2; -pub const XCHAL_DBREAKC_LOADBREAK_SHIFT: u32 = 30; -pub const XCHAL_DBREAKC_LOADBREAK_MASK: u32 = 1073741824; -pub const XCHAL_DBREAKC_STOREBREAK_BITS: u32 = 1; -pub const XCHAL_DBREAKC_STOREBREAK_NUM: u32 = 2; -pub const XCHAL_DBREAKC_STOREBREAK_SHIFT: u32 = 31; -pub const XCHAL_DBREAKC_STOREBREAK_MASK: u32 = 2147483648; -pub const XCHAL_PS_VALIDMASK: u32 = 462655; -pub const XCHAL_PS_INTLEVEL_BITS: u32 = 4; -pub const XCHAL_PS_INTLEVEL_NUM: u32 = 16; -pub const XCHAL_PS_INTLEVEL_SHIFT: u32 = 0; -pub const XCHAL_PS_INTLEVEL_MASK: u32 = 15; -pub const XCHAL_PS_EXCM_BITS: u32 = 1; -pub const XCHAL_PS_EXCM_NUM: u32 = 2; -pub const XCHAL_PS_EXCM_SHIFT: u32 = 4; -pub const XCHAL_PS_EXCM_MASK: u32 = 16; -pub const XCHAL_PS_UM_BITS: u32 = 1; -pub const XCHAL_PS_UM_NUM: u32 = 2; -pub const XCHAL_PS_UM_SHIFT: u32 = 5; -pub const XCHAL_PS_UM_MASK: u32 = 32; -pub const XCHAL_PS_RING_BITS: u32 = 2; -pub const XCHAL_PS_RING_NUM: u32 = 4; -pub const XCHAL_PS_RING_SHIFT: u32 = 6; -pub const XCHAL_PS_RING_MASK: u32 = 192; -pub const XCHAL_PS_OWB_BITS: u32 = 4; -pub const XCHAL_PS_OWB_NUM: u32 = 16; -pub const XCHAL_PS_OWB_SHIFT: u32 = 8; -pub const XCHAL_PS_OWB_MASK: u32 = 3840; -pub const XCHAL_PS_CALLINC_BITS: u32 = 2; -pub const XCHAL_PS_CALLINC_NUM: u32 = 4; -pub const XCHAL_PS_CALLINC_SHIFT: u32 = 16; -pub const XCHAL_PS_CALLINC_MASK: u32 = 196608; -pub const XCHAL_PS_WOE_BITS: u32 = 1; -pub const XCHAL_PS_WOE_NUM: u32 = 2; -pub const XCHAL_PS_WOE_SHIFT: u32 = 18; -pub const XCHAL_PS_WOE_MASK: u32 = 262144; -pub const XCHAL_EXCCAUSE_VALIDMASK: u32 = 63; -pub const XCHAL_EXCCAUSE_BITS: u32 = 6; -pub const XCHAL_EXCCAUSE_NUM: u32 = 64; -pub const XCHAL_EXCCAUSE_SHIFT: u32 = 0; -pub const XCHAL_EXCCAUSE_MASK: u32 = 63; -pub const XCHAL_DEBUGCAUSE_VALIDMASK: u32 = 63; -pub const XCHAL_DEBUGCAUSE_ICOUNT_BITS: u32 = 1; -pub const XCHAL_DEBUGCAUSE_ICOUNT_NUM: u32 = 2; -pub const XCHAL_DEBUGCAUSE_ICOUNT_SHIFT: u32 = 0; -pub const XCHAL_DEBUGCAUSE_ICOUNT_MASK: u32 = 1; -pub const XCHAL_DEBUGCAUSE_IBREAK_BITS: u32 = 1; -pub const XCHAL_DEBUGCAUSE_IBREAK_NUM: u32 = 2; -pub const XCHAL_DEBUGCAUSE_IBREAK_SHIFT: u32 = 1; -pub const XCHAL_DEBUGCAUSE_IBREAK_MASK: u32 = 2; -pub const XCHAL_DEBUGCAUSE_DBREAK_BITS: u32 = 1; -pub const XCHAL_DEBUGCAUSE_DBREAK_NUM: u32 = 2; -pub const XCHAL_DEBUGCAUSE_DBREAK_SHIFT: u32 = 2; -pub const XCHAL_DEBUGCAUSE_DBREAK_MASK: u32 = 4; -pub const XCHAL_DEBUGCAUSE_BREAK_BITS: u32 = 1; -pub const XCHAL_DEBUGCAUSE_BREAK_NUM: u32 = 2; -pub const XCHAL_DEBUGCAUSE_BREAK_SHIFT: u32 = 3; -pub const XCHAL_DEBUGCAUSE_BREAK_MASK: u32 = 8; -pub const XCHAL_DEBUGCAUSE_BREAKN_BITS: u32 = 1; -pub const XCHAL_DEBUGCAUSE_BREAKN_NUM: u32 = 2; -pub const XCHAL_DEBUGCAUSE_BREAKN_SHIFT: u32 = 4; -pub const XCHAL_DEBUGCAUSE_BREAKN_MASK: u32 = 16; -pub const XCHAL_DEBUGCAUSE_DEBUGINT_BITS: u32 = 1; -pub const XCHAL_DEBUGCAUSE_DEBUGINT_NUM: u32 = 2; -pub const XCHAL_DEBUGCAUSE_DEBUGINT_SHIFT: u32 = 5; -pub const XCHAL_DEBUGCAUSE_DEBUGINT_MASK: u32 = 32; -pub const XCHAL_NUM_IROM: u32 = 1; -pub const XCHAL_NUM_IRAM: u32 = 2; -pub const XCHAL_NUM_DROM: u32 = 1; -pub const XCHAL_NUM_DRAM: u32 = 2; -pub const XCHAL_IROM0_VADDR: u32 = 1082130432; -pub const XCHAL_IROM0_PADDR: u32 = 1082130432; -pub const XCHAL_IROM0_SIZE: u32 = 4194304; -pub const XCHAL_IRAM0_VADDR: u32 = 1073741824; -pub const XCHAL_IRAM0_PADDR: u32 = 1073741824; -pub const XCHAL_IRAM0_SIZE: u32 = 4194304; -pub const XCHAL_IRAM1_VADDR: u32 = 1077936128; -pub const XCHAL_IRAM1_PADDR: u32 = 1077936128; -pub const XCHAL_IRAM1_SIZE: u32 = 4194304; -pub const XCHAL_DROM0_VADDR: u32 = 1061158912; -pub const XCHAL_DROM0_PADDR: u32 = 1061158912; -pub const XCHAL_DROM0_SIZE: u32 = 4194304; -pub const XCHAL_DRAM0_VADDR: u32 = 1073217536; -pub const XCHAL_DRAM0_PADDR: u32 = 1073217536; -pub const XCHAL_DRAM0_SIZE: u32 = 524288; -pub const XCHAL_DRAM1_VADDR: u32 = 1065353216; -pub const XCHAL_DRAM1_PADDR: u32 = 1065353216; -pub const XCHAL_DRAM1_SIZE: u32 = 4194304; -pub const XCHAL_CACHE_PREFCTL_DEFAULT: u32 = 4164; -pub const XCHAL_CACHE_LINEWIDTH_MAX: u32 = 2; -pub const XCHAL_CACHE_LINESIZE_MAX: u32 = 4; -pub const XCHAL_ICACHE_SETSIZE: u32 = 1; -pub const XCHAL_DCACHE_SETSIZE: u32 = 1; -pub const XCHAL_CACHE_SETWIDTH_MAX: u32 = 0; -pub const XCHAL_CACHE_SETSIZE_MAX: u32 = 1; -pub const XCHAL_ICACHE_TAG_V_SHIFT: u32 = 0; -pub const XCHAL_ICACHE_TAG_V: u32 = 1; -pub const XCHAL_ICACHE_TAG_F_SHIFT: u32 = 0; -pub const XCHAL_ICACHE_TAG_F: u32 = 0; -pub const XCHAL_ICACHE_TAG_L_SHIFT: u32 = 0; -pub const XCHAL_ICACHE_TAG_L: u32 = 0; -pub const XCHAL_DCACHE_TAG_V_SHIFT: u32 = 0; -pub const XCHAL_DCACHE_TAG_V: u32 = 1; -pub const XCHAL_DCACHE_TAG_F_SHIFT: u32 = 0; -pub const XCHAL_DCACHE_TAG_F: u32 = 0; -pub const XCHAL_DCACHE_TAG_D_SHIFT: u32 = 0; -pub const XCHAL_DCACHE_TAG_D: u32 = 0; -pub const XCHAL_DCACHE_TAG_L_SHIFT: u32 = 0; -pub const XCHAL_DCACHE_TAG_L: u32 = 0; -pub const XCHAL_CACHE_MEMCTL_DEFAULT: u32 = 0; -pub const _MEMCTL_SNOOP_EN: u32 = 0; -pub const _MEMCTL_L0IBUF_EN: u32 = 1; -pub const XCHAL_SNOOP_LB_MEMCTL_DEFAULT: u32 = 1; -pub const XCHAL_ALIGN_MAX: u32 = 4; -pub const XCHAL_HW_RELEASE_MAJOR: u32 = 2600; -pub const XCHAL_HW_RELEASE_MINOR: u32 = 3; -pub const XCHAL_HW_RELEASE_NAME: &'static [u8; 8usize] = b"LX6.0.3\0"; -pub const XCHAL_EXTRA_SA_SIZE: u32 = 48; -pub const XCHAL_EXTRA_SA_ALIGN: u32 = 4; -pub const XCHAL_CPEXTRA_SA_SIZE: u32 = 128; -pub const XCHAL_CPEXTRA_SA_ALIGN: u32 = 4; -pub const XCHAL_CP1_NAME: u32 = 0; -pub const XCHAL_CP1_SA_CONTENTS_LIBDB_NUM: u32 = 0; -pub const XCHAL_CP2_NAME: u32 = 0; -pub const XCHAL_CP2_SA_CONTENTS_LIBDB_NUM: u32 = 0; -pub const XCHAL_CP3_NAME: u32 = 0; -pub const XCHAL_CP3_SA_CONTENTS_LIBDB_NUM: u32 = 0; -pub const XCHAL_CP4_NAME: u32 = 0; -pub const XCHAL_CP4_SA_CONTENTS_LIBDB_NUM: u32 = 0; -pub const XCHAL_CP5_NAME: u32 = 0; -pub const XCHAL_CP5_SA_CONTENTS_LIBDB_NUM: u32 = 0; -pub const XCHAL_CP6_NAME: u32 = 0; -pub const XCHAL_CP6_SA_CONTENTS_LIBDB_NUM: u32 = 0; -pub const XCHAL_CP7_NAME: u32 = 0; -pub const XCHAL_CP7_SA_CONTENTS_LIBDB_NUM: u32 = 0; -pub const XCHAL_CPEXTRA_SA_SIZE_TOR2: u32 = 128; -pub const XCHAL_INST_ILLN: u32 = 61549; -pub const XCHAL_INST_ILLN_BYTE0: u32 = 109; -pub const XCHAL_INST_ILLN_BYTE1: u32 = 240; -pub const XTHAL_INST_ILL: u32 = 0; -pub const XCHAL_ERRATUM_453: u32 = 0; -pub const XCHAL_ERRATUM_497: u32 = 0; -pub const XCHAL_ERRATUM_572: u32 = 1; pub const EXCCAUSE_EXCCAUSE_SHIFT: u32 = 0; pub const EXCCAUSE_EXCCAUSE_MASK: u32 = 63; pub const EXCCAUSE_ILLEGAL: u32 = 0; @@ -2440,2006 +1537,6 @@ pub const MEMCTL_DCWA_CLR_MASK: i32 = -253953; pub const MEMCTL_ICWU_CLR_MASK: i32 = -8126465; pub const MEMCTL_DCW_CLR_MASK: i32 = -1; pub const MEMCTL_IDCW_CLR_MASK: i32 = -1; -pub const LBEG: u32 = 0; -pub const LEND: u32 = 1; -pub const LCOUNT: u32 = 2; -pub const SAR: u32 = 3; -pub const BR: u32 = 4; -pub const SCOMPARE1: u32 = 12; -pub const ACCLO: u32 = 16; -pub const ACCHI: u32 = 17; -pub const MR_0: u32 = 32; -pub const MR_1: u32 = 33; -pub const MR_2: u32 = 34; -pub const MR_3: u32 = 35; -pub const WINDOWBASE: u32 = 72; -pub const WINDOWSTART: u32 = 73; -pub const IBREAKENABLE: u32 = 96; -pub const MEMCTL: u32 = 97; -pub const ATOMCTL: u32 = 99; -pub const DDR: u32 = 104; -pub const IBREAKA_0: u32 = 128; -pub const IBREAKA_1: u32 = 129; -pub const DBREAKA_0: u32 = 144; -pub const DBREAKA_1: u32 = 145; -pub const DBREAKC_0: u32 = 160; -pub const DBREAKC_1: u32 = 161; -pub const EPC_1: u32 = 177; -pub const EPC_2: u32 = 178; -pub const EPC_3: u32 = 179; -pub const EPC_4: u32 = 180; -pub const EPC_5: u32 = 181; -pub const EPC_6: u32 = 182; -pub const EPC_7: u32 = 183; -pub const DEPC: u32 = 192; -pub const EPS_2: u32 = 194; -pub const EPS_3: u32 = 195; -pub const EPS_4: u32 = 196; -pub const EPS_5: u32 = 197; -pub const EPS_6: u32 = 198; -pub const EPS_7: u32 = 199; -pub const EXCSAVE_1: u32 = 209; -pub const EXCSAVE_2: u32 = 210; -pub const EXCSAVE_3: u32 = 211; -pub const EXCSAVE_4: u32 = 212; -pub const EXCSAVE_5: u32 = 213; -pub const EXCSAVE_6: u32 = 214; -pub const EXCSAVE_7: u32 = 215; -pub const CPENABLE: u32 = 224; -pub const INTERRUPT: u32 = 226; -pub const INTENABLE: u32 = 228; -pub const PS: u32 = 230; -pub const VECBASE: u32 = 231; -pub const EXCCAUSE: u32 = 232; -pub const DEBUGCAUSE: u32 = 233; -pub const CCOUNT: u32 = 234; -pub const PRID: u32 = 235; -pub const ICOUNT: u32 = 236; -pub const ICOUNTLEVEL: u32 = 237; -pub const EXCVADDR: u32 = 238; -pub const CCOMPARE_0: u32 = 240; -pub const CCOMPARE_1: u32 = 241; -pub const CCOMPARE_2: u32 = 242; -pub const MISC_REG_0: u32 = 244; -pub const MISC_REG_1: u32 = 245; -pub const MISC_REG_2: u32 = 246; -pub const MISC_REG_3: u32 = 247; -pub const MR: u32 = 32; -pub const IBREAKA: u32 = 128; -pub const DBREAKA: u32 = 144; -pub const DBREAKC: u32 = 160; -pub const EPC: u32 = 176; -pub const EPS: u32 = 192; -pub const EXCSAVE: u32 = 208; -pub const CCOMPARE: u32 = 240; -pub const INTREAD: u32 = 226; -pub const INTSET: u32 = 226; -pub const INTCLEAR: u32 = 227; -pub const CALL0_ABI: u32 = 0; -pub const ALIGNPAD: u32 = 2; -pub const KERNELSTACKSIZE: u32 = 1024; -pub const CORE_STATE_SIGNATURE: u32 = 2982522861; -pub const XTOS_KEEPON_MEM: u32 = 256; -pub const XTOS_KEEPON_MEM_SHIFT: u32 = 8; -pub const XTOS_KEEPON_DEBUG: u32 = 4096; -pub const XTOS_KEEPON_DEBUG_SHIFT: u32 = 12; -pub const XTOS_COREF_PSO: u32 = 1; -pub const XTOS_COREF_PSO_SHIFT: u32 = 0; -pub const DPORT_PRO_BOOT_REMAP_CTRL_REG: u32 = 1072693248; -pub const DPORT_PRO_BOOT_REMAP_V: u32 = 1; -pub const DPORT_PRO_BOOT_REMAP_S: u32 = 0; -pub const DPORT_APP_BOOT_REMAP_CTRL_REG: u32 = 1072693252; -pub const DPORT_APP_BOOT_REMAP_V: u32 = 1; -pub const DPORT_APP_BOOT_REMAP_S: u32 = 0; -pub const DPORT_ACCESS_CHECK_REG: u32 = 1072693256; -pub const DPORT_ACCESS_CHECK_APP_V: u32 = 1; -pub const DPORT_ACCESS_CHECK_APP_S: u32 = 8; -pub const DPORT_ACCESS_CHECK_PRO_V: u32 = 1; -pub const DPORT_ACCESS_CHECK_PRO_S: u32 = 0; -pub const DPORT_PRO_DPORT_APB_MASK0_REG: u32 = 1072693260; -pub const DPORT_PRODPORT_APB_MASK0: u32 = 4294967295; -pub const DPORT_PRODPORT_APB_MASK0_V: u32 = 4294967295; -pub const DPORT_PRODPORT_APB_MASK0_S: u32 = 0; -pub const DPORT_PRO_DPORT_APB_MASK1_REG: u32 = 1072693264; -pub const DPORT_PRODPORT_APB_MASK1: u32 = 4294967295; -pub const DPORT_PRODPORT_APB_MASK1_V: u32 = 4294967295; -pub const DPORT_PRODPORT_APB_MASK1_S: u32 = 0; -pub const DPORT_APP_DPORT_APB_MASK0_REG: u32 = 1072693268; -pub const DPORT_APPDPORT_APB_MASK0: u32 = 4294967295; -pub const DPORT_APPDPORT_APB_MASK0_V: u32 = 4294967295; -pub const DPORT_APPDPORT_APB_MASK0_S: u32 = 0; -pub const DPORT_APP_DPORT_APB_MASK1_REG: u32 = 1072693272; -pub const DPORT_APPDPORT_APB_MASK1: u32 = 4294967295; -pub const DPORT_APPDPORT_APB_MASK1_V: u32 = 4294967295; -pub const DPORT_APPDPORT_APB_MASK1_S: u32 = 0; -pub const DPORT_PERI_CLK_EN_REG: u32 = 1072693276; -pub const DPORT_PERI_CLK_EN: u32 = 4294967295; -pub const DPORT_PERI_CLK_EN_V: u32 = 4294967295; -pub const DPORT_PERI_CLK_EN_S: u32 = 0; -pub const DPORT_PERI_RST_EN_REG: u32 = 1072693280; -pub const DPORT_PERI_RST_EN: u32 = 4294967295; -pub const DPORT_PERI_RST_EN_V: u32 = 4294967295; -pub const DPORT_PERI_RST_EN_S: u32 = 0; -pub const DPORT_PERI_EN_AES: u32 = 1; -pub const DPORT_PERI_EN_SHA: u32 = 2; -pub const DPORT_PERI_EN_RSA: u32 = 4; -pub const DPORT_PERI_EN_SECUREBOOT: u32 = 8; -pub const DPORT_PERI_EN_DIGITAL_SIGNATURE: u32 = 16; -pub const DPORT_WIFI_BB_CFG_REG: u32 = 1072693284; -pub const DPORT_WIFI_BB_CFG: u32 = 4294967295; -pub const DPORT_WIFI_BB_CFG_V: u32 = 4294967295; -pub const DPORT_WIFI_BB_CFG_S: u32 = 0; -pub const DPORT_WIFI_BB_CFG_2_REG: u32 = 1072693288; -pub const DPORT_WIFI_BB_CFG_2: u32 = 4294967295; -pub const DPORT_WIFI_BB_CFG_2_V: u32 = 4294967295; -pub const DPORT_WIFI_BB_CFG_2_S: u32 = 0; -pub const DPORT_APPCPU_CTRL_A_REG: u32 = 1072693292; -pub const DPORT_APPCPU_RESETTING_V: u32 = 1; -pub const DPORT_APPCPU_RESETTING_S: u32 = 0; -pub const DPORT_APPCPU_CTRL_B_REG: u32 = 1072693296; -pub const DPORT_APPCPU_CLKGATE_EN_V: u32 = 1; -pub const DPORT_APPCPU_CLKGATE_EN_S: u32 = 0; -pub const DPORT_APPCPU_CTRL_C_REG: u32 = 1072693300; -pub const DPORT_APPCPU_RUNSTALL_V: u32 = 1; -pub const DPORT_APPCPU_RUNSTALL_S: u32 = 0; -pub const DPORT_APPCPU_CTRL_D_REG: u32 = 1072693304; -pub const DPORT_APPCPU_BOOT_ADDR: u32 = 4294967295; -pub const DPORT_APPCPU_BOOT_ADDR_V: u32 = 4294967295; -pub const DPORT_APPCPU_BOOT_ADDR_S: u32 = 0; -pub const DPORT_CPU_PER_CONF_REG: u32 = 1072693308; -pub const DPORT_FAST_CLK_RTC_SEL_V: u32 = 1; -pub const DPORT_FAST_CLK_RTC_SEL_S: u32 = 3; -pub const DPORT_LOWSPEED_CLK_SEL_V: u32 = 1; -pub const DPORT_LOWSPEED_CLK_SEL_S: u32 = 2; -pub const DPORT_CPUPERIOD_SEL: u32 = 3; -pub const DPORT_CPUPERIOD_SEL_V: u32 = 3; -pub const DPORT_CPUPERIOD_SEL_S: u32 = 0; -pub const DPORT_PRO_CACHE_CTRL_REG: u32 = 1072693312; -pub const DPORT_PRO_DRAM_HL_V: u32 = 1; -pub const DPORT_PRO_DRAM_HL_S: u32 = 16; -pub const DPORT_SLAVE_REQ_V: u32 = 1; -pub const DPORT_SLAVE_REQ_S: u32 = 15; -pub const DPORT_AHB_SPI_REQ_V: u32 = 1; -pub const DPORT_AHB_SPI_REQ_S: u32 = 14; -pub const DPORT_PRO_SLAVE_REQ_V: u32 = 1; -pub const DPORT_PRO_SLAVE_REQ_S: u32 = 13; -pub const DPORT_PRO_AHB_SPI_REQ_V: u32 = 1; -pub const DPORT_PRO_AHB_SPI_REQ_S: u32 = 12; -pub const DPORT_PRO_DRAM_SPLIT_V: u32 = 1; -pub const DPORT_PRO_DRAM_SPLIT_S: u32 = 11; -pub const DPORT_PRO_SINGLE_IRAM_ENA_V: u32 = 1; -pub const DPORT_PRO_SINGLE_IRAM_ENA_S: u32 = 10; -pub const DPORT_PRO_CACHE_LOCK_3_EN_V: u32 = 1; -pub const DPORT_PRO_CACHE_LOCK_3_EN_S: u32 = 9; -pub const DPORT_PRO_CACHE_LOCK_2_EN_V: u32 = 1; -pub const DPORT_PRO_CACHE_LOCK_2_EN_S: u32 = 8; -pub const DPORT_PRO_CACHE_LOCK_1_EN_V: u32 = 1; -pub const DPORT_PRO_CACHE_LOCK_1_EN_S: u32 = 7; -pub const DPORT_PRO_CACHE_LOCK_0_EN_V: u32 = 1; -pub const DPORT_PRO_CACHE_LOCK_0_EN_S: u32 = 6; -pub const DPORT_PRO_CACHE_FLUSH_DONE_V: u32 = 1; -pub const DPORT_PRO_CACHE_FLUSH_DONE_S: u32 = 5; -pub const DPORT_PRO_CACHE_FLUSH_ENA_V: u32 = 1; -pub const DPORT_PRO_CACHE_FLUSH_ENA_S: u32 = 4; -pub const DPORT_PRO_CACHE_ENABLE_V: u32 = 1; -pub const DPORT_PRO_CACHE_ENABLE_S: u32 = 3; -pub const DPORT_PRO_CACHE_MODE_V: u32 = 1; -pub const DPORT_PRO_CACHE_MODE_S: u32 = 2; -pub const DPORT_PRO_CACHE_CTRL1_REG: u32 = 1072693316; -pub const DPORT_PRO_CACHE_MMU_IA_CLR_V: u32 = 1; -pub const DPORT_PRO_CACHE_MMU_IA_CLR_S: u32 = 13; -pub const DPORT_PRO_CMMU_PD_V: u32 = 1; -pub const DPORT_PRO_CMMU_PD_S: u32 = 12; -pub const DPORT_PRO_CMMU_FORCE_ON_V: u32 = 1; -pub const DPORT_PRO_CMMU_FORCE_ON_S: u32 = 11; -pub const DPORT_PRO_CMMU_FLASH_PAGE_MODE: u32 = 3; -pub const DPORT_PRO_CMMU_FLASH_PAGE_MODE_V: u32 = 3; -pub const DPORT_PRO_CMMU_FLASH_PAGE_MODE_S: u32 = 9; -pub const DPORT_PRO_CMMU_SRAM_PAGE_MODE: u32 = 7; -pub const DPORT_PRO_CMMU_SRAM_PAGE_MODE_V: u32 = 7; -pub const DPORT_PRO_CMMU_SRAM_PAGE_MODE_S: u32 = 6; -pub const DPORT_PRO_CACHE_MASK_OPSDRAM_V: u32 = 1; -pub const DPORT_PRO_CACHE_MASK_OPSDRAM_S: u32 = 5; -pub const DPORT_PRO_CACHE_MASK_DROM0_V: u32 = 1; -pub const DPORT_PRO_CACHE_MASK_DROM0_S: u32 = 4; -pub const DPORT_PRO_CACHE_MASK_DRAM1_V: u32 = 1; -pub const DPORT_PRO_CACHE_MASK_DRAM1_S: u32 = 3; -pub const DPORT_PRO_CACHE_MASK_IROM0_V: u32 = 1; -pub const DPORT_PRO_CACHE_MASK_IROM0_S: u32 = 2; -pub const DPORT_PRO_CACHE_MASK_IRAM1_V: u32 = 1; -pub const DPORT_PRO_CACHE_MASK_IRAM1_S: u32 = 1; -pub const DPORT_PRO_CACHE_MASK_IRAM0_V: u32 = 1; -pub const DPORT_PRO_CACHE_MASK_IRAM0_S: u32 = 0; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_REG: u32 = 1072693320; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_MAX: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_MAX_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_MAX_S: u32 = 18; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_MIN: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_MIN_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_MIN_S: u32 = 14; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_PRE: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_PRE_V: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_0_ADDR_PRE_S: u32 = 0; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_REG: u32 = 1072693324; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_MAX: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_MAX_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_MAX_S: u32 = 18; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_MIN: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_MIN_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_MIN_S: u32 = 14; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_PRE: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_PRE_V: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_1_ADDR_PRE_S: u32 = 0; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_REG: u32 = 1072693328; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_MAX: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_MAX_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_MAX_S: u32 = 18; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_MIN: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_MIN_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_MIN_S: u32 = 14; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_PRE: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_PRE_V: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_2_ADDR_PRE_S: u32 = 0; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_REG: u32 = 1072693332; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_MAX: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_MAX_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_MAX_S: u32 = 18; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_MIN: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_MIN_V: u32 = 15; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_MIN_S: u32 = 14; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_PRE: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_PRE_V: u32 = 16383; -pub const DPORT_PRO_CACHE_LOCK_3_ADDR_PRE_S: u32 = 0; -pub const DPORT_APP_CACHE_CTRL_REG: u32 = 1072693336; -pub const DPORT_APP_DRAM_HL_V: u32 = 1; -pub const DPORT_APP_DRAM_HL_S: u32 = 14; -pub const DPORT_APP_SLAVE_REQ_V: u32 = 1; -pub const DPORT_APP_SLAVE_REQ_S: u32 = 13; -pub const DPORT_APP_AHB_SPI_REQ_V: u32 = 1; -pub const DPORT_APP_AHB_SPI_REQ_S: u32 = 12; -pub const DPORT_APP_DRAM_SPLIT_V: u32 = 1; -pub const DPORT_APP_DRAM_SPLIT_S: u32 = 11; -pub const DPORT_APP_SINGLE_IRAM_ENA_V: u32 = 1; -pub const DPORT_APP_SINGLE_IRAM_ENA_S: u32 = 10; -pub const DPORT_APP_CACHE_LOCK_3_EN_V: u32 = 1; -pub const DPORT_APP_CACHE_LOCK_3_EN_S: u32 = 9; -pub const DPORT_APP_CACHE_LOCK_2_EN_V: u32 = 1; -pub const DPORT_APP_CACHE_LOCK_2_EN_S: u32 = 8; -pub const DPORT_APP_CACHE_LOCK_1_EN_V: u32 = 1; -pub const DPORT_APP_CACHE_LOCK_1_EN_S: u32 = 7; -pub const DPORT_APP_CACHE_LOCK_0_EN_V: u32 = 1; -pub const DPORT_APP_CACHE_LOCK_0_EN_S: u32 = 6; -pub const DPORT_APP_CACHE_FLUSH_DONE_V: u32 = 1; -pub const DPORT_APP_CACHE_FLUSH_DONE_S: u32 = 5; -pub const DPORT_APP_CACHE_FLUSH_ENA_V: u32 = 1; -pub const DPORT_APP_CACHE_FLUSH_ENA_S: u32 = 4; -pub const DPORT_APP_CACHE_ENABLE_V: u32 = 1; -pub const DPORT_APP_CACHE_ENABLE_S: u32 = 3; -pub const DPORT_APP_CACHE_MODE_V: u32 = 1; -pub const DPORT_APP_CACHE_MODE_S: u32 = 2; -pub const DPORT_APP_CACHE_CTRL1_REG: u32 = 1072693340; -pub const DPORT_APP_CACHE_MMU_IA_CLR_V: u32 = 1; -pub const DPORT_APP_CACHE_MMU_IA_CLR_S: u32 = 13; -pub const DPORT_APP_CMMU_PD_V: u32 = 1; -pub const DPORT_APP_CMMU_PD_S: u32 = 12; -pub const DPORT_APP_CMMU_FORCE_ON_V: u32 = 1; -pub const DPORT_APP_CMMU_FORCE_ON_S: u32 = 11; -pub const DPORT_APP_CMMU_FLASH_PAGE_MODE: u32 = 3; -pub const DPORT_APP_CMMU_FLASH_PAGE_MODE_V: u32 = 3; -pub const DPORT_APP_CMMU_FLASH_PAGE_MODE_S: u32 = 9; -pub const DPORT_APP_CMMU_SRAM_PAGE_MODE: u32 = 7; -pub const DPORT_APP_CMMU_SRAM_PAGE_MODE_V: u32 = 7; -pub const DPORT_APP_CMMU_SRAM_PAGE_MODE_S: u32 = 6; -pub const DPORT_APP_CACHE_MASK_OPSDRAM_V: u32 = 1; -pub const DPORT_APP_CACHE_MASK_OPSDRAM_S: u32 = 5; -pub const DPORT_APP_CACHE_MASK_DROM0_V: u32 = 1; -pub const DPORT_APP_CACHE_MASK_DROM0_S: u32 = 4; -pub const DPORT_APP_CACHE_MASK_DRAM1_V: u32 = 1; -pub const DPORT_APP_CACHE_MASK_DRAM1_S: u32 = 3; -pub const DPORT_APP_CACHE_MASK_IROM0_V: u32 = 1; -pub const DPORT_APP_CACHE_MASK_IROM0_S: u32 = 2; -pub const DPORT_APP_CACHE_MASK_IRAM1_V: u32 = 1; -pub const DPORT_APP_CACHE_MASK_IRAM1_S: u32 = 1; -pub const DPORT_APP_CACHE_MASK_IRAM0_V: u32 = 1; -pub const DPORT_APP_CACHE_MASK_IRAM0_S: u32 = 0; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_REG: u32 = 1072693344; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_MAX: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_MAX_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_MAX_S: u32 = 18; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_MIN: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_MIN_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_MIN_S: u32 = 14; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_PRE: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_PRE_V: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_0_ADDR_PRE_S: u32 = 0; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_REG: u32 = 1072693348; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_MAX: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_MAX_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_MAX_S: u32 = 18; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_MIN: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_MIN_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_MIN_S: u32 = 14; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_PRE: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_PRE_V: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_1_ADDR_PRE_S: u32 = 0; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_REG: u32 = 1072693352; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_MAX: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_MAX_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_MAX_S: u32 = 18; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_MIN: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_MIN_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_MIN_S: u32 = 14; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_PRE: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_PRE_V: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_2_ADDR_PRE_S: u32 = 0; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_REG: u32 = 1072693356; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_MAX: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_MAX_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_MAX_S: u32 = 18; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_MIN: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_MIN_V: u32 = 15; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_MIN_S: u32 = 14; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_PRE: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_PRE_V: u32 = 16383; -pub const DPORT_APP_CACHE_LOCK_3_ADDR_PRE_S: u32 = 0; -pub const DPORT_TRACEMEM_MUX_MODE_REG: u32 = 1072693360; -pub const DPORT_TRACEMEM_MUX_MODE: u32 = 3; -pub const DPORT_TRACEMEM_MUX_MODE_V: u32 = 3; -pub const DPORT_TRACEMEM_MUX_MODE_S: u32 = 0; -pub const DPORT_PRO_TRACEMEM_ENA_REG: u32 = 1072693364; -pub const DPORT_PRO_TRACEMEM_ENA_V: u32 = 1; -pub const DPORT_PRO_TRACEMEM_ENA_S: u32 = 0; -pub const DPORT_APP_TRACEMEM_ENA_REG: u32 = 1072693368; -pub const DPORT_APP_TRACEMEM_ENA_V: u32 = 1; -pub const DPORT_APP_TRACEMEM_ENA_S: u32 = 0; -pub const DPORT_CACHE_MUX_MODE_REG: u32 = 1072693372; -pub const DPORT_CACHE_MUX_MODE: u32 = 3; -pub const DPORT_CACHE_MUX_MODE_V: u32 = 3; -pub const DPORT_CACHE_MUX_MODE_S: u32 = 0; -pub const DPORT_IMMU_PAGE_MODE_REG: u32 = 1072693376; -pub const DPORT_IMMU_PAGE_MODE: u32 = 3; -pub const DPORT_IMMU_PAGE_MODE_V: u32 = 3; -pub const DPORT_IMMU_PAGE_MODE_S: u32 = 1; -pub const DPORT_INTERNAL_SRAM_IMMU_ENA_V: u32 = 1; -pub const DPORT_INTERNAL_SRAM_IMMU_ENA_S: u32 = 0; -pub const DPORT_DMMU_PAGE_MODE_REG: u32 = 1072693380; -pub const DPORT_DMMU_PAGE_MODE: u32 = 3; -pub const DPORT_DMMU_PAGE_MODE_V: u32 = 3; -pub const DPORT_DMMU_PAGE_MODE_S: u32 = 1; -pub const DPORT_INTERNAL_SRAM_DMMU_ENA_V: u32 = 1; -pub const DPORT_INTERNAL_SRAM_DMMU_ENA_S: u32 = 0; -pub const DPORT_ROM_MPU_ENA_REG: u32 = 1072693384; -pub const DPORT_APP_ROM_MPU_ENA_V: u32 = 1; -pub const DPORT_APP_ROM_MPU_ENA_S: u32 = 2; -pub const DPORT_PRO_ROM_MPU_ENA_V: u32 = 1; -pub const DPORT_PRO_ROM_MPU_ENA_S: u32 = 1; -pub const DPORT_SHARE_ROM_MPU_ENA_V: u32 = 1; -pub const DPORT_SHARE_ROM_MPU_ENA_S: u32 = 0; -pub const DPORT_MEM_PD_MASK_REG: u32 = 1072693388; -pub const DPORT_LSLP_MEM_PD_MASK_V: u32 = 1; -pub const DPORT_LSLP_MEM_PD_MASK_S: u32 = 0; -pub const DPORT_ROM_PD_CTRL_REG: u32 = 1072693392; -pub const DPORT_SHARE_ROM_PD: u32 = 63; -pub const DPORT_SHARE_ROM_PD_V: u32 = 63; -pub const DPORT_SHARE_ROM_PD_S: u32 = 2; -pub const DPORT_APP_ROM_PD_V: u32 = 1; -pub const DPORT_APP_ROM_PD_S: u32 = 1; -pub const DPORT_PRO_ROM_PD_V: u32 = 1; -pub const DPORT_PRO_ROM_PD_S: u32 = 0; -pub const DPORT_ROM_FO_CTRL_REG: u32 = 1072693396; -pub const DPORT_SHARE_ROM_FO: u32 = 63; -pub const DPORT_SHARE_ROM_FO_V: u32 = 63; -pub const DPORT_SHARE_ROM_FO_S: u32 = 2; -pub const DPORT_APP_ROM_FO_V: u32 = 1; -pub const DPORT_APP_ROM_FO_S: u32 = 1; -pub const DPORT_PRO_ROM_FO_V: u32 = 1; -pub const DPORT_PRO_ROM_FO_S: u32 = 0; -pub const DPORT_SRAM_PD_CTRL_0_REG: u32 = 1072693400; -pub const DPORT_SRAM_PD_0: u32 = 4294967295; -pub const DPORT_SRAM_PD_0_V: u32 = 4294967295; -pub const DPORT_SRAM_PD_0_S: u32 = 0; -pub const DPORT_SRAM_PD_CTRL_1_REG: u32 = 1072693404; -pub const DPORT_SRAM_PD_1_V: u32 = 1; -pub const DPORT_SRAM_PD_1_S: u32 = 0; -pub const DPORT_SRAM_FO_CTRL_0_REG: u32 = 1072693408; -pub const DPORT_SRAM_FO_0: u32 = 4294967295; -pub const DPORT_SRAM_FO_0_V: u32 = 4294967295; -pub const DPORT_SRAM_FO_0_S: u32 = 0; -pub const DPORT_SRAM_FO_CTRL_1_REG: u32 = 1072693412; -pub const DPORT_SRAM_FO_1_V: u32 = 1; -pub const DPORT_SRAM_FO_1_S: u32 = 0; -pub const DPORT_IRAM_DRAM_AHB_SEL_REG: u32 = 1072693416; -pub const DPORT_MAC_DUMP_MODE: u32 = 3; -pub const DPORT_MAC_DUMP_MODE_V: u32 = 3; -pub const DPORT_MAC_DUMP_MODE_S: u32 = 5; -pub const DPORT_MASK_AHB_V: u32 = 1; -pub const DPORT_MASK_AHB_S: u32 = 4; -pub const DPORT_MASK_APP_DRAM_V: u32 = 1; -pub const DPORT_MASK_APP_DRAM_S: u32 = 3; -pub const DPORT_MASK_PRO_DRAM_V: u32 = 1; -pub const DPORT_MASK_PRO_DRAM_S: u32 = 2; -pub const DPORT_MASK_APP_IRAM_V: u32 = 1; -pub const DPORT_MASK_APP_IRAM_S: u32 = 1; -pub const DPORT_MASK_PRO_IRAM_V: u32 = 1; -pub const DPORT_MASK_PRO_IRAM_S: u32 = 0; -pub const DPORT_TAG_FO_CTRL_REG: u32 = 1072693420; -pub const DPORT_APP_CACHE_TAG_PD_V: u32 = 1; -pub const DPORT_APP_CACHE_TAG_PD_S: u32 = 9; -pub const DPORT_APP_CACHE_TAG_FORCE_ON_V: u32 = 1; -pub const DPORT_APP_CACHE_TAG_FORCE_ON_S: u32 = 8; -pub const DPORT_PRO_CACHE_TAG_PD_V: u32 = 1; -pub const DPORT_PRO_CACHE_TAG_PD_S: u32 = 1; -pub const DPORT_PRO_CACHE_TAG_FORCE_ON_V: u32 = 1; -pub const DPORT_PRO_CACHE_TAG_FORCE_ON_S: u32 = 0; -pub const DPORT_AHB_LITE_MASK_REG: u32 = 1072693424; -pub const DPORT_AHB_LITE_SDHOST_PID_REG: u32 = 7; -pub const DPORT_AHB_LITE_SDHOST_PID_REG_V: u32 = 7; -pub const DPORT_AHB_LITE_SDHOST_PID_REG_S: u32 = 11; -pub const DPORT_AHB_LITE_MASK_APPDPORT_V: u32 = 1; -pub const DPORT_AHB_LITE_MASK_APPDPORT_S: u32 = 10; -pub const DPORT_AHB_LITE_MASK_PRODPORT_V: u32 = 1; -pub const DPORT_AHB_LITE_MASK_PRODPORT_S: u32 = 9; -pub const DPORT_AHB_LITE_MASK_SDIO_V: u32 = 1; -pub const DPORT_AHB_LITE_MASK_SDIO_S: u32 = 8; -pub const DPORT_AHB_LITE_MASK_APP_V: u32 = 1; -pub const DPORT_AHB_LITE_MASK_APP_S: u32 = 4; -pub const DPORT_AHB_LITE_MASK_PRO_V: u32 = 1; -pub const DPORT_AHB_LITE_MASK_PRO_S: u32 = 0; -pub const DPORT_AHB_MPU_TABLE_0_REG: u32 = 1072693428; -pub const DPORT_AHB_ACCESS_GRANT_0: u32 = 4294967295; -pub const DPORT_AHB_ACCESS_GRANT_0_V: u32 = 4294967295; -pub const DPORT_AHB_ACCESS_GRANT_0_S: u32 = 0; -pub const DPORT_AHB_MPU_TABLE_1_REG: u32 = 1072693432; -pub const DPORT_AHB_ACCESS_GRANT_1: u32 = 511; -pub const DPORT_AHB_ACCESS_GRANT_1_V: u32 = 511; -pub const DPORT_AHB_ACCESS_GRANT_1_S: u32 = 0; -pub const DPORT_HOST_INF_SEL_REG: u32 = 1072693436; -pub const DPORT_LINK_DEVICE_SEL: u32 = 255; -pub const DPORT_LINK_DEVICE_SEL_V: u32 = 255; -pub const DPORT_LINK_DEVICE_SEL_S: u32 = 8; -pub const DPORT_PERI_IO_SWAP: u32 = 255; -pub const DPORT_PERI_IO_SWAP_V: u32 = 255; -pub const DPORT_PERI_IO_SWAP_S: u32 = 0; -pub const DPORT_PERIP_CLK_EN_REG: u32 = 1072693440; -pub const DPORT_PERIP_CLK_EN: u32 = 4294967295; -pub const DPORT_PERIP_CLK_EN_V: u32 = 4294967295; -pub const DPORT_PERIP_CLK_EN_S: u32 = 0; -pub const DPORT_PERIP_RST_EN_REG: u32 = 1072693444; -pub const DPORT_PERIP_RST: u32 = 4294967295; -pub const DPORT_PERIP_RST_V: u32 = 4294967295; -pub const DPORT_PERIP_RST_S: u32 = 0; -pub const DPORT_SLAVE_SPI_CONFIG_REG: u32 = 1072693448; -pub const DPORT_SPI_DECRYPT_ENABLE_V: u32 = 1; -pub const DPORT_SPI_DECRYPT_ENABLE_S: u32 = 12; -pub const DPORT_SPI_ENCRYPT_ENABLE_V: u32 = 1; -pub const DPORT_SPI_ENCRYPT_ENABLE_S: u32 = 8; -pub const DPORT_SLAVE_SPI_MASK_APP_V: u32 = 1; -pub const DPORT_SLAVE_SPI_MASK_APP_S: u32 = 4; -pub const DPORT_SLAVE_SPI_MASK_PRO_V: u32 = 1; -pub const DPORT_SLAVE_SPI_MASK_PRO_S: u32 = 0; -pub const DPORT_WIFI_CLK_EN_REG: u32 = 1072693452; -pub const DPORT_WIFI_CLK_EN: u32 = 4294967295; -pub const DPORT_WIFI_CLK_EN_V: u32 = 4294967295; -pub const DPORT_WIFI_CLK_EN_S: u32 = 0; -pub const DPORT_WIFI_CLK_WIFI_EN: u32 = 1030; -pub const DPORT_WIFI_CLK_WIFI_EN_V: u32 = 1030; -pub const DPORT_WIFI_CLK_WIFI_EN_S: u32 = 0; -pub const DPORT_WIFI_CLK_BT_EN: u32 = 97; -pub const DPORT_WIFI_CLK_BT_EN_V: u32 = 97; -pub const DPORT_WIFI_CLK_BT_EN_S: u32 = 11; -pub const DPORT_WIFI_CLK_WIFI_BT_COMMON_M: u32 = 969; -pub const DPORT_CORE_RST_EN_REG: u32 = 1072693456; -pub const DPORT_BT_LPCK_DIV_INT_REG: u32 = 1072693460; -pub const DPORT_BTEXTWAKEUP_REQ_V: u32 = 1; -pub const DPORT_BTEXTWAKEUP_REQ_S: u32 = 12; -pub const DPORT_BT_LPCK_DIV_NUM: u32 = 4095; -pub const DPORT_BT_LPCK_DIV_NUM_V: u32 = 4095; -pub const DPORT_BT_LPCK_DIV_NUM_S: u32 = 0; -pub const DPORT_BT_LPCK_DIV_FRAC_REG: u32 = 1072693464; -pub const DPORT_LPCLK_SEL_XTAL32K_V: u32 = 1; -pub const DPORT_LPCLK_SEL_XTAL32K_S: u32 = 27; -pub const DPORT_LPCLK_SEL_XTAL_V: u32 = 1; -pub const DPORT_LPCLK_SEL_XTAL_S: u32 = 26; -pub const DPORT_LPCLK_SEL_8M_V: u32 = 1; -pub const DPORT_LPCLK_SEL_8M_S: u32 = 25; -pub const DPORT_LPCLK_SEL_RTC_SLOW_V: u32 = 1; -pub const DPORT_LPCLK_SEL_RTC_SLOW_S: u32 = 24; -pub const DPORT_BT_LPCK_DIV_A: u32 = 4095; -pub const DPORT_BT_LPCK_DIV_A_V: u32 = 4095; -pub const DPORT_BT_LPCK_DIV_A_S: u32 = 12; -pub const DPORT_BT_LPCK_DIV_B: u32 = 4095; -pub const DPORT_BT_LPCK_DIV_B_V: u32 = 4095; -pub const DPORT_BT_LPCK_DIV_B_S: u32 = 0; -pub const DPORT_CPU_INTR_FROM_CPU_0_REG: u32 = 1072693468; -pub const DPORT_CPU_INTR_FROM_CPU_0_V: u32 = 1; -pub const DPORT_CPU_INTR_FROM_CPU_0_S: u32 = 0; -pub const DPORT_CPU_INTR_FROM_CPU_1_REG: u32 = 1072693472; -pub const DPORT_CPU_INTR_FROM_CPU_1_V: u32 = 1; -pub const DPORT_CPU_INTR_FROM_CPU_1_S: u32 = 0; -pub const DPORT_CPU_INTR_FROM_CPU_2_REG: u32 = 1072693476; -pub const DPORT_CPU_INTR_FROM_CPU_2_V: u32 = 1; -pub const DPORT_CPU_INTR_FROM_CPU_2_S: u32 = 0; -pub const DPORT_CPU_INTR_FROM_CPU_3_REG: u32 = 1072693480; -pub const DPORT_CPU_INTR_FROM_CPU_3_V: u32 = 1; -pub const DPORT_CPU_INTR_FROM_CPU_3_S: u32 = 0; -pub const DPORT_PRO_INTR_STATUS_0_REG: u32 = 1072693484; -pub const DPORT_PRO_INTR_STATUS_0: u32 = 4294967295; -pub const DPORT_PRO_INTR_STATUS_0_V: u32 = 4294967295; -pub const DPORT_PRO_INTR_STATUS_0_S: u32 = 0; -pub const DPORT_PRO_INTR_STATUS_1_REG: u32 = 1072693488; -pub const DPORT_PRO_INTR_STATUS_1: u32 = 4294967295; -pub const DPORT_PRO_INTR_STATUS_1_V: u32 = 4294967295; -pub const DPORT_PRO_INTR_STATUS_1_S: u32 = 0; -pub const DPORT_PRO_INTR_STATUS_2_REG: u32 = 1072693492; -pub const DPORT_PRO_INTR_STATUS_2: u32 = 4294967295; -pub const DPORT_PRO_INTR_STATUS_2_V: u32 = 4294967295; -pub const DPORT_PRO_INTR_STATUS_2_S: u32 = 0; -pub const DPORT_APP_INTR_STATUS_0_REG: u32 = 1072693496; -pub const DPORT_APP_INTR_STATUS_0: u32 = 4294967295; -pub const DPORT_APP_INTR_STATUS_0_V: u32 = 4294967295; -pub const DPORT_APP_INTR_STATUS_0_S: u32 = 0; -pub const DPORT_APP_INTR_STATUS_1_REG: u32 = 1072693500; -pub const DPORT_APP_INTR_STATUS_1: u32 = 4294967295; -pub const DPORT_APP_INTR_STATUS_1_V: u32 = 4294967295; -pub const DPORT_APP_INTR_STATUS_1_S: u32 = 0; -pub const DPORT_APP_INTR_STATUS_2_REG: u32 = 1072693504; -pub const DPORT_APP_INTR_STATUS_2: u32 = 4294967295; -pub const DPORT_APP_INTR_STATUS_2_V: u32 = 4294967295; -pub const DPORT_APP_INTR_STATUS_2_S: u32 = 0; -pub const DPORT_PRO_MAC_INTR_MAP_REG: u32 = 1072693508; -pub const DPORT_PRO_MAC_INTR_MAP: u32 = 31; -pub const DPORT_PRO_MAC_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_MAC_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_MAC_NMI_MAP_REG: u32 = 1072693512; -pub const DPORT_PRO_MAC_NMI_MAP: u32 = 31; -pub const DPORT_PRO_MAC_NMI_MAP_V: u32 = 31; -pub const DPORT_PRO_MAC_NMI_MAP_S: u32 = 0; -pub const DPORT_PRO_BB_INT_MAP_REG: u32 = 1072693516; -pub const DPORT_PRO_BB_INT_MAP: u32 = 31; -pub const DPORT_PRO_BB_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_BB_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_BT_MAC_INT_MAP_REG: u32 = 1072693520; -pub const DPORT_PRO_BT_MAC_INT_MAP: u32 = 31; -pub const DPORT_PRO_BT_MAC_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_BT_MAC_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_BT_BB_INT_MAP_REG: u32 = 1072693524; -pub const DPORT_PRO_BT_BB_INT_MAP: u32 = 31; -pub const DPORT_PRO_BT_BB_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_BT_BB_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_BT_BB_NMI_MAP_REG: u32 = 1072693528; -pub const DPORT_PRO_BT_BB_NMI_MAP: u32 = 31; -pub const DPORT_PRO_BT_BB_NMI_MAP_V: u32 = 31; -pub const DPORT_PRO_BT_BB_NMI_MAP_S: u32 = 0; -pub const DPORT_PRO_RWBT_IRQ_MAP_REG: u32 = 1072693532; -pub const DPORT_PRO_RWBT_IRQ_MAP: u32 = 31; -pub const DPORT_PRO_RWBT_IRQ_MAP_V: u32 = 31; -pub const DPORT_PRO_RWBT_IRQ_MAP_S: u32 = 0; -pub const DPORT_PRO_RWBLE_IRQ_MAP_REG: u32 = 1072693536; -pub const DPORT_PRO_RWBLE_IRQ_MAP: u32 = 31; -pub const DPORT_PRO_RWBLE_IRQ_MAP_V: u32 = 31; -pub const DPORT_PRO_RWBLE_IRQ_MAP_S: u32 = 0; -pub const DPORT_PRO_RWBT_NMI_MAP_REG: u32 = 1072693540; -pub const DPORT_PRO_RWBT_NMI_MAP: u32 = 31; -pub const DPORT_PRO_RWBT_NMI_MAP_V: u32 = 31; -pub const DPORT_PRO_RWBT_NMI_MAP_S: u32 = 0; -pub const DPORT_PRO_RWBLE_NMI_MAP_REG: u32 = 1072693544; -pub const DPORT_PRO_RWBLE_NMI_MAP: u32 = 31; -pub const DPORT_PRO_RWBLE_NMI_MAP_V: u32 = 31; -pub const DPORT_PRO_RWBLE_NMI_MAP_S: u32 = 0; -pub const DPORT_PRO_SLC0_INTR_MAP_REG: u32 = 1072693548; -pub const DPORT_PRO_SLC0_INTR_MAP: u32 = 31; -pub const DPORT_PRO_SLC0_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_SLC0_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_SLC1_INTR_MAP_REG: u32 = 1072693552; -pub const DPORT_PRO_SLC1_INTR_MAP: u32 = 31; -pub const DPORT_PRO_SLC1_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_SLC1_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_UHCI0_INTR_MAP_REG: u32 = 1072693556; -pub const DPORT_PRO_UHCI0_INTR_MAP: u32 = 31; -pub const DPORT_PRO_UHCI0_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_UHCI0_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_UHCI1_INTR_MAP_REG: u32 = 1072693560; -pub const DPORT_PRO_UHCI1_INTR_MAP: u32 = 31; -pub const DPORT_PRO_UHCI1_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_UHCI1_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_T0_LEVEL_INT_MAP_REG: u32 = 1072693564; -pub const DPORT_PRO_TG_T0_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_T0_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_T0_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_T1_LEVEL_INT_MAP_REG: u32 = 1072693568; -pub const DPORT_PRO_TG_T1_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_T1_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_T1_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_WDT_LEVEL_INT_MAP_REG: u32 = 1072693572; -pub const DPORT_PRO_TG_WDT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_WDT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_WDT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_LACT_LEVEL_INT_MAP_REG: u32 = 1072693576; -pub const DPORT_PRO_TG_LACT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_LACT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_LACT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_T0_LEVEL_INT_MAP_REG: u32 = 1072693580; -pub const DPORT_PRO_TG1_T0_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_T0_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_T0_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_T1_LEVEL_INT_MAP_REG: u32 = 1072693584; -pub const DPORT_PRO_TG1_T1_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_T1_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_T1_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_WDT_LEVEL_INT_MAP_REG: u32 = 1072693588; -pub const DPORT_PRO_TG1_WDT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_WDT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_WDT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_LACT_LEVEL_INT_MAP_REG: u32 = 1072693592; -pub const DPORT_PRO_TG1_LACT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_LACT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_LACT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_GPIO_INTERRUPT_MAP_REG: u32 = 1072693596; -pub const DPORT_PRO_GPIO_INTERRUPT_PRO_MAP: u32 = 31; -pub const DPORT_PRO_GPIO_INTERRUPT_PRO_MAP_V: u32 = 31; -pub const DPORT_PRO_GPIO_INTERRUPT_PRO_MAP_S: u32 = 0; -pub const DPORT_PRO_GPIO_INTERRUPT_NMI_MAP_REG: u32 = 1072693600; -pub const DPORT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP: u32 = 31; -pub const DPORT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP_V: u32 = 31; -pub const DPORT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP_S: u32 = 0; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_0_MAP_REG: u32 = 1072693604; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_0_MAP: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_0_MAP_V: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_0_MAP_S: u32 = 0; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_1_MAP_REG: u32 = 1072693608; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_1_MAP: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_1_MAP_V: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_1_MAP_S: u32 = 0; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_2_MAP_REG: u32 = 1072693612; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_2_MAP: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_2_MAP_V: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_2_MAP_S: u32 = 0; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_3_MAP_REG: u32 = 1072693616; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_3_MAP: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_3_MAP_V: u32 = 31; -pub const DPORT_PRO_CPU_INTR_FROM_CPU_3_MAP_S: u32 = 0; -pub const DPORT_PRO_SPI_INTR_0_MAP_REG: u32 = 1072693620; -pub const DPORT_PRO_SPI_INTR_0_MAP: u32 = 31; -pub const DPORT_PRO_SPI_INTR_0_MAP_V: u32 = 31; -pub const DPORT_PRO_SPI_INTR_0_MAP_S: u32 = 0; -pub const DPORT_PRO_SPI_INTR_1_MAP_REG: u32 = 1072693624; -pub const DPORT_PRO_SPI_INTR_1_MAP: u32 = 31; -pub const DPORT_PRO_SPI_INTR_1_MAP_V: u32 = 31; -pub const DPORT_PRO_SPI_INTR_1_MAP_S: u32 = 0; -pub const DPORT_PRO_SPI_INTR_2_MAP_REG: u32 = 1072693628; -pub const DPORT_PRO_SPI_INTR_2_MAP: u32 = 31; -pub const DPORT_PRO_SPI_INTR_2_MAP_V: u32 = 31; -pub const DPORT_PRO_SPI_INTR_2_MAP_S: u32 = 0; -pub const DPORT_PRO_SPI_INTR_3_MAP_REG: u32 = 1072693632; -pub const DPORT_PRO_SPI_INTR_3_MAP: u32 = 31; -pub const DPORT_PRO_SPI_INTR_3_MAP_V: u32 = 31; -pub const DPORT_PRO_SPI_INTR_3_MAP_S: u32 = 0; -pub const DPORT_PRO_I2S0_INT_MAP_REG: u32 = 1072693636; -pub const DPORT_PRO_I2S0_INT_MAP: u32 = 31; -pub const DPORT_PRO_I2S0_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_I2S0_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_I2S1_INT_MAP_REG: u32 = 1072693640; -pub const DPORT_PRO_I2S1_INT_MAP: u32 = 31; -pub const DPORT_PRO_I2S1_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_I2S1_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_UART_INTR_MAP_REG: u32 = 1072693644; -pub const DPORT_PRO_UART_INTR_MAP: u32 = 31; -pub const DPORT_PRO_UART_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_UART_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_UART1_INTR_MAP_REG: u32 = 1072693648; -pub const DPORT_PRO_UART1_INTR_MAP: u32 = 31; -pub const DPORT_PRO_UART1_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_UART1_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_UART2_INTR_MAP_REG: u32 = 1072693652; -pub const DPORT_PRO_UART2_INTR_MAP: u32 = 31; -pub const DPORT_PRO_UART2_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_UART2_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_SDIO_HOST_INTERRUPT_MAP_REG: u32 = 1072693656; -pub const DPORT_PRO_SDIO_HOST_INTERRUPT_MAP: u32 = 31; -pub const DPORT_PRO_SDIO_HOST_INTERRUPT_MAP_V: u32 = 31; -pub const DPORT_PRO_SDIO_HOST_INTERRUPT_MAP_S: u32 = 0; -pub const DPORT_PRO_EMAC_INT_MAP_REG: u32 = 1072693660; -pub const DPORT_PRO_EMAC_INT_MAP: u32 = 31; -pub const DPORT_PRO_EMAC_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_EMAC_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_PWM0_INTR_MAP_REG: u32 = 1072693664; -pub const DPORT_PRO_PWM0_INTR_MAP: u32 = 31; -pub const DPORT_PRO_PWM0_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_PWM0_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_PWM1_INTR_MAP_REG: u32 = 1072693668; -pub const DPORT_PRO_PWM1_INTR_MAP: u32 = 31; -pub const DPORT_PRO_PWM1_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_PWM1_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_PWM2_INTR_MAP_REG: u32 = 1072693672; -pub const DPORT_PRO_PWM2_INTR_MAP: u32 = 31; -pub const DPORT_PRO_PWM2_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_PWM2_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_PWM3_INTR_MAP_REG: u32 = 1072693676; -pub const DPORT_PRO_PWM3_INTR_MAP: u32 = 31; -pub const DPORT_PRO_PWM3_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_PWM3_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_LEDC_INT_MAP_REG: u32 = 1072693680; -pub const DPORT_PRO_LEDC_INT_MAP: u32 = 31; -pub const DPORT_PRO_LEDC_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_LEDC_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_EFUSE_INT_MAP_REG: u32 = 1072693684; -pub const DPORT_PRO_EFUSE_INT_MAP: u32 = 31; -pub const DPORT_PRO_EFUSE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_EFUSE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_CAN_INT_MAP_REG: u32 = 1072693688; -pub const DPORT_PRO_CAN_INT_MAP: u32 = 31; -pub const DPORT_PRO_CAN_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_CAN_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_RTC_CORE_INTR_MAP_REG: u32 = 1072693692; -pub const DPORT_PRO_RTC_CORE_INTR_MAP: u32 = 31; -pub const DPORT_PRO_RTC_CORE_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_RTC_CORE_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_RMT_INTR_MAP_REG: u32 = 1072693696; -pub const DPORT_PRO_RMT_INTR_MAP: u32 = 31; -pub const DPORT_PRO_RMT_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_RMT_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_PCNT_INTR_MAP_REG: u32 = 1072693700; -pub const DPORT_PRO_PCNT_INTR_MAP: u32 = 31; -pub const DPORT_PRO_PCNT_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_PCNT_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_I2C_EXT0_INTR_MAP_REG: u32 = 1072693704; -pub const DPORT_PRO_I2C_EXT0_INTR_MAP: u32 = 31; -pub const DPORT_PRO_I2C_EXT0_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_I2C_EXT0_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_I2C_EXT1_INTR_MAP_REG: u32 = 1072693708; -pub const DPORT_PRO_I2C_EXT1_INTR_MAP: u32 = 31; -pub const DPORT_PRO_I2C_EXT1_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_I2C_EXT1_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_RSA_INTR_MAP_REG: u32 = 1072693712; -pub const DPORT_PRO_RSA_INTR_MAP: u32 = 31; -pub const DPORT_PRO_RSA_INTR_MAP_V: u32 = 31; -pub const DPORT_PRO_RSA_INTR_MAP_S: u32 = 0; -pub const DPORT_PRO_SPI1_DMA_INT_MAP_REG: u32 = 1072693716; -pub const DPORT_PRO_SPI1_DMA_INT_MAP: u32 = 31; -pub const DPORT_PRO_SPI1_DMA_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_SPI1_DMA_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_SPI2_DMA_INT_MAP_REG: u32 = 1072693720; -pub const DPORT_PRO_SPI2_DMA_INT_MAP: u32 = 31; -pub const DPORT_PRO_SPI2_DMA_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_SPI2_DMA_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_SPI3_DMA_INT_MAP_REG: u32 = 1072693724; -pub const DPORT_PRO_SPI3_DMA_INT_MAP: u32 = 31; -pub const DPORT_PRO_SPI3_DMA_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_SPI3_DMA_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_WDG_INT_MAP_REG: u32 = 1072693728; -pub const DPORT_PRO_WDG_INT_MAP: u32 = 31; -pub const DPORT_PRO_WDG_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_WDG_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TIMER_INT1_MAP_REG: u32 = 1072693732; -pub const DPORT_PRO_TIMER_INT1_MAP: u32 = 31; -pub const DPORT_PRO_TIMER_INT1_MAP_V: u32 = 31; -pub const DPORT_PRO_TIMER_INT1_MAP_S: u32 = 0; -pub const DPORT_PRO_TIMER_INT2_MAP_REG: u32 = 1072693736; -pub const DPORT_PRO_TIMER_INT2_MAP: u32 = 31; -pub const DPORT_PRO_TIMER_INT2_MAP_V: u32 = 31; -pub const DPORT_PRO_TIMER_INT2_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_T0_EDGE_INT_MAP_REG: u32 = 1072693740; -pub const DPORT_PRO_TG_T0_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_T0_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_T0_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_T1_EDGE_INT_MAP_REG: u32 = 1072693744; -pub const DPORT_PRO_TG_T1_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_T1_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_T1_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_WDT_EDGE_INT_MAP_REG: u32 = 1072693748; -pub const DPORT_PRO_TG_WDT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_WDT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_WDT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG_LACT_EDGE_INT_MAP_REG: u32 = 1072693752; -pub const DPORT_PRO_TG_LACT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG_LACT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG_LACT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_T0_EDGE_INT_MAP_REG: u32 = 1072693756; -pub const DPORT_PRO_TG1_T0_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_T0_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_T0_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_T1_EDGE_INT_MAP_REG: u32 = 1072693760; -pub const DPORT_PRO_TG1_T1_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_T1_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_T1_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_WDT_EDGE_INT_MAP_REG: u32 = 1072693764; -pub const DPORT_PRO_TG1_WDT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_WDT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_WDT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_TG1_LACT_EDGE_INT_MAP_REG: u32 = 1072693768; -pub const DPORT_PRO_TG1_LACT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_PRO_TG1_LACT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_TG1_LACT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_MMU_IA_INT_MAP_REG: u32 = 1072693772; -pub const DPORT_PRO_MMU_IA_INT_MAP: u32 = 31; -pub const DPORT_PRO_MMU_IA_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_MMU_IA_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_MPU_IA_INT_MAP_REG: u32 = 1072693776; -pub const DPORT_PRO_MPU_IA_INT_MAP: u32 = 31; -pub const DPORT_PRO_MPU_IA_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_MPU_IA_INT_MAP_S: u32 = 0; -pub const DPORT_PRO_CACHE_IA_INT_MAP_REG: u32 = 1072693780; -pub const DPORT_PRO_CACHE_IA_INT_MAP: u32 = 31; -pub const DPORT_PRO_CACHE_IA_INT_MAP_V: u32 = 31; -pub const DPORT_PRO_CACHE_IA_INT_MAP_S: u32 = 0; -pub const DPORT_APP_MAC_INTR_MAP_REG: u32 = 1072693784; -pub const DPORT_APP_MAC_INTR_MAP: u32 = 31; -pub const DPORT_APP_MAC_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_MAC_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_MAC_NMI_MAP_REG: u32 = 1072693788; -pub const DPORT_APP_MAC_NMI_MAP: u32 = 31; -pub const DPORT_APP_MAC_NMI_MAP_V: u32 = 31; -pub const DPORT_APP_MAC_NMI_MAP_S: u32 = 0; -pub const DPORT_APP_BB_INT_MAP_REG: u32 = 1072693792; -pub const DPORT_APP_BB_INT_MAP: u32 = 31; -pub const DPORT_APP_BB_INT_MAP_V: u32 = 31; -pub const DPORT_APP_BB_INT_MAP_S: u32 = 0; -pub const DPORT_APP_BT_MAC_INT_MAP_REG: u32 = 1072693796; -pub const DPORT_APP_BT_MAC_INT_MAP: u32 = 31; -pub const DPORT_APP_BT_MAC_INT_MAP_V: u32 = 31; -pub const DPORT_APP_BT_MAC_INT_MAP_S: u32 = 0; -pub const DPORT_APP_BT_BB_INT_MAP_REG: u32 = 1072693800; -pub const DPORT_APP_BT_BB_INT_MAP: u32 = 31; -pub const DPORT_APP_BT_BB_INT_MAP_V: u32 = 31; -pub const DPORT_APP_BT_BB_INT_MAP_S: u32 = 0; -pub const DPORT_APP_BT_BB_NMI_MAP_REG: u32 = 1072693804; -pub const DPORT_APP_BT_BB_NMI_MAP: u32 = 31; -pub const DPORT_APP_BT_BB_NMI_MAP_V: u32 = 31; -pub const DPORT_APP_BT_BB_NMI_MAP_S: u32 = 0; -pub const DPORT_APP_RWBT_IRQ_MAP_REG: u32 = 1072693808; -pub const DPORT_APP_RWBT_IRQ_MAP: u32 = 31; -pub const DPORT_APP_RWBT_IRQ_MAP_V: u32 = 31; -pub const DPORT_APP_RWBT_IRQ_MAP_S: u32 = 0; -pub const DPORT_APP_RWBLE_IRQ_MAP_REG: u32 = 1072693812; -pub const DPORT_APP_RWBLE_IRQ_MAP: u32 = 31; -pub const DPORT_APP_RWBLE_IRQ_MAP_V: u32 = 31; -pub const DPORT_APP_RWBLE_IRQ_MAP_S: u32 = 0; -pub const DPORT_APP_RWBT_NMI_MAP_REG: u32 = 1072693816; -pub const DPORT_APP_RWBT_NMI_MAP: u32 = 31; -pub const DPORT_APP_RWBT_NMI_MAP_V: u32 = 31; -pub const DPORT_APP_RWBT_NMI_MAP_S: u32 = 0; -pub const DPORT_APP_RWBLE_NMI_MAP_REG: u32 = 1072693820; -pub const DPORT_APP_RWBLE_NMI_MAP: u32 = 31; -pub const DPORT_APP_RWBLE_NMI_MAP_V: u32 = 31; -pub const DPORT_APP_RWBLE_NMI_MAP_S: u32 = 0; -pub const DPORT_APP_SLC0_INTR_MAP_REG: u32 = 1072693824; -pub const DPORT_APP_SLC0_INTR_MAP: u32 = 31; -pub const DPORT_APP_SLC0_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_SLC0_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_SLC1_INTR_MAP_REG: u32 = 1072693828; -pub const DPORT_APP_SLC1_INTR_MAP: u32 = 31; -pub const DPORT_APP_SLC1_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_SLC1_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_UHCI0_INTR_MAP_REG: u32 = 1072693832; -pub const DPORT_APP_UHCI0_INTR_MAP: u32 = 31; -pub const DPORT_APP_UHCI0_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_UHCI0_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_UHCI1_INTR_MAP_REG: u32 = 1072693836; -pub const DPORT_APP_UHCI1_INTR_MAP: u32 = 31; -pub const DPORT_APP_UHCI1_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_UHCI1_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_TG_T0_LEVEL_INT_MAP_REG: u32 = 1072693840; -pub const DPORT_APP_TG_T0_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_T0_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_T0_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG_T1_LEVEL_INT_MAP_REG: u32 = 1072693844; -pub const DPORT_APP_TG_T1_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_T1_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_T1_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG_WDT_LEVEL_INT_MAP_REG: u32 = 1072693848; -pub const DPORT_APP_TG_WDT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_WDT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_WDT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG_LACT_LEVEL_INT_MAP_REG: u32 = 1072693852; -pub const DPORT_APP_TG_LACT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_LACT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_LACT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_T0_LEVEL_INT_MAP_REG: u32 = 1072693856; -pub const DPORT_APP_TG1_T0_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_T0_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_T0_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_T1_LEVEL_INT_MAP_REG: u32 = 1072693860; -pub const DPORT_APP_TG1_T1_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_T1_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_T1_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_WDT_LEVEL_INT_MAP_REG: u32 = 1072693864; -pub const DPORT_APP_TG1_WDT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_WDT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_WDT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_LACT_LEVEL_INT_MAP_REG: u32 = 1072693868; -pub const DPORT_APP_TG1_LACT_LEVEL_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_LACT_LEVEL_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_LACT_LEVEL_INT_MAP_S: u32 = 0; -pub const DPORT_APP_GPIO_INTERRUPT_MAP_REG: u32 = 1072693872; -pub const DPORT_APP_GPIO_INTERRUPT_APP_MAP: u32 = 31; -pub const DPORT_APP_GPIO_INTERRUPT_APP_MAP_V: u32 = 31; -pub const DPORT_APP_GPIO_INTERRUPT_APP_MAP_S: u32 = 0; -pub const DPORT_APP_GPIO_INTERRUPT_NMI_MAP_REG: u32 = 1072693876; -pub const DPORT_APP_GPIO_INTERRUPT_APP_NMI_MAP: u32 = 31; -pub const DPORT_APP_GPIO_INTERRUPT_APP_NMI_MAP_V: u32 = 31; -pub const DPORT_APP_GPIO_INTERRUPT_APP_NMI_MAP_S: u32 = 0; -pub const DPORT_APP_CPU_INTR_FROM_CPU_0_MAP_REG: u32 = 1072693880; -pub const DPORT_APP_CPU_INTR_FROM_CPU_0_MAP: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_0_MAP_V: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_0_MAP_S: u32 = 0; -pub const DPORT_APP_CPU_INTR_FROM_CPU_1_MAP_REG: u32 = 1072693884; -pub const DPORT_APP_CPU_INTR_FROM_CPU_1_MAP: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_1_MAP_V: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_1_MAP_S: u32 = 0; -pub const DPORT_APP_CPU_INTR_FROM_CPU_2_MAP_REG: u32 = 1072693888; -pub const DPORT_APP_CPU_INTR_FROM_CPU_2_MAP: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_2_MAP_V: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_2_MAP_S: u32 = 0; -pub const DPORT_APP_CPU_INTR_FROM_CPU_3_MAP_REG: u32 = 1072693892; -pub const DPORT_APP_CPU_INTR_FROM_CPU_3_MAP: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_3_MAP_V: u32 = 31; -pub const DPORT_APP_CPU_INTR_FROM_CPU_3_MAP_S: u32 = 0; -pub const DPORT_APP_SPI_INTR_0_MAP_REG: u32 = 1072693896; -pub const DPORT_APP_SPI_INTR_0_MAP: u32 = 31; -pub const DPORT_APP_SPI_INTR_0_MAP_V: u32 = 31; -pub const DPORT_APP_SPI_INTR_0_MAP_S: u32 = 0; -pub const DPORT_APP_SPI_INTR_1_MAP_REG: u32 = 1072693900; -pub const DPORT_APP_SPI_INTR_1_MAP: u32 = 31; -pub const DPORT_APP_SPI_INTR_1_MAP_V: u32 = 31; -pub const DPORT_APP_SPI_INTR_1_MAP_S: u32 = 0; -pub const DPORT_APP_SPI_INTR_2_MAP_REG: u32 = 1072693904; -pub const DPORT_APP_SPI_INTR_2_MAP: u32 = 31; -pub const DPORT_APP_SPI_INTR_2_MAP_V: u32 = 31; -pub const DPORT_APP_SPI_INTR_2_MAP_S: u32 = 0; -pub const DPORT_APP_SPI_INTR_3_MAP_REG: u32 = 1072693908; -pub const DPORT_APP_SPI_INTR_3_MAP: u32 = 31; -pub const DPORT_APP_SPI_INTR_3_MAP_V: u32 = 31; -pub const DPORT_APP_SPI_INTR_3_MAP_S: u32 = 0; -pub const DPORT_APP_I2S0_INT_MAP_REG: u32 = 1072693912; -pub const DPORT_APP_I2S0_INT_MAP: u32 = 31; -pub const DPORT_APP_I2S0_INT_MAP_V: u32 = 31; -pub const DPORT_APP_I2S0_INT_MAP_S: u32 = 0; -pub const DPORT_APP_I2S1_INT_MAP_REG: u32 = 1072693916; -pub const DPORT_APP_I2S1_INT_MAP: u32 = 31; -pub const DPORT_APP_I2S1_INT_MAP_V: u32 = 31; -pub const DPORT_APP_I2S1_INT_MAP_S: u32 = 0; -pub const DPORT_APP_UART_INTR_MAP_REG: u32 = 1072693920; -pub const DPORT_APP_UART_INTR_MAP: u32 = 31; -pub const DPORT_APP_UART_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_UART_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_UART1_INTR_MAP_REG: u32 = 1072693924; -pub const DPORT_APP_UART1_INTR_MAP: u32 = 31; -pub const DPORT_APP_UART1_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_UART1_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_UART2_INTR_MAP_REG: u32 = 1072693928; -pub const DPORT_APP_UART2_INTR_MAP: u32 = 31; -pub const DPORT_APP_UART2_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_UART2_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_SDIO_HOST_INTERRUPT_MAP_REG: u32 = 1072693932; -pub const DPORT_APP_SDIO_HOST_INTERRUPT_MAP: u32 = 31; -pub const DPORT_APP_SDIO_HOST_INTERRUPT_MAP_V: u32 = 31; -pub const DPORT_APP_SDIO_HOST_INTERRUPT_MAP_S: u32 = 0; -pub const DPORT_APP_EMAC_INT_MAP_REG: u32 = 1072693936; -pub const DPORT_APP_EMAC_INT_MAP: u32 = 31; -pub const DPORT_APP_EMAC_INT_MAP_V: u32 = 31; -pub const DPORT_APP_EMAC_INT_MAP_S: u32 = 0; -pub const DPORT_APP_PWM0_INTR_MAP_REG: u32 = 1072693940; -pub const DPORT_APP_PWM0_INTR_MAP: u32 = 31; -pub const DPORT_APP_PWM0_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_PWM0_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_PWM1_INTR_MAP_REG: u32 = 1072693944; -pub const DPORT_APP_PWM1_INTR_MAP: u32 = 31; -pub const DPORT_APP_PWM1_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_PWM1_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_PWM2_INTR_MAP_REG: u32 = 1072693948; -pub const DPORT_APP_PWM2_INTR_MAP: u32 = 31; -pub const DPORT_APP_PWM2_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_PWM2_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_PWM3_INTR_MAP_REG: u32 = 1072693952; -pub const DPORT_APP_PWM3_INTR_MAP: u32 = 31; -pub const DPORT_APP_PWM3_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_PWM3_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_LEDC_INT_MAP_REG: u32 = 1072693956; -pub const DPORT_APP_LEDC_INT_MAP: u32 = 31; -pub const DPORT_APP_LEDC_INT_MAP_V: u32 = 31; -pub const DPORT_APP_LEDC_INT_MAP_S: u32 = 0; -pub const DPORT_APP_EFUSE_INT_MAP_REG: u32 = 1072693960; -pub const DPORT_APP_EFUSE_INT_MAP: u32 = 31; -pub const DPORT_APP_EFUSE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_EFUSE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_CAN_INT_MAP_REG: u32 = 1072693964; -pub const DPORT_APP_CAN_INT_MAP: u32 = 31; -pub const DPORT_APP_CAN_INT_MAP_V: u32 = 31; -pub const DPORT_APP_CAN_INT_MAP_S: u32 = 0; -pub const DPORT_APP_RTC_CORE_INTR_MAP_REG: u32 = 1072693968; -pub const DPORT_APP_RTC_CORE_INTR_MAP: u32 = 31; -pub const DPORT_APP_RTC_CORE_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_RTC_CORE_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_RMT_INTR_MAP_REG: u32 = 1072693972; -pub const DPORT_APP_RMT_INTR_MAP: u32 = 31; -pub const DPORT_APP_RMT_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_RMT_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_PCNT_INTR_MAP_REG: u32 = 1072693976; -pub const DPORT_APP_PCNT_INTR_MAP: u32 = 31; -pub const DPORT_APP_PCNT_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_PCNT_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_I2C_EXT0_INTR_MAP_REG: u32 = 1072693980; -pub const DPORT_APP_I2C_EXT0_INTR_MAP: u32 = 31; -pub const DPORT_APP_I2C_EXT0_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_I2C_EXT0_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_I2C_EXT1_INTR_MAP_REG: u32 = 1072693984; -pub const DPORT_APP_I2C_EXT1_INTR_MAP: u32 = 31; -pub const DPORT_APP_I2C_EXT1_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_I2C_EXT1_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_RSA_INTR_MAP_REG: u32 = 1072693988; -pub const DPORT_APP_RSA_INTR_MAP: u32 = 31; -pub const DPORT_APP_RSA_INTR_MAP_V: u32 = 31; -pub const DPORT_APP_RSA_INTR_MAP_S: u32 = 0; -pub const DPORT_APP_SPI1_DMA_INT_MAP_REG: u32 = 1072693992; -pub const DPORT_APP_SPI1_DMA_INT_MAP: u32 = 31; -pub const DPORT_APP_SPI1_DMA_INT_MAP_V: u32 = 31; -pub const DPORT_APP_SPI1_DMA_INT_MAP_S: u32 = 0; -pub const DPORT_APP_SPI2_DMA_INT_MAP_REG: u32 = 1072693996; -pub const DPORT_APP_SPI2_DMA_INT_MAP: u32 = 31; -pub const DPORT_APP_SPI2_DMA_INT_MAP_V: u32 = 31; -pub const DPORT_APP_SPI2_DMA_INT_MAP_S: u32 = 0; -pub const DPORT_APP_SPI3_DMA_INT_MAP_REG: u32 = 1072694000; -pub const DPORT_APP_SPI3_DMA_INT_MAP: u32 = 31; -pub const DPORT_APP_SPI3_DMA_INT_MAP_V: u32 = 31; -pub const DPORT_APP_SPI3_DMA_INT_MAP_S: u32 = 0; -pub const DPORT_APP_WDG_INT_MAP_REG: u32 = 1072694004; -pub const DPORT_APP_WDG_INT_MAP: u32 = 31; -pub const DPORT_APP_WDG_INT_MAP_V: u32 = 31; -pub const DPORT_APP_WDG_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TIMER_INT1_MAP_REG: u32 = 1072694008; -pub const DPORT_APP_TIMER_INT1_MAP: u32 = 31; -pub const DPORT_APP_TIMER_INT1_MAP_V: u32 = 31; -pub const DPORT_APP_TIMER_INT1_MAP_S: u32 = 0; -pub const DPORT_APP_TIMER_INT2_MAP_REG: u32 = 1072694012; -pub const DPORT_APP_TIMER_INT2_MAP: u32 = 31; -pub const DPORT_APP_TIMER_INT2_MAP_V: u32 = 31; -pub const DPORT_APP_TIMER_INT2_MAP_S: u32 = 0; -pub const DPORT_APP_TG_T0_EDGE_INT_MAP_REG: u32 = 1072694016; -pub const DPORT_APP_TG_T0_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_T0_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_T0_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG_T1_EDGE_INT_MAP_REG: u32 = 1072694020; -pub const DPORT_APP_TG_T1_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_T1_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_T1_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG_WDT_EDGE_INT_MAP_REG: u32 = 1072694024; -pub const DPORT_APP_TG_WDT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_WDT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_WDT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG_LACT_EDGE_INT_MAP_REG: u32 = 1072694028; -pub const DPORT_APP_TG_LACT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG_LACT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG_LACT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_T0_EDGE_INT_MAP_REG: u32 = 1072694032; -pub const DPORT_APP_TG1_T0_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_T0_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_T0_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_T1_EDGE_INT_MAP_REG: u32 = 1072694036; -pub const DPORT_APP_TG1_T1_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_T1_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_T1_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_WDT_EDGE_INT_MAP_REG: u32 = 1072694040; -pub const DPORT_APP_TG1_WDT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_WDT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_WDT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_TG1_LACT_EDGE_INT_MAP_REG: u32 = 1072694044; -pub const DPORT_APP_TG1_LACT_EDGE_INT_MAP: u32 = 31; -pub const DPORT_APP_TG1_LACT_EDGE_INT_MAP_V: u32 = 31; -pub const DPORT_APP_TG1_LACT_EDGE_INT_MAP_S: u32 = 0; -pub const DPORT_APP_MMU_IA_INT_MAP_REG: u32 = 1072694048; -pub const DPORT_APP_MMU_IA_INT_MAP: u32 = 31; -pub const DPORT_APP_MMU_IA_INT_MAP_V: u32 = 31; -pub const DPORT_APP_MMU_IA_INT_MAP_S: u32 = 0; -pub const DPORT_APP_MPU_IA_INT_MAP_REG: u32 = 1072694052; -pub const DPORT_APP_MPU_IA_INT_MAP: u32 = 31; -pub const DPORT_APP_MPU_IA_INT_MAP_V: u32 = 31; -pub const DPORT_APP_MPU_IA_INT_MAP_S: u32 = 0; -pub const DPORT_APP_CACHE_IA_INT_MAP_REG: u32 = 1072694056; -pub const DPORT_APP_CACHE_IA_INT_MAP: u32 = 31; -pub const DPORT_APP_CACHE_IA_INT_MAP_V: u32 = 31; -pub const DPORT_APP_CACHE_IA_INT_MAP_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_UART_REG: u32 = 1072694060; -pub const DPORT_UART_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_UART_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_UART_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SPI1_REG: u32 = 1072694064; -pub const DPORT_SPI1_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SPI1_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SPI1_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SPI0_REG: u32 = 1072694068; -pub const DPORT_SPI0_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SPI0_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SPI0_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_GPIO_REG: u32 = 1072694072; -pub const DPORT_GPIO_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_GPIO_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_GPIO_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_FE2_REG: u32 = 1072694076; -pub const DPORT_FE2_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_FE2_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_FE2_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_FE_REG: u32 = 1072694080; -pub const DPORT_FE_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_FE_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_FE_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_TIMER_REG: u32 = 1072694084; -pub const DPORT_TIMER_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_TIMER_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_TIMER_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_RTC_REG: u32 = 1072694088; -pub const DPORT_RTC_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_RTC_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_RTC_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_IO_MUX_REG: u32 = 1072694092; -pub const DPORT_IOMUX_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_IOMUX_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_IOMUX_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_WDG_REG: u32 = 1072694096; -pub const DPORT_WDG_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_WDG_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_WDG_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_HINF_REG: u32 = 1072694100; -pub const DPORT_HINF_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_HINF_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_HINF_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_UHCI1_REG: u32 = 1072694104; -pub const DPORT_UHCI1_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_UHCI1_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_UHCI1_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_MISC_REG: u32 = 1072694108; -pub const DPORT_MISC_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_MISC_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_MISC_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_I2C_REG: u32 = 1072694112; -pub const DPORT_I2C_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_I2C_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_I2C_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_I2S0_REG: u32 = 1072694116; -pub const DPORT_I2S0_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_I2S0_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_I2S0_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_UART1_REG: u32 = 1072694120; -pub const DPORT_UART1_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_UART1_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_UART1_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_BT_REG: u32 = 1072694124; -pub const DPORT_BT_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_BT_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_BT_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_BT_BUFFER_REG: u32 = 1072694128; -pub const DPORT_BTBUFFER_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_BTBUFFER_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_BTBUFFER_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_I2C_EXT0_REG: u32 = 1072694132; -pub const DPORT_I2CEXT0_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_I2CEXT0_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_I2CEXT0_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_UHCI0_REG: u32 = 1072694136; -pub const DPORT_UHCI0_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_UHCI0_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_UHCI0_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SLCHOST_REG: u32 = 1072694140; -pub const DPORT_SLCHOST_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SLCHOST_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SLCHOST_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_RMT_REG: u32 = 1072694144; -pub const DPORT_RMT_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_RMT_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_RMT_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_PCNT_REG: u32 = 1072694148; -pub const DPORT_PCNT_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_PCNT_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_PCNT_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SLC_REG: u32 = 1072694152; -pub const DPORT_SLC_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SLC_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SLC_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_LEDC_REG: u32 = 1072694156; -pub const DPORT_LEDC_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_LEDC_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_LEDC_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_EFUSE_REG: u32 = 1072694160; -pub const DPORT_EFUSE_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_EFUSE_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_EFUSE_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SPI_ENCRYPT_REG: u32 = 1072694164; -pub const DPORT_SPI_ENCRYPY_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SPI_ENCRYPY_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SPI_ENCRYPY_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_BB_REG: u32 = 1072694168; -pub const DPORT_BB_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_BB_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_BB_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_PWM0_REG: u32 = 1072694172; -pub const DPORT_PWM0_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_PWM0_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_PWM0_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_TIMERGROUP_REG: u32 = 1072694176; -pub const DPORT_TIMERGROUP_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_TIMERGROUP_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_TIMERGROUP_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_TIMERGROUP1_REG: u32 = 1072694180; -pub const DPORT_TIMERGROUP1_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_TIMERGROUP1_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_TIMERGROUP1_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SPI2_REG: u32 = 1072694184; -pub const DPORT_SPI2_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SPI2_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SPI2_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SPI3_REG: u32 = 1072694188; -pub const DPORT_SPI3_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SPI3_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SPI3_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_APB_CTRL_REG: u32 = 1072694192; -pub const DPORT_APBCTRL_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_APBCTRL_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_APBCTRL_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_I2C_EXT1_REG: u32 = 1072694196; -pub const DPORT_I2CEXT1_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_I2CEXT1_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_I2CEXT1_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_SDIO_HOST_REG: u32 = 1072694200; -pub const DPORT_SDIOHOST_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_SDIOHOST_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_SDIOHOST_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_EMAC_REG: u32 = 1072694204; -pub const DPORT_EMAC_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_EMAC_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_EMAC_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_CAN_REG: u32 = 1072694208; -pub const DPORT_CAN_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_CAN_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_CAN_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_PWM1_REG: u32 = 1072694212; -pub const DPORT_PWM1_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_PWM1_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_PWM1_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_I2S1_REG: u32 = 1072694216; -pub const DPORT_I2S1_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_I2S1_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_I2S1_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_UART2_REG: u32 = 1072694220; -pub const DPORT_UART2_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_UART2_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_UART2_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_PWM2_REG: u32 = 1072694224; -pub const DPORT_PWM2_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_PWM2_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_PWM2_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_PWM3_REG: u32 = 1072694228; -pub const DPORT_PWM3_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_PWM3_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_PWM3_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_RWBT_REG: u32 = 1072694232; -pub const DPORT_RWBT_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_RWBT_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_RWBT_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_BTMAC_REG: u32 = 1072694236; -pub const DPORT_BTMAC_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_BTMAC_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_BTMAC_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_WIFIMAC_REG: u32 = 1072694240; -pub const DPORT_WIFIMAC_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_WIFIMAC_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_WIFIMAC_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_AHBLITE_MPU_TABLE_PWR_REG: u32 = 1072694244; -pub const DPORT_PWR_ACCESS_GRANT_CONFIG: u32 = 63; -pub const DPORT_PWR_ACCESS_GRANT_CONFIG_V: u32 = 63; -pub const DPORT_PWR_ACCESS_GRANT_CONFIG_S: u32 = 0; -pub const DPORT_MEM_ACCESS_DBUG0_REG: u32 = 1072694248; -pub const DPORT_INTERNAL_SRAM_MMU_MULTI_HIT: u32 = 15; -pub const DPORT_INTERNAL_SRAM_MMU_MULTI_HIT_V: u32 = 15; -pub const DPORT_INTERNAL_SRAM_MMU_MULTI_HIT_S: u32 = 26; -pub const DPORT_INTERNAL_SRAM_IA: u32 = 4095; -pub const DPORT_INTERNAL_SRAM_IA_V: u32 = 4095; -pub const DPORT_INTERNAL_SRAM_IA_S: u32 = 14; -pub const DPORT_INTERNAL_SRAM_MMU_AD: u32 = 15; -pub const DPORT_INTERNAL_SRAM_MMU_AD_V: u32 = 15; -pub const DPORT_INTERNAL_SRAM_MMU_AD_S: u32 = 10; -pub const DPORT_SHARE_ROM_IA: u32 = 15; -pub const DPORT_SHARE_ROM_IA_V: u32 = 15; -pub const DPORT_SHARE_ROM_IA_S: u32 = 6; -pub const DPORT_SHARE_ROM_MPU_AD: u32 = 3; -pub const DPORT_SHARE_ROM_MPU_AD_V: u32 = 3; -pub const DPORT_SHARE_ROM_MPU_AD_S: u32 = 4; -pub const DPORT_APP_ROM_IA_V: u32 = 1; -pub const DPORT_APP_ROM_IA_S: u32 = 3; -pub const DPORT_APP_ROM_MPU_AD_V: u32 = 1; -pub const DPORT_APP_ROM_MPU_AD_S: u32 = 2; -pub const DPORT_PRO_ROM_IA_V: u32 = 1; -pub const DPORT_PRO_ROM_IA_S: u32 = 1; -pub const DPORT_PRO_ROM_MPU_AD_V: u32 = 1; -pub const DPORT_PRO_ROM_MPU_AD_S: u32 = 0; -pub const DPORT_MEM_ACCESS_DBUG1_REG: u32 = 1072694252; -pub const DPORT_AHBLITE_IA_V: u32 = 1; -pub const DPORT_AHBLITE_IA_S: u32 = 10; -pub const DPORT_AHBLITE_ACCESS_DENY_V: u32 = 1; -pub const DPORT_AHBLITE_ACCESS_DENY_S: u32 = 9; -pub const DPORT_AHB_ACCESS_DENY_V: u32 = 1; -pub const DPORT_AHB_ACCESS_DENY_S: u32 = 8; -pub const DPORT_PIDGEN_IA: u32 = 3; -pub const DPORT_PIDGEN_IA_V: u32 = 3; -pub const DPORT_PIDGEN_IA_S: u32 = 6; -pub const DPORT_ARB_IA: u32 = 3; -pub const DPORT_ARB_IA_V: u32 = 3; -pub const DPORT_ARB_IA_S: u32 = 4; -pub const DPORT_INTERNAL_SRAM_MMU_MISS: u32 = 15; -pub const DPORT_INTERNAL_SRAM_MMU_MISS_V: u32 = 15; -pub const DPORT_INTERNAL_SRAM_MMU_MISS_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG0_REG: u32 = 1072694256; -pub const DPORT_PRO_RX_END_V: u32 = 1; -pub const DPORT_PRO_RX_END_S: u32 = 23; -pub const DPORT_PRO_SLAVE_WDATA_V_V: u32 = 1; -pub const DPORT_PRO_SLAVE_WDATA_V_S: u32 = 22; -pub const DPORT_PRO_SLAVE_WR_V: u32 = 1; -pub const DPORT_PRO_SLAVE_WR_S: u32 = 21; -pub const DPORT_PRO_TX_END_V: u32 = 1; -pub const DPORT_PRO_TX_END_S: u32 = 20; -pub const DPORT_PRO_WR_BAK_TO_READ_V: u32 = 1; -pub const DPORT_PRO_WR_BAK_TO_READ_S: u32 = 19; -pub const DPORT_PRO_CACHE_STATE: u32 = 4095; -pub const DPORT_PRO_CACHE_STATE_V: u32 = 4095; -pub const DPORT_PRO_CACHE_STATE_S: u32 = 7; -pub const DPORT_PRO_CACHE_IA: u32 = 63; -pub const DPORT_PRO_CACHE_IA_V: u32 = 63; -pub const DPORT_PRO_CACHE_IA_S: u32 = 1; -pub const DPORT_PRO_CACHE_MMU_IA_V: u32 = 1; -pub const DPORT_PRO_CACHE_MMU_IA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG1_REG: u32 = 1072694260; -pub const DPORT_PRO_CTAG_RAM_RDATA: u32 = 4294967295; -pub const DPORT_PRO_CTAG_RAM_RDATA_V: u32 = 4294967295; -pub const DPORT_PRO_CTAG_RAM_RDATA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG2_REG: u32 = 1072694264; -pub const DPORT_PRO_CACHE_VADDR: u32 = 134217727; -pub const DPORT_PRO_CACHE_VADDR_V: u32 = 134217727; -pub const DPORT_PRO_CACHE_VADDR_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG3_REG: u32 = 1072694268; -pub const DPORT_PRO_CACHE_IRAM0_PID_ERROR_V: u32 = 1; -pub const DPORT_PRO_CACHE_IRAM0_PID_ERROR_S: u32 = 15; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA: u32 = 63; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_V: u32 = 63; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_S: u32 = 9; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_OPPOSITE_V: u32 = 1; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_OPPOSITE_S: u32 = 9; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_DRAM1_V: u32 = 1; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_DRAM1_S: u32 = 10; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_IROM0_V: u32 = 1; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_IROM0_S: u32 = 11; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_IRAM1_V: u32 = 1; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_IRAM1_S: u32 = 12; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_IRAM0_V: u32 = 1; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_IRAM0_S: u32 = 13; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_DROM0_V: u32 = 1; -pub const DPORT_PRO_CPU_DISABLED_CACHE_IA_DROM0_S: u32 = 14; -pub const DPORT_PRO_MMU_RDATA: u32 = 511; -pub const DPORT_PRO_MMU_RDATA_V: u32 = 511; -pub const DPORT_PRO_MMU_RDATA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG4_REG: u32 = 1072694272; -pub const DPORT_PRO_DRAM1ADDR0_IA: u32 = 1048575; -pub const DPORT_PRO_DRAM1ADDR0_IA_V: u32 = 1048575; -pub const DPORT_PRO_DRAM1ADDR0_IA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG5_REG: u32 = 1072694276; -pub const DPORT_PRO_DROM0ADDR0_IA: u32 = 1048575; -pub const DPORT_PRO_DROM0ADDR0_IA_V: u32 = 1048575; -pub const DPORT_PRO_DROM0ADDR0_IA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG6_REG: u32 = 1072694280; -pub const DPORT_PRO_IRAM0ADDR_IA: u32 = 1048575; -pub const DPORT_PRO_IRAM0ADDR_IA_V: u32 = 1048575; -pub const DPORT_PRO_IRAM0ADDR_IA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG7_REG: u32 = 1072694284; -pub const DPORT_PRO_IRAM1ADDR_IA: u32 = 1048575; -pub const DPORT_PRO_IRAM1ADDR_IA_V: u32 = 1048575; -pub const DPORT_PRO_IRAM1ADDR_IA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG8_REG: u32 = 1072694288; -pub const DPORT_PRO_IROM0ADDR_IA: u32 = 1048575; -pub const DPORT_PRO_IROM0ADDR_IA_V: u32 = 1048575; -pub const DPORT_PRO_IROM0ADDR_IA_S: u32 = 0; -pub const DPORT_PRO_DCACHE_DBUG9_REG: u32 = 1072694292; -pub const DPORT_PRO_OPSDRAMADDR_IA: u32 = 1048575; -pub const DPORT_PRO_OPSDRAMADDR_IA_V: u32 = 1048575; -pub const DPORT_PRO_OPSDRAMADDR_IA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG0_REG: u32 = 1072694296; -pub const DPORT_APP_RX_END_V: u32 = 1; -pub const DPORT_APP_RX_END_S: u32 = 23; -pub const DPORT_APP_SLAVE_WDATA_V_V: u32 = 1; -pub const DPORT_APP_SLAVE_WDATA_V_S: u32 = 22; -pub const DPORT_APP_SLAVE_WR_V: u32 = 1; -pub const DPORT_APP_SLAVE_WR_S: u32 = 21; -pub const DPORT_APP_TX_END_V: u32 = 1; -pub const DPORT_APP_TX_END_S: u32 = 20; -pub const DPORT_APP_WR_BAK_TO_READ_V: u32 = 1; -pub const DPORT_APP_WR_BAK_TO_READ_S: u32 = 19; -pub const DPORT_APP_CACHE_STATE: u32 = 4095; -pub const DPORT_APP_CACHE_STATE_V: u32 = 4095; -pub const DPORT_APP_CACHE_STATE_S: u32 = 7; -pub const DPORT_APP_CACHE_IA: u32 = 63; -pub const DPORT_APP_CACHE_IA_V: u32 = 63; -pub const DPORT_APP_CACHE_IA_S: u32 = 1; -pub const DPORT_APP_CACHE_MMU_IA_V: u32 = 1; -pub const DPORT_APP_CACHE_MMU_IA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG1_REG: u32 = 1072694300; -pub const DPORT_APP_CTAG_RAM_RDATA: u32 = 4294967295; -pub const DPORT_APP_CTAG_RAM_RDATA_V: u32 = 4294967295; -pub const DPORT_APP_CTAG_RAM_RDATA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG2_REG: u32 = 1072694304; -pub const DPORT_APP_CACHE_VADDR: u32 = 134217727; -pub const DPORT_APP_CACHE_VADDR_V: u32 = 134217727; -pub const DPORT_APP_CACHE_VADDR_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG3_REG: u32 = 1072694308; -pub const DPORT_APP_CACHE_IRAM0_PID_ERROR_V: u32 = 1; -pub const DPORT_APP_CACHE_IRAM0_PID_ERROR_S: u32 = 15; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA: u32 = 63; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_V: u32 = 63; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_S: u32 = 9; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_OPPOSITE_V: u32 = 1; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_OPPOSITE_S: u32 = 9; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_DRAM1_V: u32 = 1; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_DRAM1_S: u32 = 10; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_IROM0_V: u32 = 1; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_IROM0_S: u32 = 11; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_IRAM1_V: u32 = 1; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_IRAM1_S: u32 = 12; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_IRAM0_V: u32 = 1; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_IRAM0_S: u32 = 13; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_DROM0_V: u32 = 1; -pub const DPORT_APP_CPU_DISABLED_CACHE_IA_DROM0_S: u32 = 14; -pub const DPORT_APP_MMU_RDATA: u32 = 511; -pub const DPORT_APP_MMU_RDATA_V: u32 = 511; -pub const DPORT_APP_MMU_RDATA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG4_REG: u32 = 1072694312; -pub const DPORT_APP_DRAM1ADDR0_IA: u32 = 1048575; -pub const DPORT_APP_DRAM1ADDR0_IA_V: u32 = 1048575; -pub const DPORT_APP_DRAM1ADDR0_IA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG5_REG: u32 = 1072694316; -pub const DPORT_APP_DROM0ADDR0_IA: u32 = 1048575; -pub const DPORT_APP_DROM0ADDR0_IA_V: u32 = 1048575; -pub const DPORT_APP_DROM0ADDR0_IA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG6_REG: u32 = 1072694320; -pub const DPORT_APP_IRAM0ADDR_IA: u32 = 1048575; -pub const DPORT_APP_IRAM0ADDR_IA_V: u32 = 1048575; -pub const DPORT_APP_IRAM0ADDR_IA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG7_REG: u32 = 1072694324; -pub const DPORT_APP_IRAM1ADDR_IA: u32 = 1048575; -pub const DPORT_APP_IRAM1ADDR_IA_V: u32 = 1048575; -pub const DPORT_APP_IRAM1ADDR_IA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG8_REG: u32 = 1072694328; -pub const DPORT_APP_IROM0ADDR_IA: u32 = 1048575; -pub const DPORT_APP_IROM0ADDR_IA_V: u32 = 1048575; -pub const DPORT_APP_IROM0ADDR_IA_S: u32 = 0; -pub const DPORT_APP_DCACHE_DBUG9_REG: u32 = 1072694332; -pub const DPORT_APP_OPSDRAMADDR_IA: u32 = 1048575; -pub const DPORT_APP_OPSDRAMADDR_IA_V: u32 = 1048575; -pub const DPORT_APP_OPSDRAMADDR_IA_S: u32 = 0; -pub const DPORT_PRO_CPU_RECORD_CTRL_REG: u32 = 1072694336; -pub const DPORT_PRO_CPU_PDEBUG_ENABLE_V: u32 = 1; -pub const DPORT_PRO_CPU_PDEBUG_ENABLE_S: u32 = 8; -pub const DPORT_PRO_CPU_RECORD_DISABLE_V: u32 = 1; -pub const DPORT_PRO_CPU_RECORD_DISABLE_S: u32 = 4; -pub const DPORT_PRO_CPU_RECORD_ENABLE_V: u32 = 1; -pub const DPORT_PRO_CPU_RECORD_ENABLE_S: u32 = 0; -pub const DPORT_PRO_CPU_RECORD_STATUS_REG: u32 = 1072694340; -pub const DPORT_PRO_CPU_RECORDING_V: u32 = 1; -pub const DPORT_PRO_CPU_RECORDING_S: u32 = 0; -pub const DPORT_PRO_CPU_RECORD_PID_REG: u32 = 1072694344; -pub const DPORT_RECORD_PRO_PID: u32 = 7; -pub const DPORT_RECORD_PRO_PID_V: u32 = 7; -pub const DPORT_RECORD_PRO_PID_S: u32 = 0; -pub const DPORT_PRO_CPU_RECORD_PDEBUGINST_REG: u32 = 1072694348; -pub const DPORT_RECORD_PRO_PDEBUGINST: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGINST_V: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGINST_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGINST_SZ_V: u32 = 255; -pub const DPORT_RECORD_PDEBUGINST_SZ_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGINST_ISRC_V: u32 = 7; -pub const DPORT_RECORD_PDEBUGINST_ISRC_S: u32 = 12; -pub const DPORT_RECORD_PDEBUGINST_CINTL_V: u32 = 15; -pub const DPORT_RECORD_PDEBUGINST_CINTL_S: u32 = 24; -pub const DPORT_PRO_CPU_RECORD_PDEBUGSTATUS_REG: u32 = 1072694352; -pub const DPORT_RECORD_PRO_PDEBUGSTATUS: u32 = 255; -pub const DPORT_RECORD_PRO_PDEBUGSTATUS_V: u32 = 255; -pub const DPORT_RECORD_PRO_PDEBUGSTATUS_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_V: u32 = 63; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_PSO: u32 = 0; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_DEP: u32 = 2; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_CTL: u32 = 4; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_ICM: u32 = 8; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_DCM: u32 = 12; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_EXC0: u32 = 16; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_EXC1: u32 = 17; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_RPL: u32 = 20; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_ITLB: u32 = 24; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_ITLBM: u32 = 26; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_DTLB: u32 = 28; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_DTLBM: u32 = 30; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_STALL: u32 = 32; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_HWMEC: u32 = 36; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_WAITI: u32 = 40; -pub const DPORT_RECORD_PDEBUGSTATUS_BBCAUSE_OTHER: u32 = 60; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_V: u32 = 63; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_JX: u32 = 0; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_CALLX: u32 = 4; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_CRET: u32 = 8; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_ERET: u32 = 12; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_B: u32 = 16; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_J: u32 = 20; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_CALL: u32 = 24; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_BN: u32 = 28; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_LOOP: u32 = 32; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_S32C1I: u32 = 36; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_WXSR2LB: u32 = 40; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_WSR2MMID: u32 = 44; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_RWXSR: u32 = 48; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_RWER: u32 = 52; -pub const DPORT_RECORD_PDEBUGSTATUS_INSNTYPE_DEF: u32 = 60; -pub const DPORT_PRO_CPU_RECORD_PDEBUGDATA_REG: u32 = 1072694356; -pub const DPORT_RECORD_PRO_PDEBUGDATA: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGDATA_V: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGDATA_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGDATA_EXCCAUSE_V: u32 = 63; -pub const DPORT_RECORD_PDEBUGDATA_EXCCAUSE_S: u32 = 16; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_M: u32 = 4128768; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_V: u32 = 31; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_NONE: u32 = 0; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_RST: u32 = 1; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_DBG: u32 = 2; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_NMI: u32 = 3; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_USR: u32 = 4; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_KRNL: u32 = 5; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_DBL: u32 = 6; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_EMEM: u32 = 7; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_OVF4: u32 = 10; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_UNF4: u32 = 11; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_OVF8: u32 = 12; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_UNF8: u32 = 13; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_OVF12: u32 = 14; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_UNF12: u32 = 15; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_INT2: u32 = 16; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_INT3: u32 = 17; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_INT4: u32 = 18; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_INT5: u32 = 19; -pub const DPORT_RECORD_PDEBUGDATA_EXCVEC_INT6: u32 = 20; -pub const DPORT_RECORD_PDEBUGDATA_INSNTYPE_SR_V: u32 = 255; -pub const DPORT_RECORD_PDEBUGDATA_INSNTYPE_SR_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGDATA_INSNTYPE_ER_V: u32 = 4095; -pub const DPORT_RECORD_PDEBUGDATA_INSNTYPE_ER_S: u32 = 2; -pub const DPORT_PRO_CPU_RECORD_PDEBUGPC_REG: u32 = 1072694360; -pub const DPORT_RECORD_PRO_PDEBUGPC: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGPC_V: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGPC_S: u32 = 0; -pub const DPORT_PRO_CPU_RECORD_PDEBUGLS0STAT_REG: u32 = 1072694364; -pub const DPORT_RECORD_PRO_PDEBUGLS0STAT: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGLS0STAT_V: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGLS0STAT_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_V: u32 = 15; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_S: u32 = 0; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_NONE: u32 = 0; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_ITLBR: u32 = 1; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_DTLBR: u32 = 2; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_LD: u32 = 5; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_STR: u32 = 6; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_L32R: u32 = 8; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_S32CLI1: u32 = 10; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_CTI: u32 = 12; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_RWXSR: u32 = 14; -pub const DPORT_RECORD_PDEBUGLS0STAT_TYPE_RWER: u32 = 15; -pub const DPORT_RECORD_PDEBUGLS0STAT_SZ_V: u32 = 15; -pub const DPORT_RECORD_PDEBUGLS0STAT_SZ_S: u32 = 4; -pub const DPORT_RECORD_PDEBUGLS0STAT_STCOH_V: u32 = 3; -pub const DPORT_RECORD_PDEBUGLS0STAT_STCOH_S: u32 = 17; -pub const DPORT_RECORD_PDEBUGLS0STAT_STCOH_NONE: u32 = 0; -pub const DPORT_RECORD_PDEBUGLS0STAT_STCOH_SHARED: u32 = 1; -pub const DPORT_RECORD_PDEBUGLS0STAT_STCOH_EXCL: u32 = 2; -pub const DPORT_RECORD_PDEBUGLS0STAT_STCOH_MOD: u32 = 3; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_V: u32 = 15; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_S: u32 = 20; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_EXT: u32 = 0; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_IRAM0: u32 = 2; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_IRAM1: u32 = 3; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_IROM0: u32 = 4; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_IROM1: u32 = 5; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_DRAM0: u32 = 10; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_DRAM1: u32 = 11; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_DROM0: u32 = 14; -pub const DPORT_RECORD_PDEBUGLS0STAT_TGT_DROM1: u32 = 15; -pub const DPORT_PRO_CPU_RECORD_PDEBUGLS0ADDR_REG: u32 = 1072694368; -pub const DPORT_RECORD_PRO_PDEBUGLS0ADDR: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGLS0ADDR_V: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGLS0ADDR_S: u32 = 0; -pub const DPORT_PRO_CPU_RECORD_PDEBUGLS0DATA_REG: u32 = 1072694372; -pub const DPORT_RECORD_PRO_PDEBUGLS0DATA: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGLS0DATA_V: u32 = 4294967295; -pub const DPORT_RECORD_PRO_PDEBUGLS0DATA_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_CTRL_REG: u32 = 1072694376; -pub const DPORT_APP_CPU_PDEBUG_ENABLE_V: u32 = 1; -pub const DPORT_APP_CPU_PDEBUG_ENABLE_S: u32 = 8; -pub const DPORT_APP_CPU_RECORD_DISABLE_V: u32 = 1; -pub const DPORT_APP_CPU_RECORD_DISABLE_S: u32 = 4; -pub const DPORT_APP_CPU_RECORD_ENABLE_V: u32 = 1; -pub const DPORT_APP_CPU_RECORD_ENABLE_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_STATUS_REG: u32 = 1072694380; -pub const DPORT_APP_CPU_RECORDING_V: u32 = 1; -pub const DPORT_APP_CPU_RECORDING_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PID_REG: u32 = 1072694384; -pub const DPORT_RECORD_APP_PID: u32 = 7; -pub const DPORT_RECORD_APP_PID_V: u32 = 7; -pub const DPORT_RECORD_APP_PID_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PDEBUGINST_REG: u32 = 1072694388; -pub const DPORT_RECORD_APP_PDEBUGINST: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGINST_V: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGINST_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PDEBUGSTATUS_REG: u32 = 1072694392; -pub const DPORT_RECORD_APP_PDEBUGSTATUS: u32 = 255; -pub const DPORT_RECORD_APP_PDEBUGSTATUS_V: u32 = 255; -pub const DPORT_RECORD_APP_PDEBUGSTATUS_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PDEBUGDATA_REG: u32 = 1072694396; -pub const DPORT_RECORD_APP_PDEBUGDATA: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGDATA_V: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGDATA_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PDEBUGPC_REG: u32 = 1072694400; -pub const DPORT_RECORD_APP_PDEBUGPC: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGPC_V: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGPC_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PDEBUGLS0STAT_REG: u32 = 1072694404; -pub const DPORT_RECORD_APP_PDEBUGLS0STAT: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGLS0STAT_V: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGLS0STAT_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PDEBUGLS0ADDR_REG: u32 = 1072694408; -pub const DPORT_RECORD_APP_PDEBUGLS0ADDR: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGLS0ADDR_V: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGLS0ADDR_S: u32 = 0; -pub const DPORT_APP_CPU_RECORD_PDEBUGLS0DATA_REG: u32 = 1072694412; -pub const DPORT_RECORD_APP_PDEBUGLS0DATA: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGLS0DATA_V: u32 = 4294967295; -pub const DPORT_RECORD_APP_PDEBUGLS0DATA_S: u32 = 0; -pub const DPORT_RSA_PD_CTRL_REG: u32 = 1072694416; -pub const DPORT_RSA_PD_V: u32 = 1; -pub const DPORT_RSA_PD_S: u32 = 0; -pub const DPORT_ROM_MPU_TABLE0_REG: u32 = 1072694420; -pub const DPORT_ROM_MPU_TABLE0: u32 = 3; -pub const DPORT_ROM_MPU_TABLE0_V: u32 = 3; -pub const DPORT_ROM_MPU_TABLE0_S: u32 = 0; -pub const DPORT_ROM_MPU_TABLE1_REG: u32 = 1072694424; -pub const DPORT_ROM_MPU_TABLE1: u32 = 3; -pub const DPORT_ROM_MPU_TABLE1_V: u32 = 3; -pub const DPORT_ROM_MPU_TABLE1_S: u32 = 0; -pub const DPORT_ROM_MPU_TABLE2_REG: u32 = 1072694428; -pub const DPORT_ROM_MPU_TABLE2: u32 = 3; -pub const DPORT_ROM_MPU_TABLE2_V: u32 = 3; -pub const DPORT_ROM_MPU_TABLE2_S: u32 = 0; -pub const DPORT_ROM_MPU_TABLE3_REG: u32 = 1072694432; -pub const DPORT_ROM_MPU_TABLE3: u32 = 3; -pub const DPORT_ROM_MPU_TABLE3_V: u32 = 3; -pub const DPORT_ROM_MPU_TABLE3_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE0_REG: u32 = 1072694436; -pub const DPORT_SHROM_MPU_TABLE0: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE0_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE0_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE1_REG: u32 = 1072694440; -pub const DPORT_SHROM_MPU_TABLE1: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE1_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE1_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE2_REG: u32 = 1072694444; -pub const DPORT_SHROM_MPU_TABLE2: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE2_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE2_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE3_REG: u32 = 1072694448; -pub const DPORT_SHROM_MPU_TABLE3: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE3_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE3_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE4_REG: u32 = 1072694452; -pub const DPORT_SHROM_MPU_TABLE4: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE4_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE4_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE5_REG: u32 = 1072694456; -pub const DPORT_SHROM_MPU_TABLE5: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE5_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE5_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE6_REG: u32 = 1072694460; -pub const DPORT_SHROM_MPU_TABLE6: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE6_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE6_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE7_REG: u32 = 1072694464; -pub const DPORT_SHROM_MPU_TABLE7: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE7_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE7_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE8_REG: u32 = 1072694468; -pub const DPORT_SHROM_MPU_TABLE8: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE8_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE8_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE9_REG: u32 = 1072694472; -pub const DPORT_SHROM_MPU_TABLE9: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE9_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE9_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE10_REG: u32 = 1072694476; -pub const DPORT_SHROM_MPU_TABLE10: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE10_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE10_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE11_REG: u32 = 1072694480; -pub const DPORT_SHROM_MPU_TABLE11: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE11_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE11_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE12_REG: u32 = 1072694484; -pub const DPORT_SHROM_MPU_TABLE12: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE12_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE12_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE13_REG: u32 = 1072694488; -pub const DPORT_SHROM_MPU_TABLE13: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE13_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE13_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE14_REG: u32 = 1072694492; -pub const DPORT_SHROM_MPU_TABLE14: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE14_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE14_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE15_REG: u32 = 1072694496; -pub const DPORT_SHROM_MPU_TABLE15: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE15_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE15_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE16_REG: u32 = 1072694500; -pub const DPORT_SHROM_MPU_TABLE16: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE16_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE16_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE17_REG: u32 = 1072694504; -pub const DPORT_SHROM_MPU_TABLE17: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE17_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE17_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE18_REG: u32 = 1072694508; -pub const DPORT_SHROM_MPU_TABLE18: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE18_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE18_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE19_REG: u32 = 1072694512; -pub const DPORT_SHROM_MPU_TABLE19: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE19_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE19_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE20_REG: u32 = 1072694516; -pub const DPORT_SHROM_MPU_TABLE20: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE20_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE20_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE21_REG: u32 = 1072694520; -pub const DPORT_SHROM_MPU_TABLE21: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE21_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE21_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE22_REG: u32 = 1072694524; -pub const DPORT_SHROM_MPU_TABLE22: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE22_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE22_S: u32 = 0; -pub const DPORT_SHROM_MPU_TABLE23_REG: u32 = 1072694528; -pub const DPORT_SHROM_MPU_TABLE23: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE23_V: u32 = 3; -pub const DPORT_SHROM_MPU_TABLE23_S: u32 = 0; -pub const DPORT_IMMU_TABLE0_REG: u32 = 1072694532; -pub const DPORT_IMMU_TABLE0: u32 = 127; -pub const DPORT_IMMU_TABLE0_V: u32 = 127; -pub const DPORT_IMMU_TABLE0_S: u32 = 0; -pub const DPORT_IMMU_TABLE1_REG: u32 = 1072694536; -pub const DPORT_IMMU_TABLE1: u32 = 127; -pub const DPORT_IMMU_TABLE1_V: u32 = 127; -pub const DPORT_IMMU_TABLE1_S: u32 = 0; -pub const DPORT_IMMU_TABLE2_REG: u32 = 1072694540; -pub const DPORT_IMMU_TABLE2: u32 = 127; -pub const DPORT_IMMU_TABLE2_V: u32 = 127; -pub const DPORT_IMMU_TABLE2_S: u32 = 0; -pub const DPORT_IMMU_TABLE3_REG: u32 = 1072694544; -pub const DPORT_IMMU_TABLE3: u32 = 127; -pub const DPORT_IMMU_TABLE3_V: u32 = 127; -pub const DPORT_IMMU_TABLE3_S: u32 = 0; -pub const DPORT_IMMU_TABLE4_REG: u32 = 1072694548; -pub const DPORT_IMMU_TABLE4: u32 = 127; -pub const DPORT_IMMU_TABLE4_V: u32 = 127; -pub const DPORT_IMMU_TABLE4_S: u32 = 0; -pub const DPORT_IMMU_TABLE5_REG: u32 = 1072694552; -pub const DPORT_IMMU_TABLE5: u32 = 127; -pub const DPORT_IMMU_TABLE5_V: u32 = 127; -pub const DPORT_IMMU_TABLE5_S: u32 = 0; -pub const DPORT_IMMU_TABLE6_REG: u32 = 1072694556; -pub const DPORT_IMMU_TABLE6: u32 = 127; -pub const DPORT_IMMU_TABLE6_V: u32 = 127; -pub const DPORT_IMMU_TABLE6_S: u32 = 0; -pub const DPORT_IMMU_TABLE7_REG: u32 = 1072694560; -pub const DPORT_IMMU_TABLE7: u32 = 127; -pub const DPORT_IMMU_TABLE7_V: u32 = 127; -pub const DPORT_IMMU_TABLE7_S: u32 = 0; -pub const DPORT_IMMU_TABLE8_REG: u32 = 1072694564; -pub const DPORT_IMMU_TABLE8: u32 = 127; -pub const DPORT_IMMU_TABLE8_V: u32 = 127; -pub const DPORT_IMMU_TABLE8_S: u32 = 0; -pub const DPORT_IMMU_TABLE9_REG: u32 = 1072694568; -pub const DPORT_IMMU_TABLE9: u32 = 127; -pub const DPORT_IMMU_TABLE9_V: u32 = 127; -pub const DPORT_IMMU_TABLE9_S: u32 = 0; -pub const DPORT_IMMU_TABLE10_REG: u32 = 1072694572; -pub const DPORT_IMMU_TABLE10: u32 = 127; -pub const DPORT_IMMU_TABLE10_V: u32 = 127; -pub const DPORT_IMMU_TABLE10_S: u32 = 0; -pub const DPORT_IMMU_TABLE11_REG: u32 = 1072694576; -pub const DPORT_IMMU_TABLE11: u32 = 127; -pub const DPORT_IMMU_TABLE11_V: u32 = 127; -pub const DPORT_IMMU_TABLE11_S: u32 = 0; -pub const DPORT_IMMU_TABLE12_REG: u32 = 1072694580; -pub const DPORT_IMMU_TABLE12: u32 = 127; -pub const DPORT_IMMU_TABLE12_V: u32 = 127; -pub const DPORT_IMMU_TABLE12_S: u32 = 0; -pub const DPORT_IMMU_TABLE13_REG: u32 = 1072694584; -pub const DPORT_IMMU_TABLE13: u32 = 127; -pub const DPORT_IMMU_TABLE13_V: u32 = 127; -pub const DPORT_IMMU_TABLE13_S: u32 = 0; -pub const DPORT_IMMU_TABLE14_REG: u32 = 1072694588; -pub const DPORT_IMMU_TABLE14: u32 = 127; -pub const DPORT_IMMU_TABLE14_V: u32 = 127; -pub const DPORT_IMMU_TABLE14_S: u32 = 0; -pub const DPORT_IMMU_TABLE15_REG: u32 = 1072694592; -pub const DPORT_IMMU_TABLE15: u32 = 127; -pub const DPORT_IMMU_TABLE15_V: u32 = 127; -pub const DPORT_IMMU_TABLE15_S: u32 = 0; -pub const DPORT_DMMU_TABLE0_REG: u32 = 1072694596; -pub const DPORT_DMMU_TABLE0: u32 = 127; -pub const DPORT_DMMU_TABLE0_V: u32 = 127; -pub const DPORT_DMMU_TABLE0_S: u32 = 0; -pub const DPORT_DMMU_TABLE1_REG: u32 = 1072694600; -pub const DPORT_DMMU_TABLE1: u32 = 127; -pub const DPORT_DMMU_TABLE1_V: u32 = 127; -pub const DPORT_DMMU_TABLE1_S: u32 = 0; -pub const DPORT_DMMU_TABLE2_REG: u32 = 1072694604; -pub const DPORT_DMMU_TABLE2: u32 = 127; -pub const DPORT_DMMU_TABLE2_V: u32 = 127; -pub const DPORT_DMMU_TABLE2_S: u32 = 0; -pub const DPORT_DMMU_TABLE3_REG: u32 = 1072694608; -pub const DPORT_DMMU_TABLE3: u32 = 127; -pub const DPORT_DMMU_TABLE3_V: u32 = 127; -pub const DPORT_DMMU_TABLE3_S: u32 = 0; -pub const DPORT_DMMU_TABLE4_REG: u32 = 1072694612; -pub const DPORT_DMMU_TABLE4: u32 = 127; -pub const DPORT_DMMU_TABLE4_V: u32 = 127; -pub const DPORT_DMMU_TABLE4_S: u32 = 0; -pub const DPORT_DMMU_TABLE5_REG: u32 = 1072694616; -pub const DPORT_DMMU_TABLE5: u32 = 127; -pub const DPORT_DMMU_TABLE5_V: u32 = 127; -pub const DPORT_DMMU_TABLE5_S: u32 = 0; -pub const DPORT_DMMU_TABLE6_REG: u32 = 1072694620; -pub const DPORT_DMMU_TABLE6: u32 = 127; -pub const DPORT_DMMU_TABLE6_V: u32 = 127; -pub const DPORT_DMMU_TABLE6_S: u32 = 0; -pub const DPORT_DMMU_TABLE7_REG: u32 = 1072694624; -pub const DPORT_DMMU_TABLE7: u32 = 127; -pub const DPORT_DMMU_TABLE7_V: u32 = 127; -pub const DPORT_DMMU_TABLE7_S: u32 = 0; -pub const DPORT_DMMU_TABLE8_REG: u32 = 1072694628; -pub const DPORT_DMMU_TABLE8: u32 = 127; -pub const DPORT_DMMU_TABLE8_V: u32 = 127; -pub const DPORT_DMMU_TABLE8_S: u32 = 0; -pub const DPORT_DMMU_TABLE9_REG: u32 = 1072694632; -pub const DPORT_DMMU_TABLE9: u32 = 127; -pub const DPORT_DMMU_TABLE9_V: u32 = 127; -pub const DPORT_DMMU_TABLE9_S: u32 = 0; -pub const DPORT_DMMU_TABLE10_REG: u32 = 1072694636; -pub const DPORT_DMMU_TABLE10: u32 = 127; -pub const DPORT_DMMU_TABLE10_V: u32 = 127; -pub const DPORT_DMMU_TABLE10_S: u32 = 0; -pub const DPORT_DMMU_TABLE11_REG: u32 = 1072694640; -pub const DPORT_DMMU_TABLE11: u32 = 127; -pub const DPORT_DMMU_TABLE11_V: u32 = 127; -pub const DPORT_DMMU_TABLE11_S: u32 = 0; -pub const DPORT_DMMU_TABLE12_REG: u32 = 1072694644; -pub const DPORT_DMMU_TABLE12: u32 = 127; -pub const DPORT_DMMU_TABLE12_V: u32 = 127; -pub const DPORT_DMMU_TABLE12_S: u32 = 0; -pub const DPORT_DMMU_TABLE13_REG: u32 = 1072694648; -pub const DPORT_DMMU_TABLE13: u32 = 127; -pub const DPORT_DMMU_TABLE13_V: u32 = 127; -pub const DPORT_DMMU_TABLE13_S: u32 = 0; -pub const DPORT_DMMU_TABLE14_REG: u32 = 1072694652; -pub const DPORT_DMMU_TABLE14: u32 = 127; -pub const DPORT_DMMU_TABLE14_V: u32 = 127; -pub const DPORT_DMMU_TABLE14_S: u32 = 0; -pub const DPORT_DMMU_TABLE15_REG: u32 = 1072694656; -pub const DPORT_DMMU_TABLE15: u32 = 127; -pub const DPORT_DMMU_TABLE15_V: u32 = 127; -pub const DPORT_DMMU_TABLE15_S: u32 = 0; -pub const DPORT_PRO_INTRUSION_CTRL_REG: u32 = 1072694660; -pub const DPORT_PRO_INTRUSION_RECORD_RESET_N_V: u32 = 1; -pub const DPORT_PRO_INTRUSION_RECORD_RESET_N_S: u32 = 0; -pub const DPORT_PRO_INTRUSION_STATUS_REG: u32 = 1072694664; -pub const DPORT_PRO_INTRUSION_RECORD: u32 = 15; -pub const DPORT_PRO_INTRUSION_RECORD_V: u32 = 15; -pub const DPORT_PRO_INTRUSION_RECORD_S: u32 = 0; -pub const DPORT_APP_INTRUSION_CTRL_REG: u32 = 1072694668; -pub const DPORT_APP_INTRUSION_RECORD_RESET_N_V: u32 = 1; -pub const DPORT_APP_INTRUSION_RECORD_RESET_N_S: u32 = 0; -pub const DPORT_APP_INTRUSION_STATUS_REG: u32 = 1072694672; -pub const DPORT_APP_INTRUSION_RECORD: u32 = 15; -pub const DPORT_APP_INTRUSION_RECORD_V: u32 = 15; -pub const DPORT_APP_INTRUSION_RECORD_S: u32 = 0; -pub const DPORT_FRONT_END_MEM_PD_REG: u32 = 1072694676; -pub const DPORT_PBUS_MEM_FORCE_PD_V: u32 = 1; -pub const DPORT_PBUS_MEM_FORCE_PD_S: u32 = 3; -pub const DPORT_PBUS_MEM_FORCE_PU_V: u32 = 1; -pub const DPORT_PBUS_MEM_FORCE_PU_S: u32 = 2; -pub const DPORT_AGC_MEM_FORCE_PD_V: u32 = 1; -pub const DPORT_AGC_MEM_FORCE_PD_S: u32 = 1; -pub const DPORT_AGC_MEM_FORCE_PU_V: u32 = 1; -pub const DPORT_AGC_MEM_FORCE_PU_S: u32 = 0; -pub const DPORT_MMU_IA_INT_EN_REG: u32 = 1072694680; -pub const DPORT_MMU_IA_INT_EN: u32 = 16777215; -pub const DPORT_MMU_IA_INT_EN_V: u32 = 16777215; -pub const DPORT_MMU_IA_INT_EN_S: u32 = 0; -pub const DPORT_MPU_IA_INT_EN_REG: u32 = 1072694684; -pub const DPORT_MPU_IA_INT_EN: u32 = 131071; -pub const DPORT_MPU_IA_INT_EN_V: u32 = 131071; -pub const DPORT_MPU_IA_INT_EN_S: u32 = 0; -pub const DPORT_CACHE_IA_INT_EN_REG: u32 = 1072694688; -pub const DPORT_CACHE_IA_INT_EN: u32 = 268435455; -pub const DPORT_CACHE_IA_INT_EN_V: u32 = 268435455; -pub const DPORT_CACHE_IA_INT_EN_S: u32 = 0; -pub const DPORT_CACHE_IA_INT_PRO_OPPOSITE_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_PRO_OPPOSITE_S: u32 = 19; -pub const DPORT_CACHE_IA_INT_PRO_DRAM1_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_PRO_DRAM1_S: u32 = 18; -pub const DPORT_CACHE_IA_INT_PRO_IROM0_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_PRO_IROM0_S: u32 = 17; -pub const DPORT_CACHE_IA_INT_PRO_IRAM1_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_PRO_IRAM1_S: u32 = 16; -pub const DPORT_CACHE_IA_INT_PRO_IRAM0_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_PRO_IRAM0_S: u32 = 15; -pub const DPORT_CACHE_IA_INT_PRO_DROM0_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_PRO_DROM0_S: u32 = 14; -pub const DPORT_CACHE_IA_INT_APP_OPPOSITE_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_APP_OPPOSITE_S: u32 = 5; -pub const DPORT_CACHE_IA_INT_APP_DRAM1_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_APP_DRAM1_S: u32 = 4; -pub const DPORT_CACHE_IA_INT_APP_IROM0_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_APP_IROM0_S: u32 = 3; -pub const DPORT_CACHE_IA_INT_APP_IRAM1_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_APP_IRAM1_S: u32 = 2; -pub const DPORT_CACHE_IA_INT_APP_IRAM0_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_APP_IRAM0_S: u32 = 1; -pub const DPORT_CACHE_IA_INT_APP_DROM0_V: u32 = 1; -pub const DPORT_CACHE_IA_INT_APP_DROM0_S: u32 = 0; -pub const DPORT_SECURE_BOOT_CTRL_REG: u32 = 1072694692; -pub const DPORT_SW_BOOTLOADER_SEL_V: u32 = 1; -pub const DPORT_SW_BOOTLOADER_SEL_S: u32 = 0; -pub const DPORT_SPI_DMA_CHAN_SEL_REG: u32 = 1072694696; -pub const DPORT_SPI3_DMA_CHAN_SEL: u32 = 3; -pub const DPORT_SPI3_DMA_CHAN_SEL_V: u32 = 3; -pub const DPORT_SPI3_DMA_CHAN_SEL_S: u32 = 4; -pub const DPORT_SPI2_DMA_CHAN_SEL: u32 = 3; -pub const DPORT_SPI2_DMA_CHAN_SEL_V: u32 = 3; -pub const DPORT_SPI2_DMA_CHAN_SEL_S: u32 = 2; -pub const DPORT_SPI1_DMA_CHAN_SEL: u32 = 3; -pub const DPORT_SPI1_DMA_CHAN_SEL_V: u32 = 3; -pub const DPORT_SPI1_DMA_CHAN_SEL_S: u32 = 0; -pub const DPORT_PRO_VECBASE_CTRL_REG: u32 = 1072694700; -pub const DPORT_PRO_OUT_VECBASE_SEL: u32 = 3; -pub const DPORT_PRO_OUT_VECBASE_SEL_V: u32 = 3; -pub const DPORT_PRO_OUT_VECBASE_SEL_S: u32 = 0; -pub const DPORT_PRO_VECBASE_SET_REG: u32 = 1072694704; -pub const DPORT_PRO_OUT_VECBASE_REG: u32 = 4194303; -pub const DPORT_PRO_OUT_VECBASE_REG_V: u32 = 4194303; -pub const DPORT_PRO_OUT_VECBASE_REG_S: u32 = 0; -pub const DPORT_APP_VECBASE_CTRL_REG: u32 = 1072694708; -pub const DPORT_APP_OUT_VECBASE_SEL: u32 = 3; -pub const DPORT_APP_OUT_VECBASE_SEL_V: u32 = 3; -pub const DPORT_APP_OUT_VECBASE_SEL_S: u32 = 0; -pub const DPORT_APP_VECBASE_SET_REG: u32 = 1072694712; -pub const DPORT_APP_OUT_VECBASE_REG: u32 = 4194303; -pub const DPORT_APP_OUT_VECBASE_REG_V: u32 = 4194303; -pub const DPORT_APP_OUT_VECBASE_REG_S: u32 = 0; -pub const DPORT_DATE_REG: u32 = 1072697340; -pub const DPORT_DATE: u32 = 268435455; -pub const DPORT_DATE_V: u32 = 268435455; -pub const DPORT_DATE_S: u32 = 0; -pub const DPORT_DPORT_DATE_VERSION: u32 = 23089552; -pub const DPORT_FLASH_MMU_TABLE_SIZE: u32 = 256; -pub const DPORT_FLASH_MMU_TABLE_INVALID_VAL: u32 = 256; -pub const portNUM_PROCESSORS: u32 = 2; -pub const XT_USE_THREAD_SAFE_CLIB: u32 = 0; -pub const configASSERT_2: u32 = 0; -pub const portUSING_MPU_WRAPPERS: u32 = 0; -pub const configUSE_MUTEX: u32 = 1; -pub const XT_TIMER_INDEX: u32 = 0; -pub const configNUM_THREAD_LOCAL_STORAGE_POINTERS: u32 = 1; -pub const configTHREAD_LOCAL_STORAGE_DELETE_CALLBACKS: u32 = 1; pub const XSHAL_USE_ABSOLUTE_LITERALS: u32 = 0; pub const XSHAL_HAVE_TEXT_SECTION_LITERALS: u32 = 1; pub const XTHAL_ABI_WINDOWED: u32 = 0; @@ -4537,20603 +1634,20032 @@ pub const XSHAL_DEBUG_VECTOR_ISROM: u32 = 0; pub const XSHAL_NMI_VECTOR_SIZE: u32 = 56; pub const XSHAL_NMI_VECTOR_ISROM: u32 = 0; pub const XSHAL_INTLEVEL7_VECTOR_SIZE: u32 = 56; -pub const XT_CP0_SA: u32 = 0; -pub const XT_CPENABLE: u32 = 0; -pub const XT_CPSTORED: u32 = 2; -pub const XT_CP_CS_ST: u32 = 4; -pub const XT_CP_ASA: u32 = 8; -pub const CORE_ID_PRO: u32 = 52685; -pub const CORE_ID_APP: u32 = 43947; -pub const STK_INTEXC_EXTRA: u32 = 0; -pub const XT_CLIB_CONTEXT_AREA_SIZE: u32 = 0; -pub const XT_USER_SIZE: u32 = 1024; -pub const EXIT_FAILURE: u32 = 1; -pub const EXIT_SUCCESS: u32 = 0; -pub const RAND_MAX: u32 = 2147483647; -pub const MACSTR: &'static [u8; 30usize] = b"%02x:%02x:%02x:%02x:%02x:%02x\0"; -pub const configUSE_PREEMPTION: u32 = 1; -pub const configUSE_IDLE_HOOK: u32 = 1; -pub const configUSE_TICK_HOOK: u32 = 1; -pub const configTICK_RATE_HZ: u32 = 100; -pub const configMAX_PRIORITIES: u32 = 25; -pub const configMINIMAL_STACK_SIZE: u32 = 768; -pub const configIDLE_TASK_STACK_SIZE: u32 = 1536; -pub const configISR_STACK_SIZE: u32 = 1536; -pub const configAPPLICATION_ALLOCATED_HEAP: u32 = 1; -pub const configMAX_TASK_NAME_LEN: u32 = 16; -pub const configUSE_TRACE_FACILITY_2: u32 = 0; -pub const configBENCHMARK: u32 = 0; -pub const configUSE_16_BIT_TICKS: u32 = 0; -pub const configIDLE_SHOULD_YIELD: u32 = 0; -pub const configQUEUE_REGISTRY_SIZE: u32 = 0; -pub const configUSE_MUTEXES: u32 = 1; -pub const configUSE_RECURSIVE_MUTEXES: u32 = 1; -pub const configUSE_COUNTING_SEMAPHORES: u32 = 1; -pub const configCHECK_FOR_STACK_OVERFLOW: u32 = 2; -pub const configUSE_CO_ROUTINES: u32 = 0; -pub const configMAX_CO_ROUTINE_PRIORITIES: u32 = 2; -pub const INCLUDE_vTaskPrioritySet: u32 = 1; -pub const INCLUDE_uxTaskPriorityGet: u32 = 1; -pub const INCLUDE_vTaskDelete: u32 = 1; -pub const INCLUDE_vTaskCleanUpResources: u32 = 0; -pub const INCLUDE_vTaskSuspend: u32 = 1; -pub const INCLUDE_vTaskDelayUntil: u32 = 1; -pub const INCLUDE_vTaskDelay: u32 = 1; -pub const INCLUDE_uxTaskGetStackHighWaterMark: u32 = 1; -pub const INCLUDE_pcTaskGetTaskName: u32 = 1; -pub const INCLUDE_xTaskGetIdleTaskHandle: u32 = 1; -pub const INCLUDE_pxTaskGetStackStart: u32 = 1; -pub const INCLUDE_xSemaphoreGetMutexHolder: u32 = 1; -pub const configKERNEL_INTERRUPT_PRIORITY: u32 = 1; -pub const configMAX_SYSCALL_INTERRUPT_PRIORITY: u32 = 3; -pub const configUSE_NEWLIB_REENTRANT: u32 = 1; -pub const configSUPPORT_DYNAMIC_ALLOCATION: u32 = 1; -pub const configUSE_TIMERS: u32 = 1; -pub const configTIMER_TASK_PRIORITY: u32 = 1; -pub const configTIMER_QUEUE_LENGTH: u32 = 10; -pub const configTIMER_TASK_STACK_DEPTH: u32 = 2048; -pub const INCLUDE_xTimerPendFunctionCall: u32 = 1; -pub const INCLUDE_eTaskGetState: u32 = 1; -pub const configUSE_QUEUE_SETS: u32 = 1; -pub const configXT_BOARD: u32 = 1; -pub const configXT_SIMULATOR: u32 = 0; -pub const configENABLE_TASK_SNAPSHOT: u32 = 1; -pub const errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY: i32 = -1; -pub const errQUEUE_BLOCKED: i32 = -4; -pub const errQUEUE_YIELD: i32 = -5; -pub const configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES: u32 = 0; -pub const pdINTEGRITY_CHECK_VALUE: u32 = 1515870810; -pub const MALLOC_CAP_EXEC: u32 = 1; -pub const MALLOC_CAP_32BIT: u32 = 2; -pub const MALLOC_CAP_8BIT: u32 = 4; -pub const MALLOC_CAP_DMA: u32 = 8; -pub const MALLOC_CAP_PID2: u32 = 16; -pub const MALLOC_CAP_PID3: u32 = 32; -pub const MALLOC_CAP_PID4: u32 = 64; -pub const MALLOC_CAP_PID5: u32 = 128; -pub const MALLOC_CAP_PID6: u32 = 256; -pub const MALLOC_CAP_PID7: u32 = 512; -pub const MALLOC_CAP_SPIRAM: u32 = 1024; -pub const MALLOC_CAP_INTERNAL: u32 = 2048; -pub const MALLOC_CAP_DEFAULT: u32 = 4096; -pub const MALLOC_CAP_INVALID: u32 = 2147483648; -pub const SOC_MEMORY_TYPE_NO_PRIOS: u32 = 3; -pub const portMUX_FREE_VAL: u32 = 3007315967; -pub const portMUX_NO_TIMEOUT: i32 = -1; -pub const portMUX_TRY_LOCK: u32 = 0; -pub const portCRITICAL_NESTING_IN_TCB: u32 = 1; -pub const portTcbMemoryCaps: u32 = 2052; -pub const portStackMemoryCaps: u32 = 2052; -pub const portSTACK_GROWTH: i32 = -1; -pub const portBYTE_ALIGNMENT: u32 = 4; -pub const portBYTE_ALIGNMENT_MASK: u32 = 3; -pub const portNUM_CONFIGURABLE_REGIONS: u32 = 1; -pub const GPIO_BT_SELECT_REG: u32 = 1072971776; -pub const GPIO_BT_SEL: u32 = 4294967295; -pub const GPIO_BT_SEL_V: u32 = 4294967295; -pub const GPIO_BT_SEL_S: u32 = 0; -pub const GPIO_OUT_REG: u32 = 1072971780; -pub const GPIO_OUT_DATA: u32 = 4294967295; -pub const GPIO_OUT_DATA_V: u32 = 4294967295; -pub const GPIO_OUT_DATA_S: u32 = 0; -pub const GPIO_OUT_W1TS_REG: u32 = 1072971784; -pub const GPIO_OUT_DATA_W1TS: u32 = 4294967295; -pub const GPIO_OUT_DATA_W1TS_V: u32 = 4294967295; -pub const GPIO_OUT_DATA_W1TS_S: u32 = 0; -pub const GPIO_OUT_W1TC_REG: u32 = 1072971788; -pub const GPIO_OUT_DATA_W1TC: u32 = 4294967295; -pub const GPIO_OUT_DATA_W1TC_V: u32 = 4294967295; -pub const GPIO_OUT_DATA_W1TC_S: u32 = 0; -pub const GPIO_OUT1_REG: u32 = 1072971792; -pub const GPIO_OUT1_DATA: u32 = 255; -pub const GPIO_OUT1_DATA_V: u32 = 255; -pub const GPIO_OUT1_DATA_S: u32 = 0; -pub const GPIO_OUT1_W1TS_REG: u32 = 1072971796; -pub const GPIO_OUT1_DATA_W1TS: u32 = 255; -pub const GPIO_OUT1_DATA_W1TS_V: u32 = 255; -pub const GPIO_OUT1_DATA_W1TS_S: u32 = 0; -pub const GPIO_OUT1_W1TC_REG: u32 = 1072971800; -pub const GPIO_OUT1_DATA_W1TC: u32 = 255; -pub const GPIO_OUT1_DATA_W1TC_V: u32 = 255; -pub const GPIO_OUT1_DATA_W1TC_S: u32 = 0; -pub const GPIO_SDIO_SELECT_REG: u32 = 1072971804; -pub const GPIO_SDIO_SEL: u32 = 255; -pub const GPIO_SDIO_SEL_V: u32 = 255; -pub const GPIO_SDIO_SEL_S: u32 = 0; -pub const GPIO_ENABLE_REG: u32 = 1072971808; -pub const GPIO_ENABLE_DATA: u32 = 4294967295; -pub const GPIO_ENABLE_DATA_V: u32 = 4294967295; -pub const GPIO_ENABLE_DATA_S: u32 = 0; -pub const GPIO_ENABLE_W1TS_REG: u32 = 1072971812; -pub const GPIO_ENABLE_DATA_W1TS: u32 = 4294967295; -pub const GPIO_ENABLE_DATA_W1TS_V: u32 = 4294967295; -pub const GPIO_ENABLE_DATA_W1TS_S: u32 = 0; -pub const GPIO_ENABLE_W1TC_REG: u32 = 1072971816; -pub const GPIO_ENABLE_DATA_W1TC: u32 = 4294967295; -pub const GPIO_ENABLE_DATA_W1TC_V: u32 = 4294967295; -pub const GPIO_ENABLE_DATA_W1TC_S: u32 = 0; -pub const GPIO_ENABLE1_REG: u32 = 1072971820; -pub const GPIO_ENABLE1_DATA: u32 = 255; -pub const GPIO_ENABLE1_DATA_V: u32 = 255; -pub const GPIO_ENABLE1_DATA_S: u32 = 0; -pub const GPIO_ENABLE1_W1TS_REG: u32 = 1072971824; -pub const GPIO_ENABLE1_DATA_W1TS: u32 = 255; -pub const GPIO_ENABLE1_DATA_W1TS_V: u32 = 255; -pub const GPIO_ENABLE1_DATA_W1TS_S: u32 = 0; -pub const GPIO_ENABLE1_W1TC_REG: u32 = 1072971828; -pub const GPIO_ENABLE1_DATA_W1TC: u32 = 255; -pub const GPIO_ENABLE1_DATA_W1TC_V: u32 = 255; -pub const GPIO_ENABLE1_DATA_W1TC_S: u32 = 0; -pub const GPIO_STRAP_REG: u32 = 1072971832; -pub const GPIO_STRAPPING: u32 = 65535; -pub const GPIO_STRAPPING_V: u32 = 65535; -pub const GPIO_STRAPPING_S: u32 = 0; -pub const GPIO_IN_REG: u32 = 1072971836; -pub const GPIO_IN_DATA: u32 = 4294967295; -pub const GPIO_IN_DATA_V: u32 = 4294967295; -pub const GPIO_IN_DATA_S: u32 = 0; -pub const GPIO_IN1_REG: u32 = 1072971840; -pub const GPIO_IN1_DATA: u32 = 255; -pub const GPIO_IN1_DATA_V: u32 = 255; -pub const GPIO_IN1_DATA_S: u32 = 0; -pub const GPIO_STATUS_REG: u32 = 1072971844; -pub const GPIO_STATUS_INT: u32 = 4294967295; -pub const GPIO_STATUS_INT_V: u32 = 4294967295; -pub const GPIO_STATUS_INT_S: u32 = 0; -pub const GPIO_STATUS_W1TS_REG: u32 = 1072971848; -pub const GPIO_STATUS_INT_W1TS: u32 = 4294967295; -pub const GPIO_STATUS_INT_W1TS_V: u32 = 4294967295; -pub const GPIO_STATUS_INT_W1TS_S: u32 = 0; -pub const GPIO_STATUS_W1TC_REG: u32 = 1072971852; -pub const GPIO_STATUS_INT_W1TC: u32 = 4294967295; -pub const GPIO_STATUS_INT_W1TC_V: u32 = 4294967295; -pub const GPIO_STATUS_INT_W1TC_S: u32 = 0; -pub const GPIO_STATUS1_REG: u32 = 1072971856; -pub const GPIO_STATUS1_INT: u32 = 255; -pub const GPIO_STATUS1_INT_V: u32 = 255; -pub const GPIO_STATUS1_INT_S: u32 = 0; -pub const GPIO_STATUS1_W1TS_REG: u32 = 1072971860; -pub const GPIO_STATUS1_INT_W1TS: u32 = 255; -pub const GPIO_STATUS1_INT_W1TS_V: u32 = 255; -pub const GPIO_STATUS1_INT_W1TS_S: u32 = 0; -pub const GPIO_STATUS1_W1TC_REG: u32 = 1072971864; -pub const GPIO_STATUS1_INT_W1TC: u32 = 255; -pub const GPIO_STATUS1_INT_W1TC_V: u32 = 255; -pub const GPIO_STATUS1_INT_W1TC_S: u32 = 0; -pub const GPIO_ACPU_INT_REG: u32 = 1072971872; -pub const GPIO_APPCPU_INT: u32 = 4294967295; -pub const GPIO_APPCPU_INT_V: u32 = 4294967295; -pub const GPIO_APPCPU_INT_S: u32 = 0; -pub const GPIO_ACPU_NMI_INT_REG: u32 = 1072971876; -pub const GPIO_APPCPU_NMI_INT: u32 = 4294967295; -pub const GPIO_APPCPU_NMI_INT_V: u32 = 4294967295; -pub const GPIO_APPCPU_NMI_INT_S: u32 = 0; -pub const GPIO_PCPU_INT_REG: u32 = 1072971880; -pub const GPIO_PROCPU_INT: u32 = 4294967295; -pub const GPIO_PROCPU_INT_V: u32 = 4294967295; -pub const GPIO_PROCPU_INT_S: u32 = 0; -pub const GPIO_PCPU_NMI_INT_REG: u32 = 1072971884; -pub const GPIO_PROCPU_NMI_INT: u32 = 4294967295; -pub const GPIO_PROCPU_NMI_INT_V: u32 = 4294967295; -pub const GPIO_PROCPU_NMI_INT_S: u32 = 0; -pub const GPIO_CPUSDIO_INT_REG: u32 = 1072971888; -pub const GPIO_SDIO_INT: u32 = 4294967295; -pub const GPIO_SDIO_INT_V: u32 = 4294967295; -pub const GPIO_SDIO_INT_S: u32 = 0; -pub const GPIO_ACPU_INT1_REG: u32 = 1072971892; -pub const GPIO_APPCPU_INT_H: u32 = 255; -pub const GPIO_APPCPU_INT_H_V: u32 = 255; -pub const GPIO_APPCPU_INT_H_S: u32 = 0; -pub const GPIO_ACPU_NMI_INT1_REG: u32 = 1072971896; -pub const GPIO_APPCPU_NMI_INT_H: u32 = 255; -pub const GPIO_APPCPU_NMI_INT_H_V: u32 = 255; -pub const GPIO_APPCPU_NMI_INT_H_S: u32 = 0; -pub const GPIO_PCPU_INT1_REG: u32 = 1072971900; -pub const GPIO_PROCPU_INT_H: u32 = 255; -pub const GPIO_PROCPU_INT_H_V: u32 = 255; -pub const GPIO_PROCPU_INT_H_S: u32 = 0; -pub const GPIO_PCPU_NMI_INT1_REG: u32 = 1072971904; -pub const GPIO_PROCPU_NMI_INT_H: u32 = 255; -pub const GPIO_PROCPU_NMI_INT_H_V: u32 = 255; -pub const GPIO_PROCPU_NMI_INT_H_S: u32 = 0; -pub const GPIO_CPUSDIO_INT1_REG: u32 = 1072971908; -pub const GPIO_SDIO_INT_H: u32 = 255; -pub const GPIO_SDIO_INT_H_V: u32 = 255; -pub const GPIO_SDIO_INT_H_S: u32 = 0; -pub const GPIO_PIN_INT_ENA: u32 = 31; -pub const GPIO_PIN_INT_ENA_V: u32 = 31; -pub const GPIO_PIN_INT_ENA_S: u32 = 13; -pub const GPIO_PIN_CONFIG: u32 = 3; -pub const GPIO_PIN_CONFIG_V: u32 = 3; -pub const GPIO_PIN_CONFIG_S: u32 = 11; -pub const GPIO_PIN_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN_INT_TYPE: u32 = 7; -pub const GPIO_PIN_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN0_REG: u32 = 1072971912; -pub const GPIO_PIN0_INT_ENA: u32 = 31; -pub const GPIO_PIN0_INT_ENA_V: u32 = 31; -pub const GPIO_PIN0_INT_ENA_S: u32 = 13; -pub const GPIO_PIN0_CONFIG: u32 = 3; -pub const GPIO_PIN0_CONFIG_V: u32 = 3; -pub const GPIO_PIN0_CONFIG_S: u32 = 11; -pub const GPIO_PIN0_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN0_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN0_INT_TYPE: u32 = 7; -pub const GPIO_PIN0_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN0_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN0_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN0_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN1_REG: u32 = 1072971916; -pub const GPIO_PIN1_INT_ENA: u32 = 31; -pub const GPIO_PIN1_INT_ENA_V: u32 = 31; -pub const GPIO_PIN1_INT_ENA_S: u32 = 13; -pub const GPIO_PIN1_CONFIG: u32 = 3; -pub const GPIO_PIN1_CONFIG_V: u32 = 3; -pub const GPIO_PIN1_CONFIG_S: u32 = 11; -pub const GPIO_PIN1_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN1_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN1_INT_TYPE: u32 = 7; -pub const GPIO_PIN1_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN1_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN1_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN1_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN2_REG: u32 = 1072971920; -pub const GPIO_PIN2_INT_ENA: u32 = 31; -pub const GPIO_PIN2_INT_ENA_V: u32 = 31; -pub const GPIO_PIN2_INT_ENA_S: u32 = 13; -pub const GPIO_PIN2_CONFIG: u32 = 3; -pub const GPIO_PIN2_CONFIG_V: u32 = 3; -pub const GPIO_PIN2_CONFIG_S: u32 = 11; -pub const GPIO_PIN2_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN2_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN2_INT_TYPE: u32 = 7; -pub const GPIO_PIN2_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN2_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN2_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN2_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN3_REG: u32 = 1072971924; -pub const GPIO_PIN3_INT_ENA: u32 = 31; -pub const GPIO_PIN3_INT_ENA_V: u32 = 31; -pub const GPIO_PIN3_INT_ENA_S: u32 = 13; -pub const GPIO_PIN3_CONFIG: u32 = 3; -pub const GPIO_PIN3_CONFIG_V: u32 = 3; -pub const GPIO_PIN3_CONFIG_S: u32 = 11; -pub const GPIO_PIN3_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN3_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN3_INT_TYPE: u32 = 7; -pub const GPIO_PIN3_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN3_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN3_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN3_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN4_REG: u32 = 1072971928; -pub const GPIO_PIN4_INT_ENA: u32 = 31; -pub const GPIO_PIN4_INT_ENA_V: u32 = 31; -pub const GPIO_PIN4_INT_ENA_S: u32 = 13; -pub const GPIO_PIN4_CONFIG: u32 = 3; -pub const GPIO_PIN4_CONFIG_V: u32 = 3; -pub const GPIO_PIN4_CONFIG_S: u32 = 11; -pub const GPIO_PIN4_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN4_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN4_INT_TYPE: u32 = 7; -pub const GPIO_PIN4_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN4_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN4_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN4_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN5_REG: u32 = 1072971932; -pub const GPIO_PIN5_INT_ENA: u32 = 31; -pub const GPIO_PIN5_INT_ENA_V: u32 = 31; -pub const GPIO_PIN5_INT_ENA_S: u32 = 13; -pub const GPIO_PIN5_CONFIG: u32 = 3; -pub const GPIO_PIN5_CONFIG_V: u32 = 3; -pub const GPIO_PIN5_CONFIG_S: u32 = 11; -pub const GPIO_PIN5_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN5_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN5_INT_TYPE: u32 = 7; -pub const GPIO_PIN5_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN5_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN5_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN5_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN6_REG: u32 = 1072971936; -pub const GPIO_PIN6_INT_ENA: u32 = 31; -pub const GPIO_PIN6_INT_ENA_V: u32 = 31; -pub const GPIO_PIN6_INT_ENA_S: u32 = 13; -pub const GPIO_PIN6_CONFIG: u32 = 3; -pub const GPIO_PIN6_CONFIG_V: u32 = 3; -pub const GPIO_PIN6_CONFIG_S: u32 = 11; -pub const GPIO_PIN6_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN6_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN6_INT_TYPE: u32 = 7; -pub const GPIO_PIN6_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN6_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN6_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN6_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN7_REG: u32 = 1072971940; -pub const GPIO_PIN7_INT_ENA: u32 = 31; -pub const GPIO_PIN7_INT_ENA_V: u32 = 31; -pub const GPIO_PIN7_INT_ENA_S: u32 = 13; -pub const GPIO_PIN7_CONFIG: u32 = 3; -pub const GPIO_PIN7_CONFIG_V: u32 = 3; -pub const GPIO_PIN7_CONFIG_S: u32 = 11; -pub const GPIO_PIN7_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN7_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN7_INT_TYPE: u32 = 7; -pub const GPIO_PIN7_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN7_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN7_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN7_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN8_REG: u32 = 1072971944; -pub const GPIO_PIN8_INT_ENA: u32 = 31; -pub const GPIO_PIN8_INT_ENA_V: u32 = 31; -pub const GPIO_PIN8_INT_ENA_S: u32 = 13; -pub const GPIO_PIN8_CONFIG: u32 = 3; -pub const GPIO_PIN8_CONFIG_V: u32 = 3; -pub const GPIO_PIN8_CONFIG_S: u32 = 11; -pub const GPIO_PIN8_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN8_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN8_INT_TYPE: u32 = 7; -pub const GPIO_PIN8_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN8_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN8_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN8_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN9_REG: u32 = 1072971948; -pub const GPIO_PIN9_INT_ENA: u32 = 31; -pub const GPIO_PIN9_INT_ENA_V: u32 = 31; -pub const GPIO_PIN9_INT_ENA_S: u32 = 13; -pub const GPIO_PIN9_CONFIG: u32 = 3; -pub const GPIO_PIN9_CONFIG_V: u32 = 3; -pub const GPIO_PIN9_CONFIG_S: u32 = 11; -pub const GPIO_PIN9_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN9_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN9_INT_TYPE: u32 = 7; -pub const GPIO_PIN9_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN9_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN9_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN9_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN10_REG: u32 = 1072971952; -pub const GPIO_PIN10_INT_ENA: u32 = 31; -pub const GPIO_PIN10_INT_ENA_V: u32 = 31; -pub const GPIO_PIN10_INT_ENA_S: u32 = 13; -pub const GPIO_PIN10_CONFIG: u32 = 3; -pub const GPIO_PIN10_CONFIG_V: u32 = 3; -pub const GPIO_PIN10_CONFIG_S: u32 = 11; -pub const GPIO_PIN10_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN10_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN10_INT_TYPE: u32 = 7; -pub const GPIO_PIN10_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN10_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN10_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN10_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN11_REG: u32 = 1072971956; -pub const GPIO_PIN11_INT_ENA: u32 = 31; -pub const GPIO_PIN11_INT_ENA_V: u32 = 31; -pub const GPIO_PIN11_INT_ENA_S: u32 = 13; -pub const GPIO_PIN11_CONFIG: u32 = 3; -pub const GPIO_PIN11_CONFIG_V: u32 = 3; -pub const GPIO_PIN11_CONFIG_S: u32 = 11; -pub const GPIO_PIN11_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN11_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN11_INT_TYPE: u32 = 7; -pub const GPIO_PIN11_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN11_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN11_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN11_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN12_REG: u32 = 1072971960; -pub const GPIO_PIN12_INT_ENA: u32 = 31; -pub const GPIO_PIN12_INT_ENA_V: u32 = 31; -pub const GPIO_PIN12_INT_ENA_S: u32 = 13; -pub const GPIO_PIN12_CONFIG: u32 = 3; -pub const GPIO_PIN12_CONFIG_V: u32 = 3; -pub const GPIO_PIN12_CONFIG_S: u32 = 11; -pub const GPIO_PIN12_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN12_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN12_INT_TYPE: u32 = 7; -pub const GPIO_PIN12_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN12_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN12_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN12_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN13_REG: u32 = 1072971964; -pub const GPIO_PIN13_INT_ENA: u32 = 31; -pub const GPIO_PIN13_INT_ENA_V: u32 = 31; -pub const GPIO_PIN13_INT_ENA_S: u32 = 13; -pub const GPIO_PIN13_CONFIG: u32 = 3; -pub const GPIO_PIN13_CONFIG_V: u32 = 3; -pub const GPIO_PIN13_CONFIG_S: u32 = 11; -pub const GPIO_PIN13_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN13_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN13_INT_TYPE: u32 = 7; -pub const GPIO_PIN13_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN13_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN13_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN13_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN14_REG: u32 = 1072971968; -pub const GPIO_PIN14_INT_ENA: u32 = 31; -pub const GPIO_PIN14_INT_ENA_V: u32 = 31; -pub const GPIO_PIN14_INT_ENA_S: u32 = 13; -pub const GPIO_PIN14_CONFIG: u32 = 3; -pub const GPIO_PIN14_CONFIG_V: u32 = 3; -pub const GPIO_PIN14_CONFIG_S: u32 = 11; -pub const GPIO_PIN14_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN14_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN14_INT_TYPE: u32 = 7; -pub const GPIO_PIN14_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN14_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN14_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN14_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN15_REG: u32 = 1072971972; -pub const GPIO_PIN15_INT_ENA: u32 = 31; -pub const GPIO_PIN15_INT_ENA_V: u32 = 31; -pub const GPIO_PIN15_INT_ENA_S: u32 = 13; -pub const GPIO_PIN15_CONFIG: u32 = 3; -pub const GPIO_PIN15_CONFIG_V: u32 = 3; -pub const GPIO_PIN15_CONFIG_S: u32 = 11; -pub const GPIO_PIN15_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN15_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN15_INT_TYPE: u32 = 7; -pub const GPIO_PIN15_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN15_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN15_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN15_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN16_REG: u32 = 1072971976; -pub const GPIO_PIN16_INT_ENA: u32 = 31; -pub const GPIO_PIN16_INT_ENA_V: u32 = 31; -pub const GPIO_PIN16_INT_ENA_S: u32 = 13; -pub const GPIO_PIN16_CONFIG: u32 = 3; -pub const GPIO_PIN16_CONFIG_V: u32 = 3; -pub const GPIO_PIN16_CONFIG_S: u32 = 11; -pub const GPIO_PIN16_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN16_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN16_INT_TYPE: u32 = 7; -pub const GPIO_PIN16_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN16_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN16_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN16_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN17_REG: u32 = 1072971980; -pub const GPIO_PIN17_INT_ENA: u32 = 31; -pub const GPIO_PIN17_INT_ENA_V: u32 = 31; -pub const GPIO_PIN17_INT_ENA_S: u32 = 13; -pub const GPIO_PIN17_CONFIG: u32 = 3; -pub const GPIO_PIN17_CONFIG_V: u32 = 3; -pub const GPIO_PIN17_CONFIG_S: u32 = 11; -pub const GPIO_PIN17_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN17_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN17_INT_TYPE: u32 = 7; -pub const GPIO_PIN17_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN17_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN17_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN17_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN18_REG: u32 = 1072971984; -pub const GPIO_PIN18_INT_ENA: u32 = 31; -pub const GPIO_PIN18_INT_ENA_V: u32 = 31; -pub const GPIO_PIN18_INT_ENA_S: u32 = 13; -pub const GPIO_PIN18_CONFIG: u32 = 3; -pub const GPIO_PIN18_CONFIG_V: u32 = 3; -pub const GPIO_PIN18_CONFIG_S: u32 = 11; -pub const GPIO_PIN18_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN18_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN18_INT_TYPE: u32 = 7; -pub const GPIO_PIN18_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN18_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN18_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN18_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN19_REG: u32 = 1072971988; -pub const GPIO_PIN19_INT_ENA: u32 = 31; -pub const GPIO_PIN19_INT_ENA_V: u32 = 31; -pub const GPIO_PIN19_INT_ENA_S: u32 = 13; -pub const GPIO_PIN19_CONFIG: u32 = 3; -pub const GPIO_PIN19_CONFIG_V: u32 = 3; -pub const GPIO_PIN19_CONFIG_S: u32 = 11; -pub const GPIO_PIN19_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN19_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN19_INT_TYPE: u32 = 7; -pub const GPIO_PIN19_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN19_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN19_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN19_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN20_REG: u32 = 1072971992; -pub const GPIO_PIN20_INT_ENA: u32 = 31; -pub const GPIO_PIN20_INT_ENA_V: u32 = 31; -pub const GPIO_PIN20_INT_ENA_S: u32 = 13; -pub const GPIO_PIN20_CONFIG: u32 = 3; -pub const GPIO_PIN20_CONFIG_V: u32 = 3; -pub const GPIO_PIN20_CONFIG_S: u32 = 11; -pub const GPIO_PIN20_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN20_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN20_INT_TYPE: u32 = 7; -pub const GPIO_PIN20_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN20_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN20_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN20_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN21_REG: u32 = 1072971996; -pub const GPIO_PIN21_INT_ENA: u32 = 31; -pub const GPIO_PIN21_INT_ENA_V: u32 = 31; -pub const GPIO_PIN21_INT_ENA_S: u32 = 13; -pub const GPIO_PIN21_CONFIG: u32 = 3; -pub const GPIO_PIN21_CONFIG_V: u32 = 3; -pub const GPIO_PIN21_CONFIG_S: u32 = 11; -pub const GPIO_PIN21_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN21_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN21_INT_TYPE: u32 = 7; -pub const GPIO_PIN21_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN21_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN21_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN21_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN22_REG: u32 = 1072972000; -pub const GPIO_PIN22_INT_ENA: u32 = 31; -pub const GPIO_PIN22_INT_ENA_V: u32 = 31; -pub const GPIO_PIN22_INT_ENA_S: u32 = 13; -pub const GPIO_PIN22_CONFIG: u32 = 3; -pub const GPIO_PIN22_CONFIG_V: u32 = 3; -pub const GPIO_PIN22_CONFIG_S: u32 = 11; -pub const GPIO_PIN22_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN22_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN22_INT_TYPE: u32 = 7; -pub const GPIO_PIN22_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN22_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN22_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN22_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN23_REG: u32 = 1072972004; -pub const GPIO_PIN23_INT_ENA: u32 = 31; -pub const GPIO_PIN23_INT_ENA_V: u32 = 31; -pub const GPIO_PIN23_INT_ENA_S: u32 = 13; -pub const GPIO_PIN23_CONFIG: u32 = 3; -pub const GPIO_PIN23_CONFIG_V: u32 = 3; -pub const GPIO_PIN23_CONFIG_S: u32 = 11; -pub const GPIO_PIN23_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN23_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN23_INT_TYPE: u32 = 7; -pub const GPIO_PIN23_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN23_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN23_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN23_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN24_REG: u32 = 1072972008; -pub const GPIO_PIN24_INT_ENA: u32 = 31; -pub const GPIO_PIN24_INT_ENA_V: u32 = 31; -pub const GPIO_PIN24_INT_ENA_S: u32 = 13; -pub const GPIO_PIN24_CONFIG: u32 = 3; -pub const GPIO_PIN24_CONFIG_V: u32 = 3; -pub const GPIO_PIN24_CONFIG_S: u32 = 11; -pub const GPIO_PIN24_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN24_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN24_INT_TYPE: u32 = 7; -pub const GPIO_PIN24_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN24_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN24_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN24_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN25_REG: u32 = 1072972012; -pub const GPIO_PIN25_INT_ENA: u32 = 31; -pub const GPIO_PIN25_INT_ENA_V: u32 = 31; -pub const GPIO_PIN25_INT_ENA_S: u32 = 13; -pub const GPIO_PIN25_CONFIG: u32 = 3; -pub const GPIO_PIN25_CONFIG_V: u32 = 3; -pub const GPIO_PIN25_CONFIG_S: u32 = 11; -pub const GPIO_PIN25_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN25_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN25_INT_TYPE: u32 = 7; -pub const GPIO_PIN25_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN25_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN25_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN25_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN26_REG: u32 = 1072972016; -pub const GPIO_PIN26_INT_ENA: u32 = 31; -pub const GPIO_PIN26_INT_ENA_V: u32 = 31; -pub const GPIO_PIN26_INT_ENA_S: u32 = 13; -pub const GPIO_PIN26_CONFIG: u32 = 3; -pub const GPIO_PIN26_CONFIG_V: u32 = 3; -pub const GPIO_PIN26_CONFIG_S: u32 = 11; -pub const GPIO_PIN26_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN26_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN26_INT_TYPE: u32 = 7; -pub const GPIO_PIN26_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN26_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN26_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN26_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN27_REG: u32 = 1072972020; -pub const GPIO_PIN27_INT_ENA: u32 = 31; -pub const GPIO_PIN27_INT_ENA_V: u32 = 31; -pub const GPIO_PIN27_INT_ENA_S: u32 = 13; -pub const GPIO_PIN27_CONFIG: u32 = 3; -pub const GPIO_PIN27_CONFIG_V: u32 = 3; -pub const GPIO_PIN27_CONFIG_S: u32 = 11; -pub const GPIO_PIN27_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN27_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN27_INT_TYPE: u32 = 7; -pub const GPIO_PIN27_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN27_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN27_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN27_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN28_REG: u32 = 1072972024; -pub const GPIO_PIN28_INT_ENA: u32 = 31; -pub const GPIO_PIN28_INT_ENA_V: u32 = 31; -pub const GPIO_PIN28_INT_ENA_S: u32 = 13; -pub const GPIO_PIN28_CONFIG: u32 = 3; -pub const GPIO_PIN28_CONFIG_V: u32 = 3; -pub const GPIO_PIN28_CONFIG_S: u32 = 11; -pub const GPIO_PIN28_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN28_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN28_INT_TYPE: u32 = 7; -pub const GPIO_PIN28_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN28_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN28_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN28_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN29_REG: u32 = 1072972028; -pub const GPIO_PIN29_INT_ENA: u32 = 31; -pub const GPIO_PIN29_INT_ENA_V: u32 = 31; -pub const GPIO_PIN29_INT_ENA_S: u32 = 13; -pub const GPIO_PIN29_CONFIG: u32 = 3; -pub const GPIO_PIN29_CONFIG_V: u32 = 3; -pub const GPIO_PIN29_CONFIG_S: u32 = 11; -pub const GPIO_PIN29_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN29_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN29_INT_TYPE: u32 = 7; -pub const GPIO_PIN29_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN29_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN29_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN29_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN30_REG: u32 = 1072972032; -pub const GPIO_PIN30_INT_ENA: u32 = 31; -pub const GPIO_PIN30_INT_ENA_V: u32 = 31; -pub const GPIO_PIN30_INT_ENA_S: u32 = 13; -pub const GPIO_PIN30_CONFIG: u32 = 3; -pub const GPIO_PIN30_CONFIG_V: u32 = 3; -pub const GPIO_PIN30_CONFIG_S: u32 = 11; -pub const GPIO_PIN30_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN30_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN30_INT_TYPE: u32 = 7; -pub const GPIO_PIN30_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN30_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN30_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN30_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN31_REG: u32 = 1072972036; -pub const GPIO_PIN31_INT_ENA: u32 = 31; -pub const GPIO_PIN31_INT_ENA_V: u32 = 31; -pub const GPIO_PIN31_INT_ENA_S: u32 = 13; -pub const GPIO_PIN31_CONFIG: u32 = 3; -pub const GPIO_PIN31_CONFIG_V: u32 = 3; -pub const GPIO_PIN31_CONFIG_S: u32 = 11; -pub const GPIO_PIN31_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN31_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN31_INT_TYPE: u32 = 7; -pub const GPIO_PIN31_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN31_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN31_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN31_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN32_REG: u32 = 1072972040; -pub const GPIO_PIN32_INT_ENA: u32 = 31; -pub const GPIO_PIN32_INT_ENA_V: u32 = 31; -pub const GPIO_PIN32_INT_ENA_S: u32 = 13; -pub const GPIO_PIN32_CONFIG: u32 = 3; -pub const GPIO_PIN32_CONFIG_V: u32 = 3; -pub const GPIO_PIN32_CONFIG_S: u32 = 11; -pub const GPIO_PIN32_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN32_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN32_INT_TYPE: u32 = 7; -pub const GPIO_PIN32_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN32_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN32_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN32_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN33_REG: u32 = 1072972044; -pub const GPIO_PIN33_INT_ENA: u32 = 31; -pub const GPIO_PIN33_INT_ENA_V: u32 = 31; -pub const GPIO_PIN33_INT_ENA_S: u32 = 13; -pub const GPIO_PIN33_CONFIG: u32 = 3; -pub const GPIO_PIN33_CONFIG_V: u32 = 3; -pub const GPIO_PIN33_CONFIG_S: u32 = 11; -pub const GPIO_PIN33_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN33_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN33_INT_TYPE: u32 = 7; -pub const GPIO_PIN33_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN33_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN33_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN33_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN34_REG: u32 = 1072972048; -pub const GPIO_PIN34_INT_ENA: u32 = 31; -pub const GPIO_PIN34_INT_ENA_V: u32 = 31; -pub const GPIO_PIN34_INT_ENA_S: u32 = 13; -pub const GPIO_PIN34_CONFIG: u32 = 3; -pub const GPIO_PIN34_CONFIG_V: u32 = 3; -pub const GPIO_PIN34_CONFIG_S: u32 = 11; -pub const GPIO_PIN34_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN34_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN34_INT_TYPE: u32 = 7; -pub const GPIO_PIN34_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN34_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN34_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN34_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN35_REG: u32 = 1072972052; -pub const GPIO_PIN35_INT_ENA: u32 = 31; -pub const GPIO_PIN35_INT_ENA_V: u32 = 31; -pub const GPIO_PIN35_INT_ENA_S: u32 = 13; -pub const GPIO_PIN35_CONFIG: u32 = 3; -pub const GPIO_PIN35_CONFIG_V: u32 = 3; -pub const GPIO_PIN35_CONFIG_S: u32 = 11; -pub const GPIO_PIN35_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN35_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN35_INT_TYPE: u32 = 7; -pub const GPIO_PIN35_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN35_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN35_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN35_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN36_REG: u32 = 1072972056; -pub const GPIO_PIN36_INT_ENA: u32 = 31; -pub const GPIO_PIN36_INT_ENA_V: u32 = 31; -pub const GPIO_PIN36_INT_ENA_S: u32 = 13; -pub const GPIO_PIN36_CONFIG: u32 = 3; -pub const GPIO_PIN36_CONFIG_V: u32 = 3; -pub const GPIO_PIN36_CONFIG_S: u32 = 11; -pub const GPIO_PIN36_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN36_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN36_INT_TYPE: u32 = 7; -pub const GPIO_PIN36_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN36_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN36_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN36_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN37_REG: u32 = 1072972060; -pub const GPIO_PIN37_INT_ENA: u32 = 31; -pub const GPIO_PIN37_INT_ENA_V: u32 = 31; -pub const GPIO_PIN37_INT_ENA_S: u32 = 13; -pub const GPIO_PIN37_CONFIG: u32 = 3; -pub const GPIO_PIN37_CONFIG_V: u32 = 3; -pub const GPIO_PIN37_CONFIG_S: u32 = 11; -pub const GPIO_PIN37_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN37_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN37_INT_TYPE: u32 = 7; -pub const GPIO_PIN37_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN37_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN37_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN37_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN38_REG: u32 = 1072972064; -pub const GPIO_PIN38_INT_ENA: u32 = 31; -pub const GPIO_PIN38_INT_ENA_V: u32 = 31; -pub const GPIO_PIN38_INT_ENA_S: u32 = 13; -pub const GPIO_PIN38_CONFIG: u32 = 3; -pub const GPIO_PIN38_CONFIG_V: u32 = 3; -pub const GPIO_PIN38_CONFIG_S: u32 = 11; -pub const GPIO_PIN38_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN38_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN38_INT_TYPE: u32 = 7; -pub const GPIO_PIN38_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN38_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN38_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN38_PAD_DRIVER_S: u32 = 2; -pub const GPIO_PIN39_REG: u32 = 1072972068; -pub const GPIO_PIN39_INT_ENA: u32 = 31; -pub const GPIO_PIN39_INT_ENA_V: u32 = 31; -pub const GPIO_PIN39_INT_ENA_S: u32 = 13; -pub const GPIO_PIN39_CONFIG: u32 = 3; -pub const GPIO_PIN39_CONFIG_V: u32 = 3; -pub const GPIO_PIN39_CONFIG_S: u32 = 11; -pub const GPIO_PIN39_WAKEUP_ENABLE_V: u32 = 1; -pub const GPIO_PIN39_WAKEUP_ENABLE_S: u32 = 10; -pub const GPIO_PIN39_INT_TYPE: u32 = 7; -pub const GPIO_PIN39_INT_TYPE_V: u32 = 7; -pub const GPIO_PIN39_INT_TYPE_S: u32 = 7; -pub const GPIO_PIN39_PAD_DRIVER_V: u32 = 1; -pub const GPIO_PIN39_PAD_DRIVER_S: u32 = 2; -pub const GPIO_cali_conf_REG: u32 = 1072972072; -pub const GPIO_CALI_START_V: u32 = 1; -pub const GPIO_CALI_START_S: u32 = 31; -pub const GPIO_CALI_RTC_MAX: u32 = 1023; -pub const GPIO_CALI_RTC_MAX_V: u32 = 1023; -pub const GPIO_CALI_RTC_MAX_S: u32 = 0; -pub const GPIO_cali_data_REG: u32 = 1072972076; -pub const GPIO_CALI_RDY_SYNC2_V: u32 = 1; -pub const GPIO_CALI_RDY_SYNC2_S: u32 = 31; -pub const GPIO_CALI_RDY_REAL_V: u32 = 1; -pub const GPIO_CALI_RDY_REAL_S: u32 = 30; -pub const GPIO_CALI_VALUE_SYNC2: u32 = 1048575; -pub const GPIO_CALI_VALUE_SYNC2_V: u32 = 1048575; -pub const GPIO_CALI_VALUE_SYNC2_S: u32 = 0; -pub const GPIO_FUNC0_IN_SEL_CFG_REG: u32 = 1072972080; -pub const GPIO_SIG0_IN_SEL_V: u32 = 1; -pub const GPIO_SIG0_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC0_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC0_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC0_IN_SEL: u32 = 63; -pub const GPIO_FUNC0_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC0_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC1_IN_SEL_CFG_REG: u32 = 1072972084; -pub const GPIO_SIG1_IN_SEL_V: u32 = 1; -pub const GPIO_SIG1_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC1_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC1_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC1_IN_SEL: u32 = 63; -pub const GPIO_FUNC1_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC1_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC2_IN_SEL_CFG_REG: u32 = 1072972088; -pub const GPIO_SIG2_IN_SEL_V: u32 = 1; -pub const GPIO_SIG2_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC2_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC2_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC2_IN_SEL: u32 = 63; -pub const GPIO_FUNC2_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC2_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC3_IN_SEL_CFG_REG: u32 = 1072972092; -pub const GPIO_SIG3_IN_SEL_V: u32 = 1; -pub const GPIO_SIG3_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC3_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC3_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC3_IN_SEL: u32 = 63; -pub const GPIO_FUNC3_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC3_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC4_IN_SEL_CFG_REG: u32 = 1072972096; -pub const GPIO_SIG4_IN_SEL_V: u32 = 1; -pub const GPIO_SIG4_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC4_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC4_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC4_IN_SEL: u32 = 63; -pub const GPIO_FUNC4_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC4_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC5_IN_SEL_CFG_REG: u32 = 1072972100; -pub const GPIO_SIG5_IN_SEL_V: u32 = 1; -pub const GPIO_SIG5_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC5_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC5_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC5_IN_SEL: u32 = 63; -pub const GPIO_FUNC5_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC5_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC6_IN_SEL_CFG_REG: u32 = 1072972104; -pub const GPIO_SIG6_IN_SEL_V: u32 = 1; -pub const GPIO_SIG6_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC6_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC6_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC6_IN_SEL: u32 = 63; -pub const GPIO_FUNC6_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC6_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC7_IN_SEL_CFG_REG: u32 = 1072972108; -pub const GPIO_SIG7_IN_SEL_V: u32 = 1; -pub const GPIO_SIG7_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC7_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC7_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC7_IN_SEL: u32 = 63; -pub const GPIO_FUNC7_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC7_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC8_IN_SEL_CFG_REG: u32 = 1072972112; -pub const GPIO_SIG8_IN_SEL_V: u32 = 1; -pub const GPIO_SIG8_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC8_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC8_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC8_IN_SEL: u32 = 63; -pub const GPIO_FUNC8_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC8_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC9_IN_SEL_CFG_REG: u32 = 1072972116; -pub const GPIO_SIG9_IN_SEL_V: u32 = 1; -pub const GPIO_SIG9_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC9_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC9_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC9_IN_SEL: u32 = 63; -pub const GPIO_FUNC9_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC9_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC10_IN_SEL_CFG_REG: u32 = 1072972120; -pub const GPIO_SIG10_IN_SEL_V: u32 = 1; -pub const GPIO_SIG10_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC10_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC10_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC10_IN_SEL: u32 = 63; -pub const GPIO_FUNC10_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC10_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC11_IN_SEL_CFG_REG: u32 = 1072972124; -pub const GPIO_SIG11_IN_SEL_V: u32 = 1; -pub const GPIO_SIG11_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC11_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC11_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC11_IN_SEL: u32 = 63; -pub const GPIO_FUNC11_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC11_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC12_IN_SEL_CFG_REG: u32 = 1072972128; -pub const GPIO_SIG12_IN_SEL_V: u32 = 1; -pub const GPIO_SIG12_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC12_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC12_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC12_IN_SEL: u32 = 63; -pub const GPIO_FUNC12_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC12_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC13_IN_SEL_CFG_REG: u32 = 1072972132; -pub const GPIO_SIG13_IN_SEL_V: u32 = 1; -pub const GPIO_SIG13_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC13_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC13_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC13_IN_SEL: u32 = 63; -pub const GPIO_FUNC13_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC13_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC14_IN_SEL_CFG_REG: u32 = 1072972136; -pub const GPIO_SIG14_IN_SEL_V: u32 = 1; -pub const GPIO_SIG14_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC14_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC14_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC14_IN_SEL: u32 = 63; -pub const GPIO_FUNC14_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC14_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC15_IN_SEL_CFG_REG: u32 = 1072972140; -pub const GPIO_SIG15_IN_SEL_V: u32 = 1; -pub const GPIO_SIG15_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC15_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC15_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC15_IN_SEL: u32 = 63; -pub const GPIO_FUNC15_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC15_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC16_IN_SEL_CFG_REG: u32 = 1072972144; -pub const GPIO_SIG16_IN_SEL_V: u32 = 1; -pub const GPIO_SIG16_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC16_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC16_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC16_IN_SEL: u32 = 63; -pub const GPIO_FUNC16_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC16_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC17_IN_SEL_CFG_REG: u32 = 1072972148; -pub const GPIO_SIG17_IN_SEL_V: u32 = 1; -pub const GPIO_SIG17_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC17_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC17_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC17_IN_SEL: u32 = 63; -pub const GPIO_FUNC17_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC17_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC18_IN_SEL_CFG_REG: u32 = 1072972152; -pub const GPIO_SIG18_IN_SEL_V: u32 = 1; -pub const GPIO_SIG18_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC18_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC18_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC18_IN_SEL: u32 = 63; -pub const GPIO_FUNC18_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC18_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC19_IN_SEL_CFG_REG: u32 = 1072972156; -pub const GPIO_SIG19_IN_SEL_V: u32 = 1; -pub const GPIO_SIG19_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC19_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC19_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC19_IN_SEL: u32 = 63; -pub const GPIO_FUNC19_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC19_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC20_IN_SEL_CFG_REG: u32 = 1072972160; -pub const GPIO_SIG20_IN_SEL_V: u32 = 1; -pub const GPIO_SIG20_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC20_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC20_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC20_IN_SEL: u32 = 63; -pub const GPIO_FUNC20_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC20_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC21_IN_SEL_CFG_REG: u32 = 1072972164; -pub const GPIO_SIG21_IN_SEL_V: u32 = 1; -pub const GPIO_SIG21_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC21_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC21_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC21_IN_SEL: u32 = 63; -pub const GPIO_FUNC21_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC21_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC22_IN_SEL_CFG_REG: u32 = 1072972168; -pub const GPIO_SIG22_IN_SEL_V: u32 = 1; -pub const GPIO_SIG22_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC22_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC22_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC22_IN_SEL: u32 = 63; -pub const GPIO_FUNC22_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC22_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC23_IN_SEL_CFG_REG: u32 = 1072972172; -pub const GPIO_SIG23_IN_SEL_V: u32 = 1; -pub const GPIO_SIG23_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC23_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC23_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC23_IN_SEL: u32 = 63; -pub const GPIO_FUNC23_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC23_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC24_IN_SEL_CFG_REG: u32 = 1072972176; -pub const GPIO_SIG24_IN_SEL_V: u32 = 1; -pub const GPIO_SIG24_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC24_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC24_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC24_IN_SEL: u32 = 63; -pub const GPIO_FUNC24_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC24_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC25_IN_SEL_CFG_REG: u32 = 1072972180; -pub const GPIO_SIG25_IN_SEL_V: u32 = 1; -pub const GPIO_SIG25_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC25_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC25_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC25_IN_SEL: u32 = 63; -pub const GPIO_FUNC25_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC25_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC26_IN_SEL_CFG_REG: u32 = 1072972184; -pub const GPIO_SIG26_IN_SEL_V: u32 = 1; -pub const GPIO_SIG26_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC26_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC26_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC26_IN_SEL: u32 = 63; -pub const GPIO_FUNC26_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC26_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC27_IN_SEL_CFG_REG: u32 = 1072972188; -pub const GPIO_SIG27_IN_SEL_V: u32 = 1; -pub const GPIO_SIG27_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC27_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC27_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC27_IN_SEL: u32 = 63; -pub const GPIO_FUNC27_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC27_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC28_IN_SEL_CFG_REG: u32 = 1072972192; -pub const GPIO_SIG28_IN_SEL_V: u32 = 1; -pub const GPIO_SIG28_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC28_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC28_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC28_IN_SEL: u32 = 63; -pub const GPIO_FUNC28_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC28_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC29_IN_SEL_CFG_REG: u32 = 1072972196; -pub const GPIO_SIG29_IN_SEL_V: u32 = 1; -pub const GPIO_SIG29_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC29_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC29_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC29_IN_SEL: u32 = 63; -pub const GPIO_FUNC29_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC29_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC30_IN_SEL_CFG_REG: u32 = 1072972200; -pub const GPIO_SIG30_IN_SEL_V: u32 = 1; -pub const GPIO_SIG30_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC30_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC30_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC30_IN_SEL: u32 = 63; -pub const GPIO_FUNC30_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC30_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC31_IN_SEL_CFG_REG: u32 = 1072972204; -pub const GPIO_SIG31_IN_SEL_V: u32 = 1; -pub const GPIO_SIG31_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC31_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC31_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC31_IN_SEL: u32 = 63; -pub const GPIO_FUNC31_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC31_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC32_IN_SEL_CFG_REG: u32 = 1072972208; -pub const GPIO_SIG32_IN_SEL_V: u32 = 1; -pub const GPIO_SIG32_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC32_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC32_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC32_IN_SEL: u32 = 63; -pub const GPIO_FUNC32_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC32_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC33_IN_SEL_CFG_REG: u32 = 1072972212; -pub const GPIO_SIG33_IN_SEL_V: u32 = 1; -pub const GPIO_SIG33_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC33_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC33_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC33_IN_SEL: u32 = 63; -pub const GPIO_FUNC33_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC33_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC34_IN_SEL_CFG_REG: u32 = 1072972216; -pub const GPIO_SIG34_IN_SEL_V: u32 = 1; -pub const GPIO_SIG34_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC34_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC34_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC34_IN_SEL: u32 = 63; -pub const GPIO_FUNC34_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC34_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC35_IN_SEL_CFG_REG: u32 = 1072972220; -pub const GPIO_SIG35_IN_SEL_V: u32 = 1; -pub const GPIO_SIG35_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC35_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC35_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC35_IN_SEL: u32 = 63; -pub const GPIO_FUNC35_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC35_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC36_IN_SEL_CFG_REG: u32 = 1072972224; -pub const GPIO_SIG36_IN_SEL_V: u32 = 1; -pub const GPIO_SIG36_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC36_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC36_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC36_IN_SEL: u32 = 63; -pub const GPIO_FUNC36_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC36_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC37_IN_SEL_CFG_REG: u32 = 1072972228; -pub const GPIO_SIG37_IN_SEL_V: u32 = 1; -pub const GPIO_SIG37_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC37_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC37_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC37_IN_SEL: u32 = 63; -pub const GPIO_FUNC37_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC37_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC38_IN_SEL_CFG_REG: u32 = 1072972232; -pub const GPIO_SIG38_IN_SEL_V: u32 = 1; -pub const GPIO_SIG38_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC38_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC38_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC38_IN_SEL: u32 = 63; -pub const GPIO_FUNC38_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC38_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC39_IN_SEL_CFG_REG: u32 = 1072972236; -pub const GPIO_SIG39_IN_SEL_V: u32 = 1; -pub const GPIO_SIG39_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC39_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC39_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC39_IN_SEL: u32 = 63; -pub const GPIO_FUNC39_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC39_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC40_IN_SEL_CFG_REG: u32 = 1072972240; -pub const GPIO_SIG40_IN_SEL_V: u32 = 1; -pub const GPIO_SIG40_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC40_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC40_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC40_IN_SEL: u32 = 63; -pub const GPIO_FUNC40_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC40_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC41_IN_SEL_CFG_REG: u32 = 1072972244; -pub const GPIO_SIG41_IN_SEL_V: u32 = 1; -pub const GPIO_SIG41_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC41_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC41_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC41_IN_SEL: u32 = 63; -pub const GPIO_FUNC41_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC41_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC42_IN_SEL_CFG_REG: u32 = 1072972248; -pub const GPIO_SIG42_IN_SEL_V: u32 = 1; -pub const GPIO_SIG42_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC42_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC42_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC42_IN_SEL: u32 = 63; -pub const GPIO_FUNC42_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC42_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC43_IN_SEL_CFG_REG: u32 = 1072972252; -pub const GPIO_SIG43_IN_SEL_V: u32 = 1; -pub const GPIO_SIG43_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC43_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC43_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC43_IN_SEL: u32 = 63; -pub const GPIO_FUNC43_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC43_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC44_IN_SEL_CFG_REG: u32 = 1072972256; -pub const GPIO_SIG44_IN_SEL_V: u32 = 1; -pub const GPIO_SIG44_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC44_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC44_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC44_IN_SEL: u32 = 63; -pub const GPIO_FUNC44_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC44_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC45_IN_SEL_CFG_REG: u32 = 1072972260; -pub const GPIO_SIG45_IN_SEL_V: u32 = 1; -pub const GPIO_SIG45_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC45_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC45_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC45_IN_SEL: u32 = 63; -pub const GPIO_FUNC45_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC45_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC46_IN_SEL_CFG_REG: u32 = 1072972264; -pub const GPIO_SIG46_IN_SEL_V: u32 = 1; -pub const GPIO_SIG46_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC46_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC46_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC46_IN_SEL: u32 = 63; -pub const GPIO_FUNC46_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC46_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC47_IN_SEL_CFG_REG: u32 = 1072972268; -pub const GPIO_SIG47_IN_SEL_V: u32 = 1; -pub const GPIO_SIG47_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC47_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC47_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC47_IN_SEL: u32 = 63; -pub const GPIO_FUNC47_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC47_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC48_IN_SEL_CFG_REG: u32 = 1072972272; -pub const GPIO_SIG48_IN_SEL_V: u32 = 1; -pub const GPIO_SIG48_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC48_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC48_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC48_IN_SEL: u32 = 63; -pub const GPIO_FUNC48_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC48_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC49_IN_SEL_CFG_REG: u32 = 1072972276; -pub const GPIO_SIG49_IN_SEL_V: u32 = 1; -pub const GPIO_SIG49_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC49_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC49_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC49_IN_SEL: u32 = 63; -pub const GPIO_FUNC49_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC49_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC50_IN_SEL_CFG_REG: u32 = 1072972280; -pub const GPIO_SIG50_IN_SEL_V: u32 = 1; -pub const GPIO_SIG50_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC50_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC50_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC50_IN_SEL: u32 = 63; -pub const GPIO_FUNC50_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC50_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC51_IN_SEL_CFG_REG: u32 = 1072972284; -pub const GPIO_SIG51_IN_SEL_V: u32 = 1; -pub const GPIO_SIG51_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC51_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC51_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC51_IN_SEL: u32 = 63; -pub const GPIO_FUNC51_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC51_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC52_IN_SEL_CFG_REG: u32 = 1072972288; -pub const GPIO_SIG52_IN_SEL_V: u32 = 1; -pub const GPIO_SIG52_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC52_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC52_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC52_IN_SEL: u32 = 63; -pub const GPIO_FUNC52_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC52_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC53_IN_SEL_CFG_REG: u32 = 1072972292; -pub const GPIO_SIG53_IN_SEL_V: u32 = 1; -pub const GPIO_SIG53_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC53_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC53_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC53_IN_SEL: u32 = 63; -pub const GPIO_FUNC53_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC53_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC54_IN_SEL_CFG_REG: u32 = 1072972296; -pub const GPIO_SIG54_IN_SEL_V: u32 = 1; -pub const GPIO_SIG54_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC54_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC54_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC54_IN_SEL: u32 = 63; -pub const GPIO_FUNC54_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC54_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC55_IN_SEL_CFG_REG: u32 = 1072972300; -pub const GPIO_SIG55_IN_SEL_V: u32 = 1; -pub const GPIO_SIG55_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC55_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC55_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC55_IN_SEL: u32 = 63; -pub const GPIO_FUNC55_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC55_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC56_IN_SEL_CFG_REG: u32 = 1072972304; -pub const GPIO_SIG56_IN_SEL_V: u32 = 1; -pub const GPIO_SIG56_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC56_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC56_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC56_IN_SEL: u32 = 63; -pub const GPIO_FUNC56_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC56_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC57_IN_SEL_CFG_REG: u32 = 1072972308; -pub const GPIO_SIG57_IN_SEL_V: u32 = 1; -pub const GPIO_SIG57_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC57_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC57_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC57_IN_SEL: u32 = 63; -pub const GPIO_FUNC57_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC57_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC58_IN_SEL_CFG_REG: u32 = 1072972312; -pub const GPIO_SIG58_IN_SEL_V: u32 = 1; -pub const GPIO_SIG58_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC58_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC58_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC58_IN_SEL: u32 = 63; -pub const GPIO_FUNC58_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC58_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC59_IN_SEL_CFG_REG: u32 = 1072972316; -pub const GPIO_SIG59_IN_SEL_V: u32 = 1; -pub const GPIO_SIG59_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC59_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC59_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC59_IN_SEL: u32 = 63; -pub const GPIO_FUNC59_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC59_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC60_IN_SEL_CFG_REG: u32 = 1072972320; -pub const GPIO_SIG60_IN_SEL_V: u32 = 1; -pub const GPIO_SIG60_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC60_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC60_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC60_IN_SEL: u32 = 63; -pub const GPIO_FUNC60_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC60_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC61_IN_SEL_CFG_REG: u32 = 1072972324; -pub const GPIO_SIG61_IN_SEL_V: u32 = 1; -pub const GPIO_SIG61_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC61_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC61_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC61_IN_SEL: u32 = 63; -pub const GPIO_FUNC61_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC61_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC62_IN_SEL_CFG_REG: u32 = 1072972328; -pub const GPIO_SIG62_IN_SEL_V: u32 = 1; -pub const GPIO_SIG62_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC62_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC62_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC62_IN_SEL: u32 = 63; -pub const GPIO_FUNC62_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC62_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC63_IN_SEL_CFG_REG: u32 = 1072972332; -pub const GPIO_SIG63_IN_SEL_V: u32 = 1; -pub const GPIO_SIG63_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC63_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC63_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC63_IN_SEL: u32 = 63; -pub const GPIO_FUNC63_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC63_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC64_IN_SEL_CFG_REG: u32 = 1072972336; -pub const GPIO_SIG64_IN_SEL_V: u32 = 1; -pub const GPIO_SIG64_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC64_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC64_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC64_IN_SEL: u32 = 63; -pub const GPIO_FUNC64_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC64_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC65_IN_SEL_CFG_REG: u32 = 1072972340; -pub const GPIO_SIG65_IN_SEL_V: u32 = 1; -pub const GPIO_SIG65_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC65_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC65_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC65_IN_SEL: u32 = 63; -pub const GPIO_FUNC65_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC65_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC66_IN_SEL_CFG_REG: u32 = 1072972344; -pub const GPIO_SIG66_IN_SEL_V: u32 = 1; -pub const GPIO_SIG66_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC66_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC66_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC66_IN_SEL: u32 = 63; -pub const GPIO_FUNC66_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC66_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC67_IN_SEL_CFG_REG: u32 = 1072972348; -pub const GPIO_SIG67_IN_SEL_V: u32 = 1; -pub const GPIO_SIG67_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC67_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC67_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC67_IN_SEL: u32 = 63; -pub const GPIO_FUNC67_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC67_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC68_IN_SEL_CFG_REG: u32 = 1072972352; -pub const GPIO_SIG68_IN_SEL_V: u32 = 1; -pub const GPIO_SIG68_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC68_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC68_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC68_IN_SEL: u32 = 63; -pub const GPIO_FUNC68_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC68_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC69_IN_SEL_CFG_REG: u32 = 1072972356; -pub const GPIO_SIG69_IN_SEL_V: u32 = 1; -pub const GPIO_SIG69_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC69_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC69_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC69_IN_SEL: u32 = 63; -pub const GPIO_FUNC69_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC69_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC70_IN_SEL_CFG_REG: u32 = 1072972360; -pub const GPIO_SIG70_IN_SEL_V: u32 = 1; -pub const GPIO_SIG70_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC70_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC70_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC70_IN_SEL: u32 = 63; -pub const GPIO_FUNC70_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC70_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC71_IN_SEL_CFG_REG: u32 = 1072972364; -pub const GPIO_SIG71_IN_SEL_V: u32 = 1; -pub const GPIO_SIG71_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC71_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC71_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC71_IN_SEL: u32 = 63; -pub const GPIO_FUNC71_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC71_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC72_IN_SEL_CFG_REG: u32 = 1072972368; -pub const GPIO_SIG72_IN_SEL_V: u32 = 1; -pub const GPIO_SIG72_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC72_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC72_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC72_IN_SEL: u32 = 63; -pub const GPIO_FUNC72_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC72_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC73_IN_SEL_CFG_REG: u32 = 1072972372; -pub const GPIO_SIG73_IN_SEL_V: u32 = 1; -pub const GPIO_SIG73_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC73_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC73_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC73_IN_SEL: u32 = 63; -pub const GPIO_FUNC73_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC73_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC74_IN_SEL_CFG_REG: u32 = 1072972376; -pub const GPIO_SIG74_IN_SEL_V: u32 = 1; -pub const GPIO_SIG74_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC74_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC74_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC74_IN_SEL: u32 = 63; -pub const GPIO_FUNC74_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC74_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC75_IN_SEL_CFG_REG: u32 = 1072972380; -pub const GPIO_SIG75_IN_SEL_V: u32 = 1; -pub const GPIO_SIG75_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC75_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC75_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC75_IN_SEL: u32 = 63; -pub const GPIO_FUNC75_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC75_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC76_IN_SEL_CFG_REG: u32 = 1072972384; -pub const GPIO_SIG76_IN_SEL_V: u32 = 1; -pub const GPIO_SIG76_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC76_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC76_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC76_IN_SEL: u32 = 63; -pub const GPIO_FUNC76_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC76_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC77_IN_SEL_CFG_REG: u32 = 1072972388; -pub const GPIO_SIG77_IN_SEL_V: u32 = 1; -pub const GPIO_SIG77_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC77_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC77_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC77_IN_SEL: u32 = 63; -pub const GPIO_FUNC77_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC77_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC78_IN_SEL_CFG_REG: u32 = 1072972392; -pub const GPIO_SIG78_IN_SEL_V: u32 = 1; -pub const GPIO_SIG78_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC78_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC78_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC78_IN_SEL: u32 = 63; -pub const GPIO_FUNC78_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC78_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC79_IN_SEL_CFG_REG: u32 = 1072972396; -pub const GPIO_SIG79_IN_SEL_V: u32 = 1; -pub const GPIO_SIG79_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC79_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC79_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC79_IN_SEL: u32 = 63; -pub const GPIO_FUNC79_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC79_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC80_IN_SEL_CFG_REG: u32 = 1072972400; -pub const GPIO_SIG80_IN_SEL_V: u32 = 1; -pub const GPIO_SIG80_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC80_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC80_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC80_IN_SEL: u32 = 63; -pub const GPIO_FUNC80_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC80_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC81_IN_SEL_CFG_REG: u32 = 1072972404; -pub const GPIO_SIG81_IN_SEL_V: u32 = 1; -pub const GPIO_SIG81_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC81_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC81_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC81_IN_SEL: u32 = 63; -pub const GPIO_FUNC81_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC81_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC82_IN_SEL_CFG_REG: u32 = 1072972408; -pub const GPIO_SIG82_IN_SEL_V: u32 = 1; -pub const GPIO_SIG82_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC82_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC82_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC82_IN_SEL: u32 = 63; -pub const GPIO_FUNC82_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC82_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC83_IN_SEL_CFG_REG: u32 = 1072972412; -pub const GPIO_SIG83_IN_SEL_V: u32 = 1; -pub const GPIO_SIG83_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC83_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC83_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC83_IN_SEL: u32 = 63; -pub const GPIO_FUNC83_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC83_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC84_IN_SEL_CFG_REG: u32 = 1072972416; -pub const GPIO_SIG84_IN_SEL_V: u32 = 1; -pub const GPIO_SIG84_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC84_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC84_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC84_IN_SEL: u32 = 63; -pub const GPIO_FUNC84_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC84_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC85_IN_SEL_CFG_REG: u32 = 1072972420; -pub const GPIO_SIG85_IN_SEL_V: u32 = 1; -pub const GPIO_SIG85_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC85_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC85_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC85_IN_SEL: u32 = 63; -pub const GPIO_FUNC85_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC85_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC86_IN_SEL_CFG_REG: u32 = 1072972424; -pub const GPIO_SIG86_IN_SEL_V: u32 = 1; -pub const GPIO_SIG86_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC86_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC86_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC86_IN_SEL: u32 = 63; -pub const GPIO_FUNC86_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC86_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC87_IN_SEL_CFG_REG: u32 = 1072972428; -pub const GPIO_SIG87_IN_SEL_V: u32 = 1; -pub const GPIO_SIG87_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC87_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC87_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC87_IN_SEL: u32 = 63; -pub const GPIO_FUNC87_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC87_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC88_IN_SEL_CFG_REG: u32 = 1072972432; -pub const GPIO_SIG88_IN_SEL_V: u32 = 1; -pub const GPIO_SIG88_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC88_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC88_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC88_IN_SEL: u32 = 63; -pub const GPIO_FUNC88_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC88_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC89_IN_SEL_CFG_REG: u32 = 1072972436; -pub const GPIO_SIG89_IN_SEL_V: u32 = 1; -pub const GPIO_SIG89_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC89_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC89_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC89_IN_SEL: u32 = 63; -pub const GPIO_FUNC89_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC89_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC90_IN_SEL_CFG_REG: u32 = 1072972440; -pub const GPIO_SIG90_IN_SEL_V: u32 = 1; -pub const GPIO_SIG90_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC90_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC90_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC90_IN_SEL: u32 = 63; -pub const GPIO_FUNC90_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC90_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC91_IN_SEL_CFG_REG: u32 = 1072972444; -pub const GPIO_SIG91_IN_SEL_V: u32 = 1; -pub const GPIO_SIG91_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC91_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC91_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC91_IN_SEL: u32 = 63; -pub const GPIO_FUNC91_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC91_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC92_IN_SEL_CFG_REG: u32 = 1072972448; -pub const GPIO_SIG92_IN_SEL_V: u32 = 1; -pub const GPIO_SIG92_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC92_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC92_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC92_IN_SEL: u32 = 63; -pub const GPIO_FUNC92_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC92_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC93_IN_SEL_CFG_REG: u32 = 1072972452; -pub const GPIO_SIG93_IN_SEL_V: u32 = 1; -pub const GPIO_SIG93_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC93_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC93_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC93_IN_SEL: u32 = 63; -pub const GPIO_FUNC93_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC93_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC94_IN_SEL_CFG_REG: u32 = 1072972456; -pub const GPIO_SIG94_IN_SEL_V: u32 = 1; -pub const GPIO_SIG94_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC94_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC94_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC94_IN_SEL: u32 = 63; -pub const GPIO_FUNC94_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC94_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC95_IN_SEL_CFG_REG: u32 = 1072972460; -pub const GPIO_SIG95_IN_SEL_V: u32 = 1; -pub const GPIO_SIG95_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC95_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC95_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC95_IN_SEL: u32 = 63; -pub const GPIO_FUNC95_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC95_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC96_IN_SEL_CFG_REG: u32 = 1072972464; -pub const GPIO_SIG96_IN_SEL_V: u32 = 1; -pub const GPIO_SIG96_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC96_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC96_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC96_IN_SEL: u32 = 63; -pub const GPIO_FUNC96_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC96_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC97_IN_SEL_CFG_REG: u32 = 1072972468; -pub const GPIO_SIG97_IN_SEL_V: u32 = 1; -pub const GPIO_SIG97_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC97_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC97_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC97_IN_SEL: u32 = 63; -pub const GPIO_FUNC97_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC97_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC98_IN_SEL_CFG_REG: u32 = 1072972472; -pub const GPIO_SIG98_IN_SEL_V: u32 = 1; -pub const GPIO_SIG98_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC98_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC98_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC98_IN_SEL: u32 = 63; -pub const GPIO_FUNC98_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC98_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC99_IN_SEL_CFG_REG: u32 = 1072972476; -pub const GPIO_SIG99_IN_SEL_V: u32 = 1; -pub const GPIO_SIG99_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC99_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC99_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC99_IN_SEL: u32 = 63; -pub const GPIO_FUNC99_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC99_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC100_IN_SEL_CFG_REG: u32 = 1072972480; -pub const GPIO_SIG100_IN_SEL_V: u32 = 1; -pub const GPIO_SIG100_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC100_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC100_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC100_IN_SEL: u32 = 63; -pub const GPIO_FUNC100_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC100_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC101_IN_SEL_CFG_REG: u32 = 1072972484; -pub const GPIO_SIG101_IN_SEL_V: u32 = 1; -pub const GPIO_SIG101_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC101_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC101_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC101_IN_SEL: u32 = 63; -pub const GPIO_FUNC101_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC101_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC102_IN_SEL_CFG_REG: u32 = 1072972488; -pub const GPIO_SIG102_IN_SEL_V: u32 = 1; -pub const GPIO_SIG102_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC102_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC102_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC102_IN_SEL: u32 = 63; -pub const GPIO_FUNC102_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC102_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC103_IN_SEL_CFG_REG: u32 = 1072972492; -pub const GPIO_SIG103_IN_SEL_V: u32 = 1; -pub const GPIO_SIG103_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC103_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC103_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC103_IN_SEL: u32 = 63; -pub const GPIO_FUNC103_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC103_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC104_IN_SEL_CFG_REG: u32 = 1072972496; -pub const GPIO_SIG104_IN_SEL_V: u32 = 1; -pub const GPIO_SIG104_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC104_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC104_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC104_IN_SEL: u32 = 63; -pub const GPIO_FUNC104_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC104_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC105_IN_SEL_CFG_REG: u32 = 1072972500; -pub const GPIO_SIG105_IN_SEL_V: u32 = 1; -pub const GPIO_SIG105_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC105_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC105_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC105_IN_SEL: u32 = 63; -pub const GPIO_FUNC105_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC105_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC106_IN_SEL_CFG_REG: u32 = 1072972504; -pub const GPIO_SIG106_IN_SEL_V: u32 = 1; -pub const GPIO_SIG106_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC106_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC106_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC106_IN_SEL: u32 = 63; -pub const GPIO_FUNC106_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC106_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC107_IN_SEL_CFG_REG: u32 = 1072972508; -pub const GPIO_SIG107_IN_SEL_V: u32 = 1; -pub const GPIO_SIG107_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC107_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC107_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC107_IN_SEL: u32 = 63; -pub const GPIO_FUNC107_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC107_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC108_IN_SEL_CFG_REG: u32 = 1072972512; -pub const GPIO_SIG108_IN_SEL_V: u32 = 1; -pub const GPIO_SIG108_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC108_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC108_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC108_IN_SEL: u32 = 63; -pub const GPIO_FUNC108_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC108_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC109_IN_SEL_CFG_REG: u32 = 1072972516; -pub const GPIO_SIG109_IN_SEL_V: u32 = 1; -pub const GPIO_SIG109_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC109_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC109_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC109_IN_SEL: u32 = 63; -pub const GPIO_FUNC109_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC109_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC110_IN_SEL_CFG_REG: u32 = 1072972520; -pub const GPIO_SIG110_IN_SEL_V: u32 = 1; -pub const GPIO_SIG110_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC110_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC110_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC110_IN_SEL: u32 = 63; -pub const GPIO_FUNC110_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC110_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC111_IN_SEL_CFG_REG: u32 = 1072972524; -pub const GPIO_SIG111_IN_SEL_V: u32 = 1; -pub const GPIO_SIG111_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC111_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC111_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC111_IN_SEL: u32 = 63; -pub const GPIO_FUNC111_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC111_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC112_IN_SEL_CFG_REG: u32 = 1072972528; -pub const GPIO_SIG112_IN_SEL_V: u32 = 1; -pub const GPIO_SIG112_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC112_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC112_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC112_IN_SEL: u32 = 63; -pub const GPIO_FUNC112_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC112_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC113_IN_SEL_CFG_REG: u32 = 1072972532; -pub const GPIO_SIG113_IN_SEL_V: u32 = 1; -pub const GPIO_SIG113_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC113_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC113_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC113_IN_SEL: u32 = 63; -pub const GPIO_FUNC113_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC113_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC114_IN_SEL_CFG_REG: u32 = 1072972536; -pub const GPIO_SIG114_IN_SEL_V: u32 = 1; -pub const GPIO_SIG114_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC114_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC114_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC114_IN_SEL: u32 = 63; -pub const GPIO_FUNC114_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC114_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC115_IN_SEL_CFG_REG: u32 = 1072972540; -pub const GPIO_SIG115_IN_SEL_V: u32 = 1; -pub const GPIO_SIG115_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC115_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC115_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC115_IN_SEL: u32 = 63; -pub const GPIO_FUNC115_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC115_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC116_IN_SEL_CFG_REG: u32 = 1072972544; -pub const GPIO_SIG116_IN_SEL_V: u32 = 1; -pub const GPIO_SIG116_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC116_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC116_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC116_IN_SEL: u32 = 63; -pub const GPIO_FUNC116_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC116_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC117_IN_SEL_CFG_REG: u32 = 1072972548; -pub const GPIO_SIG117_IN_SEL_V: u32 = 1; -pub const GPIO_SIG117_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC117_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC117_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC117_IN_SEL: u32 = 63; -pub const GPIO_FUNC117_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC117_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC118_IN_SEL_CFG_REG: u32 = 1072972552; -pub const GPIO_SIG118_IN_SEL_V: u32 = 1; -pub const GPIO_SIG118_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC118_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC118_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC118_IN_SEL: u32 = 63; -pub const GPIO_FUNC118_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC118_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC119_IN_SEL_CFG_REG: u32 = 1072972556; -pub const GPIO_SIG119_IN_SEL_V: u32 = 1; -pub const GPIO_SIG119_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC119_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC119_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC119_IN_SEL: u32 = 63; -pub const GPIO_FUNC119_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC119_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC120_IN_SEL_CFG_REG: u32 = 1072972560; -pub const GPIO_SIG120_IN_SEL_V: u32 = 1; -pub const GPIO_SIG120_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC120_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC120_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC120_IN_SEL: u32 = 63; -pub const GPIO_FUNC120_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC120_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC121_IN_SEL_CFG_REG: u32 = 1072972564; -pub const GPIO_SIG121_IN_SEL_V: u32 = 1; -pub const GPIO_SIG121_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC121_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC121_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC121_IN_SEL: u32 = 63; -pub const GPIO_FUNC121_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC121_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC122_IN_SEL_CFG_REG: u32 = 1072972568; -pub const GPIO_SIG122_IN_SEL_V: u32 = 1; -pub const GPIO_SIG122_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC122_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC122_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC122_IN_SEL: u32 = 63; -pub const GPIO_FUNC122_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC122_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC123_IN_SEL_CFG_REG: u32 = 1072972572; -pub const GPIO_SIG123_IN_SEL_V: u32 = 1; -pub const GPIO_SIG123_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC123_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC123_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC123_IN_SEL: u32 = 63; -pub const GPIO_FUNC123_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC123_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC124_IN_SEL_CFG_REG: u32 = 1072972576; -pub const GPIO_SIG124_IN_SEL_V: u32 = 1; -pub const GPIO_SIG124_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC124_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC124_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC124_IN_SEL: u32 = 63; -pub const GPIO_FUNC124_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC124_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC125_IN_SEL_CFG_REG: u32 = 1072972580; -pub const GPIO_SIG125_IN_SEL_V: u32 = 1; -pub const GPIO_SIG125_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC125_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC125_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC125_IN_SEL: u32 = 63; -pub const GPIO_FUNC125_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC125_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC126_IN_SEL_CFG_REG: u32 = 1072972584; -pub const GPIO_SIG126_IN_SEL_V: u32 = 1; -pub const GPIO_SIG126_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC126_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC126_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC126_IN_SEL: u32 = 63; -pub const GPIO_FUNC126_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC126_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC127_IN_SEL_CFG_REG: u32 = 1072972588; -pub const GPIO_SIG127_IN_SEL_V: u32 = 1; -pub const GPIO_SIG127_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC127_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC127_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC127_IN_SEL: u32 = 63; -pub const GPIO_FUNC127_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC127_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC128_IN_SEL_CFG_REG: u32 = 1072972592; -pub const GPIO_SIG128_IN_SEL_V: u32 = 1; -pub const GPIO_SIG128_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC128_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC128_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC128_IN_SEL: u32 = 63; -pub const GPIO_FUNC128_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC128_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC129_IN_SEL_CFG_REG: u32 = 1072972596; -pub const GPIO_SIG129_IN_SEL_V: u32 = 1; -pub const GPIO_SIG129_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC129_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC129_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC129_IN_SEL: u32 = 63; -pub const GPIO_FUNC129_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC129_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC130_IN_SEL_CFG_REG: u32 = 1072972600; -pub const GPIO_SIG130_IN_SEL_V: u32 = 1; -pub const GPIO_SIG130_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC130_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC130_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC130_IN_SEL: u32 = 63; -pub const GPIO_FUNC130_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC130_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC131_IN_SEL_CFG_REG: u32 = 1072972604; -pub const GPIO_SIG131_IN_SEL_V: u32 = 1; -pub const GPIO_SIG131_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC131_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC131_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC131_IN_SEL: u32 = 63; -pub const GPIO_FUNC131_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC131_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC132_IN_SEL_CFG_REG: u32 = 1072972608; -pub const GPIO_SIG132_IN_SEL_V: u32 = 1; -pub const GPIO_SIG132_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC132_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC132_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC132_IN_SEL: u32 = 63; -pub const GPIO_FUNC132_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC132_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC133_IN_SEL_CFG_REG: u32 = 1072972612; -pub const GPIO_SIG133_IN_SEL_V: u32 = 1; -pub const GPIO_SIG133_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC133_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC133_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC133_IN_SEL: u32 = 63; -pub const GPIO_FUNC133_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC133_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC134_IN_SEL_CFG_REG: u32 = 1072972616; -pub const GPIO_SIG134_IN_SEL_V: u32 = 1; -pub const GPIO_SIG134_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC134_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC134_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC134_IN_SEL: u32 = 63; -pub const GPIO_FUNC134_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC134_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC135_IN_SEL_CFG_REG: u32 = 1072972620; -pub const GPIO_SIG135_IN_SEL_V: u32 = 1; -pub const GPIO_SIG135_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC135_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC135_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC135_IN_SEL: u32 = 63; -pub const GPIO_FUNC135_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC135_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC136_IN_SEL_CFG_REG: u32 = 1072972624; -pub const GPIO_SIG136_IN_SEL_V: u32 = 1; -pub const GPIO_SIG136_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC136_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC136_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC136_IN_SEL: u32 = 63; -pub const GPIO_FUNC136_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC136_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC137_IN_SEL_CFG_REG: u32 = 1072972628; -pub const GPIO_SIG137_IN_SEL_V: u32 = 1; -pub const GPIO_SIG137_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC137_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC137_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC137_IN_SEL: u32 = 63; -pub const GPIO_FUNC137_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC137_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC138_IN_SEL_CFG_REG: u32 = 1072972632; -pub const GPIO_SIG138_IN_SEL_V: u32 = 1; -pub const GPIO_SIG138_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC138_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC138_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC138_IN_SEL: u32 = 63; -pub const GPIO_FUNC138_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC138_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC139_IN_SEL_CFG_REG: u32 = 1072972636; -pub const GPIO_SIG139_IN_SEL_V: u32 = 1; -pub const GPIO_SIG139_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC139_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC139_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC139_IN_SEL: u32 = 63; -pub const GPIO_FUNC139_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC139_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC140_IN_SEL_CFG_REG: u32 = 1072972640; -pub const GPIO_SIG140_IN_SEL_V: u32 = 1; -pub const GPIO_SIG140_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC140_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC140_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC140_IN_SEL: u32 = 63; -pub const GPIO_FUNC140_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC140_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC141_IN_SEL_CFG_REG: u32 = 1072972644; -pub const GPIO_SIG141_IN_SEL_V: u32 = 1; -pub const GPIO_SIG141_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC141_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC141_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC141_IN_SEL: u32 = 63; -pub const GPIO_FUNC141_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC141_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC142_IN_SEL_CFG_REG: u32 = 1072972648; -pub const GPIO_SIG142_IN_SEL_V: u32 = 1; -pub const GPIO_SIG142_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC142_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC142_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC142_IN_SEL: u32 = 63; -pub const GPIO_FUNC142_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC142_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC143_IN_SEL_CFG_REG: u32 = 1072972652; -pub const GPIO_SIG143_IN_SEL_V: u32 = 1; -pub const GPIO_SIG143_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC143_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC143_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC143_IN_SEL: u32 = 63; -pub const GPIO_FUNC143_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC143_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC144_IN_SEL_CFG_REG: u32 = 1072972656; -pub const GPIO_SIG144_IN_SEL_V: u32 = 1; -pub const GPIO_SIG144_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC144_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC144_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC144_IN_SEL: u32 = 63; -pub const GPIO_FUNC144_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC144_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC145_IN_SEL_CFG_REG: u32 = 1072972660; -pub const GPIO_SIG145_IN_SEL_V: u32 = 1; -pub const GPIO_SIG145_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC145_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC145_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC145_IN_SEL: u32 = 63; -pub const GPIO_FUNC145_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC145_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC146_IN_SEL_CFG_REG: u32 = 1072972664; -pub const GPIO_SIG146_IN_SEL_V: u32 = 1; -pub const GPIO_SIG146_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC146_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC146_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC146_IN_SEL: u32 = 63; -pub const GPIO_FUNC146_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC146_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC147_IN_SEL_CFG_REG: u32 = 1072972668; -pub const GPIO_SIG147_IN_SEL_V: u32 = 1; -pub const GPIO_SIG147_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC147_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC147_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC147_IN_SEL: u32 = 63; -pub const GPIO_FUNC147_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC147_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC148_IN_SEL_CFG_REG: u32 = 1072972672; -pub const GPIO_SIG148_IN_SEL_V: u32 = 1; -pub const GPIO_SIG148_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC148_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC148_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC148_IN_SEL: u32 = 63; -pub const GPIO_FUNC148_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC148_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC149_IN_SEL_CFG_REG: u32 = 1072972676; -pub const GPIO_SIG149_IN_SEL_V: u32 = 1; -pub const GPIO_SIG149_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC149_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC149_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC149_IN_SEL: u32 = 63; -pub const GPIO_FUNC149_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC149_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC150_IN_SEL_CFG_REG: u32 = 1072972680; -pub const GPIO_SIG150_IN_SEL_V: u32 = 1; -pub const GPIO_SIG150_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC150_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC150_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC150_IN_SEL: u32 = 63; -pub const GPIO_FUNC150_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC150_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC151_IN_SEL_CFG_REG: u32 = 1072972684; -pub const GPIO_SIG151_IN_SEL_V: u32 = 1; -pub const GPIO_SIG151_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC151_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC151_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC151_IN_SEL: u32 = 63; -pub const GPIO_FUNC151_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC151_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC152_IN_SEL_CFG_REG: u32 = 1072972688; -pub const GPIO_SIG152_IN_SEL_V: u32 = 1; -pub const GPIO_SIG152_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC152_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC152_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC152_IN_SEL: u32 = 63; -pub const GPIO_FUNC152_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC152_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC153_IN_SEL_CFG_REG: u32 = 1072972692; -pub const GPIO_SIG153_IN_SEL_V: u32 = 1; -pub const GPIO_SIG153_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC153_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC153_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC153_IN_SEL: u32 = 63; -pub const GPIO_FUNC153_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC153_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC154_IN_SEL_CFG_REG: u32 = 1072972696; -pub const GPIO_SIG154_IN_SEL_V: u32 = 1; -pub const GPIO_SIG154_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC154_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC154_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC154_IN_SEL: u32 = 63; -pub const GPIO_FUNC154_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC154_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC155_IN_SEL_CFG_REG: u32 = 1072972700; -pub const GPIO_SIG155_IN_SEL_V: u32 = 1; -pub const GPIO_SIG155_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC155_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC155_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC155_IN_SEL: u32 = 63; -pub const GPIO_FUNC155_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC155_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC156_IN_SEL_CFG_REG: u32 = 1072972704; -pub const GPIO_SIG156_IN_SEL_V: u32 = 1; -pub const GPIO_SIG156_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC156_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC156_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC156_IN_SEL: u32 = 63; -pub const GPIO_FUNC156_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC156_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC157_IN_SEL_CFG_REG: u32 = 1072972708; -pub const GPIO_SIG157_IN_SEL_V: u32 = 1; -pub const GPIO_SIG157_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC157_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC157_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC157_IN_SEL: u32 = 63; -pub const GPIO_FUNC157_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC157_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC158_IN_SEL_CFG_REG: u32 = 1072972712; -pub const GPIO_SIG158_IN_SEL_V: u32 = 1; -pub const GPIO_SIG158_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC158_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC158_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC158_IN_SEL: u32 = 63; -pub const GPIO_FUNC158_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC158_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC159_IN_SEL_CFG_REG: u32 = 1072972716; -pub const GPIO_SIG159_IN_SEL_V: u32 = 1; -pub const GPIO_SIG159_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC159_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC159_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC159_IN_SEL: u32 = 63; -pub const GPIO_FUNC159_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC159_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC160_IN_SEL_CFG_REG: u32 = 1072972720; -pub const GPIO_SIG160_IN_SEL_V: u32 = 1; -pub const GPIO_SIG160_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC160_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC160_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC160_IN_SEL: u32 = 63; -pub const GPIO_FUNC160_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC160_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC161_IN_SEL_CFG_REG: u32 = 1072972724; -pub const GPIO_SIG161_IN_SEL_V: u32 = 1; -pub const GPIO_SIG161_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC161_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC161_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC161_IN_SEL: u32 = 63; -pub const GPIO_FUNC161_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC161_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC162_IN_SEL_CFG_REG: u32 = 1072972728; -pub const GPIO_SIG162_IN_SEL_V: u32 = 1; -pub const GPIO_SIG162_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC162_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC162_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC162_IN_SEL: u32 = 63; -pub const GPIO_FUNC162_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC162_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC163_IN_SEL_CFG_REG: u32 = 1072972732; -pub const GPIO_SIG163_IN_SEL_V: u32 = 1; -pub const GPIO_SIG163_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC163_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC163_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC163_IN_SEL: u32 = 63; -pub const GPIO_FUNC163_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC163_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC164_IN_SEL_CFG_REG: u32 = 1072972736; -pub const GPIO_SIG164_IN_SEL_V: u32 = 1; -pub const GPIO_SIG164_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC164_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC164_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC164_IN_SEL: u32 = 63; -pub const GPIO_FUNC164_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC164_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC165_IN_SEL_CFG_REG: u32 = 1072972740; -pub const GPIO_SIG165_IN_SEL_V: u32 = 1; -pub const GPIO_SIG165_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC165_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC165_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC165_IN_SEL: u32 = 63; -pub const GPIO_FUNC165_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC165_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC166_IN_SEL_CFG_REG: u32 = 1072972744; -pub const GPIO_SIG166_IN_SEL_V: u32 = 1; -pub const GPIO_SIG166_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC166_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC166_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC166_IN_SEL: u32 = 63; -pub const GPIO_FUNC166_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC166_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC167_IN_SEL_CFG_REG: u32 = 1072972748; -pub const GPIO_SIG167_IN_SEL_V: u32 = 1; -pub const GPIO_SIG167_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC167_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC167_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC167_IN_SEL: u32 = 63; -pub const GPIO_FUNC167_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC167_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC168_IN_SEL_CFG_REG: u32 = 1072972752; -pub const GPIO_SIG168_IN_SEL_V: u32 = 1; -pub const GPIO_SIG168_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC168_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC168_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC168_IN_SEL: u32 = 63; -pub const GPIO_FUNC168_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC168_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC169_IN_SEL_CFG_REG: u32 = 1072972756; -pub const GPIO_SIG169_IN_SEL_V: u32 = 1; -pub const GPIO_SIG169_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC169_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC169_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC169_IN_SEL: u32 = 63; -pub const GPIO_FUNC169_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC169_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC170_IN_SEL_CFG_REG: u32 = 1072972760; -pub const GPIO_SIG170_IN_SEL_V: u32 = 1; -pub const GPIO_SIG170_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC170_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC170_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC170_IN_SEL: u32 = 63; -pub const GPIO_FUNC170_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC170_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC171_IN_SEL_CFG_REG: u32 = 1072972764; -pub const GPIO_SIG171_IN_SEL_V: u32 = 1; -pub const GPIO_SIG171_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC171_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC171_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC171_IN_SEL: u32 = 63; -pub const GPIO_FUNC171_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC171_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC172_IN_SEL_CFG_REG: u32 = 1072972768; -pub const GPIO_SIG172_IN_SEL_V: u32 = 1; -pub const GPIO_SIG172_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC172_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC172_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC172_IN_SEL: u32 = 63; -pub const GPIO_FUNC172_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC172_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC173_IN_SEL_CFG_REG: u32 = 1072972772; -pub const GPIO_SIG173_IN_SEL_V: u32 = 1; -pub const GPIO_SIG173_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC173_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC173_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC173_IN_SEL: u32 = 63; -pub const GPIO_FUNC173_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC173_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC174_IN_SEL_CFG_REG: u32 = 1072972776; -pub const GPIO_SIG174_IN_SEL_V: u32 = 1; -pub const GPIO_SIG174_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC174_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC174_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC174_IN_SEL: u32 = 63; -pub const GPIO_FUNC174_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC174_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC175_IN_SEL_CFG_REG: u32 = 1072972780; -pub const GPIO_SIG175_IN_SEL_V: u32 = 1; -pub const GPIO_SIG175_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC175_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC175_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC175_IN_SEL: u32 = 63; -pub const GPIO_FUNC175_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC175_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC176_IN_SEL_CFG_REG: u32 = 1072972784; -pub const GPIO_SIG176_IN_SEL_V: u32 = 1; -pub const GPIO_SIG176_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC176_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC176_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC176_IN_SEL: u32 = 63; -pub const GPIO_FUNC176_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC176_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC177_IN_SEL_CFG_REG: u32 = 1072972788; -pub const GPIO_SIG177_IN_SEL_V: u32 = 1; -pub const GPIO_SIG177_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC177_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC177_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC177_IN_SEL: u32 = 63; -pub const GPIO_FUNC177_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC177_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC178_IN_SEL_CFG_REG: u32 = 1072972792; -pub const GPIO_SIG178_IN_SEL_V: u32 = 1; -pub const GPIO_SIG178_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC178_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC178_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC178_IN_SEL: u32 = 63; -pub const GPIO_FUNC178_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC178_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC179_IN_SEL_CFG_REG: u32 = 1072972796; -pub const GPIO_SIG179_IN_SEL_V: u32 = 1; -pub const GPIO_SIG179_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC179_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC179_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC179_IN_SEL: u32 = 63; -pub const GPIO_FUNC179_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC179_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC180_IN_SEL_CFG_REG: u32 = 1072972800; -pub const GPIO_SIG180_IN_SEL_V: u32 = 1; -pub const GPIO_SIG180_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC180_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC180_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC180_IN_SEL: u32 = 63; -pub const GPIO_FUNC180_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC180_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC181_IN_SEL_CFG_REG: u32 = 1072972804; -pub const GPIO_SIG181_IN_SEL_V: u32 = 1; -pub const GPIO_SIG181_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC181_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC181_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC181_IN_SEL: u32 = 63; -pub const GPIO_FUNC181_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC181_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC182_IN_SEL_CFG_REG: u32 = 1072972808; -pub const GPIO_SIG182_IN_SEL_V: u32 = 1; -pub const GPIO_SIG182_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC182_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC182_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC182_IN_SEL: u32 = 63; -pub const GPIO_FUNC182_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC182_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC183_IN_SEL_CFG_REG: u32 = 1072972812; -pub const GPIO_SIG183_IN_SEL_V: u32 = 1; -pub const GPIO_SIG183_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC183_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC183_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC183_IN_SEL: u32 = 63; -pub const GPIO_FUNC183_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC183_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC184_IN_SEL_CFG_REG: u32 = 1072972816; -pub const GPIO_SIG184_IN_SEL_V: u32 = 1; -pub const GPIO_SIG184_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC184_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC184_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC184_IN_SEL: u32 = 63; -pub const GPIO_FUNC184_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC184_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC185_IN_SEL_CFG_REG: u32 = 1072972820; -pub const GPIO_SIG185_IN_SEL_V: u32 = 1; -pub const GPIO_SIG185_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC185_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC185_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC185_IN_SEL: u32 = 63; -pub const GPIO_FUNC185_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC185_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC186_IN_SEL_CFG_REG: u32 = 1072972824; -pub const GPIO_SIG186_IN_SEL_V: u32 = 1; -pub const GPIO_SIG186_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC186_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC186_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC186_IN_SEL: u32 = 63; -pub const GPIO_FUNC186_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC186_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC187_IN_SEL_CFG_REG: u32 = 1072972828; -pub const GPIO_SIG187_IN_SEL_V: u32 = 1; -pub const GPIO_SIG187_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC187_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC187_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC187_IN_SEL: u32 = 63; -pub const GPIO_FUNC187_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC187_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC188_IN_SEL_CFG_REG: u32 = 1072972832; -pub const GPIO_SIG188_IN_SEL_V: u32 = 1; -pub const GPIO_SIG188_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC188_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC188_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC188_IN_SEL: u32 = 63; -pub const GPIO_FUNC188_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC188_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC189_IN_SEL_CFG_REG: u32 = 1072972836; -pub const GPIO_SIG189_IN_SEL_V: u32 = 1; -pub const GPIO_SIG189_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC189_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC189_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC189_IN_SEL: u32 = 63; -pub const GPIO_FUNC189_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC189_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC190_IN_SEL_CFG_REG: u32 = 1072972840; -pub const GPIO_SIG190_IN_SEL_V: u32 = 1; -pub const GPIO_SIG190_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC190_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC190_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC190_IN_SEL: u32 = 63; -pub const GPIO_FUNC190_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC190_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC191_IN_SEL_CFG_REG: u32 = 1072972844; -pub const GPIO_SIG191_IN_SEL_V: u32 = 1; -pub const GPIO_SIG191_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC191_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC191_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC191_IN_SEL: u32 = 63; -pub const GPIO_FUNC191_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC191_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC192_IN_SEL_CFG_REG: u32 = 1072972848; -pub const GPIO_SIG192_IN_SEL_V: u32 = 1; -pub const GPIO_SIG192_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC192_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC192_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC192_IN_SEL: u32 = 63; -pub const GPIO_FUNC192_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC192_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC193_IN_SEL_CFG_REG: u32 = 1072972852; -pub const GPIO_SIG193_IN_SEL_V: u32 = 1; -pub const GPIO_SIG193_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC193_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC193_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC193_IN_SEL: u32 = 63; -pub const GPIO_FUNC193_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC193_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC194_IN_SEL_CFG_REG: u32 = 1072972856; -pub const GPIO_SIG194_IN_SEL_V: u32 = 1; -pub const GPIO_SIG194_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC194_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC194_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC194_IN_SEL: u32 = 63; -pub const GPIO_FUNC194_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC194_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC195_IN_SEL_CFG_REG: u32 = 1072972860; -pub const GPIO_SIG195_IN_SEL_V: u32 = 1; -pub const GPIO_SIG195_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC195_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC195_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC195_IN_SEL: u32 = 63; -pub const GPIO_FUNC195_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC195_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC196_IN_SEL_CFG_REG: u32 = 1072972864; -pub const GPIO_SIG196_IN_SEL_V: u32 = 1; -pub const GPIO_SIG196_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC196_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC196_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC196_IN_SEL: u32 = 63; -pub const GPIO_FUNC196_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC196_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC197_IN_SEL_CFG_REG: u32 = 1072972868; -pub const GPIO_SIG197_IN_SEL_V: u32 = 1; -pub const GPIO_SIG197_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC197_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC197_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC197_IN_SEL: u32 = 63; -pub const GPIO_FUNC197_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC197_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC198_IN_SEL_CFG_REG: u32 = 1072972872; -pub const GPIO_SIG198_IN_SEL_V: u32 = 1; -pub const GPIO_SIG198_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC198_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC198_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC198_IN_SEL: u32 = 63; -pub const GPIO_FUNC198_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC198_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC199_IN_SEL_CFG_REG: u32 = 1072972876; -pub const GPIO_SIG199_IN_SEL_V: u32 = 1; -pub const GPIO_SIG199_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC199_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC199_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC199_IN_SEL: u32 = 63; -pub const GPIO_FUNC199_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC199_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC200_IN_SEL_CFG_REG: u32 = 1072972880; -pub const GPIO_SIG200_IN_SEL_V: u32 = 1; -pub const GPIO_SIG200_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC200_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC200_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC200_IN_SEL: u32 = 63; -pub const GPIO_FUNC200_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC200_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC201_IN_SEL_CFG_REG: u32 = 1072972884; -pub const GPIO_SIG201_IN_SEL_V: u32 = 1; -pub const GPIO_SIG201_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC201_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC201_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC201_IN_SEL: u32 = 63; -pub const GPIO_FUNC201_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC201_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC202_IN_SEL_CFG_REG: u32 = 1072972888; -pub const GPIO_SIG202_IN_SEL_V: u32 = 1; -pub const GPIO_SIG202_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC202_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC202_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC202_IN_SEL: u32 = 63; -pub const GPIO_FUNC202_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC202_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC203_IN_SEL_CFG_REG: u32 = 1072972892; -pub const GPIO_SIG203_IN_SEL_V: u32 = 1; -pub const GPIO_SIG203_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC203_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC203_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC203_IN_SEL: u32 = 63; -pub const GPIO_FUNC203_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC203_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC204_IN_SEL_CFG_REG: u32 = 1072972896; -pub const GPIO_SIG204_IN_SEL_V: u32 = 1; -pub const GPIO_SIG204_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC204_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC204_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC204_IN_SEL: u32 = 63; -pub const GPIO_FUNC204_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC204_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC205_IN_SEL_CFG_REG: u32 = 1072972900; -pub const GPIO_SIG205_IN_SEL_V: u32 = 1; -pub const GPIO_SIG205_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC205_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC205_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC205_IN_SEL: u32 = 63; -pub const GPIO_FUNC205_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC205_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC206_IN_SEL_CFG_REG: u32 = 1072972904; -pub const GPIO_SIG206_IN_SEL_V: u32 = 1; -pub const GPIO_SIG206_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC206_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC206_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC206_IN_SEL: u32 = 63; -pub const GPIO_FUNC206_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC206_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC207_IN_SEL_CFG_REG: u32 = 1072972908; -pub const GPIO_SIG207_IN_SEL_V: u32 = 1; -pub const GPIO_SIG207_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC207_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC207_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC207_IN_SEL: u32 = 63; -pub const GPIO_FUNC207_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC207_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC208_IN_SEL_CFG_REG: u32 = 1072972912; -pub const GPIO_SIG208_IN_SEL_V: u32 = 1; -pub const GPIO_SIG208_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC208_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC208_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC208_IN_SEL: u32 = 63; -pub const GPIO_FUNC208_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC208_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC209_IN_SEL_CFG_REG: u32 = 1072972916; -pub const GPIO_SIG209_IN_SEL_V: u32 = 1; -pub const GPIO_SIG209_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC209_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC209_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC209_IN_SEL: u32 = 63; -pub const GPIO_FUNC209_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC209_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC210_IN_SEL_CFG_REG: u32 = 1072972920; -pub const GPIO_SIG210_IN_SEL_V: u32 = 1; -pub const GPIO_SIG210_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC210_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC210_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC210_IN_SEL: u32 = 63; -pub const GPIO_FUNC210_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC210_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC211_IN_SEL_CFG_REG: u32 = 1072972924; -pub const GPIO_SIG211_IN_SEL_V: u32 = 1; -pub const GPIO_SIG211_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC211_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC211_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC211_IN_SEL: u32 = 63; -pub const GPIO_FUNC211_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC211_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC212_IN_SEL_CFG_REG: u32 = 1072972928; -pub const GPIO_SIG212_IN_SEL_V: u32 = 1; -pub const GPIO_SIG212_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC212_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC212_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC212_IN_SEL: u32 = 63; -pub const GPIO_FUNC212_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC212_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC213_IN_SEL_CFG_REG: u32 = 1072972932; -pub const GPIO_SIG213_IN_SEL_V: u32 = 1; -pub const GPIO_SIG213_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC213_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC213_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC213_IN_SEL: u32 = 63; -pub const GPIO_FUNC213_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC213_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC214_IN_SEL_CFG_REG: u32 = 1072972936; -pub const GPIO_SIG214_IN_SEL_V: u32 = 1; -pub const GPIO_SIG214_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC214_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC214_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC214_IN_SEL: u32 = 63; -pub const GPIO_FUNC214_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC214_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC215_IN_SEL_CFG_REG: u32 = 1072972940; -pub const GPIO_SIG215_IN_SEL_V: u32 = 1; -pub const GPIO_SIG215_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC215_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC215_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC215_IN_SEL: u32 = 63; -pub const GPIO_FUNC215_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC215_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC216_IN_SEL_CFG_REG: u32 = 1072972944; -pub const GPIO_SIG216_IN_SEL_V: u32 = 1; -pub const GPIO_SIG216_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC216_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC216_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC216_IN_SEL: u32 = 63; -pub const GPIO_FUNC216_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC216_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC217_IN_SEL_CFG_REG: u32 = 1072972948; -pub const GPIO_SIG217_IN_SEL_V: u32 = 1; -pub const GPIO_SIG217_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC217_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC217_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC217_IN_SEL: u32 = 63; -pub const GPIO_FUNC217_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC217_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC218_IN_SEL_CFG_REG: u32 = 1072972952; -pub const GPIO_SIG218_IN_SEL_V: u32 = 1; -pub const GPIO_SIG218_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC218_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC218_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC218_IN_SEL: u32 = 63; -pub const GPIO_FUNC218_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC218_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC219_IN_SEL_CFG_REG: u32 = 1072972956; -pub const GPIO_SIG219_IN_SEL_V: u32 = 1; -pub const GPIO_SIG219_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC219_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC219_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC219_IN_SEL: u32 = 63; -pub const GPIO_FUNC219_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC219_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC220_IN_SEL_CFG_REG: u32 = 1072972960; -pub const GPIO_SIG220_IN_SEL_V: u32 = 1; -pub const GPIO_SIG220_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC220_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC220_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC220_IN_SEL: u32 = 63; -pub const GPIO_FUNC220_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC220_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC221_IN_SEL_CFG_REG: u32 = 1072972964; -pub const GPIO_SIG221_IN_SEL_V: u32 = 1; -pub const GPIO_SIG221_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC221_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC221_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC221_IN_SEL: u32 = 63; -pub const GPIO_FUNC221_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC221_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC222_IN_SEL_CFG_REG: u32 = 1072972968; -pub const GPIO_SIG222_IN_SEL_V: u32 = 1; -pub const GPIO_SIG222_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC222_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC222_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC222_IN_SEL: u32 = 63; -pub const GPIO_FUNC222_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC222_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC223_IN_SEL_CFG_REG: u32 = 1072972972; -pub const GPIO_SIG223_IN_SEL_V: u32 = 1; -pub const GPIO_SIG223_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC223_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC223_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC223_IN_SEL: u32 = 63; -pub const GPIO_FUNC223_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC223_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC224_IN_SEL_CFG_REG: u32 = 1072972976; -pub const GPIO_SIG224_IN_SEL_V: u32 = 1; -pub const GPIO_SIG224_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC224_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC224_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC224_IN_SEL: u32 = 63; -pub const GPIO_FUNC224_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC224_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC225_IN_SEL_CFG_REG: u32 = 1072972980; -pub const GPIO_SIG225_IN_SEL_V: u32 = 1; -pub const GPIO_SIG225_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC225_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC225_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC225_IN_SEL: u32 = 63; -pub const GPIO_FUNC225_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC225_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC226_IN_SEL_CFG_REG: u32 = 1072972984; -pub const GPIO_SIG226_IN_SEL_V: u32 = 1; -pub const GPIO_SIG226_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC226_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC226_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC226_IN_SEL: u32 = 63; -pub const GPIO_FUNC226_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC226_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC227_IN_SEL_CFG_REG: u32 = 1072972988; -pub const GPIO_SIG227_IN_SEL_V: u32 = 1; -pub const GPIO_SIG227_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC227_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC227_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC227_IN_SEL: u32 = 63; -pub const GPIO_FUNC227_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC227_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC228_IN_SEL_CFG_REG: u32 = 1072972992; -pub const GPIO_SIG228_IN_SEL_V: u32 = 1; -pub const GPIO_SIG228_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC228_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC228_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC228_IN_SEL: u32 = 63; -pub const GPIO_FUNC228_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC228_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC229_IN_SEL_CFG_REG: u32 = 1072972996; -pub const GPIO_SIG229_IN_SEL_V: u32 = 1; -pub const GPIO_SIG229_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC229_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC229_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC229_IN_SEL: u32 = 63; -pub const GPIO_FUNC229_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC229_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC230_IN_SEL_CFG_REG: u32 = 1072973000; -pub const GPIO_SIG230_IN_SEL_V: u32 = 1; -pub const GPIO_SIG230_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC230_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC230_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC230_IN_SEL: u32 = 63; -pub const GPIO_FUNC230_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC230_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC231_IN_SEL_CFG_REG: u32 = 1072973004; -pub const GPIO_SIG231_IN_SEL_V: u32 = 1; -pub const GPIO_SIG231_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC231_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC231_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC231_IN_SEL: u32 = 63; -pub const GPIO_FUNC231_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC231_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC232_IN_SEL_CFG_REG: u32 = 1072973008; -pub const GPIO_SIG232_IN_SEL_V: u32 = 1; -pub const GPIO_SIG232_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC232_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC232_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC232_IN_SEL: u32 = 63; -pub const GPIO_FUNC232_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC232_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC233_IN_SEL_CFG_REG: u32 = 1072973012; -pub const GPIO_SIG233_IN_SEL_V: u32 = 1; -pub const GPIO_SIG233_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC233_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC233_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC233_IN_SEL: u32 = 63; -pub const GPIO_FUNC233_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC233_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC234_IN_SEL_CFG_REG: u32 = 1072973016; -pub const GPIO_SIG234_IN_SEL_V: u32 = 1; -pub const GPIO_SIG234_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC234_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC234_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC234_IN_SEL: u32 = 63; -pub const GPIO_FUNC234_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC234_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC235_IN_SEL_CFG_REG: u32 = 1072973020; -pub const GPIO_SIG235_IN_SEL_V: u32 = 1; -pub const GPIO_SIG235_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC235_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC235_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC235_IN_SEL: u32 = 63; -pub const GPIO_FUNC235_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC235_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC236_IN_SEL_CFG_REG: u32 = 1072973024; -pub const GPIO_SIG236_IN_SEL_V: u32 = 1; -pub const GPIO_SIG236_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC236_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC236_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC236_IN_SEL: u32 = 63; -pub const GPIO_FUNC236_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC236_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC237_IN_SEL_CFG_REG: u32 = 1072973028; -pub const GPIO_SIG237_IN_SEL_V: u32 = 1; -pub const GPIO_SIG237_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC237_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC237_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC237_IN_SEL: u32 = 63; -pub const GPIO_FUNC237_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC237_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC238_IN_SEL_CFG_REG: u32 = 1072973032; -pub const GPIO_SIG238_IN_SEL_V: u32 = 1; -pub const GPIO_SIG238_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC238_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC238_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC238_IN_SEL: u32 = 63; -pub const GPIO_FUNC238_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC238_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC239_IN_SEL_CFG_REG: u32 = 1072973036; -pub const GPIO_SIG239_IN_SEL_V: u32 = 1; -pub const GPIO_SIG239_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC239_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC239_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC239_IN_SEL: u32 = 63; -pub const GPIO_FUNC239_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC239_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC240_IN_SEL_CFG_REG: u32 = 1072973040; -pub const GPIO_SIG240_IN_SEL_V: u32 = 1; -pub const GPIO_SIG240_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC240_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC240_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC240_IN_SEL: u32 = 63; -pub const GPIO_FUNC240_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC240_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC241_IN_SEL_CFG_REG: u32 = 1072973044; -pub const GPIO_SIG241_IN_SEL_V: u32 = 1; -pub const GPIO_SIG241_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC241_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC241_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC241_IN_SEL: u32 = 63; -pub const GPIO_FUNC241_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC241_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC242_IN_SEL_CFG_REG: u32 = 1072973048; -pub const GPIO_SIG242_IN_SEL_V: u32 = 1; -pub const GPIO_SIG242_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC242_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC242_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC242_IN_SEL: u32 = 63; -pub const GPIO_FUNC242_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC242_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC243_IN_SEL_CFG_REG: u32 = 1072973052; -pub const GPIO_SIG243_IN_SEL_V: u32 = 1; -pub const GPIO_SIG243_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC243_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC243_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC243_IN_SEL: u32 = 63; -pub const GPIO_FUNC243_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC243_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC244_IN_SEL_CFG_REG: u32 = 1072973056; -pub const GPIO_SIG244_IN_SEL_V: u32 = 1; -pub const GPIO_SIG244_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC244_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC244_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC244_IN_SEL: u32 = 63; -pub const GPIO_FUNC244_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC244_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC245_IN_SEL_CFG_REG: u32 = 1072973060; -pub const GPIO_SIG245_IN_SEL_V: u32 = 1; -pub const GPIO_SIG245_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC245_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC245_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC245_IN_SEL: u32 = 63; -pub const GPIO_FUNC245_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC245_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC246_IN_SEL_CFG_REG: u32 = 1072973064; -pub const GPIO_SIG246_IN_SEL_V: u32 = 1; -pub const GPIO_SIG246_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC246_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC246_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC246_IN_SEL: u32 = 63; -pub const GPIO_FUNC246_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC246_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC247_IN_SEL_CFG_REG: u32 = 1072973068; -pub const GPIO_SIG247_IN_SEL_V: u32 = 1; -pub const GPIO_SIG247_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC247_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC247_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC247_IN_SEL: u32 = 63; -pub const GPIO_FUNC247_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC247_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC248_IN_SEL_CFG_REG: u32 = 1072973072; -pub const GPIO_SIG248_IN_SEL_V: u32 = 1; -pub const GPIO_SIG248_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC248_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC248_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC248_IN_SEL: u32 = 63; -pub const GPIO_FUNC248_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC248_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC249_IN_SEL_CFG_REG: u32 = 1072973076; -pub const GPIO_SIG249_IN_SEL_V: u32 = 1; -pub const GPIO_SIG249_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC249_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC249_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC249_IN_SEL: u32 = 63; -pub const GPIO_FUNC249_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC249_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC250_IN_SEL_CFG_REG: u32 = 1072973080; -pub const GPIO_SIG250_IN_SEL_V: u32 = 1; -pub const GPIO_SIG250_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC250_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC250_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC250_IN_SEL: u32 = 63; -pub const GPIO_FUNC250_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC250_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC251_IN_SEL_CFG_REG: u32 = 1072973084; -pub const GPIO_SIG251_IN_SEL_V: u32 = 1; -pub const GPIO_SIG251_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC251_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC251_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC251_IN_SEL: u32 = 63; -pub const GPIO_FUNC251_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC251_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC252_IN_SEL_CFG_REG: u32 = 1072973088; -pub const GPIO_SIG252_IN_SEL_V: u32 = 1; -pub const GPIO_SIG252_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC252_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC252_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC252_IN_SEL: u32 = 63; -pub const GPIO_FUNC252_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC252_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC253_IN_SEL_CFG_REG: u32 = 1072973092; -pub const GPIO_SIG253_IN_SEL_V: u32 = 1; -pub const GPIO_SIG253_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC253_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC253_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC253_IN_SEL: u32 = 63; -pub const GPIO_FUNC253_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC253_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC254_IN_SEL_CFG_REG: u32 = 1072973096; -pub const GPIO_SIG254_IN_SEL_V: u32 = 1; -pub const GPIO_SIG254_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC254_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC254_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC254_IN_SEL: u32 = 63; -pub const GPIO_FUNC254_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC254_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC255_IN_SEL_CFG_REG: u32 = 1072973100; -pub const GPIO_SIG255_IN_SEL_V: u32 = 1; -pub const GPIO_SIG255_IN_SEL_S: u32 = 7; -pub const GPIO_FUNC255_IN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC255_IN_INV_SEL_S: u32 = 6; -pub const GPIO_FUNC255_IN_SEL: u32 = 63; -pub const GPIO_FUNC255_IN_SEL_V: u32 = 63; -pub const GPIO_FUNC255_IN_SEL_S: u32 = 0; -pub const GPIO_FUNC0_OUT_SEL_CFG_REG: u32 = 1072973104; -pub const GPIO_FUNC0_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC0_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC0_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC0_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC0_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC0_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC0_OUT_SEL: u32 = 511; -pub const GPIO_FUNC0_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC0_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC1_OUT_SEL_CFG_REG: u32 = 1072973108; -pub const GPIO_FUNC1_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC1_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC1_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC1_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC1_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC1_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC1_OUT_SEL: u32 = 511; -pub const GPIO_FUNC1_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC1_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC2_OUT_SEL_CFG_REG: u32 = 1072973112; -pub const GPIO_FUNC2_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC2_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC2_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC2_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC2_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC2_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC2_OUT_SEL: u32 = 511; -pub const GPIO_FUNC2_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC2_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC3_OUT_SEL_CFG_REG: u32 = 1072973116; -pub const GPIO_FUNC3_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC3_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC3_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC3_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC3_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC3_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC3_OUT_SEL: u32 = 511; -pub const GPIO_FUNC3_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC3_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC4_OUT_SEL_CFG_REG: u32 = 1072973120; -pub const GPIO_FUNC4_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC4_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC4_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC4_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC4_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC4_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC4_OUT_SEL: u32 = 511; -pub const GPIO_FUNC4_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC4_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC5_OUT_SEL_CFG_REG: u32 = 1072973124; -pub const GPIO_FUNC5_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC5_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC5_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC5_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC5_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC5_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC5_OUT_SEL: u32 = 511; -pub const GPIO_FUNC5_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC5_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC6_OUT_SEL_CFG_REG: u32 = 1072973128; -pub const GPIO_FUNC6_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC6_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC6_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC6_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC6_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC6_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC6_OUT_SEL: u32 = 511; -pub const GPIO_FUNC6_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC6_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC7_OUT_SEL_CFG_REG: u32 = 1072973132; -pub const GPIO_FUNC7_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC7_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC7_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC7_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC7_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC7_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC7_OUT_SEL: u32 = 511; -pub const GPIO_FUNC7_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC7_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC8_OUT_SEL_CFG_REG: u32 = 1072973136; -pub const GPIO_FUNC8_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC8_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC8_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC8_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC8_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC8_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC8_OUT_SEL: u32 = 511; -pub const GPIO_FUNC8_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC8_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC9_OUT_SEL_CFG_REG: u32 = 1072973140; -pub const GPIO_FUNC9_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC9_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC9_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC9_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC9_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC9_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC9_OUT_SEL: u32 = 511; -pub const GPIO_FUNC9_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC9_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC10_OUT_SEL_CFG_REG: u32 = 1072973144; -pub const GPIO_FUNC10_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC10_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC10_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC10_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC10_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC10_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC10_OUT_SEL: u32 = 511; -pub const GPIO_FUNC10_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC10_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC11_OUT_SEL_CFG_REG: u32 = 1072973148; -pub const GPIO_FUNC11_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC11_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC11_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC11_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC11_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC11_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC11_OUT_SEL: u32 = 511; -pub const GPIO_FUNC11_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC11_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC12_OUT_SEL_CFG_REG: u32 = 1072973152; -pub const GPIO_FUNC12_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC12_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC12_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC12_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC12_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC12_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC12_OUT_SEL: u32 = 511; -pub const GPIO_FUNC12_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC12_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC13_OUT_SEL_CFG_REG: u32 = 1072973156; -pub const GPIO_FUNC13_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC13_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC13_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC13_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC13_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC13_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC13_OUT_SEL: u32 = 511; -pub const GPIO_FUNC13_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC13_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC14_OUT_SEL_CFG_REG: u32 = 1072973160; -pub const GPIO_FUNC14_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC14_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC14_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC14_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC14_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC14_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC14_OUT_SEL: u32 = 511; -pub const GPIO_FUNC14_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC14_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC15_OUT_SEL_CFG_REG: u32 = 1072973164; -pub const GPIO_FUNC15_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC15_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC15_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC15_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC15_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC15_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC15_OUT_SEL: u32 = 511; -pub const GPIO_FUNC15_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC15_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC16_OUT_SEL_CFG_REG: u32 = 1072973168; -pub const GPIO_FUNC16_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC16_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC16_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC16_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC16_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC16_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC16_OUT_SEL: u32 = 511; -pub const GPIO_FUNC16_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC16_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC17_OUT_SEL_CFG_REG: u32 = 1072973172; -pub const GPIO_FUNC17_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC17_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC17_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC17_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC17_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC17_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC17_OUT_SEL: u32 = 511; -pub const GPIO_FUNC17_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC17_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC18_OUT_SEL_CFG_REG: u32 = 1072973176; -pub const GPIO_FUNC18_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC18_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC18_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC18_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC18_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC18_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC18_OUT_SEL: u32 = 511; -pub const GPIO_FUNC18_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC18_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC19_OUT_SEL_CFG_REG: u32 = 1072973180; -pub const GPIO_FUNC19_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC19_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC19_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC19_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC19_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC19_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC19_OUT_SEL: u32 = 511; -pub const GPIO_FUNC19_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC19_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC20_OUT_SEL_CFG_REG: u32 = 1072973184; -pub const GPIO_FUNC20_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC20_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC20_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC20_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC20_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC20_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC20_OUT_SEL: u32 = 511; -pub const GPIO_FUNC20_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC20_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC21_OUT_SEL_CFG_REG: u32 = 1072973188; -pub const GPIO_FUNC21_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC21_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC21_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC21_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC21_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC21_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC21_OUT_SEL: u32 = 511; -pub const GPIO_FUNC21_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC21_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC22_OUT_SEL_CFG_REG: u32 = 1072973192; -pub const GPIO_FUNC22_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC22_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC22_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC22_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC22_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC22_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC22_OUT_SEL: u32 = 511; -pub const GPIO_FUNC22_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC22_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC23_OUT_SEL_CFG_REG: u32 = 1072973196; -pub const GPIO_FUNC23_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC23_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC23_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC23_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC23_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC23_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC23_OUT_SEL: u32 = 511; -pub const GPIO_FUNC23_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC23_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC24_OUT_SEL_CFG_REG: u32 = 1072973200; -pub const GPIO_FUNC24_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC24_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC24_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC24_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC24_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC24_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC24_OUT_SEL: u32 = 511; -pub const GPIO_FUNC24_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC24_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC25_OUT_SEL_CFG_REG: u32 = 1072973204; -pub const GPIO_FUNC25_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC25_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC25_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC25_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC25_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC25_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC25_OUT_SEL: u32 = 511; -pub const GPIO_FUNC25_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC25_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC26_OUT_SEL_CFG_REG: u32 = 1072973208; -pub const GPIO_FUNC26_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC26_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC26_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC26_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC26_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC26_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC26_OUT_SEL: u32 = 511; -pub const GPIO_FUNC26_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC26_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC27_OUT_SEL_CFG_REG: u32 = 1072973212; -pub const GPIO_FUNC27_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC27_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC27_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC27_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC27_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC27_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC27_OUT_SEL: u32 = 511; -pub const GPIO_FUNC27_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC27_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC28_OUT_SEL_CFG_REG: u32 = 1072973216; -pub const GPIO_FUNC28_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC28_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC28_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC28_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC28_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC28_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC28_OUT_SEL: u32 = 511; -pub const GPIO_FUNC28_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC28_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC29_OUT_SEL_CFG_REG: u32 = 1072973220; -pub const GPIO_FUNC29_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC29_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC29_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC29_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC29_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC29_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC29_OUT_SEL: u32 = 511; -pub const GPIO_FUNC29_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC29_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC30_OUT_SEL_CFG_REG: u32 = 1072973224; -pub const GPIO_FUNC30_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC30_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC30_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC30_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC30_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC30_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC30_OUT_SEL: u32 = 511; -pub const GPIO_FUNC30_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC30_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC31_OUT_SEL_CFG_REG: u32 = 1072973228; -pub const GPIO_FUNC31_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC31_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC31_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC31_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC31_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC31_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC31_OUT_SEL: u32 = 511; -pub const GPIO_FUNC31_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC31_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC32_OUT_SEL_CFG_REG: u32 = 1072973232; -pub const GPIO_FUNC32_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC32_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC32_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC32_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC32_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC32_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC32_OUT_SEL: u32 = 511; -pub const GPIO_FUNC32_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC32_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC33_OUT_SEL_CFG_REG: u32 = 1072973236; -pub const GPIO_FUNC33_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC33_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC33_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC33_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC33_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC33_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC33_OUT_SEL: u32 = 511; -pub const GPIO_FUNC33_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC33_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC34_OUT_SEL_CFG_REG: u32 = 1072973240; -pub const GPIO_FUNC34_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC34_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC34_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC34_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC34_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC34_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC34_OUT_SEL: u32 = 511; -pub const GPIO_FUNC34_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC34_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC35_OUT_SEL_CFG_REG: u32 = 1072973244; -pub const GPIO_FUNC35_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC35_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC35_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC35_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC35_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC35_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC35_OUT_SEL: u32 = 511; -pub const GPIO_FUNC35_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC35_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC36_OUT_SEL_CFG_REG: u32 = 1072973248; -pub const GPIO_FUNC36_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC36_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC36_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC36_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC36_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC36_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC36_OUT_SEL: u32 = 511; -pub const GPIO_FUNC36_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC36_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC37_OUT_SEL_CFG_REG: u32 = 1072973252; -pub const GPIO_FUNC37_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC37_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC37_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC37_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC37_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC37_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC37_OUT_SEL: u32 = 511; -pub const GPIO_FUNC37_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC37_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC38_OUT_SEL_CFG_REG: u32 = 1072973256; -pub const GPIO_FUNC38_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC38_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC38_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC38_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC38_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC38_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC38_OUT_SEL: u32 = 511; -pub const GPIO_FUNC38_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC38_OUT_SEL_S: u32 = 0; -pub const GPIO_FUNC39_OUT_SEL_CFG_REG: u32 = 1072973260; -pub const GPIO_FUNC39_OEN_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC39_OEN_INV_SEL_S: u32 = 11; -pub const GPIO_FUNC39_OEN_SEL_V: u32 = 1; -pub const GPIO_FUNC39_OEN_SEL_S: u32 = 10; -pub const GPIO_FUNC39_OUT_INV_SEL_V: u32 = 1; -pub const GPIO_FUNC39_OUT_INV_SEL_S: u32 = 9; -pub const GPIO_FUNC39_OUT_SEL: u32 = 511; -pub const GPIO_FUNC39_OUT_SEL_V: u32 = 511; -pub const GPIO_FUNC39_OUT_SEL_S: u32 = 0; -pub const RTC_GPIO_OUT_REG: u32 = 1072989184; -pub const RTC_GPIO_OUT_DATA: u32 = 262143; -pub const RTC_GPIO_OUT_DATA_V: u32 = 262143; -pub const RTC_GPIO_OUT_DATA_S: u32 = 14; -pub const RTC_GPIO_OUT_W1TS_REG: u32 = 1072989188; -pub const RTC_GPIO_OUT_DATA_W1TS: u32 = 262143; -pub const RTC_GPIO_OUT_DATA_W1TS_V: u32 = 262143; -pub const RTC_GPIO_OUT_DATA_W1TS_S: u32 = 14; -pub const RTC_GPIO_OUT_W1TC_REG: u32 = 1072989192; -pub const RTC_GPIO_OUT_DATA_W1TC: u32 = 262143; -pub const RTC_GPIO_OUT_DATA_W1TC_V: u32 = 262143; -pub const RTC_GPIO_OUT_DATA_W1TC_S: u32 = 14; -pub const RTC_GPIO_ENABLE_REG: u32 = 1072989196; -pub const RTC_GPIO_ENABLE: u32 = 262143; -pub const RTC_GPIO_ENABLE_V: u32 = 262143; -pub const RTC_GPIO_ENABLE_S: u32 = 14; -pub const RTC_GPIO_ENABLE_W1TS_REG: u32 = 1072989200; -pub const RTC_GPIO_ENABLE_W1TS: u32 = 262143; -pub const RTC_GPIO_ENABLE_W1TS_V: u32 = 262143; -pub const RTC_GPIO_ENABLE_W1TS_S: u32 = 14; -pub const RTC_GPIO_ENABLE_W1TC_REG: u32 = 1072989204; -pub const RTC_GPIO_ENABLE_W1TC: u32 = 262143; -pub const RTC_GPIO_ENABLE_W1TC_V: u32 = 262143; -pub const RTC_GPIO_ENABLE_W1TC_S: u32 = 14; -pub const RTC_GPIO_STATUS_REG: u32 = 1072989208; -pub const RTC_GPIO_STATUS_INT: u32 = 262143; -pub const RTC_GPIO_STATUS_INT_V: u32 = 262143; -pub const RTC_GPIO_STATUS_INT_S: u32 = 14; -pub const RTC_GPIO_STATUS_W1TS_REG: u32 = 1072989212; -pub const RTC_GPIO_STATUS_INT_W1TS: u32 = 262143; -pub const RTC_GPIO_STATUS_INT_W1TS_V: u32 = 262143; -pub const RTC_GPIO_STATUS_INT_W1TS_S: u32 = 14; -pub const RTC_GPIO_STATUS_W1TC_REG: u32 = 1072989216; -pub const RTC_GPIO_STATUS_INT_W1TC: u32 = 262143; -pub const RTC_GPIO_STATUS_INT_W1TC_V: u32 = 262143; -pub const RTC_GPIO_STATUS_INT_W1TC_S: u32 = 14; -pub const RTC_GPIO_IN_REG: u32 = 1072989220; -pub const RTC_GPIO_IN_NEXT: u32 = 262143; -pub const RTC_GPIO_IN_NEXT_V: u32 = 262143; -pub const RTC_GPIO_IN_NEXT_S: u32 = 14; -pub const RTC_GPIO_PIN0_REG: u32 = 1072989224; -pub const RTC_GPIO_PIN0_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN0_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN0_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN0_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN0_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN0_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN0_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN1_REG: u32 = 1072989228; -pub const RTC_GPIO_PIN1_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN1_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN1_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN1_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN1_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN1_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN1_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN2_REG: u32 = 1072989232; -pub const RTC_GPIO_PIN2_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN2_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN2_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN2_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN2_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN2_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN2_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN3_REG: u32 = 1072989236; -pub const RTC_GPIO_PIN3_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN3_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN3_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN3_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN3_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN3_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN3_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN4_REG: u32 = 1072989240; -pub const RTC_GPIO_PIN4_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN4_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN4_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN4_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN4_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN4_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN4_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN5_REG: u32 = 1072989244; -pub const RTC_GPIO_PIN5_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN5_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN5_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN5_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN5_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN5_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN5_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN6_REG: u32 = 1072989248; -pub const RTC_GPIO_PIN6_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN6_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN6_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN6_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN6_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN6_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN6_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN7_REG: u32 = 1072989252; -pub const RTC_GPIO_PIN7_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN7_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN7_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN7_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN7_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN7_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN7_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN8_REG: u32 = 1072989256; -pub const RTC_GPIO_PIN8_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN8_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN8_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN8_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN8_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN8_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN8_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN9_REG: u32 = 1072989260; -pub const RTC_GPIO_PIN9_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN9_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN9_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN9_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN9_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN9_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN9_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN10_REG: u32 = 1072989264; -pub const RTC_GPIO_PIN10_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN10_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN10_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN10_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN10_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN10_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN10_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN11_REG: u32 = 1072989268; -pub const RTC_GPIO_PIN11_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN11_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN11_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN11_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN11_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN11_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN11_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN12_REG: u32 = 1072989272; -pub const RTC_GPIO_PIN12_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN12_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN12_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN12_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN12_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN12_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN12_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN13_REG: u32 = 1072989276; -pub const RTC_GPIO_PIN13_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN13_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN13_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN13_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN13_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN13_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN13_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN14_REG: u32 = 1072989280; -pub const RTC_GPIO_PIN14_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN14_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN14_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN14_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN14_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN14_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN14_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN15_REG: u32 = 1072989284; -pub const RTC_GPIO_PIN15_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN15_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN15_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN15_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN15_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN15_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN15_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN16_REG: u32 = 1072989288; -pub const RTC_GPIO_PIN16_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN16_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN16_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN16_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN16_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN16_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN16_PAD_DRIVER_S: u32 = 2; -pub const RTC_GPIO_PIN17_REG: u32 = 1072989292; -pub const RTC_GPIO_PIN17_WAKEUP_ENABLE_V: u32 = 1; -pub const RTC_GPIO_PIN17_WAKEUP_ENABLE_S: u32 = 10; -pub const RTC_GPIO_PIN17_INT_TYPE: u32 = 7; -pub const RTC_GPIO_PIN17_INT_TYPE_V: u32 = 7; -pub const RTC_GPIO_PIN17_INT_TYPE_S: u32 = 7; -pub const RTC_GPIO_PIN17_PAD_DRIVER_V: u32 = 1; -pub const RTC_GPIO_PIN17_PAD_DRIVER_S: u32 = 2; -pub const RTC_IO_RTC_DEBUG_SEL_REG: u32 = 1072989296; -pub const RTC_IO_DEBUG_12M_NO_GATING_V: u32 = 1; -pub const RTC_IO_DEBUG_12M_NO_GATING_S: u32 = 25; -pub const RTC_IO_DEBUG_SEL4: u32 = 31; -pub const RTC_IO_DEBUG_SEL4_V: u32 = 31; -pub const RTC_IO_DEBUG_SEL4_S: u32 = 20; -pub const RTC_IO_DEBUG_SEL3: u32 = 31; -pub const RTC_IO_DEBUG_SEL3_V: u32 = 31; -pub const RTC_IO_DEBUG_SEL3_S: u32 = 15; -pub const RTC_IO_DEBUG_SEL2: u32 = 31; -pub const RTC_IO_DEBUG_SEL2_V: u32 = 31; -pub const RTC_IO_DEBUG_SEL2_S: u32 = 10; -pub const RTC_IO_DEBUG_SEL1: u32 = 31; -pub const RTC_IO_DEBUG_SEL1_V: u32 = 31; -pub const RTC_IO_DEBUG_SEL1_S: u32 = 5; -pub const RTC_IO_DEBUG_SEL0: u32 = 31; -pub const RTC_IO_DEBUG_SEL0_V: u32 = 31; -pub const RTC_IO_DEBUG_SEL0_S: u32 = 0; -pub const RTC_IO_DEBUG_SEL0_8M: u32 = 1; -pub const RTC_IO_DEBUG_SEL0_32K_XTAL: u32 = 4; -pub const RTC_IO_DEBUG_SEL0_150K_OSC: u32 = 5; -pub const RTC_IO_DIG_PAD_HOLD_REG: u32 = 1072989300; -pub const RTC_IO_DIG_PAD_HOLD: u32 = 4294967295; -pub const RTC_IO_DIG_PAD_HOLD_V: u32 = 4294967295; -pub const RTC_IO_DIG_PAD_HOLD_S: u32 = 0; -pub const RTC_IO_HALL_SENS_REG: u32 = 1072989304; -pub const RTC_IO_XPD_HALL_V: u32 = 1; -pub const RTC_IO_XPD_HALL_S: u32 = 31; -pub const RTC_IO_HALL_PHASE_V: u32 = 1; -pub const RTC_IO_HALL_PHASE_S: u32 = 30; -pub const RTC_IO_SENSOR_PADS_REG: u32 = 1072989308; -pub const RTC_IO_SENSE1_HOLD_V: u32 = 1; -pub const RTC_IO_SENSE1_HOLD_S: u32 = 31; -pub const RTC_IO_SENSE2_HOLD_V: u32 = 1; -pub const RTC_IO_SENSE2_HOLD_S: u32 = 30; -pub const RTC_IO_SENSE3_HOLD_V: u32 = 1; -pub const RTC_IO_SENSE3_HOLD_S: u32 = 29; -pub const RTC_IO_SENSE4_HOLD_V: u32 = 1; -pub const RTC_IO_SENSE4_HOLD_S: u32 = 28; -pub const RTC_IO_SENSE1_MUX_SEL_V: u32 = 1; -pub const RTC_IO_SENSE1_MUX_SEL_S: u32 = 27; -pub const RTC_IO_SENSE2_MUX_SEL_V: u32 = 1; -pub const RTC_IO_SENSE2_MUX_SEL_S: u32 = 26; -pub const RTC_IO_SENSE3_MUX_SEL_V: u32 = 1; -pub const RTC_IO_SENSE3_MUX_SEL_S: u32 = 25; -pub const RTC_IO_SENSE4_MUX_SEL_V: u32 = 1; -pub const RTC_IO_SENSE4_MUX_SEL_S: u32 = 24; -pub const RTC_IO_SENSE1_FUN_SEL: u32 = 3; -pub const RTC_IO_SENSE1_FUN_SEL_V: u32 = 3; -pub const RTC_IO_SENSE1_FUN_SEL_S: u32 = 22; -pub const RTC_IO_SENSE1_SLP_SEL_V: u32 = 1; -pub const RTC_IO_SENSE1_SLP_SEL_S: u32 = 21; -pub const RTC_IO_SENSE1_SLP_IE_V: u32 = 1; -pub const RTC_IO_SENSE1_SLP_IE_S: u32 = 20; -pub const RTC_IO_SENSE1_FUN_IE_V: u32 = 1; -pub const RTC_IO_SENSE1_FUN_IE_S: u32 = 19; -pub const RTC_IO_SENSE2_FUN_SEL: u32 = 3; -pub const RTC_IO_SENSE2_FUN_SEL_V: u32 = 3; -pub const RTC_IO_SENSE2_FUN_SEL_S: u32 = 17; -pub const RTC_IO_SENSE2_SLP_SEL_V: u32 = 1; -pub const RTC_IO_SENSE2_SLP_SEL_S: u32 = 16; -pub const RTC_IO_SENSE2_SLP_IE_V: u32 = 1; -pub const RTC_IO_SENSE2_SLP_IE_S: u32 = 15; -pub const RTC_IO_SENSE2_FUN_IE_V: u32 = 1; -pub const RTC_IO_SENSE2_FUN_IE_S: u32 = 14; -pub const RTC_IO_SENSE3_FUN_SEL: u32 = 3; -pub const RTC_IO_SENSE3_FUN_SEL_V: u32 = 3; -pub const RTC_IO_SENSE3_FUN_SEL_S: u32 = 12; -pub const RTC_IO_SENSE3_SLP_SEL_V: u32 = 1; -pub const RTC_IO_SENSE3_SLP_SEL_S: u32 = 11; -pub const RTC_IO_SENSE3_SLP_IE_V: u32 = 1; -pub const RTC_IO_SENSE3_SLP_IE_S: u32 = 10; -pub const RTC_IO_SENSE3_FUN_IE_V: u32 = 1; -pub const RTC_IO_SENSE3_FUN_IE_S: u32 = 9; -pub const RTC_IO_SENSE4_FUN_SEL: u32 = 3; -pub const RTC_IO_SENSE4_FUN_SEL_V: u32 = 3; -pub const RTC_IO_SENSE4_FUN_SEL_S: u32 = 7; -pub const RTC_IO_SENSE4_SLP_SEL_V: u32 = 1; -pub const RTC_IO_SENSE4_SLP_SEL_S: u32 = 6; -pub const RTC_IO_SENSE4_SLP_IE_V: u32 = 1; -pub const RTC_IO_SENSE4_SLP_IE_S: u32 = 5; -pub const RTC_IO_SENSE4_FUN_IE_V: u32 = 1; -pub const RTC_IO_SENSE4_FUN_IE_S: u32 = 4; -pub const RTC_IO_ADC_PAD_REG: u32 = 1072989312; -pub const RTC_IO_ADC1_HOLD_V: u32 = 1; -pub const RTC_IO_ADC1_HOLD_S: u32 = 31; -pub const RTC_IO_ADC2_HOLD_V: u32 = 1; -pub const RTC_IO_ADC2_HOLD_S: u32 = 30; -pub const RTC_IO_ADC1_MUX_SEL_V: u32 = 1; -pub const RTC_IO_ADC1_MUX_SEL_S: u32 = 29; -pub const RTC_IO_ADC2_MUX_SEL_V: u32 = 1; -pub const RTC_IO_ADC2_MUX_SEL_S: u32 = 28; -pub const RTC_IO_ADC1_FUN_SEL: u32 = 3; -pub const RTC_IO_ADC1_FUN_SEL_V: u32 = 3; -pub const RTC_IO_ADC1_FUN_SEL_S: u32 = 26; -pub const RTC_IO_ADC1_SLP_SEL_V: u32 = 1; -pub const RTC_IO_ADC1_SLP_SEL_S: u32 = 25; -pub const RTC_IO_ADC1_SLP_IE_V: u32 = 1; -pub const RTC_IO_ADC1_SLP_IE_S: u32 = 24; -pub const RTC_IO_ADC1_FUN_IE_V: u32 = 1; -pub const RTC_IO_ADC1_FUN_IE_S: u32 = 23; -pub const RTC_IO_ADC2_FUN_SEL: u32 = 3; -pub const RTC_IO_ADC2_FUN_SEL_V: u32 = 3; -pub const RTC_IO_ADC2_FUN_SEL_S: u32 = 21; -pub const RTC_IO_ADC2_SLP_SEL_V: u32 = 1; -pub const RTC_IO_ADC2_SLP_SEL_S: u32 = 20; -pub const RTC_IO_ADC2_SLP_IE_V: u32 = 1; -pub const RTC_IO_ADC2_SLP_IE_S: u32 = 19; -pub const RTC_IO_ADC2_FUN_IE_V: u32 = 1; -pub const RTC_IO_ADC2_FUN_IE_S: u32 = 18; -pub const RTC_IO_PAD_DAC1_REG: u32 = 1072989316; -pub const RTC_IO_PDAC1_DRV: u32 = 3; -pub const RTC_IO_PDAC1_DRV_V: u32 = 3; -pub const RTC_IO_PDAC1_DRV_S: u32 = 30; -pub const RTC_IO_PDAC1_HOLD_V: u32 = 1; -pub const RTC_IO_PDAC1_HOLD_S: u32 = 29; -pub const RTC_IO_PDAC1_RDE_V: u32 = 1; -pub const RTC_IO_PDAC1_RDE_S: u32 = 28; -pub const RTC_IO_PDAC1_RUE_V: u32 = 1; -pub const RTC_IO_PDAC1_RUE_S: u32 = 27; -pub const RTC_IO_PDAC1_DAC: u32 = 255; -pub const RTC_IO_PDAC1_DAC_V: u32 = 255; -pub const RTC_IO_PDAC1_DAC_S: u32 = 19; -pub const RTC_IO_PDAC1_XPD_DAC_V: u32 = 1; -pub const RTC_IO_PDAC1_XPD_DAC_S: u32 = 18; -pub const RTC_IO_PDAC1_MUX_SEL_V: u32 = 1; -pub const RTC_IO_PDAC1_MUX_SEL_S: u32 = 17; -pub const RTC_IO_PDAC1_FUN_SEL: u32 = 3; -pub const RTC_IO_PDAC1_FUN_SEL_V: u32 = 3; -pub const RTC_IO_PDAC1_FUN_SEL_S: u32 = 15; -pub const RTC_IO_PDAC1_SLP_SEL_V: u32 = 1; -pub const RTC_IO_PDAC1_SLP_SEL_S: u32 = 14; -pub const RTC_IO_PDAC1_SLP_IE_V: u32 = 1; -pub const RTC_IO_PDAC1_SLP_IE_S: u32 = 13; -pub const RTC_IO_PDAC1_SLP_OE_V: u32 = 1; -pub const RTC_IO_PDAC1_SLP_OE_S: u32 = 12; -pub const RTC_IO_PDAC1_FUN_IE_V: u32 = 1; -pub const RTC_IO_PDAC1_FUN_IE_S: u32 = 11; -pub const RTC_IO_PDAC1_DAC_XPD_FORCE_V: u32 = 1; -pub const RTC_IO_PDAC1_DAC_XPD_FORCE_S: u32 = 10; -pub const RTC_IO_PAD_DAC2_REG: u32 = 1072989320; -pub const RTC_IO_PDAC2_DRV: u32 = 3; -pub const RTC_IO_PDAC2_DRV_V: u32 = 3; -pub const RTC_IO_PDAC2_DRV_S: u32 = 30; -pub const RTC_IO_PDAC2_HOLD_V: u32 = 1; -pub const RTC_IO_PDAC2_HOLD_S: u32 = 29; -pub const RTC_IO_PDAC2_RDE_V: u32 = 1; -pub const RTC_IO_PDAC2_RDE_S: u32 = 28; -pub const RTC_IO_PDAC2_RUE_V: u32 = 1; -pub const RTC_IO_PDAC2_RUE_S: u32 = 27; -pub const RTC_IO_PDAC2_DAC: u32 = 255; -pub const RTC_IO_PDAC2_DAC_V: u32 = 255; -pub const RTC_IO_PDAC2_DAC_S: u32 = 19; -pub const RTC_IO_PDAC2_XPD_DAC_V: u32 = 1; -pub const RTC_IO_PDAC2_XPD_DAC_S: u32 = 18; -pub const RTC_IO_PDAC2_MUX_SEL_V: u32 = 1; -pub const RTC_IO_PDAC2_MUX_SEL_S: u32 = 17; -pub const RTC_IO_PDAC2_FUN_SEL: u32 = 3; -pub const RTC_IO_PDAC2_FUN_SEL_V: u32 = 3; -pub const RTC_IO_PDAC2_FUN_SEL_S: u32 = 15; -pub const RTC_IO_PDAC2_SLP_SEL_V: u32 = 1; -pub const RTC_IO_PDAC2_SLP_SEL_S: u32 = 14; -pub const RTC_IO_PDAC2_SLP_IE_V: u32 = 1; -pub const RTC_IO_PDAC2_SLP_IE_S: u32 = 13; -pub const RTC_IO_PDAC2_SLP_OE_V: u32 = 1; -pub const RTC_IO_PDAC2_SLP_OE_S: u32 = 12; -pub const RTC_IO_PDAC2_FUN_IE_V: u32 = 1; -pub const RTC_IO_PDAC2_FUN_IE_S: u32 = 11; -pub const RTC_IO_PDAC2_DAC_XPD_FORCE_V: u32 = 1; -pub const RTC_IO_PDAC2_DAC_XPD_FORCE_S: u32 = 10; -pub const RTC_IO_XTAL_32K_PAD_REG: u32 = 1072989324; -pub const RTC_IO_X32N_DRV: u32 = 3; -pub const RTC_IO_X32N_DRV_V: u32 = 3; -pub const RTC_IO_X32N_DRV_S: u32 = 30; -pub const RTC_IO_X32N_HOLD_V: u32 = 1; -pub const RTC_IO_X32N_HOLD_S: u32 = 29; -pub const RTC_IO_X32N_RDE_V: u32 = 1; -pub const RTC_IO_X32N_RDE_S: u32 = 28; -pub const RTC_IO_X32N_RUE_V: u32 = 1; -pub const RTC_IO_X32N_RUE_S: u32 = 27; -pub const RTC_IO_X32P_DRV: u32 = 3; -pub const RTC_IO_X32P_DRV_V: u32 = 3; -pub const RTC_IO_X32P_DRV_S: u32 = 25; -pub const RTC_IO_X32P_HOLD_V: u32 = 1; -pub const RTC_IO_X32P_HOLD_S: u32 = 24; -pub const RTC_IO_X32P_RDE_V: u32 = 1; -pub const RTC_IO_X32P_RDE_S: u32 = 23; -pub const RTC_IO_X32P_RUE_V: u32 = 1; -pub const RTC_IO_X32P_RUE_S: u32 = 22; -pub const RTC_IO_DAC_XTAL_32K: u32 = 3; -pub const RTC_IO_DAC_XTAL_32K_V: u32 = 3; -pub const RTC_IO_DAC_XTAL_32K_S: u32 = 20; -pub const RTC_IO_XPD_XTAL_32K_V: u32 = 1; -pub const RTC_IO_XPD_XTAL_32K_S: u32 = 19; -pub const RTC_IO_X32N_MUX_SEL_V: u32 = 1; -pub const RTC_IO_X32N_MUX_SEL_S: u32 = 18; -pub const RTC_IO_X32P_MUX_SEL_V: u32 = 1; -pub const RTC_IO_X32P_MUX_SEL_S: u32 = 17; -pub const RTC_IO_X32N_FUN_SEL: u32 = 3; -pub const RTC_IO_X32N_FUN_SEL_V: u32 = 3; -pub const RTC_IO_X32N_FUN_SEL_S: u32 = 15; -pub const RTC_IO_X32N_SLP_SEL_V: u32 = 1; -pub const RTC_IO_X32N_SLP_SEL_S: u32 = 14; -pub const RTC_IO_X32N_SLP_IE_V: u32 = 1; -pub const RTC_IO_X32N_SLP_IE_S: u32 = 13; -pub const RTC_IO_X32N_SLP_OE_V: u32 = 1; -pub const RTC_IO_X32N_SLP_OE_S: u32 = 12; -pub const RTC_IO_X32N_FUN_IE_V: u32 = 1; -pub const RTC_IO_X32N_FUN_IE_S: u32 = 11; -pub const RTC_IO_X32P_FUN_SEL: u32 = 3; -pub const RTC_IO_X32P_FUN_SEL_V: u32 = 3; -pub const RTC_IO_X32P_FUN_SEL_S: u32 = 9; -pub const RTC_IO_X32P_SLP_SEL_V: u32 = 1; -pub const RTC_IO_X32P_SLP_SEL_S: u32 = 8; -pub const RTC_IO_X32P_SLP_IE_V: u32 = 1; -pub const RTC_IO_X32P_SLP_IE_S: u32 = 7; -pub const RTC_IO_X32P_SLP_OE_V: u32 = 1; -pub const RTC_IO_X32P_SLP_OE_S: u32 = 6; -pub const RTC_IO_X32P_FUN_IE_V: u32 = 1; -pub const RTC_IO_X32P_FUN_IE_S: u32 = 5; -pub const RTC_IO_DRES_XTAL_32K: u32 = 3; -pub const RTC_IO_DRES_XTAL_32K_V: u32 = 3; -pub const RTC_IO_DRES_XTAL_32K_S: u32 = 3; -pub const RTC_IO_DBIAS_XTAL_32K: u32 = 3; -pub const RTC_IO_DBIAS_XTAL_32K_V: u32 = 3; -pub const RTC_IO_DBIAS_XTAL_32K_S: u32 = 1; -pub const RTC_IO_TOUCH_CFG_REG: u32 = 1072989328; -pub const RTC_IO_TOUCH_XPD_BIAS_V: u32 = 1; -pub const RTC_IO_TOUCH_XPD_BIAS_S: u32 = 31; -pub const RTC_IO_TOUCH_DREFH: u32 = 3; -pub const RTC_IO_TOUCH_DREFH_V: u32 = 3; -pub const RTC_IO_TOUCH_DREFH_S: u32 = 29; -pub const RTC_IO_TOUCH_DREFL: u32 = 3; -pub const RTC_IO_TOUCH_DREFL_V: u32 = 3; -pub const RTC_IO_TOUCH_DREFL_S: u32 = 27; -pub const RTC_IO_TOUCH_DRANGE: u32 = 3; -pub const RTC_IO_TOUCH_DRANGE_V: u32 = 3; -pub const RTC_IO_TOUCH_DRANGE_S: u32 = 25; -pub const RTC_IO_TOUCH_DCUR: u32 = 3; -pub const RTC_IO_TOUCH_DCUR_V: u32 = 3; -pub const RTC_IO_TOUCH_DCUR_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD0_REG: u32 = 1072989332; -pub const RTC_IO_TOUCH_PAD0_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD0_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD0_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD0_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD0_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD0_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD0_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD0_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD0_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD0_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD0_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD0_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD0_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD0_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD0_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD0_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD0_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD0_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD0_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD0_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD0_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD0_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD1_REG: u32 = 1072989336; -pub const RTC_IO_TOUCH_PAD1_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD1_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD1_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD1_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD1_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD1_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD1_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD1_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD1_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD1_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD1_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD1_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD1_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD1_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD1_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD1_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD1_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD1_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD1_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD1_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD1_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD1_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD2_REG: u32 = 1072989340; -pub const RTC_IO_TOUCH_PAD2_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD2_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD2_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD2_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD2_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD2_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD2_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD2_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD2_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD2_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD2_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD2_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD2_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD2_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD2_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD2_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD2_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD2_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD2_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD2_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD2_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD2_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD3_REG: u32 = 1072989344; -pub const RTC_IO_TOUCH_PAD3_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD3_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD3_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD3_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD3_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD3_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD3_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD3_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD3_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD3_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD3_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD3_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD3_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD3_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD3_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD3_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD3_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD3_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD3_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD3_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD3_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD3_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD4_REG: u32 = 1072989348; -pub const RTC_IO_TOUCH_PAD4_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD4_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD4_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD4_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD4_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD4_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD4_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD4_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD4_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD4_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD4_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD4_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD4_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD4_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD4_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD4_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD4_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD4_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD4_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD4_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD4_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD4_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD5_REG: u32 = 1072989352; -pub const RTC_IO_TOUCH_PAD5_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD5_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD5_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD5_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD5_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD5_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD5_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD5_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD5_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD5_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD5_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD5_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD5_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD5_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD5_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD5_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD5_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD5_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD5_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD5_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD5_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD5_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD6_REG: u32 = 1072989356; -pub const RTC_IO_TOUCH_PAD6_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD6_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD6_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD6_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD6_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD6_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD6_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD6_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD6_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD6_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD6_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD6_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD6_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD6_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD6_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD6_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD6_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD6_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD6_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD6_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD6_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD6_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD7_REG: u32 = 1072989360; -pub const RTC_IO_TOUCH_PAD7_HOLD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_HOLD_S: u32 = 31; -pub const RTC_IO_TOUCH_PAD7_DRV: u32 = 3; -pub const RTC_IO_TOUCH_PAD7_DRV_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD7_DRV_S: u32 = 29; -pub const RTC_IO_TOUCH_PAD7_RDE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_RDE_S: u32 = 28; -pub const RTC_IO_TOUCH_PAD7_RUE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_RUE_S: u32 = 27; -pub const RTC_IO_TOUCH_PAD7_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD7_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD7_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD7_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD7_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD7_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD7_MUX_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_MUX_SEL_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD7_FUN_SEL: u32 = 3; -pub const RTC_IO_TOUCH_PAD7_FUN_SEL_V: u32 = 3; -pub const RTC_IO_TOUCH_PAD7_FUN_SEL_S: u32 = 17; -pub const RTC_IO_TOUCH_PAD7_SLP_SEL_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_SLP_SEL_S: u32 = 16; -pub const RTC_IO_TOUCH_PAD7_SLP_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_SLP_IE_S: u32 = 15; -pub const RTC_IO_TOUCH_PAD7_SLP_OE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_SLP_OE_S: u32 = 14; -pub const RTC_IO_TOUCH_PAD7_FUN_IE_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_FUN_IE_S: u32 = 13; -pub const RTC_IO_TOUCH_PAD7_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD7_TO_GPIO_S: u32 = 12; -pub const RTC_IO_TOUCH_PAD8_REG: u32 = 1072989364; -pub const RTC_IO_TOUCH_PAD8_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD8_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD8_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD8_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD8_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD8_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD8_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD8_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD8_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD8_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD8_TO_GPIO_S: u32 = 19; -pub const RTC_IO_TOUCH_PAD9_REG: u32 = 1072989368; -pub const RTC_IO_TOUCH_PAD9_DAC: u32 = 7; -pub const RTC_IO_TOUCH_PAD9_DAC_V: u32 = 7; -pub const RTC_IO_TOUCH_PAD9_DAC_S: u32 = 23; -pub const RTC_IO_TOUCH_PAD9_START_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD9_START_S: u32 = 22; -pub const RTC_IO_TOUCH_PAD9_TIE_OPT_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD9_TIE_OPT_S: u32 = 21; -pub const RTC_IO_TOUCH_PAD9_XPD_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD9_XPD_S: u32 = 20; -pub const RTC_IO_TOUCH_PAD9_TO_GPIO_V: u32 = 1; -pub const RTC_IO_TOUCH_PAD9_TO_GPIO_S: u32 = 19; -pub const RTC_IO_EXT_WAKEUP0_REG: u32 = 1072989372; -pub const RTC_IO_EXT_WAKEUP0_SEL: u32 = 31; -pub const RTC_IO_EXT_WAKEUP0_SEL_V: u32 = 31; -pub const RTC_IO_EXT_WAKEUP0_SEL_S: u32 = 27; -pub const RTC_IO_XTL_EXT_CTR_REG: u32 = 1072989376; -pub const RTC_IO_XTL_EXT_CTR_SEL: u32 = 31; -pub const RTC_IO_XTL_EXT_CTR_SEL_V: u32 = 31; -pub const RTC_IO_XTL_EXT_CTR_SEL_S: u32 = 27; -pub const RTC_IO_SAR_I2C_IO_REG: u32 = 1072989380; -pub const RTC_IO_SAR_I2C_SDA_SEL: u32 = 3; -pub const RTC_IO_SAR_I2C_SDA_SEL_V: u32 = 3; -pub const RTC_IO_SAR_I2C_SDA_SEL_S: u32 = 30; -pub const RTC_IO_SAR_I2C_SCL_SEL: u32 = 3; -pub const RTC_IO_SAR_I2C_SCL_SEL_V: u32 = 3; -pub const RTC_IO_SAR_I2C_SCL_SEL_S: u32 = 28; -pub const RTC_IO_SAR_DEBUG_BIT_SEL: u32 = 31; -pub const RTC_IO_SAR_DEBUG_BIT_SEL_V: u32 = 31; -pub const RTC_IO_SAR_DEBUG_BIT_SEL_S: u32 = 23; -pub const RTC_IO_DATE_REG: u32 = 1072989384; -pub const RTC_IO_IO_DATE: u32 = 268435455; -pub const RTC_IO_IO_DATE_V: u32 = 268435455; -pub const RTC_IO_IO_DATE_S: u32 = 0; -pub const RTC_IO_RTC_IO_DATE_VERSION: u32 = 24129888; -pub const SLP_OE_V: u32 = 1; -pub const SLP_OE_S: u32 = 0; -pub const SLP_SEL_V: u32 = 1; -pub const SLP_SEL_S: u32 = 1; -pub const SLP_PD_V: u32 = 1; -pub const SLP_PD_S: u32 = 2; -pub const SLP_PU_V: u32 = 1; -pub const SLP_PU_S: u32 = 3; -pub const SLP_IE_V: u32 = 1; -pub const SLP_IE_S: u32 = 4; -pub const SLP_DRV: u32 = 3; -pub const SLP_DRV_V: u32 = 3; -pub const SLP_DRV_S: u32 = 5; -pub const FUN_PD_V: u32 = 1; -pub const FUN_PD_S: u32 = 7; -pub const FUN_PU_V: u32 = 1; -pub const FUN_PU_S: u32 = 8; -pub const FUN_IE_V: u32 = 1; -pub const FUN_IE_S: u32 = 9; -pub const FUN_DRV: u32 = 3; -pub const FUN_DRV_V: u32 = 3; -pub const FUN_DRV_S: u32 = 10; -pub const MCU_SEL: u32 = 7; -pub const MCU_SEL_V: u32 = 7; -pub const MCU_SEL_S: u32 = 12; -pub const PIN_FUNC_GPIO: u32 = 2; -pub const PIN_CTRL: u32 = 1072992256; -pub const CLK_OUT3: u32 = 15; -pub const CLK_OUT3_V: u32 = 15; -pub const CLK_OUT3_S: u32 = 8; -pub const CLK_OUT3_M: u32 = 3840; -pub const CLK_OUT2: u32 = 15; -pub const CLK_OUT2_V: u32 = 15; -pub const CLK_OUT2_S: u32 = 4; -pub const CLK_OUT2_M: u32 = 240; -pub const CLK_OUT1: u32 = 15; -pub const CLK_OUT1_V: u32 = 15; -pub const CLK_OUT1_S: u32 = 0; -pub const CLK_OUT1_M: u32 = 15; -pub const PERIPHS_IO_MUX_GPIO0_U: u32 = 1072992324; -pub const IO_MUX_GPIO0_REG: u32 = 1072992324; -pub const FUNC_GPIO0_EMAC_TX_CLK: u32 = 5; -pub const FUNC_GPIO0_GPIO0: u32 = 2; -pub const FUNC_GPIO0_CLK_OUT1: u32 = 1; -pub const FUNC_GPIO0_GPIO0_0: u32 = 0; -pub const PERIPHS_IO_MUX_U0TXD_U: u32 = 1072992392; -pub const IO_MUX_GPIO1_REG: u32 = 1072992392; -pub const FUNC_U0TXD_EMAC_RXD2: u32 = 5; -pub const FUNC_U0TXD_GPIO1: u32 = 2; -pub const FUNC_U0TXD_CLK_OUT3: u32 = 1; -pub const FUNC_U0TXD_U0TXD: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO2_U: u32 = 1072992320; -pub const IO_MUX_GPIO2_REG: u32 = 1072992320; -pub const FUNC_GPIO2_SD_DATA0: u32 = 4; -pub const FUNC_GPIO2_HS2_DATA0: u32 = 3; -pub const FUNC_GPIO2_GPIO2: u32 = 2; -pub const FUNC_GPIO2_HSPIWP: u32 = 1; -pub const FUNC_GPIO2_GPIO2_0: u32 = 0; -pub const PERIPHS_IO_MUX_U0RXD_U: u32 = 1072992388; -pub const IO_MUX_GPIO3_REG: u32 = 1072992388; -pub const FUNC_U0RXD_GPIO3: u32 = 2; -pub const FUNC_U0RXD_CLK_OUT2: u32 = 1; -pub const FUNC_U0RXD_U0RXD: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO4_U: u32 = 1072992328; -pub const IO_MUX_GPIO4_REG: u32 = 1072992328; -pub const FUNC_GPIO4_EMAC_TX_ER: u32 = 5; -pub const FUNC_GPIO4_SD_DATA1: u32 = 4; -pub const FUNC_GPIO4_HS2_DATA1: u32 = 3; -pub const FUNC_GPIO4_GPIO4: u32 = 2; -pub const FUNC_GPIO4_HSPIHD: u32 = 1; -pub const FUNC_GPIO4_GPIO4_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO5_U: u32 = 1072992364; -pub const IO_MUX_GPIO5_REG: u32 = 1072992364; -pub const FUNC_GPIO5_EMAC_RX_CLK: u32 = 5; -pub const FUNC_GPIO5_HS1_DATA6: u32 = 3; -pub const FUNC_GPIO5_GPIO5: u32 = 2; -pub const FUNC_GPIO5_VSPICS0: u32 = 1; -pub const FUNC_GPIO5_GPIO5_0: u32 = 0; -pub const PERIPHS_IO_MUX_SD_CLK_U: u32 = 1072992352; -pub const IO_MUX_GPIO6_REG: u32 = 1072992352; -pub const FUNC_SD_CLK_U1CTS: u32 = 4; -pub const FUNC_SD_CLK_HS1_CLK: u32 = 3; -pub const FUNC_SD_CLK_GPIO6: u32 = 2; -pub const FUNC_SD_CLK_SPICLK: u32 = 1; -pub const FUNC_SD_CLK_SD_CLK: u32 = 0; -pub const PERIPHS_IO_MUX_SD_DATA0_U: u32 = 1072992356; -pub const IO_MUX_GPIO7_REG: u32 = 1072992356; -pub const FUNC_SD_DATA0_U2RTS: u32 = 4; -pub const FUNC_SD_DATA0_HS1_DATA0: u32 = 3; -pub const FUNC_SD_DATA0_GPIO7: u32 = 2; -pub const FUNC_SD_DATA0_SPIQ: u32 = 1; -pub const FUNC_SD_DATA0_SD_DATA0: u32 = 0; -pub const PERIPHS_IO_MUX_SD_DATA1_U: u32 = 1072992360; -pub const IO_MUX_GPIO8_REG: u32 = 1072992360; -pub const FUNC_SD_DATA1_U2CTS: u32 = 4; -pub const FUNC_SD_DATA1_HS1_DATA1: u32 = 3; -pub const FUNC_SD_DATA1_GPIO8: u32 = 2; -pub const FUNC_SD_DATA1_SPID: u32 = 1; -pub const FUNC_SD_DATA1_SD_DATA1: u32 = 0; -pub const PERIPHS_IO_MUX_SD_DATA2_U: u32 = 1072992340; -pub const IO_MUX_GPIO9_REG: u32 = 1072992340; -pub const FUNC_SD_DATA2_U1RXD: u32 = 4; -pub const FUNC_SD_DATA2_HS1_DATA2: u32 = 3; -pub const FUNC_SD_DATA2_GPIO9: u32 = 2; -pub const FUNC_SD_DATA2_SPIHD: u32 = 1; -pub const FUNC_SD_DATA2_SD_DATA2: u32 = 0; -pub const PERIPHS_IO_MUX_SD_DATA3_U: u32 = 1072992344; -pub const IO_MUX_GPIO10_REG: u32 = 1072992344; -pub const FUNC_SD_DATA3_U1TXD: u32 = 4; -pub const FUNC_SD_DATA3_HS1_DATA3: u32 = 3; -pub const FUNC_SD_DATA3_GPIO10: u32 = 2; -pub const FUNC_SD_DATA3_SPIWP: u32 = 1; -pub const FUNC_SD_DATA3_SD_DATA3: u32 = 0; -pub const PERIPHS_IO_MUX_SD_CMD_U: u32 = 1072992348; -pub const IO_MUX_GPIO11_REG: u32 = 1072992348; -pub const FUNC_SD_CMD_U1RTS: u32 = 4; -pub const FUNC_SD_CMD_HS1_CMD: u32 = 3; -pub const FUNC_SD_CMD_GPIO11: u32 = 2; -pub const FUNC_SD_CMD_SPICS0: u32 = 1; -pub const FUNC_SD_CMD_SD_CMD: u32 = 0; -pub const PERIPHS_IO_MUX_MTDI_U: u32 = 1072992308; -pub const IO_MUX_GPIO12_REG: u32 = 1072992308; -pub const FUNC_MTDI_EMAC_TXD3: u32 = 5; -pub const FUNC_MTDI_SD_DATA2: u32 = 4; -pub const FUNC_MTDI_HS2_DATA2: u32 = 3; -pub const FUNC_MTDI_GPIO12: u32 = 2; -pub const FUNC_MTDI_HSPIQ: u32 = 1; -pub const FUNC_MTDI_MTDI: u32 = 0; -pub const PERIPHS_IO_MUX_MTCK_U: u32 = 1072992312; -pub const IO_MUX_GPIO13_REG: u32 = 1072992312; -pub const FUNC_MTCK_EMAC_RX_ER: u32 = 5; -pub const FUNC_MTCK_SD_DATA3: u32 = 4; -pub const FUNC_MTCK_HS2_DATA3: u32 = 3; -pub const FUNC_MTCK_GPIO13: u32 = 2; -pub const FUNC_MTCK_HSPID: u32 = 1; -pub const FUNC_MTCK_MTCK: u32 = 0; -pub const PERIPHS_IO_MUX_MTMS_U: u32 = 1072992304; -pub const IO_MUX_GPIO14_REG: u32 = 1072992304; -pub const FUNC_MTMS_EMAC_TXD2: u32 = 5; -pub const FUNC_MTMS_SD_CLK: u32 = 4; -pub const FUNC_MTMS_HS2_CLK: u32 = 3; -pub const FUNC_MTMS_GPIO14: u32 = 2; -pub const FUNC_MTMS_HSPICLK: u32 = 1; -pub const FUNC_MTMS_MTMS: u32 = 0; -pub const PERIPHS_IO_MUX_MTDO_U: u32 = 1072992316; -pub const IO_MUX_GPIO15_REG: u32 = 1072992316; -pub const FUNC_MTDO_EMAC_RXD3: u32 = 5; -pub const FUNC_MTDO_SD_CMD: u32 = 4; -pub const FUNC_MTDO_HS2_CMD: u32 = 3; -pub const FUNC_MTDO_GPIO15: u32 = 2; -pub const FUNC_MTDO_HSPICS0: u32 = 1; -pub const FUNC_MTDO_MTDO: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO16_U: u32 = 1072992332; -pub const IO_MUX_GPIO16_REG: u32 = 1072992332; -pub const FUNC_GPIO16_EMAC_CLK_OUT: u32 = 5; -pub const FUNC_GPIO16_U2RXD: u32 = 4; -pub const FUNC_GPIO16_HS1_DATA4: u32 = 3; -pub const FUNC_GPIO16_GPIO16: u32 = 2; -pub const FUNC_GPIO16_GPIO16_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO17_U: u32 = 1072992336; -pub const IO_MUX_GPIO17_REG: u32 = 1072992336; -pub const FUNC_GPIO17_EMAC_CLK_OUT_180: u32 = 5; -pub const FUNC_GPIO17_U2TXD: u32 = 4; -pub const FUNC_GPIO17_HS1_DATA5: u32 = 3; -pub const FUNC_GPIO17_GPIO17: u32 = 2; -pub const FUNC_GPIO17_GPIO17_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO18_U: u32 = 1072992368; -pub const IO_MUX_GPIO18_REG: u32 = 1072992368; -pub const FUNC_GPIO18_HS1_DATA7: u32 = 3; -pub const FUNC_GPIO18_GPIO18: u32 = 2; -pub const FUNC_GPIO18_VSPICLK: u32 = 1; -pub const FUNC_GPIO18_GPIO18_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO19_U: u32 = 1072992372; -pub const IO_MUX_GPIO19_REG: u32 = 1072992372; -pub const FUNC_GPIO19_EMAC_TXD0: u32 = 5; -pub const FUNC_GPIO19_U0CTS: u32 = 3; -pub const FUNC_GPIO19_GPIO19: u32 = 2; -pub const FUNC_GPIO19_VSPIQ: u32 = 1; -pub const FUNC_GPIO19_GPIO19_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO20_U: u32 = 1072992376; -pub const IO_MUX_GPIO20_REG: u32 = 1072992376; -pub const FUNC_GPIO20_GPIO20: u32 = 2; -pub const FUNC_GPIO20_GPIO20_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO21_U: u32 = 1072992380; -pub const IO_MUX_GPIO21_REG: u32 = 1072992380; -pub const FUNC_GPIO21_EMAC_TX_EN: u32 = 5; -pub const FUNC_GPIO21_GPIO21: u32 = 2; -pub const FUNC_GPIO21_VSPIHD: u32 = 1; -pub const FUNC_GPIO21_GPIO21_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO22_U: u32 = 1072992384; -pub const IO_MUX_GPIO22_REG: u32 = 1072992384; -pub const FUNC_GPIO22_EMAC_TXD1: u32 = 5; -pub const FUNC_GPIO22_U0RTS: u32 = 3; -pub const FUNC_GPIO22_GPIO22: u32 = 2; -pub const FUNC_GPIO22_VSPIWP: u32 = 1; -pub const FUNC_GPIO22_GPIO22_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO23_U: u32 = 1072992396; -pub const IO_MUX_GPIO23_REG: u32 = 1072992396; -pub const FUNC_GPIO23_HS1_STROBE: u32 = 3; -pub const FUNC_GPIO23_GPIO23: u32 = 2; -pub const FUNC_GPIO23_VSPID: u32 = 1; -pub const FUNC_GPIO23_GPIO23_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO24_U: u32 = 1072992400; -pub const IO_MUX_GPIO24_REG: u32 = 1072992400; -pub const FUNC_GPIO24_GPIO24: u32 = 2; -pub const FUNC_GPIO24_GPIO24_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO25_U: u32 = 1072992292; -pub const IO_MUX_GPIO25_REG: u32 = 1072992292; -pub const FUNC_GPIO25_EMAC_RXD0: u32 = 5; -pub const FUNC_GPIO25_GPIO25: u32 = 2; -pub const FUNC_GPIO25_GPIO25_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO26_U: u32 = 1072992296; -pub const IO_MUX_GPIO26_REG: u32 = 1072992296; -pub const FUNC_GPIO26_EMAC_RXD1: u32 = 5; -pub const FUNC_GPIO26_GPIO26: u32 = 2; -pub const FUNC_GPIO26_GPIO26_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO27_U: u32 = 1072992300; -pub const IO_MUX_GPIO27_REG: u32 = 1072992300; -pub const FUNC_GPIO27_EMAC_RX_DV: u32 = 5; -pub const FUNC_GPIO27_GPIO27: u32 = 2; -pub const FUNC_GPIO27_GPIO27_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO32_U: u32 = 1072992284; -pub const IO_MUX_GPIO32_REG: u32 = 1072992284; -pub const FUNC_GPIO32_GPIO32: u32 = 2; -pub const FUNC_GPIO32_GPIO32_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO33_U: u32 = 1072992288; -pub const IO_MUX_GPIO33_REG: u32 = 1072992288; -pub const FUNC_GPIO33_GPIO33: u32 = 2; -pub const FUNC_GPIO33_GPIO33_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO34_U: u32 = 1072992276; -pub const IO_MUX_GPIO34_REG: u32 = 1072992276; -pub const FUNC_GPIO34_GPIO34: u32 = 2; -pub const FUNC_GPIO34_GPIO34_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO35_U: u32 = 1072992280; -pub const IO_MUX_GPIO35_REG: u32 = 1072992280; -pub const FUNC_GPIO35_GPIO35: u32 = 2; -pub const FUNC_GPIO35_GPIO35_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO36_U: u32 = 1072992260; -pub const IO_MUX_GPIO36_REG: u32 = 1072992260; -pub const FUNC_GPIO36_GPIO36: u32 = 2; -pub const FUNC_GPIO36_GPIO36_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO37_U: u32 = 1072992264; -pub const IO_MUX_GPIO37_REG: u32 = 1072992264; -pub const FUNC_GPIO37_GPIO37: u32 = 2; -pub const FUNC_GPIO37_GPIO37_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO38_U: u32 = 1072992268; -pub const IO_MUX_GPIO38_REG: u32 = 1072992268; -pub const FUNC_GPIO38_GPIO38: u32 = 2; -pub const FUNC_GPIO38_GPIO38_0: u32 = 0; -pub const PERIPHS_IO_MUX_GPIO39_U: u32 = 1072992272; -pub const IO_MUX_GPIO39_REG: u32 = 1072992272; -pub const FUNC_GPIO39_GPIO39: u32 = 2; -pub const FUNC_GPIO39_GPIO39_0: u32 = 0; -pub const SPICLK_IN_IDX: u32 = 0; -pub const SPICLK_OUT_IDX: u32 = 0; -pub const SPIQ_IN_IDX: u32 = 1; -pub const SPIQ_OUT_IDX: u32 = 1; -pub const SPID_IN_IDX: u32 = 2; -pub const SPID_OUT_IDX: u32 = 2; -pub const SPIHD_IN_IDX: u32 = 3; -pub const SPIHD_OUT_IDX: u32 = 3; -pub const SPIWP_IN_IDX: u32 = 4; -pub const SPIWP_OUT_IDX: u32 = 4; -pub const SPICS0_IN_IDX: u32 = 5; -pub const SPICS0_OUT_IDX: u32 = 5; -pub const SPICS1_IN_IDX: u32 = 6; -pub const SPICS1_OUT_IDX: u32 = 6; -pub const SPICS2_IN_IDX: u32 = 7; -pub const SPICS2_OUT_IDX: u32 = 7; -pub const HSPICLK_IN_IDX: u32 = 8; -pub const HSPICLK_OUT_IDX: u32 = 8; -pub const HSPIQ_IN_IDX: u32 = 9; -pub const HSPIQ_OUT_IDX: u32 = 9; -pub const HSPID_IN_IDX: u32 = 10; -pub const HSPID_OUT_IDX: u32 = 10; -pub const HSPICS0_IN_IDX: u32 = 11; -pub const HSPICS0_OUT_IDX: u32 = 11; -pub const HSPIHD_IN_IDX: u32 = 12; -pub const HSPIHD_OUT_IDX: u32 = 12; -pub const HSPIWP_IN_IDX: u32 = 13; -pub const HSPIWP_OUT_IDX: u32 = 13; -pub const U0RXD_IN_IDX: u32 = 14; -pub const U0TXD_OUT_IDX: u32 = 14; -pub const U0CTS_IN_IDX: u32 = 15; -pub const U0RTS_OUT_IDX: u32 = 15; -pub const U0DSR_IN_IDX: u32 = 16; -pub const U0DTR_OUT_IDX: u32 = 16; -pub const U1RXD_IN_IDX: u32 = 17; -pub const U1TXD_OUT_IDX: u32 = 17; -pub const U1CTS_IN_IDX: u32 = 18; -pub const U1RTS_OUT_IDX: u32 = 18; -pub const I2CM_SCL_O_IDX: u32 = 19; -pub const I2CM_SDA_I_IDX: u32 = 20; -pub const I2CM_SDA_O_IDX: u32 = 20; -pub const EXT_I2C_SCL_O_IDX: u32 = 21; -pub const EXT_I2C_SDA_O_IDX: u32 = 22; -pub const EXT_I2C_SDA_I_IDX: u32 = 22; -pub const I2S0O_BCK_IN_IDX: u32 = 23; -pub const I2S0O_BCK_OUT_IDX: u32 = 23; -pub const I2S1O_BCK_IN_IDX: u32 = 24; -pub const I2S1O_BCK_OUT_IDX: u32 = 24; -pub const I2S0O_WS_IN_IDX: u32 = 25; -pub const I2S0O_WS_OUT_IDX: u32 = 25; -pub const I2S1O_WS_IN_IDX: u32 = 26; -pub const I2S1O_WS_OUT_IDX: u32 = 26; -pub const I2S0I_BCK_IN_IDX: u32 = 27; -pub const I2S0I_BCK_OUT_IDX: u32 = 27; -pub const I2S0I_WS_IN_IDX: u32 = 28; -pub const I2S0I_WS_OUT_IDX: u32 = 28; -pub const I2CEXT0_SCL_IN_IDX: u32 = 29; -pub const I2CEXT0_SCL_OUT_IDX: u32 = 29; -pub const I2CEXT0_SDA_IN_IDX: u32 = 30; -pub const I2CEXT0_SDA_OUT_IDX: u32 = 30; -pub const PWM0_SYNC0_IN_IDX: u32 = 31; -pub const SDIO_TOHOST_INT_OUT_IDX: u32 = 31; -pub const PWM0_SYNC1_IN_IDX: u32 = 32; -pub const PWM0_OUT0A_IDX: u32 = 32; -pub const PWM0_SYNC2_IN_IDX: u32 = 33; -pub const PWM0_OUT0B_IDX: u32 = 33; -pub const PWM0_F0_IN_IDX: u32 = 34; -pub const PWM0_OUT1A_IDX: u32 = 34; -pub const PWM0_F1_IN_IDX: u32 = 35; -pub const PWM0_OUT1B_IDX: u32 = 35; -pub const PWM0_F2_IN_IDX: u32 = 36; -pub const PWM0_OUT2A_IDX: u32 = 36; -pub const GPIO_BT_ACTIVE_IDX: u32 = 37; -pub const PWM0_OUT2B_IDX: u32 = 37; -pub const GPIO_BT_PRIORITY_IDX: u32 = 38; -pub const PCNT_SIG_CH0_IN0_IDX: u32 = 39; -pub const PCNT_SIG_CH1_IN0_IDX: u32 = 40; -pub const GPIO_WLAN_ACTIVE_IDX: u32 = 40; -pub const PCNT_CTRL_CH0_IN0_IDX: u32 = 41; -pub const BB_DIAG0_IDX: u32 = 41; -pub const PCNT_CTRL_CH1_IN0_IDX: u32 = 42; -pub const BB_DIAG1_IDX: u32 = 42; -pub const PCNT_SIG_CH0_IN1_IDX: u32 = 43; -pub const BB_DIAG2_IDX: u32 = 43; -pub const PCNT_SIG_CH1_IN1_IDX: u32 = 44; -pub const BB_DIAG3_IDX: u32 = 44; -pub const PCNT_CTRL_CH0_IN1_IDX: u32 = 45; -pub const BB_DIAG4_IDX: u32 = 45; -pub const PCNT_CTRL_CH1_IN1_IDX: u32 = 46; -pub const BB_DIAG5_IDX: u32 = 46; -pub const PCNT_SIG_CH0_IN2_IDX: u32 = 47; -pub const BB_DIAG6_IDX: u32 = 47; -pub const PCNT_SIG_CH1_IN2_IDX: u32 = 48; -pub const BB_DIAG7_IDX: u32 = 48; -pub const PCNT_CTRL_CH0_IN2_IDX: u32 = 49; -pub const BB_DIAG8_IDX: u32 = 49; -pub const PCNT_CTRL_CH1_IN2_IDX: u32 = 50; -pub const BB_DIAG9_IDX: u32 = 50; -pub const PCNT_SIG_CH0_IN3_IDX: u32 = 51; -pub const BB_DIAG10_IDX: u32 = 51; -pub const PCNT_SIG_CH1_IN3_IDX: u32 = 52; -pub const BB_DIAG11_IDX: u32 = 52; -pub const PCNT_CTRL_CH0_IN3_IDX: u32 = 53; -pub const BB_DIAG12_IDX: u32 = 53; -pub const PCNT_CTRL_CH1_IN3_IDX: u32 = 54; -pub const BB_DIAG13_IDX: u32 = 54; -pub const PCNT_SIG_CH0_IN4_IDX: u32 = 55; -pub const BB_DIAG14_IDX: u32 = 55; -pub const PCNT_SIG_CH1_IN4_IDX: u32 = 56; -pub const BB_DIAG15_IDX: u32 = 56; -pub const PCNT_CTRL_CH0_IN4_IDX: u32 = 57; -pub const BB_DIAG16_IDX: u32 = 57; -pub const PCNT_CTRL_CH1_IN4_IDX: u32 = 58; -pub const BB_DIAG17_IDX: u32 = 58; -pub const BB_DIAG18_IDX: u32 = 59; -pub const BB_DIAG19_IDX: u32 = 60; -pub const HSPICS1_IN_IDX: u32 = 61; -pub const HSPICS1_OUT_IDX: u32 = 61; -pub const HSPICS2_IN_IDX: u32 = 62; -pub const HSPICS2_OUT_IDX: u32 = 62; -pub const VSPICLK_IN_IDX: u32 = 63; -pub const VSPICLK_OUT_IDX: u32 = 63; -pub const VSPIQ_IN_IDX: u32 = 64; -pub const VSPIQ_OUT_IDX: u32 = 64; -pub const VSPID_IN_IDX: u32 = 65; -pub const VSPID_OUT_IDX: u32 = 65; -pub const VSPIHD_IN_IDX: u32 = 66; -pub const VSPIHD_OUT_IDX: u32 = 66; -pub const VSPIWP_IN_IDX: u32 = 67; -pub const VSPIWP_OUT_IDX: u32 = 67; -pub const VSPICS0_IN_IDX: u32 = 68; -pub const VSPICS0_OUT_IDX: u32 = 68; -pub const VSPICS1_IN_IDX: u32 = 69; -pub const VSPICS1_OUT_IDX: u32 = 69; -pub const VSPICS2_IN_IDX: u32 = 70; -pub const VSPICS2_OUT_IDX: u32 = 70; -pub const PCNT_SIG_CH0_IN5_IDX: u32 = 71; -pub const LEDC_HS_SIG_OUT0_IDX: u32 = 71; -pub const PCNT_SIG_CH1_IN5_IDX: u32 = 72; -pub const LEDC_HS_SIG_OUT1_IDX: u32 = 72; -pub const PCNT_CTRL_CH0_IN5_IDX: u32 = 73; -pub const LEDC_HS_SIG_OUT2_IDX: u32 = 73; -pub const PCNT_CTRL_CH1_IN5_IDX: u32 = 74; -pub const LEDC_HS_SIG_OUT3_IDX: u32 = 74; -pub const PCNT_SIG_CH0_IN6_IDX: u32 = 75; -pub const LEDC_HS_SIG_OUT4_IDX: u32 = 75; -pub const PCNT_SIG_CH1_IN6_IDX: u32 = 76; -pub const LEDC_HS_SIG_OUT5_IDX: u32 = 76; -pub const PCNT_CTRL_CH0_IN6_IDX: u32 = 77; -pub const LEDC_HS_SIG_OUT6_IDX: u32 = 77; -pub const PCNT_CTRL_CH1_IN6_IDX: u32 = 78; -pub const LEDC_HS_SIG_OUT7_IDX: u32 = 78; -pub const PCNT_SIG_CH0_IN7_IDX: u32 = 79; -pub const LEDC_LS_SIG_OUT0_IDX: u32 = 79; -pub const PCNT_SIG_CH1_IN7_IDX: u32 = 80; -pub const LEDC_LS_SIG_OUT1_IDX: u32 = 80; -pub const PCNT_CTRL_CH0_IN7_IDX: u32 = 81; -pub const LEDC_LS_SIG_OUT2_IDX: u32 = 81; -pub const PCNT_CTRL_CH1_IN7_IDX: u32 = 82; -pub const LEDC_LS_SIG_OUT3_IDX: u32 = 82; -pub const RMT_SIG_IN0_IDX: u32 = 83; -pub const LEDC_LS_SIG_OUT4_IDX: u32 = 83; -pub const RMT_SIG_IN1_IDX: u32 = 84; -pub const LEDC_LS_SIG_OUT5_IDX: u32 = 84; -pub const RMT_SIG_IN2_IDX: u32 = 85; -pub const LEDC_LS_SIG_OUT6_IDX: u32 = 85; -pub const RMT_SIG_IN3_IDX: u32 = 86; -pub const LEDC_LS_SIG_OUT7_IDX: u32 = 86; -pub const RMT_SIG_IN4_IDX: u32 = 87; -pub const RMT_SIG_OUT0_IDX: u32 = 87; -pub const RMT_SIG_IN5_IDX: u32 = 88; -pub const RMT_SIG_OUT1_IDX: u32 = 88; -pub const RMT_SIG_IN6_IDX: u32 = 89; -pub const RMT_SIG_OUT2_IDX: u32 = 89; -pub const RMT_SIG_IN7_IDX: u32 = 90; -pub const RMT_SIG_OUT3_IDX: u32 = 90; -pub const RMT_SIG_OUT4_IDX: u32 = 91; -pub const RMT_SIG_OUT5_IDX: u32 = 92; -pub const EXT_ADC_START_IDX: u32 = 93; -pub const RMT_SIG_OUT6_IDX: u32 = 93; -pub const CAN_RX_IDX: u32 = 94; -pub const RMT_SIG_OUT7_IDX: u32 = 94; -pub const I2CEXT1_SCL_IN_IDX: u32 = 95; -pub const I2CEXT1_SCL_OUT_IDX: u32 = 95; -pub const I2CEXT1_SDA_IN_IDX: u32 = 96; -pub const I2CEXT1_SDA_OUT_IDX: u32 = 96; -pub const HOST_CARD_DETECT_N_1_IDX: u32 = 97; -pub const HOST_CCMD_OD_PULLUP_EN_N_IDX: u32 = 97; -pub const HOST_CARD_DETECT_N_2_IDX: u32 = 98; -pub const HOST_RST_N_1_IDX: u32 = 98; -pub const HOST_CARD_WRITE_PRT_1_IDX: u32 = 99; -pub const HOST_RST_N_2_IDX: u32 = 99; -pub const HOST_CARD_WRITE_PRT_2_IDX: u32 = 100; -pub const GPIO_SD0_OUT_IDX: u32 = 100; -pub const HOST_CARD_INT_N_1_IDX: u32 = 101; -pub const GPIO_SD1_OUT_IDX: u32 = 101; -pub const HOST_CARD_INT_N_2_IDX: u32 = 102; -pub const GPIO_SD2_OUT_IDX: u32 = 102; -pub const PWM1_SYNC0_IN_IDX: u32 = 103; -pub const GPIO_SD3_OUT_IDX: u32 = 103; -pub const PWM1_SYNC1_IN_IDX: u32 = 104; -pub const GPIO_SD4_OUT_IDX: u32 = 104; -pub const PWM1_SYNC2_IN_IDX: u32 = 105; -pub const GPIO_SD5_OUT_IDX: u32 = 105; -pub const PWM1_F0_IN_IDX: u32 = 106; -pub const GPIO_SD6_OUT_IDX: u32 = 106; -pub const PWM1_F1_IN_IDX: u32 = 107; -pub const GPIO_SD7_OUT_IDX: u32 = 107; -pub const PWM1_F2_IN_IDX: u32 = 108; -pub const PWM1_OUT0A_IDX: u32 = 108; -pub const PWM0_CAP0_IN_IDX: u32 = 109; -pub const PWM1_OUT0B_IDX: u32 = 109; -pub const PWM0_CAP1_IN_IDX: u32 = 110; -pub const PWM1_OUT1A_IDX: u32 = 110; -pub const PWM0_CAP2_IN_IDX: u32 = 111; -pub const PWM1_OUT1B_IDX: u32 = 111; -pub const PWM1_CAP0_IN_IDX: u32 = 112; -pub const PWM1_OUT2A_IDX: u32 = 112; -pub const PWM1_CAP1_IN_IDX: u32 = 113; -pub const PWM1_OUT2B_IDX: u32 = 113; -pub const PWM1_CAP2_IN_IDX: u32 = 114; -pub const PWM2_OUT1H_IDX: u32 = 114; -pub const PWM2_FLTA_IDX: u32 = 115; -pub const PWM2_OUT1L_IDX: u32 = 115; -pub const PWM2_FLTB_IDX: u32 = 116; -pub const PWM2_OUT2H_IDX: u32 = 116; -pub const PWM2_CAP1_IN_IDX: u32 = 117; -pub const PWM2_OUT2L_IDX: u32 = 117; -pub const PWM2_CAP2_IN_IDX: u32 = 118; -pub const PWM2_OUT3H_IDX: u32 = 118; -pub const PWM2_CAP3_IN_IDX: u32 = 119; -pub const PWM2_OUT3L_IDX: u32 = 119; -pub const PWM3_FLTA_IDX: u32 = 120; -pub const PWM2_OUT4H_IDX: u32 = 120; -pub const PWM3_FLTB_IDX: u32 = 121; -pub const PWM2_OUT4L_IDX: u32 = 121; -pub const PWM3_CAP1_IN_IDX: u32 = 122; -pub const PWM3_CAP2_IN_IDX: u32 = 123; -pub const CAN_TX_IDX: u32 = 123; -pub const PWM3_CAP3_IN_IDX: u32 = 124; -pub const CAN_BUS_OFF_ON_IDX: u32 = 124; -pub const CAN_CLKOUT_IDX: u32 = 125; -pub const SPID4_IN_IDX: u32 = 128; -pub const SPID4_OUT_IDX: u32 = 128; -pub const SPID5_IN_IDX: u32 = 129; -pub const SPID5_OUT_IDX: u32 = 129; -pub const SPID6_IN_IDX: u32 = 130; -pub const SPID6_OUT_IDX: u32 = 130; -pub const SPID7_IN_IDX: u32 = 131; -pub const SPID7_OUT_IDX: u32 = 131; -pub const HSPID4_IN_IDX: u32 = 132; -pub const HSPID4_OUT_IDX: u32 = 132; -pub const HSPID5_IN_IDX: u32 = 133; -pub const HSPID5_OUT_IDX: u32 = 133; -pub const HSPID6_IN_IDX: u32 = 134; -pub const HSPID6_OUT_IDX: u32 = 134; -pub const HSPID7_IN_IDX: u32 = 135; -pub const HSPID7_OUT_IDX: u32 = 135; -pub const VSPID4_IN_IDX: u32 = 136; -pub const VSPID4_OUT_IDX: u32 = 136; -pub const VSPID5_IN_IDX: u32 = 137; -pub const VSPID5_OUT_IDX: u32 = 137; -pub const VSPID6_IN_IDX: u32 = 138; -pub const VSPID6_OUT_IDX: u32 = 138; -pub const VSPID7_IN_IDX: u32 = 139; -pub const VSPID7_OUT_IDX: u32 = 139; -pub const I2S0I_DATA_IN0_IDX: u32 = 140; -pub const I2S0O_DATA_OUT0_IDX: u32 = 140; -pub const I2S0I_DATA_IN1_IDX: u32 = 141; -pub const I2S0O_DATA_OUT1_IDX: u32 = 141; -pub const I2S0I_DATA_IN2_IDX: u32 = 142; -pub const I2S0O_DATA_OUT2_IDX: u32 = 142; -pub const I2S0I_DATA_IN3_IDX: u32 = 143; -pub const I2S0O_DATA_OUT3_IDX: u32 = 143; -pub const I2S0I_DATA_IN4_IDX: u32 = 144; -pub const I2S0O_DATA_OUT4_IDX: u32 = 144; -pub const I2S0I_DATA_IN5_IDX: u32 = 145; -pub const I2S0O_DATA_OUT5_IDX: u32 = 145; -pub const I2S0I_DATA_IN6_IDX: u32 = 146; -pub const I2S0O_DATA_OUT6_IDX: u32 = 146; -pub const I2S0I_DATA_IN7_IDX: u32 = 147; -pub const I2S0O_DATA_OUT7_IDX: u32 = 147; -pub const I2S0I_DATA_IN8_IDX: u32 = 148; -pub const I2S0O_DATA_OUT8_IDX: u32 = 148; -pub const I2S0I_DATA_IN9_IDX: u32 = 149; -pub const I2S0O_DATA_OUT9_IDX: u32 = 149; -pub const I2S0I_DATA_IN10_IDX: u32 = 150; -pub const I2S0O_DATA_OUT10_IDX: u32 = 150; -pub const I2S0I_DATA_IN11_IDX: u32 = 151; -pub const I2S0O_DATA_OUT11_IDX: u32 = 151; -pub const I2S0I_DATA_IN12_IDX: u32 = 152; -pub const I2S0O_DATA_OUT12_IDX: u32 = 152; -pub const I2S0I_DATA_IN13_IDX: u32 = 153; -pub const I2S0O_DATA_OUT13_IDX: u32 = 153; -pub const I2S0I_DATA_IN14_IDX: u32 = 154; -pub const I2S0O_DATA_OUT14_IDX: u32 = 154; -pub const I2S0I_DATA_IN15_IDX: u32 = 155; -pub const I2S0O_DATA_OUT15_IDX: u32 = 155; -pub const I2S0O_DATA_OUT16_IDX: u32 = 156; -pub const I2S0O_DATA_OUT17_IDX: u32 = 157; -pub const I2S0O_DATA_OUT18_IDX: u32 = 158; -pub const I2S0O_DATA_OUT19_IDX: u32 = 159; -pub const I2S0O_DATA_OUT20_IDX: u32 = 160; -pub const I2S0O_DATA_OUT21_IDX: u32 = 161; -pub const I2S0O_DATA_OUT22_IDX: u32 = 162; -pub const I2S0O_DATA_OUT23_IDX: u32 = 163; -pub const I2S1I_BCK_IN_IDX: u32 = 164; -pub const I2S1I_BCK_OUT_IDX: u32 = 164; -pub const I2S1I_WS_IN_IDX: u32 = 165; -pub const I2S1I_WS_OUT_IDX: u32 = 165; -pub const I2S1I_DATA_IN0_IDX: u32 = 166; -pub const I2S1O_DATA_OUT0_IDX: u32 = 166; -pub const I2S1I_DATA_IN1_IDX: u32 = 167; -pub const I2S1O_DATA_OUT1_IDX: u32 = 167; -pub const I2S1I_DATA_IN2_IDX: u32 = 168; -pub const I2S1O_DATA_OUT2_IDX: u32 = 168; -pub const I2S1I_DATA_IN3_IDX: u32 = 169; -pub const I2S1O_DATA_OUT3_IDX: u32 = 169; -pub const I2S1I_DATA_IN4_IDX: u32 = 170; -pub const I2S1O_DATA_OUT4_IDX: u32 = 170; -pub const I2S1I_DATA_IN5_IDX: u32 = 171; -pub const I2S1O_DATA_OUT5_IDX: u32 = 171; -pub const I2S1I_DATA_IN6_IDX: u32 = 172; -pub const I2S1O_DATA_OUT6_IDX: u32 = 172; -pub const I2S1I_DATA_IN7_IDX: u32 = 173; -pub const I2S1O_DATA_OUT7_IDX: u32 = 173; -pub const I2S1I_DATA_IN8_IDX: u32 = 174; -pub const I2S1O_DATA_OUT8_IDX: u32 = 174; -pub const I2S1I_DATA_IN9_IDX: u32 = 175; -pub const I2S1O_DATA_OUT9_IDX: u32 = 175; -pub const I2S1I_DATA_IN10_IDX: u32 = 176; -pub const I2S1O_DATA_OUT10_IDX: u32 = 176; -pub const I2S1I_DATA_IN11_IDX: u32 = 177; -pub const I2S1O_DATA_OUT11_IDX: u32 = 177; -pub const I2S1I_DATA_IN12_IDX: u32 = 178; -pub const I2S1O_DATA_OUT12_IDX: u32 = 178; -pub const I2S1I_DATA_IN13_IDX: u32 = 179; -pub const I2S1O_DATA_OUT13_IDX: u32 = 179; -pub const I2S1I_DATA_IN14_IDX: u32 = 180; -pub const I2S1O_DATA_OUT14_IDX: u32 = 180; -pub const I2S1I_DATA_IN15_IDX: u32 = 181; -pub const I2S1O_DATA_OUT15_IDX: u32 = 181; -pub const I2S1O_DATA_OUT16_IDX: u32 = 182; -pub const I2S1O_DATA_OUT17_IDX: u32 = 183; -pub const I2S1O_DATA_OUT18_IDX: u32 = 184; -pub const I2S1O_DATA_OUT19_IDX: u32 = 185; -pub const I2S1O_DATA_OUT20_IDX: u32 = 186; -pub const I2S1O_DATA_OUT21_IDX: u32 = 187; -pub const I2S1O_DATA_OUT22_IDX: u32 = 188; -pub const I2S1O_DATA_OUT23_IDX: u32 = 189; -pub const I2S0I_H_SYNC_IDX: u32 = 190; -pub const PWM3_OUT1H_IDX: u32 = 190; -pub const I2S0I_V_SYNC_IDX: u32 = 191; -pub const PWM3_OUT1L_IDX: u32 = 191; -pub const I2S0I_H_ENABLE_IDX: u32 = 192; -pub const PWM3_OUT2H_IDX: u32 = 192; -pub const I2S1I_H_SYNC_IDX: u32 = 193; -pub const PWM3_OUT2L_IDX: u32 = 193; -pub const I2S1I_V_SYNC_IDX: u32 = 194; -pub const PWM3_OUT3H_IDX: u32 = 194; -pub const I2S1I_H_ENABLE_IDX: u32 = 195; -pub const PWM3_OUT3L_IDX: u32 = 195; -pub const PWM3_OUT4H_IDX: u32 = 196; -pub const PWM3_OUT4L_IDX: u32 = 197; -pub const U2RXD_IN_IDX: u32 = 198; -pub const U2TXD_OUT_IDX: u32 = 198; -pub const U2CTS_IN_IDX: u32 = 199; -pub const U2RTS_OUT_IDX: u32 = 199; -pub const EMAC_MDC_I_IDX: u32 = 200; -pub const EMAC_MDC_O_IDX: u32 = 200; -pub const EMAC_MDI_I_IDX: u32 = 201; -pub const EMAC_MDO_O_IDX: u32 = 201; -pub const EMAC_CRS_I_IDX: u32 = 202; -pub const EMAC_CRS_O_IDX: u32 = 202; -pub const EMAC_COL_I_IDX: u32 = 203; -pub const EMAC_COL_O_IDX: u32 = 203; -pub const PCMFSYNC_IN_IDX: u32 = 204; -pub const BT_AUDIO0_IRQ_IDX: u32 = 204; -pub const PCMCLK_IN_IDX: u32 = 205; -pub const BT_AUDIO1_IRQ_IDX: u32 = 205; -pub const PCMDIN_IDX: u32 = 206; -pub const BT_AUDIO2_IRQ_IDX: u32 = 206; -pub const BLE_AUDIO0_IRQ_IDX: u32 = 207; -pub const BLE_AUDIO1_IRQ_IDX: u32 = 208; -pub const BLE_AUDIO2_IRQ_IDX: u32 = 209; -pub const PCMFSYNC_OUT_IDX: u32 = 210; -pub const PCMCLK_OUT_IDX: u32 = 211; -pub const PCMDOUT_IDX: u32 = 212; -pub const BLE_AUDIO_SYNC0_P_IDX: u32 = 213; -pub const BLE_AUDIO_SYNC1_P_IDX: u32 = 214; -pub const BLE_AUDIO_SYNC2_P_IDX: u32 = 215; -pub const ANT_SEL0_IDX: u32 = 216; -pub const ANT_SEL1_IDX: u32 = 217; -pub const ANT_SEL2_IDX: u32 = 218; -pub const ANT_SEL3_IDX: u32 = 219; -pub const ANT_SEL4_IDX: u32 = 220; -pub const ANT_SEL5_IDX: u32 = 221; -pub const ANT_SEL6_IDX: u32 = 222; -pub const ANT_SEL7_IDX: u32 = 223; -pub const SIG_IN_FUNC224_IDX: u32 = 224; -pub const SIG_IN_FUNC225_IDX: u32 = 225; -pub const SIG_IN_FUNC226_IDX: u32 = 226; -pub const SIG_IN_FUNC227_IDX: u32 = 227; -pub const SIG_IN_FUNC228_IDX: u32 = 228; -pub const SIG_GPIO_OUT_IDX: u32 = 256; -pub const GPIO_PIN_COUNT: u32 = 40; -pub const GPIO_ID_PIN0: u32 = 0; -pub const GPIO_FUNC_IN_HIGH: u32 = 56; -pub const GPIO_FUNC_IN_LOW: u32 = 48; -pub const GPIO_PIN_REG_0: u32 = 1072992324; -pub const GPIO_PIN_REG_1: u32 = 1072992392; -pub const GPIO_PIN_REG_2: u32 = 1072992320; -pub const GPIO_PIN_REG_3: u32 = 1072992388; -pub const GPIO_PIN_REG_4: u32 = 1072992328; -pub const GPIO_PIN_REG_5: u32 = 1072992364; -pub const GPIO_PIN_REG_6: u32 = 1072992352; -pub const GPIO_PIN_REG_7: u32 = 1072992356; -pub const GPIO_PIN_REG_8: u32 = 1072992360; -pub const GPIO_PIN_REG_9: u32 = 1072992340; -pub const GPIO_PIN_REG_10: u32 = 1072992344; -pub const GPIO_PIN_REG_11: u32 = 1072992348; -pub const GPIO_PIN_REG_12: u32 = 1072992308; -pub const GPIO_PIN_REG_13: u32 = 1072992312; -pub const GPIO_PIN_REG_14: u32 = 1072992304; -pub const GPIO_PIN_REG_15: u32 = 1072992316; -pub const GPIO_PIN_REG_16: u32 = 1072992332; -pub const GPIO_PIN_REG_17: u32 = 1072992336; -pub const GPIO_PIN_REG_18: u32 = 1072992368; -pub const GPIO_PIN_REG_19: u32 = 1072992372; -pub const GPIO_PIN_REG_20: u32 = 1072992376; -pub const GPIO_PIN_REG_21: u32 = 1072992380; -pub const GPIO_PIN_REG_22: u32 = 1072992384; -pub const GPIO_PIN_REG_23: u32 = 1072992396; -pub const GPIO_PIN_REG_25: u32 = 1072992292; -pub const GPIO_PIN_REG_26: u32 = 1072992296; -pub const GPIO_PIN_REG_27: u32 = 1072992300; -pub const GPIO_PIN_REG_32: u32 = 1072992284; -pub const GPIO_PIN_REG_33: u32 = 1072992288; -pub const GPIO_PIN_REG_34: u32 = 1072992276; -pub const GPIO_PIN_REG_35: u32 = 1072992280; -pub const GPIO_PIN_REG_36: u32 = 1072992260; -pub const GPIO_PIN_REG_37: u32 = 1072992264; -pub const GPIO_PIN_REG_38: u32 = 1072992268; -pub const GPIO_PIN_REG_39: u32 = 1072992272; -pub const GPIO_MODE_DEF_DISABLE: u32 = 0; -pub const GPIO_MODE_DEF_INPUT: u32 = 1; -pub const GPIO_MODE_DEF_OUTPUT: u32 = 2; -pub const GPIO_MODE_DEF_OD: u32 = 4; -pub const TOUCH_PAD_NUM0_GPIO_NUM: u32 = 4; -pub const TOUCH_PAD_NUM1_GPIO_NUM: u32 = 0; -pub const TOUCH_PAD_NUM2_GPIO_NUM: u32 = 2; -pub const TOUCH_PAD_NUM3_GPIO_NUM: u32 = 15; -pub const TOUCH_PAD_NUM4_GPIO_NUM: u32 = 13; -pub const TOUCH_PAD_NUM5_GPIO_NUM: u32 = 12; -pub const TOUCH_PAD_NUM6_GPIO_NUM: u32 = 14; -pub const TOUCH_PAD_NUM7_GPIO_NUM: u32 = 27; -pub const TOUCH_PAD_NUM8_GPIO_NUM: u32 = 33; -pub const TOUCH_PAD_NUM9_GPIO_NUM: u32 = 32; -pub const TOUCH_PAD_SLEEP_CYCLE_DEFAULT: u32 = 4096; -pub const TOUCH_PAD_MEASURE_CYCLE_DEFAULT: u32 = 32767; -pub const TOUCH_PAD_MEASURE_WAIT_DEFAULT: u32 = 255; -pub const TOUCH_PAD_BIT_MASK_MAX: u32 = 1023; -pub const TWO_UNIVERSAL_MAC_ADDR: u32 = 2; -pub const FOUR_UNIVERSAL_MAC_ADDR: u32 = 4; -pub const UNIVERSAL_MAC_ADDR_NUM: u32 = 4; -pub const INCLUDE_xTimerGetTimerDaemonTaskHandle: u32 = 0; -pub const INCLUDE_xQueueGetMutexHolder: u32 = 0; -pub const configUSE_APPLICATION_TASK_TAG: u32 = 0; -pub const configUSE_ALTERNATIVE_API: u32 = 0; -pub const INCLUDE_xTaskResumeFromISR: u32 = 1; -pub const INCLUDE_xEventGroupSetBitFromISR: u32 = 0; -pub const configASSERT_DEFINED: u32 = 1; -pub const INCLUDE_xTaskGetSchedulerState: u32 = 0; -pub const INCLUDE_xTaskGetCurrentTaskHandle: u32 = 0; -pub const configGENERATE_RUN_TIME_STATS: u32 = 0; -pub const configUSE_MALLOC_FAILED_HOOK: u32 = 0; -pub const configEXPECTED_IDLE_TIME_BEFORE_SLEEP: u32 = 2; -pub const configUSE_TIME_SLICING: u32 = 1; -pub const configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS: u32 = 0; -pub const configUSE_STATS_FORMATTING_FUNCTIONS: u32 = 0; -pub const configTASKLIST_INCLUDE_COREID: u32 = 0; -pub const configUSE_TRACE_FACILITY: u32 = 0; -pub const configUSE_PORT_OPTIMISED_TASK_SELECTION: u32 = 0; -pub const configUSE_TASK_NOTIFICATIONS: u32 = 1; -pub const portTICK_TYPE_IS_ATOMIC: u32 = 0; -pub const configENABLE_BACKWARD_COMPATIBILITY: u32 = 1; -pub const configESP32_PER_TASK_DATA: u32 = 1; -pub const _LIBC_LIMITS_H_: u32 = 1; -pub const MB_LEN_MAX: u32 = 1; -pub const NL_ARGMAX: u32 = 32; -pub const _POSIX2_RE_DUP_MAX: u32 = 255; -pub const ARG_MAX: u32 = 4096; -pub const PATH_MAX: u32 = 4096; -pub const tskKERNEL_VERSION_NUMBER: &'static [u8; 7usize] = b"V8.2.0\0"; -pub const tskKERNEL_VERSION_MAJOR: u32 = 8; -pub const tskKERNEL_VERSION_MINOR: u32 = 2; -pub const tskKERNEL_VERSION_BUILD: u32 = 0; -pub const UART_NUM_0_TXD_DIRECT_GPIO_NUM: u32 = 1; -pub const UART_NUM_0_RXD_DIRECT_GPIO_NUM: u32 = 3; -pub const UART_NUM_0_CTS_DIRECT_GPIO_NUM: u32 = 19; -pub const UART_NUM_0_RTS_DIRECT_GPIO_NUM: u32 = 22; -pub const UART_NUM_1_TXD_DIRECT_GPIO_NUM: u32 = 10; -pub const UART_NUM_1_RXD_DIRECT_GPIO_NUM: u32 = 9; -pub const UART_NUM_1_CTS_DIRECT_GPIO_NUM: u32 = 6; -pub const UART_NUM_1_RTS_DIRECT_GPIO_NUM: u32 = 11; -pub const UART_NUM_2_TXD_DIRECT_GPIO_NUM: u32 = 17; -pub const UART_NUM_2_RXD_DIRECT_GPIO_NUM: u32 = 16; -pub const UART_NUM_2_CTS_DIRECT_GPIO_NUM: u32 = 8; -pub const UART_NUM_2_RTS_DIRECT_GPIO_NUM: u32 = 7; -pub const UART_FIFO_LEN: u32 = 128; -pub const UART_INTR_MASK: u32 = 511; -pub const UART_LINE_INV_MASK: u32 = 33030144; -pub const UART_BITRATE_MAX: u32 = 5000000; -pub const UART_PIN_NO_CHANGE: i32 = -1; -pub const UART_INVERSE_DISABLE: u32 = 0; -pub type __int8_t = ::std::os::raw::c_schar; -pub type __uint8_t = ::std::os::raw::c_uchar; -pub type __int16_t = ::std::os::raw::c_short; -pub type __uint16_t = ::std::os::raw::c_ushort; -pub type __int32_t = ::std::os::raw::c_int; -pub type __uint32_t = ::std::os::raw::c_uint; -pub type __int64_t = ::std::os::raw::c_longlong; -pub type __uint64_t = ::std::os::raw::c_ulonglong; -pub type __int_least8_t = __int8_t; -pub type __uint_least8_t = __uint8_t; -pub type __int_least16_t = __int16_t; -pub type __uint_least16_t = __uint16_t; -pub type __int_least32_t = __int32_t; -pub type __uint_least32_t = __uint32_t; -pub type __int_least64_t = __int64_t; -pub type __uint_least64_t = __uint64_t; -pub type __intptr_t = ::std::os::raw::c_int; -pub type __uintptr_t = ::std::os::raw::c_uint; -pub type int_least8_t = __int_least8_t; -pub type uint_least8_t = __uint_least8_t; -pub type int_least16_t = __int_least16_t; -pub type uint_least16_t = __uint_least16_t; -pub type int_least32_t = __int_least32_t; -pub type uint_least32_t = __uint_least32_t; -pub type int_least64_t = __int_least64_t; -pub type uint_least64_t = __uint_least64_t; -pub type int_fast8_t = ::std::os::raw::c_schar; -pub type uint_fast8_t = ::std::os::raw::c_uchar; -pub type int_fast16_t = ::std::os::raw::c_short; -pub type uint_fast16_t = ::std::os::raw::c_ushort; -pub type int_fast32_t = ::std::os::raw::c_int; -pub type uint_fast32_t = ::std::os::raw::c_uint; -pub type int_fast64_t = ::std::os::raw::c_longlong; -pub type uint_fast64_t = ::std::os::raw::c_ulonglong; -pub type intmax_t = ::std::os::raw::c_longlong; -pub type uintmax_t = ::std::os::raw::c_ulonglong; -extern "C" { - pub fn __assert( - arg1: *const ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - ); -} -extern "C" { - pub fn __assert_func( - arg1: *const ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - arg4: *const ::std::os::raw::c_char, - ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _bindgen_ty_1 { - pub fifo: _bindgen_ty_1__bindgen_ty_1, - pub int_raw: _bindgen_ty_1__bindgen_ty_2, - pub int_st: _bindgen_ty_1__bindgen_ty_3, - pub int_ena: _bindgen_ty_1__bindgen_ty_4, - pub int_clr: _bindgen_ty_1__bindgen_ty_5, - pub clk_div: _bindgen_ty_1__bindgen_ty_6, - pub auto_baud: _bindgen_ty_1__bindgen_ty_7, - pub status: _bindgen_ty_1__bindgen_ty_8, - pub conf0: _bindgen_ty_1__bindgen_ty_9, - pub conf1: _bindgen_ty_1__bindgen_ty_10, - pub lowpulse: _bindgen_ty_1__bindgen_ty_11, - pub highpulse: _bindgen_ty_1__bindgen_ty_12, - pub rxd_cnt: _bindgen_ty_1__bindgen_ty_13, - pub flow_conf: _bindgen_ty_1__bindgen_ty_14, - pub sleep_conf: _bindgen_ty_1__bindgen_ty_15, - pub swfc_conf: _bindgen_ty_1__bindgen_ty_16, - pub idle_conf: _bindgen_ty_1__bindgen_ty_17, - pub rs485_conf: _bindgen_ty_1__bindgen_ty_18, - pub at_cmd_precnt: _bindgen_ty_1__bindgen_ty_19, - pub at_cmd_postcnt: _bindgen_ty_1__bindgen_ty_20, - pub at_cmd_gaptout: _bindgen_ty_1__bindgen_ty_21, - pub at_cmd_char: _bindgen_ty_1__bindgen_ty_22, - pub mem_conf: _bindgen_ty_1__bindgen_ty_23, - pub mem_tx_status: _bindgen_ty_1__bindgen_ty_24, - pub mem_rx_status: _bindgen_ty_1__bindgen_ty_25, - pub mem_cnt_status: _bindgen_ty_1__bindgen_ty_26, - pub pospulse: _bindgen_ty_1__bindgen_ty_27, - pub negpulse: _bindgen_ty_1__bindgen_ty_28, - pub reserved_70: u32, - pub reserved_74: u32, - pub date: u32, - pub id: u32, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_1 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { - pub rw_byte: u8, - pub reserved: [u8; 3usize], -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_2 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { - #[inline] - pub fn rxfifo_full(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_full(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn txfifo_empty(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } - } - #[inline] - pub fn set_txfifo_empty(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } - } - #[inline] - pub fn set_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } - } - #[inline] - pub fn set_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_ovf(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_ovf(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn dsr_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } - } - #[inline] - pub fn set_dsr_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn cts_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } - } - #[inline] - pub fn set_cts_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn brk_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } - } - #[inline] - pub fn set_brk_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_tout(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_tout(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xon(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xon(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(9usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xoff(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xoff(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 1u8, val as u64) - } - } - #[inline] - pub fn glitch_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } - } - #[inline] - pub fn set_glitch_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_idle_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_idle_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(14usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_clash(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_clash(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(17usize, 1u8, val as u64) - } - } - #[inline] - pub fn at_cmd_char_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } - } - #[inline] - pub fn set_at_cmd_char_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(18usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved19(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } - } - #[inline] - pub fn set_reserved19(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(19usize, 13u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - rxfifo_full: u32, - txfifo_empty: u32, - parity_err: u32, - frm_err: u32, - rxfifo_ovf: u32, - dsr_chg: u32, - cts_chg: u32, - brk_det: u32, - rxfifo_tout: u32, - sw_xon: u32, - sw_xoff: u32, - glitch_det: u32, - tx_brk_done: u32, - tx_brk_idle_done: u32, - tx_done: u32, - rs485_parity_err: u32, - rs485_frm_err: u32, - rs485_clash: u32, - at_cmd_char_det: u32, - reserved19: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; - rxfifo_full as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; - txfifo_empty as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; - parity_err as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; - frm_err as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; - rxfifo_ovf as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; - dsr_chg as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; - cts_chg as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; - brk_det as u64 - }); - __bindgen_bitfield_unit.set(8usize, 1u8, { - let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; - rxfifo_tout as u64 - }); - __bindgen_bitfield_unit.set(9usize, 1u8, { - let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; - sw_xon as u64 - }); - __bindgen_bitfield_unit.set(10usize, 1u8, { - let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; - sw_xoff as u64 - }); - __bindgen_bitfield_unit.set(11usize, 1u8, { - let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; - glitch_det as u64 - }); - __bindgen_bitfield_unit.set(12usize, 1u8, { - let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; - tx_brk_done as u64 - }); - __bindgen_bitfield_unit.set(13usize, 1u8, { - let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; - tx_brk_idle_done as u64 - }); - __bindgen_bitfield_unit.set(14usize, 1u8, { - let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; - tx_done as u64 - }); - __bindgen_bitfield_unit.set(15usize, 1u8, { - let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; - rs485_parity_err as u64 - }); - __bindgen_bitfield_unit.set(16usize, 1u8, { - let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; - rs485_frm_err as u64 - }); - __bindgen_bitfield_unit.set(17usize, 1u8, { - let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; - rs485_clash as u64 - }); - __bindgen_bitfield_unit.set(18usize, 1u8, { - let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; - at_cmd_char_det as u64 - }); - __bindgen_bitfield_unit.set(19usize, 13u8, { - let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; - reserved19 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_3 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_3__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_3__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_3__bindgen_ty_1 { - #[inline] - pub fn rxfifo_full(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_full(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn txfifo_empty(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } - } - #[inline] - pub fn set_txfifo_empty(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } - } - #[inline] - pub fn set_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } - } - #[inline] - pub fn set_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_ovf(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_ovf(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn dsr_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } - } - #[inline] - pub fn set_dsr_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn cts_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } - } - #[inline] - pub fn set_cts_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn brk_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } - } - #[inline] - pub fn set_brk_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_tout(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_tout(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xon(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xon(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(9usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xoff(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xoff(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 1u8, val as u64) - } - } - #[inline] - pub fn glitch_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } - } - #[inline] - pub fn set_glitch_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_idle_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_idle_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(14usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_clash(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_clash(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(17usize, 1u8, val as u64) - } - } - #[inline] - pub fn at_cmd_char_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } - } - #[inline] - pub fn set_at_cmd_char_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(18usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved19(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } - } - #[inline] - pub fn set_reserved19(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(19usize, 13u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - rxfifo_full: u32, - txfifo_empty: u32, - parity_err: u32, - frm_err: u32, - rxfifo_ovf: u32, - dsr_chg: u32, - cts_chg: u32, - brk_det: u32, - rxfifo_tout: u32, - sw_xon: u32, - sw_xoff: u32, - glitch_det: u32, - tx_brk_done: u32, - tx_brk_idle_done: u32, - tx_done: u32, - rs485_parity_err: u32, - rs485_frm_err: u32, - rs485_clash: u32, - at_cmd_char_det: u32, - reserved19: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; - rxfifo_full as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; - txfifo_empty as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; - parity_err as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; - frm_err as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; - rxfifo_ovf as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; - dsr_chg as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; - cts_chg as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; - brk_det as u64 - }); - __bindgen_bitfield_unit.set(8usize, 1u8, { - let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; - rxfifo_tout as u64 - }); - __bindgen_bitfield_unit.set(9usize, 1u8, { - let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; - sw_xon as u64 - }); - __bindgen_bitfield_unit.set(10usize, 1u8, { - let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; - sw_xoff as u64 - }); - __bindgen_bitfield_unit.set(11usize, 1u8, { - let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; - glitch_det as u64 - }); - __bindgen_bitfield_unit.set(12usize, 1u8, { - let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; - tx_brk_done as u64 - }); - __bindgen_bitfield_unit.set(13usize, 1u8, { - let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; - tx_brk_idle_done as u64 - }); - __bindgen_bitfield_unit.set(14usize, 1u8, { - let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; - tx_done as u64 - }); - __bindgen_bitfield_unit.set(15usize, 1u8, { - let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; - rs485_parity_err as u64 - }); - __bindgen_bitfield_unit.set(16usize, 1u8, { - let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; - rs485_frm_err as u64 - }); - __bindgen_bitfield_unit.set(17usize, 1u8, { - let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; - rs485_clash as u64 - }); - __bindgen_bitfield_unit.set(18usize, 1u8, { - let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; - at_cmd_char_det as u64 - }); - __bindgen_bitfield_unit.set(19usize, 13u8, { - let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; - reserved19 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_4 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_4__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 { - #[inline] - pub fn rxfifo_full(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_full(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn txfifo_empty(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } - } - #[inline] - pub fn set_txfifo_empty(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } - } - #[inline] - pub fn set_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } - } - #[inline] - pub fn set_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_ovf(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_ovf(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn dsr_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } - } - #[inline] - pub fn set_dsr_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn cts_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } - } - #[inline] - pub fn set_cts_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn brk_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } - } - #[inline] - pub fn set_brk_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_tout(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_tout(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xon(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xon(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(9usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xoff(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xoff(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 1u8, val as u64) - } - } - #[inline] - pub fn glitch_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } - } - #[inline] - pub fn set_glitch_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_idle_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_idle_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(14usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_clash(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_clash(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(17usize, 1u8, val as u64) - } - } - #[inline] - pub fn at_cmd_char_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } - } - #[inline] - pub fn set_at_cmd_char_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(18usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved19(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } - } - #[inline] - pub fn set_reserved19(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(19usize, 13u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - rxfifo_full: u32, - txfifo_empty: u32, - parity_err: u32, - frm_err: u32, - rxfifo_ovf: u32, - dsr_chg: u32, - cts_chg: u32, - brk_det: u32, - rxfifo_tout: u32, - sw_xon: u32, - sw_xoff: u32, - glitch_det: u32, - tx_brk_done: u32, - tx_brk_idle_done: u32, - tx_done: u32, - rs485_parity_err: u32, - rs485_frm_err: u32, - rs485_clash: u32, - at_cmd_char_det: u32, - reserved19: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; - rxfifo_full as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; - txfifo_empty as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; - parity_err as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; - frm_err as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; - rxfifo_ovf as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; - dsr_chg as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; - cts_chg as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; - brk_det as u64 - }); - __bindgen_bitfield_unit.set(8usize, 1u8, { - let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; - rxfifo_tout as u64 - }); - __bindgen_bitfield_unit.set(9usize, 1u8, { - let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; - sw_xon as u64 - }); - __bindgen_bitfield_unit.set(10usize, 1u8, { - let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; - sw_xoff as u64 - }); - __bindgen_bitfield_unit.set(11usize, 1u8, { - let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; - glitch_det as u64 - }); - __bindgen_bitfield_unit.set(12usize, 1u8, { - let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; - tx_brk_done as u64 - }); - __bindgen_bitfield_unit.set(13usize, 1u8, { - let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; - tx_brk_idle_done as u64 - }); - __bindgen_bitfield_unit.set(14usize, 1u8, { - let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; - tx_done as u64 - }); - __bindgen_bitfield_unit.set(15usize, 1u8, { - let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; - rs485_parity_err as u64 - }); - __bindgen_bitfield_unit.set(16usize, 1u8, { - let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; - rs485_frm_err as u64 - }); - __bindgen_bitfield_unit.set(17usize, 1u8, { - let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; - rs485_clash as u64 - }); - __bindgen_bitfield_unit.set(18usize, 1u8, { - let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; - at_cmd_char_det as u64 - }); - __bindgen_bitfield_unit.set(19usize, 13u8, { - let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; - reserved19 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_5 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_5__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 { - #[inline] - pub fn rxfifo_full(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_full(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn txfifo_empty(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } - } - #[inline] - pub fn set_txfifo_empty(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } - } - #[inline] - pub fn set_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } - } - #[inline] - pub fn set_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_ovf(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_ovf(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) - } - } - #[inline] - pub fn dsr_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } - } - #[inline] - pub fn set_dsr_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) - } - } - #[inline] - pub fn cts_chg(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } - } - #[inline] - pub fn set_cts_chg(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn brk_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } - } - #[inline] - pub fn set_brk_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_tout(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_tout(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xon(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xon(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(9usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_xoff(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_xoff(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 1u8, val as u64) - } - } - #[inline] - pub fn glitch_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } - } - #[inline] - pub fn set_glitch_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_brk_idle_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_brk_idle_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_done(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_done(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(14usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_parity_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_parity_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_frm_err(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_frm_err(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 1u8, val as u64) - } - } - #[inline] - pub fn rs485_clash(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } - } - #[inline] - pub fn set_rs485_clash(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(17usize, 1u8, val as u64) - } - } - #[inline] - pub fn at_cmd_char_det(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } - } - #[inline] - pub fn set_at_cmd_char_det(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(18usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved19(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } - } - #[inline] - pub fn set_reserved19(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(19usize, 13u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - rxfifo_full: u32, - txfifo_empty: u32, - parity_err: u32, - frm_err: u32, - rxfifo_ovf: u32, - dsr_chg: u32, - cts_chg: u32, - brk_det: u32, - rxfifo_tout: u32, - sw_xon: u32, - sw_xoff: u32, - glitch_det: u32, - tx_brk_done: u32, - tx_brk_idle_done: u32, - tx_done: u32, - rs485_parity_err: u32, - rs485_frm_err: u32, - rs485_clash: u32, - at_cmd_char_det: u32, - reserved19: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; - rxfifo_full as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; - txfifo_empty as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; - parity_err as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; - frm_err as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; - rxfifo_ovf as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; - dsr_chg as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; - cts_chg as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; - brk_det as u64 - }); - __bindgen_bitfield_unit.set(8usize, 1u8, { - let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; - rxfifo_tout as u64 - }); - __bindgen_bitfield_unit.set(9usize, 1u8, { - let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; - sw_xon as u64 - }); - __bindgen_bitfield_unit.set(10usize, 1u8, { - let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; - sw_xoff as u64 - }); - __bindgen_bitfield_unit.set(11usize, 1u8, { - let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; - glitch_det as u64 - }); - __bindgen_bitfield_unit.set(12usize, 1u8, { - let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; - tx_brk_done as u64 - }); - __bindgen_bitfield_unit.set(13usize, 1u8, { - let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; - tx_brk_idle_done as u64 - }); - __bindgen_bitfield_unit.set(14usize, 1u8, { - let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; - tx_done as u64 - }); - __bindgen_bitfield_unit.set(15usize, 1u8, { - let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; - rs485_parity_err as u64 - }); - __bindgen_bitfield_unit.set(16usize, 1u8, { - let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; - rs485_frm_err as u64 - }); - __bindgen_bitfield_unit.set(17usize, 1u8, { - let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; - rs485_clash as u64 - }); - __bindgen_bitfield_unit.set(18usize, 1u8, { - let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; - at_cmd_char_det as u64 - }); - __bindgen_bitfield_unit.set(19usize, 13u8, { - let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; - reserved19 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_6 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_6__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_6__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_6__bindgen_ty_1 { - #[inline] - pub fn div_int(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } - } - #[inline] - pub fn set_div_int(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 20u8, val as u64) - } - } - #[inline] - pub fn div_frag(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) } - } - #[inline] - pub fn set_div_frag(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 4u8, val as u64) - } - } - #[inline] - pub fn reserved24(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } - } - #[inline] - pub fn set_reserved24(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - div_int: u32, - div_frag: u32, - reserved24: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 20u8, { - let div_int: u32 = unsafe { ::core::mem::transmute(div_int) }; - div_int as u64 - }); - __bindgen_bitfield_unit.set(20usize, 4u8, { - let div_frag: u32 = unsafe { ::core::mem::transmute(div_frag) }; - div_frag as u64 - }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; - reserved24 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_7 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_7__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_7__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_7__bindgen_ty_1 { - #[inline] - pub fn en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved1(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u32) } - } - #[inline] - pub fn set_reserved1(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 7u8, val as u64) - } - } - #[inline] - pub fn glitch_filt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } - } - #[inline] - pub fn set_glitch_filt(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved16(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } - } - #[inline] - pub fn set_reserved16(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 16u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - en: u32, - reserved1: u32, - glitch_filt: u32, - reserved16: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let en: u32 = unsafe { ::core::mem::transmute(en) }; - en as u64 - }); - __bindgen_bitfield_unit.set(1usize, 7u8, { - let reserved1: u32 = unsafe { ::core::mem::transmute(reserved1) }; - reserved1 as u64 - }); - __bindgen_bitfield_unit.set(8usize, 8u8, { - let glitch_filt: u32 = unsafe { ::core::mem::transmute(glitch_filt) }; - glitch_filt as u64 - }); - __bindgen_bitfield_unit.set(16usize, 16u8, { - let reserved16: u32 = unsafe { ::core::mem::transmute(reserved16) }; - reserved16 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_8 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_8__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, -} -impl _bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 { - #[inline] - pub fn rxfifo_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_rxfifo_cnt(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn st_urx_out(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u32) } - } - #[inline] - pub fn set_st_urx_out(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 4u8, val as u64) - } - } - #[inline] - pub fn reserved12(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } - } - #[inline] - pub fn set_reserved12(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 1u8, val as u64) - } - } - #[inline] - pub fn dsrn(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } - } - #[inline] - pub fn set_dsrn(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 1u8, val as u64) - } - } - #[inline] - pub fn ctsn(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } - } - #[inline] - pub fn set_ctsn(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(14usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxd(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 1u8, val as u64) - } - } - #[inline] - pub fn txfifo_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) } - } - #[inline] - pub fn set_txfifo_cnt(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 8u8, val as u64) - } - } - #[inline] - pub fn st_utx_out(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 4u8) as u32) } - } - #[inline] - pub fn set_st_utx_out(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 4u8, val as u64) - } - } - #[inline] - pub fn reserved28(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) } - } - #[inline] - pub fn set_reserved28(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(28usize, 1u8, val as u64) - } - } - #[inline] - pub fn dtrn(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) } - } - #[inline] - pub fn set_dtrn(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(29usize, 1u8, val as u64) - } - } - #[inline] - pub fn rtsn(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) } - } - #[inline] - pub fn set_rtsn(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(30usize, 1u8, val as u64) - } - } - #[inline] - pub fn txd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } - } - #[inline] - pub fn set_txd(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(31usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - rxfifo_cnt: u32, - st_urx_out: u32, - reserved12: u32, - dsrn: u32, - ctsn: u32, - rxd: u32, - txfifo_cnt: u32, - st_utx_out: u32, - reserved28: u32, - dtrn: u32, - rtsn: u32, - txd: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let rxfifo_cnt: u32 = unsafe { ::core::mem::transmute(rxfifo_cnt) }; - rxfifo_cnt as u64 - }); - __bindgen_bitfield_unit.set(8usize, 4u8, { - let st_urx_out: u32 = unsafe { ::core::mem::transmute(st_urx_out) }; - st_urx_out as u64 - }); - __bindgen_bitfield_unit.set(12usize, 1u8, { - let reserved12: u32 = unsafe { ::core::mem::transmute(reserved12) }; - reserved12 as u64 - }); - __bindgen_bitfield_unit.set(13usize, 1u8, { - let dsrn: u32 = unsafe { ::core::mem::transmute(dsrn) }; - dsrn as u64 - }); - __bindgen_bitfield_unit.set(14usize, 1u8, { - let ctsn: u32 = unsafe { ::core::mem::transmute(ctsn) }; - ctsn as u64 - }); - __bindgen_bitfield_unit.set(15usize, 1u8, { - let rxd: u32 = unsafe { ::core::mem::transmute(rxd) }; - rxd as u64 - }); - __bindgen_bitfield_unit.set(16usize, 8u8, { - let txfifo_cnt: u32 = unsafe { ::core::mem::transmute(txfifo_cnt) }; - txfifo_cnt as u64 - }); - __bindgen_bitfield_unit.set(24usize, 4u8, { - let st_utx_out: u32 = unsafe { ::core::mem::transmute(st_utx_out) }; - st_utx_out as u64 - }); - __bindgen_bitfield_unit.set(28usize, 1u8, { - let reserved28: u32 = unsafe { ::core::mem::transmute(reserved28) }; - reserved28 as u64 - }); - __bindgen_bitfield_unit.set(29usize, 1u8, { - let dtrn: u32 = unsafe { ::core::mem::transmute(dtrn) }; - dtrn as u64 - }); - __bindgen_bitfield_unit.set(30usize, 1u8, { - let rtsn: u32 = unsafe { ::core::mem::transmute(rtsn) }; - rtsn as u64 - }); - __bindgen_bitfield_unit.set(31usize, 1u8, { - let txd: u32 = unsafe { ::core::mem::transmute(txd) }; - txd as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_9 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_9__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_9__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, -} -impl _bindgen_ty_1__bindgen_ty_9__bindgen_ty_1 { - #[inline] - pub fn parity(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } - } - #[inline] - pub fn set_parity(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) - } - } - #[inline] - pub fn parity_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } - } - #[inline] - pub fn set_parity_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) - } - } - #[inline] - pub fn bit_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u32) } - } - #[inline] - pub fn set_bit_num(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 2u8, val as u64) - } - } - #[inline] - pub fn stop_bit_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u32) } - } - #[inline] - pub fn set_stop_bit_num(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 2u8, val as u64) - } - } - #[inline] - pub fn sw_rts(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_rts(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn sw_dtr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } - } - #[inline] - pub fn set_sw_dtr(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn txd_brk(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } - } - #[inline] - pub fn set_txd_brk(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 1u8, val as u64) - } - } - #[inline] - pub fn irda_dplx(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } - } - #[inline] - pub fn set_irda_dplx(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(9usize, 1u8, val as u64) - } - } - #[inline] - pub fn irda_tx_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } - } - #[inline] - pub fn set_irda_tx_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 1u8, val as u64) - } - } - #[inline] - pub fn irda_wctl(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } - } - #[inline] - pub fn set_irda_wctl(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 1u8, val as u64) - } - } - #[inline] - pub fn irda_tx_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } - } - #[inline] - pub fn set_irda_tx_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 1u8, val as u64) - } - } - #[inline] - pub fn irda_rx_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } - } - #[inline] - pub fn set_irda_rx_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 1u8, val as u64) - } - } - #[inline] - pub fn loopback(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } - } - #[inline] - pub fn set_loopback(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(14usize, 1u8, val as u64) - } - } - #[inline] - pub fn tx_flow_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } - } - #[inline] - pub fn set_tx_flow_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 1u8, val as u64) - } - } - #[inline] - pub fn irda_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } - } - #[inline] - pub fn set_irda_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxfifo_rst(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxfifo_rst(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(17usize, 1u8, val as u64) - } - } - #[inline] - pub fn txfifo_rst(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } - } - #[inline] - pub fn set_txfifo_rst(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(18usize, 1u8, val as u64) - } - } - #[inline] - pub fn rxd_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } - } - #[inline] - pub fn set_rxd_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(19usize, 1u8, val as u64) - } - } - #[inline] - pub fn cts_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } - } - #[inline] - pub fn set_cts_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 1u8, val as u64) - } - } - #[inline] - pub fn dsr_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } - } - #[inline] - pub fn set_dsr_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(21usize, 1u8, val as u64) - } - } - #[inline] - pub fn txd_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) } - } - #[inline] - pub fn set_txd_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(22usize, 1u8, val as u64) - } - } - #[inline] - pub fn rts_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } - } - #[inline] - pub fn set_rts_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(23usize, 1u8, val as u64) - } - } - #[inline] - pub fn dtr_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) } - } - #[inline] - pub fn set_dtr_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 1u8, val as u64) - } - } - #[inline] - pub fn clk_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) } - } - #[inline] - pub fn set_clk_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(25usize, 1u8, val as u64) - } - } - #[inline] - pub fn err_wr_mask(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) } - } - #[inline] - pub fn set_err_wr_mask(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(26usize, 1u8, val as u64) - } - } - #[inline] - pub fn tick_ref_always_on(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) } - } - #[inline] - pub fn set_tick_ref_always_on(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(27usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved28(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u32) } - } - #[inline] - pub fn set_reserved28(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(28usize, 4u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - parity: u32, - parity_en: u32, - bit_num: u32, - stop_bit_num: u32, - sw_rts: u32, - sw_dtr: u32, - txd_brk: u32, - irda_dplx: u32, - irda_tx_en: u32, - irda_wctl: u32, - irda_tx_inv: u32, - irda_rx_inv: u32, - loopback: u32, - tx_flow_en: u32, - irda_en: u32, - rxfifo_rst: u32, - txfifo_rst: u32, - rxd_inv: u32, - cts_inv: u32, - dsr_inv: u32, - txd_inv: u32, - rts_inv: u32, - dtr_inv: u32, - clk_en: u32, - err_wr_mask: u32, - tick_ref_always_on: u32, - reserved28: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let parity: u32 = unsafe { ::core::mem::transmute(parity) }; - parity as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let parity_en: u32 = unsafe { ::core::mem::transmute(parity_en) }; - parity_en as u64 - }); - __bindgen_bitfield_unit.set(2usize, 2u8, { - let bit_num: u32 = unsafe { ::core::mem::transmute(bit_num) }; - bit_num as u64 - }); - __bindgen_bitfield_unit.set(4usize, 2u8, { - let stop_bit_num: u32 = unsafe { ::core::mem::transmute(stop_bit_num) }; - stop_bit_num as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let sw_rts: u32 = unsafe { ::core::mem::transmute(sw_rts) }; - sw_rts as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let sw_dtr: u32 = unsafe { ::core::mem::transmute(sw_dtr) }; - sw_dtr as u64 - }); - __bindgen_bitfield_unit.set(8usize, 1u8, { - let txd_brk: u32 = unsafe { ::core::mem::transmute(txd_brk) }; - txd_brk as u64 - }); - __bindgen_bitfield_unit.set(9usize, 1u8, { - let irda_dplx: u32 = unsafe { ::core::mem::transmute(irda_dplx) }; - irda_dplx as u64 - }); - __bindgen_bitfield_unit.set(10usize, 1u8, { - let irda_tx_en: u32 = unsafe { ::core::mem::transmute(irda_tx_en) }; - irda_tx_en as u64 - }); - __bindgen_bitfield_unit.set(11usize, 1u8, { - let irda_wctl: u32 = unsafe { ::core::mem::transmute(irda_wctl) }; - irda_wctl as u64 - }); - __bindgen_bitfield_unit.set(12usize, 1u8, { - let irda_tx_inv: u32 = unsafe { ::core::mem::transmute(irda_tx_inv) }; - irda_tx_inv as u64 - }); - __bindgen_bitfield_unit.set(13usize, 1u8, { - let irda_rx_inv: u32 = unsafe { ::core::mem::transmute(irda_rx_inv) }; - irda_rx_inv as u64 - }); - __bindgen_bitfield_unit.set(14usize, 1u8, { - let loopback: u32 = unsafe { ::core::mem::transmute(loopback) }; - loopback as u64 - }); - __bindgen_bitfield_unit.set(15usize, 1u8, { - let tx_flow_en: u32 = unsafe { ::core::mem::transmute(tx_flow_en) }; - tx_flow_en as u64 - }); - __bindgen_bitfield_unit.set(16usize, 1u8, { - let irda_en: u32 = unsafe { ::core::mem::transmute(irda_en) }; - irda_en as u64 - }); - __bindgen_bitfield_unit.set(17usize, 1u8, { - let rxfifo_rst: u32 = unsafe { ::core::mem::transmute(rxfifo_rst) }; - rxfifo_rst as u64 - }); - __bindgen_bitfield_unit.set(18usize, 1u8, { - let txfifo_rst: u32 = unsafe { ::core::mem::transmute(txfifo_rst) }; - txfifo_rst as u64 - }); - __bindgen_bitfield_unit.set(19usize, 1u8, { - let rxd_inv: u32 = unsafe { ::core::mem::transmute(rxd_inv) }; - rxd_inv as u64 - }); - __bindgen_bitfield_unit.set(20usize, 1u8, { - let cts_inv: u32 = unsafe { ::core::mem::transmute(cts_inv) }; - cts_inv as u64 - }); - __bindgen_bitfield_unit.set(21usize, 1u8, { - let dsr_inv: u32 = unsafe { ::core::mem::transmute(dsr_inv) }; - dsr_inv as u64 - }); - __bindgen_bitfield_unit.set(22usize, 1u8, { - let txd_inv: u32 = unsafe { ::core::mem::transmute(txd_inv) }; - txd_inv as u64 - }); - __bindgen_bitfield_unit.set(23usize, 1u8, { - let rts_inv: u32 = unsafe { ::core::mem::transmute(rts_inv) }; - rts_inv as u64 - }); - __bindgen_bitfield_unit.set(24usize, 1u8, { - let dtr_inv: u32 = unsafe { ::core::mem::transmute(dtr_inv) }; - dtr_inv as u64 - }); - __bindgen_bitfield_unit.set(25usize, 1u8, { - let clk_en: u32 = unsafe { ::core::mem::transmute(clk_en) }; - clk_en as u64 - }); - __bindgen_bitfield_unit.set(26usize, 1u8, { - let err_wr_mask: u32 = unsafe { ::core::mem::transmute(err_wr_mask) }; - err_wr_mask as u64 - }); - __bindgen_bitfield_unit.set(27usize, 1u8, { - let tick_ref_always_on: u32 = unsafe { ::core::mem::transmute(tick_ref_always_on) }; - tick_ref_always_on as u64 - }); - __bindgen_bitfield_unit.set(28usize, 4u8, { - let reserved28: u32 = unsafe { ::core::mem::transmute(reserved28) }; - reserved28 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_10 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_10__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_10__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, -} -impl _bindgen_ty_1__bindgen_ty_10__bindgen_ty_1 { - #[inline] - pub fn rxfifo_full_thrhd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) } - } - #[inline] - pub fn set_rxfifo_full_thrhd(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 7u8, val as u64) - } - } - #[inline] - pub fn reserved7(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } - } - #[inline] - pub fn set_reserved7(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn txfifo_empty_thrhd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 7u8) as u32) } - } - #[inline] - pub fn set_txfifo_empty_thrhd(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 7u8, val as u64) - } - } - #[inline] - pub fn reserved15(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } - } - #[inline] - pub fn set_reserved15(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 1u8, val as u64) - } - } - #[inline] - pub fn rx_flow_thrhd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 7u8) as u32) } - } - #[inline] - pub fn set_rx_flow_thrhd(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 7u8, val as u64) - } - } - #[inline] - pub fn rx_flow_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } - } - #[inline] - pub fn set_rx_flow_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(23usize, 1u8, val as u64) - } - } - #[inline] - pub fn rx_tout_thrhd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 7u8) as u32) } - } - #[inline] - pub fn set_rx_tout_thrhd(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 7u8, val as u64) - } - } - #[inline] - pub fn rx_tout_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } - } - #[inline] - pub fn set_rx_tout_en(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(31usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - rxfifo_full_thrhd: u32, - reserved7: u32, - txfifo_empty_thrhd: u32, - reserved15: u32, - rx_flow_thrhd: u32, - rx_flow_en: u32, - rx_tout_thrhd: u32, - rx_tout_en: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 7u8, { - let rxfifo_full_thrhd: u32 = unsafe { ::core::mem::transmute(rxfifo_full_thrhd) }; - rxfifo_full_thrhd as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let reserved7: u32 = unsafe { ::core::mem::transmute(reserved7) }; - reserved7 as u64 - }); - __bindgen_bitfield_unit.set(8usize, 7u8, { - let txfifo_empty_thrhd: u32 = unsafe { ::core::mem::transmute(txfifo_empty_thrhd) }; - txfifo_empty_thrhd as u64 - }); - __bindgen_bitfield_unit.set(15usize, 1u8, { - let reserved15: u32 = unsafe { ::core::mem::transmute(reserved15) }; - reserved15 as u64 - }); - __bindgen_bitfield_unit.set(16usize, 7u8, { - let rx_flow_thrhd: u32 = unsafe { ::core::mem::transmute(rx_flow_thrhd) }; - rx_flow_thrhd as u64 - }); - __bindgen_bitfield_unit.set(23usize, 1u8, { - let rx_flow_en: u32 = unsafe { ::core::mem::transmute(rx_flow_en) }; - rx_flow_en as u64 - }); - __bindgen_bitfield_unit.set(24usize, 7u8, { - let rx_tout_thrhd: u32 = unsafe { ::core::mem::transmute(rx_tout_thrhd) }; - rx_tout_thrhd as u64 - }); - __bindgen_bitfield_unit.set(31usize, 1u8, { - let rx_tout_en: u32 = unsafe { ::core::mem::transmute(rx_tout_en) }; - rx_tout_en as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_11 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 { - #[inline] - pub fn min_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } - } - #[inline] - pub fn set_min_cnt(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 20u8, val as u64) - } - } - #[inline] - pub fn reserved20(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } - } - #[inline] - pub fn set_reserved20(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 12u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - min_cnt: u32, - reserved20: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 20u8, { - let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; - min_cnt as u64 - }); - __bindgen_bitfield_unit.set(20usize, 12u8, { - let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; - reserved20 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_12 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_12__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_12__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_12__bindgen_ty_1 { - #[inline] - pub fn min_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } - } - #[inline] - pub fn set_min_cnt(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 20u8, val as u64) - } - } - #[inline] - pub fn reserved20(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } - } - #[inline] - pub fn set_reserved20(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 12u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - min_cnt: u32, - reserved20: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 20u8, { - let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; - min_cnt as u64 - }); - __bindgen_bitfield_unit.set(20usize, 12u8, { - let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; - reserved20 as u64 - }); - __bindgen_bitfield_unit - } +pub const XTENSA_HWVERSION_T1020_0: u32 = 102000; +pub const XTENSA_HWCIDSCHEME_T1020_0: u32 = 10; +pub const XTENSA_HWCIDVERS_T1020_0: u32 = 2; +pub const XTENSA_HWVERSION_T1020_1: u32 = 102001; +pub const XTENSA_HWCIDSCHEME_T1020_1: u32 = 10; +pub const XTENSA_HWCIDVERS_T1020_1: u32 = 3; +pub const XTENSA_HWVERSION_T1020_2B: u32 = 102002; +pub const XTENSA_HWCIDSCHEME_T1020_2B: u32 = 10; +pub const XTENSA_HWCIDVERS_T1020_2B: u32 = 5; +pub const XTENSA_HWVERSION_T1020_2: u32 = 102002; +pub const XTENSA_HWCIDSCHEME_T1020_2: u32 = 10; +pub const XTENSA_HWCIDVERS_T1020_2: u32 = 4; +pub const XTENSA_HWVERSION_T1020_3: u32 = 102003; +pub const XTENSA_HWCIDSCHEME_T1020_3: u32 = 10; +pub const XTENSA_HWCIDVERS_T1020_3: u32 = 6; +pub const XTENSA_HWVERSION_T1020_4: u32 = 102004; +pub const XTENSA_HWCIDSCHEME_T1020_4: u32 = 10; +pub const XTENSA_HWCIDVERS_T1020_4: u32 = 7; +pub const XTENSA_HWVERSION_T1030_0: u32 = 103000; +pub const XTENSA_HWCIDSCHEME_T1030_0: u32 = 10; +pub const XTENSA_HWCIDVERS_T1030_0: u32 = 9; +pub const XTENSA_HWVERSION_T1030_1: u32 = 103001; +pub const XTENSA_HWCIDSCHEME_T1030_1: u32 = 10; +pub const XTENSA_HWCIDVERS_T1030_1: u32 = 10; +pub const XTENSA_HWVERSION_T1030_2: u32 = 103002; +pub const XTENSA_HWCIDSCHEME_T1030_2: u32 = 10; +pub const XTENSA_HWCIDVERS_T1030_2: u32 = 11; +pub const XTENSA_HWVERSION_T1030_3: u32 = 103003; +pub const XTENSA_HWCIDSCHEME_T1030_3: u32 = 10; +pub const XTENSA_HWCIDVERS_T1030_3: u32 = 12; +pub const XTENSA_HWVERSION_T1040_0: u32 = 104000; +pub const XTENSA_HWCIDSCHEME_T1040_0: u32 = 10; +pub const XTENSA_HWCIDVERS_T1040_0: u32 = 15; +pub const XTENSA_HWVERSION_T1040_1: u32 = 104001; +pub const XTENSA_HWCIDSCHEME_T1040_1: u32 = 1; +pub const XTENSA_HWCIDVERS_T1040_1: u32 = 32; +pub const XTENSA_HWVERSION_T1040_1P: u32 = 104001; +pub const XTENSA_HWCIDSCHEME_T1040_1P: u32 = 10; +pub const XTENSA_HWCIDVERS_T1040_1P: u32 = 16; +pub const XTENSA_HWVERSION_T1040_2: u32 = 104002; +pub const XTENSA_HWCIDSCHEME_T1040_2: u32 = 1; +pub const XTENSA_HWCIDVERS_T1040_2: u32 = 33; +pub const XTENSA_HWVERSION_T1040_3: u32 = 104003; +pub const XTENSA_HWCIDSCHEME_T1040_3: u32 = 1; +pub const XTENSA_HWCIDVERS_T1040_3: u32 = 34; +pub const XTENSA_HWVERSION_T1050_0: u32 = 105000; +pub const XTENSA_HWCIDSCHEME_T1050_0: u32 = 1100; +pub const XTENSA_HWCIDVERS_T1050_0: u32 = 1; +pub const XTENSA_HWVERSION_T1050_1: u32 = 105001; +pub const XTENSA_HWCIDSCHEME_T1050_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_T1050_1: u32 = 2; +pub const XTENSA_HWVERSION_T1050_2: u32 = 105002; +pub const XTENSA_HWCIDSCHEME_T1050_2: u32 = 1100; +pub const XTENSA_HWCIDVERS_T1050_2: u32 = 4; +pub const XTENSA_HWVERSION_T1050_3: u32 = 105003; +pub const XTENSA_HWCIDSCHEME_T1050_3: u32 = 1100; +pub const XTENSA_HWCIDVERS_T1050_3: u32 = 6; +pub const XTENSA_HWVERSION_T1050_4: u32 = 105004; +pub const XTENSA_HWCIDSCHEME_T1050_4: u32 = 1100; +pub const XTENSA_HWCIDVERS_T1050_4: u32 = 7; +pub const XTENSA_HWVERSION_T1050_5: u32 = 105005; +pub const XTENSA_HWCIDSCHEME_T1050_5: u32 = 1100; +pub const XTENSA_HWCIDVERS_T1050_5: u32 = 8; +pub const XTENSA_HWVERSION_RA_2004_1: u32 = 210000; +pub const XTENSA_HWCIDSCHEME_RA_2004_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2004_1: u32 = 3; +pub const XTENSA_HWVERSION_RA_2005_1: u32 = 210001; +pub const XTENSA_HWCIDSCHEME_RA_2005_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2005_1: u32 = 20; +pub const XTENSA_HWVERSION_RA_2005_2: u32 = 210002; +pub const XTENSA_HWCIDSCHEME_RA_2005_2: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2005_2: u32 = 21; +pub const XTENSA_HWVERSION_RA_2005_3: u32 = 210003; +pub const XTENSA_HWCIDSCHEME_RA_2005_3: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2005_3: u32 = 22; +pub const XTENSA_HWVERSION_RA_2006_4: u32 = 210004; +pub const XTENSA_HWCIDSCHEME_RA_2006_4: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2006_4: u32 = 23; +pub const XTENSA_HWVERSION_RA_2006_5: u32 = 210005; +pub const XTENSA_HWCIDSCHEME_RA_2006_5: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2006_5: u32 = 24; +pub const XTENSA_HWVERSION_RA_2006_6: u32 = 210006; +pub const XTENSA_HWCIDSCHEME_RA_2006_6: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2006_6: u32 = 25; +pub const XTENSA_HWVERSION_RA_2007_7: u32 = 210007; +pub const XTENSA_HWCIDSCHEME_RA_2007_7: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2007_7: u32 = 26; +pub const XTENSA_HWVERSION_RA_2008_8: u32 = 210008; +pub const XTENSA_HWCIDSCHEME_RA_2008_8: u32 = 1100; +pub const XTENSA_HWCIDVERS_RA_2008_8: u32 = 27; +pub const XTENSA_HWVERSION_RB_2006_0: u32 = 220000; +pub const XTENSA_HWCIDSCHEME_RB_2006_0: u32 = 1100; +pub const XTENSA_HWCIDVERS_RB_2006_0: u32 = 48; +pub const XTENSA_HWVERSION_RB_2007_1: u32 = 220001; +pub const XTENSA_HWCIDSCHEME_RB_2007_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_RB_2007_1: u32 = 49; +pub const XTENSA_HWVERSION_RB_2007_2: u32 = 221000; +pub const XTENSA_HWCIDSCHEME_RB_2007_2: u32 = 1100; +pub const XTENSA_HWCIDVERS_RB_2007_2: u32 = 52; +pub const XTENSA_HWVERSION_RB_2008_3: u32 = 221001; +pub const XTENSA_HWCIDSCHEME_RB_2008_3: u32 = 1100; +pub const XTENSA_HWCIDVERS_RB_2008_3: u32 = 53; +pub const XTENSA_HWVERSION_RB_2008_4: u32 = 221002; +pub const XTENSA_HWCIDSCHEME_RB_2008_4: u32 = 1100; +pub const XTENSA_HWCIDVERS_RB_2008_4: u32 = 54; +pub const XTENSA_HWVERSION_RB_2009_5: u32 = 221003; +pub const XTENSA_HWCIDSCHEME_RB_2009_5: u32 = 1100; +pub const XTENSA_HWCIDVERS_RB_2009_5: u32 = 55; +pub const XTENSA_HWVERSION_RB_2007_2_MP: u32 = 221100; +pub const XTENSA_HWCIDSCHEME_RB_2007_2_MP: u32 = 1100; +pub const XTENSA_HWCIDVERS_RB_2007_2_MP: u32 = 64; +pub const XTENSA_HWVERSION_RC_2009_0: u32 = 230000; +pub const XTENSA_HWCIDSCHEME_RC_2009_0: u32 = 1100; +pub const XTENSA_HWCIDVERS_RC_2009_0: u32 = 65; +pub const XTENSA_HWVERSION_RC_2010_1: u32 = 230001; +pub const XTENSA_HWCIDSCHEME_RC_2010_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_RC_2010_1: u32 = 66; +pub const XTENSA_HWVERSION_RC_2010_2: u32 = 230002; +pub const XTENSA_HWCIDSCHEME_RC_2010_2: u32 = 1100; +pub const XTENSA_HWCIDVERS_RC_2010_2: u32 = 67; +pub const XTENSA_HWVERSION_RC_2011_3: u32 = 230003; +pub const XTENSA_HWCIDSCHEME_RC_2011_3: u32 = 1100; +pub const XTENSA_HWCIDVERS_RC_2011_3: u32 = 68; +pub const XTENSA_HWVERSION_RD_2010_0: u32 = 240000; +pub const XTENSA_HWCIDSCHEME_RD_2010_0: u32 = 1100; +pub const XTENSA_HWCIDVERS_RD_2010_0: u32 = 80; +pub const XTENSA_HWVERSION_RD_2011_1: u32 = 240001; +pub const XTENSA_HWCIDSCHEME_RD_2011_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_RD_2011_1: u32 = 81; +pub const XTENSA_HWVERSION_RD_2011_2: u32 = 240002; +pub const XTENSA_HWCIDSCHEME_RD_2011_2: u32 = 1100; +pub const XTENSA_HWCIDVERS_RD_2011_2: u32 = 82; +pub const XTENSA_HWVERSION_RD_2011_3: u32 = 240003; +pub const XTENSA_HWCIDSCHEME_RD_2011_3: u32 = 1100; +pub const XTENSA_HWCIDVERS_RD_2011_3: u32 = 83; +pub const XTENSA_HWVERSION_RD_2012_4: u32 = 240004; +pub const XTENSA_HWCIDSCHEME_RD_2012_4: u32 = 1100; +pub const XTENSA_HWCIDVERS_RD_2012_4: u32 = 84; +pub const XTENSA_HWVERSION_RD_2012_5: u32 = 240005; +pub const XTENSA_HWCIDSCHEME_RD_2012_5: u32 = 1100; +pub const XTENSA_HWCIDVERS_RD_2012_5: u32 = 85; +pub const XTENSA_HWVERSION_RE_2012_0: u32 = 250000; +pub const XTENSA_HWCIDSCHEME_RE_2012_0: u32 = 1100; +pub const XTENSA_HWCIDVERS_RE_2012_0: u32 = 96; +pub const XTENSA_HWVERSION_RE_2012_1: u32 = 250001; +pub const XTENSA_HWCIDSCHEME_RE_2012_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_RE_2012_1: u32 = 97; +pub const XTENSA_HWVERSION_RE_2013_2: u32 = 250002; +pub const XTENSA_HWCIDSCHEME_RE_2013_2: u32 = 1100; +pub const XTENSA_HWCIDVERS_RE_2013_2: u32 = 98; +pub const XTENSA_HWVERSION_RE_2013_3: u32 = 250003; +pub const XTENSA_HWCIDSCHEME_RE_2013_3: u32 = 1100; +pub const XTENSA_HWCIDVERS_RE_2013_3: u32 = 99; +pub const XTENSA_HWVERSION_RE_2013_4: u32 = 250004; +pub const XTENSA_HWCIDSCHEME_RE_2013_4: u32 = 1100; +pub const XTENSA_HWCIDVERS_RE_2013_4: u32 = 100; +pub const XTENSA_HWVERSION_RE_2014_5: u32 = 250005; +pub const XTENSA_HWCIDSCHEME_RE_2014_5: u32 = 1100; +pub const XTENSA_HWCIDVERS_RE_2014_5: u32 = 101; +pub const XTENSA_HWVERSION_RE_2015_6: u32 = 250006; +pub const XTENSA_HWCIDSCHEME_RE_2015_6: u32 = 1100; +pub const XTENSA_HWCIDVERS_RE_2015_6: u32 = 102; +pub const XTENSA_HWVERSION_RF_2014_0: u32 = 260000; +pub const XTENSA_HWCIDSCHEME_RF_2014_0: u32 = 1100; +pub const XTENSA_HWCIDVERS_RF_2014_0: u32 = 112; +pub const XTENSA_HWVERSION_RF_2014_1: u32 = 260001; +pub const XTENSA_HWCIDSCHEME_RF_2014_1: u32 = 1100; +pub const XTENSA_HWCIDVERS_RF_2014_1: u32 = 113; +pub const XTENSA_HWVERSION_RF_2015_2: u32 = 260002; +pub const XTENSA_HWCIDSCHEME_RF_2015_2: u32 = 1100; +pub const XTENSA_HWCIDVERS_RF_2015_2: u32 = 114; +pub const XTENSA_HWVERSION_RF_2015_3: u32 = 260003; +pub const XTENSA_HWCIDSCHEME_RF_2015_3: u32 = 1100; +pub const XTENSA_HWCIDVERS_RF_2015_3: u32 = 115; +pub const XTENSA_HWVERSION_RG_2015_0: u32 = 270000; +pub const XTENSA_HWCIDSCHEME_RG_2015_0: u32 = 1100; +pub const XTENSA_HWCIDVERS_RG_2015_0: u32 = 128; +pub const XTENSA_SWVERSION_T1020_0: u32 = 102000; +pub const XTENSA_SWVERSION_T1020_1: u32 = 102001; +pub const XTENSA_SWVERSION_T1020_2B: u32 = 102002; +pub const XTENSA_SWVERSION_T1020_2: u32 = 102002; +pub const XTENSA_SWVERSION_T1020_3: u32 = 102003; +pub const XTENSA_SWVERSION_T1020_4: u32 = 102004; +pub const XTENSA_SWVERSION_T1030_0: u32 = 103000; +pub const XTENSA_SWVERSION_T1030_1: u32 = 103001; +pub const XTENSA_SWVERSION_T1030_2: u32 = 103002; +pub const XTENSA_SWVERSION_T1030_3: u32 = 103003; +pub const XTENSA_SWVERSION_T1040_0: u32 = 104000; +pub const XTENSA_SWVERSION_T1040_1: u32 = 104001; +pub const XTENSA_SWVERSION_T1040_1P: u32 = 104001; +pub const XTENSA_SWVERSION_T1040_2: u32 = 104002; +pub const XTENSA_SWVERSION_T1040_3: u32 = 104003; +pub const XTENSA_SWVERSION_T1050_0: u32 = 105000; +pub const XTENSA_SWVERSION_T1050_1: u32 = 105001; +pub const XTENSA_SWVERSION_T1050_2: u32 = 105002; +pub const XTENSA_SWVERSION_T1050_3: u32 = 105003; +pub const XTENSA_SWVERSION_T1050_4: u32 = 105004; +pub const XTENSA_SWVERSION_T1050_5: u32 = 105005; +pub const XTENSA_SWVERSION_RA_2004_1: u32 = 600000; +pub const XTENSA_SWVERSION_RA_2005_1: u32 = 600001; +pub const XTENSA_SWVERSION_RA_2005_2: u32 = 600002; +pub const XTENSA_SWVERSION_RA_2005_3: u32 = 600003; +pub const XTENSA_SWVERSION_RA_2006_4: u32 = 600004; +pub const XTENSA_SWVERSION_RA_2006_5: u32 = 600005; +pub const XTENSA_SWVERSION_RA_2006_6: u32 = 600006; +pub const XTENSA_SWVERSION_RA_2007_7: u32 = 600007; +pub const XTENSA_SWVERSION_RA_2008_8: u32 = 600008; +pub const XTENSA_SWVERSION_RB_2006_0: u32 = 700000; +pub const XTENSA_SWVERSION_RB_2007_1: u32 = 700001; +pub const XTENSA_SWVERSION_RB_2007_2: u32 = 701000; +pub const XTENSA_SWVERSION_RB_2008_3: u32 = 701001; +pub const XTENSA_SWVERSION_RB_2008_4: u32 = 701002; +pub const XTENSA_SWVERSION_RB_2009_5: u32 = 701003; +pub const XTENSA_SWVERSION_RB_2007_2_MP: u32 = 701100; +pub const XTENSA_SWVERSION_RC_2009_0: u32 = 800000; +pub const XTENSA_SWVERSION_RC_2010_1: u32 = 800001; +pub const XTENSA_SWVERSION_RC_2010_2: u32 = 800002; +pub const XTENSA_SWVERSION_RC_2011_3: u32 = 800003; +pub const XTENSA_SWVERSION_RD_2010_0: u32 = 900000; +pub const XTENSA_SWVERSION_RD_2011_1: u32 = 900001; +pub const XTENSA_SWVERSION_RD_2011_2: u32 = 900002; +pub const XTENSA_SWVERSION_RD_2011_3: u32 = 900003; +pub const XTENSA_SWVERSION_RD_2012_4: u32 = 900004; +pub const XTENSA_SWVERSION_RD_2012_5: u32 = 900005; +pub const XTENSA_SWVERSION_RE_2012_0: u32 = 1000000; +pub const XTENSA_SWVERSION_RE_2012_1: u32 = 1000001; +pub const XTENSA_SWVERSION_RE_2013_2: u32 = 1000002; +pub const XTENSA_SWVERSION_RE_2013_3: u32 = 1000003; +pub const XTENSA_SWVERSION_RE_2013_4: u32 = 1000004; +pub const XTENSA_SWVERSION_RE_2014_5: u32 = 1000005; +pub const XTENSA_SWVERSION_RE_2015_6: u32 = 1000006; +pub const XTENSA_SWVERSION_RF_2014_0: u32 = 1100000; +pub const XTENSA_SWVERSION_RF_2014_1: u32 = 1100001; +pub const XTENSA_SWVERSION_RF_2015_2: u32 = 1100002; +pub const XTENSA_SWVERSION_RF_2015_3: u32 = 1100003; +pub const XTENSA_SWVERSION_RG_2015_0: u32 = 1200000; +pub const XTENSA_SWVERSION_T1040_1_PREHOTFIX: u32 = 104001; +pub const XTENSA_SWVERSION_6_0_0: u32 = 600000; +pub const XTENSA_SWVERSION_6_0_1: u32 = 600001; +pub const XTENSA_SWVERSION_6_0_2: u32 = 600002; +pub const XTENSA_SWVERSION_6_0_3: u32 = 600003; +pub const XTENSA_SWVERSION_6_0_4: u32 = 600004; +pub const XTENSA_SWVERSION_6_0_5: u32 = 600005; +pub const XTENSA_SWVERSION_6_0_6: u32 = 600006; +pub const XTENSA_SWVERSION_6_0_7: u32 = 600007; +pub const XTENSA_SWVERSION_6_0_8: u32 = 600008; +pub const XTENSA_SWVERSION_7_0_0: u32 = 700000; +pub const XTENSA_SWVERSION_7_0_1: u32 = 700001; +pub const XTENSA_SWVERSION_7_1_0: u32 = 701000; +pub const XTENSA_SWVERSION_7_1_1: u32 = 701001; +pub const XTENSA_SWVERSION_7_1_2: u32 = 701002; +pub const XTENSA_SWVERSION_7_1_3: u32 = 701003; +pub const XTENSA_SWVERSION_7_1_8_MP: u32 = 701100; +pub const XTENSA_SWVERSION_8_0_0: u32 = 800000; +pub const XTENSA_SWVERSION_8_0_1: u32 = 800001; +pub const XTENSA_SWVERSION_8_0_2: u32 = 800002; +pub const XTENSA_SWVERSION_8_0_3: u32 = 800003; +pub const XTENSA_SWVERSION_9_0_0: u32 = 900000; +pub const XTENSA_SWVERSION_9_0_1: u32 = 900001; +pub const XTENSA_SWVERSION_9_0_2: u32 = 900002; +pub const XTENSA_SWVERSION_9_0_3: u32 = 900003; +pub const XTENSA_SWVERSION_9_0_4: u32 = 900004; +pub const XTENSA_SWVERSION_9_0_5: u32 = 900005; +pub const XTENSA_SWVERSION_10_0_0: u32 = 1000000; +pub const XTENSA_SWVERSION_10_0_1: u32 = 1000001; +pub const XTENSA_SWVERSION_10_0_2: u32 = 1000002; +pub const XTENSA_SWVERSION_10_0_3: u32 = 1000003; +pub const XTENSA_SWVERSION_10_0_4: u32 = 1000004; +pub const XTENSA_SWVERSION_10_0_5: u32 = 1000005; +pub const XTENSA_SWVERSION_10_0_6: u32 = 1000006; +pub const XTENSA_SWVERSION_11_0_0: u32 = 1100000; +pub const XTENSA_SWVERSION_11_0_1: u32 = 1100001; +pub const XTENSA_SWVERSION_11_0_2: u32 = 1100002; +pub const XTENSA_SWVERSION_11_0_3: u32 = 1100003; +pub const XTENSA_SWVERSION_12_0_0: u32 = 1200000; +pub const XTENSA_RELEASE_NAME: &'static [u8; 10usize] = b"RF-2015.3\0"; +pub const XTENSA_RELEASE_CANONICAL_NAME: &'static [u8; 10usize] = b"RF-2015.3\0"; +pub const XTENSA_SWVERSION: u32 = 1100003; +pub const XTENSA_SWVERSION_NAME: &'static [u8; 7usize] = b"11.0.3\0"; +pub const XTENSA_SWVERSION_CANONICAL_NAME: &'static [u8; 7usize] = b"11.0.3\0"; +pub const XTENSA_SWVERSION_MAJORMID_NAME: &'static [u8; 5usize] = b"11.0\0"; +pub const XTENSA_SWVERSION_MAJOR_NAME: &'static [u8; 3usize] = b"11\0"; +pub const XTENSA_SWVERSION_LICENSE_NAME: &'static [u8; 5usize] = b"11.0\0"; +pub const XCHAL_CA_BYPASS: u32 = 2; +pub const XCHAL_CA_BYPASSBUF: u32 = 6; +pub const XCHAL_CA_WRITETHRU: u32 = 2; +pub const XCHAL_CA_WRITEBACK: u32 = 2; +pub const XCHAL_HAVE_CA_WRITEBACK_NOALLOC: u32 = 0; +pub const XCHAL_CA_WRITEBACK_NOALLOC: u32 = 2; +pub const XCHAL_CA_BYPASS_RW: u32 = 0; +pub const XCHAL_CA_WRITETHRU_RW: u32 = 0; +pub const XCHAL_CA_WRITEBACK_RW: u32 = 0; +pub const XCHAL_CA_WRITEBACK_NOALLOC_RW: u32 = 0; +pub const XCHAL_CA_ILLEGAL: u32 = 15; +pub const XCHAL_CA_ISOLATE: u32 = 0; +pub const XCHAL_MMU_ASID_INVALID: u32 = 0; +pub const XCHAL_MMU_ASID_KERNEL: u32 = 0; +pub const XCHAL_MMU_SR_BITS: u32 = 0; +pub const XCHAL_MMU_CA_BITS: u32 = 4; +pub const XCHAL_MMU_MAX_PTE_PAGE_SIZE: u32 = 29; +pub const XCHAL_MMU_MIN_PTE_PAGE_SIZE: u32 = 29; +pub const XCHAL_ITLB_WAY_BITS: u32 = 0; +pub const XCHAL_ITLB_WAYS: u32 = 1; +pub const XCHAL_ITLB_ARF_WAYS: u32 = 0; +pub const XCHAL_ITLB_SETS: u32 = 1; +pub const XCHAL_ITLB_WAY0_SET: u32 = 0; +pub const XCHAL_ITLB_ARF_SETS: u32 = 0; +pub const XCHAL_ITLB_MINWIRED_SETS: u32 = 0; +pub const XCHAL_ITLB_SET0_WAY: u32 = 0; +pub const XCHAL_ITLB_SET0_WAYS: u32 = 1; +pub const XCHAL_ITLB_SET0_ENTRIES_LOG2: u32 = 3; +pub const XCHAL_ITLB_SET0_ENTRIES: u32 = 8; +pub const XCHAL_ITLB_SET0_ARF: u32 = 0; +pub const XCHAL_ITLB_SET0_PAGESIZES: u32 = 1; +pub const XCHAL_ITLB_SET0_PAGESZ_BITS: u32 = 0; +pub const XCHAL_ITLB_SET0_PAGESZ_LOG2_MIN: u32 = 29; +pub const XCHAL_ITLB_SET0_PAGESZ_LOG2_MAX: u32 = 29; +pub const XCHAL_ITLB_SET0_PAGESZ_LOG2_LIST: u32 = 29; +pub const XCHAL_ITLB_SET0_ASID_CONSTMASK: u32 = 0; +pub const XCHAL_ITLB_SET0_VPN_CONSTMASK: u32 = 0; +pub const XCHAL_ITLB_SET0_PPN_CONSTMASK: u32 = 3758096384; +pub const XCHAL_ITLB_SET0_CA_CONSTMASK: u32 = 0; +pub const XCHAL_ITLB_SET0_ASID_RESET: u32 = 0; +pub const XCHAL_ITLB_SET0_VPN_RESET: u32 = 0; +pub const XCHAL_ITLB_SET0_PPN_RESET: u32 = 0; +pub const XCHAL_ITLB_SET0_CA_RESET: u32 = 1; +pub const XCHAL_ITLB_SET0_E0_VPN_CONST: u32 = 0; +pub const XCHAL_ITLB_SET0_E1_VPN_CONST: u32 = 536870912; +pub const XCHAL_ITLB_SET0_E2_VPN_CONST: u32 = 1073741824; +pub const XCHAL_ITLB_SET0_E3_VPN_CONST: u32 = 1610612736; +pub const XCHAL_ITLB_SET0_E4_VPN_CONST: u32 = 2147483648; +pub const XCHAL_ITLB_SET0_E5_VPN_CONST: u32 = 2684354560; +pub const XCHAL_ITLB_SET0_E6_VPN_CONST: u32 = 3221225472; +pub const XCHAL_ITLB_SET0_E7_VPN_CONST: u32 = 3758096384; +pub const XCHAL_ITLB_SET0_E0_PPN_CONST: u32 = 0; +pub const XCHAL_ITLB_SET0_E1_PPN_CONST: u32 = 536870912; +pub const XCHAL_ITLB_SET0_E2_PPN_CONST: u32 = 1073741824; +pub const XCHAL_ITLB_SET0_E3_PPN_CONST: u32 = 1610612736; +pub const XCHAL_ITLB_SET0_E4_PPN_CONST: u32 = 2147483648; +pub const XCHAL_ITLB_SET0_E5_PPN_CONST: u32 = 2684354560; +pub const XCHAL_ITLB_SET0_E6_PPN_CONST: u32 = 3221225472; +pub const XCHAL_ITLB_SET0_E7_PPN_CONST: u32 = 3758096384; +pub const XCHAL_ITLB_SET0_E0_CA_RESET: u32 = 2; +pub const XCHAL_ITLB_SET0_E1_CA_RESET: u32 = 2; +pub const XCHAL_ITLB_SET0_E2_CA_RESET: u32 = 2; +pub const XCHAL_ITLB_SET0_E3_CA_RESET: u32 = 2; +pub const XCHAL_ITLB_SET0_E4_CA_RESET: u32 = 2; +pub const XCHAL_ITLB_SET0_E5_CA_RESET: u32 = 2; +pub const XCHAL_ITLB_SET0_E6_CA_RESET: u32 = 2; +pub const XCHAL_ITLB_SET0_E7_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_WAY_BITS: u32 = 0; +pub const XCHAL_DTLB_WAYS: u32 = 1; +pub const XCHAL_DTLB_ARF_WAYS: u32 = 0; +pub const XCHAL_DTLB_SETS: u32 = 1; +pub const XCHAL_DTLB_WAY0_SET: u32 = 0; +pub const XCHAL_DTLB_ARF_SETS: u32 = 0; +pub const XCHAL_DTLB_MINWIRED_SETS: u32 = 0; +pub const XCHAL_DTLB_SET0_WAY: u32 = 0; +pub const XCHAL_DTLB_SET0_WAYS: u32 = 1; +pub const XCHAL_DTLB_SET0_ENTRIES_LOG2: u32 = 3; +pub const XCHAL_DTLB_SET0_ENTRIES: u32 = 8; +pub const XCHAL_DTLB_SET0_ARF: u32 = 0; +pub const XCHAL_DTLB_SET0_PAGESIZES: u32 = 1; +pub const XCHAL_DTLB_SET0_PAGESZ_BITS: u32 = 0; +pub const XCHAL_DTLB_SET0_PAGESZ_LOG2_MIN: u32 = 29; +pub const XCHAL_DTLB_SET0_PAGESZ_LOG2_MAX: u32 = 29; +pub const XCHAL_DTLB_SET0_PAGESZ_LOG2_LIST: u32 = 29; +pub const XCHAL_DTLB_SET0_ASID_CONSTMASK: u32 = 0; +pub const XCHAL_DTLB_SET0_VPN_CONSTMASK: u32 = 0; +pub const XCHAL_DTLB_SET0_PPN_CONSTMASK: u32 = 3758096384; +pub const XCHAL_DTLB_SET0_CA_CONSTMASK: u32 = 0; +pub const XCHAL_DTLB_SET0_ASID_RESET: u32 = 0; +pub const XCHAL_DTLB_SET0_VPN_RESET: u32 = 0; +pub const XCHAL_DTLB_SET0_PPN_RESET: u32 = 0; +pub const XCHAL_DTLB_SET0_CA_RESET: u32 = 1; +pub const XCHAL_DTLB_SET0_E0_VPN_CONST: u32 = 0; +pub const XCHAL_DTLB_SET0_E1_VPN_CONST: u32 = 536870912; +pub const XCHAL_DTLB_SET0_E2_VPN_CONST: u32 = 1073741824; +pub const XCHAL_DTLB_SET0_E3_VPN_CONST: u32 = 1610612736; +pub const XCHAL_DTLB_SET0_E4_VPN_CONST: u32 = 2147483648; +pub const XCHAL_DTLB_SET0_E5_VPN_CONST: u32 = 2684354560; +pub const XCHAL_DTLB_SET0_E6_VPN_CONST: u32 = 3221225472; +pub const XCHAL_DTLB_SET0_E7_VPN_CONST: u32 = 3758096384; +pub const XCHAL_DTLB_SET0_E0_PPN_CONST: u32 = 0; +pub const XCHAL_DTLB_SET0_E1_PPN_CONST: u32 = 536870912; +pub const XCHAL_DTLB_SET0_E2_PPN_CONST: u32 = 1073741824; +pub const XCHAL_DTLB_SET0_E3_PPN_CONST: u32 = 1610612736; +pub const XCHAL_DTLB_SET0_E4_PPN_CONST: u32 = 2147483648; +pub const XCHAL_DTLB_SET0_E5_PPN_CONST: u32 = 2684354560; +pub const XCHAL_DTLB_SET0_E6_PPN_CONST: u32 = 3221225472; +pub const XCHAL_DTLB_SET0_E7_PPN_CONST: u32 = 3758096384; +pub const XCHAL_DTLB_SET0_E0_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_SET0_E1_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_SET0_E2_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_SET0_E3_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_SET0_E4_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_SET0_E5_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_SET0_E6_CA_RESET: u32 = 2; +pub const XCHAL_DTLB_SET0_E7_CA_RESET: u32 = 2; +pub const XCHAL_HAVE_LE: u32 = 1; +pub const XCHAL_MEMORY_ORDER: u32 = 0; +pub const XCHAL_HAVE_HIGHLEVEL_INTERRUPTS: u32 = 1; +pub const XCHAL_NUM_LOWPRI_LEVELS: u32 = 1; +pub const XCHAL_FIRST_HIGHPRI_LEVEL: u32 = 2; +pub const XCHAL_INTLEVEL0_MASK: u32 = 0; +pub const XCHAL_INTLEVEL8_MASK: u32 = 0; +pub const XCHAL_INTLEVEL9_MASK: u32 = 0; +pub const XCHAL_INTLEVEL10_MASK: u32 = 0; +pub const XCHAL_INTLEVEL11_MASK: u32 = 0; +pub const XCHAL_INTLEVEL12_MASK: u32 = 0; +pub const XCHAL_INTLEVEL13_MASK: u32 = 0; +pub const XCHAL_INTLEVEL14_MASK: u32 = 0; +pub const XCHAL_INTLEVEL15_MASK: u32 = 0; +pub const XCHAL_INTLEVEL0_ANDBELOW_MASK: u32 = 0; +pub const XCHAL_INTLEVEL8_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_INTLEVEL9_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_INTLEVEL10_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_INTLEVEL11_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_INTLEVEL12_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_INTLEVEL13_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_INTLEVEL14_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_INTLEVEL15_ANDBELOW_MASK: u32 = 4294967295; +pub const XCHAL_LOWPRI_MASK: u32 = 407551; +pub const XCHAL_INTCLEARABLE_MASK: u32 = 1883243648; +pub const XCHAL_INTSETTABLE_MASK: u32 = 536871040; +pub const XCHAL_EXTINT0_MASK: u32 = 1; +pub const XCHAL_EXTINT1_MASK: u32 = 2; +pub const XCHAL_EXTINT2_MASK: u32 = 4; +pub const XCHAL_EXTINT3_MASK: u32 = 8; +pub const XCHAL_EXTINT4_MASK: u32 = 16; +pub const XCHAL_EXTINT5_MASK: u32 = 32; +pub const XCHAL_EXTINT6_MASK: u32 = 256; +pub const XCHAL_EXTINT7_MASK: u32 = 512; +pub const XCHAL_EXTINT8_MASK: u32 = 1024; +pub const XCHAL_EXTINT9_MASK: u32 = 4096; +pub const XCHAL_EXTINT10_MASK: u32 = 8192; +pub const XCHAL_EXTINT11_MASK: u32 = 16384; +pub const XCHAL_EXTINT12_MASK: u32 = 131072; +pub const XCHAL_EXTINT13_MASK: u32 = 262144; +pub const XCHAL_EXTINT14_MASK: u32 = 524288; +pub const XCHAL_EXTINT15_MASK: u32 = 1048576; +pub const XCHAL_EXTINT16_MASK: u32 = 2097152; +pub const XCHAL_EXTINT17_MASK: u32 = 4194304; +pub const XCHAL_EXTINT18_MASK: u32 = 8388608; +pub const XCHAL_EXTINT19_MASK: u32 = 16777216; +pub const XCHAL_EXTINT20_MASK: u32 = 33554432; +pub const XCHAL_EXTINT21_MASK: u32 = 67108864; +pub const XCHAL_EXTINT22_MASK: u32 = 134217728; +pub const XCHAL_EXTINT23_MASK: u32 = 268435456; +pub const XCHAL_EXTINT24_MASK: u32 = 1073741824; +pub const XCHAL_EXTINT25_MASK: u32 = 2147483648; +pub const XCHAL_HAVE_OLD_EXC_ARCH: u32 = 0; +pub const XCHAL_HAVE_EXCM: u32 = 1; +pub const XCHAL_PROGRAMEXC_VECTOR_VADDR: u32 = 1073742656; +pub const XCHAL_USEREXC_VECTOR_VADDR: u32 = 1073742656; +pub const XCHAL_PROGRAMEXC_VECTOR_PADDR: u32 = 1073742656; +pub const XCHAL_USEREXC_VECTOR_PADDR: u32 = 1073742656; +pub const XCHAL_STACKEDEXC_VECTOR_VADDR: u32 = 1073742592; +pub const XCHAL_KERNELEXC_VECTOR_VADDR: u32 = 1073742592; +pub const XCHAL_STACKEDEXC_VECTOR_PADDR: u32 = 1073742592; +pub const XCHAL_KERNELEXC_VECTOR_PADDR: u32 = 1073742592; +pub const XCHAL_EXCCAUSE_ILLEGAL_INSTRUCTION: u32 = 0; +pub const XCHAL_EXCCAUSE_SYSTEM_CALL: u32 = 1; +pub const XCHAL_EXCCAUSE_INSTRUCTION_FETCH_ERROR: u32 = 2; +pub const XCHAL_EXCCAUSE_LOAD_STORE_ERROR: u32 = 3; +pub const XCHAL_EXCCAUSE_LEVEL1_INTERRUPT: u32 = 4; +pub const XCHAL_EXCCAUSE_ALLOCA: u32 = 5; +pub const XCHAL_EXCCAUSE_INTEGER_DIVIDE_BY_ZERO: u32 = 6; +pub const XCHAL_EXCCAUSE_SPECULATION: u32 = 7; +pub const XCHAL_EXCCAUSE_PRIVILEGED: u32 = 8; +pub const XCHAL_EXCCAUSE_UNALIGNED: u32 = 9; +pub const XCHAL_EXCCAUSE_ITLB_MISS: u32 = 16; +pub const XCHAL_EXCCAUSE_ITLB_MULTIHIT: u32 = 17; +pub const XCHAL_EXCCAUSE_ITLB_PRIVILEGE: u32 = 18; +pub const XCHAL_EXCCAUSE_ITLB_SIZE_RESTRICTION: u32 = 19; +pub const XCHAL_EXCCAUSE_FETCH_CACHE_ATTRIBUTE: u32 = 20; +pub const XCHAL_EXCCAUSE_DTLB_MISS: u32 = 24; +pub const XCHAL_EXCCAUSE_DTLB_MULTIHIT: u32 = 25; +pub const XCHAL_EXCCAUSE_DTLB_PRIVILEGE: u32 = 26; +pub const XCHAL_EXCCAUSE_DTLB_SIZE_RESTRICTION: u32 = 27; +pub const XCHAL_EXCCAUSE_LOAD_CACHE_ATTRIBUTE: u32 = 28; +pub const XCHAL_EXCCAUSE_STORE_CACHE_ATTRIBUTE: u32 = 29; +pub const XCHAL_EXCCAUSE_COPROCESSOR0_DISABLED: u32 = 32; +pub const XCHAL_EXCCAUSE_COPROCESSOR1_DISABLED: u32 = 33; +pub const XCHAL_EXCCAUSE_COPROCESSOR2_DISABLED: u32 = 34; +pub const XCHAL_EXCCAUSE_COPROCESSOR3_DISABLED: u32 = 35; +pub const XCHAL_EXCCAUSE_COPROCESSOR4_DISABLED: u32 = 36; +pub const XCHAL_EXCCAUSE_COPROCESSOR5_DISABLED: u32 = 37; +pub const XCHAL_EXCCAUSE_COPROCESSOR6_DISABLED: u32 = 38; +pub const XCHAL_EXCCAUSE_COPROCESSOR7_DISABLED: u32 = 39; +pub const XCHAL_DBREAKC_VALIDMASK: u32 = 3221225535; +pub const XCHAL_DBREAKC_MASK_BITS: u32 = 6; +pub const XCHAL_DBREAKC_MASK_NUM: u32 = 64; +pub const XCHAL_DBREAKC_MASK_SHIFT: u32 = 0; +pub const XCHAL_DBREAKC_MASK_MASK: u32 = 63; +pub const XCHAL_DBREAKC_LOADBREAK_BITS: u32 = 1; +pub const XCHAL_DBREAKC_LOADBREAK_NUM: u32 = 2; +pub const XCHAL_DBREAKC_LOADBREAK_SHIFT: u32 = 30; +pub const XCHAL_DBREAKC_LOADBREAK_MASK: u32 = 1073741824; +pub const XCHAL_DBREAKC_STOREBREAK_BITS: u32 = 1; +pub const XCHAL_DBREAKC_STOREBREAK_NUM: u32 = 2; +pub const XCHAL_DBREAKC_STOREBREAK_SHIFT: u32 = 31; +pub const XCHAL_DBREAKC_STOREBREAK_MASK: u32 = 2147483648; +pub const XCHAL_PS_VALIDMASK: u32 = 462655; +pub const XCHAL_PS_INTLEVEL_BITS: u32 = 4; +pub const XCHAL_PS_INTLEVEL_NUM: u32 = 16; +pub const XCHAL_PS_INTLEVEL_SHIFT: u32 = 0; +pub const XCHAL_PS_INTLEVEL_MASK: u32 = 15; +pub const XCHAL_PS_EXCM_BITS: u32 = 1; +pub const XCHAL_PS_EXCM_NUM: u32 = 2; +pub const XCHAL_PS_EXCM_SHIFT: u32 = 4; +pub const XCHAL_PS_EXCM_MASK: u32 = 16; +pub const XCHAL_PS_UM_BITS: u32 = 1; +pub const XCHAL_PS_UM_NUM: u32 = 2; +pub const XCHAL_PS_UM_SHIFT: u32 = 5; +pub const XCHAL_PS_UM_MASK: u32 = 32; +pub const XCHAL_PS_RING_BITS: u32 = 2; +pub const XCHAL_PS_RING_NUM: u32 = 4; +pub const XCHAL_PS_RING_SHIFT: u32 = 6; +pub const XCHAL_PS_RING_MASK: u32 = 192; +pub const XCHAL_PS_OWB_BITS: u32 = 4; +pub const XCHAL_PS_OWB_NUM: u32 = 16; +pub const XCHAL_PS_OWB_SHIFT: u32 = 8; +pub const XCHAL_PS_OWB_MASK: u32 = 3840; +pub const XCHAL_PS_CALLINC_BITS: u32 = 2; +pub const XCHAL_PS_CALLINC_NUM: u32 = 4; +pub const XCHAL_PS_CALLINC_SHIFT: u32 = 16; +pub const XCHAL_PS_CALLINC_MASK: u32 = 196608; +pub const XCHAL_PS_WOE_BITS: u32 = 1; +pub const XCHAL_PS_WOE_NUM: u32 = 2; +pub const XCHAL_PS_WOE_SHIFT: u32 = 18; +pub const XCHAL_PS_WOE_MASK: u32 = 262144; +pub const XCHAL_EXCCAUSE_VALIDMASK: u32 = 63; +pub const XCHAL_EXCCAUSE_BITS: u32 = 6; +pub const XCHAL_EXCCAUSE_NUM: u32 = 64; +pub const XCHAL_EXCCAUSE_SHIFT: u32 = 0; +pub const XCHAL_EXCCAUSE_MASK: u32 = 63; +pub const XCHAL_DEBUGCAUSE_VALIDMASK: u32 = 63; +pub const XCHAL_DEBUGCAUSE_ICOUNT_BITS: u32 = 1; +pub const XCHAL_DEBUGCAUSE_ICOUNT_NUM: u32 = 2; +pub const XCHAL_DEBUGCAUSE_ICOUNT_SHIFT: u32 = 0; +pub const XCHAL_DEBUGCAUSE_ICOUNT_MASK: u32 = 1; +pub const XCHAL_DEBUGCAUSE_IBREAK_BITS: u32 = 1; +pub const XCHAL_DEBUGCAUSE_IBREAK_NUM: u32 = 2; +pub const XCHAL_DEBUGCAUSE_IBREAK_SHIFT: u32 = 1; +pub const XCHAL_DEBUGCAUSE_IBREAK_MASK: u32 = 2; +pub const XCHAL_DEBUGCAUSE_DBREAK_BITS: u32 = 1; +pub const XCHAL_DEBUGCAUSE_DBREAK_NUM: u32 = 2; +pub const XCHAL_DEBUGCAUSE_DBREAK_SHIFT: u32 = 2; +pub const XCHAL_DEBUGCAUSE_DBREAK_MASK: u32 = 4; +pub const XCHAL_DEBUGCAUSE_BREAK_BITS: u32 = 1; +pub const XCHAL_DEBUGCAUSE_BREAK_NUM: u32 = 2; +pub const XCHAL_DEBUGCAUSE_BREAK_SHIFT: u32 = 3; +pub const XCHAL_DEBUGCAUSE_BREAK_MASK: u32 = 8; +pub const XCHAL_DEBUGCAUSE_BREAKN_BITS: u32 = 1; +pub const XCHAL_DEBUGCAUSE_BREAKN_NUM: u32 = 2; +pub const XCHAL_DEBUGCAUSE_BREAKN_SHIFT: u32 = 4; +pub const XCHAL_DEBUGCAUSE_BREAKN_MASK: u32 = 16; +pub const XCHAL_DEBUGCAUSE_DEBUGINT_BITS: u32 = 1; +pub const XCHAL_DEBUGCAUSE_DEBUGINT_NUM: u32 = 2; +pub const XCHAL_DEBUGCAUSE_DEBUGINT_SHIFT: u32 = 5; +pub const XCHAL_DEBUGCAUSE_DEBUGINT_MASK: u32 = 32; +pub const XCHAL_NUM_IROM: u32 = 1; +pub const XCHAL_NUM_IRAM: u32 = 2; +pub const XCHAL_NUM_DROM: u32 = 1; +pub const XCHAL_NUM_DRAM: u32 = 2; +pub const XCHAL_IROM0_VADDR: u32 = 1082130432; +pub const XCHAL_IROM0_PADDR: u32 = 1082130432; +pub const XCHAL_IROM0_SIZE: u32 = 4194304; +pub const XCHAL_IRAM0_VADDR: u32 = 1073741824; +pub const XCHAL_IRAM0_PADDR: u32 = 1073741824; +pub const XCHAL_IRAM0_SIZE: u32 = 4194304; +pub const XCHAL_IRAM1_VADDR: u32 = 1077936128; +pub const XCHAL_IRAM1_PADDR: u32 = 1077936128; +pub const XCHAL_IRAM1_SIZE: u32 = 4194304; +pub const XCHAL_DROM0_VADDR: u32 = 1061158912; +pub const XCHAL_DROM0_PADDR: u32 = 1061158912; +pub const XCHAL_DROM0_SIZE: u32 = 4194304; +pub const XCHAL_DRAM0_VADDR: u32 = 1073217536; +pub const XCHAL_DRAM0_PADDR: u32 = 1073217536; +pub const XCHAL_DRAM0_SIZE: u32 = 524288; +pub const XCHAL_DRAM1_VADDR: u32 = 1065353216; +pub const XCHAL_DRAM1_PADDR: u32 = 1065353216; +pub const XCHAL_DRAM1_SIZE: u32 = 4194304; +pub const XCHAL_CACHE_PREFCTL_DEFAULT: u32 = 4164; +pub const XCHAL_CACHE_LINEWIDTH_MAX: u32 = 2; +pub const XCHAL_CACHE_LINESIZE_MAX: u32 = 4; +pub const XCHAL_ICACHE_SETSIZE: u32 = 1; +pub const XCHAL_DCACHE_SETSIZE: u32 = 1; +pub const XCHAL_CACHE_SETWIDTH_MAX: u32 = 0; +pub const XCHAL_CACHE_SETSIZE_MAX: u32 = 1; +pub const XCHAL_ICACHE_TAG_V_SHIFT: u32 = 0; +pub const XCHAL_ICACHE_TAG_V: u32 = 1; +pub const XCHAL_ICACHE_TAG_F_SHIFT: u32 = 0; +pub const XCHAL_ICACHE_TAG_F: u32 = 0; +pub const XCHAL_ICACHE_TAG_L_SHIFT: u32 = 0; +pub const XCHAL_ICACHE_TAG_L: u32 = 0; +pub const XCHAL_DCACHE_TAG_V_SHIFT: u32 = 0; +pub const XCHAL_DCACHE_TAG_V: u32 = 1; +pub const XCHAL_DCACHE_TAG_F_SHIFT: u32 = 0; +pub const XCHAL_DCACHE_TAG_F: u32 = 0; +pub const XCHAL_DCACHE_TAG_D_SHIFT: u32 = 0; +pub const XCHAL_DCACHE_TAG_D: u32 = 0; +pub const XCHAL_DCACHE_TAG_L_SHIFT: u32 = 0; +pub const XCHAL_DCACHE_TAG_L: u32 = 0; +pub const XCHAL_CACHE_MEMCTL_DEFAULT: u32 = 0; +pub const _MEMCTL_SNOOP_EN: u32 = 0; +pub const _MEMCTL_L0IBUF_EN: u32 = 1; +pub const XCHAL_SNOOP_LB_MEMCTL_DEFAULT: u32 = 1; +pub const XCHAL_ALIGN_MAX: u32 = 4; +pub const XCHAL_HW_RELEASE_MAJOR: u32 = 2600; +pub const XCHAL_HW_RELEASE_MINOR: u32 = 3; +pub const XCHAL_HW_RELEASE_NAME: &'static [u8; 8usize] = b"LX6.0.3\0"; +pub const XCHAL_EXTRA_SA_SIZE: u32 = 48; +pub const XCHAL_EXTRA_SA_ALIGN: u32 = 4; +pub const XCHAL_CPEXTRA_SA_SIZE: u32 = 128; +pub const XCHAL_CPEXTRA_SA_ALIGN: u32 = 4; +pub const XCHAL_CP1_NAME: u32 = 0; +pub const XCHAL_CP1_SA_CONTENTS_LIBDB_NUM: u32 = 0; +pub const XCHAL_CP2_NAME: u32 = 0; +pub const XCHAL_CP2_SA_CONTENTS_LIBDB_NUM: u32 = 0; +pub const XCHAL_CP3_NAME: u32 = 0; +pub const XCHAL_CP3_SA_CONTENTS_LIBDB_NUM: u32 = 0; +pub const XCHAL_CP4_NAME: u32 = 0; +pub const XCHAL_CP4_SA_CONTENTS_LIBDB_NUM: u32 = 0; +pub const XCHAL_CP5_NAME: u32 = 0; +pub const XCHAL_CP5_SA_CONTENTS_LIBDB_NUM: u32 = 0; +pub const XCHAL_CP6_NAME: u32 = 0; +pub const XCHAL_CP6_SA_CONTENTS_LIBDB_NUM: u32 = 0; +pub const XCHAL_CP7_NAME: u32 = 0; +pub const XCHAL_CP7_SA_CONTENTS_LIBDB_NUM: u32 = 0; +pub const XCHAL_CPEXTRA_SA_SIZE_TOR2: u32 = 128; +pub const XCHAL_INST_ILLN: u32 = 61549; +pub const XCHAL_INST_ILLN_BYTE0: u32 = 109; +pub const XCHAL_INST_ILLN_BYTE1: u32 = 240; +pub const XTHAL_INST_ILL: u32 = 0; +pub const XCHAL_ERRATUM_453: u32 = 0; +pub const XCHAL_ERRATUM_497: u32 = 0; +pub const XCHAL_ERRATUM_572: u32 = 1; +pub const CALL0_ABI: u32 = 0; +pub const ALIGNPAD: u32 = 2; +pub const KERNELSTACKSIZE: u32 = 1024; +pub const XT_CP0_SA: u32 = 0; +pub const XT_CPENABLE: u32 = 0; +pub const XT_CPSTORED: u32 = 2; +pub const XT_CP_CS_ST: u32 = 4; +pub const XT_CP_ASA: u32 = 8; +pub const CORE_ID_PRO: u32 = 52685; +pub const CORE_ID_APP: u32 = 43947; +pub const ESP_INTR_FLAG_LEVEL1: u32 = 2; +pub const ESP_INTR_FLAG_LEVEL2: u32 = 4; +pub const ESP_INTR_FLAG_LEVEL3: u32 = 8; +pub const ESP_INTR_FLAG_LEVEL4: u32 = 16; +pub const ESP_INTR_FLAG_LEVEL5: u32 = 32; +pub const ESP_INTR_FLAG_LEVEL6: u32 = 64; +pub const ESP_INTR_FLAG_NMI: u32 = 128; +pub const ESP_INTR_FLAG_SHARED: u32 = 256; +pub const ESP_INTR_FLAG_EDGE: u32 = 512; +pub const ESP_INTR_FLAG_IRAM: u32 = 1024; +pub const ESP_INTR_FLAG_INTRDISABLED: u32 = 2048; +pub const ESP_INTR_FLAG_LOWMED: u32 = 14; +pub const ESP_INTR_FLAG_HIGH: u32 = 240; +pub const ESP_INTR_FLAG_LEVELMASK: u32 = 254; +pub const ETS_INTERNAL_TIMER0_INTR_SOURCE: i32 = -1; +pub const ETS_INTERNAL_TIMER1_INTR_SOURCE: i32 = -2; +pub const ETS_INTERNAL_TIMER2_INTR_SOURCE: i32 = -3; +pub const ETS_INTERNAL_SW0_INTR_SOURCE: i32 = -4; +pub const ETS_INTERNAL_SW1_INTR_SOURCE: i32 = -5; +pub const ETS_INTERNAL_PROFILING_INTR_SOURCE: i32 = -6; +pub const ETS_INTERNAL_INTR_SOURCE_OFF: u32 = 6; +pub const CONFIG_IDF_TARGET_ESP32: u32 = 1; +pub const CONFIG_IDF_TARGET: &'static [u8; 6usize] = b"esp32\0"; +pub const CONFIG_IDF_FIRMWARE_CHIP_ID: u32 = 0; +pub const CONFIG_SDK_TOOLPREFIX: &'static [u8; 18usize] = b"xtensa-esp32-elf-\0"; +pub const CONFIG_SDK_PYTHON: &'static [u8; 7usize] = b"python\0"; +pub const CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES: u32 = 1; +pub const CONFIG_APP_COMPILE_TIME_DATE: u32 = 1; +pub const CONFIG_BOOTLOADER_LOG_LEVEL_INFO: u32 = 1; +pub const CONFIG_BOOTLOADER_LOG_LEVEL: u32 = 3; +pub const CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V: u32 = 1; +pub const CONFIG_BOOTLOADER_WDT_ENABLE: u32 = 1; +pub const CONFIG_BOOTLOADER_WDT_TIME_MS: u32 = 9000; +pub const CONFIG_ESPTOOLPY_PORT: &'static [u8; 13usize] = b"/dev/ttyUSB0\0"; +pub const CONFIG_ESPTOOLPY_BAUD_115200B: u32 = 1; +pub const CONFIG_ESPTOOLPY_BAUD_OTHER_VAL: u32 = 115200; +pub const CONFIG_ESPTOOLPY_BAUD: u32 = 115200; +pub const CONFIG_ESPTOOLPY_COMPRESSED: u32 = 1; +pub const CONFIG_ESPTOOLPY_FLASHMODE_DIO: u32 = 1; +pub const CONFIG_ESPTOOLPY_FLASHMODE: &'static [u8; 4usize] = b"dio\0"; +pub const CONFIG_ESPTOOLPY_FLASHFREQ_40M: u32 = 1; +pub const CONFIG_ESPTOOLPY_FLASHFREQ: &'static [u8; 4usize] = b"40m\0"; +pub const CONFIG_ESPTOOLPY_FLASHSIZE_2MB: u32 = 1; +pub const CONFIG_ESPTOOLPY_FLASHSIZE: &'static [u8; 4usize] = b"2MB\0"; +pub const CONFIG_ESPTOOLPY_FLASHSIZE_DETECT: u32 = 1; +pub const CONFIG_ESPTOOLPY_BEFORE_RESET: u32 = 1; +pub const CONFIG_ESPTOOLPY_BEFORE: &'static [u8; 14usize] = b"default_reset\0"; +pub const CONFIG_ESPTOOLPY_AFTER_RESET: u32 = 1; +pub const CONFIG_ESPTOOLPY_AFTER: &'static [u8; 11usize] = b"hard_reset\0"; +pub const CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B: u32 = 1; +pub const CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL: u32 = 115200; +pub const CONFIG_ESPTOOLPY_MONITOR_BAUD: u32 = 115200; +pub const CONFIG_PARTITION_TABLE_SINGLE_APP: u32 = 1; +pub const CONFIG_PARTITION_TABLE_CUSTOM_FILENAME: &'static [u8; 15usize] = b"partitions.csv\0"; +pub const CONFIG_PARTITION_TABLE_FILENAME: &'static [u8; 25usize] = b"partitions_singleapp.csv\0"; +pub const CONFIG_PARTITION_TABLE_OFFSET: u32 = 32768; +pub const CONFIG_PARTITION_TABLE_MD5: u32 = 1; +pub const CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG: u32 = 1; +pub const CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE: u32 = 1; +pub const CONFIG_COMPILER_STACK_CHECK_MODE_NONE: u32 = 1; +pub const CONFIG_ESP32_APPTRACE_DEST_NONE: u32 = 1; +pub const CONFIG_ESP32_APPTRACE_LOCK_ENABLE: u32 = 1; +pub const CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF: u32 = 0; +pub const CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF: u32 = 0; +pub const CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF: u32 = 0; +pub const CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF: u32 = 0; +pub const CONFIG_BTDM_CTRL_PINNED_TO_CORE: u32 = 0; +pub const CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF: u32 = 1; +pub const CONFIG_BT_RESERVE_DRAM: u32 = 0; +pub const CONFIG_ADC_DISABLE_DAC: u32 = 1; +pub const CONFIG_SPI_MASTER_ISR_IN_IRAM: u32 = 1; +pub const CONFIG_SPI_SLAVE_ISR_IN_IRAM: u32 = 1; +pub const CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4: u32 = 1; +pub const CONFIG_EFUSE_MAX_BLK_LEN: u32 = 192; +pub const CONFIG_ESP32_REV_MIN_0: u32 = 1; +pub const CONFIG_ESP32_REV_MIN: u32 = 0; +pub const CONFIG_ESP32_DPORT_WORKAROUND: u32 = 1; +pub const CONFIG_ESP32_DEFAULT_CPU_FREQ_160: u32 = 1; +pub const CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ: u32 = 160; +pub const CONFIG_ESP32_TRACEMEM_RESERVE_DRAM: u32 = 0; +pub const CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR: u32 = 1; +pub const CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES: u32 = 4; +pub const CONFIG_ESP32_ULP_COPROC_RESERVE_MEM: u32 = 0; +pub const CONFIG_ESP32_PANIC_PRINT_REBOOT: u32 = 1; +pub const CONFIG_ESP32_DEBUG_OCDAWARE: u32 = 1; +pub const CONFIG_ESP32_DEBUG_STUBS_ENABLE: u32 = 1; +pub const CONFIG_ESP32_BROWNOUT_DET: u32 = 1; +pub const CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0: u32 = 1; +pub const CONFIG_ESP32_BROWNOUT_DET_LVL: u32 = 0; +pub const CONFIG_ESP32_REDUCE_PHY_TX_POWER: u32 = 1; +pub const CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1: u32 = 1; +pub const CONFIG_ESP32_RTC_CLK_SRC_INT_RC: u32 = 1; +pub const CONFIG_ESP32_RTC_CLK_CAL_CYCLES: u32 = 1024; +pub const CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY: u32 = 2000; +pub const CONFIG_ESP32_XTAL_FREQ_40: u32 = 1; +pub const CONFIG_ESP32_XTAL_FREQ: u32 = 40; +pub const CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL: u32 = 5; +pub const CONFIG_ADC_CAL_EFUSE_TP_ENABLE: u32 = 1; +pub const CONFIG_ADC_CAL_EFUSE_VREF_ENABLE: u32 = 1; +pub const CONFIG_ADC_CAL_LUT_ENABLE: u32 = 1; +pub const CONFIG_ESP_ERR_TO_NAME_LOOKUP: u32 = 1; +pub const CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE: u32 = 32; +pub const CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE: u32 = 2304; +pub const CONFIG_ESP_MAIN_TASK_STACK_SIZE: u32 = 3584; +pub const CONFIG_ESP_IPC_TASK_STACK_SIZE: u32 = 1024; +pub const CONFIG_ESP_TIMER_TASK_STACK_SIZE: u32 = 3584; +pub const CONFIG_ESP_CONSOLE_UART_DEFAULT: u32 = 1; +pub const CONFIG_ESP_CONSOLE_UART_NUM: u32 = 0; +pub const CONFIG_ESP_CONSOLE_UART_BAUDRATE: u32 = 115200; +pub const CONFIG_ESP_INT_WDT: u32 = 1; +pub const CONFIG_ESP_INT_WDT_TIMEOUT_MS: u32 = 300; +pub const CONFIG_ESP_INT_WDT_CHECK_CPU1: u32 = 1; +pub const CONFIG_ESP_TASK_WDT: u32 = 1; +pub const CONFIG_ESP_TASK_WDT_TIMEOUT_S: u32 = 5; +pub const CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0: u32 = 1; +pub const CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1: u32 = 1; +pub const CONFIG_ETH_USE_ESP32_EMAC: u32 = 1; +pub const CONFIG_ETH_PHY_INTERFACE_RMII: u32 = 1; +pub const CONFIG_ETH_RMII_CLK_INPUT: u32 = 1; +pub const CONFIG_ETH_RMII_CLK_IN_GPIO: u32 = 0; +pub const CONFIG_ETH_SMI_MDC_GPIO: u32 = 23; +pub const CONFIG_ETH_SMI_MDIO_GPIO: u32 = 18; +pub const CONFIG_ETH_PHY_USE_RST: u32 = 1; +pub const CONFIG_ETH_PHY_RST_GPIO: u32 = 5; +pub const CONFIG_ETH_DMA_BUFFER_SIZE: u32 = 512; +pub const CONFIG_ETH_DMA_RX_BUFFER_NUM: u32 = 10; +pub const CONFIG_ETH_DMA_TX_BUFFER_NUM: u32 = 10; +pub const CONFIG_ETH_USE_SPI_ETHERNET: u32 = 1; +pub const CONFIG_ETH_SPI_ETHERNET_DM9051: u32 = 1; +pub const CONFIG_ETH_DM9051_INT_GPIO: u32 = 4; +pub const CONFIG_ESP_EVENT_POST_FROM_ISR: u32 = 1; +pub const CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR: u32 = 1; +pub const CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS: u32 = 1; +pub const CONFIG_HTTPD_MAX_REQ_HDR_LEN: u32 = 512; +pub const CONFIG_HTTPD_MAX_URI_LEN: u32 = 512; +pub const CONFIG_HTTPD_ERR_RESP_NO_DELAY: u32 = 1; +pub const CONFIG_HTTPD_PURGE_BUF_LEN: u32 = 32; +pub const CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM: u32 = 10; +pub const CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM: u32 = 32; +pub const CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER: u32 = 1; +pub const CONFIG_ESP32_WIFI_TX_BUFFER_TYPE: u32 = 1; +pub const CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM: u32 = 32; +pub const CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED: u32 = 1; +pub const CONFIG_ESP32_WIFI_TX_BA_WIN: u32 = 6; +pub const CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED: u32 = 1; +pub const CONFIG_ESP32_WIFI_RX_BA_WIN: u32 = 6; +pub const CONFIG_ESP32_WIFI_NVS_ENABLED: u32 = 1; +pub const CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0: u32 = 1; +pub const CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN: u32 = 752; +pub const CONFIG_ESP32_WIFI_MGMT_SBUF_NUM: u32 = 32; +pub const CONFIG_ESP32_WIFI_IRAM_OPT: u32 = 1; +pub const CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE: u32 = 1; +pub const CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER: u32 = 20; +pub const CONFIG_ESP32_PHY_MAX_TX_POWER: u32 = 20; +pub const CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE: u32 = 1; +pub const CONFIG_FATFS_CODEPAGE_437: u32 = 1; +pub const CONFIG_FATFS_CODEPAGE: u32 = 437; +pub const CONFIG_FATFS_LFN_NONE: u32 = 1; +pub const CONFIG_FATFS_FS_LOCK: u32 = 0; +pub const CONFIG_FATFS_TIMEOUT_MS: u32 = 10000; +pub const CONFIG_FATFS_PER_FILE_CACHE: u32 = 1; +pub const CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND: u32 = 150; +pub const CONFIG_FMB_MASTER_DELAY_MS_CONVERT: u32 = 200; +pub const CONFIG_FMB_QUEUE_LENGTH: u32 = 20; +pub const CONFIG_FMB_SERIAL_TASK_STACK_SIZE: u32 = 2048; +pub const CONFIG_FMB_SERIAL_BUF_SIZE: u32 = 256; +pub const CONFIG_FMB_SERIAL_TASK_PRIO: u32 = 10; +pub const CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT: u32 = 20; +pub const CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE: u32 = 20; +pub const CONFIG_FMB_CONTROLLER_STACK_SIZE: u32 = 4096; +pub const CONFIG_FMB_EVENT_QUEUE_TIMEOUT: u32 = 20; +pub const CONFIG_FMB_TIMER_PORT_ENABLED: u32 = 1; +pub const CONFIG_FMB_TIMER_GROUP: u32 = 0; +pub const CONFIG_FMB_TIMER_INDEX: u32 = 0; +pub const CONFIG_FREERTOS_NO_AFFINITY: u32 = 2147483647; +pub const CONFIG_FREERTOS_CORETIMER_0: u32 = 1; +pub const CONFIG_FREERTOS_HZ: u32 = 100; +pub const CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION: u32 = 1; +pub const CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY: u32 = 1; +pub const CONFIG_FREERTOS_INTERRUPT_BACKTRACE: u32 = 1; +pub const CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS: u32 = 1; +pub const CONFIG_FREERTOS_ASSERT_FAIL_ABORT: u32 = 1; +pub const CONFIG_FREERTOS_IDLE_TASK_STACKSIZE: u32 = 1536; +pub const CONFIG_FREERTOS_ISR_STACKSIZE: u32 = 1536; +pub const CONFIG_FREERTOS_MAX_TASK_NAME_LEN: u32 = 16; +pub const CONFIG_FREERTOS_TIMER_TASK_PRIORITY: u32 = 1; +pub const CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH: u32 = 2048; +pub const CONFIG_FREERTOS_TIMER_QUEUE_LENGTH: u32 = 10; +pub const CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE: u32 = 0; +pub const CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER: u32 = 1; +pub const CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER: u32 = 1; +pub const CONFIG_HEAP_POISONING_DISABLED: u32 = 1; +pub const CONFIG_HEAP_TRACING_OFF: u32 = 1; +pub const CONFIG_LIBSODIUM_USE_MBEDTLS_SHA: u32 = 1; +pub const CONFIG_LOG_DEFAULT_LEVEL_INFO: u32 = 1; +pub const CONFIG_LOG_DEFAULT_LEVEL: u32 = 3; +pub const CONFIG_LOG_COLORS: u32 = 1; +pub const CONFIG_LWIP_LOCAL_HOSTNAME: &'static [u8; 10usize] = b"espressif\0"; +pub const CONFIG_LWIP_TIMERS_ONDEMAND: u32 = 1; +pub const CONFIG_LWIP_MAX_SOCKETS: u32 = 10; +pub const CONFIG_LWIP_SO_REUSE: u32 = 1; +pub const CONFIG_LWIP_SO_REUSE_RXTOALL: u32 = 1; +pub const CONFIG_LWIP_ESP_GRATUITOUS_ARP: u32 = 1; +pub const CONFIG_LWIP_GARP_TMR_INTERVAL: u32 = 60; +pub const CONFIG_LWIP_TCPIP_RECVMBOX_SIZE: u32 = 32; +pub const CONFIG_LWIP_DHCP_DOES_ARP_CHECK: u32 = 1; +pub const CONFIG_LWIP_DHCPS_LEASE_UNIT: u32 = 60; +pub const CONFIG_LWIP_DHCPS_MAX_STATION_NUM: u32 = 8; +pub const CONFIG_LWIP_NETIF_LOOPBACK: u32 = 1; +pub const CONFIG_LWIP_LOOPBACK_MAX_PBUFS: u32 = 8; +pub const CONFIG_LWIP_MAX_ACTIVE_TCP: u32 = 16; +pub const CONFIG_LWIP_MAX_LISTENING_TCP: u32 = 16; +pub const CONFIG_LWIP_TCP_MAXRTX: u32 = 12; +pub const CONFIG_LWIP_TCP_SYNMAXRTX: u32 = 6; +pub const CONFIG_LWIP_TCP_MSS: u32 = 1436; +pub const CONFIG_LWIP_TCP_MSL: u32 = 60000; +pub const CONFIG_LWIP_TCP_SND_BUF_DEFAULT: u32 = 5744; +pub const CONFIG_LWIP_TCP_WND_DEFAULT: u32 = 5744; +pub const CONFIG_LWIP_TCP_RECVMBOX_SIZE: u32 = 6; +pub const CONFIG_LWIP_TCP_QUEUE_OOSEQ: u32 = 1; +pub const CONFIG_LWIP_TCP_OVERSIZE_MSS: u32 = 1; +pub const CONFIG_LWIP_MAX_UDP_PCBS: u32 = 16; +pub const CONFIG_LWIP_UDP_RECVMBOX_SIZE: u32 = 6; +pub const CONFIG_LWIP_TCPIP_TASK_STACK_SIZE: u32 = 3072; +pub const CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY: u32 = 1; +pub const CONFIG_LWIP_TCPIP_TASK_AFFINITY: u32 = 2147483647; +pub const CONFIG_LWIP_MAX_RAW_PCBS: u32 = 16; +pub const CONFIG_LWIP_DHCP_MAX_NTP_SERVERS: u32 = 1; +pub const CONFIG_LWIP_SNTP_UPDATE_DELAY: u32 = 3600000; +pub const CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC: u32 = 1; +pub const CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN: u32 = 16384; +pub const CONFIG_MBEDTLS_HARDWARE_AES: u32 = 1; +pub const CONFIG_MBEDTLS_HAVE_TIME: u32 = 1; +pub const CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT: u32 = 1; +pub const CONFIG_MBEDTLS_TLS_SERVER: u32 = 1; +pub const CONFIG_MBEDTLS_TLS_CLIENT: u32 = 1; +pub const CONFIG_MBEDTLS_TLS_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_KEY_EXCHANGE_RSA: u32 = 1; +pub const CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA: u32 = 1; +pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE: u32 = 1; +pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: u32 = 1; +pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: u32 = 1; +pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: u32 = 1; +pub const CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA: u32 = 1; +pub const CONFIG_MBEDTLS_SSL_RENEGOTIATION: u32 = 1; +pub const CONFIG_MBEDTLS_SSL_PROTO_TLS1: u32 = 1; +pub const CONFIG_MBEDTLS_SSL_PROTO_TLS1_1: u32 = 1; +pub const CONFIG_MBEDTLS_SSL_PROTO_TLS1_2: u32 = 1; +pub const CONFIG_MBEDTLS_SSL_ALPN: u32 = 1; +pub const CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS: u32 = 1; +pub const CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS: u32 = 1; +pub const CONFIG_MBEDTLS_AES_C: u32 = 1; +pub const CONFIG_MBEDTLS_RC4_DISABLED: u32 = 1; +pub const CONFIG_MBEDTLS_CCM_C: u32 = 1; +pub const CONFIG_MBEDTLS_GCM_C: u32 = 1; +pub const CONFIG_MBEDTLS_PEM_PARSE_C: u32 = 1; +pub const CONFIG_MBEDTLS_PEM_WRITE_C: u32 = 1; +pub const CONFIG_MBEDTLS_X509_CRL_PARSE_C: u32 = 1; +pub const CONFIG_MBEDTLS_X509_CSR_PARSE_C: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_C: u32 = 1; +pub const CONFIG_MBEDTLS_ECDH_C: u32 = 1; +pub const CONFIG_MBEDTLS_ECDSA_C: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED: u32 = 1; +pub const CONFIG_MBEDTLS_ECP_NIST_OPTIM: u32 = 1; +pub const CONFIG_MDNS_MAX_SERVICES: u32 = 10; +pub const CONFIG_MQTT_PROTOCOL_311: u32 = 1; +pub const CONFIG_MQTT_TRANSPORT_SSL: u32 = 1; +pub const CONFIG_MQTT_TRANSPORT_WEBSOCKET: u32 = 1; +pub const CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE: u32 = 1; +pub const CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF: u32 = 1; +pub const CONFIG_NEWLIB_STDIN_LINE_ENDING_CR: u32 = 1; +pub const CONFIG_OPENSSL_ASSERT_DO_NOTHING: u32 = 1; +pub const CONFIG_PTHREAD_TASK_PRIO_DEFAULT: u32 = 5; +pub const CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT: u32 = 3072; +pub const CONFIG_PTHREAD_STACK_MIN: u32 = 768; +pub const CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY: u32 = 1; +pub const CONFIG_PTHREAD_TASK_CORE_DEFAULT: i32 = -1; +pub const CONFIG_PTHREAD_TASK_NAME_DEFAULT: &'static [u8; 8usize] = b"pthread\0"; +pub const CONFIG_SPI_FLASH_ROM_DRIVER_PATCH: u32 = 1; +pub const CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS: u32 = 1; +pub const CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP: u32 = 1; +pub const CONFIG_SPIFFS_MAX_PARTITIONS: u32 = 3; +pub const CONFIG_SPIFFS_CACHE: u32 = 1; +pub const CONFIG_SPIFFS_CACHE_WR: u32 = 1; +pub const CONFIG_SPIFFS_PAGE_CHECK: u32 = 1; +pub const CONFIG_SPIFFS_GC_MAX_RUNS: u32 = 10; +pub const CONFIG_SPIFFS_PAGE_SIZE: u32 = 256; +pub const CONFIG_SPIFFS_OBJ_NAME_LEN: u32 = 32; +pub const CONFIG_SPIFFS_USE_MAGIC: u32 = 1; +pub const CONFIG_SPIFFS_USE_MAGIC_LENGTH: u32 = 1; +pub const CONFIG_SPIFFS_META_LENGTH: u32 = 4; +pub const CONFIG_SPIFFS_USE_MTIME: u32 = 1; +pub const CONFIG_NETIF_IP_LOST_TIMER_INTERVAL: u32 = 120; +pub const CONFIG_TCPIP_LWIP: u32 = 1; +pub const CONFIG_UNITY_ENABLE_FLOAT: u32 = 1; +pub const CONFIG_UNITY_ENABLE_DOUBLE: u32 = 1; +pub const CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER: u32 = 1; +pub const CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT: u32 = 1; +pub const CONFIG_VFS_SUPPORT_TERMIOS: u32 = 1; +pub const CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS: u32 = 1; +pub const CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN: u32 = 128; +pub const CONFIG_WL_SECTOR_SIZE_4096: u32 = 1; +pub const CONFIG_WL_SECTOR_SIZE: u32 = 4096; +pub const CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES: u32 = 16; +pub const CONFIG_WPA_MBEDTLS_CRYPTO: u32 = 1; +pub const CONFIG_ADC2_DISABLE_DAC: u32 = 1; +pub const CONFIG_BROWNOUT_DET: u32 = 1; +pub const CONFIG_BROWNOUT_DET_LVL: u32 = 0; +pub const CONFIG_BROWNOUT_DET_LVL_SEL_0: u32 = 1; +pub const CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF: u32 = 0; +pub const CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF: u32 = 0; +pub const CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF: u32 = 0; +pub const CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE: u32 = 0; +pub const CONFIG_CONSOLE_UART_BAUDRATE: u32 = 115200; +pub const CONFIG_CONSOLE_UART_DEFAULT: u32 = 1; +pub const CONFIG_CONSOLE_UART_NUM: u32 = 0; +pub const CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY: u32 = 1; +pub const CONFIG_ESP32_PTHREAD_STACK_MIN: u32 = 768; +pub const CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT: i32 = -1; +pub const CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT: &'static [u8; 8usize] = b"pthread\0"; +pub const CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT: u32 = 5; +pub const CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT: u32 = 3072; +pub const CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC: u32 = 1; +pub const CONFIG_ESP_GRATUITOUS_ARP: u32 = 1; +pub const CONFIG_FLASHMODE_DIO: u32 = 1; +pub const CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS: u32 = 1; +pub const CONFIG_GARP_TMR_INTERVAL: u32 = 60; +pub const CONFIG_INT_WDT: u32 = 1; +pub const CONFIG_INT_WDT_CHECK_CPU1: u32 = 1; +pub const CONFIG_INT_WDT_TIMEOUT_MS: u32 = 300; +pub const CONFIG_IPC_TASK_STACK_SIZE: u32 = 1024; +pub const CONFIG_IP_LOST_TIMER_INTERVAL: u32 = 120; +pub const CONFIG_LOG_BOOTLOADER_LEVEL: u32 = 3; +pub const CONFIG_LOG_BOOTLOADER_LEVEL_INFO: u32 = 1; +pub const CONFIG_MAIN_TASK_STACK_SIZE: u32 = 3584; +pub const CONFIG_MAKE_WARN_UNDEFINED_VARIABLES: u32 = 1; +pub const CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE: u32 = 20; +pub const CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT: u32 = 20; +pub const CONFIG_MB_CONTROLLER_STACK_SIZE: u32 = 4096; +pub const CONFIG_MB_EVENT_QUEUE_TIMEOUT: u32 = 20; +pub const CONFIG_MB_MASTER_DELAY_MS_CONVERT: u32 = 200; +pub const CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND: u32 = 150; +pub const CONFIG_MB_QUEUE_LENGTH: u32 = 20; +pub const CONFIG_MB_SERIAL_BUF_SIZE: u32 = 256; +pub const CONFIG_MB_SERIAL_TASK_PRIO: u32 = 10; +pub const CONFIG_MB_SERIAL_TASK_STACK_SIZE: u32 = 2048; +pub const CONFIG_MB_TIMER_GROUP: u32 = 0; +pub const CONFIG_MB_TIMER_INDEX: u32 = 0; +pub const CONFIG_MB_TIMER_PORT_ENABLED: u32 = 1; +pub const CONFIG_MONITOR_BAUD: u32 = 115200; +pub const CONFIG_MONITOR_BAUD_115200B: u32 = 1; +pub const CONFIG_MONITOR_BAUD_OTHER_VAL: u32 = 115200; +pub const CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS: u32 = 4; +pub const CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED: u32 = 1; +pub const CONFIG_OPTIMIZATION_LEVEL_DEBUG: u32 = 1; +pub const CONFIG_POST_EVENTS_FROM_IRAM_ISR: u32 = 1; +pub const CONFIG_POST_EVENTS_FROM_ISR: u32 = 1; +pub const CONFIG_PYTHON: &'static [u8; 7usize] = b"python\0"; +pub const CONFIG_REDUCE_PHY_TX_POWER: u32 = 1; +pub const CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS: u32 = 1; +pub const CONFIG_STACK_CHECK_NONE: u32 = 1; +pub const CONFIG_SUPPORT_TERMIOS: u32 = 1; +pub const CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT: u32 = 1; +pub const CONFIG_SYSTEM_EVENT_QUEUE_SIZE: u32 = 32; +pub const CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE: u32 = 2304; +pub const CONFIG_TASK_WDT: u32 = 1; +pub const CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0: u32 = 1; +pub const CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1: u32 = 1; +pub const CONFIG_TASK_WDT_TIMEOUT_S: u32 = 5; +pub const CONFIG_TCPIP_RECVMBOX_SIZE: u32 = 32; +pub const CONFIG_TCPIP_TASK_AFFINITY: u32 = 2147483647; +pub const CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY: u32 = 1; +pub const CONFIG_TCPIP_TASK_STACK_SIZE: u32 = 3072; +pub const CONFIG_TCP_MAXRTX: u32 = 12; +pub const CONFIG_TCP_MSL: u32 = 60000; +pub const CONFIG_TCP_MSS: u32 = 1436; +pub const CONFIG_TCP_OVERSIZE_MSS: u32 = 1; +pub const CONFIG_TCP_QUEUE_OOSEQ: u32 = 1; +pub const CONFIG_TCP_RECVMBOX_SIZE: u32 = 6; +pub const CONFIG_TCP_SND_BUF_DEFAULT: u32 = 5744; +pub const CONFIG_TCP_SYNMAXRTX: u32 = 6; +pub const CONFIG_TCP_WND_DEFAULT: u32 = 5744; +pub const CONFIG_TIMER_QUEUE_LENGTH: u32 = 10; +pub const CONFIG_TIMER_TASK_PRIORITY: u32 = 1; +pub const CONFIG_TIMER_TASK_STACK_DEPTH: u32 = 2048; +pub const CONFIG_TIMER_TASK_STACK_SIZE: u32 = 3584; +pub const CONFIG_TOOLPREFIX: &'static [u8; 18usize] = b"xtensa-esp32-elf-\0"; +pub const CONFIG_TRACEMEM_RESERVE_DRAM: u32 = 0; +pub const CONFIG_UDP_RECVMBOX_SIZE: u32 = 6; +pub const CONFIG_ULP_COPROC_RESERVE_MEM: u32 = 0; +pub const portNUM_PROCESSORS: u32 = 2; +pub const XT_USE_THREAD_SAFE_CLIB: u32 = 0; +pub const configASSERT_2: u32 = 0; +pub const portUSING_MPU_WRAPPERS: u32 = 0; +pub const configUSE_MUTEX: u32 = 1; +pub const XT_TIMER_INDEX: u32 = 0; +pub const configNUM_THREAD_LOCAL_STORAGE_POINTERS: u32 = 1; +pub const configTHREAD_LOCAL_STORAGE_DELETE_CALLBACKS: u32 = 1; +pub const STK_INTEXC_EXTRA: u32 = 0; +pub const XT_CLIB_CONTEXT_AREA_SIZE: u32 = 0; +pub const XT_USER_SIZE: u32 = 1024; +pub const EXIT_FAILURE: u32 = 1; +pub const EXIT_SUCCESS: u32 = 0; +pub const RAND_MAX: u32 = 2147483647; +pub const MACSTR: &'static [u8; 30usize] = b"%02x:%02x:%02x:%02x:%02x:%02x\0"; +pub const configUSE_PREEMPTION: u32 = 1; +pub const configUSE_IDLE_HOOK: u32 = 1; +pub const configUSE_TICK_HOOK: u32 = 1; +pub const configTICK_RATE_HZ: u32 = 100; +pub const configMAX_PRIORITIES: u32 = 25; +pub const configMINIMAL_STACK_SIZE: u32 = 768; +pub const configIDLE_TASK_STACK_SIZE: u32 = 1536; +pub const configISR_STACK_SIZE: u32 = 1536; +pub const configAPPLICATION_ALLOCATED_HEAP: u32 = 1; +pub const configMAX_TASK_NAME_LEN: u32 = 16; +pub const configUSE_TRACE_FACILITY_2: u32 = 0; +pub const configBENCHMARK: u32 = 0; +pub const configUSE_16_BIT_TICKS: u32 = 0; +pub const configIDLE_SHOULD_YIELD: u32 = 0; +pub const configQUEUE_REGISTRY_SIZE: u32 = 0; +pub const configUSE_MUTEXES: u32 = 1; +pub const configUSE_RECURSIVE_MUTEXES: u32 = 1; +pub const configUSE_COUNTING_SEMAPHORES: u32 = 1; +pub const configCHECK_FOR_STACK_OVERFLOW: u32 = 2; +pub const configUSE_CO_ROUTINES: u32 = 0; +pub const configMAX_CO_ROUTINE_PRIORITIES: u32 = 2; +pub const INCLUDE_vTaskPrioritySet: u32 = 1; +pub const INCLUDE_uxTaskPriorityGet: u32 = 1; +pub const INCLUDE_vTaskDelete: u32 = 1; +pub const INCLUDE_vTaskCleanUpResources: u32 = 0; +pub const INCLUDE_vTaskSuspend: u32 = 1; +pub const INCLUDE_vTaskDelayUntil: u32 = 1; +pub const INCLUDE_vTaskDelay: u32 = 1; +pub const INCLUDE_uxTaskGetStackHighWaterMark: u32 = 1; +pub const INCLUDE_pcTaskGetTaskName: u32 = 1; +pub const INCLUDE_xTaskGetIdleTaskHandle: u32 = 1; +pub const INCLUDE_pxTaskGetStackStart: u32 = 1; +pub const INCLUDE_xSemaphoreGetMutexHolder: u32 = 1; +pub const configKERNEL_INTERRUPT_PRIORITY: u32 = 1; +pub const configMAX_SYSCALL_INTERRUPT_PRIORITY: u32 = 3; +pub const configUSE_NEWLIB_REENTRANT: u32 = 1; +pub const configSUPPORT_DYNAMIC_ALLOCATION: u32 = 1; +pub const configUSE_TIMERS: u32 = 1; +pub const configTIMER_TASK_PRIORITY: u32 = 1; +pub const configTIMER_QUEUE_LENGTH: u32 = 10; +pub const configTIMER_TASK_STACK_DEPTH: u32 = 2048; +pub const INCLUDE_xTimerPendFunctionCall: u32 = 1; +pub const INCLUDE_eTaskGetState: u32 = 1; +pub const configUSE_QUEUE_SETS: u32 = 1; +pub const configXT_BOARD: u32 = 1; +pub const configXT_SIMULATOR: u32 = 0; +pub const configENABLE_TASK_SNAPSHOT: u32 = 1; +pub const configCHECK_MUTEX_GIVEN_BY_OWNER: u32 = 1; +pub const errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY: i32 = -1; +pub const errQUEUE_BLOCKED: i32 = -4; +pub const errQUEUE_YIELD: i32 = -5; +pub const configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES: u32 = 0; +pub const pdINTEGRITY_CHECK_VALUE: u32 = 1515870810; +pub const LBEG: u32 = 0; +pub const LEND: u32 = 1; +pub const LCOUNT: u32 = 2; +pub const SAR: u32 = 3; +pub const BR: u32 = 4; +pub const SCOMPARE1: u32 = 12; +pub const ACCLO: u32 = 16; +pub const ACCHI: u32 = 17; +pub const MR_0: u32 = 32; +pub const MR_1: u32 = 33; +pub const MR_2: u32 = 34; +pub const MR_3: u32 = 35; +pub const WINDOWBASE: u32 = 72; +pub const WINDOWSTART: u32 = 73; +pub const IBREAKENABLE: u32 = 96; +pub const MEMCTL: u32 = 97; +pub const ATOMCTL: u32 = 99; +pub const DDR: u32 = 104; +pub const IBREAKA_0: u32 = 128; +pub const IBREAKA_1: u32 = 129; +pub const DBREAKA_0: u32 = 144; +pub const DBREAKA_1: u32 = 145; +pub const DBREAKC_0: u32 = 160; +pub const DBREAKC_1: u32 = 161; +pub const EPC_1: u32 = 177; +pub const EPC_2: u32 = 178; +pub const EPC_3: u32 = 179; +pub const EPC_4: u32 = 180; +pub const EPC_5: u32 = 181; +pub const EPC_6: u32 = 182; +pub const EPC_7: u32 = 183; +pub const DEPC: u32 = 192; +pub const EPS_2: u32 = 194; +pub const EPS_3: u32 = 195; +pub const EPS_4: u32 = 196; +pub const EPS_5: u32 = 197; +pub const EPS_6: u32 = 198; +pub const EPS_7: u32 = 199; +pub const EXCSAVE_1: u32 = 209; +pub const EXCSAVE_2: u32 = 210; +pub const EXCSAVE_3: u32 = 211; +pub const EXCSAVE_4: u32 = 212; +pub const EXCSAVE_5: u32 = 213; +pub const EXCSAVE_6: u32 = 214; +pub const EXCSAVE_7: u32 = 215; +pub const CPENABLE: u32 = 224; +pub const INTERRUPT: u32 = 226; +pub const INTENABLE: u32 = 228; +pub const PS: u32 = 230; +pub const VECBASE: u32 = 231; +pub const EXCCAUSE: u32 = 232; +pub const DEBUGCAUSE: u32 = 233; +pub const CCOUNT: u32 = 234; +pub const PRID: u32 = 235; +pub const ICOUNT: u32 = 236; +pub const ICOUNTLEVEL: u32 = 237; +pub const EXCVADDR: u32 = 238; +pub const CCOMPARE_0: u32 = 240; +pub const CCOMPARE_1: u32 = 241; +pub const CCOMPARE_2: u32 = 242; +pub const MISC_REG_0: u32 = 244; +pub const MISC_REG_1: u32 = 245; +pub const MISC_REG_2: u32 = 246; +pub const MISC_REG_3: u32 = 247; +pub const MR: u32 = 32; +pub const IBREAKA: u32 = 128; +pub const DBREAKA: u32 = 144; +pub const DBREAKC: u32 = 160; +pub const EPC: u32 = 176; +pub const EPS: u32 = 192; +pub const EXCSAVE: u32 = 208; +pub const CCOMPARE: u32 = 240; +pub const INTREAD: u32 = 226; +pub const INTSET: u32 = 226; +pub const INTCLEAR: u32 = 227; +pub const CORE_STATE_SIGNATURE: u32 = 2982522861; +pub const XTOS_KEEPON_MEM: u32 = 256; +pub const XTOS_KEEPON_MEM_SHIFT: u32 = 8; +pub const XTOS_KEEPON_DEBUG: u32 = 4096; +pub const XTOS_KEEPON_DEBUG_SHIFT: u32 = 12; +pub const XTOS_COREF_PSO: u32 = 1; +pub const XTOS_COREF_PSO_SHIFT: u32 = 0; +pub const MALLOC_CAP_EXEC: u32 = 1; +pub const MALLOC_CAP_32BIT: u32 = 2; +pub const MALLOC_CAP_8BIT: u32 = 4; +pub const MALLOC_CAP_DMA: u32 = 8; +pub const MALLOC_CAP_PID2: u32 = 16; +pub const MALLOC_CAP_PID3: u32 = 32; +pub const MALLOC_CAP_PID4: u32 = 64; +pub const MALLOC_CAP_PID5: u32 = 128; +pub const MALLOC_CAP_PID6: u32 = 256; +pub const MALLOC_CAP_PID7: u32 = 512; +pub const MALLOC_CAP_SPIRAM: u32 = 1024; +pub const MALLOC_CAP_INTERNAL: u32 = 2048; +pub const MALLOC_CAP_DEFAULT: u32 = 4096; +pub const MALLOC_CAP_INVALID: u32 = 2147483648; +pub const portMUX_FREE_VAL: u32 = 3007315967; +pub const portMUX_NO_TIMEOUT: i32 = -1; +pub const portMUX_TRY_LOCK: u32 = 0; +pub const portCRITICAL_NESTING_IN_TCB: u32 = 1; +pub const portTcbMemoryCaps: u32 = 2052; +pub const portStackMemoryCaps: u32 = 2052; +pub const portSTACK_GROWTH: i32 = -1; +pub const portBYTE_ALIGNMENT: u32 = 4; +pub const portBYTE_ALIGNMENT_MASK: u32 = 3; +pub const portNUM_CONFIGURABLE_REGIONS: u32 = 1; +pub const ESP_IDF_VERSION_MAJOR: u32 = 4; +pub const ESP_IDF_VERSION_MINOR: u32 = 0; +pub const ESP_IDF_VERSION_PATCH: u32 = 0; +pub const TWO_UNIVERSAL_MAC_ADDR: u32 = 2; +pub const FOUR_UNIVERSAL_MAC_ADDR: u32 = 4; +pub const UNIVERSAL_MAC_ADDR_NUM: u32 = 4; +pub const INCLUDE_xTimerGetTimerDaemonTaskHandle: u32 = 0; +pub const INCLUDE_xQueueGetMutexHolder: u32 = 0; +pub const configUSE_APPLICATION_TASK_TAG: u32 = 0; +pub const configUSE_ALTERNATIVE_API: u32 = 0; +pub const INCLUDE_xTaskResumeFromISR: u32 = 1; +pub const INCLUDE_xEventGroupSetBitFromISR: u32 = 0; +pub const configASSERT_DEFINED: u32 = 1; +pub const INCLUDE_xTaskGetSchedulerState: u32 = 0; +pub const INCLUDE_xTaskGetCurrentTaskHandle: u32 = 0; +pub const configGENERATE_RUN_TIME_STATS: u32 = 0; +pub const configUSE_MALLOC_FAILED_HOOK: u32 = 0; +pub const configEXPECTED_IDLE_TIME_BEFORE_SLEEP: u32 = 2; +pub const configUSE_TIME_SLICING: u32 = 1; +pub const configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS: u32 = 0; +pub const configUSE_STATS_FORMATTING_FUNCTIONS: u32 = 0; +pub const configTASKLIST_INCLUDE_COREID: u32 = 0; +pub const configUSE_TRACE_FACILITY: u32 = 0; +pub const configUSE_PORT_OPTIMISED_TASK_SELECTION: u32 = 0; +pub const configUSE_TASK_NOTIFICATIONS: u32 = 1; +pub const portTICK_TYPE_IS_ATOMIC: u32 = 0; +pub const configENABLE_BACKWARD_COMPATIBILITY: u32 = 1; +pub const configESP32_PER_TASK_DATA: u32 = 1; +pub const _LIBC_LIMITS_H_: u32 = 1; +pub const MB_LEN_MAX: u32 = 1; +pub const NL_ARGMAX: u32 = 32; +pub const _POSIX2_RE_DUP_MAX: u32 = 255; +pub const ARG_MAX: u32 = 4096; +pub const PATH_MAX: u32 = 1024; +pub const tskKERNEL_VERSION_NUMBER: &'static [u8; 7usize] = b"V8.2.0\0"; +pub const tskKERNEL_VERSION_MAJOR: u32 = 8; +pub const tskKERNEL_VERSION_MINOR: u32 = 2; +pub const tskKERNEL_VERSION_BUILD: u32 = 0; +pub const UART_FIFO_LEN: u32 = 128; +pub const UART_INTR_MASK: u32 = 511; +pub const UART_LINE_INV_MASK: u32 = 33030144; +pub const UART_BITRATE_MAX: u32 = 5000000; +pub const UART_PIN_NO_CHANGE: i32 = -1; +pub const UART_INVERSE_DISABLE: u32 = 0; +pub const GPIO_ID_PIN0: u32 = 0; +pub const GPIO_FUNC_IN_HIGH: u32 = 56; +pub const GPIO_FUNC_IN_LOW: u32 = 48; +pub const GPIO_PIN_COUNT: u32 = 40; +pub const SLP_OE_V: u32 = 1; +pub const SLP_OE_S: u32 = 0; +pub const SLP_SEL_V: u32 = 1; +pub const SLP_SEL_S: u32 = 1; +pub const SLP_PD_V: u32 = 1; +pub const SLP_PD_S: u32 = 2; +pub const SLP_PU_V: u32 = 1; +pub const SLP_PU_S: u32 = 3; +pub const SLP_IE_V: u32 = 1; +pub const SLP_IE_S: u32 = 4; +pub const SLP_DRV: u32 = 3; +pub const SLP_DRV_V: u32 = 3; +pub const SLP_DRV_S: u32 = 5; +pub const FUN_PD_V: u32 = 1; +pub const FUN_PD_S: u32 = 7; +pub const FUN_PU_V: u32 = 1; +pub const FUN_PU_S: u32 = 8; +pub const FUN_IE_V: u32 = 1; +pub const FUN_IE_S: u32 = 9; +pub const FUN_DRV: u32 = 3; +pub const FUN_DRV_V: u32 = 3; +pub const FUN_DRV_S: u32 = 10; +pub const MCU_SEL: u32 = 7; +pub const MCU_SEL_V: u32 = 7; +pub const MCU_SEL_S: u32 = 12; +pub const PIN_FUNC_GPIO: u32 = 2; +pub const PIN_CTRL: u32 = 1072992256; +pub const CLK_OUT3: u32 = 15; +pub const CLK_OUT3_V: u32 = 15; +pub const CLK_OUT3_S: u32 = 8; +pub const CLK_OUT3_M: u32 = 3840; +pub const CLK_OUT2: u32 = 15; +pub const CLK_OUT2_V: u32 = 15; +pub const CLK_OUT2_S: u32 = 4; +pub const CLK_OUT2_M: u32 = 240; +pub const CLK_OUT1: u32 = 15; +pub const CLK_OUT1_V: u32 = 15; +pub const CLK_OUT1_S: u32 = 0; +pub const CLK_OUT1_M: u32 = 15; +pub const PERIPHS_IO_MUX_GPIO0_U: u32 = 1072992324; +pub const IO_MUX_GPIO0_REG: u32 = 1072992324; +pub const FUNC_GPIO0_EMAC_TX_CLK: u32 = 5; +pub const FUNC_GPIO0_GPIO0: u32 = 2; +pub const FUNC_GPIO0_CLK_OUT1: u32 = 1; +pub const FUNC_GPIO0_GPIO0_0: u32 = 0; +pub const PERIPHS_IO_MUX_U0TXD_U: u32 = 1072992392; +pub const IO_MUX_GPIO1_REG: u32 = 1072992392; +pub const FUNC_U0TXD_EMAC_RXD2: u32 = 5; +pub const FUNC_U0TXD_GPIO1: u32 = 2; +pub const FUNC_U0TXD_CLK_OUT3: u32 = 1; +pub const FUNC_U0TXD_U0TXD: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO2_U: u32 = 1072992320; +pub const IO_MUX_GPIO2_REG: u32 = 1072992320; +pub const FUNC_GPIO2_SD_DATA0: u32 = 4; +pub const FUNC_GPIO2_HS2_DATA0: u32 = 3; +pub const FUNC_GPIO2_GPIO2: u32 = 2; +pub const FUNC_GPIO2_HSPIWP: u32 = 1; +pub const FUNC_GPIO2_GPIO2_0: u32 = 0; +pub const PERIPHS_IO_MUX_U0RXD_U: u32 = 1072992388; +pub const IO_MUX_GPIO3_REG: u32 = 1072992388; +pub const FUNC_U0RXD_GPIO3: u32 = 2; +pub const FUNC_U0RXD_CLK_OUT2: u32 = 1; +pub const FUNC_U0RXD_U0RXD: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO4_U: u32 = 1072992328; +pub const IO_MUX_GPIO4_REG: u32 = 1072992328; +pub const FUNC_GPIO4_EMAC_TX_ER: u32 = 5; +pub const FUNC_GPIO4_SD_DATA1: u32 = 4; +pub const FUNC_GPIO4_HS2_DATA1: u32 = 3; +pub const FUNC_GPIO4_GPIO4: u32 = 2; +pub const FUNC_GPIO4_HSPIHD: u32 = 1; +pub const FUNC_GPIO4_GPIO4_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO5_U: u32 = 1072992364; +pub const IO_MUX_GPIO5_REG: u32 = 1072992364; +pub const FUNC_GPIO5_EMAC_RX_CLK: u32 = 5; +pub const FUNC_GPIO5_HS1_DATA6: u32 = 3; +pub const FUNC_GPIO5_GPIO5: u32 = 2; +pub const FUNC_GPIO5_VSPICS0: u32 = 1; +pub const FUNC_GPIO5_GPIO5_0: u32 = 0; +pub const PERIPHS_IO_MUX_SD_CLK_U: u32 = 1072992352; +pub const IO_MUX_GPIO6_REG: u32 = 1072992352; +pub const FUNC_SD_CLK_U1CTS: u32 = 4; +pub const FUNC_SD_CLK_HS1_CLK: u32 = 3; +pub const FUNC_SD_CLK_GPIO6: u32 = 2; +pub const FUNC_SD_CLK_SPICLK: u32 = 1; +pub const FUNC_SD_CLK_SD_CLK: u32 = 0; +pub const PERIPHS_IO_MUX_SD_DATA0_U: u32 = 1072992356; +pub const IO_MUX_GPIO7_REG: u32 = 1072992356; +pub const FUNC_SD_DATA0_U2RTS: u32 = 4; +pub const FUNC_SD_DATA0_HS1_DATA0: u32 = 3; +pub const FUNC_SD_DATA0_GPIO7: u32 = 2; +pub const FUNC_SD_DATA0_SPIQ: u32 = 1; +pub const FUNC_SD_DATA0_SD_DATA0: u32 = 0; +pub const PERIPHS_IO_MUX_SD_DATA1_U: u32 = 1072992360; +pub const IO_MUX_GPIO8_REG: u32 = 1072992360; +pub const FUNC_SD_DATA1_U2CTS: u32 = 4; +pub const FUNC_SD_DATA1_HS1_DATA1: u32 = 3; +pub const FUNC_SD_DATA1_GPIO8: u32 = 2; +pub const FUNC_SD_DATA1_SPID: u32 = 1; +pub const FUNC_SD_DATA1_SD_DATA1: u32 = 0; +pub const PERIPHS_IO_MUX_SD_DATA2_U: u32 = 1072992340; +pub const IO_MUX_GPIO9_REG: u32 = 1072992340; +pub const FUNC_SD_DATA2_U1RXD: u32 = 4; +pub const FUNC_SD_DATA2_HS1_DATA2: u32 = 3; +pub const FUNC_SD_DATA2_GPIO9: u32 = 2; +pub const FUNC_SD_DATA2_SPIHD: u32 = 1; +pub const FUNC_SD_DATA2_SD_DATA2: u32 = 0; +pub const PERIPHS_IO_MUX_SD_DATA3_U: u32 = 1072992344; +pub const IO_MUX_GPIO10_REG: u32 = 1072992344; +pub const FUNC_SD_DATA3_U1TXD: u32 = 4; +pub const FUNC_SD_DATA3_HS1_DATA3: u32 = 3; +pub const FUNC_SD_DATA3_GPIO10: u32 = 2; +pub const FUNC_SD_DATA3_SPIWP: u32 = 1; +pub const FUNC_SD_DATA3_SD_DATA3: u32 = 0; +pub const PERIPHS_IO_MUX_SD_CMD_U: u32 = 1072992348; +pub const IO_MUX_GPIO11_REG: u32 = 1072992348; +pub const FUNC_SD_CMD_U1RTS: u32 = 4; +pub const FUNC_SD_CMD_HS1_CMD: u32 = 3; +pub const FUNC_SD_CMD_GPIO11: u32 = 2; +pub const FUNC_SD_CMD_SPICS0: u32 = 1; +pub const FUNC_SD_CMD_SD_CMD: u32 = 0; +pub const PERIPHS_IO_MUX_MTDI_U: u32 = 1072992308; +pub const IO_MUX_GPIO12_REG: u32 = 1072992308; +pub const FUNC_MTDI_EMAC_TXD3: u32 = 5; +pub const FUNC_MTDI_SD_DATA2: u32 = 4; +pub const FUNC_MTDI_HS2_DATA2: u32 = 3; +pub const FUNC_MTDI_GPIO12: u32 = 2; +pub const FUNC_MTDI_HSPIQ: u32 = 1; +pub const FUNC_MTDI_MTDI: u32 = 0; +pub const PERIPHS_IO_MUX_MTCK_U: u32 = 1072992312; +pub const IO_MUX_GPIO13_REG: u32 = 1072992312; +pub const FUNC_MTCK_EMAC_RX_ER: u32 = 5; +pub const FUNC_MTCK_SD_DATA3: u32 = 4; +pub const FUNC_MTCK_HS2_DATA3: u32 = 3; +pub const FUNC_MTCK_GPIO13: u32 = 2; +pub const FUNC_MTCK_HSPID: u32 = 1; +pub const FUNC_MTCK_MTCK: u32 = 0; +pub const PERIPHS_IO_MUX_MTMS_U: u32 = 1072992304; +pub const IO_MUX_GPIO14_REG: u32 = 1072992304; +pub const FUNC_MTMS_EMAC_TXD2: u32 = 5; +pub const FUNC_MTMS_SD_CLK: u32 = 4; +pub const FUNC_MTMS_HS2_CLK: u32 = 3; +pub const FUNC_MTMS_GPIO14: u32 = 2; +pub const FUNC_MTMS_HSPICLK: u32 = 1; +pub const FUNC_MTMS_MTMS: u32 = 0; +pub const PERIPHS_IO_MUX_MTDO_U: u32 = 1072992316; +pub const IO_MUX_GPIO15_REG: u32 = 1072992316; +pub const FUNC_MTDO_EMAC_RXD3: u32 = 5; +pub const FUNC_MTDO_SD_CMD: u32 = 4; +pub const FUNC_MTDO_HS2_CMD: u32 = 3; +pub const FUNC_MTDO_GPIO15: u32 = 2; +pub const FUNC_MTDO_HSPICS0: u32 = 1; +pub const FUNC_MTDO_MTDO: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO16_U: u32 = 1072992332; +pub const IO_MUX_GPIO16_REG: u32 = 1072992332; +pub const FUNC_GPIO16_EMAC_CLK_OUT: u32 = 5; +pub const FUNC_GPIO16_U2RXD: u32 = 4; +pub const FUNC_GPIO16_HS1_DATA4: u32 = 3; +pub const FUNC_GPIO16_GPIO16: u32 = 2; +pub const FUNC_GPIO16_GPIO16_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO17_U: u32 = 1072992336; +pub const IO_MUX_GPIO17_REG: u32 = 1072992336; +pub const FUNC_GPIO17_EMAC_CLK_OUT_180: u32 = 5; +pub const FUNC_GPIO17_U2TXD: u32 = 4; +pub const FUNC_GPIO17_HS1_DATA5: u32 = 3; +pub const FUNC_GPIO17_GPIO17: u32 = 2; +pub const FUNC_GPIO17_GPIO17_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO18_U: u32 = 1072992368; +pub const IO_MUX_GPIO18_REG: u32 = 1072992368; +pub const FUNC_GPIO18_HS1_DATA7: u32 = 3; +pub const FUNC_GPIO18_GPIO18: u32 = 2; +pub const FUNC_GPIO18_VSPICLK: u32 = 1; +pub const FUNC_GPIO18_GPIO18_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO19_U: u32 = 1072992372; +pub const IO_MUX_GPIO19_REG: u32 = 1072992372; +pub const FUNC_GPIO19_EMAC_TXD0: u32 = 5; +pub const FUNC_GPIO19_U0CTS: u32 = 3; +pub const FUNC_GPIO19_GPIO19: u32 = 2; +pub const FUNC_GPIO19_VSPIQ: u32 = 1; +pub const FUNC_GPIO19_GPIO19_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO20_U: u32 = 1072992376; +pub const IO_MUX_GPIO20_REG: u32 = 1072992376; +pub const FUNC_GPIO20_GPIO20: u32 = 2; +pub const FUNC_GPIO20_GPIO20_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO21_U: u32 = 1072992380; +pub const IO_MUX_GPIO21_REG: u32 = 1072992380; +pub const FUNC_GPIO21_EMAC_TX_EN: u32 = 5; +pub const FUNC_GPIO21_GPIO21: u32 = 2; +pub const FUNC_GPIO21_VSPIHD: u32 = 1; +pub const FUNC_GPIO21_GPIO21_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO22_U: u32 = 1072992384; +pub const IO_MUX_GPIO22_REG: u32 = 1072992384; +pub const FUNC_GPIO22_EMAC_TXD1: u32 = 5; +pub const FUNC_GPIO22_U0RTS: u32 = 3; +pub const FUNC_GPIO22_GPIO22: u32 = 2; +pub const FUNC_GPIO22_VSPIWP: u32 = 1; +pub const FUNC_GPIO22_GPIO22_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO23_U: u32 = 1072992396; +pub const IO_MUX_GPIO23_REG: u32 = 1072992396; +pub const FUNC_GPIO23_HS1_STROBE: u32 = 3; +pub const FUNC_GPIO23_GPIO23: u32 = 2; +pub const FUNC_GPIO23_VSPID: u32 = 1; +pub const FUNC_GPIO23_GPIO23_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO24_U: u32 = 1072992400; +pub const IO_MUX_GPIO24_REG: u32 = 1072992400; +pub const FUNC_GPIO24_GPIO24: u32 = 2; +pub const FUNC_GPIO24_GPIO24_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO25_U: u32 = 1072992292; +pub const IO_MUX_GPIO25_REG: u32 = 1072992292; +pub const FUNC_GPIO25_EMAC_RXD0: u32 = 5; +pub const FUNC_GPIO25_GPIO25: u32 = 2; +pub const FUNC_GPIO25_GPIO25_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO26_U: u32 = 1072992296; +pub const IO_MUX_GPIO26_REG: u32 = 1072992296; +pub const FUNC_GPIO26_EMAC_RXD1: u32 = 5; +pub const FUNC_GPIO26_GPIO26: u32 = 2; +pub const FUNC_GPIO26_GPIO26_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO27_U: u32 = 1072992300; +pub const IO_MUX_GPIO27_REG: u32 = 1072992300; +pub const FUNC_GPIO27_EMAC_RX_DV: u32 = 5; +pub const FUNC_GPIO27_GPIO27: u32 = 2; +pub const FUNC_GPIO27_GPIO27_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO32_U: u32 = 1072992284; +pub const IO_MUX_GPIO32_REG: u32 = 1072992284; +pub const FUNC_GPIO32_GPIO32: u32 = 2; +pub const FUNC_GPIO32_GPIO32_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO33_U: u32 = 1072992288; +pub const IO_MUX_GPIO33_REG: u32 = 1072992288; +pub const FUNC_GPIO33_GPIO33: u32 = 2; +pub const FUNC_GPIO33_GPIO33_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO34_U: u32 = 1072992276; +pub const IO_MUX_GPIO34_REG: u32 = 1072992276; +pub const FUNC_GPIO34_GPIO34: u32 = 2; +pub const FUNC_GPIO34_GPIO34_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO35_U: u32 = 1072992280; +pub const IO_MUX_GPIO35_REG: u32 = 1072992280; +pub const FUNC_GPIO35_GPIO35: u32 = 2; +pub const FUNC_GPIO35_GPIO35_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO36_U: u32 = 1072992260; +pub const IO_MUX_GPIO36_REG: u32 = 1072992260; +pub const FUNC_GPIO36_GPIO36: u32 = 2; +pub const FUNC_GPIO36_GPIO36_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO37_U: u32 = 1072992264; +pub const IO_MUX_GPIO37_REG: u32 = 1072992264; +pub const FUNC_GPIO37_GPIO37: u32 = 2; +pub const FUNC_GPIO37_GPIO37_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO38_U: u32 = 1072992268; +pub const IO_MUX_GPIO38_REG: u32 = 1072992268; +pub const FUNC_GPIO38_GPIO38: u32 = 2; +pub const FUNC_GPIO38_GPIO38_0: u32 = 0; +pub const PERIPHS_IO_MUX_GPIO39_U: u32 = 1072992272; +pub const IO_MUX_GPIO39_REG: u32 = 1072992272; +pub const FUNC_GPIO39_GPIO39: u32 = 2; +pub const FUNC_GPIO39_GPIO39_0: u32 = 0; +pub const GPIO_BT_SELECT_REG: u32 = 1072971776; +pub const GPIO_BT_SEL: u32 = 4294967295; +pub const GPIO_BT_SEL_V: u32 = 4294967295; +pub const GPIO_BT_SEL_S: u32 = 0; +pub const GPIO_OUT_REG: u32 = 1072971780; +pub const GPIO_OUT_DATA: u32 = 4294967295; +pub const GPIO_OUT_DATA_V: u32 = 4294967295; +pub const GPIO_OUT_DATA_S: u32 = 0; +pub const GPIO_OUT_W1TS_REG: u32 = 1072971784; +pub const GPIO_OUT_DATA_W1TS: u32 = 4294967295; +pub const GPIO_OUT_DATA_W1TS_V: u32 = 4294967295; +pub const GPIO_OUT_DATA_W1TS_S: u32 = 0; +pub const GPIO_OUT_W1TC_REG: u32 = 1072971788; +pub const GPIO_OUT_DATA_W1TC: u32 = 4294967295; +pub const GPIO_OUT_DATA_W1TC_V: u32 = 4294967295; +pub const GPIO_OUT_DATA_W1TC_S: u32 = 0; +pub const GPIO_OUT1_REG: u32 = 1072971792; +pub const GPIO_OUT1_DATA: u32 = 255; +pub const GPIO_OUT1_DATA_V: u32 = 255; +pub const GPIO_OUT1_DATA_S: u32 = 0; +pub const GPIO_OUT1_W1TS_REG: u32 = 1072971796; +pub const GPIO_OUT1_DATA_W1TS: u32 = 255; +pub const GPIO_OUT1_DATA_W1TS_V: u32 = 255; +pub const GPIO_OUT1_DATA_W1TS_S: u32 = 0; +pub const GPIO_OUT1_W1TC_REG: u32 = 1072971800; +pub const GPIO_OUT1_DATA_W1TC: u32 = 255; +pub const GPIO_OUT1_DATA_W1TC_V: u32 = 255; +pub const GPIO_OUT1_DATA_W1TC_S: u32 = 0; +pub const GPIO_SDIO_SELECT_REG: u32 = 1072971804; +pub const GPIO_SDIO_SEL: u32 = 255; +pub const GPIO_SDIO_SEL_V: u32 = 255; +pub const GPIO_SDIO_SEL_S: u32 = 0; +pub const GPIO_ENABLE_REG: u32 = 1072971808; +pub const GPIO_ENABLE_DATA: u32 = 4294967295; +pub const GPIO_ENABLE_DATA_V: u32 = 4294967295; +pub const GPIO_ENABLE_DATA_S: u32 = 0; +pub const GPIO_ENABLE_W1TS_REG: u32 = 1072971812; +pub const GPIO_ENABLE_DATA_W1TS: u32 = 4294967295; +pub const GPIO_ENABLE_DATA_W1TS_V: u32 = 4294967295; +pub const GPIO_ENABLE_DATA_W1TS_S: u32 = 0; +pub const GPIO_ENABLE_W1TC_REG: u32 = 1072971816; +pub const GPIO_ENABLE_DATA_W1TC: u32 = 4294967295; +pub const GPIO_ENABLE_DATA_W1TC_V: u32 = 4294967295; +pub const GPIO_ENABLE_DATA_W1TC_S: u32 = 0; +pub const GPIO_ENABLE1_REG: u32 = 1072971820; +pub const GPIO_ENABLE1_DATA: u32 = 255; +pub const GPIO_ENABLE1_DATA_V: u32 = 255; +pub const GPIO_ENABLE1_DATA_S: u32 = 0; +pub const GPIO_ENABLE1_W1TS_REG: u32 = 1072971824; +pub const GPIO_ENABLE1_DATA_W1TS: u32 = 255; +pub const GPIO_ENABLE1_DATA_W1TS_V: u32 = 255; +pub const GPIO_ENABLE1_DATA_W1TS_S: u32 = 0; +pub const GPIO_ENABLE1_W1TC_REG: u32 = 1072971828; +pub const GPIO_ENABLE1_DATA_W1TC: u32 = 255; +pub const GPIO_ENABLE1_DATA_W1TC_V: u32 = 255; +pub const GPIO_ENABLE1_DATA_W1TC_S: u32 = 0; +pub const GPIO_STRAP_REG: u32 = 1072971832; +pub const GPIO_STRAPPING: u32 = 65535; +pub const GPIO_STRAPPING_V: u32 = 65535; +pub const GPIO_STRAPPING_S: u32 = 0; +pub const GPIO_IN_REG: u32 = 1072971836; +pub const GPIO_IN_DATA: u32 = 4294967295; +pub const GPIO_IN_DATA_V: u32 = 4294967295; +pub const GPIO_IN_DATA_S: u32 = 0; +pub const GPIO_IN1_REG: u32 = 1072971840; +pub const GPIO_IN1_DATA: u32 = 255; +pub const GPIO_IN1_DATA_V: u32 = 255; +pub const GPIO_IN1_DATA_S: u32 = 0; +pub const GPIO_STATUS_REG: u32 = 1072971844; +pub const GPIO_STATUS_INT: u32 = 4294967295; +pub const GPIO_STATUS_INT_V: u32 = 4294967295; +pub const GPIO_STATUS_INT_S: u32 = 0; +pub const GPIO_STATUS_W1TS_REG: u32 = 1072971848; +pub const GPIO_STATUS_INT_W1TS: u32 = 4294967295; +pub const GPIO_STATUS_INT_W1TS_V: u32 = 4294967295; +pub const GPIO_STATUS_INT_W1TS_S: u32 = 0; +pub const GPIO_STATUS_W1TC_REG: u32 = 1072971852; +pub const GPIO_STATUS_INT_W1TC: u32 = 4294967295; +pub const GPIO_STATUS_INT_W1TC_V: u32 = 4294967295; +pub const GPIO_STATUS_INT_W1TC_S: u32 = 0; +pub const GPIO_STATUS1_REG: u32 = 1072971856; +pub const GPIO_STATUS1_INT: u32 = 255; +pub const GPIO_STATUS1_INT_V: u32 = 255; +pub const GPIO_STATUS1_INT_S: u32 = 0; +pub const GPIO_STATUS1_W1TS_REG: u32 = 1072971860; +pub const GPIO_STATUS1_INT_W1TS: u32 = 255; +pub const GPIO_STATUS1_INT_W1TS_V: u32 = 255; +pub const GPIO_STATUS1_INT_W1TS_S: u32 = 0; +pub const GPIO_STATUS1_W1TC_REG: u32 = 1072971864; +pub const GPIO_STATUS1_INT_W1TC: u32 = 255; +pub const GPIO_STATUS1_INT_W1TC_V: u32 = 255; +pub const GPIO_STATUS1_INT_W1TC_S: u32 = 0; +pub const GPIO_ACPU_INT_REG: u32 = 1072971872; +pub const GPIO_APPCPU_INT: u32 = 4294967295; +pub const GPIO_APPCPU_INT_V: u32 = 4294967295; +pub const GPIO_APPCPU_INT_S: u32 = 0; +pub const GPIO_ACPU_NMI_INT_REG: u32 = 1072971876; +pub const GPIO_APPCPU_NMI_INT: u32 = 4294967295; +pub const GPIO_APPCPU_NMI_INT_V: u32 = 4294967295; +pub const GPIO_APPCPU_NMI_INT_S: u32 = 0; +pub const GPIO_PCPU_INT_REG: u32 = 1072971880; +pub const GPIO_PROCPU_INT: u32 = 4294967295; +pub const GPIO_PROCPU_INT_V: u32 = 4294967295; +pub const GPIO_PROCPU_INT_S: u32 = 0; +pub const GPIO_PCPU_NMI_INT_REG: u32 = 1072971884; +pub const GPIO_PROCPU_NMI_INT: u32 = 4294967295; +pub const GPIO_PROCPU_NMI_INT_V: u32 = 4294967295; +pub const GPIO_PROCPU_NMI_INT_S: u32 = 0; +pub const GPIO_CPUSDIO_INT_REG: u32 = 1072971888; +pub const GPIO_SDIO_INT: u32 = 4294967295; +pub const GPIO_SDIO_INT_V: u32 = 4294967295; +pub const GPIO_SDIO_INT_S: u32 = 0; +pub const GPIO_ACPU_INT1_REG: u32 = 1072971892; +pub const GPIO_APPCPU_INT_H: u32 = 255; +pub const GPIO_APPCPU_INT_H_V: u32 = 255; +pub const GPIO_APPCPU_INT_H_S: u32 = 0; +pub const GPIO_ACPU_NMI_INT1_REG: u32 = 1072971896; +pub const GPIO_APPCPU_NMI_INT_H: u32 = 255; +pub const GPIO_APPCPU_NMI_INT_H_V: u32 = 255; +pub const GPIO_APPCPU_NMI_INT_H_S: u32 = 0; +pub const GPIO_PCPU_INT1_REG: u32 = 1072971900; +pub const GPIO_PROCPU_INT_H: u32 = 255; +pub const GPIO_PROCPU_INT_H_V: u32 = 255; +pub const GPIO_PROCPU_INT_H_S: u32 = 0; +pub const GPIO_PCPU_NMI_INT1_REG: u32 = 1072971904; +pub const GPIO_PROCPU_NMI_INT_H: u32 = 255; +pub const GPIO_PROCPU_NMI_INT_H_V: u32 = 255; +pub const GPIO_PROCPU_NMI_INT_H_S: u32 = 0; +pub const GPIO_CPUSDIO_INT1_REG: u32 = 1072971908; +pub const GPIO_SDIO_INT_H: u32 = 255; +pub const GPIO_SDIO_INT_H_V: u32 = 255; +pub const GPIO_SDIO_INT_H_S: u32 = 0; +pub const GPIO_PIN_INT_ENA: u32 = 31; +pub const GPIO_PIN_INT_ENA_V: u32 = 31; +pub const GPIO_PIN_INT_ENA_S: u32 = 13; +pub const GPIO_PIN_CONFIG: u32 = 3; +pub const GPIO_PIN_CONFIG_V: u32 = 3; +pub const GPIO_PIN_CONFIG_S: u32 = 11; +pub const GPIO_PIN_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN_INT_TYPE: u32 = 7; +pub const GPIO_PIN_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN0_REG: u32 = 1072971912; +pub const GPIO_PIN0_INT_ENA: u32 = 31; +pub const GPIO_PIN0_INT_ENA_V: u32 = 31; +pub const GPIO_PIN0_INT_ENA_S: u32 = 13; +pub const GPIO_PIN0_CONFIG: u32 = 3; +pub const GPIO_PIN0_CONFIG_V: u32 = 3; +pub const GPIO_PIN0_CONFIG_S: u32 = 11; +pub const GPIO_PIN0_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN0_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN0_INT_TYPE: u32 = 7; +pub const GPIO_PIN0_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN0_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN0_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN0_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN1_REG: u32 = 1072971916; +pub const GPIO_PIN1_INT_ENA: u32 = 31; +pub const GPIO_PIN1_INT_ENA_V: u32 = 31; +pub const GPIO_PIN1_INT_ENA_S: u32 = 13; +pub const GPIO_PIN1_CONFIG: u32 = 3; +pub const GPIO_PIN1_CONFIG_V: u32 = 3; +pub const GPIO_PIN1_CONFIG_S: u32 = 11; +pub const GPIO_PIN1_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN1_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN1_INT_TYPE: u32 = 7; +pub const GPIO_PIN1_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN1_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN1_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN1_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN2_REG: u32 = 1072971920; +pub const GPIO_PIN2_INT_ENA: u32 = 31; +pub const GPIO_PIN2_INT_ENA_V: u32 = 31; +pub const GPIO_PIN2_INT_ENA_S: u32 = 13; +pub const GPIO_PIN2_CONFIG: u32 = 3; +pub const GPIO_PIN2_CONFIG_V: u32 = 3; +pub const GPIO_PIN2_CONFIG_S: u32 = 11; +pub const GPIO_PIN2_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN2_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN2_INT_TYPE: u32 = 7; +pub const GPIO_PIN2_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN2_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN2_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN2_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN3_REG: u32 = 1072971924; +pub const GPIO_PIN3_INT_ENA: u32 = 31; +pub const GPIO_PIN3_INT_ENA_V: u32 = 31; +pub const GPIO_PIN3_INT_ENA_S: u32 = 13; +pub const GPIO_PIN3_CONFIG: u32 = 3; +pub const GPIO_PIN3_CONFIG_V: u32 = 3; +pub const GPIO_PIN3_CONFIG_S: u32 = 11; +pub const GPIO_PIN3_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN3_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN3_INT_TYPE: u32 = 7; +pub const GPIO_PIN3_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN3_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN3_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN3_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN4_REG: u32 = 1072971928; +pub const GPIO_PIN4_INT_ENA: u32 = 31; +pub const GPIO_PIN4_INT_ENA_V: u32 = 31; +pub const GPIO_PIN4_INT_ENA_S: u32 = 13; +pub const GPIO_PIN4_CONFIG: u32 = 3; +pub const GPIO_PIN4_CONFIG_V: u32 = 3; +pub const GPIO_PIN4_CONFIG_S: u32 = 11; +pub const GPIO_PIN4_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN4_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN4_INT_TYPE: u32 = 7; +pub const GPIO_PIN4_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN4_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN4_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN4_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN5_REG: u32 = 1072971932; +pub const GPIO_PIN5_INT_ENA: u32 = 31; +pub const GPIO_PIN5_INT_ENA_V: u32 = 31; +pub const GPIO_PIN5_INT_ENA_S: u32 = 13; +pub const GPIO_PIN5_CONFIG: u32 = 3; +pub const GPIO_PIN5_CONFIG_V: u32 = 3; +pub const GPIO_PIN5_CONFIG_S: u32 = 11; +pub const GPIO_PIN5_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN5_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN5_INT_TYPE: u32 = 7; +pub const GPIO_PIN5_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN5_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN5_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN5_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN6_REG: u32 = 1072971936; +pub const GPIO_PIN6_INT_ENA: u32 = 31; +pub const GPIO_PIN6_INT_ENA_V: u32 = 31; +pub const GPIO_PIN6_INT_ENA_S: u32 = 13; +pub const GPIO_PIN6_CONFIG: u32 = 3; +pub const GPIO_PIN6_CONFIG_V: u32 = 3; +pub const GPIO_PIN6_CONFIG_S: u32 = 11; +pub const GPIO_PIN6_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN6_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN6_INT_TYPE: u32 = 7; +pub const GPIO_PIN6_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN6_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN6_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN6_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN7_REG: u32 = 1072971940; +pub const GPIO_PIN7_INT_ENA: u32 = 31; +pub const GPIO_PIN7_INT_ENA_V: u32 = 31; +pub const GPIO_PIN7_INT_ENA_S: u32 = 13; +pub const GPIO_PIN7_CONFIG: u32 = 3; +pub const GPIO_PIN7_CONFIG_V: u32 = 3; +pub const GPIO_PIN7_CONFIG_S: u32 = 11; +pub const GPIO_PIN7_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN7_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN7_INT_TYPE: u32 = 7; +pub const GPIO_PIN7_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN7_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN7_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN7_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN8_REG: u32 = 1072971944; +pub const GPIO_PIN8_INT_ENA: u32 = 31; +pub const GPIO_PIN8_INT_ENA_V: u32 = 31; +pub const GPIO_PIN8_INT_ENA_S: u32 = 13; +pub const GPIO_PIN8_CONFIG: u32 = 3; +pub const GPIO_PIN8_CONFIG_V: u32 = 3; +pub const GPIO_PIN8_CONFIG_S: u32 = 11; +pub const GPIO_PIN8_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN8_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN8_INT_TYPE: u32 = 7; +pub const GPIO_PIN8_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN8_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN8_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN8_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN9_REG: u32 = 1072971948; +pub const GPIO_PIN9_INT_ENA: u32 = 31; +pub const GPIO_PIN9_INT_ENA_V: u32 = 31; +pub const GPIO_PIN9_INT_ENA_S: u32 = 13; +pub const GPIO_PIN9_CONFIG: u32 = 3; +pub const GPIO_PIN9_CONFIG_V: u32 = 3; +pub const GPIO_PIN9_CONFIG_S: u32 = 11; +pub const GPIO_PIN9_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN9_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN9_INT_TYPE: u32 = 7; +pub const GPIO_PIN9_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN9_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN9_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN9_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN10_REG: u32 = 1072971952; +pub const GPIO_PIN10_INT_ENA: u32 = 31; +pub const GPIO_PIN10_INT_ENA_V: u32 = 31; +pub const GPIO_PIN10_INT_ENA_S: u32 = 13; +pub const GPIO_PIN10_CONFIG: u32 = 3; +pub const GPIO_PIN10_CONFIG_V: u32 = 3; +pub const GPIO_PIN10_CONFIG_S: u32 = 11; +pub const GPIO_PIN10_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN10_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN10_INT_TYPE: u32 = 7; +pub const GPIO_PIN10_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN10_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN10_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN10_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN11_REG: u32 = 1072971956; +pub const GPIO_PIN11_INT_ENA: u32 = 31; +pub const GPIO_PIN11_INT_ENA_V: u32 = 31; +pub const GPIO_PIN11_INT_ENA_S: u32 = 13; +pub const GPIO_PIN11_CONFIG: u32 = 3; +pub const GPIO_PIN11_CONFIG_V: u32 = 3; +pub const GPIO_PIN11_CONFIG_S: u32 = 11; +pub const GPIO_PIN11_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN11_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN11_INT_TYPE: u32 = 7; +pub const GPIO_PIN11_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN11_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN11_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN11_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN12_REG: u32 = 1072971960; +pub const GPIO_PIN12_INT_ENA: u32 = 31; +pub const GPIO_PIN12_INT_ENA_V: u32 = 31; +pub const GPIO_PIN12_INT_ENA_S: u32 = 13; +pub const GPIO_PIN12_CONFIG: u32 = 3; +pub const GPIO_PIN12_CONFIG_V: u32 = 3; +pub const GPIO_PIN12_CONFIG_S: u32 = 11; +pub const GPIO_PIN12_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN12_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN12_INT_TYPE: u32 = 7; +pub const GPIO_PIN12_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN12_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN12_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN12_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN13_REG: u32 = 1072971964; +pub const GPIO_PIN13_INT_ENA: u32 = 31; +pub const GPIO_PIN13_INT_ENA_V: u32 = 31; +pub const GPIO_PIN13_INT_ENA_S: u32 = 13; +pub const GPIO_PIN13_CONFIG: u32 = 3; +pub const GPIO_PIN13_CONFIG_V: u32 = 3; +pub const GPIO_PIN13_CONFIG_S: u32 = 11; +pub const GPIO_PIN13_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN13_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN13_INT_TYPE: u32 = 7; +pub const GPIO_PIN13_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN13_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN13_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN13_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN14_REG: u32 = 1072971968; +pub const GPIO_PIN14_INT_ENA: u32 = 31; +pub const GPIO_PIN14_INT_ENA_V: u32 = 31; +pub const GPIO_PIN14_INT_ENA_S: u32 = 13; +pub const GPIO_PIN14_CONFIG: u32 = 3; +pub const GPIO_PIN14_CONFIG_V: u32 = 3; +pub const GPIO_PIN14_CONFIG_S: u32 = 11; +pub const GPIO_PIN14_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN14_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN14_INT_TYPE: u32 = 7; +pub const GPIO_PIN14_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN14_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN14_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN14_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN15_REG: u32 = 1072971972; +pub const GPIO_PIN15_INT_ENA: u32 = 31; +pub const GPIO_PIN15_INT_ENA_V: u32 = 31; +pub const GPIO_PIN15_INT_ENA_S: u32 = 13; +pub const GPIO_PIN15_CONFIG: u32 = 3; +pub const GPIO_PIN15_CONFIG_V: u32 = 3; +pub const GPIO_PIN15_CONFIG_S: u32 = 11; +pub const GPIO_PIN15_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN15_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN15_INT_TYPE: u32 = 7; +pub const GPIO_PIN15_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN15_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN15_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN15_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN16_REG: u32 = 1072971976; +pub const GPIO_PIN16_INT_ENA: u32 = 31; +pub const GPIO_PIN16_INT_ENA_V: u32 = 31; +pub const GPIO_PIN16_INT_ENA_S: u32 = 13; +pub const GPIO_PIN16_CONFIG: u32 = 3; +pub const GPIO_PIN16_CONFIG_V: u32 = 3; +pub const GPIO_PIN16_CONFIG_S: u32 = 11; +pub const GPIO_PIN16_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN16_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN16_INT_TYPE: u32 = 7; +pub const GPIO_PIN16_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN16_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN16_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN16_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN17_REG: u32 = 1072971980; +pub const GPIO_PIN17_INT_ENA: u32 = 31; +pub const GPIO_PIN17_INT_ENA_V: u32 = 31; +pub const GPIO_PIN17_INT_ENA_S: u32 = 13; +pub const GPIO_PIN17_CONFIG: u32 = 3; +pub const GPIO_PIN17_CONFIG_V: u32 = 3; +pub const GPIO_PIN17_CONFIG_S: u32 = 11; +pub const GPIO_PIN17_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN17_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN17_INT_TYPE: u32 = 7; +pub const GPIO_PIN17_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN17_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN17_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN17_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN18_REG: u32 = 1072971984; +pub const GPIO_PIN18_INT_ENA: u32 = 31; +pub const GPIO_PIN18_INT_ENA_V: u32 = 31; +pub const GPIO_PIN18_INT_ENA_S: u32 = 13; +pub const GPIO_PIN18_CONFIG: u32 = 3; +pub const GPIO_PIN18_CONFIG_V: u32 = 3; +pub const GPIO_PIN18_CONFIG_S: u32 = 11; +pub const GPIO_PIN18_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN18_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN18_INT_TYPE: u32 = 7; +pub const GPIO_PIN18_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN18_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN18_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN18_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN19_REG: u32 = 1072971988; +pub const GPIO_PIN19_INT_ENA: u32 = 31; +pub const GPIO_PIN19_INT_ENA_V: u32 = 31; +pub const GPIO_PIN19_INT_ENA_S: u32 = 13; +pub const GPIO_PIN19_CONFIG: u32 = 3; +pub const GPIO_PIN19_CONFIG_V: u32 = 3; +pub const GPIO_PIN19_CONFIG_S: u32 = 11; +pub const GPIO_PIN19_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN19_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN19_INT_TYPE: u32 = 7; +pub const GPIO_PIN19_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN19_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN19_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN19_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN20_REG: u32 = 1072971992; +pub const GPIO_PIN20_INT_ENA: u32 = 31; +pub const GPIO_PIN20_INT_ENA_V: u32 = 31; +pub const GPIO_PIN20_INT_ENA_S: u32 = 13; +pub const GPIO_PIN20_CONFIG: u32 = 3; +pub const GPIO_PIN20_CONFIG_V: u32 = 3; +pub const GPIO_PIN20_CONFIG_S: u32 = 11; +pub const GPIO_PIN20_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN20_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN20_INT_TYPE: u32 = 7; +pub const GPIO_PIN20_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN20_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN20_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN20_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN21_REG: u32 = 1072971996; +pub const GPIO_PIN21_INT_ENA: u32 = 31; +pub const GPIO_PIN21_INT_ENA_V: u32 = 31; +pub const GPIO_PIN21_INT_ENA_S: u32 = 13; +pub const GPIO_PIN21_CONFIG: u32 = 3; +pub const GPIO_PIN21_CONFIG_V: u32 = 3; +pub const GPIO_PIN21_CONFIG_S: u32 = 11; +pub const GPIO_PIN21_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN21_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN21_INT_TYPE: u32 = 7; +pub const GPIO_PIN21_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN21_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN21_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN21_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN22_REG: u32 = 1072972000; +pub const GPIO_PIN22_INT_ENA: u32 = 31; +pub const GPIO_PIN22_INT_ENA_V: u32 = 31; +pub const GPIO_PIN22_INT_ENA_S: u32 = 13; +pub const GPIO_PIN22_CONFIG: u32 = 3; +pub const GPIO_PIN22_CONFIG_V: u32 = 3; +pub const GPIO_PIN22_CONFIG_S: u32 = 11; +pub const GPIO_PIN22_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN22_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN22_INT_TYPE: u32 = 7; +pub const GPIO_PIN22_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN22_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN22_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN22_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN23_REG: u32 = 1072972004; +pub const GPIO_PIN23_INT_ENA: u32 = 31; +pub const GPIO_PIN23_INT_ENA_V: u32 = 31; +pub const GPIO_PIN23_INT_ENA_S: u32 = 13; +pub const GPIO_PIN23_CONFIG: u32 = 3; +pub const GPIO_PIN23_CONFIG_V: u32 = 3; +pub const GPIO_PIN23_CONFIG_S: u32 = 11; +pub const GPIO_PIN23_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN23_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN23_INT_TYPE: u32 = 7; +pub const GPIO_PIN23_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN23_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN23_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN23_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN24_REG: u32 = 1072972008; +pub const GPIO_PIN24_INT_ENA: u32 = 31; +pub const GPIO_PIN24_INT_ENA_V: u32 = 31; +pub const GPIO_PIN24_INT_ENA_S: u32 = 13; +pub const GPIO_PIN24_CONFIG: u32 = 3; +pub const GPIO_PIN24_CONFIG_V: u32 = 3; +pub const GPIO_PIN24_CONFIG_S: u32 = 11; +pub const GPIO_PIN24_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN24_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN24_INT_TYPE: u32 = 7; +pub const GPIO_PIN24_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN24_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN24_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN24_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN25_REG: u32 = 1072972012; +pub const GPIO_PIN25_INT_ENA: u32 = 31; +pub const GPIO_PIN25_INT_ENA_V: u32 = 31; +pub const GPIO_PIN25_INT_ENA_S: u32 = 13; +pub const GPIO_PIN25_CONFIG: u32 = 3; +pub const GPIO_PIN25_CONFIG_V: u32 = 3; +pub const GPIO_PIN25_CONFIG_S: u32 = 11; +pub const GPIO_PIN25_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN25_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN25_INT_TYPE: u32 = 7; +pub const GPIO_PIN25_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN25_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN25_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN25_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN26_REG: u32 = 1072972016; +pub const GPIO_PIN26_INT_ENA: u32 = 31; +pub const GPIO_PIN26_INT_ENA_V: u32 = 31; +pub const GPIO_PIN26_INT_ENA_S: u32 = 13; +pub const GPIO_PIN26_CONFIG: u32 = 3; +pub const GPIO_PIN26_CONFIG_V: u32 = 3; +pub const GPIO_PIN26_CONFIG_S: u32 = 11; +pub const GPIO_PIN26_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN26_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN26_INT_TYPE: u32 = 7; +pub const GPIO_PIN26_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN26_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN26_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN26_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN27_REG: u32 = 1072972020; +pub const GPIO_PIN27_INT_ENA: u32 = 31; +pub const GPIO_PIN27_INT_ENA_V: u32 = 31; +pub const GPIO_PIN27_INT_ENA_S: u32 = 13; +pub const GPIO_PIN27_CONFIG: u32 = 3; +pub const GPIO_PIN27_CONFIG_V: u32 = 3; +pub const GPIO_PIN27_CONFIG_S: u32 = 11; +pub const GPIO_PIN27_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN27_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN27_INT_TYPE: u32 = 7; +pub const GPIO_PIN27_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN27_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN27_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN27_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN28_REG: u32 = 1072972024; +pub const GPIO_PIN28_INT_ENA: u32 = 31; +pub const GPIO_PIN28_INT_ENA_V: u32 = 31; +pub const GPIO_PIN28_INT_ENA_S: u32 = 13; +pub const GPIO_PIN28_CONFIG: u32 = 3; +pub const GPIO_PIN28_CONFIG_V: u32 = 3; +pub const GPIO_PIN28_CONFIG_S: u32 = 11; +pub const GPIO_PIN28_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN28_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN28_INT_TYPE: u32 = 7; +pub const GPIO_PIN28_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN28_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN28_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN28_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN29_REG: u32 = 1072972028; +pub const GPIO_PIN29_INT_ENA: u32 = 31; +pub const GPIO_PIN29_INT_ENA_V: u32 = 31; +pub const GPIO_PIN29_INT_ENA_S: u32 = 13; +pub const GPIO_PIN29_CONFIG: u32 = 3; +pub const GPIO_PIN29_CONFIG_V: u32 = 3; +pub const GPIO_PIN29_CONFIG_S: u32 = 11; +pub const GPIO_PIN29_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN29_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN29_INT_TYPE: u32 = 7; +pub const GPIO_PIN29_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN29_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN29_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN29_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN30_REG: u32 = 1072972032; +pub const GPIO_PIN30_INT_ENA: u32 = 31; +pub const GPIO_PIN30_INT_ENA_V: u32 = 31; +pub const GPIO_PIN30_INT_ENA_S: u32 = 13; +pub const GPIO_PIN30_CONFIG: u32 = 3; +pub const GPIO_PIN30_CONFIG_V: u32 = 3; +pub const GPIO_PIN30_CONFIG_S: u32 = 11; +pub const GPIO_PIN30_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN30_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN30_INT_TYPE: u32 = 7; +pub const GPIO_PIN30_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN30_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN30_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN30_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN31_REG: u32 = 1072972036; +pub const GPIO_PIN31_INT_ENA: u32 = 31; +pub const GPIO_PIN31_INT_ENA_V: u32 = 31; +pub const GPIO_PIN31_INT_ENA_S: u32 = 13; +pub const GPIO_PIN31_CONFIG: u32 = 3; +pub const GPIO_PIN31_CONFIG_V: u32 = 3; +pub const GPIO_PIN31_CONFIG_S: u32 = 11; +pub const GPIO_PIN31_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN31_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN31_INT_TYPE: u32 = 7; +pub const GPIO_PIN31_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN31_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN31_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN31_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN32_REG: u32 = 1072972040; +pub const GPIO_PIN32_INT_ENA: u32 = 31; +pub const GPIO_PIN32_INT_ENA_V: u32 = 31; +pub const GPIO_PIN32_INT_ENA_S: u32 = 13; +pub const GPIO_PIN32_CONFIG: u32 = 3; +pub const GPIO_PIN32_CONFIG_V: u32 = 3; +pub const GPIO_PIN32_CONFIG_S: u32 = 11; +pub const GPIO_PIN32_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN32_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN32_INT_TYPE: u32 = 7; +pub const GPIO_PIN32_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN32_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN32_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN32_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN33_REG: u32 = 1072972044; +pub const GPIO_PIN33_INT_ENA: u32 = 31; +pub const GPIO_PIN33_INT_ENA_V: u32 = 31; +pub const GPIO_PIN33_INT_ENA_S: u32 = 13; +pub const GPIO_PIN33_CONFIG: u32 = 3; +pub const GPIO_PIN33_CONFIG_V: u32 = 3; +pub const GPIO_PIN33_CONFIG_S: u32 = 11; +pub const GPIO_PIN33_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN33_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN33_INT_TYPE: u32 = 7; +pub const GPIO_PIN33_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN33_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN33_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN33_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN34_REG: u32 = 1072972048; +pub const GPIO_PIN34_INT_ENA: u32 = 31; +pub const GPIO_PIN34_INT_ENA_V: u32 = 31; +pub const GPIO_PIN34_INT_ENA_S: u32 = 13; +pub const GPIO_PIN34_CONFIG: u32 = 3; +pub const GPIO_PIN34_CONFIG_V: u32 = 3; +pub const GPIO_PIN34_CONFIG_S: u32 = 11; +pub const GPIO_PIN34_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN34_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN34_INT_TYPE: u32 = 7; +pub const GPIO_PIN34_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN34_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN34_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN34_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN35_REG: u32 = 1072972052; +pub const GPIO_PIN35_INT_ENA: u32 = 31; +pub const GPIO_PIN35_INT_ENA_V: u32 = 31; +pub const GPIO_PIN35_INT_ENA_S: u32 = 13; +pub const GPIO_PIN35_CONFIG: u32 = 3; +pub const GPIO_PIN35_CONFIG_V: u32 = 3; +pub const GPIO_PIN35_CONFIG_S: u32 = 11; +pub const GPIO_PIN35_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN35_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN35_INT_TYPE: u32 = 7; +pub const GPIO_PIN35_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN35_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN35_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN35_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN36_REG: u32 = 1072972056; +pub const GPIO_PIN36_INT_ENA: u32 = 31; +pub const GPIO_PIN36_INT_ENA_V: u32 = 31; +pub const GPIO_PIN36_INT_ENA_S: u32 = 13; +pub const GPIO_PIN36_CONFIG: u32 = 3; +pub const GPIO_PIN36_CONFIG_V: u32 = 3; +pub const GPIO_PIN36_CONFIG_S: u32 = 11; +pub const GPIO_PIN36_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN36_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN36_INT_TYPE: u32 = 7; +pub const GPIO_PIN36_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN36_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN36_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN36_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN37_REG: u32 = 1072972060; +pub const GPIO_PIN37_INT_ENA: u32 = 31; +pub const GPIO_PIN37_INT_ENA_V: u32 = 31; +pub const GPIO_PIN37_INT_ENA_S: u32 = 13; +pub const GPIO_PIN37_CONFIG: u32 = 3; +pub const GPIO_PIN37_CONFIG_V: u32 = 3; +pub const GPIO_PIN37_CONFIG_S: u32 = 11; +pub const GPIO_PIN37_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN37_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN37_INT_TYPE: u32 = 7; +pub const GPIO_PIN37_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN37_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN37_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN37_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN38_REG: u32 = 1072972064; +pub const GPIO_PIN38_INT_ENA: u32 = 31; +pub const GPIO_PIN38_INT_ENA_V: u32 = 31; +pub const GPIO_PIN38_INT_ENA_S: u32 = 13; +pub const GPIO_PIN38_CONFIG: u32 = 3; +pub const GPIO_PIN38_CONFIG_V: u32 = 3; +pub const GPIO_PIN38_CONFIG_S: u32 = 11; +pub const GPIO_PIN38_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN38_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN38_INT_TYPE: u32 = 7; +pub const GPIO_PIN38_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN38_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN38_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN38_PAD_DRIVER_S: u32 = 2; +pub const GPIO_PIN39_REG: u32 = 1072972068; +pub const GPIO_PIN39_INT_ENA: u32 = 31; +pub const GPIO_PIN39_INT_ENA_V: u32 = 31; +pub const GPIO_PIN39_INT_ENA_S: u32 = 13; +pub const GPIO_PIN39_CONFIG: u32 = 3; +pub const GPIO_PIN39_CONFIG_V: u32 = 3; +pub const GPIO_PIN39_CONFIG_S: u32 = 11; +pub const GPIO_PIN39_WAKEUP_ENABLE_V: u32 = 1; +pub const GPIO_PIN39_WAKEUP_ENABLE_S: u32 = 10; +pub const GPIO_PIN39_INT_TYPE: u32 = 7; +pub const GPIO_PIN39_INT_TYPE_V: u32 = 7; +pub const GPIO_PIN39_INT_TYPE_S: u32 = 7; +pub const GPIO_PIN39_PAD_DRIVER_V: u32 = 1; +pub const GPIO_PIN39_PAD_DRIVER_S: u32 = 2; +pub const GPIO_cali_conf_REG: u32 = 1072972072; +pub const GPIO_CALI_START_V: u32 = 1; +pub const GPIO_CALI_START_S: u32 = 31; +pub const GPIO_CALI_RTC_MAX: u32 = 1023; +pub const GPIO_CALI_RTC_MAX_V: u32 = 1023; +pub const GPIO_CALI_RTC_MAX_S: u32 = 0; +pub const GPIO_cali_data_REG: u32 = 1072972076; +pub const GPIO_CALI_RDY_SYNC2_V: u32 = 1; +pub const GPIO_CALI_RDY_SYNC2_S: u32 = 31; +pub const GPIO_CALI_RDY_REAL_V: u32 = 1; +pub const GPIO_CALI_RDY_REAL_S: u32 = 30; +pub const GPIO_CALI_VALUE_SYNC2: u32 = 1048575; +pub const GPIO_CALI_VALUE_SYNC2_V: u32 = 1048575; +pub const GPIO_CALI_VALUE_SYNC2_S: u32 = 0; +pub const GPIO_FUNC0_IN_SEL_CFG_REG: u32 = 1072972080; +pub const GPIO_SIG0_IN_SEL_V: u32 = 1; +pub const GPIO_SIG0_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC0_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC0_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC0_IN_SEL: u32 = 63; +pub const GPIO_FUNC0_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC0_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC1_IN_SEL_CFG_REG: u32 = 1072972084; +pub const GPIO_SIG1_IN_SEL_V: u32 = 1; +pub const GPIO_SIG1_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC1_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC1_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC1_IN_SEL: u32 = 63; +pub const GPIO_FUNC1_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC1_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC2_IN_SEL_CFG_REG: u32 = 1072972088; +pub const GPIO_SIG2_IN_SEL_V: u32 = 1; +pub const GPIO_SIG2_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC2_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC2_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC2_IN_SEL: u32 = 63; +pub const GPIO_FUNC2_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC2_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC3_IN_SEL_CFG_REG: u32 = 1072972092; +pub const GPIO_SIG3_IN_SEL_V: u32 = 1; +pub const GPIO_SIG3_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC3_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC3_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC3_IN_SEL: u32 = 63; +pub const GPIO_FUNC3_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC3_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC4_IN_SEL_CFG_REG: u32 = 1072972096; +pub const GPIO_SIG4_IN_SEL_V: u32 = 1; +pub const GPIO_SIG4_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC4_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC4_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC4_IN_SEL: u32 = 63; +pub const GPIO_FUNC4_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC4_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC5_IN_SEL_CFG_REG: u32 = 1072972100; +pub const GPIO_SIG5_IN_SEL_V: u32 = 1; +pub const GPIO_SIG5_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC5_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC5_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC5_IN_SEL: u32 = 63; +pub const GPIO_FUNC5_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC5_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC6_IN_SEL_CFG_REG: u32 = 1072972104; +pub const GPIO_SIG6_IN_SEL_V: u32 = 1; +pub const GPIO_SIG6_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC6_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC6_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC6_IN_SEL: u32 = 63; +pub const GPIO_FUNC6_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC6_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC7_IN_SEL_CFG_REG: u32 = 1072972108; +pub const GPIO_SIG7_IN_SEL_V: u32 = 1; +pub const GPIO_SIG7_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC7_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC7_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC7_IN_SEL: u32 = 63; +pub const GPIO_FUNC7_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC7_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC8_IN_SEL_CFG_REG: u32 = 1072972112; +pub const GPIO_SIG8_IN_SEL_V: u32 = 1; +pub const GPIO_SIG8_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC8_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC8_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC8_IN_SEL: u32 = 63; +pub const GPIO_FUNC8_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC8_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC9_IN_SEL_CFG_REG: u32 = 1072972116; +pub const GPIO_SIG9_IN_SEL_V: u32 = 1; +pub const GPIO_SIG9_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC9_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC9_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC9_IN_SEL: u32 = 63; +pub const GPIO_FUNC9_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC9_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC10_IN_SEL_CFG_REG: u32 = 1072972120; +pub const GPIO_SIG10_IN_SEL_V: u32 = 1; +pub const GPIO_SIG10_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC10_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC10_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC10_IN_SEL: u32 = 63; +pub const GPIO_FUNC10_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC10_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC11_IN_SEL_CFG_REG: u32 = 1072972124; +pub const GPIO_SIG11_IN_SEL_V: u32 = 1; +pub const GPIO_SIG11_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC11_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC11_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC11_IN_SEL: u32 = 63; +pub const GPIO_FUNC11_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC11_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC12_IN_SEL_CFG_REG: u32 = 1072972128; +pub const GPIO_SIG12_IN_SEL_V: u32 = 1; +pub const GPIO_SIG12_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC12_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC12_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC12_IN_SEL: u32 = 63; +pub const GPIO_FUNC12_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC12_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC13_IN_SEL_CFG_REG: u32 = 1072972132; +pub const GPIO_SIG13_IN_SEL_V: u32 = 1; +pub const GPIO_SIG13_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC13_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC13_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC13_IN_SEL: u32 = 63; +pub const GPIO_FUNC13_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC13_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC14_IN_SEL_CFG_REG: u32 = 1072972136; +pub const GPIO_SIG14_IN_SEL_V: u32 = 1; +pub const GPIO_SIG14_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC14_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC14_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC14_IN_SEL: u32 = 63; +pub const GPIO_FUNC14_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC14_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC15_IN_SEL_CFG_REG: u32 = 1072972140; +pub const GPIO_SIG15_IN_SEL_V: u32 = 1; +pub const GPIO_SIG15_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC15_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC15_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC15_IN_SEL: u32 = 63; +pub const GPIO_FUNC15_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC15_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC16_IN_SEL_CFG_REG: u32 = 1072972144; +pub const GPIO_SIG16_IN_SEL_V: u32 = 1; +pub const GPIO_SIG16_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC16_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC16_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC16_IN_SEL: u32 = 63; +pub const GPIO_FUNC16_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC16_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC17_IN_SEL_CFG_REG: u32 = 1072972148; +pub const GPIO_SIG17_IN_SEL_V: u32 = 1; +pub const GPIO_SIG17_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC17_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC17_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC17_IN_SEL: u32 = 63; +pub const GPIO_FUNC17_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC17_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC18_IN_SEL_CFG_REG: u32 = 1072972152; +pub const GPIO_SIG18_IN_SEL_V: u32 = 1; +pub const GPIO_SIG18_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC18_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC18_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC18_IN_SEL: u32 = 63; +pub const GPIO_FUNC18_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC18_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC19_IN_SEL_CFG_REG: u32 = 1072972156; +pub const GPIO_SIG19_IN_SEL_V: u32 = 1; +pub const GPIO_SIG19_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC19_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC19_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC19_IN_SEL: u32 = 63; +pub const GPIO_FUNC19_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC19_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC20_IN_SEL_CFG_REG: u32 = 1072972160; +pub const GPIO_SIG20_IN_SEL_V: u32 = 1; +pub const GPIO_SIG20_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC20_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC20_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC20_IN_SEL: u32 = 63; +pub const GPIO_FUNC20_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC20_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC21_IN_SEL_CFG_REG: u32 = 1072972164; +pub const GPIO_SIG21_IN_SEL_V: u32 = 1; +pub const GPIO_SIG21_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC21_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC21_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC21_IN_SEL: u32 = 63; +pub const GPIO_FUNC21_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC21_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC22_IN_SEL_CFG_REG: u32 = 1072972168; +pub const GPIO_SIG22_IN_SEL_V: u32 = 1; +pub const GPIO_SIG22_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC22_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC22_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC22_IN_SEL: u32 = 63; +pub const GPIO_FUNC22_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC22_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC23_IN_SEL_CFG_REG: u32 = 1072972172; +pub const GPIO_SIG23_IN_SEL_V: u32 = 1; +pub const GPIO_SIG23_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC23_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC23_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC23_IN_SEL: u32 = 63; +pub const GPIO_FUNC23_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC23_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC24_IN_SEL_CFG_REG: u32 = 1072972176; +pub const GPIO_SIG24_IN_SEL_V: u32 = 1; +pub const GPIO_SIG24_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC24_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC24_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC24_IN_SEL: u32 = 63; +pub const GPIO_FUNC24_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC24_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC25_IN_SEL_CFG_REG: u32 = 1072972180; +pub const GPIO_SIG25_IN_SEL_V: u32 = 1; +pub const GPIO_SIG25_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC25_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC25_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC25_IN_SEL: u32 = 63; +pub const GPIO_FUNC25_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC25_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC26_IN_SEL_CFG_REG: u32 = 1072972184; +pub const GPIO_SIG26_IN_SEL_V: u32 = 1; +pub const GPIO_SIG26_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC26_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC26_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC26_IN_SEL: u32 = 63; +pub const GPIO_FUNC26_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC26_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC27_IN_SEL_CFG_REG: u32 = 1072972188; +pub const GPIO_SIG27_IN_SEL_V: u32 = 1; +pub const GPIO_SIG27_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC27_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC27_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC27_IN_SEL: u32 = 63; +pub const GPIO_FUNC27_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC27_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC28_IN_SEL_CFG_REG: u32 = 1072972192; +pub const GPIO_SIG28_IN_SEL_V: u32 = 1; +pub const GPIO_SIG28_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC28_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC28_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC28_IN_SEL: u32 = 63; +pub const GPIO_FUNC28_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC28_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC29_IN_SEL_CFG_REG: u32 = 1072972196; +pub const GPIO_SIG29_IN_SEL_V: u32 = 1; +pub const GPIO_SIG29_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC29_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC29_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC29_IN_SEL: u32 = 63; +pub const GPIO_FUNC29_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC29_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC30_IN_SEL_CFG_REG: u32 = 1072972200; +pub const GPIO_SIG30_IN_SEL_V: u32 = 1; +pub const GPIO_SIG30_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC30_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC30_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC30_IN_SEL: u32 = 63; +pub const GPIO_FUNC30_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC30_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC31_IN_SEL_CFG_REG: u32 = 1072972204; +pub const GPIO_SIG31_IN_SEL_V: u32 = 1; +pub const GPIO_SIG31_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC31_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC31_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC31_IN_SEL: u32 = 63; +pub const GPIO_FUNC31_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC31_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC32_IN_SEL_CFG_REG: u32 = 1072972208; +pub const GPIO_SIG32_IN_SEL_V: u32 = 1; +pub const GPIO_SIG32_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC32_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC32_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC32_IN_SEL: u32 = 63; +pub const GPIO_FUNC32_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC32_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC33_IN_SEL_CFG_REG: u32 = 1072972212; +pub const GPIO_SIG33_IN_SEL_V: u32 = 1; +pub const GPIO_SIG33_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC33_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC33_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC33_IN_SEL: u32 = 63; +pub const GPIO_FUNC33_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC33_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC34_IN_SEL_CFG_REG: u32 = 1072972216; +pub const GPIO_SIG34_IN_SEL_V: u32 = 1; +pub const GPIO_SIG34_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC34_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC34_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC34_IN_SEL: u32 = 63; +pub const GPIO_FUNC34_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC34_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC35_IN_SEL_CFG_REG: u32 = 1072972220; +pub const GPIO_SIG35_IN_SEL_V: u32 = 1; +pub const GPIO_SIG35_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC35_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC35_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC35_IN_SEL: u32 = 63; +pub const GPIO_FUNC35_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC35_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC36_IN_SEL_CFG_REG: u32 = 1072972224; +pub const GPIO_SIG36_IN_SEL_V: u32 = 1; +pub const GPIO_SIG36_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC36_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC36_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC36_IN_SEL: u32 = 63; +pub const GPIO_FUNC36_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC36_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC37_IN_SEL_CFG_REG: u32 = 1072972228; +pub const GPIO_SIG37_IN_SEL_V: u32 = 1; +pub const GPIO_SIG37_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC37_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC37_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC37_IN_SEL: u32 = 63; +pub const GPIO_FUNC37_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC37_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC38_IN_SEL_CFG_REG: u32 = 1072972232; +pub const GPIO_SIG38_IN_SEL_V: u32 = 1; +pub const GPIO_SIG38_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC38_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC38_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC38_IN_SEL: u32 = 63; +pub const GPIO_FUNC38_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC38_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC39_IN_SEL_CFG_REG: u32 = 1072972236; +pub const GPIO_SIG39_IN_SEL_V: u32 = 1; +pub const GPIO_SIG39_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC39_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC39_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC39_IN_SEL: u32 = 63; +pub const GPIO_FUNC39_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC39_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC40_IN_SEL_CFG_REG: u32 = 1072972240; +pub const GPIO_SIG40_IN_SEL_V: u32 = 1; +pub const GPIO_SIG40_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC40_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC40_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC40_IN_SEL: u32 = 63; +pub const GPIO_FUNC40_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC40_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC41_IN_SEL_CFG_REG: u32 = 1072972244; +pub const GPIO_SIG41_IN_SEL_V: u32 = 1; +pub const GPIO_SIG41_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC41_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC41_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC41_IN_SEL: u32 = 63; +pub const GPIO_FUNC41_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC41_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC42_IN_SEL_CFG_REG: u32 = 1072972248; +pub const GPIO_SIG42_IN_SEL_V: u32 = 1; +pub const GPIO_SIG42_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC42_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC42_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC42_IN_SEL: u32 = 63; +pub const GPIO_FUNC42_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC42_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC43_IN_SEL_CFG_REG: u32 = 1072972252; +pub const GPIO_SIG43_IN_SEL_V: u32 = 1; +pub const GPIO_SIG43_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC43_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC43_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC43_IN_SEL: u32 = 63; +pub const GPIO_FUNC43_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC43_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC44_IN_SEL_CFG_REG: u32 = 1072972256; +pub const GPIO_SIG44_IN_SEL_V: u32 = 1; +pub const GPIO_SIG44_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC44_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC44_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC44_IN_SEL: u32 = 63; +pub const GPIO_FUNC44_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC44_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC45_IN_SEL_CFG_REG: u32 = 1072972260; +pub const GPIO_SIG45_IN_SEL_V: u32 = 1; +pub const GPIO_SIG45_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC45_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC45_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC45_IN_SEL: u32 = 63; +pub const GPIO_FUNC45_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC45_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC46_IN_SEL_CFG_REG: u32 = 1072972264; +pub const GPIO_SIG46_IN_SEL_V: u32 = 1; +pub const GPIO_SIG46_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC46_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC46_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC46_IN_SEL: u32 = 63; +pub const GPIO_FUNC46_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC46_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC47_IN_SEL_CFG_REG: u32 = 1072972268; +pub const GPIO_SIG47_IN_SEL_V: u32 = 1; +pub const GPIO_SIG47_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC47_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC47_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC47_IN_SEL: u32 = 63; +pub const GPIO_FUNC47_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC47_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC48_IN_SEL_CFG_REG: u32 = 1072972272; +pub const GPIO_SIG48_IN_SEL_V: u32 = 1; +pub const GPIO_SIG48_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC48_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC48_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC48_IN_SEL: u32 = 63; +pub const GPIO_FUNC48_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC48_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC49_IN_SEL_CFG_REG: u32 = 1072972276; +pub const GPIO_SIG49_IN_SEL_V: u32 = 1; +pub const GPIO_SIG49_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC49_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC49_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC49_IN_SEL: u32 = 63; +pub const GPIO_FUNC49_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC49_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC50_IN_SEL_CFG_REG: u32 = 1072972280; +pub const GPIO_SIG50_IN_SEL_V: u32 = 1; +pub const GPIO_SIG50_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC50_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC50_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC50_IN_SEL: u32 = 63; +pub const GPIO_FUNC50_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC50_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC51_IN_SEL_CFG_REG: u32 = 1072972284; +pub const GPIO_SIG51_IN_SEL_V: u32 = 1; +pub const GPIO_SIG51_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC51_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC51_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC51_IN_SEL: u32 = 63; +pub const GPIO_FUNC51_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC51_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC52_IN_SEL_CFG_REG: u32 = 1072972288; +pub const GPIO_SIG52_IN_SEL_V: u32 = 1; +pub const GPIO_SIG52_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC52_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC52_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC52_IN_SEL: u32 = 63; +pub const GPIO_FUNC52_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC52_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC53_IN_SEL_CFG_REG: u32 = 1072972292; +pub const GPIO_SIG53_IN_SEL_V: u32 = 1; +pub const GPIO_SIG53_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC53_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC53_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC53_IN_SEL: u32 = 63; +pub const GPIO_FUNC53_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC53_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC54_IN_SEL_CFG_REG: u32 = 1072972296; +pub const GPIO_SIG54_IN_SEL_V: u32 = 1; +pub const GPIO_SIG54_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC54_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC54_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC54_IN_SEL: u32 = 63; +pub const GPIO_FUNC54_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC54_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC55_IN_SEL_CFG_REG: u32 = 1072972300; +pub const GPIO_SIG55_IN_SEL_V: u32 = 1; +pub const GPIO_SIG55_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC55_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC55_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC55_IN_SEL: u32 = 63; +pub const GPIO_FUNC55_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC55_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC56_IN_SEL_CFG_REG: u32 = 1072972304; +pub const GPIO_SIG56_IN_SEL_V: u32 = 1; +pub const GPIO_SIG56_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC56_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC56_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC56_IN_SEL: u32 = 63; +pub const GPIO_FUNC56_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC56_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC57_IN_SEL_CFG_REG: u32 = 1072972308; +pub const GPIO_SIG57_IN_SEL_V: u32 = 1; +pub const GPIO_SIG57_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC57_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC57_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC57_IN_SEL: u32 = 63; +pub const GPIO_FUNC57_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC57_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC58_IN_SEL_CFG_REG: u32 = 1072972312; +pub const GPIO_SIG58_IN_SEL_V: u32 = 1; +pub const GPIO_SIG58_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC58_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC58_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC58_IN_SEL: u32 = 63; +pub const GPIO_FUNC58_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC58_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC59_IN_SEL_CFG_REG: u32 = 1072972316; +pub const GPIO_SIG59_IN_SEL_V: u32 = 1; +pub const GPIO_SIG59_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC59_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC59_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC59_IN_SEL: u32 = 63; +pub const GPIO_FUNC59_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC59_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC60_IN_SEL_CFG_REG: u32 = 1072972320; +pub const GPIO_SIG60_IN_SEL_V: u32 = 1; +pub const GPIO_SIG60_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC60_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC60_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC60_IN_SEL: u32 = 63; +pub const GPIO_FUNC60_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC60_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC61_IN_SEL_CFG_REG: u32 = 1072972324; +pub const GPIO_SIG61_IN_SEL_V: u32 = 1; +pub const GPIO_SIG61_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC61_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC61_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC61_IN_SEL: u32 = 63; +pub const GPIO_FUNC61_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC61_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC62_IN_SEL_CFG_REG: u32 = 1072972328; +pub const GPIO_SIG62_IN_SEL_V: u32 = 1; +pub const GPIO_SIG62_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC62_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC62_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC62_IN_SEL: u32 = 63; +pub const GPIO_FUNC62_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC62_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC63_IN_SEL_CFG_REG: u32 = 1072972332; +pub const GPIO_SIG63_IN_SEL_V: u32 = 1; +pub const GPIO_SIG63_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC63_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC63_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC63_IN_SEL: u32 = 63; +pub const GPIO_FUNC63_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC63_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC64_IN_SEL_CFG_REG: u32 = 1072972336; +pub const GPIO_SIG64_IN_SEL_V: u32 = 1; +pub const GPIO_SIG64_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC64_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC64_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC64_IN_SEL: u32 = 63; +pub const GPIO_FUNC64_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC64_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC65_IN_SEL_CFG_REG: u32 = 1072972340; +pub const GPIO_SIG65_IN_SEL_V: u32 = 1; +pub const GPIO_SIG65_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC65_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC65_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC65_IN_SEL: u32 = 63; +pub const GPIO_FUNC65_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC65_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC66_IN_SEL_CFG_REG: u32 = 1072972344; +pub const GPIO_SIG66_IN_SEL_V: u32 = 1; +pub const GPIO_SIG66_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC66_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC66_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC66_IN_SEL: u32 = 63; +pub const GPIO_FUNC66_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC66_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC67_IN_SEL_CFG_REG: u32 = 1072972348; +pub const GPIO_SIG67_IN_SEL_V: u32 = 1; +pub const GPIO_SIG67_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC67_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC67_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC67_IN_SEL: u32 = 63; +pub const GPIO_FUNC67_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC67_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC68_IN_SEL_CFG_REG: u32 = 1072972352; +pub const GPIO_SIG68_IN_SEL_V: u32 = 1; +pub const GPIO_SIG68_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC68_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC68_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC68_IN_SEL: u32 = 63; +pub const GPIO_FUNC68_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC68_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC69_IN_SEL_CFG_REG: u32 = 1072972356; +pub const GPIO_SIG69_IN_SEL_V: u32 = 1; +pub const GPIO_SIG69_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC69_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC69_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC69_IN_SEL: u32 = 63; +pub const GPIO_FUNC69_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC69_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC70_IN_SEL_CFG_REG: u32 = 1072972360; +pub const GPIO_SIG70_IN_SEL_V: u32 = 1; +pub const GPIO_SIG70_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC70_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC70_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC70_IN_SEL: u32 = 63; +pub const GPIO_FUNC70_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC70_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC71_IN_SEL_CFG_REG: u32 = 1072972364; +pub const GPIO_SIG71_IN_SEL_V: u32 = 1; +pub const GPIO_SIG71_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC71_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC71_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC71_IN_SEL: u32 = 63; +pub const GPIO_FUNC71_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC71_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC72_IN_SEL_CFG_REG: u32 = 1072972368; +pub const GPIO_SIG72_IN_SEL_V: u32 = 1; +pub const GPIO_SIG72_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC72_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC72_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC72_IN_SEL: u32 = 63; +pub const GPIO_FUNC72_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC72_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC73_IN_SEL_CFG_REG: u32 = 1072972372; +pub const GPIO_SIG73_IN_SEL_V: u32 = 1; +pub const GPIO_SIG73_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC73_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC73_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC73_IN_SEL: u32 = 63; +pub const GPIO_FUNC73_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC73_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC74_IN_SEL_CFG_REG: u32 = 1072972376; +pub const GPIO_SIG74_IN_SEL_V: u32 = 1; +pub const GPIO_SIG74_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC74_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC74_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC74_IN_SEL: u32 = 63; +pub const GPIO_FUNC74_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC74_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC75_IN_SEL_CFG_REG: u32 = 1072972380; +pub const GPIO_SIG75_IN_SEL_V: u32 = 1; +pub const GPIO_SIG75_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC75_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC75_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC75_IN_SEL: u32 = 63; +pub const GPIO_FUNC75_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC75_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC76_IN_SEL_CFG_REG: u32 = 1072972384; +pub const GPIO_SIG76_IN_SEL_V: u32 = 1; +pub const GPIO_SIG76_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC76_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC76_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC76_IN_SEL: u32 = 63; +pub const GPIO_FUNC76_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC76_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC77_IN_SEL_CFG_REG: u32 = 1072972388; +pub const GPIO_SIG77_IN_SEL_V: u32 = 1; +pub const GPIO_SIG77_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC77_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC77_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC77_IN_SEL: u32 = 63; +pub const GPIO_FUNC77_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC77_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC78_IN_SEL_CFG_REG: u32 = 1072972392; +pub const GPIO_SIG78_IN_SEL_V: u32 = 1; +pub const GPIO_SIG78_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC78_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC78_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC78_IN_SEL: u32 = 63; +pub const GPIO_FUNC78_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC78_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC79_IN_SEL_CFG_REG: u32 = 1072972396; +pub const GPIO_SIG79_IN_SEL_V: u32 = 1; +pub const GPIO_SIG79_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC79_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC79_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC79_IN_SEL: u32 = 63; +pub const GPIO_FUNC79_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC79_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC80_IN_SEL_CFG_REG: u32 = 1072972400; +pub const GPIO_SIG80_IN_SEL_V: u32 = 1; +pub const GPIO_SIG80_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC80_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC80_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC80_IN_SEL: u32 = 63; +pub const GPIO_FUNC80_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC80_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC81_IN_SEL_CFG_REG: u32 = 1072972404; +pub const GPIO_SIG81_IN_SEL_V: u32 = 1; +pub const GPIO_SIG81_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC81_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC81_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC81_IN_SEL: u32 = 63; +pub const GPIO_FUNC81_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC81_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC82_IN_SEL_CFG_REG: u32 = 1072972408; +pub const GPIO_SIG82_IN_SEL_V: u32 = 1; +pub const GPIO_SIG82_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC82_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC82_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC82_IN_SEL: u32 = 63; +pub const GPIO_FUNC82_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC82_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC83_IN_SEL_CFG_REG: u32 = 1072972412; +pub const GPIO_SIG83_IN_SEL_V: u32 = 1; +pub const GPIO_SIG83_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC83_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC83_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC83_IN_SEL: u32 = 63; +pub const GPIO_FUNC83_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC83_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC84_IN_SEL_CFG_REG: u32 = 1072972416; +pub const GPIO_SIG84_IN_SEL_V: u32 = 1; +pub const GPIO_SIG84_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC84_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC84_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC84_IN_SEL: u32 = 63; +pub const GPIO_FUNC84_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC84_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC85_IN_SEL_CFG_REG: u32 = 1072972420; +pub const GPIO_SIG85_IN_SEL_V: u32 = 1; +pub const GPIO_SIG85_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC85_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC85_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC85_IN_SEL: u32 = 63; +pub const GPIO_FUNC85_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC85_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC86_IN_SEL_CFG_REG: u32 = 1072972424; +pub const GPIO_SIG86_IN_SEL_V: u32 = 1; +pub const GPIO_SIG86_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC86_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC86_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC86_IN_SEL: u32 = 63; +pub const GPIO_FUNC86_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC86_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC87_IN_SEL_CFG_REG: u32 = 1072972428; +pub const GPIO_SIG87_IN_SEL_V: u32 = 1; +pub const GPIO_SIG87_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC87_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC87_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC87_IN_SEL: u32 = 63; +pub const GPIO_FUNC87_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC87_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC88_IN_SEL_CFG_REG: u32 = 1072972432; +pub const GPIO_SIG88_IN_SEL_V: u32 = 1; +pub const GPIO_SIG88_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC88_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC88_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC88_IN_SEL: u32 = 63; +pub const GPIO_FUNC88_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC88_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC89_IN_SEL_CFG_REG: u32 = 1072972436; +pub const GPIO_SIG89_IN_SEL_V: u32 = 1; +pub const GPIO_SIG89_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC89_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC89_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC89_IN_SEL: u32 = 63; +pub const GPIO_FUNC89_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC89_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC90_IN_SEL_CFG_REG: u32 = 1072972440; +pub const GPIO_SIG90_IN_SEL_V: u32 = 1; +pub const GPIO_SIG90_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC90_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC90_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC90_IN_SEL: u32 = 63; +pub const GPIO_FUNC90_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC90_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC91_IN_SEL_CFG_REG: u32 = 1072972444; +pub const GPIO_SIG91_IN_SEL_V: u32 = 1; +pub const GPIO_SIG91_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC91_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC91_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC91_IN_SEL: u32 = 63; +pub const GPIO_FUNC91_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC91_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC92_IN_SEL_CFG_REG: u32 = 1072972448; +pub const GPIO_SIG92_IN_SEL_V: u32 = 1; +pub const GPIO_SIG92_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC92_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC92_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC92_IN_SEL: u32 = 63; +pub const GPIO_FUNC92_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC92_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC93_IN_SEL_CFG_REG: u32 = 1072972452; +pub const GPIO_SIG93_IN_SEL_V: u32 = 1; +pub const GPIO_SIG93_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC93_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC93_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC93_IN_SEL: u32 = 63; +pub const GPIO_FUNC93_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC93_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC94_IN_SEL_CFG_REG: u32 = 1072972456; +pub const GPIO_SIG94_IN_SEL_V: u32 = 1; +pub const GPIO_SIG94_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC94_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC94_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC94_IN_SEL: u32 = 63; +pub const GPIO_FUNC94_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC94_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC95_IN_SEL_CFG_REG: u32 = 1072972460; +pub const GPIO_SIG95_IN_SEL_V: u32 = 1; +pub const GPIO_SIG95_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC95_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC95_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC95_IN_SEL: u32 = 63; +pub const GPIO_FUNC95_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC95_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC96_IN_SEL_CFG_REG: u32 = 1072972464; +pub const GPIO_SIG96_IN_SEL_V: u32 = 1; +pub const GPIO_SIG96_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC96_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC96_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC96_IN_SEL: u32 = 63; +pub const GPIO_FUNC96_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC96_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC97_IN_SEL_CFG_REG: u32 = 1072972468; +pub const GPIO_SIG97_IN_SEL_V: u32 = 1; +pub const GPIO_SIG97_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC97_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC97_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC97_IN_SEL: u32 = 63; +pub const GPIO_FUNC97_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC97_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC98_IN_SEL_CFG_REG: u32 = 1072972472; +pub const GPIO_SIG98_IN_SEL_V: u32 = 1; +pub const GPIO_SIG98_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC98_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC98_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC98_IN_SEL: u32 = 63; +pub const GPIO_FUNC98_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC98_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC99_IN_SEL_CFG_REG: u32 = 1072972476; +pub const GPIO_SIG99_IN_SEL_V: u32 = 1; +pub const GPIO_SIG99_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC99_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC99_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC99_IN_SEL: u32 = 63; +pub const GPIO_FUNC99_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC99_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC100_IN_SEL_CFG_REG: u32 = 1072972480; +pub const GPIO_SIG100_IN_SEL_V: u32 = 1; +pub const GPIO_SIG100_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC100_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC100_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC100_IN_SEL: u32 = 63; +pub const GPIO_FUNC100_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC100_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC101_IN_SEL_CFG_REG: u32 = 1072972484; +pub const GPIO_SIG101_IN_SEL_V: u32 = 1; +pub const GPIO_SIG101_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC101_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC101_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC101_IN_SEL: u32 = 63; +pub const GPIO_FUNC101_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC101_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC102_IN_SEL_CFG_REG: u32 = 1072972488; +pub const GPIO_SIG102_IN_SEL_V: u32 = 1; +pub const GPIO_SIG102_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC102_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC102_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC102_IN_SEL: u32 = 63; +pub const GPIO_FUNC102_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC102_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC103_IN_SEL_CFG_REG: u32 = 1072972492; +pub const GPIO_SIG103_IN_SEL_V: u32 = 1; +pub const GPIO_SIG103_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC103_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC103_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC103_IN_SEL: u32 = 63; +pub const GPIO_FUNC103_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC103_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC104_IN_SEL_CFG_REG: u32 = 1072972496; +pub const GPIO_SIG104_IN_SEL_V: u32 = 1; +pub const GPIO_SIG104_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC104_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC104_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC104_IN_SEL: u32 = 63; +pub const GPIO_FUNC104_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC104_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC105_IN_SEL_CFG_REG: u32 = 1072972500; +pub const GPIO_SIG105_IN_SEL_V: u32 = 1; +pub const GPIO_SIG105_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC105_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC105_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC105_IN_SEL: u32 = 63; +pub const GPIO_FUNC105_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC105_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC106_IN_SEL_CFG_REG: u32 = 1072972504; +pub const GPIO_SIG106_IN_SEL_V: u32 = 1; +pub const GPIO_SIG106_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC106_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC106_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC106_IN_SEL: u32 = 63; +pub const GPIO_FUNC106_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC106_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC107_IN_SEL_CFG_REG: u32 = 1072972508; +pub const GPIO_SIG107_IN_SEL_V: u32 = 1; +pub const GPIO_SIG107_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC107_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC107_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC107_IN_SEL: u32 = 63; +pub const GPIO_FUNC107_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC107_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC108_IN_SEL_CFG_REG: u32 = 1072972512; +pub const GPIO_SIG108_IN_SEL_V: u32 = 1; +pub const GPIO_SIG108_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC108_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC108_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC108_IN_SEL: u32 = 63; +pub const GPIO_FUNC108_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC108_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC109_IN_SEL_CFG_REG: u32 = 1072972516; +pub const GPIO_SIG109_IN_SEL_V: u32 = 1; +pub const GPIO_SIG109_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC109_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC109_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC109_IN_SEL: u32 = 63; +pub const GPIO_FUNC109_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC109_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC110_IN_SEL_CFG_REG: u32 = 1072972520; +pub const GPIO_SIG110_IN_SEL_V: u32 = 1; +pub const GPIO_SIG110_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC110_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC110_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC110_IN_SEL: u32 = 63; +pub const GPIO_FUNC110_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC110_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC111_IN_SEL_CFG_REG: u32 = 1072972524; +pub const GPIO_SIG111_IN_SEL_V: u32 = 1; +pub const GPIO_SIG111_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC111_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC111_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC111_IN_SEL: u32 = 63; +pub const GPIO_FUNC111_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC111_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC112_IN_SEL_CFG_REG: u32 = 1072972528; +pub const GPIO_SIG112_IN_SEL_V: u32 = 1; +pub const GPIO_SIG112_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC112_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC112_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC112_IN_SEL: u32 = 63; +pub const GPIO_FUNC112_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC112_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC113_IN_SEL_CFG_REG: u32 = 1072972532; +pub const GPIO_SIG113_IN_SEL_V: u32 = 1; +pub const GPIO_SIG113_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC113_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC113_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC113_IN_SEL: u32 = 63; +pub const GPIO_FUNC113_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC113_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC114_IN_SEL_CFG_REG: u32 = 1072972536; +pub const GPIO_SIG114_IN_SEL_V: u32 = 1; +pub const GPIO_SIG114_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC114_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC114_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC114_IN_SEL: u32 = 63; +pub const GPIO_FUNC114_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC114_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC115_IN_SEL_CFG_REG: u32 = 1072972540; +pub const GPIO_SIG115_IN_SEL_V: u32 = 1; +pub const GPIO_SIG115_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC115_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC115_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC115_IN_SEL: u32 = 63; +pub const GPIO_FUNC115_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC115_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC116_IN_SEL_CFG_REG: u32 = 1072972544; +pub const GPIO_SIG116_IN_SEL_V: u32 = 1; +pub const GPIO_SIG116_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC116_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC116_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC116_IN_SEL: u32 = 63; +pub const GPIO_FUNC116_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC116_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC117_IN_SEL_CFG_REG: u32 = 1072972548; +pub const GPIO_SIG117_IN_SEL_V: u32 = 1; +pub const GPIO_SIG117_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC117_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC117_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC117_IN_SEL: u32 = 63; +pub const GPIO_FUNC117_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC117_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC118_IN_SEL_CFG_REG: u32 = 1072972552; +pub const GPIO_SIG118_IN_SEL_V: u32 = 1; +pub const GPIO_SIG118_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC118_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC118_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC118_IN_SEL: u32 = 63; +pub const GPIO_FUNC118_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC118_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC119_IN_SEL_CFG_REG: u32 = 1072972556; +pub const GPIO_SIG119_IN_SEL_V: u32 = 1; +pub const GPIO_SIG119_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC119_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC119_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC119_IN_SEL: u32 = 63; +pub const GPIO_FUNC119_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC119_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC120_IN_SEL_CFG_REG: u32 = 1072972560; +pub const GPIO_SIG120_IN_SEL_V: u32 = 1; +pub const GPIO_SIG120_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC120_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC120_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC120_IN_SEL: u32 = 63; +pub const GPIO_FUNC120_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC120_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC121_IN_SEL_CFG_REG: u32 = 1072972564; +pub const GPIO_SIG121_IN_SEL_V: u32 = 1; +pub const GPIO_SIG121_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC121_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC121_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC121_IN_SEL: u32 = 63; +pub const GPIO_FUNC121_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC121_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC122_IN_SEL_CFG_REG: u32 = 1072972568; +pub const GPIO_SIG122_IN_SEL_V: u32 = 1; +pub const GPIO_SIG122_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC122_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC122_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC122_IN_SEL: u32 = 63; +pub const GPIO_FUNC122_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC122_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC123_IN_SEL_CFG_REG: u32 = 1072972572; +pub const GPIO_SIG123_IN_SEL_V: u32 = 1; +pub const GPIO_SIG123_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC123_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC123_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC123_IN_SEL: u32 = 63; +pub const GPIO_FUNC123_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC123_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC124_IN_SEL_CFG_REG: u32 = 1072972576; +pub const GPIO_SIG124_IN_SEL_V: u32 = 1; +pub const GPIO_SIG124_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC124_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC124_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC124_IN_SEL: u32 = 63; +pub const GPIO_FUNC124_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC124_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC125_IN_SEL_CFG_REG: u32 = 1072972580; +pub const GPIO_SIG125_IN_SEL_V: u32 = 1; +pub const GPIO_SIG125_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC125_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC125_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC125_IN_SEL: u32 = 63; +pub const GPIO_FUNC125_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC125_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC126_IN_SEL_CFG_REG: u32 = 1072972584; +pub const GPIO_SIG126_IN_SEL_V: u32 = 1; +pub const GPIO_SIG126_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC126_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC126_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC126_IN_SEL: u32 = 63; +pub const GPIO_FUNC126_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC126_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC127_IN_SEL_CFG_REG: u32 = 1072972588; +pub const GPIO_SIG127_IN_SEL_V: u32 = 1; +pub const GPIO_SIG127_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC127_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC127_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC127_IN_SEL: u32 = 63; +pub const GPIO_FUNC127_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC127_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC128_IN_SEL_CFG_REG: u32 = 1072972592; +pub const GPIO_SIG128_IN_SEL_V: u32 = 1; +pub const GPIO_SIG128_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC128_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC128_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC128_IN_SEL: u32 = 63; +pub const GPIO_FUNC128_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC128_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC129_IN_SEL_CFG_REG: u32 = 1072972596; +pub const GPIO_SIG129_IN_SEL_V: u32 = 1; +pub const GPIO_SIG129_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC129_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC129_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC129_IN_SEL: u32 = 63; +pub const GPIO_FUNC129_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC129_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC130_IN_SEL_CFG_REG: u32 = 1072972600; +pub const GPIO_SIG130_IN_SEL_V: u32 = 1; +pub const GPIO_SIG130_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC130_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC130_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC130_IN_SEL: u32 = 63; +pub const GPIO_FUNC130_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC130_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC131_IN_SEL_CFG_REG: u32 = 1072972604; +pub const GPIO_SIG131_IN_SEL_V: u32 = 1; +pub const GPIO_SIG131_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC131_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC131_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC131_IN_SEL: u32 = 63; +pub const GPIO_FUNC131_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC131_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC132_IN_SEL_CFG_REG: u32 = 1072972608; +pub const GPIO_SIG132_IN_SEL_V: u32 = 1; +pub const GPIO_SIG132_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC132_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC132_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC132_IN_SEL: u32 = 63; +pub const GPIO_FUNC132_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC132_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC133_IN_SEL_CFG_REG: u32 = 1072972612; +pub const GPIO_SIG133_IN_SEL_V: u32 = 1; +pub const GPIO_SIG133_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC133_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC133_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC133_IN_SEL: u32 = 63; +pub const GPIO_FUNC133_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC133_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC134_IN_SEL_CFG_REG: u32 = 1072972616; +pub const GPIO_SIG134_IN_SEL_V: u32 = 1; +pub const GPIO_SIG134_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC134_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC134_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC134_IN_SEL: u32 = 63; +pub const GPIO_FUNC134_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC134_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC135_IN_SEL_CFG_REG: u32 = 1072972620; +pub const GPIO_SIG135_IN_SEL_V: u32 = 1; +pub const GPIO_SIG135_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC135_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC135_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC135_IN_SEL: u32 = 63; +pub const GPIO_FUNC135_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC135_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC136_IN_SEL_CFG_REG: u32 = 1072972624; +pub const GPIO_SIG136_IN_SEL_V: u32 = 1; +pub const GPIO_SIG136_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC136_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC136_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC136_IN_SEL: u32 = 63; +pub const GPIO_FUNC136_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC136_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC137_IN_SEL_CFG_REG: u32 = 1072972628; +pub const GPIO_SIG137_IN_SEL_V: u32 = 1; +pub const GPIO_SIG137_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC137_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC137_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC137_IN_SEL: u32 = 63; +pub const GPIO_FUNC137_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC137_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC138_IN_SEL_CFG_REG: u32 = 1072972632; +pub const GPIO_SIG138_IN_SEL_V: u32 = 1; +pub const GPIO_SIG138_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC138_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC138_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC138_IN_SEL: u32 = 63; +pub const GPIO_FUNC138_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC138_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC139_IN_SEL_CFG_REG: u32 = 1072972636; +pub const GPIO_SIG139_IN_SEL_V: u32 = 1; +pub const GPIO_SIG139_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC139_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC139_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC139_IN_SEL: u32 = 63; +pub const GPIO_FUNC139_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC139_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC140_IN_SEL_CFG_REG: u32 = 1072972640; +pub const GPIO_SIG140_IN_SEL_V: u32 = 1; +pub const GPIO_SIG140_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC140_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC140_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC140_IN_SEL: u32 = 63; +pub const GPIO_FUNC140_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC140_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC141_IN_SEL_CFG_REG: u32 = 1072972644; +pub const GPIO_SIG141_IN_SEL_V: u32 = 1; +pub const GPIO_SIG141_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC141_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC141_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC141_IN_SEL: u32 = 63; +pub const GPIO_FUNC141_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC141_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC142_IN_SEL_CFG_REG: u32 = 1072972648; +pub const GPIO_SIG142_IN_SEL_V: u32 = 1; +pub const GPIO_SIG142_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC142_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC142_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC142_IN_SEL: u32 = 63; +pub const GPIO_FUNC142_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC142_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC143_IN_SEL_CFG_REG: u32 = 1072972652; +pub const GPIO_SIG143_IN_SEL_V: u32 = 1; +pub const GPIO_SIG143_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC143_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC143_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC143_IN_SEL: u32 = 63; +pub const GPIO_FUNC143_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC143_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC144_IN_SEL_CFG_REG: u32 = 1072972656; +pub const GPIO_SIG144_IN_SEL_V: u32 = 1; +pub const GPIO_SIG144_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC144_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC144_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC144_IN_SEL: u32 = 63; +pub const GPIO_FUNC144_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC144_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC145_IN_SEL_CFG_REG: u32 = 1072972660; +pub const GPIO_SIG145_IN_SEL_V: u32 = 1; +pub const GPIO_SIG145_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC145_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC145_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC145_IN_SEL: u32 = 63; +pub const GPIO_FUNC145_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC145_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC146_IN_SEL_CFG_REG: u32 = 1072972664; +pub const GPIO_SIG146_IN_SEL_V: u32 = 1; +pub const GPIO_SIG146_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC146_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC146_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC146_IN_SEL: u32 = 63; +pub const GPIO_FUNC146_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC146_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC147_IN_SEL_CFG_REG: u32 = 1072972668; +pub const GPIO_SIG147_IN_SEL_V: u32 = 1; +pub const GPIO_SIG147_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC147_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC147_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC147_IN_SEL: u32 = 63; +pub const GPIO_FUNC147_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC147_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC148_IN_SEL_CFG_REG: u32 = 1072972672; +pub const GPIO_SIG148_IN_SEL_V: u32 = 1; +pub const GPIO_SIG148_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC148_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC148_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC148_IN_SEL: u32 = 63; +pub const GPIO_FUNC148_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC148_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC149_IN_SEL_CFG_REG: u32 = 1072972676; +pub const GPIO_SIG149_IN_SEL_V: u32 = 1; +pub const GPIO_SIG149_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC149_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC149_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC149_IN_SEL: u32 = 63; +pub const GPIO_FUNC149_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC149_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC150_IN_SEL_CFG_REG: u32 = 1072972680; +pub const GPIO_SIG150_IN_SEL_V: u32 = 1; +pub const GPIO_SIG150_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC150_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC150_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC150_IN_SEL: u32 = 63; +pub const GPIO_FUNC150_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC150_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC151_IN_SEL_CFG_REG: u32 = 1072972684; +pub const GPIO_SIG151_IN_SEL_V: u32 = 1; +pub const GPIO_SIG151_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC151_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC151_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC151_IN_SEL: u32 = 63; +pub const GPIO_FUNC151_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC151_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC152_IN_SEL_CFG_REG: u32 = 1072972688; +pub const GPIO_SIG152_IN_SEL_V: u32 = 1; +pub const GPIO_SIG152_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC152_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC152_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC152_IN_SEL: u32 = 63; +pub const GPIO_FUNC152_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC152_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC153_IN_SEL_CFG_REG: u32 = 1072972692; +pub const GPIO_SIG153_IN_SEL_V: u32 = 1; +pub const GPIO_SIG153_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC153_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC153_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC153_IN_SEL: u32 = 63; +pub const GPIO_FUNC153_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC153_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC154_IN_SEL_CFG_REG: u32 = 1072972696; +pub const GPIO_SIG154_IN_SEL_V: u32 = 1; +pub const GPIO_SIG154_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC154_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC154_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC154_IN_SEL: u32 = 63; +pub const GPIO_FUNC154_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC154_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC155_IN_SEL_CFG_REG: u32 = 1072972700; +pub const GPIO_SIG155_IN_SEL_V: u32 = 1; +pub const GPIO_SIG155_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC155_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC155_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC155_IN_SEL: u32 = 63; +pub const GPIO_FUNC155_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC155_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC156_IN_SEL_CFG_REG: u32 = 1072972704; +pub const GPIO_SIG156_IN_SEL_V: u32 = 1; +pub const GPIO_SIG156_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC156_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC156_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC156_IN_SEL: u32 = 63; +pub const GPIO_FUNC156_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC156_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC157_IN_SEL_CFG_REG: u32 = 1072972708; +pub const GPIO_SIG157_IN_SEL_V: u32 = 1; +pub const GPIO_SIG157_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC157_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC157_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC157_IN_SEL: u32 = 63; +pub const GPIO_FUNC157_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC157_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC158_IN_SEL_CFG_REG: u32 = 1072972712; +pub const GPIO_SIG158_IN_SEL_V: u32 = 1; +pub const GPIO_SIG158_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC158_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC158_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC158_IN_SEL: u32 = 63; +pub const GPIO_FUNC158_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC158_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC159_IN_SEL_CFG_REG: u32 = 1072972716; +pub const GPIO_SIG159_IN_SEL_V: u32 = 1; +pub const GPIO_SIG159_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC159_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC159_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC159_IN_SEL: u32 = 63; +pub const GPIO_FUNC159_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC159_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC160_IN_SEL_CFG_REG: u32 = 1072972720; +pub const GPIO_SIG160_IN_SEL_V: u32 = 1; +pub const GPIO_SIG160_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC160_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC160_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC160_IN_SEL: u32 = 63; +pub const GPIO_FUNC160_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC160_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC161_IN_SEL_CFG_REG: u32 = 1072972724; +pub const GPIO_SIG161_IN_SEL_V: u32 = 1; +pub const GPIO_SIG161_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC161_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC161_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC161_IN_SEL: u32 = 63; +pub const GPIO_FUNC161_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC161_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC162_IN_SEL_CFG_REG: u32 = 1072972728; +pub const GPIO_SIG162_IN_SEL_V: u32 = 1; +pub const GPIO_SIG162_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC162_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC162_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC162_IN_SEL: u32 = 63; +pub const GPIO_FUNC162_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC162_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC163_IN_SEL_CFG_REG: u32 = 1072972732; +pub const GPIO_SIG163_IN_SEL_V: u32 = 1; +pub const GPIO_SIG163_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC163_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC163_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC163_IN_SEL: u32 = 63; +pub const GPIO_FUNC163_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC163_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC164_IN_SEL_CFG_REG: u32 = 1072972736; +pub const GPIO_SIG164_IN_SEL_V: u32 = 1; +pub const GPIO_SIG164_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC164_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC164_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC164_IN_SEL: u32 = 63; +pub const GPIO_FUNC164_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC164_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC165_IN_SEL_CFG_REG: u32 = 1072972740; +pub const GPIO_SIG165_IN_SEL_V: u32 = 1; +pub const GPIO_SIG165_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC165_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC165_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC165_IN_SEL: u32 = 63; +pub const GPIO_FUNC165_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC165_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC166_IN_SEL_CFG_REG: u32 = 1072972744; +pub const GPIO_SIG166_IN_SEL_V: u32 = 1; +pub const GPIO_SIG166_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC166_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC166_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC166_IN_SEL: u32 = 63; +pub const GPIO_FUNC166_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC166_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC167_IN_SEL_CFG_REG: u32 = 1072972748; +pub const GPIO_SIG167_IN_SEL_V: u32 = 1; +pub const GPIO_SIG167_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC167_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC167_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC167_IN_SEL: u32 = 63; +pub const GPIO_FUNC167_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC167_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC168_IN_SEL_CFG_REG: u32 = 1072972752; +pub const GPIO_SIG168_IN_SEL_V: u32 = 1; +pub const GPIO_SIG168_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC168_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC168_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC168_IN_SEL: u32 = 63; +pub const GPIO_FUNC168_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC168_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC169_IN_SEL_CFG_REG: u32 = 1072972756; +pub const GPIO_SIG169_IN_SEL_V: u32 = 1; +pub const GPIO_SIG169_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC169_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC169_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC169_IN_SEL: u32 = 63; +pub const GPIO_FUNC169_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC169_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC170_IN_SEL_CFG_REG: u32 = 1072972760; +pub const GPIO_SIG170_IN_SEL_V: u32 = 1; +pub const GPIO_SIG170_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC170_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC170_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC170_IN_SEL: u32 = 63; +pub const GPIO_FUNC170_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC170_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC171_IN_SEL_CFG_REG: u32 = 1072972764; +pub const GPIO_SIG171_IN_SEL_V: u32 = 1; +pub const GPIO_SIG171_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC171_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC171_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC171_IN_SEL: u32 = 63; +pub const GPIO_FUNC171_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC171_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC172_IN_SEL_CFG_REG: u32 = 1072972768; +pub const GPIO_SIG172_IN_SEL_V: u32 = 1; +pub const GPIO_SIG172_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC172_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC172_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC172_IN_SEL: u32 = 63; +pub const GPIO_FUNC172_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC172_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC173_IN_SEL_CFG_REG: u32 = 1072972772; +pub const GPIO_SIG173_IN_SEL_V: u32 = 1; +pub const GPIO_SIG173_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC173_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC173_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC173_IN_SEL: u32 = 63; +pub const GPIO_FUNC173_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC173_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC174_IN_SEL_CFG_REG: u32 = 1072972776; +pub const GPIO_SIG174_IN_SEL_V: u32 = 1; +pub const GPIO_SIG174_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC174_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC174_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC174_IN_SEL: u32 = 63; +pub const GPIO_FUNC174_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC174_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC175_IN_SEL_CFG_REG: u32 = 1072972780; +pub const GPIO_SIG175_IN_SEL_V: u32 = 1; +pub const GPIO_SIG175_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC175_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC175_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC175_IN_SEL: u32 = 63; +pub const GPIO_FUNC175_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC175_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC176_IN_SEL_CFG_REG: u32 = 1072972784; +pub const GPIO_SIG176_IN_SEL_V: u32 = 1; +pub const GPIO_SIG176_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC176_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC176_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC176_IN_SEL: u32 = 63; +pub const GPIO_FUNC176_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC176_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC177_IN_SEL_CFG_REG: u32 = 1072972788; +pub const GPIO_SIG177_IN_SEL_V: u32 = 1; +pub const GPIO_SIG177_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC177_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC177_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC177_IN_SEL: u32 = 63; +pub const GPIO_FUNC177_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC177_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC178_IN_SEL_CFG_REG: u32 = 1072972792; +pub const GPIO_SIG178_IN_SEL_V: u32 = 1; +pub const GPIO_SIG178_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC178_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC178_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC178_IN_SEL: u32 = 63; +pub const GPIO_FUNC178_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC178_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC179_IN_SEL_CFG_REG: u32 = 1072972796; +pub const GPIO_SIG179_IN_SEL_V: u32 = 1; +pub const GPIO_SIG179_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC179_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC179_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC179_IN_SEL: u32 = 63; +pub const GPIO_FUNC179_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC179_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC180_IN_SEL_CFG_REG: u32 = 1072972800; +pub const GPIO_SIG180_IN_SEL_V: u32 = 1; +pub const GPIO_SIG180_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC180_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC180_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC180_IN_SEL: u32 = 63; +pub const GPIO_FUNC180_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC180_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC181_IN_SEL_CFG_REG: u32 = 1072972804; +pub const GPIO_SIG181_IN_SEL_V: u32 = 1; +pub const GPIO_SIG181_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC181_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC181_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC181_IN_SEL: u32 = 63; +pub const GPIO_FUNC181_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC181_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC182_IN_SEL_CFG_REG: u32 = 1072972808; +pub const GPIO_SIG182_IN_SEL_V: u32 = 1; +pub const GPIO_SIG182_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC182_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC182_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC182_IN_SEL: u32 = 63; +pub const GPIO_FUNC182_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC182_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC183_IN_SEL_CFG_REG: u32 = 1072972812; +pub const GPIO_SIG183_IN_SEL_V: u32 = 1; +pub const GPIO_SIG183_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC183_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC183_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC183_IN_SEL: u32 = 63; +pub const GPIO_FUNC183_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC183_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC184_IN_SEL_CFG_REG: u32 = 1072972816; +pub const GPIO_SIG184_IN_SEL_V: u32 = 1; +pub const GPIO_SIG184_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC184_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC184_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC184_IN_SEL: u32 = 63; +pub const GPIO_FUNC184_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC184_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC185_IN_SEL_CFG_REG: u32 = 1072972820; +pub const GPIO_SIG185_IN_SEL_V: u32 = 1; +pub const GPIO_SIG185_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC185_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC185_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC185_IN_SEL: u32 = 63; +pub const GPIO_FUNC185_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC185_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC186_IN_SEL_CFG_REG: u32 = 1072972824; +pub const GPIO_SIG186_IN_SEL_V: u32 = 1; +pub const GPIO_SIG186_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC186_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC186_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC186_IN_SEL: u32 = 63; +pub const GPIO_FUNC186_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC186_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC187_IN_SEL_CFG_REG: u32 = 1072972828; +pub const GPIO_SIG187_IN_SEL_V: u32 = 1; +pub const GPIO_SIG187_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC187_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC187_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC187_IN_SEL: u32 = 63; +pub const GPIO_FUNC187_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC187_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC188_IN_SEL_CFG_REG: u32 = 1072972832; +pub const GPIO_SIG188_IN_SEL_V: u32 = 1; +pub const GPIO_SIG188_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC188_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC188_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC188_IN_SEL: u32 = 63; +pub const GPIO_FUNC188_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC188_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC189_IN_SEL_CFG_REG: u32 = 1072972836; +pub const GPIO_SIG189_IN_SEL_V: u32 = 1; +pub const GPIO_SIG189_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC189_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC189_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC189_IN_SEL: u32 = 63; +pub const GPIO_FUNC189_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC189_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC190_IN_SEL_CFG_REG: u32 = 1072972840; +pub const GPIO_SIG190_IN_SEL_V: u32 = 1; +pub const GPIO_SIG190_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC190_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC190_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC190_IN_SEL: u32 = 63; +pub const GPIO_FUNC190_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC190_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC191_IN_SEL_CFG_REG: u32 = 1072972844; +pub const GPIO_SIG191_IN_SEL_V: u32 = 1; +pub const GPIO_SIG191_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC191_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC191_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC191_IN_SEL: u32 = 63; +pub const GPIO_FUNC191_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC191_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC192_IN_SEL_CFG_REG: u32 = 1072972848; +pub const GPIO_SIG192_IN_SEL_V: u32 = 1; +pub const GPIO_SIG192_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC192_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC192_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC192_IN_SEL: u32 = 63; +pub const GPIO_FUNC192_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC192_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC193_IN_SEL_CFG_REG: u32 = 1072972852; +pub const GPIO_SIG193_IN_SEL_V: u32 = 1; +pub const GPIO_SIG193_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC193_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC193_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC193_IN_SEL: u32 = 63; +pub const GPIO_FUNC193_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC193_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC194_IN_SEL_CFG_REG: u32 = 1072972856; +pub const GPIO_SIG194_IN_SEL_V: u32 = 1; +pub const GPIO_SIG194_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC194_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC194_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC194_IN_SEL: u32 = 63; +pub const GPIO_FUNC194_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC194_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC195_IN_SEL_CFG_REG: u32 = 1072972860; +pub const GPIO_SIG195_IN_SEL_V: u32 = 1; +pub const GPIO_SIG195_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC195_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC195_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC195_IN_SEL: u32 = 63; +pub const GPIO_FUNC195_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC195_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC196_IN_SEL_CFG_REG: u32 = 1072972864; +pub const GPIO_SIG196_IN_SEL_V: u32 = 1; +pub const GPIO_SIG196_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC196_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC196_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC196_IN_SEL: u32 = 63; +pub const GPIO_FUNC196_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC196_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC197_IN_SEL_CFG_REG: u32 = 1072972868; +pub const GPIO_SIG197_IN_SEL_V: u32 = 1; +pub const GPIO_SIG197_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC197_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC197_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC197_IN_SEL: u32 = 63; +pub const GPIO_FUNC197_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC197_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC198_IN_SEL_CFG_REG: u32 = 1072972872; +pub const GPIO_SIG198_IN_SEL_V: u32 = 1; +pub const GPIO_SIG198_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC198_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC198_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC198_IN_SEL: u32 = 63; +pub const GPIO_FUNC198_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC198_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC199_IN_SEL_CFG_REG: u32 = 1072972876; +pub const GPIO_SIG199_IN_SEL_V: u32 = 1; +pub const GPIO_SIG199_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC199_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC199_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC199_IN_SEL: u32 = 63; +pub const GPIO_FUNC199_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC199_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC200_IN_SEL_CFG_REG: u32 = 1072972880; +pub const GPIO_SIG200_IN_SEL_V: u32 = 1; +pub const GPIO_SIG200_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC200_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC200_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC200_IN_SEL: u32 = 63; +pub const GPIO_FUNC200_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC200_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC201_IN_SEL_CFG_REG: u32 = 1072972884; +pub const GPIO_SIG201_IN_SEL_V: u32 = 1; +pub const GPIO_SIG201_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC201_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC201_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC201_IN_SEL: u32 = 63; +pub const GPIO_FUNC201_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC201_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC202_IN_SEL_CFG_REG: u32 = 1072972888; +pub const GPIO_SIG202_IN_SEL_V: u32 = 1; +pub const GPIO_SIG202_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC202_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC202_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC202_IN_SEL: u32 = 63; +pub const GPIO_FUNC202_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC202_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC203_IN_SEL_CFG_REG: u32 = 1072972892; +pub const GPIO_SIG203_IN_SEL_V: u32 = 1; +pub const GPIO_SIG203_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC203_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC203_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC203_IN_SEL: u32 = 63; +pub const GPIO_FUNC203_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC203_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC204_IN_SEL_CFG_REG: u32 = 1072972896; +pub const GPIO_SIG204_IN_SEL_V: u32 = 1; +pub const GPIO_SIG204_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC204_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC204_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC204_IN_SEL: u32 = 63; +pub const GPIO_FUNC204_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC204_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC205_IN_SEL_CFG_REG: u32 = 1072972900; +pub const GPIO_SIG205_IN_SEL_V: u32 = 1; +pub const GPIO_SIG205_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC205_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC205_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC205_IN_SEL: u32 = 63; +pub const GPIO_FUNC205_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC205_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC206_IN_SEL_CFG_REG: u32 = 1072972904; +pub const GPIO_SIG206_IN_SEL_V: u32 = 1; +pub const GPIO_SIG206_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC206_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC206_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC206_IN_SEL: u32 = 63; +pub const GPIO_FUNC206_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC206_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC207_IN_SEL_CFG_REG: u32 = 1072972908; +pub const GPIO_SIG207_IN_SEL_V: u32 = 1; +pub const GPIO_SIG207_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC207_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC207_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC207_IN_SEL: u32 = 63; +pub const GPIO_FUNC207_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC207_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC208_IN_SEL_CFG_REG: u32 = 1072972912; +pub const GPIO_SIG208_IN_SEL_V: u32 = 1; +pub const GPIO_SIG208_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC208_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC208_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC208_IN_SEL: u32 = 63; +pub const GPIO_FUNC208_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC208_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC209_IN_SEL_CFG_REG: u32 = 1072972916; +pub const GPIO_SIG209_IN_SEL_V: u32 = 1; +pub const GPIO_SIG209_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC209_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC209_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC209_IN_SEL: u32 = 63; +pub const GPIO_FUNC209_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC209_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC210_IN_SEL_CFG_REG: u32 = 1072972920; +pub const GPIO_SIG210_IN_SEL_V: u32 = 1; +pub const GPIO_SIG210_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC210_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC210_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC210_IN_SEL: u32 = 63; +pub const GPIO_FUNC210_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC210_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC211_IN_SEL_CFG_REG: u32 = 1072972924; +pub const GPIO_SIG211_IN_SEL_V: u32 = 1; +pub const GPIO_SIG211_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC211_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC211_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC211_IN_SEL: u32 = 63; +pub const GPIO_FUNC211_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC211_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC212_IN_SEL_CFG_REG: u32 = 1072972928; +pub const GPIO_SIG212_IN_SEL_V: u32 = 1; +pub const GPIO_SIG212_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC212_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC212_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC212_IN_SEL: u32 = 63; +pub const GPIO_FUNC212_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC212_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC213_IN_SEL_CFG_REG: u32 = 1072972932; +pub const GPIO_SIG213_IN_SEL_V: u32 = 1; +pub const GPIO_SIG213_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC213_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC213_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC213_IN_SEL: u32 = 63; +pub const GPIO_FUNC213_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC213_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC214_IN_SEL_CFG_REG: u32 = 1072972936; +pub const GPIO_SIG214_IN_SEL_V: u32 = 1; +pub const GPIO_SIG214_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC214_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC214_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC214_IN_SEL: u32 = 63; +pub const GPIO_FUNC214_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC214_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC215_IN_SEL_CFG_REG: u32 = 1072972940; +pub const GPIO_SIG215_IN_SEL_V: u32 = 1; +pub const GPIO_SIG215_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC215_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC215_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC215_IN_SEL: u32 = 63; +pub const GPIO_FUNC215_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC215_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC216_IN_SEL_CFG_REG: u32 = 1072972944; +pub const GPIO_SIG216_IN_SEL_V: u32 = 1; +pub const GPIO_SIG216_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC216_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC216_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC216_IN_SEL: u32 = 63; +pub const GPIO_FUNC216_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC216_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC217_IN_SEL_CFG_REG: u32 = 1072972948; +pub const GPIO_SIG217_IN_SEL_V: u32 = 1; +pub const GPIO_SIG217_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC217_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC217_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC217_IN_SEL: u32 = 63; +pub const GPIO_FUNC217_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC217_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC218_IN_SEL_CFG_REG: u32 = 1072972952; +pub const GPIO_SIG218_IN_SEL_V: u32 = 1; +pub const GPIO_SIG218_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC218_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC218_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC218_IN_SEL: u32 = 63; +pub const GPIO_FUNC218_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC218_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC219_IN_SEL_CFG_REG: u32 = 1072972956; +pub const GPIO_SIG219_IN_SEL_V: u32 = 1; +pub const GPIO_SIG219_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC219_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC219_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC219_IN_SEL: u32 = 63; +pub const GPIO_FUNC219_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC219_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC220_IN_SEL_CFG_REG: u32 = 1072972960; +pub const GPIO_SIG220_IN_SEL_V: u32 = 1; +pub const GPIO_SIG220_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC220_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC220_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC220_IN_SEL: u32 = 63; +pub const GPIO_FUNC220_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC220_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC221_IN_SEL_CFG_REG: u32 = 1072972964; +pub const GPIO_SIG221_IN_SEL_V: u32 = 1; +pub const GPIO_SIG221_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC221_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC221_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC221_IN_SEL: u32 = 63; +pub const GPIO_FUNC221_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC221_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC222_IN_SEL_CFG_REG: u32 = 1072972968; +pub const GPIO_SIG222_IN_SEL_V: u32 = 1; +pub const GPIO_SIG222_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC222_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC222_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC222_IN_SEL: u32 = 63; +pub const GPIO_FUNC222_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC222_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC223_IN_SEL_CFG_REG: u32 = 1072972972; +pub const GPIO_SIG223_IN_SEL_V: u32 = 1; +pub const GPIO_SIG223_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC223_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC223_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC223_IN_SEL: u32 = 63; +pub const GPIO_FUNC223_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC223_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC224_IN_SEL_CFG_REG: u32 = 1072972976; +pub const GPIO_SIG224_IN_SEL_V: u32 = 1; +pub const GPIO_SIG224_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC224_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC224_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC224_IN_SEL: u32 = 63; +pub const GPIO_FUNC224_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC224_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC225_IN_SEL_CFG_REG: u32 = 1072972980; +pub const GPIO_SIG225_IN_SEL_V: u32 = 1; +pub const GPIO_SIG225_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC225_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC225_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC225_IN_SEL: u32 = 63; +pub const GPIO_FUNC225_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC225_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC226_IN_SEL_CFG_REG: u32 = 1072972984; +pub const GPIO_SIG226_IN_SEL_V: u32 = 1; +pub const GPIO_SIG226_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC226_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC226_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC226_IN_SEL: u32 = 63; +pub const GPIO_FUNC226_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC226_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC227_IN_SEL_CFG_REG: u32 = 1072972988; +pub const GPIO_SIG227_IN_SEL_V: u32 = 1; +pub const GPIO_SIG227_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC227_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC227_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC227_IN_SEL: u32 = 63; +pub const GPIO_FUNC227_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC227_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC228_IN_SEL_CFG_REG: u32 = 1072972992; +pub const GPIO_SIG228_IN_SEL_V: u32 = 1; +pub const GPIO_SIG228_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC228_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC228_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC228_IN_SEL: u32 = 63; +pub const GPIO_FUNC228_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC228_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC229_IN_SEL_CFG_REG: u32 = 1072972996; +pub const GPIO_SIG229_IN_SEL_V: u32 = 1; +pub const GPIO_SIG229_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC229_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC229_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC229_IN_SEL: u32 = 63; +pub const GPIO_FUNC229_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC229_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC230_IN_SEL_CFG_REG: u32 = 1072973000; +pub const GPIO_SIG230_IN_SEL_V: u32 = 1; +pub const GPIO_SIG230_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC230_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC230_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC230_IN_SEL: u32 = 63; +pub const GPIO_FUNC230_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC230_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC231_IN_SEL_CFG_REG: u32 = 1072973004; +pub const GPIO_SIG231_IN_SEL_V: u32 = 1; +pub const GPIO_SIG231_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC231_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC231_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC231_IN_SEL: u32 = 63; +pub const GPIO_FUNC231_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC231_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC232_IN_SEL_CFG_REG: u32 = 1072973008; +pub const GPIO_SIG232_IN_SEL_V: u32 = 1; +pub const GPIO_SIG232_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC232_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC232_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC232_IN_SEL: u32 = 63; +pub const GPIO_FUNC232_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC232_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC233_IN_SEL_CFG_REG: u32 = 1072973012; +pub const GPIO_SIG233_IN_SEL_V: u32 = 1; +pub const GPIO_SIG233_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC233_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC233_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC233_IN_SEL: u32 = 63; +pub const GPIO_FUNC233_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC233_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC234_IN_SEL_CFG_REG: u32 = 1072973016; +pub const GPIO_SIG234_IN_SEL_V: u32 = 1; +pub const GPIO_SIG234_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC234_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC234_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC234_IN_SEL: u32 = 63; +pub const GPIO_FUNC234_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC234_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC235_IN_SEL_CFG_REG: u32 = 1072973020; +pub const GPIO_SIG235_IN_SEL_V: u32 = 1; +pub const GPIO_SIG235_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC235_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC235_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC235_IN_SEL: u32 = 63; +pub const GPIO_FUNC235_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC235_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC236_IN_SEL_CFG_REG: u32 = 1072973024; +pub const GPIO_SIG236_IN_SEL_V: u32 = 1; +pub const GPIO_SIG236_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC236_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC236_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC236_IN_SEL: u32 = 63; +pub const GPIO_FUNC236_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC236_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC237_IN_SEL_CFG_REG: u32 = 1072973028; +pub const GPIO_SIG237_IN_SEL_V: u32 = 1; +pub const GPIO_SIG237_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC237_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC237_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC237_IN_SEL: u32 = 63; +pub const GPIO_FUNC237_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC237_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC238_IN_SEL_CFG_REG: u32 = 1072973032; +pub const GPIO_SIG238_IN_SEL_V: u32 = 1; +pub const GPIO_SIG238_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC238_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC238_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC238_IN_SEL: u32 = 63; +pub const GPIO_FUNC238_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC238_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC239_IN_SEL_CFG_REG: u32 = 1072973036; +pub const GPIO_SIG239_IN_SEL_V: u32 = 1; +pub const GPIO_SIG239_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC239_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC239_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC239_IN_SEL: u32 = 63; +pub const GPIO_FUNC239_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC239_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC240_IN_SEL_CFG_REG: u32 = 1072973040; +pub const GPIO_SIG240_IN_SEL_V: u32 = 1; +pub const GPIO_SIG240_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC240_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC240_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC240_IN_SEL: u32 = 63; +pub const GPIO_FUNC240_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC240_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC241_IN_SEL_CFG_REG: u32 = 1072973044; +pub const GPIO_SIG241_IN_SEL_V: u32 = 1; +pub const GPIO_SIG241_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC241_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC241_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC241_IN_SEL: u32 = 63; +pub const GPIO_FUNC241_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC241_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC242_IN_SEL_CFG_REG: u32 = 1072973048; +pub const GPIO_SIG242_IN_SEL_V: u32 = 1; +pub const GPIO_SIG242_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC242_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC242_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC242_IN_SEL: u32 = 63; +pub const GPIO_FUNC242_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC242_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC243_IN_SEL_CFG_REG: u32 = 1072973052; +pub const GPIO_SIG243_IN_SEL_V: u32 = 1; +pub const GPIO_SIG243_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC243_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC243_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC243_IN_SEL: u32 = 63; +pub const GPIO_FUNC243_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC243_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC244_IN_SEL_CFG_REG: u32 = 1072973056; +pub const GPIO_SIG244_IN_SEL_V: u32 = 1; +pub const GPIO_SIG244_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC244_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC244_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC244_IN_SEL: u32 = 63; +pub const GPIO_FUNC244_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC244_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC245_IN_SEL_CFG_REG: u32 = 1072973060; +pub const GPIO_SIG245_IN_SEL_V: u32 = 1; +pub const GPIO_SIG245_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC245_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC245_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC245_IN_SEL: u32 = 63; +pub const GPIO_FUNC245_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC245_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC246_IN_SEL_CFG_REG: u32 = 1072973064; +pub const GPIO_SIG246_IN_SEL_V: u32 = 1; +pub const GPIO_SIG246_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC246_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC246_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC246_IN_SEL: u32 = 63; +pub const GPIO_FUNC246_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC246_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC247_IN_SEL_CFG_REG: u32 = 1072973068; +pub const GPIO_SIG247_IN_SEL_V: u32 = 1; +pub const GPIO_SIG247_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC247_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC247_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC247_IN_SEL: u32 = 63; +pub const GPIO_FUNC247_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC247_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC248_IN_SEL_CFG_REG: u32 = 1072973072; +pub const GPIO_SIG248_IN_SEL_V: u32 = 1; +pub const GPIO_SIG248_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC248_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC248_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC248_IN_SEL: u32 = 63; +pub const GPIO_FUNC248_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC248_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC249_IN_SEL_CFG_REG: u32 = 1072973076; +pub const GPIO_SIG249_IN_SEL_V: u32 = 1; +pub const GPIO_SIG249_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC249_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC249_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC249_IN_SEL: u32 = 63; +pub const GPIO_FUNC249_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC249_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC250_IN_SEL_CFG_REG: u32 = 1072973080; +pub const GPIO_SIG250_IN_SEL_V: u32 = 1; +pub const GPIO_SIG250_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC250_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC250_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC250_IN_SEL: u32 = 63; +pub const GPIO_FUNC250_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC250_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC251_IN_SEL_CFG_REG: u32 = 1072973084; +pub const GPIO_SIG251_IN_SEL_V: u32 = 1; +pub const GPIO_SIG251_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC251_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC251_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC251_IN_SEL: u32 = 63; +pub const GPIO_FUNC251_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC251_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC252_IN_SEL_CFG_REG: u32 = 1072973088; +pub const GPIO_SIG252_IN_SEL_V: u32 = 1; +pub const GPIO_SIG252_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC252_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC252_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC252_IN_SEL: u32 = 63; +pub const GPIO_FUNC252_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC252_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC253_IN_SEL_CFG_REG: u32 = 1072973092; +pub const GPIO_SIG253_IN_SEL_V: u32 = 1; +pub const GPIO_SIG253_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC253_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC253_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC253_IN_SEL: u32 = 63; +pub const GPIO_FUNC253_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC253_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC254_IN_SEL_CFG_REG: u32 = 1072973096; +pub const GPIO_SIG254_IN_SEL_V: u32 = 1; +pub const GPIO_SIG254_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC254_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC254_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC254_IN_SEL: u32 = 63; +pub const GPIO_FUNC254_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC254_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC255_IN_SEL_CFG_REG: u32 = 1072973100; +pub const GPIO_SIG255_IN_SEL_V: u32 = 1; +pub const GPIO_SIG255_IN_SEL_S: u32 = 7; +pub const GPIO_FUNC255_IN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC255_IN_INV_SEL_S: u32 = 6; +pub const GPIO_FUNC255_IN_SEL: u32 = 63; +pub const GPIO_FUNC255_IN_SEL_V: u32 = 63; +pub const GPIO_FUNC255_IN_SEL_S: u32 = 0; +pub const GPIO_FUNC0_OUT_SEL_CFG_REG: u32 = 1072973104; +pub const GPIO_FUNC0_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC0_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC0_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC0_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC0_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC0_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC0_OUT_SEL: u32 = 511; +pub const GPIO_FUNC0_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC0_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC1_OUT_SEL_CFG_REG: u32 = 1072973108; +pub const GPIO_FUNC1_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC1_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC1_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC1_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC1_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC1_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC1_OUT_SEL: u32 = 511; +pub const GPIO_FUNC1_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC1_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC2_OUT_SEL_CFG_REG: u32 = 1072973112; +pub const GPIO_FUNC2_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC2_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC2_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC2_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC2_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC2_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC2_OUT_SEL: u32 = 511; +pub const GPIO_FUNC2_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC2_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC3_OUT_SEL_CFG_REG: u32 = 1072973116; +pub const GPIO_FUNC3_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC3_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC3_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC3_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC3_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC3_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC3_OUT_SEL: u32 = 511; +pub const GPIO_FUNC3_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC3_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC4_OUT_SEL_CFG_REG: u32 = 1072973120; +pub const GPIO_FUNC4_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC4_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC4_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC4_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC4_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC4_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC4_OUT_SEL: u32 = 511; +pub const GPIO_FUNC4_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC4_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC5_OUT_SEL_CFG_REG: u32 = 1072973124; +pub const GPIO_FUNC5_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC5_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC5_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC5_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC5_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC5_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC5_OUT_SEL: u32 = 511; +pub const GPIO_FUNC5_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC5_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC6_OUT_SEL_CFG_REG: u32 = 1072973128; +pub const GPIO_FUNC6_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC6_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC6_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC6_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC6_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC6_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC6_OUT_SEL: u32 = 511; +pub const GPIO_FUNC6_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC6_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC7_OUT_SEL_CFG_REG: u32 = 1072973132; +pub const GPIO_FUNC7_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC7_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC7_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC7_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC7_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC7_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC7_OUT_SEL: u32 = 511; +pub const GPIO_FUNC7_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC7_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC8_OUT_SEL_CFG_REG: u32 = 1072973136; +pub const GPIO_FUNC8_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC8_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC8_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC8_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC8_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC8_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC8_OUT_SEL: u32 = 511; +pub const GPIO_FUNC8_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC8_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC9_OUT_SEL_CFG_REG: u32 = 1072973140; +pub const GPIO_FUNC9_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC9_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC9_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC9_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC9_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC9_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC9_OUT_SEL: u32 = 511; +pub const GPIO_FUNC9_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC9_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC10_OUT_SEL_CFG_REG: u32 = 1072973144; +pub const GPIO_FUNC10_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC10_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC10_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC10_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC10_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC10_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC10_OUT_SEL: u32 = 511; +pub const GPIO_FUNC10_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC10_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC11_OUT_SEL_CFG_REG: u32 = 1072973148; +pub const GPIO_FUNC11_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC11_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC11_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC11_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC11_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC11_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC11_OUT_SEL: u32 = 511; +pub const GPIO_FUNC11_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC11_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC12_OUT_SEL_CFG_REG: u32 = 1072973152; +pub const GPIO_FUNC12_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC12_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC12_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC12_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC12_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC12_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC12_OUT_SEL: u32 = 511; +pub const GPIO_FUNC12_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC12_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC13_OUT_SEL_CFG_REG: u32 = 1072973156; +pub const GPIO_FUNC13_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC13_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC13_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC13_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC13_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC13_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC13_OUT_SEL: u32 = 511; +pub const GPIO_FUNC13_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC13_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC14_OUT_SEL_CFG_REG: u32 = 1072973160; +pub const GPIO_FUNC14_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC14_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC14_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC14_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC14_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC14_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC14_OUT_SEL: u32 = 511; +pub const GPIO_FUNC14_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC14_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC15_OUT_SEL_CFG_REG: u32 = 1072973164; +pub const GPIO_FUNC15_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC15_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC15_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC15_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC15_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC15_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC15_OUT_SEL: u32 = 511; +pub const GPIO_FUNC15_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC15_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC16_OUT_SEL_CFG_REG: u32 = 1072973168; +pub const GPIO_FUNC16_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC16_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC16_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC16_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC16_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC16_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC16_OUT_SEL: u32 = 511; +pub const GPIO_FUNC16_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC16_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC17_OUT_SEL_CFG_REG: u32 = 1072973172; +pub const GPIO_FUNC17_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC17_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC17_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC17_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC17_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC17_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC17_OUT_SEL: u32 = 511; +pub const GPIO_FUNC17_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC17_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC18_OUT_SEL_CFG_REG: u32 = 1072973176; +pub const GPIO_FUNC18_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC18_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC18_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC18_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC18_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC18_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC18_OUT_SEL: u32 = 511; +pub const GPIO_FUNC18_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC18_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC19_OUT_SEL_CFG_REG: u32 = 1072973180; +pub const GPIO_FUNC19_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC19_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC19_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC19_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC19_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC19_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC19_OUT_SEL: u32 = 511; +pub const GPIO_FUNC19_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC19_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC20_OUT_SEL_CFG_REG: u32 = 1072973184; +pub const GPIO_FUNC20_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC20_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC20_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC20_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC20_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC20_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC20_OUT_SEL: u32 = 511; +pub const GPIO_FUNC20_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC20_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC21_OUT_SEL_CFG_REG: u32 = 1072973188; +pub const GPIO_FUNC21_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC21_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC21_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC21_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC21_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC21_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC21_OUT_SEL: u32 = 511; +pub const GPIO_FUNC21_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC21_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC22_OUT_SEL_CFG_REG: u32 = 1072973192; +pub const GPIO_FUNC22_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC22_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC22_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC22_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC22_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC22_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC22_OUT_SEL: u32 = 511; +pub const GPIO_FUNC22_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC22_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC23_OUT_SEL_CFG_REG: u32 = 1072973196; +pub const GPIO_FUNC23_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC23_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC23_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC23_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC23_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC23_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC23_OUT_SEL: u32 = 511; +pub const GPIO_FUNC23_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC23_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC24_OUT_SEL_CFG_REG: u32 = 1072973200; +pub const GPIO_FUNC24_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC24_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC24_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC24_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC24_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC24_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC24_OUT_SEL: u32 = 511; +pub const GPIO_FUNC24_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC24_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC25_OUT_SEL_CFG_REG: u32 = 1072973204; +pub const GPIO_FUNC25_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC25_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC25_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC25_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC25_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC25_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC25_OUT_SEL: u32 = 511; +pub const GPIO_FUNC25_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC25_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC26_OUT_SEL_CFG_REG: u32 = 1072973208; +pub const GPIO_FUNC26_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC26_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC26_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC26_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC26_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC26_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC26_OUT_SEL: u32 = 511; +pub const GPIO_FUNC26_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC26_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC27_OUT_SEL_CFG_REG: u32 = 1072973212; +pub const GPIO_FUNC27_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC27_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC27_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC27_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC27_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC27_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC27_OUT_SEL: u32 = 511; +pub const GPIO_FUNC27_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC27_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC28_OUT_SEL_CFG_REG: u32 = 1072973216; +pub const GPIO_FUNC28_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC28_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC28_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC28_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC28_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC28_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC28_OUT_SEL: u32 = 511; +pub const GPIO_FUNC28_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC28_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC29_OUT_SEL_CFG_REG: u32 = 1072973220; +pub const GPIO_FUNC29_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC29_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC29_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC29_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC29_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC29_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC29_OUT_SEL: u32 = 511; +pub const GPIO_FUNC29_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC29_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC30_OUT_SEL_CFG_REG: u32 = 1072973224; +pub const GPIO_FUNC30_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC30_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC30_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC30_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC30_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC30_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC30_OUT_SEL: u32 = 511; +pub const GPIO_FUNC30_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC30_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC31_OUT_SEL_CFG_REG: u32 = 1072973228; +pub const GPIO_FUNC31_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC31_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC31_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC31_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC31_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC31_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC31_OUT_SEL: u32 = 511; +pub const GPIO_FUNC31_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC31_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC32_OUT_SEL_CFG_REG: u32 = 1072973232; +pub const GPIO_FUNC32_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC32_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC32_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC32_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC32_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC32_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC32_OUT_SEL: u32 = 511; +pub const GPIO_FUNC32_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC32_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC33_OUT_SEL_CFG_REG: u32 = 1072973236; +pub const GPIO_FUNC33_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC33_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC33_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC33_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC33_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC33_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC33_OUT_SEL: u32 = 511; +pub const GPIO_FUNC33_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC33_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC34_OUT_SEL_CFG_REG: u32 = 1072973240; +pub const GPIO_FUNC34_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC34_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC34_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC34_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC34_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC34_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC34_OUT_SEL: u32 = 511; +pub const GPIO_FUNC34_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC34_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC35_OUT_SEL_CFG_REG: u32 = 1072973244; +pub const GPIO_FUNC35_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC35_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC35_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC35_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC35_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC35_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC35_OUT_SEL: u32 = 511; +pub const GPIO_FUNC35_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC35_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC36_OUT_SEL_CFG_REG: u32 = 1072973248; +pub const GPIO_FUNC36_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC36_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC36_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC36_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC36_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC36_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC36_OUT_SEL: u32 = 511; +pub const GPIO_FUNC36_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC36_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC37_OUT_SEL_CFG_REG: u32 = 1072973252; +pub const GPIO_FUNC37_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC37_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC37_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC37_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC37_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC37_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC37_OUT_SEL: u32 = 511; +pub const GPIO_FUNC37_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC37_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC38_OUT_SEL_CFG_REG: u32 = 1072973256; +pub const GPIO_FUNC38_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC38_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC38_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC38_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC38_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC38_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC38_OUT_SEL: u32 = 511; +pub const GPIO_FUNC38_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC38_OUT_SEL_S: u32 = 0; +pub const GPIO_FUNC39_OUT_SEL_CFG_REG: u32 = 1072973260; +pub const GPIO_FUNC39_OEN_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC39_OEN_INV_SEL_S: u32 = 11; +pub const GPIO_FUNC39_OEN_SEL_V: u32 = 1; +pub const GPIO_FUNC39_OEN_SEL_S: u32 = 10; +pub const GPIO_FUNC39_OUT_INV_SEL_V: u32 = 1; +pub const GPIO_FUNC39_OUT_INV_SEL_S: u32 = 9; +pub const GPIO_FUNC39_OUT_SEL: u32 = 511; +pub const GPIO_FUNC39_OUT_SEL_V: u32 = 511; +pub const GPIO_FUNC39_OUT_SEL_S: u32 = 0; +pub const SPICLK_IN_IDX: u32 = 0; +pub const SPICLK_OUT_IDX: u32 = 0; +pub const SPIQ_IN_IDX: u32 = 1; +pub const SPIQ_OUT_IDX: u32 = 1; +pub const SPID_IN_IDX: u32 = 2; +pub const SPID_OUT_IDX: u32 = 2; +pub const SPIHD_IN_IDX: u32 = 3; +pub const SPIHD_OUT_IDX: u32 = 3; +pub const SPIWP_IN_IDX: u32 = 4; +pub const SPIWP_OUT_IDX: u32 = 4; +pub const SPICS0_IN_IDX: u32 = 5; +pub const SPICS0_OUT_IDX: u32 = 5; +pub const SPICS1_IN_IDX: u32 = 6; +pub const SPICS1_OUT_IDX: u32 = 6; +pub const SPICS2_IN_IDX: u32 = 7; +pub const SPICS2_OUT_IDX: u32 = 7; +pub const HSPICLK_IN_IDX: u32 = 8; +pub const HSPICLK_OUT_IDX: u32 = 8; +pub const HSPIQ_IN_IDX: u32 = 9; +pub const HSPIQ_OUT_IDX: u32 = 9; +pub const HSPID_IN_IDX: u32 = 10; +pub const HSPID_OUT_IDX: u32 = 10; +pub const HSPICS0_IN_IDX: u32 = 11; +pub const HSPICS0_OUT_IDX: u32 = 11; +pub const HSPIHD_IN_IDX: u32 = 12; +pub const HSPIHD_OUT_IDX: u32 = 12; +pub const HSPIWP_IN_IDX: u32 = 13; +pub const HSPIWP_OUT_IDX: u32 = 13; +pub const U0RXD_IN_IDX: u32 = 14; +pub const U0TXD_OUT_IDX: u32 = 14; +pub const U0CTS_IN_IDX: u32 = 15; +pub const U0RTS_OUT_IDX: u32 = 15; +pub const U0DSR_IN_IDX: u32 = 16; +pub const U0DTR_OUT_IDX: u32 = 16; +pub const U1RXD_IN_IDX: u32 = 17; +pub const U1TXD_OUT_IDX: u32 = 17; +pub const U1CTS_IN_IDX: u32 = 18; +pub const U1RTS_OUT_IDX: u32 = 18; +pub const I2CM_SCL_O_IDX: u32 = 19; +pub const I2CM_SDA_I_IDX: u32 = 20; +pub const I2CM_SDA_O_IDX: u32 = 20; +pub const EXT_I2C_SCL_O_IDX: u32 = 21; +pub const EXT_I2C_SDA_O_IDX: u32 = 22; +pub const EXT_I2C_SDA_I_IDX: u32 = 22; +pub const I2S0O_BCK_IN_IDX: u32 = 23; +pub const I2S0O_BCK_OUT_IDX: u32 = 23; +pub const I2S1O_BCK_IN_IDX: u32 = 24; +pub const I2S1O_BCK_OUT_IDX: u32 = 24; +pub const I2S0O_WS_IN_IDX: u32 = 25; +pub const I2S0O_WS_OUT_IDX: u32 = 25; +pub const I2S1O_WS_IN_IDX: u32 = 26; +pub const I2S1O_WS_OUT_IDX: u32 = 26; +pub const I2S0I_BCK_IN_IDX: u32 = 27; +pub const I2S0I_BCK_OUT_IDX: u32 = 27; +pub const I2S0I_WS_IN_IDX: u32 = 28; +pub const I2S0I_WS_OUT_IDX: u32 = 28; +pub const I2CEXT0_SCL_IN_IDX: u32 = 29; +pub const I2CEXT0_SCL_OUT_IDX: u32 = 29; +pub const I2CEXT0_SDA_IN_IDX: u32 = 30; +pub const I2CEXT0_SDA_OUT_IDX: u32 = 30; +pub const PWM0_SYNC0_IN_IDX: u32 = 31; +pub const SDIO_TOHOST_INT_OUT_IDX: u32 = 31; +pub const PWM0_SYNC1_IN_IDX: u32 = 32; +pub const PWM0_OUT0A_IDX: u32 = 32; +pub const PWM0_SYNC2_IN_IDX: u32 = 33; +pub const PWM0_OUT0B_IDX: u32 = 33; +pub const PWM0_F0_IN_IDX: u32 = 34; +pub const PWM0_OUT1A_IDX: u32 = 34; +pub const PWM0_F1_IN_IDX: u32 = 35; +pub const PWM0_OUT1B_IDX: u32 = 35; +pub const PWM0_F2_IN_IDX: u32 = 36; +pub const PWM0_OUT2A_IDX: u32 = 36; +pub const GPIO_BT_ACTIVE_IDX: u32 = 37; +pub const PWM0_OUT2B_IDX: u32 = 37; +pub const GPIO_BT_PRIORITY_IDX: u32 = 38; +pub const PCNT_SIG_CH0_IN0_IDX: u32 = 39; +pub const PCNT_SIG_CH1_IN0_IDX: u32 = 40; +pub const GPIO_WLAN_ACTIVE_IDX: u32 = 40; +pub const PCNT_CTRL_CH0_IN0_IDX: u32 = 41; +pub const BB_DIAG0_IDX: u32 = 41; +pub const PCNT_CTRL_CH1_IN0_IDX: u32 = 42; +pub const BB_DIAG1_IDX: u32 = 42; +pub const PCNT_SIG_CH0_IN1_IDX: u32 = 43; +pub const BB_DIAG2_IDX: u32 = 43; +pub const PCNT_SIG_CH1_IN1_IDX: u32 = 44; +pub const BB_DIAG3_IDX: u32 = 44; +pub const PCNT_CTRL_CH0_IN1_IDX: u32 = 45; +pub const BB_DIAG4_IDX: u32 = 45; +pub const PCNT_CTRL_CH1_IN1_IDX: u32 = 46; +pub const BB_DIAG5_IDX: u32 = 46; +pub const PCNT_SIG_CH0_IN2_IDX: u32 = 47; +pub const BB_DIAG6_IDX: u32 = 47; +pub const PCNT_SIG_CH1_IN2_IDX: u32 = 48; +pub const BB_DIAG7_IDX: u32 = 48; +pub const PCNT_CTRL_CH0_IN2_IDX: u32 = 49; +pub const BB_DIAG8_IDX: u32 = 49; +pub const PCNT_CTRL_CH1_IN2_IDX: u32 = 50; +pub const BB_DIAG9_IDX: u32 = 50; +pub const PCNT_SIG_CH0_IN3_IDX: u32 = 51; +pub const BB_DIAG10_IDX: u32 = 51; +pub const PCNT_SIG_CH1_IN3_IDX: u32 = 52; +pub const BB_DIAG11_IDX: u32 = 52; +pub const PCNT_CTRL_CH0_IN3_IDX: u32 = 53; +pub const BB_DIAG12_IDX: u32 = 53; +pub const PCNT_CTRL_CH1_IN3_IDX: u32 = 54; +pub const BB_DIAG13_IDX: u32 = 54; +pub const PCNT_SIG_CH0_IN4_IDX: u32 = 55; +pub const BB_DIAG14_IDX: u32 = 55; +pub const PCNT_SIG_CH1_IN4_IDX: u32 = 56; +pub const BB_DIAG15_IDX: u32 = 56; +pub const PCNT_CTRL_CH0_IN4_IDX: u32 = 57; +pub const BB_DIAG16_IDX: u32 = 57; +pub const PCNT_CTRL_CH1_IN4_IDX: u32 = 58; +pub const BB_DIAG17_IDX: u32 = 58; +pub const BB_DIAG18_IDX: u32 = 59; +pub const BB_DIAG19_IDX: u32 = 60; +pub const HSPICS1_IN_IDX: u32 = 61; +pub const HSPICS1_OUT_IDX: u32 = 61; +pub const HSPICS2_IN_IDX: u32 = 62; +pub const HSPICS2_OUT_IDX: u32 = 62; +pub const VSPICLK_IN_IDX: u32 = 63; +pub const VSPICLK_OUT_IDX: u32 = 63; +pub const VSPIQ_IN_IDX: u32 = 64; +pub const VSPIQ_OUT_IDX: u32 = 64; +pub const VSPID_IN_IDX: u32 = 65; +pub const VSPID_OUT_IDX: u32 = 65; +pub const VSPIHD_IN_IDX: u32 = 66; +pub const VSPIHD_OUT_IDX: u32 = 66; +pub const VSPIWP_IN_IDX: u32 = 67; +pub const VSPIWP_OUT_IDX: u32 = 67; +pub const VSPICS0_IN_IDX: u32 = 68; +pub const VSPICS0_OUT_IDX: u32 = 68; +pub const VSPICS1_IN_IDX: u32 = 69; +pub const VSPICS1_OUT_IDX: u32 = 69; +pub const VSPICS2_IN_IDX: u32 = 70; +pub const VSPICS2_OUT_IDX: u32 = 70; +pub const PCNT_SIG_CH0_IN5_IDX: u32 = 71; +pub const LEDC_HS_SIG_OUT0_IDX: u32 = 71; +pub const PCNT_SIG_CH1_IN5_IDX: u32 = 72; +pub const LEDC_HS_SIG_OUT1_IDX: u32 = 72; +pub const PCNT_CTRL_CH0_IN5_IDX: u32 = 73; +pub const LEDC_HS_SIG_OUT2_IDX: u32 = 73; +pub const PCNT_CTRL_CH1_IN5_IDX: u32 = 74; +pub const LEDC_HS_SIG_OUT3_IDX: u32 = 74; +pub const PCNT_SIG_CH0_IN6_IDX: u32 = 75; +pub const LEDC_HS_SIG_OUT4_IDX: u32 = 75; +pub const PCNT_SIG_CH1_IN6_IDX: u32 = 76; +pub const LEDC_HS_SIG_OUT5_IDX: u32 = 76; +pub const PCNT_CTRL_CH0_IN6_IDX: u32 = 77; +pub const LEDC_HS_SIG_OUT6_IDX: u32 = 77; +pub const PCNT_CTRL_CH1_IN6_IDX: u32 = 78; +pub const LEDC_HS_SIG_OUT7_IDX: u32 = 78; +pub const PCNT_SIG_CH0_IN7_IDX: u32 = 79; +pub const LEDC_LS_SIG_OUT0_IDX: u32 = 79; +pub const PCNT_SIG_CH1_IN7_IDX: u32 = 80; +pub const LEDC_LS_SIG_OUT1_IDX: u32 = 80; +pub const PCNT_CTRL_CH0_IN7_IDX: u32 = 81; +pub const LEDC_LS_SIG_OUT2_IDX: u32 = 81; +pub const PCNT_CTRL_CH1_IN7_IDX: u32 = 82; +pub const LEDC_LS_SIG_OUT3_IDX: u32 = 82; +pub const RMT_SIG_IN0_IDX: u32 = 83; +pub const LEDC_LS_SIG_OUT4_IDX: u32 = 83; +pub const RMT_SIG_IN1_IDX: u32 = 84; +pub const LEDC_LS_SIG_OUT5_IDX: u32 = 84; +pub const RMT_SIG_IN2_IDX: u32 = 85; +pub const LEDC_LS_SIG_OUT6_IDX: u32 = 85; +pub const RMT_SIG_IN3_IDX: u32 = 86; +pub const LEDC_LS_SIG_OUT7_IDX: u32 = 86; +pub const RMT_SIG_IN4_IDX: u32 = 87; +pub const RMT_SIG_OUT0_IDX: u32 = 87; +pub const RMT_SIG_IN5_IDX: u32 = 88; +pub const RMT_SIG_OUT1_IDX: u32 = 88; +pub const RMT_SIG_IN6_IDX: u32 = 89; +pub const RMT_SIG_OUT2_IDX: u32 = 89; +pub const RMT_SIG_IN7_IDX: u32 = 90; +pub const RMT_SIG_OUT3_IDX: u32 = 90; +pub const RMT_SIG_OUT4_IDX: u32 = 91; +pub const RMT_SIG_OUT5_IDX: u32 = 92; +pub const EXT_ADC_START_IDX: u32 = 93; +pub const RMT_SIG_OUT6_IDX: u32 = 93; +pub const CAN_RX_IDX: u32 = 94; +pub const RMT_SIG_OUT7_IDX: u32 = 94; +pub const I2CEXT1_SCL_IN_IDX: u32 = 95; +pub const I2CEXT1_SCL_OUT_IDX: u32 = 95; +pub const I2CEXT1_SDA_IN_IDX: u32 = 96; +pub const I2CEXT1_SDA_OUT_IDX: u32 = 96; +pub const HOST_CARD_DETECT_N_1_IDX: u32 = 97; +pub const HOST_CCMD_OD_PULLUP_EN_N_IDX: u32 = 97; +pub const HOST_CARD_DETECT_N_2_IDX: u32 = 98; +pub const HOST_RST_N_1_IDX: u32 = 98; +pub const HOST_CARD_WRITE_PRT_1_IDX: u32 = 99; +pub const HOST_RST_N_2_IDX: u32 = 99; +pub const HOST_CARD_WRITE_PRT_2_IDX: u32 = 100; +pub const GPIO_SD0_OUT_IDX: u32 = 100; +pub const HOST_CARD_INT_N_1_IDX: u32 = 101; +pub const GPIO_SD1_OUT_IDX: u32 = 101; +pub const HOST_CARD_INT_N_2_IDX: u32 = 102; +pub const GPIO_SD2_OUT_IDX: u32 = 102; +pub const PWM1_SYNC0_IN_IDX: u32 = 103; +pub const GPIO_SD3_OUT_IDX: u32 = 103; +pub const PWM1_SYNC1_IN_IDX: u32 = 104; +pub const GPIO_SD4_OUT_IDX: u32 = 104; +pub const PWM1_SYNC2_IN_IDX: u32 = 105; +pub const GPIO_SD5_OUT_IDX: u32 = 105; +pub const PWM1_F0_IN_IDX: u32 = 106; +pub const GPIO_SD6_OUT_IDX: u32 = 106; +pub const PWM1_F1_IN_IDX: u32 = 107; +pub const GPIO_SD7_OUT_IDX: u32 = 107; +pub const PWM1_F2_IN_IDX: u32 = 108; +pub const PWM1_OUT0A_IDX: u32 = 108; +pub const PWM0_CAP0_IN_IDX: u32 = 109; +pub const PWM1_OUT0B_IDX: u32 = 109; +pub const PWM0_CAP1_IN_IDX: u32 = 110; +pub const PWM1_OUT1A_IDX: u32 = 110; +pub const PWM0_CAP2_IN_IDX: u32 = 111; +pub const PWM1_OUT1B_IDX: u32 = 111; +pub const PWM1_CAP0_IN_IDX: u32 = 112; +pub const PWM1_OUT2A_IDX: u32 = 112; +pub const PWM1_CAP1_IN_IDX: u32 = 113; +pub const PWM1_OUT2B_IDX: u32 = 113; +pub const PWM1_CAP2_IN_IDX: u32 = 114; +pub const PWM2_OUT1H_IDX: u32 = 114; +pub const PWM2_FLTA_IDX: u32 = 115; +pub const PWM2_OUT1L_IDX: u32 = 115; +pub const PWM2_FLTB_IDX: u32 = 116; +pub const PWM2_OUT2H_IDX: u32 = 116; +pub const PWM2_CAP1_IN_IDX: u32 = 117; +pub const PWM2_OUT2L_IDX: u32 = 117; +pub const PWM2_CAP2_IN_IDX: u32 = 118; +pub const PWM2_OUT3H_IDX: u32 = 118; +pub const PWM2_CAP3_IN_IDX: u32 = 119; +pub const PWM2_OUT3L_IDX: u32 = 119; +pub const PWM3_FLTA_IDX: u32 = 120; +pub const PWM2_OUT4H_IDX: u32 = 120; +pub const PWM3_FLTB_IDX: u32 = 121; +pub const PWM2_OUT4L_IDX: u32 = 121; +pub const PWM3_CAP1_IN_IDX: u32 = 122; +pub const PWM3_CAP2_IN_IDX: u32 = 123; +pub const CAN_TX_IDX: u32 = 123; +pub const PWM3_CAP3_IN_IDX: u32 = 124; +pub const CAN_BUS_OFF_ON_IDX: u32 = 124; +pub const CAN_CLKOUT_IDX: u32 = 125; +pub const SPID4_IN_IDX: u32 = 128; +pub const SPID4_OUT_IDX: u32 = 128; +pub const SPID5_IN_IDX: u32 = 129; +pub const SPID5_OUT_IDX: u32 = 129; +pub const SPID6_IN_IDX: u32 = 130; +pub const SPID6_OUT_IDX: u32 = 130; +pub const SPID7_IN_IDX: u32 = 131; +pub const SPID7_OUT_IDX: u32 = 131; +pub const HSPID4_IN_IDX: u32 = 132; +pub const HSPID4_OUT_IDX: u32 = 132; +pub const HSPID5_IN_IDX: u32 = 133; +pub const HSPID5_OUT_IDX: u32 = 133; +pub const HSPID6_IN_IDX: u32 = 134; +pub const HSPID6_OUT_IDX: u32 = 134; +pub const HSPID7_IN_IDX: u32 = 135; +pub const HSPID7_OUT_IDX: u32 = 135; +pub const VSPID4_IN_IDX: u32 = 136; +pub const VSPID4_OUT_IDX: u32 = 136; +pub const VSPID5_IN_IDX: u32 = 137; +pub const VSPID5_OUT_IDX: u32 = 137; +pub const VSPID6_IN_IDX: u32 = 138; +pub const VSPID6_OUT_IDX: u32 = 138; +pub const VSPID7_IN_IDX: u32 = 139; +pub const VSPID7_OUT_IDX: u32 = 139; +pub const I2S0I_DATA_IN0_IDX: u32 = 140; +pub const I2S0O_DATA_OUT0_IDX: u32 = 140; +pub const I2S0I_DATA_IN1_IDX: u32 = 141; +pub const I2S0O_DATA_OUT1_IDX: u32 = 141; +pub const I2S0I_DATA_IN2_IDX: u32 = 142; +pub const I2S0O_DATA_OUT2_IDX: u32 = 142; +pub const I2S0I_DATA_IN3_IDX: u32 = 143; +pub const I2S0O_DATA_OUT3_IDX: u32 = 143; +pub const I2S0I_DATA_IN4_IDX: u32 = 144; +pub const I2S0O_DATA_OUT4_IDX: u32 = 144; +pub const I2S0I_DATA_IN5_IDX: u32 = 145; +pub const I2S0O_DATA_OUT5_IDX: u32 = 145; +pub const I2S0I_DATA_IN6_IDX: u32 = 146; +pub const I2S0O_DATA_OUT6_IDX: u32 = 146; +pub const I2S0I_DATA_IN7_IDX: u32 = 147; +pub const I2S0O_DATA_OUT7_IDX: u32 = 147; +pub const I2S0I_DATA_IN8_IDX: u32 = 148; +pub const I2S0O_DATA_OUT8_IDX: u32 = 148; +pub const I2S0I_DATA_IN9_IDX: u32 = 149; +pub const I2S0O_DATA_OUT9_IDX: u32 = 149; +pub const I2S0I_DATA_IN10_IDX: u32 = 150; +pub const I2S0O_DATA_OUT10_IDX: u32 = 150; +pub const I2S0I_DATA_IN11_IDX: u32 = 151; +pub const I2S0O_DATA_OUT11_IDX: u32 = 151; +pub const I2S0I_DATA_IN12_IDX: u32 = 152; +pub const I2S0O_DATA_OUT12_IDX: u32 = 152; +pub const I2S0I_DATA_IN13_IDX: u32 = 153; +pub const I2S0O_DATA_OUT13_IDX: u32 = 153; +pub const I2S0I_DATA_IN14_IDX: u32 = 154; +pub const I2S0O_DATA_OUT14_IDX: u32 = 154; +pub const I2S0I_DATA_IN15_IDX: u32 = 155; +pub const I2S0O_DATA_OUT15_IDX: u32 = 155; +pub const I2S0O_DATA_OUT16_IDX: u32 = 156; +pub const I2S0O_DATA_OUT17_IDX: u32 = 157; +pub const I2S0O_DATA_OUT18_IDX: u32 = 158; +pub const I2S0O_DATA_OUT19_IDX: u32 = 159; +pub const I2S0O_DATA_OUT20_IDX: u32 = 160; +pub const I2S0O_DATA_OUT21_IDX: u32 = 161; +pub const I2S0O_DATA_OUT22_IDX: u32 = 162; +pub const I2S0O_DATA_OUT23_IDX: u32 = 163; +pub const I2S1I_BCK_IN_IDX: u32 = 164; +pub const I2S1I_BCK_OUT_IDX: u32 = 164; +pub const I2S1I_WS_IN_IDX: u32 = 165; +pub const I2S1I_WS_OUT_IDX: u32 = 165; +pub const I2S1I_DATA_IN0_IDX: u32 = 166; +pub const I2S1O_DATA_OUT0_IDX: u32 = 166; +pub const I2S1I_DATA_IN1_IDX: u32 = 167; +pub const I2S1O_DATA_OUT1_IDX: u32 = 167; +pub const I2S1I_DATA_IN2_IDX: u32 = 168; +pub const I2S1O_DATA_OUT2_IDX: u32 = 168; +pub const I2S1I_DATA_IN3_IDX: u32 = 169; +pub const I2S1O_DATA_OUT3_IDX: u32 = 169; +pub const I2S1I_DATA_IN4_IDX: u32 = 170; +pub const I2S1O_DATA_OUT4_IDX: u32 = 170; +pub const I2S1I_DATA_IN5_IDX: u32 = 171; +pub const I2S1O_DATA_OUT5_IDX: u32 = 171; +pub const I2S1I_DATA_IN6_IDX: u32 = 172; +pub const I2S1O_DATA_OUT6_IDX: u32 = 172; +pub const I2S1I_DATA_IN7_IDX: u32 = 173; +pub const I2S1O_DATA_OUT7_IDX: u32 = 173; +pub const I2S1I_DATA_IN8_IDX: u32 = 174; +pub const I2S1O_DATA_OUT8_IDX: u32 = 174; +pub const I2S1I_DATA_IN9_IDX: u32 = 175; +pub const I2S1O_DATA_OUT9_IDX: u32 = 175; +pub const I2S1I_DATA_IN10_IDX: u32 = 176; +pub const I2S1O_DATA_OUT10_IDX: u32 = 176; +pub const I2S1I_DATA_IN11_IDX: u32 = 177; +pub const I2S1O_DATA_OUT11_IDX: u32 = 177; +pub const I2S1I_DATA_IN12_IDX: u32 = 178; +pub const I2S1O_DATA_OUT12_IDX: u32 = 178; +pub const I2S1I_DATA_IN13_IDX: u32 = 179; +pub const I2S1O_DATA_OUT13_IDX: u32 = 179; +pub const I2S1I_DATA_IN14_IDX: u32 = 180; +pub const I2S1O_DATA_OUT14_IDX: u32 = 180; +pub const I2S1I_DATA_IN15_IDX: u32 = 181; +pub const I2S1O_DATA_OUT15_IDX: u32 = 181; +pub const I2S1O_DATA_OUT16_IDX: u32 = 182; +pub const I2S1O_DATA_OUT17_IDX: u32 = 183; +pub const I2S1O_DATA_OUT18_IDX: u32 = 184; +pub const I2S1O_DATA_OUT19_IDX: u32 = 185; +pub const I2S1O_DATA_OUT20_IDX: u32 = 186; +pub const I2S1O_DATA_OUT21_IDX: u32 = 187; +pub const I2S1O_DATA_OUT22_IDX: u32 = 188; +pub const I2S1O_DATA_OUT23_IDX: u32 = 189; +pub const I2S0I_H_SYNC_IDX: u32 = 190; +pub const PWM3_OUT1H_IDX: u32 = 190; +pub const I2S0I_V_SYNC_IDX: u32 = 191; +pub const PWM3_OUT1L_IDX: u32 = 191; +pub const I2S0I_H_ENABLE_IDX: u32 = 192; +pub const PWM3_OUT2H_IDX: u32 = 192; +pub const I2S1I_H_SYNC_IDX: u32 = 193; +pub const PWM3_OUT2L_IDX: u32 = 193; +pub const I2S1I_V_SYNC_IDX: u32 = 194; +pub const PWM3_OUT3H_IDX: u32 = 194; +pub const I2S1I_H_ENABLE_IDX: u32 = 195; +pub const PWM3_OUT3L_IDX: u32 = 195; +pub const PWM3_OUT4H_IDX: u32 = 196; +pub const PWM3_OUT4L_IDX: u32 = 197; +pub const U2RXD_IN_IDX: u32 = 198; +pub const U2TXD_OUT_IDX: u32 = 198; +pub const U2CTS_IN_IDX: u32 = 199; +pub const U2RTS_OUT_IDX: u32 = 199; +pub const EMAC_MDC_I_IDX: u32 = 200; +pub const EMAC_MDC_O_IDX: u32 = 200; +pub const EMAC_MDI_I_IDX: u32 = 201; +pub const EMAC_MDO_O_IDX: u32 = 201; +pub const EMAC_CRS_I_IDX: u32 = 202; +pub const EMAC_CRS_O_IDX: u32 = 202; +pub const EMAC_COL_I_IDX: u32 = 203; +pub const EMAC_COL_O_IDX: u32 = 203; +pub const PCMFSYNC_IN_IDX: u32 = 204; +pub const BT_AUDIO0_IRQ_IDX: u32 = 204; +pub const PCMCLK_IN_IDX: u32 = 205; +pub const BT_AUDIO1_IRQ_IDX: u32 = 205; +pub const PCMDIN_IDX: u32 = 206; +pub const BT_AUDIO2_IRQ_IDX: u32 = 206; +pub const BLE_AUDIO0_IRQ_IDX: u32 = 207; +pub const BLE_AUDIO1_IRQ_IDX: u32 = 208; +pub const BLE_AUDIO2_IRQ_IDX: u32 = 209; +pub const PCMFSYNC_OUT_IDX: u32 = 210; +pub const PCMCLK_OUT_IDX: u32 = 211; +pub const PCMDOUT_IDX: u32 = 212; +pub const BLE_AUDIO_SYNC0_P_IDX: u32 = 213; +pub const BLE_AUDIO_SYNC1_P_IDX: u32 = 214; +pub const BLE_AUDIO_SYNC2_P_IDX: u32 = 215; +pub const ANT_SEL0_IDX: u32 = 216; +pub const ANT_SEL1_IDX: u32 = 217; +pub const ANT_SEL2_IDX: u32 = 218; +pub const ANT_SEL3_IDX: u32 = 219; +pub const ANT_SEL4_IDX: u32 = 220; +pub const ANT_SEL5_IDX: u32 = 221; +pub const ANT_SEL6_IDX: u32 = 222; +pub const ANT_SEL7_IDX: u32 = 223; +pub const SIG_IN_FUNC224_IDX: u32 = 224; +pub const SIG_IN_FUNC225_IDX: u32 = 225; +pub const SIG_IN_FUNC226_IDX: u32 = 226; +pub const SIG_IN_FUNC227_IDX: u32 = 227; +pub const SIG_IN_FUNC228_IDX: u32 = 228; +pub const SIG_GPIO_OUT_IDX: u32 = 256; +pub const GPIO_PIN_REG_0: u32 = 1072992324; +pub const GPIO_PIN_REG_1: u32 = 1072992392; +pub const GPIO_PIN_REG_2: u32 = 1072992320; +pub const GPIO_PIN_REG_3: u32 = 1072992388; +pub const GPIO_PIN_REG_4: u32 = 1072992328; +pub const GPIO_PIN_REG_5: u32 = 1072992364; +pub const GPIO_PIN_REG_6: u32 = 1072992352; +pub const GPIO_PIN_REG_7: u32 = 1072992356; +pub const GPIO_PIN_REG_8: u32 = 1072992360; +pub const GPIO_PIN_REG_9: u32 = 1072992340; +pub const GPIO_PIN_REG_10: u32 = 1072992344; +pub const GPIO_PIN_REG_11: u32 = 1072992348; +pub const GPIO_PIN_REG_12: u32 = 1072992308; +pub const GPIO_PIN_REG_13: u32 = 1072992312; +pub const GPIO_PIN_REG_14: u32 = 1072992304; +pub const GPIO_PIN_REG_15: u32 = 1072992316; +pub const GPIO_PIN_REG_16: u32 = 1072992332; +pub const GPIO_PIN_REG_17: u32 = 1072992336; +pub const GPIO_PIN_REG_18: u32 = 1072992368; +pub const GPIO_PIN_REG_19: u32 = 1072992372; +pub const GPIO_PIN_REG_20: u32 = 1072992376; +pub const GPIO_PIN_REG_21: u32 = 1072992380; +pub const GPIO_PIN_REG_22: u32 = 1072992384; +pub const GPIO_PIN_REG_23: u32 = 1072992396; +pub const GPIO_PIN_REG_25: u32 = 1072992292; +pub const GPIO_PIN_REG_26: u32 = 1072992296; +pub const GPIO_PIN_REG_27: u32 = 1072992300; +pub const GPIO_PIN_REG_32: u32 = 1072992284; +pub const GPIO_PIN_REG_33: u32 = 1072992288; +pub const GPIO_PIN_REG_34: u32 = 1072992276; +pub const GPIO_PIN_REG_35: u32 = 1072992280; +pub const GPIO_PIN_REG_36: u32 = 1072992260; +pub const GPIO_PIN_REG_37: u32 = 1072992264; +pub const GPIO_PIN_REG_38: u32 = 1072992268; +pub const GPIO_PIN_REG_39: u32 = 1072992272; +pub const GPIO_MODE_DEF_DISABLE: u32 = 0; +pub const GPIO_MODE_DEF_INPUT: u32 = 1; +pub const GPIO_MODE_DEF_OUTPUT: u32 = 2; +pub const GPIO_MODE_DEF_OD: u32 = 4; +pub const LOG_LOCAL_LEVEL: u32 = 3; +pub const LOG_COLOR_BLACK: &'static [u8; 3usize] = b"30\0"; +pub const LOG_COLOR_RED: &'static [u8; 3usize] = b"31\0"; +pub const LOG_COLOR_GREEN: &'static [u8; 3usize] = b"32\0"; +pub const LOG_COLOR_BROWN: &'static [u8; 3usize] = b"33\0"; +pub const LOG_COLOR_BLUE: &'static [u8; 3usize] = b"34\0"; +pub const LOG_COLOR_PURPLE: &'static [u8; 3usize] = b"35\0"; +pub const LOG_COLOR_CYAN: &'static [u8; 3usize] = b"36\0"; +pub const LOG_RESET_COLOR: &'static [u8; 5usize] = b"\x1B[0m\0"; +pub const portTICK_PERIOD_MS: u32 = 10; +pub type __int8_t = ::std::os::raw::c_schar; +pub type __uint8_t = ::std::os::raw::c_uchar; +pub type __int16_t = ::std::os::raw::c_short; +pub type __uint16_t = ::std::os::raw::c_ushort; +pub type __int32_t = ::std::os::raw::c_int; +pub type __uint32_t = ::std::os::raw::c_uint; +pub type __int64_t = ::std::os::raw::c_longlong; +pub type __uint64_t = ::std::os::raw::c_ulonglong; +pub type __int_least8_t = __int8_t; +pub type __uint_least8_t = __uint8_t; +pub type __int_least16_t = __int16_t; +pub type __uint_least16_t = __uint16_t; +pub type __int_least32_t = __int32_t; +pub type __uint_least32_t = __uint32_t; +pub type __int_least64_t = __int64_t; +pub type __uint_least64_t = __uint64_t; +pub type __intptr_t = ::std::os::raw::c_int; +pub type __uintptr_t = ::std::os::raw::c_uint; +pub type int_least8_t = __int_least8_t; +pub type uint_least8_t = __uint_least8_t; +pub type int_least16_t = __int_least16_t; +pub type uint_least16_t = __uint_least16_t; +pub type int_least32_t = __int_least32_t; +pub type uint_least32_t = __uint_least32_t; +pub type int_least64_t = __int_least64_t; +pub type uint_least64_t = __uint_least64_t; +pub type int_fast8_t = ::std::os::raw::c_schar; +pub type uint_fast8_t = ::std::os::raw::c_uchar; +pub type int_fast16_t = ::std::os::raw::c_short; +pub type uint_fast16_t = ::std::os::raw::c_ushort; +pub type int_fast32_t = ::std::os::raw::c_int; +pub type uint_fast32_t = ::std::os::raw::c_uint; +pub type int_fast64_t = ::std::os::raw::c_longlong; +pub type uint_fast64_t = ::std::os::raw::c_ulonglong; +pub type intmax_t = ::std::os::raw::c_longlong; +pub type uintmax_t = ::std::os::raw::c_ulonglong; +extern "C" { + pub fn __assert( + arg1: *const ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + arg3: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn __assert_func( + arg1: *const ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + arg3: *const ::std::os::raw::c_char, + arg4: *const ::std::os::raw::c_char, + ); } #[repr(C)] #[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_13 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_13__bindgen_ty_1, +pub struct uart_dev_s { + pub fifo: uart_dev_s__bindgen_ty_1, + pub int_raw: uart_dev_s__bindgen_ty_2, + pub int_st: uart_dev_s__bindgen_ty_3, + pub int_ena: uart_dev_s__bindgen_ty_4, + pub int_clr: uart_dev_s__bindgen_ty_5, + pub clk_div: uart_dev_s__bindgen_ty_6, + pub auto_baud: uart_dev_s__bindgen_ty_7, + pub status: uart_dev_s__bindgen_ty_8, + pub conf0: uart_dev_s__bindgen_ty_9, + pub conf1: uart_dev_s__bindgen_ty_10, + pub lowpulse: uart_dev_s__bindgen_ty_11, + pub highpulse: uart_dev_s__bindgen_ty_12, + pub rxd_cnt: uart_dev_s__bindgen_ty_13, + pub flow_conf: uart_dev_s__bindgen_ty_14, + pub sleep_conf: uart_dev_s__bindgen_ty_15, + pub swfc_conf: uart_dev_s__bindgen_ty_16, + pub idle_conf: uart_dev_s__bindgen_ty_17, + pub rs485_conf: uart_dev_s__bindgen_ty_18, + pub at_cmd_precnt: uart_dev_s__bindgen_ty_19, + pub at_cmd_postcnt: uart_dev_s__bindgen_ty_20, + pub at_cmd_gaptout: uart_dev_s__bindgen_ty_21, + pub at_cmd_char: uart_dev_s__bindgen_ty_22, + pub mem_conf: uart_dev_s__bindgen_ty_23, + pub mem_tx_status: uart_dev_s__bindgen_ty_24, + pub mem_rx_status: uart_dev_s__bindgen_ty_25, + pub mem_cnt_status: uart_dev_s__bindgen_ty_26, + pub pospulse: uart_dev_s__bindgen_ty_27, + pub negpulse: uart_dev_s__bindgen_ty_28, + pub reserved_70: u32, + pub reserved_74: u32, + pub date: u32, + pub id: u32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_1 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_1__bindgen_ty_1, pub val: u32, _bindgen_union_align: u32, } #[repr(C)] -#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_13__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_13__bindgen_ty_1 { - #[inline] - pub fn edge_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } - } - #[inline] - pub fn set_edge_cnt(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 10u8, val as u64) - } - } - #[inline] - pub fn reserved10(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } - } - #[inline] - pub fn set_reserved10(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 22u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - edge_cnt: u32, - reserved10: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 10u8, { - let edge_cnt: u32 = unsafe { ::core::mem::transmute(edge_cnt) }; - edge_cnt as u64 - }); - __bindgen_bitfield_unit.set(10usize, 22u8, { - let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; - reserved10 as u64 - }); - __bindgen_bitfield_unit - } +pub struct uart_dev_s__bindgen_ty_1__bindgen_ty_1 { + pub rw_byte: u8, + pub reserved: [u8; 3usize], } #[repr(C)] #[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_14 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_14__bindgen_ty_1, +pub union uart_dev_s__bindgen_ty_2 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_2__bindgen_ty_1, pub val: u32, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct uart_dev_s__bindgen_ty_2__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -impl _bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 { +impl uart_dev_s__bindgen_ty_2__bindgen_ty_1 { #[inline] - pub fn sw_flow_con_en(&self) -> u32 { + pub fn rxfifo_full(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } } #[inline] - pub fn set_sw_flow_con_en(&mut self, val: u32) { + pub fn set_rxfifo_full(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] - pub fn xonoff_del(&self) -> u32 { + pub fn txfifo_empty(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } } #[inline] - pub fn set_xonoff_del(&mut self, val: u32) { + pub fn set_txfifo_empty(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(1usize, 1u8, val as u64) } } #[inline] - pub fn force_xon(&self) -> u32 { + pub fn parity_err(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } } #[inline] - pub fn set_force_xon(&mut self, val: u32) { + pub fn set_parity_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(2usize, 1u8, val as u64) } } #[inline] - pub fn force_xoff(&self) -> u32 { + pub fn frm_err(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } } #[inline] - pub fn set_force_xoff(&mut self, val: u32) { + pub fn set_frm_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(3usize, 1u8, val as u64) } } #[inline] - pub fn send_xon(&self) -> u32 { + pub fn rxfifo_ovf(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } } #[inline] - pub fn set_send_xon(&mut self, val: u32) { + pub fn set_rxfifo_ovf(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(4usize, 1u8, val as u64) } } #[inline] - pub fn send_xoff(&self) -> u32 { + pub fn dsr_chg(&self) -> u32 { unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } } #[inline] - pub fn set_send_xoff(&mut self, val: u32) { + pub fn set_dsr_chg(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); self._bitfield_1.set(5usize, 1u8, val as u64) } } #[inline] - pub fn reserved6(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 26u8) as u32) } - } - #[inline] - pub fn set_reserved6(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 26u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - sw_flow_con_en: u32, - xonoff_del: u32, - force_xon: u32, - force_xoff: u32, - send_xon: u32, - send_xoff: u32, - reserved6: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 1u8, { - let sw_flow_con_en: u32 = unsafe { ::core::mem::transmute(sw_flow_con_en) }; - sw_flow_con_en as u64 - }); - __bindgen_bitfield_unit.set(1usize, 1u8, { - let xonoff_del: u32 = unsafe { ::core::mem::transmute(xonoff_del) }; - xonoff_del as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let force_xon: u32 = unsafe { ::core::mem::transmute(force_xon) }; - force_xon as u64 - }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let force_xoff: u32 = unsafe { ::core::mem::transmute(force_xoff) }; - force_xoff as u64 - }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let send_xon: u32 = unsafe { ::core::mem::transmute(send_xon) }; - send_xon as u64 - }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let send_xoff: u32 = unsafe { ::core::mem::transmute(send_xoff) }; - send_xoff as u64 - }); - __bindgen_bitfield_unit.set(6usize, 26u8, { - let reserved6: u32 = unsafe { ::core::mem::transmute(reserved6) }; - reserved6 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_15 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_15__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_15__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_15__bindgen_ty_1 { - #[inline] - pub fn active_threshold(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } - } - #[inline] - pub fn set_active_threshold(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 10u8, val as u64) - } - } - #[inline] - pub fn reserved10(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } - } - #[inline] - pub fn set_reserved10(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 22u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - active_threshold: u32, - reserved10: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 10u8, { - let active_threshold: u32 = unsafe { ::core::mem::transmute(active_threshold) }; - active_threshold as u64 - }); - __bindgen_bitfield_unit.set(10usize, 22u8, { - let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; - reserved10 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_16 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_16__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_16__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, -} -impl _bindgen_ty_1__bindgen_ty_16__bindgen_ty_1 { - #[inline] - pub fn xon_threshold(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_xon_threshold(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn xoff_threshold(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } - } - #[inline] - pub fn set_xoff_threshold(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 8u8, val as u64) - } - } - #[inline] - pub fn xon_char(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) } + pub fn cts_chg(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } } #[inline] - pub fn set_xon_char(&mut self, val: u32) { + pub fn set_cts_chg(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 8u8, val as u64) + self._bitfield_1.set(6usize, 1u8, val as u64) } } #[inline] - pub fn xoff_char(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + pub fn brk_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } } #[inline] - pub fn set_xoff_char(&mut self, val: u32) { + pub fn set_brk_det(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) + self._bitfield_1.set(7usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - xon_threshold: u32, - xoff_threshold: u32, - xon_char: u32, - xoff_char: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let xon_threshold: u32 = unsafe { ::core::mem::transmute(xon_threshold) }; - xon_threshold as u64 - }); - __bindgen_bitfield_unit.set(8usize, 8u8, { - let xoff_threshold: u32 = unsafe { ::core::mem::transmute(xoff_threshold) }; - xoff_threshold as u64 - }); - __bindgen_bitfield_unit.set(16usize, 8u8, { - let xon_char: u32 = unsafe { ::core::mem::transmute(xon_char) }; - xon_char as u64 - }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let xoff_char: u32 = unsafe { ::core::mem::transmute(xoff_char) }; - xoff_char as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_17 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_17__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_17__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_17__bindgen_ty_1 { - #[inline] - pub fn rx_idle_thrhd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } + pub fn rxfifo_tout(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } } #[inline] - pub fn set_rx_idle_thrhd(&mut self, val: u32) { + pub fn set_rxfifo_tout(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 10u8, val as u64) + self._bitfield_1.set(8usize, 1u8, val as u64) } } #[inline] - pub fn tx_idle_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 10u8) as u32) } + pub fn sw_xon(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } } #[inline] - pub fn set_tx_idle_num(&mut self, val: u32) { + pub fn set_sw_xon(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 10u8, val as u64) + self._bitfield_1.set(9usize, 1u8, val as u64) } } #[inline] - pub fn tx_brk_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 8u8) as u32) } + pub fn sw_xoff(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } } #[inline] - pub fn set_tx_brk_num(&mut self, val: u32) { + pub fn set_sw_xoff(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 8u8, val as u64) + self._bitfield_1.set(10usize, 1u8, val as u64) } } #[inline] - pub fn reserved28(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u32) } + pub fn glitch_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } } #[inline] - pub fn set_reserved28(&mut self, val: u32) { + pub fn set_glitch_det(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(28usize, 4u8, val as u64) + self._bitfield_1.set(11usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - rx_idle_thrhd: u32, - tx_idle_num: u32, - tx_brk_num: u32, - reserved28: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 10u8, { - let rx_idle_thrhd: u32 = unsafe { ::core::mem::transmute(rx_idle_thrhd) }; - rx_idle_thrhd as u64 - }); - __bindgen_bitfield_unit.set(10usize, 10u8, { - let tx_idle_num: u32 = unsafe { ::core::mem::transmute(tx_idle_num) }; - tx_idle_num as u64 - }); - __bindgen_bitfield_unit.set(20usize, 8u8, { - let tx_brk_num: u32 = unsafe { ::core::mem::transmute(tx_brk_num) }; - tx_brk_num as u64 - }); - __bindgen_bitfield_unit.set(28usize, 4u8, { - let reserved28: u32 = unsafe { ::core::mem::transmute(reserved28) }; - reserved28 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_18 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_18__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_18__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_18__bindgen_ty_1 { - #[inline] - pub fn en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + pub fn tx_brk_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } } #[inline] - pub fn set_en(&mut self, val: u32) { + pub fn set_tx_brk_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) + self._bitfield_1.set(12usize, 1u8, val as u64) } } #[inline] - pub fn dl0_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + pub fn tx_brk_idle_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } } #[inline] - pub fn set_dl0_en(&mut self, val: u32) { + pub fn set_tx_brk_idle_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) + self._bitfield_1.set(13usize, 1u8, val as u64) } } #[inline] - pub fn dl1_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + pub fn tx_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } } #[inline] - pub fn set_dl1_en(&mut self, val: u32) { + pub fn set_tx_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) + self._bitfield_1.set(14usize, 1u8, val as u64) } } #[inline] - pub fn tx_rx_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + pub fn rs485_parity_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } } #[inline] - pub fn set_tx_rx_en(&mut self, val: u32) { + pub fn set_rs485_parity_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 1u8, val as u64) + self._bitfield_1.set(15usize, 1u8, val as u64) } } #[inline] - pub fn rx_busy_tx_en(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + pub fn rs485_frm_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } } #[inline] - pub fn set_rx_busy_tx_en(&mut self, val: u32) { + pub fn set_rs485_frm_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(4usize, 1u8, val as u64) + self._bitfield_1.set(16usize, 1u8, val as u64) } } #[inline] - pub fn rx_dly_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + pub fn rs485_clash(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } } #[inline] - pub fn set_rx_dly_num(&mut self, val: u32) { + pub fn set_rs485_clash(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(5usize, 1u8, val as u64) + self._bitfield_1.set(17usize, 1u8, val as u64) } } #[inline] - pub fn tx_dly_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 4u8) as u32) } + pub fn at_cmd_char_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } } #[inline] - pub fn set_tx_dly_num(&mut self, val: u32) { + pub fn set_at_cmd_char_det(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 4u8, val as u64) + self._bitfield_1.set(18usize, 1u8, val as u64) } } #[inline] - pub fn reserved10(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } + pub fn reserved19(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } } #[inline] - pub fn set_reserved10(&mut self, val: u32) { + pub fn set_reserved19(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 22u8, val as u64) + self._bitfield_1.set(19usize, 13u8, val as u64) } } #[inline] pub fn new_bitfield_1( - en: u32, - dl0_en: u32, - dl1_en: u32, - tx_rx_en: u32, - rx_busy_tx_en: u32, - rx_dly_num: u32, - tx_dly_num: u32, - reserved10: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + rxfifo_full: u32, + txfifo_empty: u32, + parity_err: u32, + frm_err: u32, + rxfifo_ovf: u32, + dsr_chg: u32, + cts_chg: u32, + brk_det: u32, + rxfifo_tout: u32, + sw_xon: u32, + sw_xoff: u32, + glitch_det: u32, + tx_brk_done: u32, + tx_brk_idle_done: u32, + tx_done: u32, + rs485_parity_err: u32, + rs485_frm_err: u32, + rs485_clash: u32, + at_cmd_char_det: u32, + reserved19: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = Default::default(); __bindgen_bitfield_unit.set(0usize, 1u8, { - let en: u32 = unsafe { ::core::mem::transmute(en) }; - en as u64 + let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; + rxfifo_full as u64 }); __bindgen_bitfield_unit.set(1usize, 1u8, { - let dl0_en: u32 = unsafe { ::core::mem::transmute(dl0_en) }; - dl0_en as u64 + let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; + txfifo_empty as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; + parity_err as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; + frm_err as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; + rxfifo_ovf as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; + dsr_chg as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; + cts_chg as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; + brk_det as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; + rxfifo_tout as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; + sw_xon as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; + sw_xoff as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; + glitch_det as u64 }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let dl1_en: u32 = unsafe { ::core::mem::transmute(dl1_en) }; - dl1_en as u64 + __bindgen_bitfield_unit.set(12usize, 1u8, { + let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; + tx_brk_done as u64 }); - __bindgen_bitfield_unit.set(3usize, 1u8, { - let tx_rx_en: u32 = unsafe { ::core::mem::transmute(tx_rx_en) }; - tx_rx_en as u64 + __bindgen_bitfield_unit.set(13usize, 1u8, { + let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; + tx_brk_idle_done as u64 }); - __bindgen_bitfield_unit.set(4usize, 1u8, { - let rx_busy_tx_en: u32 = unsafe { ::core::mem::transmute(rx_busy_tx_en) }; - rx_busy_tx_en as u64 + __bindgen_bitfield_unit.set(14usize, 1u8, { + let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; + tx_done as u64 }); - __bindgen_bitfield_unit.set(5usize, 1u8, { - let rx_dly_num: u32 = unsafe { ::core::mem::transmute(rx_dly_num) }; - rx_dly_num as u64 + __bindgen_bitfield_unit.set(15usize, 1u8, { + let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; + rs485_parity_err as u64 }); - __bindgen_bitfield_unit.set(6usize, 4u8, { - let tx_dly_num: u32 = unsafe { ::core::mem::transmute(tx_dly_num) }; - tx_dly_num as u64 + __bindgen_bitfield_unit.set(16usize, 1u8, { + let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; + rs485_frm_err as u64 }); - __bindgen_bitfield_unit.set(10usize, 22u8, { - let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; - reserved10 as u64 + __bindgen_bitfield_unit.set(17usize, 1u8, { + let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; + rs485_clash as u64 }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_19 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_19__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 { - #[inline] - pub fn pre_idle_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } - } - #[inline] - pub fn set_pre_idle_num(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 24u8, val as u64) - } - } - #[inline] - pub fn reserved24(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } - } - #[inline] - pub fn set_reserved24(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - pre_idle_num: u32, - reserved24: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 24u8, { - let pre_idle_num: u32 = unsafe { ::core::mem::transmute(pre_idle_num) }; - pre_idle_num as u64 + __bindgen_bitfield_unit.set(18usize, 1u8, { + let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; + at_cmd_char_det as u64 }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; - reserved24 as u64 + __bindgen_bitfield_unit.set(19usize, 13u8, { + let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; + reserved19 as u64 }); __bindgen_bitfield_unit } } #[repr(C)] #[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_20 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_20__bindgen_ty_1, +pub union uart_dev_s__bindgen_ty_3 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_3__bindgen_ty_1, pub val: u32, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_20__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct uart_dev_s__bindgen_ty_3__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -impl _bindgen_ty_1__bindgen_ty_20__bindgen_ty_1 { +impl uart_dev_s__bindgen_ty_3__bindgen_ty_1 { #[inline] - pub fn post_idle_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + pub fn rxfifo_full(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } } #[inline] - pub fn set_post_idle_num(&mut self, val: u32) { + pub fn set_rxfifo_full(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 24u8, val as u64) + self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] - pub fn reserved24(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + pub fn txfifo_empty(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } } #[inline] - pub fn set_reserved24(&mut self, val: u32) { + pub fn set_txfifo_empty(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) + self._bitfield_1.set(1usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - post_idle_num: u32, - reserved24: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 24u8, { - let post_idle_num: u32 = unsafe { ::core::mem::transmute(post_idle_num) }; - post_idle_num as u64 - }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; - reserved24 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_21 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_21__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_21__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_21__bindgen_ty_1 { - #[inline] - pub fn rx_gap_tout(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + pub fn parity_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } } #[inline] - pub fn set_rx_gap_tout(&mut self, val: u32) { + pub fn set_parity_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 24u8, val as u64) + self._bitfield_1.set(2usize, 1u8, val as u64) } } #[inline] - pub fn reserved24(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + pub fn frm_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } } #[inline] - pub fn set_reserved24(&mut self, val: u32) { + pub fn set_frm_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) + self._bitfield_1.set(3usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - rx_gap_tout: u32, - reserved24: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 24u8, { - let rx_gap_tout: u32 = unsafe { ::core::mem::transmute(rx_gap_tout) }; - rx_gap_tout as u64 - }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; - reserved24 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_22 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_22__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_22__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_22__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + pub fn rxfifo_ovf(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } } #[inline] - pub fn set_data(&mut self, val: u32) { + pub fn set_rxfifo_ovf(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) + self._bitfield_1.set(4usize, 1u8, val as u64) } } #[inline] - pub fn char_num(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + pub fn dsr_chg(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } } #[inline] - pub fn set_char_num(&mut self, val: u32) { + pub fn set_dsr_chg(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 8u8, val as u64) + self._bitfield_1.set(5usize, 1u8, val as u64) } } #[inline] - pub fn reserved16(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + pub fn cts_chg(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } } #[inline] - pub fn set_reserved16(&mut self, val: u32) { + pub fn set_cts_chg(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 16u8, val as u64) + self._bitfield_1.set(6usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - data: u32, - char_num: u32, - reserved16: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 8u8, { - let char_num: u32 = unsafe { ::core::mem::transmute(char_num) }; - char_num as u64 - }); - __bindgen_bitfield_unit.set(16usize, 16u8, { - let reserved16: u32 = unsafe { ::core::mem::transmute(reserved16) }; - reserved16 as u64 - }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_23 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_23__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_23__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, -} -impl _bindgen_ty_1__bindgen_ty_23__bindgen_ty_1 { - #[inline] - pub fn mem_pd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + pub fn brk_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } } #[inline] - pub fn set_mem_pd(&mut self, val: u32) { + pub fn set_brk_det(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 1u8, val as u64) + self._bitfield_1.set(7usize, 1u8, val as u64) } } #[inline] - pub fn reserved1(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + pub fn rxfifo_tout(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } } #[inline] - pub fn set_reserved1(&mut self, val: u32) { + pub fn set_rxfifo_tout(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(1usize, 1u8, val as u64) + self._bitfield_1.set(8usize, 1u8, val as u64) } } #[inline] - pub fn reserved2(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + pub fn sw_xon(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } } #[inline] - pub fn set_reserved2(&mut self, val: u32) { + pub fn set_sw_xon(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) + self._bitfield_1.set(9usize, 1u8, val as u64) } } #[inline] - pub fn rx_size(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 4u8) as u32) } + pub fn sw_xoff(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } } #[inline] - pub fn set_rx_size(&mut self, val: u32) { + pub fn set_sw_xoff(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 4u8, val as u64) + self._bitfield_1.set(10usize, 1u8, val as u64) } } #[inline] - pub fn tx_size(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 4u8) as u32) } + pub fn glitch_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } } #[inline] - pub fn set_tx_size(&mut self, val: u32) { + pub fn set_glitch_det(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 4u8, val as u64) + self._bitfield_1.set(11usize, 1u8, val as u64) } } #[inline] - pub fn reserved11(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 4u8) as u32) } + pub fn tx_brk_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } } #[inline] - pub fn set_reserved11(&mut self, val: u32) { + pub fn set_tx_brk_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 4u8, val as u64) + self._bitfield_1.set(12usize, 1u8, val as u64) } } #[inline] - pub fn rx_flow_thrhd_h3(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 3u8) as u32) } + pub fn tx_brk_idle_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } } #[inline] - pub fn set_rx_flow_thrhd_h3(&mut self, val: u32) { + pub fn set_tx_brk_idle_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(15usize, 3u8, val as u64) + self._bitfield_1.set(13usize, 1u8, val as u64) } } #[inline] - pub fn rx_tout_thrhd_h3(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 3u8) as u32) } + pub fn tx_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } } #[inline] - pub fn set_rx_tout_thrhd_h3(&mut self, val: u32) { + pub fn set_tx_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(18usize, 3u8, val as u64) + self._bitfield_1.set(14usize, 1u8, val as u64) } } #[inline] - pub fn xon_threshold_h2(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 2u8) as u32) } + pub fn rs485_parity_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } } #[inline] - pub fn set_xon_threshold_h2(&mut self, val: u32) { + pub fn set_rs485_parity_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(21usize, 2u8, val as u64) + self._bitfield_1.set(15usize, 1u8, val as u64) } } #[inline] - pub fn xoff_threshold_h2(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 2u8) as u32) } + pub fn rs485_frm_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } } #[inline] - pub fn set_xoff_threshold_h2(&mut self, val: u32) { + pub fn set_rs485_frm_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(23usize, 2u8, val as u64) + self._bitfield_1.set(16usize, 1u8, val as u64) } } #[inline] - pub fn rx_mem_full_thrhd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 3u8) as u32) } + pub fn rs485_clash(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } } #[inline] - pub fn set_rx_mem_full_thrhd(&mut self, val: u32) { + pub fn set_rs485_clash(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(25usize, 3u8, val as u64) + self._bitfield_1.set(17usize, 1u8, val as u64) } } #[inline] - pub fn tx_mem_empty_thrhd(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 3u8) as u32) } + pub fn at_cmd_char_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } } #[inline] - pub fn set_tx_mem_empty_thrhd(&mut self, val: u32) { + pub fn set_at_cmd_char_det(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(28usize, 3u8, val as u64) + self._bitfield_1.set(18usize, 1u8, val as u64) } } #[inline] - pub fn reserved31(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + pub fn reserved19(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } } #[inline] - pub fn set_reserved31(&mut self, val: u32) { + pub fn set_reserved19(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(31usize, 1u8, val as u64) + self._bitfield_1.set(19usize, 13u8, val as u64) } } #[inline] pub fn new_bitfield_1( - mem_pd: u32, - reserved1: u32, - reserved2: u32, - rx_size: u32, - tx_size: u32, - reserved11: u32, - rx_flow_thrhd_h3: u32, - rx_tout_thrhd_h3: u32, - xon_threshold_h2: u32, - xoff_threshold_h2: u32, - rx_mem_full_thrhd: u32, - tx_mem_empty_thrhd: u32, - reserved31: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = + rxfifo_full: u32, + txfifo_empty: u32, + parity_err: u32, + frm_err: u32, + rxfifo_ovf: u32, + dsr_chg: u32, + cts_chg: u32, + brk_det: u32, + rxfifo_tout: u32, + sw_xon: u32, + sw_xoff: u32, + glitch_det: u32, + tx_brk_done: u32, + tx_brk_idle_done: u32, + tx_done: u32, + rs485_parity_err: u32, + rs485_frm_err: u32, + rs485_clash: u32, + at_cmd_char_det: u32, + reserved19: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = Default::default(); __bindgen_bitfield_unit.set(0usize, 1u8, { - let mem_pd: u32 = unsafe { ::core::mem::transmute(mem_pd) }; - mem_pd as u64 + let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; + rxfifo_full as u64 }); __bindgen_bitfield_unit.set(1usize, 1u8, { - let reserved1: u32 = unsafe { ::core::mem::transmute(reserved1) }; - reserved1 as u64 + let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; + txfifo_empty as u64 }); __bindgen_bitfield_unit.set(2usize, 1u8, { - let reserved2: u32 = unsafe { ::core::mem::transmute(reserved2) }; - reserved2 as u64 + let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; + parity_err as u64 }); - __bindgen_bitfield_unit.set(3usize, 4u8, { - let rx_size: u32 = unsafe { ::core::mem::transmute(rx_size) }; - rx_size as u64 + __bindgen_bitfield_unit.set(3usize, 1u8, { + let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; + frm_err as u64 }); - __bindgen_bitfield_unit.set(7usize, 4u8, { - let tx_size: u32 = unsafe { ::core::mem::transmute(tx_size) }; - tx_size as u64 + __bindgen_bitfield_unit.set(4usize, 1u8, { + let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; + rxfifo_ovf as u64 }); - __bindgen_bitfield_unit.set(11usize, 4u8, { - let reserved11: u32 = unsafe { ::core::mem::transmute(reserved11) }; - reserved11 as u64 + __bindgen_bitfield_unit.set(5usize, 1u8, { + let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; + dsr_chg as u64 }); - __bindgen_bitfield_unit.set(15usize, 3u8, { - let rx_flow_thrhd_h3: u32 = unsafe { ::core::mem::transmute(rx_flow_thrhd_h3) }; - rx_flow_thrhd_h3 as u64 + __bindgen_bitfield_unit.set(6usize, 1u8, { + let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; + cts_chg as u64 }); - __bindgen_bitfield_unit.set(18usize, 3u8, { - let rx_tout_thrhd_h3: u32 = unsafe { ::core::mem::transmute(rx_tout_thrhd_h3) }; - rx_tout_thrhd_h3 as u64 + __bindgen_bitfield_unit.set(7usize, 1u8, { + let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; + brk_det as u64 }); - __bindgen_bitfield_unit.set(21usize, 2u8, { - let xon_threshold_h2: u32 = unsafe { ::core::mem::transmute(xon_threshold_h2) }; - xon_threshold_h2 as u64 + __bindgen_bitfield_unit.set(8usize, 1u8, { + let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; + rxfifo_tout as u64 }); - __bindgen_bitfield_unit.set(23usize, 2u8, { - let xoff_threshold_h2: u32 = unsafe { ::core::mem::transmute(xoff_threshold_h2) }; - xoff_threshold_h2 as u64 + __bindgen_bitfield_unit.set(9usize, 1u8, { + let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; + sw_xon as u64 }); - __bindgen_bitfield_unit.set(25usize, 3u8, { - let rx_mem_full_thrhd: u32 = unsafe { ::core::mem::transmute(rx_mem_full_thrhd) }; - rx_mem_full_thrhd as u64 + __bindgen_bitfield_unit.set(10usize, 1u8, { + let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; + sw_xoff as u64 }); - __bindgen_bitfield_unit.set(28usize, 3u8, { - let tx_mem_empty_thrhd: u32 = unsafe { ::core::mem::transmute(tx_mem_empty_thrhd) }; - tx_mem_empty_thrhd as u64 + __bindgen_bitfield_unit.set(11usize, 1u8, { + let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; + glitch_det as u64 }); - __bindgen_bitfield_unit.set(31usize, 1u8, { - let reserved31: u32 = unsafe { ::core::mem::transmute(reserved31) }; - reserved31 as u64 + __bindgen_bitfield_unit.set(12usize, 1u8, { + let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; + tx_brk_done as u64 }); - __bindgen_bitfield_unit - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_24 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_24__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_24__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_24__bindgen_ty_1 { - #[inline] - pub fn status(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } - } - #[inline] - pub fn set_status(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 24u8, val as u64) - } - } - #[inline] - pub fn reserved24(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } - } - #[inline] - pub fn set_reserved24(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - status: u32, - reserved24: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 24u8, { - let status: u32 = unsafe { ::core::mem::transmute(status) }; - status as u64 + __bindgen_bitfield_unit.set(13usize, 1u8, { + let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; + tx_brk_idle_done as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; + tx_done as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; + rs485_parity_err as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; + rs485_frm_err as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; + rs485_clash as u64 }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; - reserved24 as u64 + __bindgen_bitfield_unit.set(18usize, 1u8, { + let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; + at_cmd_char_det as u64 + }); + __bindgen_bitfield_unit.set(19usize, 13u8, { + let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; + reserved19 as u64 }); __bindgen_bitfield_unit } } #[repr(C)] #[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_25 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_25__bindgen_ty_1, - pub __bindgen_anon_2: _bindgen_ty_1__bindgen_ty_25__bindgen_ty_2, +pub union uart_dev_s__bindgen_ty_4 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_4__bindgen_ty_1, pub val: u32, _bindgen_union_align: u32, } #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_25__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct uart_dev_s__bindgen_ty_4__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -impl _bindgen_ty_1__bindgen_ty_25__bindgen_ty_1 { +impl uart_dev_s__bindgen_ty_4__bindgen_ty_1 { #[inline] - pub fn status(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + pub fn rxfifo_full(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } } #[inline] - pub fn set_status(&mut self, val: u32) { + pub fn set_rxfifo_full(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 24u8, val as u64) + self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] - pub fn reserved24(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + pub fn txfifo_empty(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } } #[inline] - pub fn set_reserved24(&mut self, val: u32) { + pub fn set_txfifo_empty(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) + self._bitfield_1.set(1usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - status: u32, - reserved24: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 24u8, { - let status: u32 = unsafe { ::core::mem::transmute(status) }; - status as u64 - }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; - reserved24 as u64 - }); - __bindgen_bitfield_unit + pub fn parity_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } } -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_25__bindgen_ty_2 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, -} -impl _bindgen_ty_1__bindgen_ty_25__bindgen_ty_2 { #[inline] - pub fn reserved0(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + pub fn set_parity_err(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } } #[inline] - pub fn set_reserved0(&mut self, val: u32) { + pub fn frm_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_frm_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) + self._bitfield_1.set(3usize, 1u8, val as u64) } } #[inline] - pub fn rd_addr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 11u8) as u32) } + pub fn rxfifo_ovf(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } } #[inline] - pub fn set_rd_addr(&mut self, val: u32) { + pub fn set_rxfifo_ovf(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 11u8, val as u64) + self._bitfield_1.set(4usize, 1u8, val as u64) } } #[inline] - pub fn wr_addr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 11u8) as u32) } + pub fn dsr_chg(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } } #[inline] - pub fn set_wr_addr(&mut self, val: u32) { + pub fn set_dsr_chg(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 11u8, val as u64) + self._bitfield_1.set(5usize, 1u8, val as u64) } } #[inline] - pub fn reserved(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + pub fn cts_chg(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } } #[inline] - pub fn set_reserved(&mut self, val: u32) { + pub fn set_cts_chg(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(24usize, 8u8, val as u64) + self._bitfield_1.set(6usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - reserved0: u32, - rd_addr: u32, - wr_addr: u32, - reserved: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let reserved0: u32 = unsafe { ::core::mem::transmute(reserved0) }; - reserved0 as u64 - }); - __bindgen_bitfield_unit.set(2usize, 11u8, { - let rd_addr: u32 = unsafe { ::core::mem::transmute(rd_addr) }; - rd_addr as u64 - }); - __bindgen_bitfield_unit.set(13usize, 11u8, { - let wr_addr: u32 = unsafe { ::core::mem::transmute(wr_addr) }; - wr_addr as u64 - }); - __bindgen_bitfield_unit.set(24usize, 8u8, { - let reserved: u32 = unsafe { ::core::mem::transmute(reserved) }; - reserved as u64 - }); - __bindgen_bitfield_unit + pub fn brk_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_26 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_26__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_26__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_26__bindgen_ty_1 { #[inline] - pub fn rx_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u32) } + pub fn set_brk_det(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } } #[inline] - pub fn set_rx_cnt(&mut self, val: u32) { + pub fn rxfifo_tout(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxfifo_tout(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 3u8, val as u64) + self._bitfield_1.set(8usize, 1u8, val as u64) } } #[inline] - pub fn tx_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 3u8) as u32) } + pub fn sw_xon(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } } #[inline] - pub fn set_tx_cnt(&mut self, val: u32) { + pub fn set_sw_xon(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 3u8, val as u64) + self._bitfield_1.set(9usize, 1u8, val as u64) } } #[inline] - pub fn reserved6(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 26u8) as u32) } + pub fn sw_xoff(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } } #[inline] - pub fn set_reserved6(&mut self, val: u32) { + pub fn set_sw_xoff(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 26u8, val as u64) + self._bitfield_1.set(10usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - rx_cnt: u32, - tx_cnt: u32, - reserved6: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 3u8, { - let rx_cnt: u32 = unsafe { ::core::mem::transmute(rx_cnt) }; - rx_cnt as u64 - }); - __bindgen_bitfield_unit.set(3usize, 3u8, { - let tx_cnt: u32 = unsafe { ::core::mem::transmute(tx_cnt) }; - tx_cnt as u64 - }); - __bindgen_bitfield_unit.set(6usize, 26u8, { - let reserved6: u32 = unsafe { ::core::mem::transmute(reserved6) }; - reserved6 as u64 - }); - __bindgen_bitfield_unit + pub fn glitch_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_27 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_27__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_27__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_27__bindgen_ty_1 { #[inline] - pub fn min_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + pub fn set_glitch_det(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } } #[inline] - pub fn set_min_cnt(&mut self, val: u32) { + pub fn tx_brk_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_tx_brk_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 20u8, val as u64) + self._bitfield_1.set(12usize, 1u8, val as u64) } } #[inline] - pub fn reserved20(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + pub fn tx_brk_idle_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } } #[inline] - pub fn set_reserved20(&mut self, val: u32) { + pub fn set_tx_brk_idle_done(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 12u8, val as u64) + self._bitfield_1.set(13usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - min_cnt: u32, - reserved20: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 20u8, { - let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; - min_cnt as u64 - }); - __bindgen_bitfield_unit.set(20usize, 12u8, { - let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; - reserved20 as u64 - }); - __bindgen_bitfield_unit + pub fn tx_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_tx_done(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn rs485_parity_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_1__bindgen_ty_28 { - pub __bindgen_anon_1: _bindgen_ty_1__bindgen_ty_28__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, -} -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_1__bindgen_ty_28__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_1__bindgen_ty_28__bindgen_ty_1 { #[inline] - pub fn min_cnt(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + pub fn set_rs485_parity_err(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } } #[inline] - pub fn set_min_cnt(&mut self, val: u32) { + pub fn rs485_frm_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_rs485_frm_err(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 20u8, val as u64) + self._bitfield_1.set(16usize, 1u8, val as u64) } } #[inline] - pub fn reserved20(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + pub fn rs485_clash(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } } #[inline] - pub fn set_reserved20(&mut self, val: u32) { + pub fn set_rs485_clash(&mut self, val: u32) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 12u8, val as u64) + self._bitfield_1.set(17usize, 1u8, val as u64) } } #[inline] - pub fn new_bitfield_1( - min_cnt: u32, - reserved20: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 20u8, { - let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; - min_cnt as u64 - }); - __bindgen_bitfield_unit.set(20usize, 12u8, { - let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; - reserved20 as u64 - }); - __bindgen_bitfield_unit + pub fn at_cmd_char_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } + } + #[inline] + pub fn set_at_cmd_char_det(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved19(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } + } + #[inline] + pub fn set_reserved19(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 13u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rxfifo_full: u32, + txfifo_empty: u32, + parity_err: u32, + frm_err: u32, + rxfifo_ovf: u32, + dsr_chg: u32, + cts_chg: u32, + brk_det: u32, + rxfifo_tout: u32, + sw_xon: u32, + sw_xoff: u32, + glitch_det: u32, + tx_brk_done: u32, + tx_brk_idle_done: u32, + tx_done: u32, + rs485_parity_err: u32, + rs485_frm_err: u32, + rs485_clash: u32, + at_cmd_char_det: u32, + reserved19: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; + rxfifo_full as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; + txfifo_empty as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; + parity_err as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; + frm_err as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; + rxfifo_ovf as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; + dsr_chg as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; + cts_chg as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; + brk_det as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; + rxfifo_tout as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; + sw_xon as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; + sw_xoff as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; + glitch_det as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; + tx_brk_done as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; + tx_brk_idle_done as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; + tx_done as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; + rs485_parity_err as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; + rs485_frm_err as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; + rs485_clash as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; + at_cmd_char_det as u64 + }); + __bindgen_bitfield_unit.set(19usize, 13u8, { + let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; + reserved19 as u64 + }); + __bindgen_bitfield_unit } -} -pub type uart_dev_t = _bindgen_ty_1; -extern "C" { - #[link_name = "\u{1}UART0"] - pub static mut UART0: uart_dev_t; -} -extern "C" { - #[link_name = "\u{1}UART1"] - pub static mut UART1: uart_dev_t; -} -extern "C" { - #[link_name = "\u{1}UART2"] - pub static mut UART2: uart_dev_t; -} -pub type wchar_t = ::std::os::raw::c_uchar; -#[repr(C)] -#[repr(align(8))] -#[derive(Debug, Copy, Clone)] -pub struct max_align_t { - pub __clang_max_align_nonce1: ::std::os::raw::c_longlong, - pub __clang_max_align_nonce2: f64, -} -pub type va_list = __builtin_va_list; -pub type __gnuc_va_list = __builtin_va_list; -pub type _lock_t = ::std::os::raw::c_int; -pub type _LOCK_RECURSIVE_T = _lock_t; -pub type _LOCK_T = _lock_t; -extern "C" { - pub fn _lock_init(lock: *mut _lock_t); -} -extern "C" { - pub fn _lock_init_recursive(lock: *mut _lock_t); -} -extern "C" { - pub fn _lock_close(lock: *mut _lock_t); -} -extern "C" { - pub fn _lock_close_recursive(lock: *mut _lock_t); -} -extern "C" { - pub fn _lock_acquire(lock: *mut _lock_t); -} -extern "C" { - pub fn _lock_acquire_recursive(lock: *mut _lock_t); -} -extern "C" { - pub fn _lock_try_acquire(lock: *mut _lock_t) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn _lock_try_acquire_recursive(lock: *mut _lock_t) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn _lock_release(lock: *mut _lock_t); -} -extern "C" { - pub fn _lock_release_recursive(lock: *mut _lock_t); -} -pub type _off_t = ::std::os::raw::c_long; -pub type __dev_t = ::std::os::raw::c_short; -pub type __uid_t = ::std::os::raw::c_ushort; -pub type __gid_t = ::std::os::raw::c_ushort; -pub type _off64_t = ::std::os::raw::c_longlong; -pub type _fpos_t = ::std::os::raw::c_long; -pub type _ssize_t = ::std::os::raw::c_int; -pub type wint_t = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _mbstate_t { - pub __count: ::std::os::raw::c_int, - pub __value: _mbstate_t__bindgen_ty_1, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _mbstate_t__bindgen_ty_1 { - pub __wch: wint_t, - pub __wchb: [::std::os::raw::c_uchar; 4usize], - _bindgen_union_align: u32, -} -pub type _flock_t = _LOCK_RECURSIVE_T; -pub type _iconv_t = *mut ::std::os::raw::c_void; -pub type __ULong = ::std::os::raw::c_ulong; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _Bigint { - pub _next: *mut _Bigint, - pub _k: ::std::os::raw::c_int, - pub _maxwds: ::std::os::raw::c_int, - pub _sign: ::std::os::raw::c_int, - pub _wds: ::std::os::raw::c_int, - pub _x: [__ULong; 1usize], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __tm { - pub __tm_sec: ::std::os::raw::c_int, - pub __tm_min: ::std::os::raw::c_int, - pub __tm_hour: ::std::os::raw::c_int, - pub __tm_mday: ::std::os::raw::c_int, - pub __tm_mon: ::std::os::raw::c_int, - pub __tm_year: ::std::os::raw::c_int, - pub __tm_wday: ::std::os::raw::c_int, - pub __tm_yday: ::std::os::raw::c_int, - pub __tm_isdst: ::std::os::raw::c_int, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _on_exit_args { - pub _fnargs: [*mut ::std::os::raw::c_void; 32usize], - pub _dso_handle: [*mut ::std::os::raw::c_void; 32usize], - pub _fntypes: __ULong, - pub _is_cxa: __ULong, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _atexit { - pub _next: *mut _atexit, - pub _ind: ::std::os::raw::c_int, - pub _fns: [::core::option::Option; 32usize], - pub _on_exit_args_ptr: *mut _on_exit_args, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __sbuf { - pub _base: *mut ::std::os::raw::c_uchar, - pub _size: ::std::os::raw::c_int, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __sFILE_fake { - pub _p: *mut ::std::os::raw::c_uchar, - pub _r: ::std::os::raw::c_int, - pub _w: ::std::os::raw::c_int, - pub _flags: ::std::os::raw::c_short, - pub _file: ::std::os::raw::c_short, - pub _bf: __sbuf, - pub _lbfsize: ::std::os::raw::c_int, - pub _data: *mut _reent, -} -extern "C" { - pub fn __sinit(arg1: *mut _reent); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct __sFILE { - pub _p: *mut ::std::os::raw::c_uchar, - pub _r: ::std::os::raw::c_int, - pub _w: ::std::os::raw::c_int, - pub _flags: ::std::os::raw::c_short, - pub _file: ::std::os::raw::c_short, - pub _bf: __sbuf, - pub _lbfsize: ::std::os::raw::c_int, - pub _data: *mut _reent, - pub _cookie: *mut ::std::os::raw::c_void, - pub _read: ::core::option::Option< - unsafe extern "C" fn( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - arg3: *mut ::std::os::raw::c_char, - arg4: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub _write: ::core::option::Option< - unsafe extern "C" fn( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - arg3: *const ::std::os::raw::c_char, - arg4: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub _seek: ::core::option::Option< - unsafe extern "C" fn( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - arg3: _fpos_t, - arg4: ::std::os::raw::c_int, - ) -> _fpos_t, - >, - pub _close: ::core::option::Option< - unsafe extern "C" fn( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int, - >, - pub _ub: __sbuf, - pub _up: *mut ::std::os::raw::c_uchar, - pub _ur: ::std::os::raw::c_int, - pub _ubuf: [::std::os::raw::c_uchar; 3usize], - pub _nbuf: [::std::os::raw::c_uchar; 1usize], - pub _lb: __sbuf, - pub _blksize: ::std::os::raw::c_int, - pub _offset: _off_t, - pub _lock: _flock_t, - pub _mbstate: _mbstate_t, - pub _flags2: ::std::os::raw::c_int, -} -pub type __FILE = __sFILE; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _glue { - pub _next: *mut _glue, - pub _niobs: ::std::os::raw::c_int, - pub _iobs: *mut __FILE, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _rand48 { - pub _seed: [::std::os::raw::c_ushort; 3usize], - pub _mult: [::std::os::raw::c_ushort; 3usize], - pub _add: ::std::os::raw::c_ushort, - pub _rand_next: ::std::os::raw::c_ulonglong, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _mprec { - pub _result: *mut _Bigint, - pub _result_k: ::std::os::raw::c_int, - pub _p5s: *mut _Bigint, - pub _freelist: *mut *mut _Bigint, } #[repr(C)] #[derive(Copy, Clone)] -pub struct _misc_reent { - pub _strtok_last: *mut ::std::os::raw::c_char, - pub _mblen_state: _mbstate_t, - pub _wctomb_state: _mbstate_t, - pub _mbtowc_state: _mbstate_t, - pub _l64a_buf: [::std::os::raw::c_char; 8usize], - pub _getdate_err: ::std::os::raw::c_int, - pub _mbrlen_state: _mbstate_t, - pub _mbrtowc_state: _mbstate_t, - pub _mbsrtowcs_state: _mbstate_t, - pub _wcrtomb_state: _mbstate_t, - pub _wcsrtombs_state: _mbstate_t, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _reent { - pub _errno: ::std::os::raw::c_int, - pub _stdin: *mut __FILE, - pub _stdout: *mut __FILE, - pub _stderr: *mut __FILE, - pub _inc: ::std::os::raw::c_int, - pub _emergency: *mut ::std::os::raw::c_char, - pub __sdidinit: ::std::os::raw::c_int, - pub _current_category: ::std::os::raw::c_int, - pub _current_locale: *const ::std::os::raw::c_char, - pub _mp: *mut _mprec, - pub __cleanup: ::core::option::Option, - pub _gamma_signgam: ::std::os::raw::c_int, - pub _cvtlen: ::std::os::raw::c_int, - pub _cvtbuf: *mut ::std::os::raw::c_char, - pub _r48: *mut _rand48, - pub _localtime_buf: *mut __tm, - pub _asctime_buf: *mut ::std::os::raw::c_char, - pub _sig_func: *mut ::core::option::Option, - pub _atexit: *mut _atexit, - pub _atexit0: _atexit, - pub __sglue: _glue, - pub __sf: *mut __FILE, - pub _misc: *mut _misc_reent, - pub _signal_buf: *mut ::std::os::raw::c_char, -} -extern "C" { - #[link_name = "\u{1}__sf_fake_stdin"] - pub static __sf_fake_stdin: __sFILE_fake; -} -extern "C" { - #[link_name = "\u{1}__sf_fake_stdout"] - pub static __sf_fake_stdout: __sFILE_fake; -} -extern "C" { - #[link_name = "\u{1}__sf_fake_stderr"] - pub static __sf_fake_stderr: __sFILE_fake; -} -extern "C" { - #[link_name = "\u{1}_global_impure_ptr"] - pub static mut _global_impure_ptr: *mut _reent; -} -extern "C" { - pub fn _reclaim_reent(arg1: *mut _reent); -} -extern "C" { - pub fn __getreent() -> *mut _reent; -} -pub type __off_t = ::std::os::raw::c_long; -pub type __pid_t = ::std::os::raw::c_int; -pub type __loff_t = ::std::os::raw::c_longlong; -pub type u_char = ::std::os::raw::c_uchar; -pub type u_short = ::std::os::raw::c_ushort; -pub type u_int = ::std::os::raw::c_uint; -pub type u_long = ::std::os::raw::c_ulong; -pub type ushort = ::std::os::raw::c_ushort; -pub type uint = ::std::os::raw::c_uint; -pub type ulong = ::std::os::raw::c_ulong; -pub type clock_t = ::std::os::raw::c_ulong; -pub type time_t = ::std::os::raw::c_long; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct timespec { - pub tv_sec: time_t, - pub tv_nsec: ::std::os::raw::c_long, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct itimerspec { - pub it_interval: timespec, - pub it_value: timespec, -} -pub type daddr_t = ::std::os::raw::c_long; -pub type caddr_t = *mut ::std::os::raw::c_char; -pub type ino_t = ::std::os::raw::c_ushort; -pub type off_t = _off_t; -pub type dev_t = __dev_t; -pub type uid_t = __uid_t; -pub type gid_t = __gid_t; -pub type pid_t = ::std::os::raw::c_int; -pub type key_t = ::std::os::raw::c_long; -pub type mode_t = ::std::os::raw::c_uint; -pub type nlink_t = ::std::os::raw::c_ushort; -pub type fd_mask = ::std::os::raw::c_long; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _types_fd_set { - pub fds_bits: [fd_mask; 2usize], -} -pub type clockid_t = ::std::os::raw::c_ulong; -pub type timer_t = ::std::os::raw::c_ulong; -pub type useconds_t = ::std::os::raw::c_ulong; -pub type suseconds_t = ::std::os::raw::c_long; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct sched_param { - pub sched_priority: ::std::os::raw::c_int, -} -extern "C" { - pub fn sched_yield() -> ::std::os::raw::c_int; -} -pub type pthread_t = __uint32_t; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct pthread_attr_t { - pub is_initialized: ::std::os::raw::c_int, - pub stackaddr: *mut ::std::os::raw::c_void, - pub stacksize: ::std::os::raw::c_int, - pub contentionscope: ::std::os::raw::c_int, - pub inheritsched: ::std::os::raw::c_int, - pub schedpolicy: ::std::os::raw::c_int, - pub schedparam: sched_param, - pub detachstate: ::std::os::raw::c_int, +pub union uart_dev_s__bindgen_ty_5 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_5__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -pub type pthread_mutex_t = __uint32_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct pthread_mutexattr_t { - pub is_initialized: ::std::os::raw::c_int, - pub type_: ::std::os::raw::c_int, - pub recursive: ::std::os::raw::c_int, +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_5__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, +} +impl uart_dev_s__bindgen_ty_5__bindgen_ty_1 { + #[inline] + pub fn rxfifo_full(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxfifo_full(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn txfifo_empty(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_txfifo_empty(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn parity_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_parity_err(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn frm_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_frm_err(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn rxfifo_ovf(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxfifo_ovf(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn dsr_chg(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_dsr_chg(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn cts_chg(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_cts_chg(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn brk_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_brk_det(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn rxfifo_tout(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxfifo_tout(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn sw_xon(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_sw_xon(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn sw_xoff(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_sw_xoff(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn glitch_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_glitch_det(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn tx_brk_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_tx_brk_done(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn tx_brk_idle_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } + } + #[inline] + pub fn set_tx_brk_idle_done(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn tx_done(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_tx_done(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn rs485_parity_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_rs485_parity_err(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn rs485_frm_err(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_rs485_frm_err(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub fn rs485_clash(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } + } + #[inline] + pub fn set_rs485_clash(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub fn at_cmd_char_det(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } + } + #[inline] + pub fn set_at_cmd_char_det(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved19(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) } + } + #[inline] + pub fn set_reserved19(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 13u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rxfifo_full: u32, + txfifo_empty: u32, + parity_err: u32, + frm_err: u32, + rxfifo_ovf: u32, + dsr_chg: u32, + cts_chg: u32, + brk_det: u32, + rxfifo_tout: u32, + sw_xon: u32, + sw_xoff: u32, + glitch_det: u32, + tx_brk_done: u32, + tx_brk_idle_done: u32, + tx_done: u32, + rs485_parity_err: u32, + rs485_frm_err: u32, + rs485_clash: u32, + at_cmd_char_det: u32, + reserved19: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let rxfifo_full: u32 = unsafe { ::core::mem::transmute(rxfifo_full) }; + rxfifo_full as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let txfifo_empty: u32 = unsafe { ::core::mem::transmute(txfifo_empty) }; + txfifo_empty as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let parity_err: u32 = unsafe { ::core::mem::transmute(parity_err) }; + parity_err as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let frm_err: u32 = unsafe { ::core::mem::transmute(frm_err) }; + frm_err as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let rxfifo_ovf: u32 = unsafe { ::core::mem::transmute(rxfifo_ovf) }; + rxfifo_ovf as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let dsr_chg: u32 = unsafe { ::core::mem::transmute(dsr_chg) }; + dsr_chg as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let cts_chg: u32 = unsafe { ::core::mem::transmute(cts_chg) }; + cts_chg as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let brk_det: u32 = unsafe { ::core::mem::transmute(brk_det) }; + brk_det as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let rxfifo_tout: u32 = unsafe { ::core::mem::transmute(rxfifo_tout) }; + rxfifo_tout as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let sw_xon: u32 = unsafe { ::core::mem::transmute(sw_xon) }; + sw_xon as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let sw_xoff: u32 = unsafe { ::core::mem::transmute(sw_xoff) }; + sw_xoff as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let glitch_det: u32 = unsafe { ::core::mem::transmute(glitch_det) }; + glitch_det as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let tx_brk_done: u32 = unsafe { ::core::mem::transmute(tx_brk_done) }; + tx_brk_done as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let tx_brk_idle_done: u32 = unsafe { ::core::mem::transmute(tx_brk_idle_done) }; + tx_brk_idle_done as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let tx_done: u32 = unsafe { ::core::mem::transmute(tx_done) }; + tx_done as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let rs485_parity_err: u32 = unsafe { ::core::mem::transmute(rs485_parity_err) }; + rs485_parity_err as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let rs485_frm_err: u32 = unsafe { ::core::mem::transmute(rs485_frm_err) }; + rs485_frm_err as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let rs485_clash: u32 = unsafe { ::core::mem::transmute(rs485_clash) }; + rs485_clash as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let at_cmd_char_det: u32 = unsafe { ::core::mem::transmute(at_cmd_char_det) }; + at_cmd_char_det as u64 + }); + __bindgen_bitfield_unit.set(19usize, 13u8, { + let reserved19: u32 = unsafe { ::core::mem::transmute(reserved19) }; + reserved19 as u64 + }); + __bindgen_bitfield_unit + } } -pub type pthread_cond_t = __uint32_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct pthread_condattr_t { - pub is_initialized: ::std::os::raw::c_int, +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_6 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_6__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -pub type pthread_key_t = __uint32_t; #[repr(C)] +#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct pthread_once_t { - pub is_initialized: ::std::os::raw::c_int, - pub init_executed: ::std::os::raw::c_int, -} -pub type FILE = __FILE; -pub type fpos_t = _fpos_t; -extern "C" { - pub fn tmpfile() -> *mut FILE; -} -extern "C" { - pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn tempnam( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn freopen( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: *mut FILE, - ) -> *mut FILE; -} -extern "C" { - pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char); -} -extern "C" { - pub fn setvbuf( - arg1: *mut FILE, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: usize, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fprintf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fscanf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sscanf( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vfprintf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - arg3: __builtin_va_list, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vprintf( - arg1: *const ::std::os::raw::c_char, - arg2: __builtin_va_list, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn vsprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: __builtin_va_list, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fgets( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn getchar() -> ::std::os::raw::c_int; -} -extern "C" { - pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn fread( - arg1: *mut ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg2: *mut FILE, - ) -> usize; -} -extern "C" { - pub fn fwrite( - arg1: *const ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg2: *mut FILE, - ) -> usize; +pub struct uart_dev_s__bindgen_ty_6__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_6__bindgen_ty_1 { + #[inline] + pub fn div_int(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_div_int(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn div_frag(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) } + } + #[inline] + pub fn set_div_frag(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 4u8, val as u64) + } + } + #[inline] + pub fn reserved24(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved24(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + div_int: u32, + div_frag: u32, + reserved24: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let div_int: u32 = unsafe { ::core::mem::transmute(div_int) }; + div_int as u64 + }); + __bindgen_bitfield_unit.set(20usize, 4u8, { + let div_frag: u32 = unsafe { ::core::mem::transmute(div_frag) }; + div_frag as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; + reserved24 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn fseek( - arg1: *mut FILE, - arg2: ::std::os::raw::c_long, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_7 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_7__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_7__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -extern "C" { - pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long; +impl uart_dev_s__bindgen_ty_7__bindgen_ty_1 { + #[inline] + pub fn en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved1(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u32) } + } + #[inline] + pub fn set_reserved1(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn glitch_filt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_glitch_filt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved16(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_reserved16(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + en: u32, + reserved1: u32, + glitch_filt: u32, + reserved16: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let en: u32 = unsafe { ::core::mem::transmute(en) }; + en as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let reserved1: u32 = unsafe { ::core::mem::transmute(reserved1) }; + reserved1 as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let glitch_filt: u32 = unsafe { ::core::mem::transmute(glitch_filt) }; + glitch_filt as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let reserved16: u32 = unsafe { ::core::mem::transmute(reserved16) }; + reserved16 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn rewind(arg1: *mut FILE); +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_8 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_8__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn clearerr(arg1: *mut FILE); +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_8__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, } -extern "C" { - pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_8__bindgen_ty_1 { + #[inline] + pub fn rxfifo_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_rxfifo_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn st_urx_out(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u32) } + } + #[inline] + pub fn set_st_urx_out(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 4u8, val as u64) + } + } + #[inline] + pub fn reserved12(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved12(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn dsrn(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } + } + #[inline] + pub fn set_dsrn(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn ctsn(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_ctsn(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn rxd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn txfifo_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) } + } + #[inline] + pub fn set_txfifo_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 8u8, val as u64) + } + } + #[inline] + pub fn st_utx_out(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 4u8) as u32) } + } + #[inline] + pub fn set_st_utx_out(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 4u8, val as u64) + } + } + #[inline] + pub fn reserved28(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved28(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(28usize, 1u8, val as u64) + } + } + #[inline] + pub fn dtrn(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) } + } + #[inline] + pub fn set_dtrn(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(29usize, 1u8, val as u64) + } + } + #[inline] + pub fn rtsn(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) } + } + #[inline] + pub fn set_rtsn(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(30usize, 1u8, val as u64) + } + } + #[inline] + pub fn txd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_txd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rxfifo_cnt: u32, + st_urx_out: u32, + reserved12: u32, + dsrn: u32, + ctsn: u32, + rxd: u32, + txfifo_cnt: u32, + st_utx_out: u32, + reserved28: u32, + dtrn: u32, + rtsn: u32, + txd: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let rxfifo_cnt: u32 = unsafe { ::core::mem::transmute(rxfifo_cnt) }; + rxfifo_cnt as u64 + }); + __bindgen_bitfield_unit.set(8usize, 4u8, { + let st_urx_out: u32 = unsafe { ::core::mem::transmute(st_urx_out) }; + st_urx_out as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let reserved12: u32 = unsafe { ::core::mem::transmute(reserved12) }; + reserved12 as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let dsrn: u32 = unsafe { ::core::mem::transmute(dsrn) }; + dsrn as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let ctsn: u32 = unsafe { ::core::mem::transmute(ctsn) }; + ctsn as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let rxd: u32 = unsafe { ::core::mem::transmute(rxd) }; + rxd as u64 + }); + __bindgen_bitfield_unit.set(16usize, 8u8, { + let txfifo_cnt: u32 = unsafe { ::core::mem::transmute(txfifo_cnt) }; + txfifo_cnt as u64 + }); + __bindgen_bitfield_unit.set(24usize, 4u8, { + let st_utx_out: u32 = unsafe { ::core::mem::transmute(st_utx_out) }; + st_utx_out as u64 + }); + __bindgen_bitfield_unit.set(28usize, 1u8, { + let reserved28: u32 = unsafe { ::core::mem::transmute(reserved28) }; + reserved28 as u64 + }); + __bindgen_bitfield_unit.set(29usize, 1u8, { + let dtrn: u32 = unsafe { ::core::mem::transmute(dtrn) }; + dtrn as u64 + }); + __bindgen_bitfield_unit.set(30usize, 1u8, { + let rtsn: u32 = unsafe { ::core::mem::transmute(rtsn) }; + rtsn as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let txd: u32 = unsafe { ::core::mem::transmute(txd) }; + txd as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_9 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_9__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn perror(arg1: *const ::std::os::raw::c_char); +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_9__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, } -extern "C" { - pub fn fopen( - _name: *const ::std::os::raw::c_char, - _type: *const ::std::os::raw::c_char, - ) -> *mut FILE; +impl uart_dev_s__bindgen_ty_9__bindgen_ty_1 { + #[inline] + pub fn parity(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_parity(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn parity_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_parity_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn bit_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u32) } + } + #[inline] + pub fn set_bit_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub fn stop_bit_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u32) } + } + #[inline] + pub fn set_stop_bit_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 2u8, val as u64) + } + } + #[inline] + pub fn sw_rts(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_sw_rts(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn sw_dtr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_sw_dtr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn txd_brk(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_txd_brk(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn irda_dplx(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_irda_dplx(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn irda_tx_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_irda_tx_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn irda_wctl(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_irda_wctl(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn irda_tx_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_irda_tx_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn irda_rx_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } + } + #[inline] + pub fn set_irda_rx_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn loopback(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_loopback(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn tx_flow_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_tx_flow_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn irda_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_irda_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub fn rxfifo_rst(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxfifo_rst(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub fn txfifo_rst(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } + } + #[inline] + pub fn set_txfifo_rst(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub fn rxd_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxd_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub fn cts_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_cts_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn dsr_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_dsr_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn txd_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) } + } + #[inline] + pub fn set_txd_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub fn rts_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } + } + #[inline] + pub fn set_rts_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub fn dtr_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) } + } + #[inline] + pub fn set_dtr_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 1u8, val as u64) + } + } + #[inline] + pub fn clk_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) } + } + #[inline] + pub fn set_clk_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(25usize, 1u8, val as u64) + } + } + #[inline] + pub fn err_wr_mask(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) } + } + #[inline] + pub fn set_err_wr_mask(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(26usize, 1u8, val as u64) + } + } + #[inline] + pub fn tick_ref_always_on(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) } + } + #[inline] + pub fn set_tick_ref_always_on(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(27usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved28(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u32) } + } + #[inline] + pub fn set_reserved28(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(28usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + parity: u32, + parity_en: u32, + bit_num: u32, + stop_bit_num: u32, + sw_rts: u32, + sw_dtr: u32, + txd_brk: u32, + irda_dplx: u32, + irda_tx_en: u32, + irda_wctl: u32, + irda_tx_inv: u32, + irda_rx_inv: u32, + loopback: u32, + tx_flow_en: u32, + irda_en: u32, + rxfifo_rst: u32, + txfifo_rst: u32, + rxd_inv: u32, + cts_inv: u32, + dsr_inv: u32, + txd_inv: u32, + rts_inv: u32, + dtr_inv: u32, + clk_en: u32, + err_wr_mask: u32, + tick_ref_always_on: u32, + reserved28: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let parity: u32 = unsafe { ::core::mem::transmute(parity) }; + parity as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let parity_en: u32 = unsafe { ::core::mem::transmute(parity_en) }; + parity_en as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let bit_num: u32 = unsafe { ::core::mem::transmute(bit_num) }; + bit_num as u64 + }); + __bindgen_bitfield_unit.set(4usize, 2u8, { + let stop_bit_num: u32 = unsafe { ::core::mem::transmute(stop_bit_num) }; + stop_bit_num as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let sw_rts: u32 = unsafe { ::core::mem::transmute(sw_rts) }; + sw_rts as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let sw_dtr: u32 = unsafe { ::core::mem::transmute(sw_dtr) }; + sw_dtr as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let txd_brk: u32 = unsafe { ::core::mem::transmute(txd_brk) }; + txd_brk as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let irda_dplx: u32 = unsafe { ::core::mem::transmute(irda_dplx) }; + irda_dplx as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let irda_tx_en: u32 = unsafe { ::core::mem::transmute(irda_tx_en) }; + irda_tx_en as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let irda_wctl: u32 = unsafe { ::core::mem::transmute(irda_wctl) }; + irda_wctl as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let irda_tx_inv: u32 = unsafe { ::core::mem::transmute(irda_tx_inv) }; + irda_tx_inv as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let irda_rx_inv: u32 = unsafe { ::core::mem::transmute(irda_rx_inv) }; + irda_rx_inv as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let loopback: u32 = unsafe { ::core::mem::transmute(loopback) }; + loopback as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let tx_flow_en: u32 = unsafe { ::core::mem::transmute(tx_flow_en) }; + tx_flow_en as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let irda_en: u32 = unsafe { ::core::mem::transmute(irda_en) }; + irda_en as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let rxfifo_rst: u32 = unsafe { ::core::mem::transmute(rxfifo_rst) }; + rxfifo_rst as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let txfifo_rst: u32 = unsafe { ::core::mem::transmute(txfifo_rst) }; + txfifo_rst as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let rxd_inv: u32 = unsafe { ::core::mem::transmute(rxd_inv) }; + rxd_inv as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let cts_inv: u32 = unsafe { ::core::mem::transmute(cts_inv) }; + cts_inv as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let dsr_inv: u32 = unsafe { ::core::mem::transmute(dsr_inv) }; + dsr_inv as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let txd_inv: u32 = unsafe { ::core::mem::transmute(txd_inv) }; + txd_inv as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let rts_inv: u32 = unsafe { ::core::mem::transmute(rts_inv) }; + rts_inv as u64 + }); + __bindgen_bitfield_unit.set(24usize, 1u8, { + let dtr_inv: u32 = unsafe { ::core::mem::transmute(dtr_inv) }; + dtr_inv as u64 + }); + __bindgen_bitfield_unit.set(25usize, 1u8, { + let clk_en: u32 = unsafe { ::core::mem::transmute(clk_en) }; + clk_en as u64 + }); + __bindgen_bitfield_unit.set(26usize, 1u8, { + let err_wr_mask: u32 = unsafe { ::core::mem::transmute(err_wr_mask) }; + err_wr_mask as u64 + }); + __bindgen_bitfield_unit.set(27usize, 1u8, { + let tick_ref_always_on: u32 = unsafe { ::core::mem::transmute(tick_ref_always_on) }; + tick_ref_always_on as u64 + }); + __bindgen_bitfield_unit.set(28usize, 4u8, { + let reserved28: u32 = unsafe { ::core::mem::transmute(reserved28) }; + reserved28 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn sprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_10 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_10__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_10__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, } -extern "C" { - pub fn rename( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_10__bindgen_ty_1 { + #[inline] + pub fn rxfifo_full_thrhd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) } + } + #[inline] + pub fn set_rxfifo_full_thrhd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 7u8, val as u64) + } + } + #[inline] + pub fn reserved7(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved7(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn txfifo_empty_thrhd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 7u8) as u32) } + } + #[inline] + pub fn set_txfifo_empty_thrhd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 7u8, val as u64) + } + } + #[inline] + pub fn reserved15(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved15(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn rx_flow_thrhd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 7u8) as u32) } + } + #[inline] + pub fn set_rx_flow_thrhd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 7u8, val as u64) + } + } + #[inline] + pub fn rx_flow_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } + } + #[inline] + pub fn set_rx_flow_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub fn rx_tout_thrhd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 7u8) as u32) } + } + #[inline] + pub fn set_rx_tout_thrhd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 7u8, val as u64) + } + } + #[inline] + pub fn rx_tout_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_rx_tout_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rxfifo_full_thrhd: u32, + reserved7: u32, + txfifo_empty_thrhd: u32, + reserved15: u32, + rx_flow_thrhd: u32, + rx_flow_en: u32, + rx_tout_thrhd: u32, + rx_tout_en: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 7u8, { + let rxfifo_full_thrhd: u32 = unsafe { ::core::mem::transmute(rxfifo_full_thrhd) }; + rxfifo_full_thrhd as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let reserved7: u32 = unsafe { ::core::mem::transmute(reserved7) }; + reserved7 as u64 + }); + __bindgen_bitfield_unit.set(8usize, 7u8, { + let txfifo_empty_thrhd: u32 = unsafe { ::core::mem::transmute(txfifo_empty_thrhd) }; + txfifo_empty_thrhd as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let reserved15: u32 = unsafe { ::core::mem::transmute(reserved15) }; + reserved15 as u64 + }); + __bindgen_bitfield_unit.set(16usize, 7u8, { + let rx_flow_thrhd: u32 = unsafe { ::core::mem::transmute(rx_flow_thrhd) }; + rx_flow_thrhd as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let rx_flow_en: u32 = unsafe { ::core::mem::transmute(rx_flow_en) }; + rx_flow_en as u64 + }); + __bindgen_bitfield_unit.set(24usize, 7u8, { + let rx_tout_thrhd: u32 = unsafe { ::core::mem::transmute(rx_tout_thrhd) }; + rx_tout_thrhd as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let rx_tout_en: u32 = unsafe { ::core::mem::transmute(rx_tout_en) }; + rx_tout_en as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn fseeko( - arg1: *mut FILE, - arg2: off_t, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_11 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_11__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn ftello(arg1: *mut FILE) -> off_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_11__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn asiprintf( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_11__bindgen_ty_1 { + #[inline] + pub fn min_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_min_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn reserved20(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_reserved20(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + min_cnt: u32, + reserved20: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; + min_cnt as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; + reserved20 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn asniprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *mut usize, - arg3: *const ::std::os::raw::c_char, - ... - ) -> *mut ::std::os::raw::c_char; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_12 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_12__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn asnprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *mut usize, - arg3: *const ::std::os::raw::c_char, - ... - ) -> *mut ::std::os::raw::c_char; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_12__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn asprintf( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_12__bindgen_ty_1 { + #[inline] + pub fn min_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_min_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn reserved20(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_reserved20(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + min_cnt: u32, + reserved20: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; + min_cnt as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; + reserved20 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn diprintf( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_13 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_13__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn fiprintf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_13__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn fiscanf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_13__bindgen_ty_1 { + #[inline] + pub fn edge_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } + } + #[inline] + pub fn set_edge_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 10u8, val as u64) + } + } + #[inline] + pub fn reserved10(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } + } + #[inline] + pub fn set_reserved10(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 22u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + edge_cnt: u32, + reserved10: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 10u8, { + let edge_cnt: u32 = unsafe { ::core::mem::transmute(edge_cnt) }; + edge_cnt as u64 + }); + __bindgen_bitfield_unit.set(10usize, 22u8, { + let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; + reserved10 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn iprintf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_14 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_14__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn iscanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_14__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn siprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_14__bindgen_ty_1 { + #[inline] + pub fn sw_flow_con_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_sw_flow_con_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn xonoff_del(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_xonoff_del(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn force_xon(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_force_xon(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn force_xoff(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_force_xoff(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn send_xon(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_send_xon(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn send_xoff(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_send_xoff(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved6(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 26u8) as u32) } + } + #[inline] + pub fn set_reserved6(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 26u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + sw_flow_con_en: u32, + xonoff_del: u32, + force_xon: u32, + force_xoff: u32, + send_xon: u32, + send_xoff: u32, + reserved6: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let sw_flow_con_en: u32 = unsafe { ::core::mem::transmute(sw_flow_con_en) }; + sw_flow_con_en as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let xonoff_del: u32 = unsafe { ::core::mem::transmute(xonoff_del) }; + xonoff_del as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let force_xon: u32 = unsafe { ::core::mem::transmute(force_xon) }; + force_xon as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let force_xoff: u32 = unsafe { ::core::mem::transmute(force_xoff) }; + force_xoff as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let send_xon: u32 = unsafe { ::core::mem::transmute(send_xon) }; + send_xon as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let send_xoff: u32 = unsafe { ::core::mem::transmute(send_xoff) }; + send_xoff as u64 + }); + __bindgen_bitfield_unit.set(6usize, 26u8, { + let reserved6: u32 = unsafe { ::core::mem::transmute(reserved6) }; + reserved6 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn siscanf( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_15 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_15__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn snprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_uint, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_15__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn sniprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: usize, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_15__bindgen_ty_1 { + #[inline] + pub fn active_threshold(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } + } + #[inline] + pub fn set_active_threshold(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 10u8, val as u64) + } + } + #[inline] + pub fn reserved10(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } + } + #[inline] + pub fn set_reserved10(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 22u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + active_threshold: u32, + reserved10: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 10u8, { + let active_threshold: u32 = unsafe { ::core::mem::transmute(active_threshold) }; + active_threshold as u64 + }); + __bindgen_bitfield_unit.set(10usize, 22u8, { + let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; + reserved10 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn vasiprintf( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_16 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_16__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn vasniprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *mut usize, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> *mut ::std::os::raw::c_char; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_16__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, } -extern "C" { - pub fn vasnprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *mut usize, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> *mut ::std::os::raw::c_char; +impl uart_dev_s__bindgen_ty_16__bindgen_ty_1 { + #[inline] + pub fn xon_threshold(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_xon_threshold(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn xoff_threshold(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_xoff_threshold(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn xon_char(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) } + } + #[inline] + pub fn set_xon_char(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 8u8, val as u64) + } + } + #[inline] + pub fn xoff_char(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_xoff_char(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + xon_threshold: u32, + xoff_threshold: u32, + xon_char: u32, + xoff_char: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let xon_threshold: u32 = unsafe { ::core::mem::transmute(xon_threshold) }; + xon_threshold as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let xoff_threshold: u32 = unsafe { ::core::mem::transmute(xoff_threshold) }; + xoff_threshold as u64 + }); + __bindgen_bitfield_unit.set(16usize, 8u8, { + let xon_char: u32 = unsafe { ::core::mem::transmute(xon_char) }; + xon_char as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let xoff_char: u32 = unsafe { ::core::mem::transmute(xoff_char) }; + xoff_char as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn vasprintf( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_17 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_17__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn vdiprintf( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_17__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -extern "C" { - pub fn vfiprintf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_17__bindgen_ty_1 { + #[inline] + pub fn rx_idle_thrhd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } + } + #[inline] + pub fn set_rx_idle_thrhd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 10u8, val as u64) + } + } + #[inline] + pub fn tx_idle_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 10u8) as u32) } + } + #[inline] + pub fn set_tx_idle_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 10u8, val as u64) + } + } + #[inline] + pub fn tx_brk_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 8u8) as u32) } + } + #[inline] + pub fn set_tx_brk_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved28(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u32) } + } + #[inline] + pub fn set_reserved28(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(28usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rx_idle_thrhd: u32, + tx_idle_num: u32, + tx_brk_num: u32, + reserved28: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 10u8, { + let rx_idle_thrhd: u32 = unsafe { ::core::mem::transmute(rx_idle_thrhd) }; + rx_idle_thrhd as u64 + }); + __bindgen_bitfield_unit.set(10usize, 10u8, { + let tx_idle_num: u32 = unsafe { ::core::mem::transmute(tx_idle_num) }; + tx_idle_num as u64 + }); + __bindgen_bitfield_unit.set(20usize, 8u8, { + let tx_brk_num: u32 = unsafe { ::core::mem::transmute(tx_brk_num) }; + tx_brk_num as u64 + }); + __bindgen_bitfield_unit.set(28usize, 4u8, { + let reserved28: u32 = unsafe { ::core::mem::transmute(reserved28) }; + reserved28 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_18 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_18__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn vfiscanf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_18__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn vfscanf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - arg3: __builtin_va_list, - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_18__bindgen_ty_1 { + #[inline] + pub fn en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn dl0_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl0_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn dl1_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl1_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn tx_rx_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_tx_rx_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn rx_busy_tx_en(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_rx_busy_tx_en(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn rx_dly_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_rx_dly_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn tx_dly_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 4u8) as u32) } + } + #[inline] + pub fn set_tx_dly_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 4u8, val as u64) + } + } + #[inline] + pub fn reserved10(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } + } + #[inline] + pub fn set_reserved10(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 22u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + en: u32, + dl0_en: u32, + dl1_en: u32, + tx_rx_en: u32, + rx_busy_tx_en: u32, + rx_dly_num: u32, + tx_dly_num: u32, + reserved10: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let en: u32 = unsafe { ::core::mem::transmute(en) }; + en as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let dl0_en: u32 = unsafe { ::core::mem::transmute(dl0_en) }; + dl0_en as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let dl1_en: u32 = unsafe { ::core::mem::transmute(dl1_en) }; + dl1_en as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let tx_rx_en: u32 = unsafe { ::core::mem::transmute(tx_rx_en) }; + tx_rx_en as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let rx_busy_tx_en: u32 = unsafe { ::core::mem::transmute(rx_busy_tx_en) }; + rx_busy_tx_en as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let rx_dly_num: u32 = unsafe { ::core::mem::transmute(rx_dly_num) }; + rx_dly_num as u64 + }); + __bindgen_bitfield_unit.set(6usize, 4u8, { + let tx_dly_num: u32 = unsafe { ::core::mem::transmute(tx_dly_num) }; + tx_dly_num as u64 + }); + __bindgen_bitfield_unit.set(10usize, 22u8, { + let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; + reserved10 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn viprintf( - arg1: *const ::std::os::raw::c_char, - arg2: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_19 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_19__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn viscanf( - arg1: *const ::std::os::raw::c_char, - arg2: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_19__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn vscanf( - arg1: *const ::std::os::raw::c_char, - arg2: __builtin_va_list, - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_19__bindgen_ty_1 { + #[inline] + pub fn pre_idle_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + } + #[inline] + pub fn set_pre_idle_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 24u8, val as u64) + } + } + #[inline] + pub fn reserved24(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved24(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + pre_idle_num: u32, + reserved24: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 24u8, { + let pre_idle_num: u32 = unsafe { ::core::mem::transmute(pre_idle_num) }; + pre_idle_num as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; + reserved24 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn vsiprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_20 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_20__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn vsiscanf( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_20__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn vsniprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: usize, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_20__bindgen_ty_1 { + #[inline] + pub fn post_idle_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + } + #[inline] + pub fn set_post_idle_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 24u8, val as u64) + } + } + #[inline] + pub fn reserved24(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved24(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + post_idle_num: u32, + reserved24: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 24u8, { + let post_idle_num: u32 = unsafe { ::core::mem::transmute(post_idle_num) }; + post_idle_num as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; + reserved24 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn vsnprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_uint, - arg3: *const ::std::os::raw::c_char, - arg4: __builtin_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_21 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_21__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn vsscanf( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: __builtin_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_21__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE; +impl uart_dev_s__bindgen_ty_21__bindgen_ty_1 { + #[inline] + pub fn rx_gap_tout(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + } + #[inline] + pub fn set_rx_gap_tout(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 24u8, val as u64) + } + } + #[inline] + pub fn reserved24(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved24(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rx_gap_tout: u32, + reserved24: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 24u8, { + let rx_gap_tout: u32 = unsafe { ::core::mem::transmute(rx_gap_tout) }; + rx_gap_tout as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; + reserved24 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_22 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_22__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_22__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -extern "C" { - pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_22__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn char_num(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_char_num(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved16(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_reserved16(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + data: u32, + char_num: u32, + reserved16: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let char_num: u32 = unsafe { ::core::mem::transmute(char_num) }; + char_num as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let reserved16: u32 = unsafe { ::core::mem::transmute(reserved16) }; + reserved16 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn popen( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ) -> *mut FILE; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_23 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_23__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_23__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>, } -extern "C" { - pub fn setbuffer( - arg1: *mut FILE, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ); +impl uart_dev_s__bindgen_ty_23__bindgen_ty_1 { + #[inline] + pub fn mem_pd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_mem_pd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved1(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved1(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved2(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved2(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn rx_size(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 4u8) as u32) } + } + #[inline] + pub fn set_rx_size(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 4u8, val as u64) + } + } + #[inline] + pub fn tx_size(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 4u8) as u32) } + } + #[inline] + pub fn set_tx_size(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 4u8, val as u64) + } + } + #[inline] + pub fn reserved11(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 4u8) as u32) } + } + #[inline] + pub fn set_reserved11(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 4u8, val as u64) + } + } + #[inline] + pub fn rx_flow_thrhd_h3(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 3u8) as u32) } + } + #[inline] + pub fn set_rx_flow_thrhd_h3(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 3u8, val as u64) + } + } + #[inline] + pub fn rx_tout_thrhd_h3(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 3u8) as u32) } + } + #[inline] + pub fn set_rx_tout_thrhd_h3(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 3u8, val as u64) + } + } + #[inline] + pub fn xon_threshold_h2(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 2u8) as u32) } + } + #[inline] + pub fn set_xon_threshold_h2(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(21usize, 2u8, val as u64) + } + } + #[inline] + pub fn xoff_threshold_h2(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 2u8) as u32) } + } + #[inline] + pub fn set_xoff_threshold_h2(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(23usize, 2u8, val as u64) + } + } + #[inline] + pub fn rx_mem_full_thrhd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 3u8) as u32) } + } + #[inline] + pub fn set_rx_mem_full_thrhd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(25usize, 3u8, val as u64) + } + } + #[inline] + pub fn tx_mem_empty_thrhd(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 3u8) as u32) } + } + #[inline] + pub fn set_tx_mem_empty_thrhd(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(28usize, 3u8, val as u64) + } + } + #[inline] + pub fn reserved31(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved31(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + mem_pd: u32, + reserved1: u32, + reserved2: u32, + rx_size: u32, + tx_size: u32, + reserved11: u32, + rx_flow_thrhd_h3: u32, + rx_tout_thrhd_h3: u32, + xon_threshold_h2: u32, + xoff_threshold_h2: u32, + rx_mem_full_thrhd: u32, + tx_mem_empty_thrhd: u32, + reserved31: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let mem_pd: u32 = unsafe { ::core::mem::transmute(mem_pd) }; + mem_pd as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let reserved1: u32 = unsafe { ::core::mem::transmute(reserved1) }; + reserved1 as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let reserved2: u32 = unsafe { ::core::mem::transmute(reserved2) }; + reserved2 as u64 + }); + __bindgen_bitfield_unit.set(3usize, 4u8, { + let rx_size: u32 = unsafe { ::core::mem::transmute(rx_size) }; + rx_size as u64 + }); + __bindgen_bitfield_unit.set(7usize, 4u8, { + let tx_size: u32 = unsafe { ::core::mem::transmute(tx_size) }; + tx_size as u64 + }); + __bindgen_bitfield_unit.set(11usize, 4u8, { + let reserved11: u32 = unsafe { ::core::mem::transmute(reserved11) }; + reserved11 as u64 + }); + __bindgen_bitfield_unit.set(15usize, 3u8, { + let rx_flow_thrhd_h3: u32 = unsafe { ::core::mem::transmute(rx_flow_thrhd_h3) }; + rx_flow_thrhd_h3 as u64 + }); + __bindgen_bitfield_unit.set(18usize, 3u8, { + let rx_tout_thrhd_h3: u32 = unsafe { ::core::mem::transmute(rx_tout_thrhd_h3) }; + rx_tout_thrhd_h3 as u64 + }); + __bindgen_bitfield_unit.set(21usize, 2u8, { + let xon_threshold_h2: u32 = unsafe { ::core::mem::transmute(xon_threshold_h2) }; + xon_threshold_h2 as u64 + }); + __bindgen_bitfield_unit.set(23usize, 2u8, { + let xoff_threshold_h2: u32 = unsafe { ::core::mem::transmute(xoff_threshold_h2) }; + xoff_threshold_h2 as u64 + }); + __bindgen_bitfield_unit.set(25usize, 3u8, { + let rx_mem_full_thrhd: u32 = unsafe { ::core::mem::transmute(rx_mem_full_thrhd) }; + rx_mem_full_thrhd as u64 + }); + __bindgen_bitfield_unit.set(28usize, 3u8, { + let tx_mem_empty_thrhd: u32 = unsafe { ::core::mem::transmute(tx_mem_empty_thrhd) }; + tx_mem_empty_thrhd as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let reserved31: u32 = unsafe { ::core::mem::transmute(reserved31) }; + reserved31 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_24 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_24__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_24__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn getchar_unlocked() -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_24__bindgen_ty_1 { + #[inline] + pub fn status(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + } + #[inline] + pub fn set_status(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 24u8, val as u64) + } + } + #[inline] + pub fn reserved24(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved24(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + status: u32, + reserved24: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 24u8, { + let status: u32 = unsafe { ::core::mem::transmute(status) }; + status as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; + reserved24 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn flockfile(arg1: *mut FILE); +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_25 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_25__bindgen_ty_1, + pub __bindgen_anon_2: uart_dev_s__bindgen_ty_25__bindgen_ty_2, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_25__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn funlockfile(arg1: *mut FILE); +impl uart_dev_s__bindgen_ty_25__bindgen_ty_1 { + #[inline] + pub fn status(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + } + #[inline] + pub fn set_status(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 24u8, val as u64) + } + } + #[inline] + pub fn reserved24(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved24(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + status: u32, + reserved24: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 24u8, { + let status: u32 = unsafe { ::core::mem::transmute(status) }; + status as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let reserved24: u32 = unsafe { ::core::mem::transmute(reserved24) }; + reserved24 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_25__bindgen_ty_2 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -extern "C" { - pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_25__bindgen_ty_2 { + #[inline] + pub fn reserved0(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_reserved0(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn rd_addr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 11u8) as u32) } + } + #[inline] + pub fn set_rd_addr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 11u8, val as u64) + } + } + #[inline] + pub fn wr_addr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 11u8) as u32) } + } + #[inline] + pub fn set_wr_addr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 11u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + reserved0: u32, + rd_addr: u32, + wr_addr: u32, + reserved: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let reserved0: u32 = unsafe { ::core::mem::transmute(reserved0) }; + reserved0 as u64 + }); + __bindgen_bitfield_unit.set(2usize, 11u8, { + let rd_addr: u32 = unsafe { ::core::mem::transmute(rd_addr) }; + rd_addr as u64 + }); + __bindgen_bitfield_unit.set(13usize, 11u8, { + let wr_addr: u32 = unsafe { ::core::mem::transmute(wr_addr) }; + wr_addr as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let reserved: u32 = unsafe { ::core::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn dprintf( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_26 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_26__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn fmemopen( - arg1: *mut ::std::os::raw::c_void, - arg2: usize, - arg3: *const ::std::os::raw::c_char, - ) -> *mut FILE; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_26__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn open_memstream(arg1: *mut *mut ::std::os::raw::c_char, arg2: *mut usize) -> *mut FILE; +impl uart_dev_s__bindgen_ty_26__bindgen_ty_1 { + #[inline] + pub fn rx_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u32) } + } + #[inline] + pub fn set_rx_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 3u8, val as u64) + } + } + #[inline] + pub fn tx_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 3u8) as u32) } + } + #[inline] + pub fn set_tx_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 3u8, val as u64) + } + } + #[inline] + pub fn reserved6(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 26u8) as u32) } + } + #[inline] + pub fn set_reserved6(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 26u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rx_cnt: u32, + tx_cnt: u32, + reserved6: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 3u8, { + let rx_cnt: u32 = unsafe { ::core::mem::transmute(rx_cnt) }; + rx_cnt as u64 + }); + __bindgen_bitfield_unit.set(3usize, 3u8, { + let tx_cnt: u32 = unsafe { ::core::mem::transmute(tx_cnt) }; + tx_cnt as u64 + }); + __bindgen_bitfield_unit.set(6usize, 26u8, { + let reserved6: u32 = unsafe { ::core::mem::transmute(reserved6) }; + reserved6 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn renameat( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_27 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_27__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn vdprintf( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_27__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn _asiprintf_r( - arg1: *mut _reent, - arg2: *mut *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_27__bindgen_ty_1 { + #[inline] + pub fn min_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_min_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn reserved20(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_reserved20(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + min_cnt: u32, + reserved20: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; + min_cnt as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; + reserved20 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn _asniprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *mut usize, - arg4: *const ::std::os::raw::c_char, - ... - ) -> *mut ::std::os::raw::c_char; +#[repr(C)] +#[derive(Copy, Clone)] +pub union uart_dev_s__bindgen_ty_28 { + pub __bindgen_anon_1: uart_dev_s__bindgen_ty_28__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn _asnprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *mut usize, - arg4: *const ::std::os::raw::c_char, - ... - ) -> *mut ::std::os::raw::c_char; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uart_dev_s__bindgen_ty_28__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn _asprintf_r( - arg1: *mut _reent, - arg2: *mut *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +impl uart_dev_s__bindgen_ty_28__bindgen_ty_1 { + #[inline] + pub fn min_cnt(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_min_cnt(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn reserved20(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_reserved20(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + min_cnt: u32, + reserved20: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let min_cnt: u32 = unsafe { ::core::mem::transmute(min_cnt) }; + min_cnt as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; + reserved20 as u64 + }); + __bindgen_bitfield_unit + } } +pub type uart_dev_t = uart_dev_s; extern "C" { - pub fn _diprintf_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub static mut UART0: uart_dev_t; } extern "C" { - pub fn _dprintf_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub static mut UART1: uart_dev_t; } extern "C" { - pub fn _fclose_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub static mut UART2: uart_dev_t; } -extern "C" { - pub fn _fcloseall_r(arg1: *mut _reent) -> ::std::os::raw::c_int; +pub type wchar_t = ::std::os::raw::c_uchar; +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct max_align_t { + pub __clang_max_align_nonce1: ::std::os::raw::c_longlong, + pub __clang_max_align_nonce2: f64, } +pub type va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; +pub type _lock_t = ::std::os::raw::c_int; +pub type _LOCK_RECURSIVE_T = _lock_t; +pub type _LOCK_T = _lock_t; extern "C" { - pub fn _fdopen_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - ) -> *mut FILE; + pub fn _lock_init(lock: *mut _lock_t); } extern "C" { - pub fn _fflush_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn _lock_init_recursive(lock: *mut _lock_t); } extern "C" { - pub fn _fgetc_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn _lock_close(lock: *mut _lock_t); } extern "C" { - pub fn _fgetc_unlocked_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn _lock_close_recursive(lock: *mut _lock_t); } extern "C" { - pub fn _fgets_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: *mut FILE, - ) -> *mut ::std::os::raw::c_char; + pub fn _lock_acquire(lock: *mut _lock_t); } extern "C" { - pub fn _fgets_unlocked_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: *mut FILE, - ) -> *mut ::std::os::raw::c_char; + pub fn _lock_acquire_recursive(lock: *mut _lock_t); } extern "C" { - pub fn _fgetpos_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *mut fpos_t, - ) -> ::std::os::raw::c_int; + pub fn _lock_try_acquire(lock: *mut _lock_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn _fsetpos_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const fpos_t, - ) -> ::std::os::raw::c_int; + pub fn _lock_try_acquire_recursive(lock: *mut _lock_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn _fiprintf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn _lock_release(lock: *mut _lock_t); } extern "C" { - pub fn _fiscanf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn _lock_release_recursive(lock: *mut _lock_t); } -extern "C" { - pub fn _fmemopen_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - arg3: usize, - arg4: *const ::std::os::raw::c_char, - ) -> *mut FILE; +pub type _off_t = ::std::os::raw::c_long; +pub type __dev_t = ::std::os::raw::c_short; +pub type __uid_t = ::std::os::raw::c_ushort; +pub type __gid_t = ::std::os::raw::c_ushort; +pub type _off64_t = ::std::os::raw::c_longlong; +pub type _fpos_t = ::std::os::raw::c_long; +pub type _ssize_t = ::std::os::raw::c_int; +pub type wint_t = ::std::os::raw::c_uint; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _mbstate_t { + pub __count: ::std::os::raw::c_int, + pub __value: _mbstate_t__bindgen_ty_1, } -extern "C" { - pub fn _fopen_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - ) -> *mut FILE; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _mbstate_t__bindgen_ty_1 { + pub __wch: wint_t, + pub __wchb: [::std::os::raw::c_uchar; 4usize], + _bindgen_union_align: u32, } -extern "C" { - pub fn _freopen_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - arg4: *mut FILE, - ) -> *mut FILE; +pub type _flock_t = _LOCK_RECURSIVE_T; +pub type _iconv_t = *mut ::std::os::raw::c_void; +pub type __ULong = ::std::os::raw::c_ulong; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _Bigint { + pub _next: *mut _Bigint, + pub _k: ::std::os::raw::c_int, + pub _maxwds: ::std::os::raw::c_int, + pub _sign: ::std::os::raw::c_int, + pub _wds: ::std::os::raw::c_int, + pub _x: [__ULong; 1usize], } -extern "C" { - pub fn _fprintf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __tm { + pub __tm_sec: ::std::os::raw::c_int, + pub __tm_min: ::std::os::raw::c_int, + pub __tm_hour: ::std::os::raw::c_int, + pub __tm_mday: ::std::os::raw::c_int, + pub __tm_mon: ::std::os::raw::c_int, + pub __tm_year: ::std::os::raw::c_int, + pub __tm_wday: ::std::os::raw::c_int, + pub __tm_yday: ::std::os::raw::c_int, + pub __tm_isdst: ::std::os::raw::c_int, } -extern "C" { - pub fn _fpurge_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _on_exit_args { + pub _fnargs: [*mut ::std::os::raw::c_void; 32usize], + pub _dso_handle: [*mut ::std::os::raw::c_void; 32usize], + pub _fntypes: __ULong, + pub _is_cxa: __ULong, } -extern "C" { - pub fn _fputc_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _atexit { + pub _next: *mut _atexit, + pub _ind: ::std::os::raw::c_int, + pub _fns: [::core::option::Option; 32usize], + pub _on_exit_args_ptr: *mut _on_exit_args, } -extern "C" { - pub fn _fputc_unlocked_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sbuf { + pub _base: *mut ::std::os::raw::c_uchar, + pub _size: ::std::os::raw::c_int, } -extern "C" { - pub fn _fputs_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: *mut FILE, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sFILE_fake { + pub _p: *mut ::std::os::raw::c_uchar, + pub _r: ::std::os::raw::c_int, + pub _w: ::std::os::raw::c_int, + pub _flags: ::std::os::raw::c_short, + pub _file: ::std::os::raw::c_short, + pub _bf: __sbuf, + pub _lbfsize: ::std::os::raw::c_int, + pub _data: *mut _reent, } extern "C" { - pub fn _fputs_unlocked_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: *mut FILE, - ) -> ::std::os::raw::c_int; + pub fn __sinit(arg1: *mut _reent); } -extern "C" { - pub fn _fread_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg3: *mut FILE, - ) -> usize; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __sFILE { + pub _p: *mut ::std::os::raw::c_uchar, + pub _r: ::std::os::raw::c_int, + pub _w: ::std::os::raw::c_int, + pub _flags: ::std::os::raw::c_short, + pub _file: ::std::os::raw::c_short, + pub _bf: __sbuf, + pub _lbfsize: ::std::os::raw::c_int, + pub _data: *mut _reent, + pub _cookie: *mut ::std::os::raw::c_void, + pub _read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + arg3: *mut ::std::os::raw::c_char, + arg4: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub _write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_char, + arg4: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub _seek: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + arg3: _fpos_t, + arg4: ::std::os::raw::c_int, + ) -> _fpos_t, + >, + pub _close: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + pub _ub: __sbuf, + pub _up: *mut ::std::os::raw::c_uchar, + pub _ur: ::std::os::raw::c_int, + pub _ubuf: [::std::os::raw::c_uchar; 3usize], + pub _nbuf: [::std::os::raw::c_uchar; 1usize], + pub _lb: __sbuf, + pub _blksize: ::std::os::raw::c_int, + pub _offset: _off_t, + pub _lock: _flock_t, + pub _mbstate: _mbstate_t, + pub _flags2: ::std::os::raw::c_int, } -extern "C" { - pub fn _fread_unlocked_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg3: *mut FILE, - ) -> usize; +pub type __FILE = __sFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _glue { + pub _next: *mut _glue, + pub _niobs: ::std::os::raw::c_int, + pub _iobs: *mut __FILE, } -extern "C" { - pub fn _fscanf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _rand48 { + pub _seed: [::std::os::raw::c_ushort; 3usize], + pub _mult: [::std::os::raw::c_ushort; 3usize], + pub _add: ::std::os::raw::c_ushort, + pub _rand_next: ::std::os::raw::c_ulonglong, } -extern "C" { - pub fn _fseek_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: ::std::os::raw::c_long, - arg4: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _mprec { + pub _result: *mut _Bigint, + pub _result_k: ::std::os::raw::c_int, + pub _p5s: *mut _Bigint, + pub _freelist: *mut *mut _Bigint, } -extern "C" { - pub fn _fseeko_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: _off_t, - arg4: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _misc_reent { + pub _strtok_last: *mut ::std::os::raw::c_char, + pub _mblen_state: _mbstate_t, + pub _wctomb_state: _mbstate_t, + pub _mbtowc_state: _mbstate_t, + pub _l64a_buf: [::std::os::raw::c_char; 8usize], + pub _getdate_err: ::std::os::raw::c_int, + pub _mbrlen_state: _mbstate_t, + pub _mbrtowc_state: _mbstate_t, + pub _mbsrtowcs_state: _mbstate_t, + pub _wcrtomb_state: _mbstate_t, + pub _wcsrtombs_state: _mbstate_t, } -extern "C" { - pub fn _ftell_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _reent { + pub _errno: ::std::os::raw::c_int, + pub _stdin: *mut __FILE, + pub _stdout: *mut __FILE, + pub _stderr: *mut __FILE, + pub _inc: ::std::os::raw::c_int, + pub _emergency: *mut ::std::os::raw::c_char, + pub __sdidinit: ::std::os::raw::c_int, + pub _current_category: ::std::os::raw::c_int, + pub _current_locale: *const ::std::os::raw::c_char, + pub _mp: *mut _mprec, + pub __cleanup: ::core::option::Option, + pub _gamma_signgam: ::std::os::raw::c_int, + pub _cvtlen: ::std::os::raw::c_int, + pub _cvtbuf: *mut ::std::os::raw::c_char, + pub _r48: *mut _rand48, + pub _localtime_buf: *mut __tm, + pub _asctime_buf: *mut ::std::os::raw::c_char, + pub _sig_func: *mut ::core::option::Option, + pub _atexit: *mut _atexit, + pub _atexit0: _atexit, + pub __sglue: _glue, + pub __sf: *mut __FILE, + pub _misc: *mut _misc_reent, + pub _signal_buf: *mut ::std::os::raw::c_char, } extern "C" { - pub fn _ftello_r(arg1: *mut _reent, arg2: *mut FILE) -> _off_t; + pub static __sf_fake_stdin: __sFILE_fake; } extern "C" { - pub fn _rewind_r(arg1: *mut _reent, arg2: *mut FILE); + pub static __sf_fake_stdout: __sFILE_fake; } extern "C" { - pub fn _fwrite_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg3: *mut FILE, - ) -> usize; + pub static __sf_fake_stderr: __sFILE_fake; } extern "C" { - pub fn _fwrite_unlocked_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg3: *mut FILE, - ) -> usize; + pub static mut _global_impure_ptr: *mut _reent; } extern "C" { - pub fn _getc_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn _reclaim_reent(arg1: *mut _reent); } extern "C" { - pub fn _getc_unlocked_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn __getreent() -> *mut _reent; } -extern "C" { - pub fn _getchar_r(arg1: *mut _reent) -> ::std::os::raw::c_int; +pub type __off_t = ::std::os::raw::c_long; +pub type __pid_t = ::std::os::raw::c_int; +pub type __loff_t = ::std::os::raw::c_longlong; +pub type u_char = ::std::os::raw::c_uchar; +pub type u_short = ::std::os::raw::c_ushort; +pub type u_int = ::std::os::raw::c_uint; +pub type u_long = ::std::os::raw::c_ulong; +pub type ushort = ::std::os::raw::c_ushort; +pub type uint = ::std::os::raw::c_uint; +pub type ulong = ::std::os::raw::c_ulong; +pub type clock_t = ::std::os::raw::c_ulong; +pub type time_t = ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { + pub tv_sec: time_t, + pub tv_nsec: ::std::os::raw::c_long, } -extern "C" { - pub fn _getchar_unlocked_r(arg1: *mut _reent) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct itimerspec { + pub it_interval: timespec, + pub it_value: timespec, } -extern "C" { - pub fn _gets_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; +pub type daddr_t = ::std::os::raw::c_long; +pub type caddr_t = *mut ::std::os::raw::c_char; +pub type ino_t = ::std::os::raw::c_ushort; +pub type off_t = _off_t; +pub type dev_t = __dev_t; +pub type uid_t = __uid_t; +pub type gid_t = __gid_t; +pub type pid_t = ::std::os::raw::c_int; +pub type key_t = ::std::os::raw::c_long; +pub type mode_t = ::std::os::raw::c_uint; +pub type nlink_t = ::std::os::raw::c_ushort; +pub type fd_mask = ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _types_fd_set { + pub fds_bits: [fd_mask; 2usize], } -extern "C" { - pub fn _iprintf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +pub type clockid_t = ::std::os::raw::c_ulong; +pub type timer_t = ::std::os::raw::c_ulong; +pub type useconds_t = ::std::os::raw::c_ulong; +pub type suseconds_t = ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_param { + pub sched_priority: ::std::os::raw::c_int, } extern "C" { - pub fn _iscanf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn sched_yield() -> ::std::os::raw::c_int; } -extern "C" { - pub fn _open_memstream_r( - arg1: *mut _reent, - arg2: *mut *mut ::std::os::raw::c_char, - arg3: *mut usize, - ) -> *mut FILE; +pub type pthread_t = __uint32_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pthread_attr_t { + pub is_initialized: ::std::os::raw::c_int, + pub stackaddr: *mut ::std::os::raw::c_void, + pub stacksize: ::std::os::raw::c_int, + pub contentionscope: ::std::os::raw::c_int, + pub inheritsched: ::std::os::raw::c_int, + pub schedpolicy: ::std::os::raw::c_int, + pub schedparam: sched_param, + pub detachstate: ::std::os::raw::c_int, } -extern "C" { - pub fn _perror_r(arg1: *mut _reent, arg2: *const ::std::os::raw::c_char); +pub type pthread_mutex_t = __uint32_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pthread_mutexattr_t { + pub is_initialized: ::std::os::raw::c_int, + pub type_: ::std::os::raw::c_int, + pub recursive: ::std::os::raw::c_int, } -extern "C" { - pub fn _printf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; +pub type pthread_cond_t = __uint32_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pthread_condattr_t { + pub is_initialized: ::std::os::raw::c_int, } -extern "C" { - pub fn _putc_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, - ) -> ::std::os::raw::c_int; +pub type pthread_key_t = __uint32_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pthread_once_t { + pub is_initialized: ::std::os::raw::c_int, + pub init_executed: ::std::os::raw::c_int, } +pub type FILE = __FILE; +pub type fpos_t = _fpos_t; extern "C" { - pub fn _putc_unlocked_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, - ) -> ::std::os::raw::c_int; + pub fn tmpfile() -> *mut FILE; } extern "C" { - pub fn _putchar_unlocked_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn _putchar_r(arg1: *mut _reent, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn tempnam( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn _puts_r(arg1: *mut _reent, arg2: *const ::std::os::raw::c_char) - -> ::std::os::raw::c_int; + pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _remove_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _rename_r( - arg1: *mut _reent, - _old: *const ::std::os::raw::c_char, - _new: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn freopen( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: *mut FILE, + ) -> *mut FILE; } extern "C" { - pub fn _scanf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char); } extern "C" { - pub fn _siprintf_r( - arg1: *mut _reent, + pub fn setvbuf( + arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - ... + arg3: ::std::os::raw::c_int, + arg4: usize, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _siscanf_r( - arg1: *mut _reent, + pub fn fprintf( + arg1: *mut FILE, arg2: *const ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _sniprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: usize, - arg4: *const ::std::os::raw::c_char, + pub fn fscanf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _snprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: usize, - arg4: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { - pub fn _sprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { - pub fn _sscanf_r( - arg1: *mut _reent, + pub fn sscanf( + arg1: *const ::std::os::raw::c_char, arg2: *const ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _tempnam_r( - arg1: *mut _reent, + pub fn vfprintf( + arg1: *mut FILE, arg2: *const ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn _tmpfile_r(arg1: *mut _reent) -> *mut FILE; -} -extern "C" { - pub fn _tmpnam_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + arg3: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _ungetc_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, + pub fn vprintf( + arg1: *const ::std::os::raw::c_char, + arg2: __builtin_va_list, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vasiprintf_r( - arg1: *mut _reent, - arg2: *mut *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, + pub fn vsprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: __builtin_va_list, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vasniprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *mut usize, - arg4: *const ::std::os::raw::c_char, - arg5: __gnuc_va_list, - ) -> *mut ::std::os::raw::c_char; + pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vasnprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *mut usize, - arg4: *const ::std::os::raw::c_char, - arg5: __gnuc_va_list, + pub fn fgets( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + arg3: *mut FILE, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn _vasprintf_r( - arg1: *mut _reent, - arg2: *mut *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vdiprintf_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vdprintf_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vfiprintf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn getchar() -> ::std::os::raw::c_int; } extern "C" { - pub fn _vfiscanf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn _vfprintf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vfscanf_r( - arg1: *mut _reent, - arg2: *mut FILE, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn _viprintf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn _viscanf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vprintf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn fread( + arg1: *mut ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg2: *mut FILE, + ) -> usize; } extern "C" { - pub fn _vscanf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn fwrite( + arg1: *const ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg2: *mut FILE, + ) -> usize; } extern "C" { - pub fn _vsiprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vsiscanf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, + pub fn fseek( + arg1: *mut FILE, + arg2: ::std::os::raw::c_long, + arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } -extern "C" { - pub fn _vsniprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: usize, - arg4: *const ::std::os::raw::c_char, - arg5: __gnuc_va_list, - ) -> ::std::os::raw::c_int; +extern "C" { + pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn _vsnprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: usize, - arg4: *const ::std::os::raw::c_char, - arg5: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long; } extern "C" { - pub fn _vsprintf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn rewind(arg1: *mut FILE); } extern "C" { - pub fn _vsscanf_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: *const ::std::os::raw::c_char, - arg4: __gnuc_va_list, - ) -> ::std::os::raw::c_int; + pub fn clearerr(arg1: *mut FILE); } extern "C" { - pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn feof(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __getdelim( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *mut usize, - arg3: ::std::os::raw::c_int, - arg4: *mut FILE, - ) -> isize; + pub fn ferror(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __getline( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *mut usize, - arg3: *mut FILE, - ) -> isize; + pub fn perror(arg1: *const ::std::os::raw::c_char); } extern "C" { - pub fn clearerr_unlocked(arg1: *mut FILE); + pub fn fopen( + _name: *const ::std::os::raw::c_char, + _type: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn feof_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn sprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn ferror_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn fileno_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn rename( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fflush_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn fseeko( + arg1: *mut FILE, + arg2: off_t, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fgetc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn ftello(arg1: *mut FILE) -> off_t; } extern "C" { - pub fn fputc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn asiprintf( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fread_unlocked( - arg1: *mut ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg2: *mut FILE, - ) -> usize; + pub fn asniprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *mut usize, + arg3: *const ::std::os::raw::c_char, + ... + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn fwrite_unlocked( - arg1: *const ::std::os::raw::c_void, - _size: usize, - _n: usize, - arg2: *mut FILE, - ) -> usize; + pub fn asnprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *mut usize, + arg3: *const ::std::os::raw::c_char, + ... + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn __srget_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn asprintf( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn __swbuf_r( - arg1: *mut _reent, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, + pub fn diprintf( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + ... ) -> ::std::os::raw::c_int; } extern "C" { - pub fn funopen( - __cookie: *const ::std::os::raw::c_void, - __readfn: ::core::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __readfn: *mut ::std::os::raw::c_char, - __writefn: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - __writefn: ::core::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __readfn: *const ::std::os::raw::c_char, - __writefn: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - __seekfn: ::core::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __readfn: fpos_t, - __writefn: ::std::os::raw::c_int, - ) -> fpos_t, - >, - __closefn: ::core::option::Option< - unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, - >, - ) -> *mut FILE; + pub fn fiprintf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _funopen_r( - arg1: *mut _reent, - __cookie: *const ::std::os::raw::c_void, - __readfn: ::core::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - __cookie: *mut ::std::os::raw::c_char, - __readfn: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - __writefn: ::core::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - __cookie: *const ::std::os::raw::c_char, - __readfn: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - __seekfn: ::core::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - __cookie: fpos_t, - __readfn: ::std::os::raw::c_int, - ) -> fpos_t, - >, - __closefn: ::core::option::Option< - unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, - >, - ) -> *mut FILE; + pub fn fiscanf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } -pub type cookie_read_function_t = ::core::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __buf: *mut ::std::os::raw::c_char, - __n: usize, - ) -> isize, ->; -pub type cookie_write_function_t = ::core::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __buf: *const ::std::os::raw::c_char, - __n: usize, - ) -> isize, ->; -pub type cookie_seek_function_t = ::core::option::Option< - unsafe extern "C" fn( - __cookie: *mut ::std::os::raw::c_void, - __off: *mut off_t, - __whence: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, ->; -pub type cookie_close_function_t = ::core::option::Option< - unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, ->; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct cookie_io_functions_t { - pub read: cookie_read_function_t, - pub write: cookie_write_function_t, - pub seek: cookie_seek_function_t, - pub close: cookie_close_function_t, +extern "C" { + pub fn iprintf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { - pub fn fopencookie( - __cookie: *mut ::std::os::raw::c_void, - __mode: *const ::std::os::raw::c_char, - __functions: cookie_io_functions_t, - ) -> *mut FILE; + pub fn iscanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { - pub fn _fopencookie_r( - arg1: *mut _reent, - __cookie: *mut ::std::os::raw::c_void, - __mode: *const ::std::os::raw::c_char, - __functions: cookie_io_functions_t, - ) -> *mut FILE; + pub fn siprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } -pub type esp_err_t = i32; extern "C" { - #[doc = " @brief Returns string for esp_err_t error codes"] - #[doc = ""] - #[doc = " This function finds the error code in a pre-generated lookup-table and"] - #[doc = " returns its string representation."] - #[doc = ""] - #[doc = " The function is generated by the Python script"] - #[doc = " tools/gen_esp_err_to_name.py which should be run each time an esp_err_t"] - #[doc = " error is modified, created or removed from the IDF project."] - #[doc = ""] - #[doc = " @param code esp_err_t error code"] - #[doc = " @return string error message"] - pub fn esp_err_to_name(code: esp_err_t) -> *const ::std::os::raw::c_char; + pub fn siscanf( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Returns string for esp_err_t and system error codes"] - #[doc = ""] - #[doc = " This function finds the error code in a pre-generated lookup-table of"] - #[doc = " esp_err_t errors and returns its string representation. If the error code"] - #[doc = " is not found then it is attempted to be found among system errors."] - #[doc = ""] - #[doc = " The function is generated by the Python script"] - #[doc = " tools/gen_esp_err_to_name.py which should be run each time an esp_err_t"] - #[doc = " error is modified, created or removed from the IDF project."] - #[doc = ""] - #[doc = " @param code esp_err_t error code"] - #[doc = " @param[out] buf buffer where the error message should be written"] - #[doc = " @param buflen Size of buffer buf. At most buflen bytes are written into the buf buffer (including the terminating null byte)."] - #[doc = " @return buf containing the string error message"] - pub fn esp_err_to_name_r( - code: esp_err_t, - buf: *mut ::std::os::raw::c_char, - buflen: usize, - ) -> *const ::std::os::raw::c_char; + pub fn snprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_uint, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sniprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: usize, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @cond"] - pub fn _esp_error_check_failed( - rc: esp_err_t, - file: *const ::std::os::raw::c_char, - line: ::std::os::raw::c_int, - function: *const ::std::os::raw::c_char, - expression: *const ::std::os::raw::c_char, - ); + pub fn vasiprintf( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @cond"] - pub fn _esp_error_check_failed_without_abort( - rc: esp_err_t, - file: *const ::std::os::raw::c_char, - line: ::std::os::raw::c_int, - function: *const ::std::os::raw::c_char, - expression: *const ::std::os::raw::c_char, - ); -} -pub type intr_handler_t = - ::core::option::Option; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct intr_handle_data_t { - _unused: [u8; 0], + pub fn vasniprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *mut usize, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> *mut ::std::os::raw::c_char; } -pub type intr_handle_t = *mut intr_handle_data_t; extern "C" { - #[doc = " @brief Mark an interrupt as a shared interrupt"] - #[doc = ""] - #[doc = " This will mark a certain interrupt on the specified CPU as"] - #[doc = " an interrupt that can be used to hook shared interrupt handlers"] - #[doc = " to."] - #[doc = ""] - #[doc = " @param intno The number of the interrupt (0-31)"] - #[doc = " @param cpu CPU on which the interrupt should be marked as shared (0 or 1)"] - #[doc = " @param is_in_iram Shared interrupt is for handlers that reside in IRAM and"] - #[doc = " the int can be left enabled while the flash cache is disabled."] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG if cpu or intno is invalid"] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_mark_shared( - intno: ::std::os::raw::c_int, - cpu: ::std::os::raw::c_int, - is_in_iram: bool, - ) -> esp_err_t; + pub fn vasnprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *mut usize, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Reserve an interrupt to be used outside of this framework"] - #[doc = ""] - #[doc = " This will mark a certain interrupt on the specified CPU as"] - #[doc = " reserved, not to be allocated for any reason."] - #[doc = ""] - #[doc = " @param intno The number of the interrupt (0-31)"] - #[doc = " @param cpu CPU on which the interrupt should be marked as shared (0 or 1)"] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG if cpu or intno is invalid"] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_reserve(intno: ::std::os::raw::c_int, cpu: ::std::os::raw::c_int) -> esp_err_t; + pub fn vasprintf( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Allocate an interrupt with the given parameters."] - #[doc = ""] - #[doc = " This finds an interrupt that matches the restrictions as given in the flags"] - #[doc = " parameter, maps the given interrupt source to it and hooks up the given"] - #[doc = " interrupt handler (with optional argument) as well. If needed, it can return"] - #[doc = " a handle for the interrupt as well."] - #[doc = ""] - #[doc = " The interrupt will always be allocated on the core that runs this function."] - #[doc = ""] - #[doc = " If ESP_INTR_FLAG_IRAM flag is used, and handler address is not in IRAM or"] - #[doc = " RTC_FAST_MEM, then ESP_ERR_INVALID_ARG is returned."] - #[doc = ""] - #[doc = " @param source The interrupt source. One of the ETS_*_INTR_SOURCE interrupt mux"] - #[doc = " sources, as defined in soc/soc.h, or one of the internal"] - #[doc = " ETS_INTERNAL_*_INTR_SOURCE sources as defined in this header."] - #[doc = " @param flags An ORred mask of the ESP_INTR_FLAG_* defines. These restrict the"] - #[doc = " choice of interrupts that this routine can choose from. If this value"] - #[doc = " is 0, it will default to allocating a non-shared interrupt of level"] - #[doc = " 1, 2 or 3. If this is ESP_INTR_FLAG_SHARED, it will allocate a shared"] - #[doc = " interrupt of level 1. Setting ESP_INTR_FLAG_INTRDISABLED will return"] - #[doc = " from this function with the interrupt disabled."] - #[doc = " @param handler The interrupt handler. Must be NULL when an interrupt of level >3"] - #[doc = " is requested, because these types of interrupts aren\'t C-callable."] - #[doc = " @param arg Optional argument for passed to the interrupt handler"] - #[doc = " @param ret_handle Pointer to an intr_handle_t to store a handle that can later be"] - #[doc = " used to request details or free the interrupt. Can be NULL if no handle"] - #[doc = " is required."] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] - #[doc = " ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_alloc( - source: ::std::os::raw::c_int, - flags: ::std::os::raw::c_int, - handler: intr_handler_t, - arg: *mut ::std::os::raw::c_void, - ret_handle: *mut intr_handle_t, - ) -> esp_err_t; + pub fn vdiprintf( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Allocate an interrupt with the given parameters."] - #[doc = ""] - #[doc = ""] - #[doc = " This essentially does the same as esp_intr_alloc, but allows specifying a register and mask"] - #[doc = " combo. For shared interrupts, the handler is only called if a read from the specified"] - #[doc = " register, ANDed with the mask, returns non-zero. By passing an interrupt status register"] - #[doc = " address and a fitting mask, this can be used to accelerate interrupt handling in the case"] - #[doc = " a shared interrupt is triggered; by checking the interrupt statuses first, the code can"] - #[doc = " decide which ISRs can be skipped"] - #[doc = ""] - #[doc = " @param source The interrupt source. One of the ETS_*_INTR_SOURCE interrupt mux"] - #[doc = " sources, as defined in soc/soc.h, or one of the internal"] - #[doc = " ETS_INTERNAL_*_INTR_SOURCE sources as defined in this header."] - #[doc = " @param flags An ORred mask of the ESP_INTR_FLAG_* defines. These restrict the"] - #[doc = " choice of interrupts that this routine can choose from. If this value"] - #[doc = " is 0, it will default to allocating a non-shared interrupt of level"] - #[doc = " 1, 2 or 3. If this is ESP_INTR_FLAG_SHARED, it will allocate a shared"] - #[doc = " interrupt of level 1. Setting ESP_INTR_FLAG_INTRDISABLED will return"] - #[doc = " from this function with the interrupt disabled."] - #[doc = " @param intrstatusreg The address of an interrupt status register"] - #[doc = " @param intrstatusmask A mask. If a read of address intrstatusreg has any of the bits"] - #[doc = " that are 1 in the mask set, the ISR will be called. If not, it will be"] - #[doc = " skipped."] - #[doc = " @param handler The interrupt handler. Must be NULL when an interrupt of level >3"] - #[doc = " is requested, because these types of interrupts aren\'t C-callable."] - #[doc = " @param arg Optional argument for passed to the interrupt handler"] - #[doc = " @param ret_handle Pointer to an intr_handle_t to store a handle that can later be"] - #[doc = " used to request details or free the interrupt. Can be NULL if no handle"] - #[doc = " is required."] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] - #[doc = " ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_alloc_intrstatus( - source: ::std::os::raw::c_int, - flags: ::std::os::raw::c_int, - intrstatusreg: u32, - intrstatusmask: u32, - handler: intr_handler_t, - arg: *mut ::std::os::raw::c_void, - ret_handle: *mut intr_handle_t, - ) -> esp_err_t; + pub fn vfiprintf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Disable and free an interrupt."] - #[doc = ""] - #[doc = " Use an interrupt handle to disable the interrupt and release the resources associated with it."] - #[doc = " If the current core is not the core that registered this interrupt, this routine will be assigned to"] - #[doc = " the core that allocated this interrupt, blocking and waiting until the resource is successfully released."] - #[doc = ""] - #[doc = " @note"] - #[doc = " When the handler shares its source with other handlers, the interrupt status"] - #[doc = " bits it\'s responsible for should be managed properly before freeing it. see"] - #[doc = " ``esp_intr_disable`` for more details. Please do not call this function in ``esp_ipc_call_blocking``."] - #[doc = ""] - #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG the handle is NULL"] - #[doc = " ESP_FAIL failed to release this handle"] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_free(handle: intr_handle_t) -> esp_err_t; + pub fn vfiscanf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Get CPU number an interrupt is tied to"] - #[doc = ""] - #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] - #[doc = ""] - #[doc = " @return The core number where the interrupt is allocated"] - pub fn esp_intr_get_cpu(handle: intr_handle_t) -> ::std::os::raw::c_int; + pub fn vfscanf( + arg1: *mut FILE, + arg2: *const ::std::os::raw::c_char, + arg3: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Get the allocated interrupt for a certain handle"] - #[doc = ""] - #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] - #[doc = ""] - #[doc = " @return The interrupt number"] - pub fn esp_intr_get_intno(handle: intr_handle_t) -> ::std::os::raw::c_int; + pub fn viprintf( + arg1: *const ::std::os::raw::c_char, + arg2: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Disable the interrupt associated with the handle"] - #[doc = ""] - #[doc = " @note"] - #[doc = " 1. For local interrupts (ESP_INTERNAL_* sources), this function has to be called on the"] - #[doc = " CPU the interrupt is allocated on. Other interrupts have no such restriction."] - #[doc = " 2. When several handlers sharing a same interrupt source, interrupt status bits, which are"] - #[doc = " handled in the handler to be disabled, should be masked before the disabling, or handled"] - #[doc = " in other enabled interrupts properly. Miss of interrupt status handling will cause infinite"] - #[doc = " interrupt calls and finally system crash."] - #[doc = ""] - #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_disable(handle: intr_handle_t) -> esp_err_t; + pub fn viscanf( + arg1: *const ::std::os::raw::c_char, + arg2: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Enable the interrupt associated with the handle"] - #[doc = ""] - #[doc = " @note For local interrupts (ESP_INTERNAL_* sources), this function has to be called on the"] - #[doc = " CPU the interrupt is allocated on. Other interrupts have no such restriction."] - #[doc = ""] - #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_enable(handle: intr_handle_t) -> esp_err_t; + pub fn vscanf( + arg1: *const ::std::os::raw::c_char, + arg2: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Set the \"in IRAM\" status of the handler."] - #[doc = ""] - #[doc = " @note Does not work on shared interrupts."] - #[doc = ""] - #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] - #[doc = " @param is_in_iram Whether the handler associated with this handle resides in IRAM."] - #[doc = " Handlers residing in IRAM can be called when cache is disabled."] - #[doc = ""] - #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] - #[doc = " ESP_OK otherwise"] - pub fn esp_intr_set_in_iram(handle: intr_handle_t, is_in_iram: bool) -> esp_err_t; + pub fn vsiprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Disable interrupts that aren\'t specifically marked as running from IRAM"] - pub fn esp_intr_noniram_disable(); + pub fn vsiscanf( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Re-enable interrupts disabled by esp_intr_noniram_disable"] - pub fn esp_intr_noniram_enable(); + pub fn vsniprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: usize, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn esp_dport_access_stall_other_cpu_start(); + pub fn vsnprintf( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_uint, + arg3: *const ::std::os::raw::c_char, + arg4: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn esp_dport_access_stall_other_cpu_end(); + pub fn vsscanf( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: __builtin_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn esp_dport_access_int_init(); + pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE; } extern "C" { - pub fn esp_dport_access_int_pause(); + pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn esp_dport_access_int_resume(); + pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn esp_dport_access_read_buffer(buff_out: *mut u32, address: u32, num_words: u32); + pub fn pclose(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn esp_dport_access_reg_read(reg: u32) -> u32; + pub fn popen( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn esp_dport_access_sequence_reg_read(reg: u32) -> u32; + pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn esp_dport_access_int_abort(); + pub fn setbuffer( + arg1: *mut FILE, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ); } extern "C" { - #[link_name = "\u{1}Xthal_rev_no"] - pub static Xthal_rev_no: ::std::os::raw::c_uint; + pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_save_extra(base: *mut ::std::os::raw::c_void); + pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_restore_extra(base: *mut ::std::os::raw::c_void); + pub fn getchar_unlocked() -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_save_cpregs(base: *mut ::std::os::raw::c_void, arg1: ::std::os::raw::c_int); + pub fn flockfile(arg1: *mut FILE); } extern "C" { - pub fn xthal_restore_cpregs(base: *mut ::std::os::raw::c_void, arg1: ::std::os::raw::c_int); + pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_save_cp0(base: *mut ::std::os::raw::c_void); + pub fn funlockfile(arg1: *mut FILE); } extern "C" { - pub fn xthal_save_cp1(base: *mut ::std::os::raw::c_void); + pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_save_cp2(base: *mut ::std::os::raw::c_void); + pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_save_cp3(base: *mut ::std::os::raw::c_void); + pub fn dprintf( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_save_cp4(base: *mut ::std::os::raw::c_void); + pub fn fmemopen( + arg1: *mut ::std::os::raw::c_void, + arg2: usize, + arg3: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn xthal_save_cp5(base: *mut ::std::os::raw::c_void); + pub fn open_memstream(arg1: *mut *mut ::std::os::raw::c_char, arg2: *mut usize) -> *mut FILE; } extern "C" { - pub fn xthal_save_cp6(base: *mut ::std::os::raw::c_void); + pub fn renameat( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + arg4: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_save_cp7(base: *mut ::std::os::raw::c_void); + pub fn vdprintf( + arg1: ::std::os::raw::c_int, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_restore_cp0(base: *mut ::std::os::raw::c_void); + pub fn _asiprintf_r( + arg1: *mut _reent, + arg2: *mut *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_restore_cp1(base: *mut ::std::os::raw::c_void); + pub fn _asniprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *mut usize, + arg4: *const ::std::os::raw::c_char, + ... + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn xthal_restore_cp2(base: *mut ::std::os::raw::c_void); + pub fn _asnprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *mut usize, + arg4: *const ::std::os::raw::c_char, + ... + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn xthal_restore_cp3(base: *mut ::std::os::raw::c_void); + pub fn _asprintf_r( + arg1: *mut _reent, + arg2: *mut *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_restore_cp4(base: *mut ::std::os::raw::c_void); + pub fn _diprintf_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_restore_cp5(base: *mut ::std::os::raw::c_void); + pub fn _dprintf_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_restore_cp6(base: *mut ::std::os::raw::c_void); + pub fn _fclose_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_restore_cp7(base: *mut ::std::os::raw::c_void); + pub fn _fcloseall_r(arg1: *mut _reent) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cpregs_save_fn"] - pub static mut Xthal_cpregs_save_fn: [*mut ::std::os::raw::c_void; 8usize]; + pub fn _fdopen_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - #[link_name = "\u{1}Xthal_cpregs_restore_fn"] - pub static mut Xthal_cpregs_restore_fn: [*mut ::std::os::raw::c_void; 8usize]; + pub fn _fflush_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cpregs_save_nw_fn"] - pub static mut Xthal_cpregs_save_nw_fn: [*mut ::std::os::raw::c_void; 8usize]; + pub fn _fgetc_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cpregs_restore_nw_fn"] - pub static mut Xthal_cpregs_restore_nw_fn: [*mut ::std::os::raw::c_void; 8usize]; + pub fn _fgetc_unlocked_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_extra_size"] - pub static Xthal_extra_size: ::std::os::raw::c_uint; + pub fn _fgets_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + arg4: *mut FILE, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}Xthal_extra_align"] - pub static Xthal_extra_align: ::std::os::raw::c_uint; + pub fn _fgets_unlocked_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + arg4: *mut FILE, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}Xthal_cpregs_size"] - pub static mut Xthal_cpregs_size: [::std::os::raw::c_uint; 8usize]; + pub fn _fgetpos_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *mut fpos_t, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cpregs_align"] - pub static mut Xthal_cpregs_align: [::std::os::raw::c_uint; 8usize]; + pub fn _fsetpos_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const fpos_t, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_all_extra_size"] - pub static Xthal_all_extra_size: ::std::os::raw::c_uint; + pub fn _fiprintf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_all_extra_align"] - pub static Xthal_all_extra_align: ::std::os::raw::c_uint; + pub fn _fiscanf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cp_names"] - pub static mut Xthal_cp_names: [*const ::std::os::raw::c_char; 8usize]; + pub fn _fmemopen_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn xthal_init_mem_extra(arg1: *mut ::std::os::raw::c_void); + pub fn _fopen_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn xthal_init_mem_cp(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int); + pub fn _freopen_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + arg4: *mut FILE, + ) -> *mut FILE; } extern "C" { - #[link_name = "\u{1}Xthal_num_coprocessors"] - pub static Xthal_num_coprocessors: ::std::os::raw::c_uint; + pub fn _fprintf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cp_num"] - pub static Xthal_cp_num: ::std::os::raw::c_uchar; + pub fn _fpurge_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cp_max"] - pub static Xthal_cp_max: ::std::os::raw::c_uchar; + pub fn _fputc_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask"] - pub static Xthal_cp_mask: ::std::os::raw::c_uint; + pub fn _fputc_unlocked_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_num_aregs"] - pub static Xthal_num_aregs: ::std::os::raw::c_uint; + pub fn _fputs_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_num_aregs_log2"] - pub static Xthal_num_aregs_log2: ::std::os::raw::c_uchar; + pub fn _fputs_unlocked_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_icache_linewidth"] - pub static Xthal_icache_linewidth: ::std::os::raw::c_uchar; + pub fn _fread_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg3: *mut FILE, + ) -> usize; } extern "C" { - #[link_name = "\u{1}Xthal_dcache_linewidth"] - pub static Xthal_dcache_linewidth: ::std::os::raw::c_uchar; + pub fn _fread_unlocked_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg3: *mut FILE, + ) -> usize; } extern "C" { - #[link_name = "\u{1}Xthal_icache_linesize"] - pub static Xthal_icache_linesize: ::std::os::raw::c_ushort; + pub fn _fscanf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_dcache_linesize"] - pub static Xthal_dcache_linesize: ::std::os::raw::c_ushort; + pub fn _fseek_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: ::std::os::raw::c_long, + arg4: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_icache_size"] - pub static Xthal_icache_size: ::std::os::raw::c_uint; + pub fn _fseeko_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: _off_t, + arg4: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_dcache_size"] - pub static Xthal_dcache_size: ::std::os::raw::c_uint; + pub fn _ftell_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_long; } extern "C" { - #[link_name = "\u{1}Xthal_dcache_is_writeback"] - pub static Xthal_dcache_is_writeback: ::std::os::raw::c_uchar; + pub fn _ftello_r(arg1: *mut _reent, arg2: *mut FILE) -> _off_t; } extern "C" { - pub fn xthal_icache_region_invalidate( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub fn _rewind_r(arg1: *mut _reent, arg2: *mut FILE); } extern "C" { - pub fn xthal_dcache_region_invalidate( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub fn _fwrite_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg3: *mut FILE, + ) -> usize; } extern "C" { - pub fn xthal_icache_line_invalidate(addr: *mut ::std::os::raw::c_void); + pub fn _fwrite_unlocked_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg3: *mut FILE, + ) -> usize; } extern "C" { - pub fn xthal_dcache_line_invalidate(addr: *mut ::std::os::raw::c_void); + pub fn _getc_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_region_writeback( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub fn _getc_unlocked_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_line_writeback(addr: *mut ::std::os::raw::c_void); + pub fn _getchar_r(arg1: *mut _reent) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_region_writeback_inv( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub fn _getchar_unlocked_r(arg1: *mut _reent) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_line_writeback_inv(addr: *mut ::std::os::raw::c_void); + pub fn _gets_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn xthal_icache_sync(); + pub fn _iprintf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_sync(); + pub fn _iscanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_icache_get_ways() -> ::std::os::raw::c_uint; + pub fn _open_memstream_r( + arg1: *mut _reent, + arg2: *mut *mut ::std::os::raw::c_char, + arg3: *mut usize, + ) -> *mut FILE; } extern "C" { - pub fn xthal_icache_set_ways(ways: ::std::os::raw::c_uint); + pub fn _perror_r(arg1: *mut _reent, arg2: *const ::std::os::raw::c_char); } extern "C" { - pub fn xthal_dcache_get_ways() -> ::std::os::raw::c_uint; + pub fn _printf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_set_ways(ways: ::std::os::raw::c_uint); + pub fn _putc_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_cache_coherence_on(); + pub fn _putc_unlocked_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_cache_coherence_off(); + pub fn _putchar_unlocked_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_cache_coherence_optin(); + pub fn _putchar_r(arg1: *mut _reent, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_cache_coherence_optout(); + pub fn _puts_r(arg1: *mut _reent, arg2: *const ::std::os::raw::c_char) + -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_get_cache_prefetch() -> ::std::os::raw::c_int; + pub fn _remove_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_set_cache_prefetch(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn _rename_r( + arg1: *mut _reent, + _old: *const ::std::os::raw::c_char, + _new: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_set_cache_prefetch_long( - arg1: ::std::os::raw::c_ulonglong, + pub fn _scanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + ... ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_debug_configured"] - pub static Xthal_debug_configured: ::std::os::raw::c_int; + pub fn _siprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_set_soft_break(addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_uint; + pub fn _siscanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_remove_soft_break(addr: *mut ::std::os::raw::c_void, arg1: ::std::os::raw::c_uint); + pub fn _sniprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_disassemble( - instr_buf: *mut ::std::os::raw::c_uchar, - tgt_addr: *mut ::std::os::raw::c_void, - buffer: *mut ::std::os::raw::c_char, - buflen: ::std::os::raw::c_uint, - options: ::std::os::raw::c_uint, + pub fn _snprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + ... ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_disassemble_size(instr_buf: *mut ::std::os::raw::c_uchar) - -> ::std::os::raw::c_int; + pub fn _sprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_memcpy( - dst: *mut ::std::os::raw::c_void, - src: *const ::std::os::raw::c_void, - len: ::std::os::raw::c_uint, - ) -> *mut ::std::os::raw::c_void; + pub fn _sscanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_bcopy( - src: *const ::std::os::raw::c_void, - dst: *mut ::std::os::raw::c_void, - len: ::std::os::raw::c_uint, - ) -> *mut ::std::os::raw::c_void; + pub fn _tempnam_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn xthal_compare_and_set( - addr: *mut ::std::os::raw::c_int, - test_val: ::std::os::raw::c_int, - compare_val: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn _tmpfile_r(arg1: *mut _reent) -> *mut FILE; } extern "C" { - #[link_name = "\u{1}Xthal_release_major"] - pub static Xthal_release_major: ::std::os::raw::c_uint; + pub fn _tmpnam_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}Xthal_release_minor"] - pub static Xthal_release_minor: ::std::os::raw::c_uint; + pub fn _ungetc_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_release_name"] - pub static Xthal_release_name: *const ::std::os::raw::c_char; + pub fn _vasiprintf_r( + arg1: *mut _reent, + arg2: *mut *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_release_internal"] - pub static Xthal_release_internal: *const ::std::os::raw::c_char; + pub fn _vasniprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *mut usize, + arg4: *const ::std::os::raw::c_char, + arg5: __gnuc_va_list, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}Xthal_memory_order"] - pub static Xthal_memory_order: ::std::os::raw::c_uchar; + pub fn _vasnprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *mut usize, + arg4: *const ::std::os::raw::c_char, + arg5: __gnuc_va_list, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}Xthal_have_windowed"] - pub static Xthal_have_windowed: ::std::os::raw::c_uchar; + pub fn _vasprintf_r( + arg1: *mut _reent, + arg2: *mut *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_density"] - pub static Xthal_have_density: ::std::os::raw::c_uchar; + pub fn _vdiprintf_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_booleans"] - pub static Xthal_have_booleans: ::std::os::raw::c_uchar; + pub fn _vdprintf_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_loops"] - pub static Xthal_have_loops: ::std::os::raw::c_uchar; + pub fn _vfiprintf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_nsa"] - pub static Xthal_have_nsa: ::std::os::raw::c_uchar; + pub fn _vfiscanf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_minmax"] - pub static Xthal_have_minmax: ::std::os::raw::c_uchar; + pub fn _vfprintf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_sext"] - pub static Xthal_have_sext: ::std::os::raw::c_uchar; + pub fn _vfscanf_r( + arg1: *mut _reent, + arg2: *mut FILE, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_clamps"] - pub static Xthal_have_clamps: ::std::os::raw::c_uchar; + pub fn _viprintf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_mac16"] - pub static Xthal_have_mac16: ::std::os::raw::c_uchar; + pub fn _viscanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_mul16"] - pub static Xthal_have_mul16: ::std::os::raw::c_uchar; + pub fn _vprintf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_fp"] - pub static Xthal_have_fp: ::std::os::raw::c_uchar; + pub fn _vscanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_speculation"] - pub static Xthal_have_speculation: ::std::os::raw::c_uchar; + pub fn _vsiprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_threadptr"] - pub static Xthal_have_threadptr: ::std::os::raw::c_uchar; + pub fn _vsiscanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_have_pif"] - pub static Xthal_have_pif: ::std::os::raw::c_uchar; + pub fn _vsniprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + arg5: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_num_writebuffer_entries"] - pub static Xthal_num_writebuffer_entries: ::std::os::raw::c_ushort; + pub fn _vsnprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: usize, + arg4: *const ::std::os::raw::c_char, + arg5: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_build_unique_id"] - pub static Xthal_build_unique_id: ::std::os::raw::c_uint; + pub fn _vsprintf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_hw_configid0"] - pub static Xthal_hw_configid0: ::std::os::raw::c_uint; + pub fn _vsscanf_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *const ::std::os::raw::c_char, + arg4: __gnuc_va_list, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_hw_configid1"] - pub static Xthal_hw_configid1: ::std::os::raw::c_uint; + pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_hw_release_major"] - pub static Xthal_hw_release_major: ::std::os::raw::c_uint; + pub fn __getdelim( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut usize, + arg3: ::std::os::raw::c_int, + arg4: *mut FILE, + ) -> isize; } extern "C" { - #[link_name = "\u{1}Xthal_hw_release_minor"] - pub static Xthal_hw_release_minor: ::std::os::raw::c_uint; + pub fn __getline( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *mut usize, + arg3: *mut FILE, + ) -> isize; } extern "C" { - #[link_name = "\u{1}Xthal_hw_release_name"] - pub static Xthal_hw_release_name: *const ::std::os::raw::c_char; + pub fn clearerr_unlocked(arg1: *mut FILE); } extern "C" { - #[link_name = "\u{1}Xthal_hw_release_internal"] - pub static Xthal_hw_release_internal: *const ::std::os::raw::c_char; + pub fn feof_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_clear_regcached_code(); + pub fn ferror_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_window_spill(); + pub fn fileno_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_validate_cp(arg1: ::std::os::raw::c_int); + pub fn fflush_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_invalidate_cp(arg1: ::std::os::raw::c_int); + pub fn fgetc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_set_cpenable(arg1: ::std::os::raw::c_uint); + pub fn fputc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_get_cpenable() -> ::std::os::raw::c_uint; + pub fn fread_unlocked( + arg1: *mut ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg2: *mut FILE, + ) -> usize; } extern "C" { - #[link_name = "\u{1}Xthal_num_intlevels"] - pub static Xthal_num_intlevels: ::std::os::raw::c_uchar; + pub fn fwrite_unlocked( + arg1: *const ::std::os::raw::c_void, + _size: usize, + _n: usize, + arg2: *mut FILE, + ) -> usize; } extern "C" { - #[link_name = "\u{1}Xthal_num_interrupts"] - pub static Xthal_num_interrupts: ::std::os::raw::c_uchar; + pub fn __srget_r(arg1: *mut _reent, arg2: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_excm_level"] - pub static Xthal_excm_level: ::std::os::raw::c_uchar; + pub fn __swbuf_r( + arg1: *mut _reent, + arg2: ::std::os::raw::c_int, + arg3: *mut FILE, + ) -> ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_intlevel_mask"] - pub static mut Xthal_intlevel_mask: [::std::os::raw::c_uint; 16usize]; + pub fn funopen( + __cookie: *const ::std::os::raw::c_void, + __readfn: ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *mut ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + __writefn: ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + __seekfn: ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __off: fpos_t, + __whence: ::std::os::raw::c_int, + ) -> fpos_t, + >, + __closefn: ::core::option::Option< + unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, + >, + ) -> *mut FILE; } extern "C" { - #[link_name = "\u{1}Xthal_intlevel_andbelow_mask"] - pub static mut Xthal_intlevel_andbelow_mask: [::std::os::raw::c_uint; 16usize]; + pub fn _funopen_r( + arg1: *mut _reent, + __cookie: *const ::std::os::raw::c_void, + __readfn: ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *mut ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + __writefn: ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + __seekfn: ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __off: fpos_t, + __whence: ::std::os::raw::c_int, + ) -> fpos_t, + >, + __closefn: ::core::option::Option< + unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, + >, + ) -> *mut FILE; } -extern "C" { - #[link_name = "\u{1}Xthal_intlevel"] - pub static mut Xthal_intlevel: [::std::os::raw::c_uchar; 32usize]; +pub type cookie_read_function_t = ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *mut ::std::os::raw::c_char, + __n: usize, + ) -> isize, +>; +pub type cookie_write_function_t = ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *const ::std::os::raw::c_char, + __n: usize, + ) -> isize, +>; +pub type cookie_seek_function_t = ::core::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __off: *mut off_t, + __whence: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, +>; +pub type cookie_close_function_t = ::core::option::Option< + unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cookie_io_functions_t { + pub read: cookie_read_function_t, + pub write: cookie_write_function_t, + pub seek: cookie_seek_function_t, + pub close: cookie_close_function_t, } extern "C" { - #[link_name = "\u{1}Xthal_inttype"] - pub static mut Xthal_inttype: [::std::os::raw::c_uchar; 32usize]; + pub fn fopencookie( + __cookie: *mut ::std::os::raw::c_void, + __mode: *const ::std::os::raw::c_char, + __functions: cookie_io_functions_t, + ) -> *mut FILE; } extern "C" { - #[link_name = "\u{1}Xthal_inttype_mask"] - pub static mut Xthal_inttype_mask: [::std::os::raw::c_uint; 8usize]; + pub fn _fopencookie_r( + arg1: *mut _reent, + __cookie: *mut ::std::os::raw::c_void, + __mode: *const ::std::os::raw::c_char, + __functions: cookie_io_functions_t, + ) -> *mut FILE; } +pub type esp_err_t = i32; extern "C" { - #[link_name = "\u{1}Xthal_timer_interrupt"] - pub static mut Xthal_timer_interrupt: [::std::os::raw::c_int; 4usize]; + #[doc = " @brief Returns string for esp_err_t error codes"] + #[doc = ""] + #[doc = " This function finds the error code in a pre-generated lookup-table and"] + #[doc = " returns its string representation."] + #[doc = ""] + #[doc = " The function is generated by the Python script"] + #[doc = " tools/gen_esp_err_to_name.py which should be run each time an esp_err_t"] + #[doc = " error is modified, created or removed from the IDF project."] + #[doc = ""] + #[doc = " @param code esp_err_t error code"] + #[doc = " @return string error message"] + pub fn esp_err_to_name(code: esp_err_t) -> *const ::std::os::raw::c_char; } extern "C" { - pub fn xthal_get_intenable() -> ::std::os::raw::c_uint; + #[doc = " @brief Returns string for esp_err_t and system error codes"] + #[doc = ""] + #[doc = " This function finds the error code in a pre-generated lookup-table of"] + #[doc = " esp_err_t errors and returns its string representation. If the error code"] + #[doc = " is not found then it is attempted to be found among system errors."] + #[doc = ""] + #[doc = " The function is generated by the Python script"] + #[doc = " tools/gen_esp_err_to_name.py which should be run each time an esp_err_t"] + #[doc = " error is modified, created or removed from the IDF project."] + #[doc = ""] + #[doc = " @param code esp_err_t error code"] + #[doc = " @param[out] buf buffer where the error message should be written"] + #[doc = " @param buflen Size of buffer buf. At most buflen bytes are written into the buf buffer (including the terminating null byte)."] + #[doc = " @return buf containing the string error message"] + pub fn esp_err_to_name_r( + code: esp_err_t, + buf: *mut ::std::os::raw::c_char, + buflen: usize, + ) -> *const ::std::os::raw::c_char; } extern "C" { - pub fn xthal_set_intenable(arg1: ::std::os::raw::c_uint); + #[doc = " @cond"] + pub fn _esp_error_check_failed( + rc: esp_err_t, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + function: *const ::std::os::raw::c_char, + expression: *const ::std::os::raw::c_char, + ); } extern "C" { - pub fn xthal_get_interrupt() -> ::std::os::raw::c_uint; + #[doc = " @cond"] + pub fn _esp_error_check_failed_without_abort( + rc: esp_err_t, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + function: *const ::std::os::raw::c_char, + expression: *const ::std::os::raw::c_char, + ); } extern "C" { - pub fn xthal_set_intset(arg1: ::std::os::raw::c_uint); + pub static Xthal_rev_no: ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_set_intclear(arg1: ::std::os::raw::c_uint); + pub fn xthal_save_extra(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_num_ibreak"] - pub static Xthal_num_ibreak: ::std::os::raw::c_int; + pub fn xthal_restore_extra(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_num_dbreak"] - pub static Xthal_num_dbreak: ::std::os::raw::c_int; + pub fn xthal_save_cpregs(base: *mut ::std::os::raw::c_void, arg1: ::std::os::raw::c_int); } extern "C" { - #[link_name = "\u{1}Xthal_have_ccount"] - pub static Xthal_have_ccount: ::std::os::raw::c_uchar; + pub fn xthal_restore_cpregs(base: *mut ::std::os::raw::c_void, arg1: ::std::os::raw::c_int); } extern "C" { - #[link_name = "\u{1}Xthal_num_ccompare"] - pub static Xthal_num_ccompare: ::std::os::raw::c_uchar; + pub fn xthal_save_cp0(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_get_ccount() -> ::std::os::raw::c_uint; + pub fn xthal_save_cp1(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_set_ccompare(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_uint); + pub fn xthal_save_cp2(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_get_ccompare(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_uint; + pub fn xthal_save_cp3(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_have_prid"] - pub static Xthal_have_prid: ::std::os::raw::c_uchar; + pub fn xthal_save_cp4(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_have_exceptions"] - pub static Xthal_have_exceptions: ::std::os::raw::c_uchar; + pub fn xthal_save_cp5(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_xea_version"] - pub static Xthal_xea_version: ::std::os::raw::c_uchar; + pub fn xthal_save_cp6(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_have_interrupts"] - pub static Xthal_have_interrupts: ::std::os::raw::c_uchar; + pub fn xthal_save_cp7(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_have_highlevel_interrupts"] - pub static Xthal_have_highlevel_interrupts: ::std::os::raw::c_uchar; + pub fn xthal_restore_cp0(base: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_have_nmi"] - pub static Xthal_have_nmi: ::std::os::raw::c_uchar; + pub fn xthal_restore_cp1(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_get_prid() -> ::std::os::raw::c_uint; + pub fn xthal_restore_cp2(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_vpri_to_intlevel(vpri: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub fn xthal_restore_cp3(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_intlevel_to_vpri(intlevel: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub fn xthal_restore_cp4(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_int_enable(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub fn xthal_restore_cp5(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_int_disable(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub fn xthal_restore_cp6(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_set_int_vpri( - intnum: ::std::os::raw::c_int, - vpri: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_restore_cp7(base: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_get_int_vpri(intnum: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub static mut Xthal_cpregs_save_fn: [*mut ::std::os::raw::c_void; 8usize]; } extern "C" { - pub fn xthal_set_vpri_locklevel(intlevel: ::std::os::raw::c_uint); + pub static mut Xthal_cpregs_restore_fn: [*mut ::std::os::raw::c_void; 8usize]; } extern "C" { - pub fn xthal_get_vpri_locklevel() -> ::std::os::raw::c_uint; + pub static mut Xthal_cpregs_save_nw_fn: [*mut ::std::os::raw::c_void; 8usize]; } extern "C" { - pub fn xthal_set_vpri(vpri: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub static mut Xthal_cpregs_restore_nw_fn: [*mut ::std::os::raw::c_void; 8usize]; } extern "C" { - pub fn xthal_get_vpri() -> ::std::os::raw::c_uint; + pub static Xthal_extra_size: ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_set_vpri_intlevel(intlevel: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub static Xthal_extra_align: ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_set_vpri_lock() -> ::std::os::raw::c_uint; + pub static mut Xthal_cpregs_size: [::std::os::raw::c_uint; 8usize]; } -pub type XtHalVoidFunc = ::core::option::Option; extern "C" { - #[link_name = "\u{1}Xthal_tram_pending"] - pub static mut Xthal_tram_pending: ::std::os::raw::c_uint; + pub static mut Xthal_cpregs_align: [::std::os::raw::c_uint; 8usize]; } extern "C" { - #[link_name = "\u{1}Xthal_tram_enabled"] - pub static mut Xthal_tram_enabled: ::std::os::raw::c_uint; + pub static Xthal_all_extra_size: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_tram_sync"] - pub static mut Xthal_tram_sync: ::std::os::raw::c_uint; + pub static Xthal_all_extra_align: ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_tram_pending_to_service() -> ::std::os::raw::c_uint; + pub static mut Xthal_cp_names: [*const ::std::os::raw::c_char; 8usize]; } extern "C" { - pub fn xthal_tram_done(serviced_mask: ::std::os::raw::c_uint); + pub fn xthal_init_mem_extra(arg1: *mut ::std::os::raw::c_void); } extern "C" { - pub fn xthal_tram_set_sync( - intnum: ::std::os::raw::c_int, - sync: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_init_mem_cp(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int); } extern "C" { - pub fn xthal_set_tram_trigger_func(trigger_fn: XtHalVoidFunc) -> XtHalVoidFunc; + pub static Xthal_num_coprocessors: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_num_instrom"] - pub static Xthal_num_instrom: ::std::os::raw::c_uchar; + pub static Xthal_cp_num: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_num_instram"] - pub static Xthal_num_instram: ::std::os::raw::c_uchar; + pub static Xthal_cp_max: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_num_datarom"] - pub static Xthal_num_datarom: ::std::os::raw::c_uchar; + pub static Xthal_cp_mask: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_num_dataram"] - pub static Xthal_num_dataram: ::std::os::raw::c_uchar; + pub static Xthal_num_aregs: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_num_xlmi"] - pub static Xthal_num_xlmi: ::std::os::raw::c_uchar; + pub static Xthal_num_aregs_log2: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_instrom_vaddr"] - pub static mut Xthal_instrom_vaddr: [::std::os::raw::c_uint; 0usize]; + pub static Xthal_icache_linewidth: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_instrom_paddr"] - pub static mut Xthal_instrom_paddr: [::std::os::raw::c_uint; 0usize]; + pub static Xthal_dcache_linewidth: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_instrom_size"] - pub static mut Xthal_instrom_size: [::std::os::raw::c_uint; 0usize]; + pub static Xthal_icache_linesize: ::std::os::raw::c_ushort; } extern "C" { - #[link_name = "\u{1}Xthal_instram_vaddr"] - pub static mut Xthal_instram_vaddr: [::std::os::raw::c_uint; 0usize]; + pub static Xthal_dcache_linesize: ::std::os::raw::c_ushort; } extern "C" { - #[link_name = "\u{1}Xthal_instram_paddr"] - pub static mut Xthal_instram_paddr: [::std::os::raw::c_uint; 0usize]; + pub static Xthal_icache_size: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_instram_size"] - pub static mut Xthal_instram_size: [::std::os::raw::c_uint; 0usize]; + pub static Xthal_dcache_size: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_datarom_vaddr"] - pub static mut Xthal_datarom_vaddr: [::std::os::raw::c_uint; 0usize]; + pub static Xthal_dcache_is_writeback: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_datarom_paddr"] - pub static mut Xthal_datarom_paddr: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_icache_region_invalidate( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - #[link_name = "\u{1}Xthal_datarom_size"] - pub static mut Xthal_datarom_size: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_dcache_region_invalidate( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - #[link_name = "\u{1}Xthal_dataram_vaddr"] - pub static mut Xthal_dataram_vaddr: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_icache_line_invalidate(addr: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_dataram_paddr"] - pub static mut Xthal_dataram_paddr: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_dcache_line_invalidate(addr: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_dataram_size"] - pub static mut Xthal_dataram_size: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_dcache_region_writeback( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - #[link_name = "\u{1}Xthal_xlmi_vaddr"] - pub static mut Xthal_xlmi_vaddr: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_dcache_line_writeback(addr: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_xlmi_paddr"] - pub static mut Xthal_xlmi_paddr: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_dcache_region_writeback_inv( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - #[link_name = "\u{1}Xthal_xlmi_size"] - pub static mut Xthal_xlmi_size: [::std::os::raw::c_uint; 0usize]; + pub fn xthal_dcache_line_writeback_inv(addr: *mut ::std::os::raw::c_void); } extern "C" { - #[link_name = "\u{1}Xthal_icache_setwidth"] - pub static Xthal_icache_setwidth: ::std::os::raw::c_uchar; + pub fn xthal_icache_sync(); } extern "C" { - #[link_name = "\u{1}Xthal_dcache_setwidth"] - pub static Xthal_dcache_setwidth: ::std::os::raw::c_uchar; + pub fn xthal_dcache_sync(); } extern "C" { - #[link_name = "\u{1}Xthal_icache_ways"] - pub static Xthal_icache_ways: ::std::os::raw::c_uint; + pub fn xthal_icache_get_ways() -> ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_dcache_ways"] - pub static Xthal_dcache_ways: ::std::os::raw::c_uint; + pub fn xthal_icache_set_ways(ways: ::std::os::raw::c_uint); } extern "C" { - #[link_name = "\u{1}Xthal_icache_line_lockable"] - pub static Xthal_icache_line_lockable: ::std::os::raw::c_uchar; + pub fn xthal_dcache_get_ways() -> ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_dcache_line_lockable"] - pub static Xthal_dcache_line_lockable: ::std::os::raw::c_uchar; + pub fn xthal_dcache_set_ways(ways: ::std::os::raw::c_uint); } extern "C" { - pub fn xthal_get_cacheattr() -> ::std::os::raw::c_uint; + pub fn xthal_cache_coherence_on(); } extern "C" { - pub fn xthal_get_icacheattr() -> ::std::os::raw::c_uint; + pub fn xthal_cache_coherence_off(); } extern "C" { - pub fn xthal_get_dcacheattr() -> ::std::os::raw::c_uint; + pub fn xthal_cache_coherence_optin(); } extern "C" { - pub fn xthal_set_cacheattr(arg1: ::std::os::raw::c_uint); + pub fn xthal_cache_coherence_optout(); } extern "C" { - pub fn xthal_set_icacheattr(arg1: ::std::os::raw::c_uint); + pub fn xthal_get_cache_prefetch() -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_set_dcacheattr(arg1: ::std::os::raw::c_uint); + pub fn xthal_set_cache_prefetch(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_set_region_attribute( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - cattr: ::std::os::raw::c_uint, - flags: ::std::os::raw::c_uint, + pub fn xthal_set_cache_prefetch_long( + arg1: ::std::os::raw::c_ulonglong, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_icache_enable(); -} -extern "C" { - pub fn xthal_dcache_enable(); -} -extern "C" { - pub fn xthal_icache_disable(); + pub static Xthal_debug_configured: ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_disable(); + pub fn xthal_set_soft_break(addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_icache_all_invalidate(); + pub fn xthal_remove_soft_break(addr: *mut ::std::os::raw::c_void, arg1: ::std::os::raw::c_uint); } extern "C" { - pub fn xthal_dcache_all_invalidate(); + pub fn xthal_disassemble( + instr_buf: *mut ::std::os::raw::c_uchar, + tgt_addr: *mut ::std::os::raw::c_void, + buffer: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_uint, + options: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_all_writeback(); + pub fn xthal_disassemble_size(instr_buf: *mut ::std::os::raw::c_uchar) + -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_dcache_all_writeback_inv(); + pub fn xthal_memcpy( + dst: *mut ::std::os::raw::c_void, + src: *const ::std::os::raw::c_void, + len: ::std::os::raw::c_uint, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn xthal_icache_region_lock( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub fn xthal_bcopy( + src: *const ::std::os::raw::c_void, + dst: *mut ::std::os::raw::c_void, + len: ::std::os::raw::c_uint, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn xthal_dcache_region_lock( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub fn xthal_compare_and_set( + addr: *mut ::std::os::raw::c_int, + test_val: ::std::os::raw::c_int, + compare_val: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn xthal_icache_line_lock(addr: *mut ::std::os::raw::c_void); + pub static Xthal_release_major: ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_dcache_line_lock(addr: *mut ::std::os::raw::c_void); + pub static Xthal_release_minor: ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_icache_all_unlock(); + pub static Xthal_release_name: *const ::std::os::raw::c_char; } extern "C" { - pub fn xthal_dcache_all_unlock(); + pub static Xthal_release_internal: *const ::std::os::raw::c_char; } extern "C" { - pub fn xthal_icache_region_unlock( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub static Xthal_memory_order: ::std::os::raw::c_uchar; } extern "C" { - pub fn xthal_dcache_region_unlock( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - ); + pub static Xthal_have_windowed: ::std::os::raw::c_uchar; } extern "C" { - pub fn xthal_icache_line_unlock(addr: *mut ::std::os::raw::c_void); + pub static Xthal_have_density: ::std::os::raw::c_uchar; } extern "C" { - pub fn xthal_dcache_line_unlock(addr: *mut ::std::os::raw::c_void); + pub static Xthal_have_booleans: ::std::os::raw::c_uchar; } extern "C" { - pub fn xthal_memep_inject_error( - addr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_int, - flags: ::std::os::raw::c_int, - ); + pub static Xthal_have_loops: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_have_spanning_way"] - pub static Xthal_have_spanning_way: ::std::os::raw::c_uchar; + pub static Xthal_have_nsa: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_have_identity_map"] - pub static Xthal_have_identity_map: ::std::os::raw::c_uchar; + pub static Xthal_have_minmax: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_have_mimic_cacheattr"] - pub static Xthal_have_mimic_cacheattr: ::std::os::raw::c_uchar; + pub static Xthal_have_sext: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_have_xlt_cacheattr"] - pub static Xthal_have_xlt_cacheattr: ::std::os::raw::c_uchar; + pub static Xthal_have_clamps: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_have_cacheattr"] - pub static Xthal_have_cacheattr: ::std::os::raw::c_uchar; + pub static Xthal_have_mac16: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_have_tlbs"] - pub static Xthal_have_tlbs: ::std::os::raw::c_uchar; + pub static Xthal_have_mul16: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_asid_bits"] - pub static Xthal_mmu_asid_bits: ::std::os::raw::c_uchar; + pub static Xthal_have_fp: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_asid_kernel"] - pub static Xthal_mmu_asid_kernel: ::std::os::raw::c_uchar; + pub static Xthal_have_speculation: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_rings"] - pub static Xthal_mmu_rings: ::std::os::raw::c_uchar; + pub static Xthal_have_threadptr: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_ring_bits"] - pub static Xthal_mmu_ring_bits: ::std::os::raw::c_uchar; + pub static Xthal_have_pif: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_sr_bits"] - pub static Xthal_mmu_sr_bits: ::std::os::raw::c_uchar; + pub static Xthal_num_writebuffer_entries: ::std::os::raw::c_ushort; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_ca_bits"] - pub static Xthal_mmu_ca_bits: ::std::os::raw::c_uchar; + pub static Xthal_build_unique_id: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_max_pte_page_size"] - pub static Xthal_mmu_max_pte_page_size: ::std::os::raw::c_uint; + pub static Xthal_hw_configid0: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_mmu_min_pte_page_size"] - pub static Xthal_mmu_min_pte_page_size: ::std::os::raw::c_uint; + pub static Xthal_hw_configid1: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_itlb_way_bits"] - pub static Xthal_itlb_way_bits: ::std::os::raw::c_uchar; + pub static Xthal_hw_release_major: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_itlb_ways"] - pub static Xthal_itlb_ways: ::std::os::raw::c_uchar; + pub static Xthal_hw_release_minor: ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_itlb_arf_ways"] - pub static Xthal_itlb_arf_ways: ::std::os::raw::c_uchar; + pub static Xthal_hw_release_name: *const ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}Xthal_dtlb_way_bits"] - pub static Xthal_dtlb_way_bits: ::std::os::raw::c_uchar; + pub static Xthal_hw_release_internal: *const ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}Xthal_dtlb_ways"] - pub static Xthal_dtlb_ways: ::std::os::raw::c_uchar; + pub fn xthal_clear_regcached_code(); } extern "C" { - #[link_name = "\u{1}Xthal_dtlb_arf_ways"] - pub static Xthal_dtlb_arf_ways: ::std::os::raw::c_uchar; + pub fn xthal_window_spill(); } extern "C" { - #[doc = " WARNING: these two functions may go away in a future release; don\'t depend on them!"] - pub fn xthal_static_v2p( - vaddr: ::std::os::raw::c_uint, - paddrp: *mut ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; + pub fn xthal_validate_cp(arg1: ::std::os::raw::c_int); } extern "C" { - pub fn xthal_static_p2v( - paddr: ::std::os::raw::c_uint, - vaddrp: *mut ::std::os::raw::c_uint, - cached: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; + pub fn xthal_invalidate_cp(arg1: ::std::os::raw::c_int); } extern "C" { - pub fn xthal_set_region_translation( - vaddr: *mut ::std::os::raw::c_void, - paddr: *mut ::std::os::raw::c_void, - size: ::std::os::raw::c_uint, - cache_atr: ::std::os::raw::c_uint, - flags: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; + pub fn xthal_set_cpenable(arg1: ::std::os::raw::c_uint); } extern "C" { - pub fn xthal_v2p( - arg1: *mut ::std::os::raw::c_void, - arg2: *mut *mut ::std::os::raw::c_void, - arg3: *mut ::std::os::raw::c_uint, - arg4: *mut ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; + pub fn xthal_get_cpenable() -> ::std::os::raw::c_uint; } extern "C" { - pub fn xthal_invalidate_region(addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; + pub static Xthal_num_intlevels: ::std::os::raw::c_uchar; } extern "C" { - pub fn xthal_set_region_translation_raw( - vaddr: *mut ::std::os::raw::c_void, - paddr: *mut ::std::os::raw::c_void, - cattr: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; + pub static Xthal_num_interrupts: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_FPU"] - pub static Xthal_cp_id_FPU: ::std::os::raw::c_uchar; + pub static Xthal_excm_level: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_FPU"] - pub static Xthal_cp_mask_FPU: ::std::os::raw::c_uint; + pub static mut Xthal_intlevel_mask: [::std::os::raw::c_uint; 16usize]; } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_XCHAL_CP1_IDENT"] - pub static Xthal_cp_id_XCHAL_CP1_IDENT: ::std::os::raw::c_uchar; + pub static mut Xthal_intlevel_andbelow_mask: [::std::os::raw::c_uint; 16usize]; } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_XCHAL_CP1_IDENT"] - pub static Xthal_cp_mask_XCHAL_CP1_IDENT: ::std::os::raw::c_uint; + pub static mut Xthal_intlevel: [::std::os::raw::c_uchar; 32usize]; } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_XCHAL_CP2_IDENT"] - pub static Xthal_cp_id_XCHAL_CP2_IDENT: ::std::os::raw::c_uchar; + pub static mut Xthal_inttype: [::std::os::raw::c_uchar; 32usize]; } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_XCHAL_CP2_IDENT"] - pub static Xthal_cp_mask_XCHAL_CP2_IDENT: ::std::os::raw::c_uint; + pub static mut Xthal_inttype_mask: [::std::os::raw::c_uint; 8usize]; } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_XCHAL_CP3_IDENT"] - pub static Xthal_cp_id_XCHAL_CP3_IDENT: ::std::os::raw::c_uchar; + pub static mut Xthal_timer_interrupt: [::std::os::raw::c_int; 4usize]; } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_XCHAL_CP3_IDENT"] - pub static Xthal_cp_mask_XCHAL_CP3_IDENT: ::std::os::raw::c_uint; + pub fn xthal_get_intenable() -> ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_XCHAL_CP4_IDENT"] - pub static Xthal_cp_id_XCHAL_CP4_IDENT: ::std::os::raw::c_uchar; + pub fn xthal_set_intenable(arg1: ::std::os::raw::c_uint); } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_XCHAL_CP4_IDENT"] - pub static Xthal_cp_mask_XCHAL_CP4_IDENT: ::std::os::raw::c_uint; + pub fn xthal_get_interrupt() -> ::std::os::raw::c_uint; } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_XCHAL_CP5_IDENT"] - pub static Xthal_cp_id_XCHAL_CP5_IDENT: ::std::os::raw::c_uchar; + pub fn xthal_set_intset(arg1: ::std::os::raw::c_uint); } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_XCHAL_CP5_IDENT"] - pub static Xthal_cp_mask_XCHAL_CP5_IDENT: ::std::os::raw::c_uint; + pub fn xthal_set_intclear(arg1: ::std::os::raw::c_uint); } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_XCHAL_CP6_IDENT"] - pub static Xthal_cp_id_XCHAL_CP6_IDENT: ::std::os::raw::c_uchar; + pub static Xthal_num_ibreak: ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_XCHAL_CP6_IDENT"] - pub static Xthal_cp_mask_XCHAL_CP6_IDENT: ::std::os::raw::c_uint; + pub static Xthal_num_dbreak: ::std::os::raw::c_int; } extern "C" { - #[link_name = "\u{1}Xthal_cp_id_XCHAL_CP7_IDENT"] - pub static Xthal_cp_id_XCHAL_CP7_IDENT: ::std::os::raw::c_uchar; + pub static Xthal_have_ccount: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}Xthal_cp_mask_XCHAL_CP7_IDENT"] - pub static Xthal_cp_mask_XCHAL_CP7_IDENT: ::std::os::raw::c_uint; + pub static Xthal_num_ccompare: ::std::os::raw::c_uchar; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct KernelFrame { - pub pc: ::std::os::raw::c_long, - pub ps: ::std::os::raw::c_long, - pub areg: [::std::os::raw::c_long; 4usize], - pub sar: ::std::os::raw::c_long, - pub lcount: ::std::os::raw::c_long, - pub lbeg: ::std::os::raw::c_long, - pub lend: ::std::os::raw::c_long, - pub acclo: ::std::os::raw::c_long, - pub acchi: ::std::os::raw::c_long, - pub mr: [::std::os::raw::c_long; 4usize], +extern "C" { + pub fn xthal_get_ccount() -> ::std::os::raw::c_uint; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct UserFrame { - pub pc: ::std::os::raw::c_long, - pub ps: ::std::os::raw::c_long, - pub sar: ::std::os::raw::c_long, - pub vpri: ::std::os::raw::c_long, - pub a2: ::std::os::raw::c_long, - pub a3: ::std::os::raw::c_long, - pub a4: ::std::os::raw::c_long, - pub a5: ::std::os::raw::c_long, - pub exccause: ::std::os::raw::c_long, - pub lcount: ::std::os::raw::c_long, - pub lbeg: ::std::os::raw::c_long, - pub lend: ::std::os::raw::c_long, - pub acclo: ::std::os::raw::c_long, - pub acchi: ::std::os::raw::c_long, - pub mr: [::std::os::raw::c_long; 4usize], - pub pad: [::std::os::raw::c_long; 2usize], +extern "C" { + pub fn xthal_set_ccompare(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_uint); } -#[repr(C)] -pub struct XtosCoreState { - pub signature: ::std::os::raw::c_long, - pub restore_label: ::std::os::raw::c_long, - pub aftersave_label: ::std::os::raw::c_long, - pub areg: [::std::os::raw::c_long; 64usize], - pub caller_regs: [::std::os::raw::c_long; 16usize], - pub caller_regs_saved: ::std::os::raw::c_long, - pub windowbase: ::std::os::raw::c_long, - pub windowstart: ::std::os::raw::c_long, - pub sar: ::std::os::raw::c_long, - pub epc1: ::std::os::raw::c_long, - pub ps: ::std::os::raw::c_long, - pub excsave1: ::std::os::raw::c_long, - pub depc: ::std::os::raw::c_long, - pub epc: [::std::os::raw::c_long; 6usize], - pub eps: [::std::os::raw::c_long; 6usize], - pub excsave: [::std::os::raw::c_long; 6usize], - pub lcount: ::std::os::raw::c_long, - pub lbeg: ::std::os::raw::c_long, - pub lend: ::std::os::raw::c_long, - pub vecbase: ::std::os::raw::c_long, - pub atomctl: ::std::os::raw::c_long, - pub memctl: ::std::os::raw::c_long, - pub ccount: ::std::os::raw::c_long, - pub ccompare: [::std::os::raw::c_long; 3usize], - pub intenable: ::std::os::raw::c_long, - pub interrupt: ::std::os::raw::c_long, - pub icount: ::std::os::raw::c_long, - pub icountlevel: ::std::os::raw::c_long, - pub debugcause: ::std::os::raw::c_long, - pub dbreakc: [::std::os::raw::c_long; 2usize], - pub dbreaka: [::std::os::raw::c_long; 2usize], - pub ibreaka: [::std::os::raw::c_long; 2usize], - pub ibreakenable: ::std::os::raw::c_long, - pub misc: [::std::os::raw::c_long; 4usize], - pub cpenable: ::std::os::raw::c_long, - pub tlbs: [::std::os::raw::c_long; 16usize], - pub ncp: [::std::os::raw::c_char; 48usize], - pub cp0: [::std::os::raw::c_char; 72usize], - pub cp1: __IncompleteArrayField<::std::os::raw::c_char>, - pub cp2: __IncompleteArrayField<::std::os::raw::c_char>, - pub cp3: __IncompleteArrayField<::std::os::raw::c_char>, - pub cp4: __IncompleteArrayField<::std::os::raw::c_char>, - pub cp5: __IncompleteArrayField<::std::os::raw::c_char>, - pub cp6: __IncompleteArrayField<::std::os::raw::c_char>, - pub cp7: __IncompleteArrayField<::std::os::raw::c_char>, +extern "C" { + pub fn xthal_get_ccompare(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_uint; } -pub type _xtos_handler_func = ::core::option::Option; -pub type _xtos_handler = _xtos_handler_func; extern "C" { - pub fn _xtos_ints_off(mask: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub static Xthal_have_prid: ::std::os::raw::c_uchar; } extern "C" { - pub fn _xtos_ints_on(mask: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub static Xthal_have_exceptions: ::std::os::raw::c_uchar; } extern "C" { - pub fn _xtos_set_intlevel(intlevel: ::std::os::raw::c_int) -> ::std::os::raw::c_uint; + pub static Xthal_xea_version: ::std::os::raw::c_uchar; } extern "C" { - pub fn _xtos_set_min_intlevel(intlevel: ::std::os::raw::c_int) -> ::std::os::raw::c_uint; + pub static Xthal_have_interrupts: ::std::os::raw::c_uchar; } extern "C" { - pub fn _xtos_restore_intlevel(restoreval: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; + pub static Xthal_have_highlevel_interrupts: ::std::os::raw::c_uchar; } extern "C" { - pub fn _xtos_restore_just_intlevel( - restoreval: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_uint; + pub static Xthal_have_nmi: ::std::os::raw::c_uchar; } extern "C" { - pub fn _xtos_set_interrupt_handler(n: ::std::os::raw::c_int, f: _xtos_handler) - -> _xtos_handler; + pub fn xthal_get_prid() -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_set_interrupt_handler_arg( - n: ::std::os::raw::c_int, - f: _xtos_handler, - arg: *mut ::std::os::raw::c_void, - ) -> _xtos_handler; + pub fn xthal_vpri_to_intlevel(vpri: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_set_exception_handler(n: ::std::os::raw::c_int, f: _xtos_handler) - -> _xtos_handler; + pub fn xthal_intlevel_to_vpri(intlevel: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_memep_initrams(); + pub fn xthal_int_enable(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_memep_enable(flags: ::std::os::raw::c_int); + pub fn xthal_int_disable(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_dispatch_level1_interrupts(); + pub fn xthal_set_int_vpri( + intnum: ::std::os::raw::c_int, + vpri: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _xtos_dispatch_level2_interrupts(); + pub fn xthal_get_int_vpri(intnum: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn _xtos_dispatch_level3_interrupts(); + pub fn xthal_set_vpri_locklevel(intlevel: ::std::os::raw::c_uint); } extern "C" { - pub fn _xtos_dispatch_level4_interrupts(); + pub fn xthal_get_vpri_locklevel() -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_dispatch_level5_interrupts(); + pub fn xthal_set_vpri(vpri: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_dispatch_level6_interrupts(); + pub fn xthal_get_vpri() -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_read_ints() -> ::std::os::raw::c_uint; + pub fn xthal_set_vpri_intlevel(intlevel: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_clear_ints(mask: ::std::os::raw::c_uint); + pub fn xthal_set_vpri_lock() -> ::std::os::raw::c_uint; +} +pub type XtHalVoidFunc = ::core::option::Option; +extern "C" { + pub static mut Xthal_tram_pending: ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_core_shutoff(flags: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; + pub static mut Xthal_tram_enabled: ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_core_save( - flags: ::std::os::raw::c_uint, - savearea: *mut XtosCoreState, - code: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int; + pub static mut Xthal_tram_sync: ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_core_restore(retvalue: ::std::os::raw::c_uint, savearea: *mut XtosCoreState); + pub fn xthal_tram_pending_to_service() -> ::std::os::raw::c_uint; } extern "C" { - pub fn _xtos_timer_0_delta(cycles: ::std::os::raw::c_int); + pub fn xthal_tram_done(serviced_mask: ::std::os::raw::c_uint); } extern "C" { - pub fn _xtos_timer_1_delta(cycles: ::std::os::raw::c_int); + pub fn xthal_tram_set_sync( + intnum: ::std::os::raw::c_int, + sync: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _xtos_timer_2_delta(cycles: ::std::os::raw::c_int); + pub fn xthal_set_tram_trigger_func(trigger_fn: XtHalVoidFunc) -> XtHalVoidFunc; } -pub const periph_module_t_PERIPH_LEDC_MODULE: periph_module_t = 0; -pub const periph_module_t_PERIPH_UART0_MODULE: periph_module_t = 1; -pub const periph_module_t_PERIPH_UART1_MODULE: periph_module_t = 2; -pub const periph_module_t_PERIPH_UART2_MODULE: periph_module_t = 3; -pub const periph_module_t_PERIPH_I2C0_MODULE: periph_module_t = 4; -pub const periph_module_t_PERIPH_I2C1_MODULE: periph_module_t = 5; -pub const periph_module_t_PERIPH_I2S0_MODULE: periph_module_t = 6; -pub const periph_module_t_PERIPH_I2S1_MODULE: periph_module_t = 7; -pub const periph_module_t_PERIPH_TIMG0_MODULE: periph_module_t = 8; -pub const periph_module_t_PERIPH_TIMG1_MODULE: periph_module_t = 9; -pub const periph_module_t_PERIPH_PWM0_MODULE: periph_module_t = 10; -pub const periph_module_t_PERIPH_PWM1_MODULE: periph_module_t = 11; -pub const periph_module_t_PERIPH_PWM2_MODULE: periph_module_t = 12; -pub const periph_module_t_PERIPH_PWM3_MODULE: periph_module_t = 13; -pub const periph_module_t_PERIPH_UHCI0_MODULE: periph_module_t = 14; -pub const periph_module_t_PERIPH_UHCI1_MODULE: periph_module_t = 15; -pub const periph_module_t_PERIPH_RMT_MODULE: periph_module_t = 16; -pub const periph_module_t_PERIPH_PCNT_MODULE: periph_module_t = 17; -pub const periph_module_t_PERIPH_SPI_MODULE: periph_module_t = 18; -pub const periph_module_t_PERIPH_HSPI_MODULE: periph_module_t = 19; -pub const periph_module_t_PERIPH_VSPI_MODULE: periph_module_t = 20; -pub const periph_module_t_PERIPH_SPI_DMA_MODULE: periph_module_t = 21; -pub const periph_module_t_PERIPH_SDMMC_MODULE: periph_module_t = 22; -pub const periph_module_t_PERIPH_SDIO_SLAVE_MODULE: periph_module_t = 23; -pub const periph_module_t_PERIPH_CAN_MODULE: periph_module_t = 24; -pub const periph_module_t_PERIPH_EMAC_MODULE: periph_module_t = 25; -pub const periph_module_t_PERIPH_RNG_MODULE: periph_module_t = 26; -pub const periph_module_t_PERIPH_WIFI_MODULE: periph_module_t = 27; -pub const periph_module_t_PERIPH_BT_MODULE: periph_module_t = 28; -pub const periph_module_t_PERIPH_WIFI_BT_COMMON_MODULE: periph_module_t = 29; -pub const periph_module_t_PERIPH_BT_BASEBAND_MODULE: periph_module_t = 30; -pub const periph_module_t_PERIPH_BT_LC_MODULE: periph_module_t = 31; -pub const periph_module_t_PERIPH_AES_MODULE: periph_module_t = 32; -pub const periph_module_t_PERIPH_SHA_MODULE: periph_module_t = 33; -pub const periph_module_t_PERIPH_RSA_MODULE: periph_module_t = 34; -pub type periph_module_t = u32; extern "C" { - #[doc = " @brief enable peripheral module"] - #[doc = ""] - #[doc = " @param[in] periph : Peripheral module name"] - #[doc = ""] - #[doc = " Clock for the module will be ungated, and reset de-asserted."] - #[doc = ""] - #[doc = " @return NULL"] - #[doc = ""] - pub fn periph_module_enable(periph: periph_module_t); + pub static Xthal_num_instrom: ::std::os::raw::c_uchar; } extern "C" { - #[doc = " @brief disable peripheral module"] - #[doc = ""] - #[doc = " @param[in] periph : Peripheral module name"] - #[doc = ""] - #[doc = " Clock for the module will be gated, reset asserted."] - #[doc = ""] - #[doc = " @return NULL"] - #[doc = ""] - pub fn periph_module_disable(periph: periph_module_t); + pub static Xthal_num_instram: ::std::os::raw::c_uchar; } extern "C" { - #[doc = " @brief reset peripheral module"] - #[doc = ""] - #[doc = " @param[in] periph : Peripheral module name"] - #[doc = ""] - #[doc = " Reset will asserted then de-assrted for the peripheral."] - #[doc = ""] - #[doc = " Calling this function does not enable or disable the clock for the module."] - #[doc = ""] - #[doc = " @return NULL"] - #[doc = ""] - pub fn periph_module_reset(periph: periph_module_t); + pub static Xthal_num_datarom: ::std::os::raw::c_uchar; } extern "C" { - #[doc = " This function is defined to provide a deprecation warning whenever"] - #[doc = " XT_CLOCK_FREQ macro is used."] - #[doc = " Update the code to use esp_clk_cpu_freq function instead."] - #[doc = " @return current CPU clock frequency, in Hz"] - pub fn xt_clock_freq() -> ::std::os::raw::c_int; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct XtExcFrame { - pub exit: ::std::os::raw::c_long, - pub pc: ::std::os::raw::c_long, - pub ps: ::std::os::raw::c_long, - pub a0: ::std::os::raw::c_long, - pub a1: ::std::os::raw::c_long, - pub a2: ::std::os::raw::c_long, - pub a3: ::std::os::raw::c_long, - pub a4: ::std::os::raw::c_long, - pub a5: ::std::os::raw::c_long, - pub a6: ::std::os::raw::c_long, - pub a7: ::std::os::raw::c_long, - pub a8: ::std::os::raw::c_long, - pub a9: ::std::os::raw::c_long, - pub a10: ::std::os::raw::c_long, - pub a11: ::std::os::raw::c_long, - pub a12: ::std::os::raw::c_long, - pub a13: ::std::os::raw::c_long, - pub a14: ::std::os::raw::c_long, - pub a15: ::std::os::raw::c_long, - pub sar: ::std::os::raw::c_long, - pub exccause: ::std::os::raw::c_long, - pub excvaddr: ::std::os::raw::c_long, - pub lbeg: ::std::os::raw::c_long, - pub lend: ::std::os::raw::c_long, - pub lcount: ::std::os::raw::c_long, - pub tmp0: ::std::os::raw::c_long, - pub tmp1: ::std::os::raw::c_long, - pub tmp2: ::std::os::raw::c_long, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct XtSolFrame { - pub exit: ::std::os::raw::c_long, - pub pc: ::std::os::raw::c_long, - pub ps: ::std::os::raw::c_long, - pub next: ::std::os::raw::c_long, - pub a0: ::std::os::raw::c_long, - pub a1: ::std::os::raw::c_long, - pub a2: ::std::os::raw::c_long, - pub a3: ::std::os::raw::c_long, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct div_t { - pub quot: ::std::os::raw::c_int, - pub rem: ::std::os::raw::c_int, + pub static Xthal_num_dataram: ::std::os::raw::c_uchar; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ldiv_t { - pub quot: ::std::os::raw::c_long, - pub rem: ::std::os::raw::c_long, +extern "C" { + pub static Xthal_num_xlmi: ::std::os::raw::c_uchar; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct lldiv_t { - pub quot: ::std::os::raw::c_longlong, - pub rem: ::std::os::raw::c_longlong, +extern "C" { + pub static mut Xthal_instrom_vaddr: [::std::os::raw::c_uint; 0usize]; } -pub type __compar_fn_t = ::core::option::Option< - unsafe extern "C" fn( - arg1: *const ::std::os::raw::c_void, - arg2: *const ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int, ->; extern "C" { - pub fn __locale_mb_cur_max() -> ::std::os::raw::c_int; + pub static mut Xthal_instrom_paddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn abort(); + pub static mut Xthal_instrom_size: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub static mut Xthal_instram_vaddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn atexit(__func: ::core::option::Option) -> ::std::os::raw::c_int; + pub static mut Xthal_instram_paddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64; + pub static mut Xthal_instram_size: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn atoff(__nptr: *const ::std::os::raw::c_char) -> f32; + pub static mut Xthal_datarom_vaddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub static mut Xthal_datarom_paddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn _atoi_r( - arg1: *mut _reent, - __nptr: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub static mut Xthal_datarom_size: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; + pub static mut Xthal_dataram_vaddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn _atol_r( - arg1: *mut _reent, - __nptr: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_long; + pub static mut Xthal_dataram_paddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn bsearch( - __key: *const ::std::os::raw::c_void, - __base: *const ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - _compar: __compar_fn_t, - ) -> *mut ::std::os::raw::c_void; + pub static mut Xthal_dataram_size: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn calloc( - __nmemb: ::std::os::raw::c_uint, - __size: ::std::os::raw::c_uint, - ) -> *mut ::std::os::raw::c_void; + pub static mut Xthal_xlmi_vaddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t; + pub static mut Xthal_xlmi_paddr: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn exit(__status: ::std::os::raw::c_int); + pub static mut Xthal_xlmi_size: [::std::os::raw::c_uint; 0usize]; } extern "C" { - pub fn free(arg1: *mut ::std::os::raw::c_void); + pub static Xthal_icache_setwidth: ::std::os::raw::c_uchar; } extern "C" { - pub fn getenv(__string: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub static Xthal_dcache_setwidth: ::std::os::raw::c_uchar; } extern "C" { - pub fn _getenv_r( - arg1: *mut _reent, - __string: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_icache_ways: ::std::os::raw::c_uint; } extern "C" { - pub fn _findenv( - arg1: *const ::std::os::raw::c_char, - arg2: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_dcache_ways: ::std::os::raw::c_uint; } extern "C" { - pub fn _findenv_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_icache_line_lockable: ::std::os::raw::c_uchar; } extern "C" { - #[link_name = "\u{1}suboptarg"] - pub static mut suboptarg: *mut ::std::os::raw::c_char; + pub static Xthal_dcache_line_lockable: ::std::os::raw::c_uchar; } extern "C" { - pub fn getsubopt( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *const *mut ::std::os::raw::c_char, - arg3: *mut *mut ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn xthal_get_cacheattr() -> ::std::os::raw::c_uint; } extern "C" { - pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long; + pub fn xthal_get_icacheattr() -> ::std::os::raw::c_uint; } extern "C" { - pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t; + pub fn xthal_get_dcacheattr() -> ::std::os::raw::c_uint; } extern "C" { - pub fn malloc(__size: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void; + pub fn xthal_set_cacheattr(arg1: ::std::os::raw::c_uint); } extern "C" { - pub fn mblen(arg1: *const ::std::os::raw::c_char, arg2: usize) -> ::std::os::raw::c_int; + pub fn xthal_set_icacheattr(arg1: ::std::os::raw::c_uint); } extern "C" { - pub fn _mblen_r( - arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - arg3: usize, - arg4: *mut _mbstate_t, - ) -> ::std::os::raw::c_int; + pub fn xthal_set_dcacheattr(arg1: ::std::os::raw::c_uint); } extern "C" { - pub fn mbtowc( - arg1: *mut wchar_t, - arg2: *const ::std::os::raw::c_char, - arg3: usize, + pub fn xthal_set_region_attribute( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + cattr: ::std::os::raw::c_uint, + flags: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _mbtowc_r( - arg1: *mut _reent, - arg2: *mut wchar_t, - arg3: *const ::std::os::raw::c_char, - arg4: usize, - arg5: *mut _mbstate_t, - ) -> ::std::os::raw::c_int; + pub fn xthal_icache_enable(); } extern "C" { - pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int; + pub fn xthal_dcache_enable(); } extern "C" { - pub fn _wctomb_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: wchar_t, - arg4: *mut _mbstate_t, - ) -> ::std::os::raw::c_int; + pub fn xthal_icache_disable(); } extern "C" { - pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, arg3: usize) -> usize; + pub fn xthal_dcache_disable(); } extern "C" { - pub fn _mbstowcs_r( - arg1: *mut _reent, - arg2: *mut wchar_t, - arg3: *const ::std::os::raw::c_char, - arg4: usize, - arg5: *mut _mbstate_t, - ) -> usize; + pub fn xthal_icache_all_invalidate(); } extern "C" { - pub fn wcstombs(arg1: *mut ::std::os::raw::c_char, arg2: *const wchar_t, arg3: usize) -> usize; + pub fn xthal_dcache_all_invalidate(); } extern "C" { - pub fn _wcstombs_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: *const wchar_t, - arg4: usize, - arg5: *mut _mbstate_t, - ) -> usize; + pub fn xthal_dcache_all_writeback(); } extern "C" { - pub fn mkdtemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn xthal_dcache_all_writeback_inv(); } extern "C" { - pub fn mkostemp( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_icache_region_lock( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - pub fn mkostemps( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_dcache_region_lock( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn xthal_icache_line_lock(addr: *mut ::std::os::raw::c_void); } extern "C" { - pub fn mkstemps( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_dcache_line_lock(addr: *mut ::std::os::raw::c_void); } extern "C" { - pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn xthal_icache_all_unlock(); } extern "C" { - pub fn _mkdtemp_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn xthal_dcache_all_unlock(); } extern "C" { - pub fn _mkostemp_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_icache_region_unlock( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - pub fn _mkostemps_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_dcache_region_unlock( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + ); } extern "C" { - pub fn _mkstemp_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn xthal_icache_line_unlock(addr: *mut ::std::os::raw::c_void); } extern "C" { - pub fn _mkstemps_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn xthal_dcache_line_unlock(addr: *mut ::std::os::raw::c_void); } extern "C" { - pub fn _mktemp_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn xthal_memep_inject_error( + addr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + ); } extern "C" { - pub fn qsort( - __base: *mut ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - _compar: __compar_fn_t, - ); + pub static Xthal_have_spanning_way: ::std::os::raw::c_uchar; } extern "C" { - pub fn rand() -> ::std::os::raw::c_int; + pub static Xthal_have_identity_map: ::std::os::raw::c_uchar; } extern "C" { - pub fn realloc( - __r: *mut ::std::os::raw::c_void, - __size: ::std::os::raw::c_uint, - ) -> *mut ::std::os::raw::c_void; + pub static Xthal_have_mimic_cacheattr: ::std::os::raw::c_uchar; } extern "C" { - pub fn reallocf(__r: *mut ::std::os::raw::c_void, __size: usize) - -> *mut ::std::os::raw::c_void; + pub static Xthal_have_xlt_cacheattr: ::std::os::raw::c_uchar; } extern "C" { - pub fn realpath( - path: *const ::std::os::raw::c_char, - resolved_path: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_have_cacheattr: ::std::os::raw::c_uchar; } extern "C" { - pub fn srand(__seed: ::std::os::raw::c_uint); + pub static Xthal_have_tlbs: ::std::os::raw::c_uchar; } extern "C" { - pub fn strtod( - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - ) -> f64; + pub static Xthal_mmu_asid_bits: ::std::os::raw::c_uchar; } extern "C" { - pub fn _strtod_r( - arg1: *mut _reent, - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - ) -> f64; + pub static Xthal_mmu_asid_kernel: ::std::os::raw::c_uchar; } extern "C" { - pub fn strtof( - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - ) -> f32; + pub static Xthal_mmu_rings: ::std::os::raw::c_uchar; } extern "C" { - pub fn strtol( - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_long; + pub static Xthal_mmu_ring_bits: ::std::os::raw::c_uchar; } extern "C" { - pub fn _strtol_r( - arg1: *mut _reent, - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_long; + pub static Xthal_mmu_sr_bits: ::std::os::raw::c_uchar; } extern "C" { - pub fn strtoul( - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulong; + pub static Xthal_mmu_ca_bits: ::std::os::raw::c_uchar; } extern "C" { - pub fn _strtoul_r( - arg1: *mut _reent, - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulong; + pub static Xthal_mmu_max_pte_page_size: ::std::os::raw::c_uint; } extern "C" { - pub fn system(__string: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub static Xthal_mmu_min_pte_page_size: ::std::os::raw::c_uint; } extern "C" { - pub fn a64l(__input: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; + pub static Xthal_itlb_way_bits: ::std::os::raw::c_uchar; } extern "C" { - pub fn l64a(__input: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; + pub static Xthal_itlb_ways: ::std::os::raw::c_uchar; } extern "C" { - pub fn _l64a_r( - arg1: *mut _reent, - __input: ::std::os::raw::c_long, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_itlb_arf_ways: ::std::os::raw::c_uchar; } extern "C" { - pub fn on_exit( - __func: ::core::option::Option< - unsafe extern "C" fn(__func: ::std::os::raw::c_int, __arg: *mut ::std::os::raw::c_void), - >, - __arg: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int; + pub static Xthal_dtlb_way_bits: ::std::os::raw::c_uchar; } extern "C" { - pub fn _Exit(__status: ::std::os::raw::c_int); + pub static Xthal_dtlb_ways: ::std::os::raw::c_uchar; } extern "C" { - pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub static Xthal_dtlb_arf_ways: ::std::os::raw::c_uchar; } extern "C" { - pub fn _putenv_r( - arg1: *mut _reent, - __string: *mut ::std::os::raw::c_char, + #[doc = " WARNING: these two functions may go away in a future release; don't depend on them!"] + pub fn xthal_static_v2p( + vaddr: ::std::os::raw::c_uint, + paddrp: *mut ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _reallocf_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - arg3: usize, - ) -> *mut ::std::os::raw::c_void; + pub fn xthal_static_p2v( + paddr: ::std::os::raw::c_uint, + vaddrp: *mut ::std::os::raw::c_uint, + cached: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn setenv( - __string: *const ::std::os::raw::c_char, - __value: *const ::std::os::raw::c_char, - __overwrite: ::std::os::raw::c_int, + pub fn xthal_set_region_translation( + vaddr: *mut ::std::os::raw::c_void, + paddr: *mut ::std::os::raw::c_void, + size: ::std::os::raw::c_uint, + cache_atr: ::std::os::raw::c_uint, + flags: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _setenv_r( - arg1: *mut _reent, - __string: *const ::std::os::raw::c_char, - __value: *const ::std::os::raw::c_char, - __overwrite: ::std::os::raw::c_int, + pub fn xthal_v2p( + arg1: *mut ::std::os::raw::c_void, + arg2: *mut *mut ::std::os::raw::c_void, + arg3: *mut ::std::os::raw::c_uint, + arg4: *mut ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn gcvt( - arg1: f64, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn xthal_invalidate_region(addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; } extern "C" { - pub fn gcvtf( - arg1: f32, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn xthal_set_region_translation_raw( + vaddr: *mut ::std::os::raw::c_void, + paddr: *mut ::std::os::raw::c_void, + cattr: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn fcvt( - arg1: f64, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_int, - arg4: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_id_FPU: ::std::os::raw::c_uchar; } extern "C" { - pub fn fcvtf( - arg1: f32, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_int, - arg4: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_mask_FPU: ::std::os::raw::c_uint; } extern "C" { - pub fn ecvt( - arg1: f64, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_int, - arg4: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_id_XCHAL_CP1_IDENT: ::std::os::raw::c_uchar; } extern "C" { - pub fn ecvtbuf( - arg1: f64, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_int, - arg4: *mut ::std::os::raw::c_int, - arg5: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_mask_XCHAL_CP1_IDENT: ::std::os::raw::c_uint; } extern "C" { - pub fn fcvtbuf( - arg1: f64, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_int, - arg4: *mut ::std::os::raw::c_int, - arg5: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_id_XCHAL_CP2_IDENT: ::std::os::raw::c_uchar; } extern "C" { - pub fn ecvtf( - arg1: f32, - arg2: ::std::os::raw::c_int, - arg3: *mut ::std::os::raw::c_int, - arg4: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_mask_XCHAL_CP2_IDENT: ::std::os::raw::c_uint; } extern "C" { - pub fn dtoa( - arg1: f64, - arg2: ::std::os::raw::c_int, - arg3: ::std::os::raw::c_int, - arg4: *mut ::std::os::raw::c_int, - arg5: *mut ::std::os::raw::c_int, - arg6: *mut *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_id_XCHAL_CP3_IDENT: ::std::os::raw::c_uchar; } extern "C" { - pub fn __itoa( - arg1: ::std::os::raw::c_int, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_mask_XCHAL_CP3_IDENT: ::std::os::raw::c_uint; } extern "C" { - pub fn __utoa( - arg1: ::std::os::raw::c_uint, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_id_XCHAL_CP4_IDENT: ::std::os::raw::c_uchar; } extern "C" { - pub fn itoa( - arg1: ::std::os::raw::c_int, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_mask_XCHAL_CP4_IDENT: ::std::os::raw::c_uint; } extern "C" { - pub fn utoa( - arg1: ::std::os::raw::c_uint, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub static Xthal_cp_id_XCHAL_CP5_IDENT: ::std::os::raw::c_uchar; } extern "C" { - pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; + pub static Xthal_cp_mask_XCHAL_CP5_IDENT: ::std::os::raw::c_uint; } extern "C" { - pub fn drand48() -> f64; + pub static Xthal_cp_id_XCHAL_CP6_IDENT: ::std::os::raw::c_uchar; } extern "C" { - pub fn _drand48_r(arg1: *mut _reent) -> f64; + pub static Xthal_cp_mask_XCHAL_CP6_IDENT: ::std::os::raw::c_uint; } extern "C" { - pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64; + pub static Xthal_cp_id_XCHAL_CP7_IDENT: ::std::os::raw::c_uchar; } extern "C" { - pub fn _erand48_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_ushort) -> f64; + pub static Xthal_cp_mask_XCHAL_CP7_IDENT: ::std::os::raw::c_uint; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct KernelFrame { + pub pc: ::std::os::raw::c_long, + pub ps: ::std::os::raw::c_long, + pub areg: [::std::os::raw::c_long; 4usize], + pub sar: ::std::os::raw::c_long, + pub lcount: ::std::os::raw::c_long, + pub lbeg: ::std::os::raw::c_long, + pub lend: ::std::os::raw::c_long, + pub acclo: ::std::os::raw::c_long, + pub acchi: ::std::os::raw::c_long, + pub mr: [::std::os::raw::c_long; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UserFrame { + pub pc: ::std::os::raw::c_long, + pub ps: ::std::os::raw::c_long, + pub sar: ::std::os::raw::c_long, + pub vpri: ::std::os::raw::c_long, + pub a2: ::std::os::raw::c_long, + pub a3: ::std::os::raw::c_long, + pub a4: ::std::os::raw::c_long, + pub a5: ::std::os::raw::c_long, + pub exccause: ::std::os::raw::c_long, + pub lcount: ::std::os::raw::c_long, + pub lbeg: ::std::os::raw::c_long, + pub lend: ::std::os::raw::c_long, + pub acclo: ::std::os::raw::c_long, + pub acchi: ::std::os::raw::c_long, + pub mr: [::std::os::raw::c_long; 4usize], + pub pad: [::std::os::raw::c_long; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XtExcFrame { + pub exit: ::std::os::raw::c_long, + pub pc: ::std::os::raw::c_long, + pub ps: ::std::os::raw::c_long, + pub a0: ::std::os::raw::c_long, + pub a1: ::std::os::raw::c_long, + pub a2: ::std::os::raw::c_long, + pub a3: ::std::os::raw::c_long, + pub a4: ::std::os::raw::c_long, + pub a5: ::std::os::raw::c_long, + pub a6: ::std::os::raw::c_long, + pub a7: ::std::os::raw::c_long, + pub a8: ::std::os::raw::c_long, + pub a9: ::std::os::raw::c_long, + pub a10: ::std::os::raw::c_long, + pub a11: ::std::os::raw::c_long, + pub a12: ::std::os::raw::c_long, + pub a13: ::std::os::raw::c_long, + pub a14: ::std::os::raw::c_long, + pub a15: ::std::os::raw::c_long, + pub sar: ::std::os::raw::c_long, + pub exccause: ::std::os::raw::c_long, + pub excvaddr: ::std::os::raw::c_long, + pub lbeg: ::std::os::raw::c_long, + pub lend: ::std::os::raw::c_long, + pub lcount: ::std::os::raw::c_long, + pub tmp0: ::std::os::raw::c_long, + pub tmp1: ::std::os::raw::c_long, + pub tmp2: ::std::os::raw::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XtSolFrame { + pub exit: ::std::os::raw::c_long, + pub pc: ::std::os::raw::c_long, + pub ps: ::std::os::raw::c_long, + pub next: ::std::os::raw::c_long, + pub a0: ::std::os::raw::c_long, + pub a1: ::std::os::raw::c_long, + pub a2: ::std::os::raw::c_long, + pub a3: ::std::os::raw::c_long, } +pub type xt_handler = + ::core::option::Option; +pub type xt_exc_handler = ::core::option::Option; extern "C" { - pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; + pub fn xt_set_exception_handler(n: ::std::os::raw::c_int, f: xt_exc_handler) -> xt_exc_handler; } extern "C" { - pub fn _jrand48_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_ushort, - ) -> ::std::os::raw::c_long; + pub fn xt_set_interrupt_handler( + n: ::std::os::raw::c_int, + f: xt_handler, + arg: *mut ::std::os::raw::c_void, + ) -> xt_handler; } extern "C" { - pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort); + pub fn xt_ints_on(mask: ::std::os::raw::c_uint); } extern "C" { - pub fn _lcong48_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_ushort); + pub fn xt_ints_off(mask: ::std::os::raw::c_uint); } extern "C" { - pub fn lrand48() -> ::std::os::raw::c_long; + pub fn xt_get_interrupt_handler_arg(n: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void; +} +pub type intr_handler_t = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct intr_handle_data_t { + _unused: [u8; 0], } +pub type intr_handle_t = *mut intr_handle_data_t; extern "C" { - pub fn _lrand48_r(arg1: *mut _reent) -> ::std::os::raw::c_long; + #[doc = " @brief Mark an interrupt as a shared interrupt"] + #[doc = ""] + #[doc = " This will mark a certain interrupt on the specified CPU as"] + #[doc = " an interrupt that can be used to hook shared interrupt handlers"] + #[doc = " to."] + #[doc = ""] + #[doc = " @param intno The number of the interrupt (0-31)"] + #[doc = " @param cpu CPU on which the interrupt should be marked as shared (0 or 1)"] + #[doc = " @param is_in_iram Shared interrupt is for handlers that reside in IRAM and"] + #[doc = " the int can be left enabled while the flash cache is disabled."] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG if cpu or intno is invalid"] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_mark_shared( + intno: ::std::os::raw::c_int, + cpu: ::std::os::raw::c_int, + is_in_iram: bool, + ) -> esp_err_t; } extern "C" { - pub fn mrand48() -> ::std::os::raw::c_long; + #[doc = " @brief Reserve an interrupt to be used outside of this framework"] + #[doc = ""] + #[doc = " This will mark a certain interrupt on the specified CPU as"] + #[doc = " reserved, not to be allocated for any reason."] + #[doc = ""] + #[doc = " @param intno The number of the interrupt (0-31)"] + #[doc = " @param cpu CPU on which the interrupt should be marked as shared (0 or 1)"] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG if cpu or intno is invalid"] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_reserve(intno: ::std::os::raw::c_int, cpu: ::std::os::raw::c_int) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Allocate an interrupt with the given parameters."] + #[doc = ""] + #[doc = " This finds an interrupt that matches the restrictions as given in the flags"] + #[doc = " parameter, maps the given interrupt source to it and hooks up the given"] + #[doc = " interrupt handler (with optional argument) as well. If needed, it can return"] + #[doc = " a handle for the interrupt as well."] + #[doc = ""] + #[doc = " The interrupt will always be allocated on the core that runs this function."] + #[doc = ""] + #[doc = " If ESP_INTR_FLAG_IRAM flag is used, and handler address is not in IRAM or"] + #[doc = " RTC_FAST_MEM, then ESP_ERR_INVALID_ARG is returned."] + #[doc = ""] + #[doc = " @param source The interrupt source. One of the ETS_*_INTR_SOURCE interrupt mux"] + #[doc = " sources, as defined in soc/soc.h, or one of the internal"] + #[doc = " ETS_INTERNAL_*_INTR_SOURCE sources as defined in this header."] + #[doc = " @param flags An ORred mask of the ESP_INTR_FLAG_* defines. These restrict the"] + #[doc = " choice of interrupts that this routine can choose from. If this value"] + #[doc = " is 0, it will default to allocating a non-shared interrupt of level"] + #[doc = " 1, 2 or 3. If this is ESP_INTR_FLAG_SHARED, it will allocate a shared"] + #[doc = " interrupt of level 1. Setting ESP_INTR_FLAG_INTRDISABLED will return"] + #[doc = " from this function with the interrupt disabled."] + #[doc = " @param handler The interrupt handler. Must be NULL when an interrupt of level >3"] + #[doc = " is requested, because these types of interrupts aren't C-callable."] + #[doc = " @param arg Optional argument for passed to the interrupt handler"] + #[doc = " @param ret_handle Pointer to an intr_handle_t to store a handle that can later be"] + #[doc = " used to request details or free the interrupt. Can be NULL if no handle"] + #[doc = " is required."] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] + #[doc = " ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_alloc( + source: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + handler: intr_handler_t, + arg: *mut ::std::os::raw::c_void, + ret_handle: *mut intr_handle_t, + ) -> esp_err_t; } extern "C" { - pub fn _mrand48_r(arg1: *mut _reent) -> ::std::os::raw::c_long; + #[doc = " @brief Allocate an interrupt with the given parameters."] + #[doc = ""] + #[doc = ""] + #[doc = " This essentially does the same as esp_intr_alloc, but allows specifying a register and mask"] + #[doc = " combo. For shared interrupts, the handler is only called if a read from the specified"] + #[doc = " register, ANDed with the mask, returns non-zero. By passing an interrupt status register"] + #[doc = " address and a fitting mask, this can be used to accelerate interrupt handling in the case"] + #[doc = " a shared interrupt is triggered; by checking the interrupt statuses first, the code can"] + #[doc = " decide which ISRs can be skipped"] + #[doc = ""] + #[doc = " @param source The interrupt source. One of the ETS_*_INTR_SOURCE interrupt mux"] + #[doc = " sources, as defined in soc/soc.h, or one of the internal"] + #[doc = " ETS_INTERNAL_*_INTR_SOURCE sources as defined in this header."] + #[doc = " @param flags An ORred mask of the ESP_INTR_FLAG_* defines. These restrict the"] + #[doc = " choice of interrupts that this routine can choose from. If this value"] + #[doc = " is 0, it will default to allocating a non-shared interrupt of level"] + #[doc = " 1, 2 or 3. If this is ESP_INTR_FLAG_SHARED, it will allocate a shared"] + #[doc = " interrupt of level 1. Setting ESP_INTR_FLAG_INTRDISABLED will return"] + #[doc = " from this function with the interrupt disabled."] + #[doc = " @param intrstatusreg The address of an interrupt status register"] + #[doc = " @param intrstatusmask A mask. If a read of address intrstatusreg has any of the bits"] + #[doc = " that are 1 in the mask set, the ISR will be called. If not, it will be"] + #[doc = " skipped."] + #[doc = " @param handler The interrupt handler. Must be NULL when an interrupt of level >3"] + #[doc = " is requested, because these types of interrupts aren't C-callable."] + #[doc = " @param arg Optional argument for passed to the interrupt handler"] + #[doc = " @param ret_handle Pointer to an intr_handle_t to store a handle that can later be"] + #[doc = " used to request details or free the interrupt. Can be NULL if no handle"] + #[doc = " is required."] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] + #[doc = " ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_alloc_intrstatus( + source: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + intrstatusreg: u32, + intrstatusmask: u32, + handler: intr_handler_t, + arg: *mut ::std::os::raw::c_void, + ret_handle: *mut intr_handle_t, + ) -> esp_err_t; } extern "C" { - pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; + #[doc = " @brief Disable and free an interrupt."] + #[doc = ""] + #[doc = " Use an interrupt handle to disable the interrupt and release the resources associated with it."] + #[doc = " If the current core is not the core that registered this interrupt, this routine will be assigned to"] + #[doc = " the core that allocated this interrupt, blocking and waiting until the resource is successfully released."] + #[doc = ""] + #[doc = " @note"] + #[doc = " When the handler shares its source with other handlers, the interrupt status"] + #[doc = " bits it's responsible for should be managed properly before freeing it. see"] + #[doc = " ``esp_intr_disable`` for more details. Please do not call this function in ``esp_ipc_call_blocking``."] + #[doc = ""] + #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG the handle is NULL"] + #[doc = " ESP_FAIL failed to release this handle"] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_free(handle: intr_handle_t) -> esp_err_t; } extern "C" { - pub fn _nrand48_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_ushort, - ) -> ::std::os::raw::c_long; + #[doc = " @brief Get CPU number an interrupt is tied to"] + #[doc = ""] + #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] + #[doc = ""] + #[doc = " @return The core number where the interrupt is allocated"] + pub fn esp_intr_get_cpu(handle: intr_handle_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; + #[doc = " @brief Get the allocated interrupt for a certain handle"] + #[doc = ""] + #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] + #[doc = ""] + #[doc = " @return The interrupt number"] + pub fn esp_intr_get_intno(handle: intr_handle_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn _seed48_r( - arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_ushort, - ) -> *mut ::std::os::raw::c_ushort; + #[doc = " @brief Disable the interrupt associated with the handle"] + #[doc = ""] + #[doc = " @note"] + #[doc = " 1. For local interrupts (ESP_INTERNAL_* sources), this function has to be called on the"] + #[doc = " CPU the interrupt is allocated on. Other interrupts have no such restriction."] + #[doc = " 2. When several handlers sharing a same interrupt source, interrupt status bits, which are"] + #[doc = " handled in the handler to be disabled, should be masked before the disabling, or handled"] + #[doc = " in other enabled interrupts properly. Miss of interrupt status handling will cause infinite"] + #[doc = " interrupt calls and finally system crash."] + #[doc = ""] + #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_disable(handle: intr_handle_t) -> esp_err_t; } extern "C" { - pub fn srand48(arg1: ::std::os::raw::c_long); + #[doc = " @brief Enable the interrupt associated with the handle"] + #[doc = ""] + #[doc = " @note For local interrupts (ESP_INTERNAL_* sources), this function has to be called on the"] + #[doc = " CPU the interrupt is allocated on. Other interrupts have no such restriction."] + #[doc = ""] + #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_enable(handle: intr_handle_t) -> esp_err_t; } extern "C" { - pub fn _srand48_r(arg1: *mut _reent, arg2: ::std::os::raw::c_long); + #[doc = " @brief Set the \"in IRAM\" status of the handler."] + #[doc = ""] + #[doc = " @note Does not work on shared interrupts."] + #[doc = ""] + #[doc = " @param handle The handle, as obtained by esp_intr_alloc or esp_intr_alloc_intrstatus"] + #[doc = " @param is_in_iram Whether the handler associated with this handle resides in IRAM."] + #[doc = " Handlers residing in IRAM can be called when cache is disabled."] + #[doc = ""] + #[doc = " @return ESP_ERR_INVALID_ARG if the combination of arguments is invalid."] + #[doc = " ESP_OK otherwise"] + pub fn esp_intr_set_in_iram(handle: intr_handle_t, is_in_iram: bool) -> esp_err_t; } extern "C" { - pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; + #[doc = " @brief Disable interrupts that aren't specifically marked as running from IRAM"] + pub fn esp_intr_noniram_disable(); } extern "C" { - pub fn _atoll_r( - arg1: *mut _reent, - __nptr: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_longlong; + #[doc = " @brief Re-enable interrupts disabled by esp_intr_noniram_disable"] + pub fn esp_intr_noniram_enable(); } +pub const periph_module_t_PERIPH_LEDC_MODULE: periph_module_t = 0; +pub const periph_module_t_PERIPH_UART0_MODULE: periph_module_t = 1; +pub const periph_module_t_PERIPH_UART1_MODULE: periph_module_t = 2; +pub const periph_module_t_PERIPH_UART2_MODULE: periph_module_t = 3; +pub const periph_module_t_PERIPH_I2C0_MODULE: periph_module_t = 4; +pub const periph_module_t_PERIPH_I2C1_MODULE: periph_module_t = 5; +pub const periph_module_t_PERIPH_I2S0_MODULE: periph_module_t = 6; +pub const periph_module_t_PERIPH_I2S1_MODULE: periph_module_t = 7; +pub const periph_module_t_PERIPH_TIMG0_MODULE: periph_module_t = 8; +pub const periph_module_t_PERIPH_TIMG1_MODULE: periph_module_t = 9; +pub const periph_module_t_PERIPH_PWM0_MODULE: periph_module_t = 10; +pub const periph_module_t_PERIPH_PWM1_MODULE: periph_module_t = 11; +pub const periph_module_t_PERIPH_PWM2_MODULE: periph_module_t = 12; +pub const periph_module_t_PERIPH_PWM3_MODULE: periph_module_t = 13; +pub const periph_module_t_PERIPH_UHCI0_MODULE: periph_module_t = 14; +pub const periph_module_t_PERIPH_UHCI1_MODULE: periph_module_t = 15; +pub const periph_module_t_PERIPH_RMT_MODULE: periph_module_t = 16; +pub const periph_module_t_PERIPH_PCNT_MODULE: periph_module_t = 17; +pub const periph_module_t_PERIPH_SPI_MODULE: periph_module_t = 18; +pub const periph_module_t_PERIPH_HSPI_MODULE: periph_module_t = 19; +pub const periph_module_t_PERIPH_VSPI_MODULE: periph_module_t = 20; +pub const periph_module_t_PERIPH_SPI_DMA_MODULE: periph_module_t = 21; +pub const periph_module_t_PERIPH_SDMMC_MODULE: periph_module_t = 22; +pub const periph_module_t_PERIPH_SDIO_SLAVE_MODULE: periph_module_t = 23; +pub const periph_module_t_PERIPH_CAN_MODULE: periph_module_t = 24; +pub const periph_module_t_PERIPH_EMAC_MODULE: periph_module_t = 25; +pub const periph_module_t_PERIPH_RNG_MODULE: periph_module_t = 26; +pub const periph_module_t_PERIPH_WIFI_MODULE: periph_module_t = 27; +pub const periph_module_t_PERIPH_BT_MODULE: periph_module_t = 28; +pub const periph_module_t_PERIPH_WIFI_BT_COMMON_MODULE: periph_module_t = 29; +pub const periph_module_t_PERIPH_BT_BASEBAND_MODULE: periph_module_t = 30; +pub const periph_module_t_PERIPH_BT_LC_MODULE: periph_module_t = 31; +pub const periph_module_t_PERIPH_AES_MODULE: periph_module_t = 32; +pub const periph_module_t_PERIPH_SHA_MODULE: periph_module_t = 33; +pub const periph_module_t_PERIPH_RSA_MODULE: periph_module_t = 34; +pub type periph_module_t = u32; extern "C" { - pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; + #[doc = " @brief enable peripheral module"] + #[doc = ""] + #[doc = " @param[in] periph : Peripheral module name"] + #[doc = ""] + #[doc = " Clock for the module will be ungated, and reset de-asserted."] + #[doc = ""] + #[doc = " @return NULL"] + #[doc = ""] + pub fn periph_module_enable(periph: periph_module_t); } extern "C" { - pub fn lldiv( - __numer: ::std::os::raw::c_longlong, - __denom: ::std::os::raw::c_longlong, - ) -> lldiv_t; + #[doc = " @brief disable peripheral module"] + #[doc = ""] + #[doc = " @param[in] periph : Peripheral module name"] + #[doc = ""] + #[doc = " Clock for the module will be gated, reset asserted."] + #[doc = ""] + #[doc = " @return NULL"] + #[doc = ""] + pub fn periph_module_disable(periph: periph_module_t); } extern "C" { - pub fn strtoll( - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_longlong; + #[doc = " @brief reset peripheral module"] + #[doc = ""] + #[doc = " @param[in] periph : Peripheral module name"] + #[doc = ""] + #[doc = " Reset will asserted then de-assrted for the peripheral."] + #[doc = ""] + #[doc = " Calling this function does not enable or disable the clock for the module."] + #[doc = ""] + #[doc = " @return NULL"] + #[doc = ""] + pub fn periph_module_reset(periph: periph_module_t); } extern "C" { - pub fn _strtoll_r( - arg1: *mut _reent, - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_longlong; + #[doc = " This function is defined to provide a deprecation warning whenever"] + #[doc = " XT_CLOCK_FREQ macro is used."] + #[doc = " Update the code to use esp_clk_cpu_freq function instead."] + #[doc = " @return current CPU clock frequency, in Hz"] + pub fn xt_clock_freq() -> ::std::os::raw::c_int; } -extern "C" { - pub fn strtoull( - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulonglong; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct div_t { + pub quot: ::std::os::raw::c_int, + pub rem: ::std::os::raw::c_int, } -extern "C" { - pub fn _strtoull_r( - arg1: *mut _reent, - __n: *const ::std::os::raw::c_char, - __end_PTR: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulonglong; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ldiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, } -extern "C" { - pub fn cfree(arg1: *mut ::std::os::raw::c_void); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lldiv_t { + pub quot: ::std::os::raw::c_longlong, + pub rem: ::std::os::raw::c_longlong, } +pub type __compar_fn_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, +>; extern "C" { - pub fn unsetenv(__string: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn __locale_mb_cur_max() -> ::std::os::raw::c_int; } extern "C" { - pub fn _unsetenv_r( - arg1: *mut _reent, - __string: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn abort(); } extern "C" { - pub fn _dtoa_r( - arg1: *mut _reent, - arg2: f64, - arg3: ::std::os::raw::c_int, - arg4: ::std::os::raw::c_int, - arg5: *mut ::std::os::raw::c_int, - arg6: *mut ::std::os::raw::c_int, - arg7: *mut *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn _malloc_r(arg1: *mut _reent, arg2: usize) -> *mut ::std::os::raw::c_void; + pub fn atexit(__func: ::core::option::Option) -> ::std::os::raw::c_int; } extern "C" { - pub fn _calloc_r(arg1: *mut _reent, arg2: usize, arg3: usize) -> *mut ::std::os::raw::c_void; + pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64; } extern "C" { - pub fn _free_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_void); + pub fn atoff(__nptr: *const ::std::os::raw::c_char) -> f32; } extern "C" { - pub fn _realloc_r( + pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atoi_r( arg1: *mut _reent, - arg2: *mut ::std::os::raw::c_void, - arg3: usize, - ) -> *mut ::std::os::raw::c_void; + __nptr: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _mstats_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_char); + pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; } extern "C" { - pub fn _system_r( + pub fn _atol_r( arg1: *mut _reent, - arg2: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + __nptr: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_long; } extern "C" { - pub fn __eprintf( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_uint, - arg4: *const ::std::os::raw::c_char, - ); + pub fn bsearch( + __key: *const ::std::os::raw::c_void, + __base: *const ::std::os::raw::c_void, + __nmemb: usize, + __size: usize, + _compar: __compar_fn_t, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn strtold( - arg1: *const ::std::os::raw::c_char, - arg2: *mut *mut ::std::os::raw::c_char, - ) -> f64; + pub fn calloc( + __nmemb: ::std::os::raw::c_uint, + __size: ::std::os::raw::c_uint, + ) -> *mut ::std::os::raw::c_void; } -#[doc = "< return successful in ets"] -pub const ETS_STATUS_ETS_OK: ETS_STATUS = 0; -#[doc = "< return failed in ets"] -pub const ETS_STATUS_ETS_FAILED: ETS_STATUS = 1; -#[doc = " @addtogroup ets_apis"] -#[doc = " @{"] -pub type ETS_STATUS = u32; -pub type ETSSignal = u32; -pub type ETSParam = u32; -pub type ETSEvent = ETSEventTag; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ETSEventTag { - #[doc = "< Event signal, in same task, different Event with different signal"] - pub sig: ETSSignal, - #[doc = "< Event parameter, sometimes without usage, then will be set as 0"] - pub par: ETSParam, +extern "C" { + pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t; } -pub type ETSTask = ::core::option::Option; -pub type ets_idle_cb_t = - ::core::option::Option; extern "C" { - #[doc = " @brief Start the Espressif Task Scheduler, which is an infinit loop. Please do not add code after it."] - #[doc = ""] - #[doc = " @param none"] - #[doc = ""] - #[doc = " @return none"] - pub fn ets_run(); + pub fn exit(__status: ::std::os::raw::c_int); } extern "C" { - #[doc = " @brief Set the Idle callback, when Tasks are processed, will call the callback before CPU goto sleep."] - #[doc = ""] - #[doc = " @param ets_idle_cb_t func : The callback function."] - #[doc = ""] - #[doc = " @param void *arg : Argument of the callback."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_set_idle_cb(func: ets_idle_cb_t, arg: *mut ::std::os::raw::c_void); + pub fn free(arg1: *mut ::std::os::raw::c_void); } extern "C" { - #[doc = " @brief Init a task with processer, priority, queue to receive Event, queue length."] - #[doc = ""] - #[doc = " @param ETSTask task : The task processer."] - #[doc = ""] - #[doc = " @param uint8_t prio : Task priority, 0-31, bigger num with high priority, one priority with one task."] - #[doc = ""] - #[doc = " @param ETSEvent *queue : Queue belongs to the task, task always receives Events, Queue is circular used."] - #[doc = ""] - #[doc = " @param uint8_t qlen : Queue length."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_task(task: ETSTask, prio: u8, queue: *mut ETSEvent, qlen: u8); + pub fn getenv(__string: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Post an event to an Task."] - #[doc = ""] - #[doc = " @param uint8_t prio : Priority of the Task."] - #[doc = ""] - #[doc = " @param ETSSignal sig : Event signal."] - #[doc = ""] - #[doc = " @param ETSParam par : Event parameter"] - #[doc = ""] - #[doc = " @return ETS_OK : post successful"] - #[doc = " @return ETS_FAILED : post failed"] - pub fn ets_post(prio: u8, sig: ETSSignal, par: ETSParam) -> ETS_STATUS; + pub fn _getenv_r( + arg1: *mut _reent, + __string: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[link_name = "\u{1}exc_cause_table"] - pub static mut exc_cause_table: [*const ::std::os::raw::c_char; 40usize]; + pub fn _findenv( + arg1: *const ::std::os::raw::c_char, + arg2: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Set Pro cpu Entry code, code can be called in PRO CPU when booting is not completed."] - #[doc = " When Pro CPU booting is completed, Pro CPU will call the Entry code if not NULL."] - #[doc = ""] - #[doc = " @param uint32_t start : the PRO Entry code address value in uint32_t"] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_set_user_start(start: u32); + pub fn _findenv_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Set Pro cpu Startup code, code can be called when booting is not completed, or in Entry code."] - #[doc = " When Entry code completed, CPU will call the Startup code if not NULL, else call ets_run."] - #[doc = ""] - #[doc = " @param uint32_t callback : the Startup code address value in uint32_t"] - #[doc = ""] - #[doc = " @return None : post successful"] - pub fn ets_set_startup_callback(callback: u32); + pub static mut suboptarg: *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Set App cpu Entry code, code can be called in PRO CPU."] - #[doc = " When APP booting is completed, APP CPU will call the Entry code if not NULL."] - #[doc = ""] - #[doc = " @param uint32_t start : the APP Entry code address value in uint32_t, stored in register APPCPU_CTRL_REG_D."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_set_appcpu_boot_addr(start: u32); + pub fn getsubopt( + arg1: *mut *mut ::std::os::raw::c_char, + arg2: *const *mut ::std::os::raw::c_char, + arg3: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief unpack the image in flash to iram and dram, no using cache."] - #[doc = ""] - #[doc = " @param uint32_t pos : Flash physical address."] - #[doc = ""] - #[doc = " @param uint32_t *entry_addr: the pointer of an variable that can store Entry code address."] - #[doc = ""] - #[doc = " @param bool jump : Jump into the code in the function or not."] - #[doc = ""] - #[doc = " @param bool config : Config the flash when unpacking the image, config should be done only once."] - #[doc = ""] - #[doc = " @return ETS_OK : unpack successful"] - #[doc = " @return ETS_FAILED : unpack failed"] - pub fn ets_unpack_flash_code_legacy( - pos: u32, - entry_addr: *mut u32, - jump: bool, - config: bool, - ) -> ETS_STATUS; + pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief unpack the image in flash to iram and dram, using cache, maybe decrypting."] - #[doc = ""] - #[doc = " @param uint32_t pos : Flash physical address."] - #[doc = ""] - #[doc = " @param uint32_t *entry_addr: the pointer of an variable that can store Entry code address."] - #[doc = ""] - #[doc = " @param bool jump : Jump into the code in the function or not."] - #[doc = ""] - #[doc = " @param bool sb_need_check : Do security boot check or not."] - #[doc = ""] - #[doc = " @param bool config : Config the flash when unpacking the image, config should be done only once."] - #[doc = ""] - #[doc = " @return ETS_OK : unpack successful"] - #[doc = " @return ETS_FAILED : unpack failed"] - pub fn ets_unpack_flash_code( - pos: u32, - entry_addr: *mut u32, - jump: bool, - sb_need_check: bool, - config: bool, - ) -> ETS_STATUS; + pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t; } extern "C" { - #[doc = " @brief Printf the strings to uart or other devices, similar with printf, simple than printf."] - #[doc = " Can not print float point data format, or longlong data format."] - #[doc = " So we maybe only use this in ROM."] - #[doc = ""] - #[doc = " @param const char *fmt : See printf."] - #[doc = ""] - #[doc = " @param ... : See printf."] - #[doc = ""] - #[doc = " @return int : the length printed to the output device."] - pub fn ets_printf(fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; + pub fn malloc(__size: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " @brief Output a char to uart, which uart to output(which is in uart module in ROM) is not in scope of the function."] - #[doc = " Can not print float point data format, or longlong data format"] - #[doc = ""] - #[doc = " @param char c : char to output."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_write_char_uart(c: ::std::os::raw::c_char); + pub fn mblen(arg1: *const ::std::os::raw::c_char, arg2: usize) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Ets_printf have two output functions\u{ff1a} putc1 and putc2, both of which will be called if need ouput."] - #[doc = " To install putc1, which is defaulted installed as ets_write_char_uart in none silent boot mode, as NULL in silent mode."] - #[doc = ""] - #[doc = " @param void (*)(char) p: Output function to install."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_install_putc1( - p: ::core::option::Option, - ); + pub fn _mblen_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + arg3: usize, + arg4: *mut _mbstate_t, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Ets_printf have two output functions\u{ff1a} putc1 and putc2, both of which will be called if need ouput."] - #[doc = " To install putc2, which is defaulted installed as NULL."] - #[doc = ""] - #[doc = " @param void (*)(char) p: Output function to install."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_install_putc2( - p: ::core::option::Option, - ); + pub fn mbtowc( + arg1: *mut wchar_t, + arg2: *const ::std::os::raw::c_char, + arg3: usize, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Install putc1 as ets_write_char_uart."] - #[doc = " In silent boot mode(to void interfere the UART attached MCU), we can call this function, after booting ok."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_install_uart_printf(); + pub fn _mbtowc_r( + arg1: *mut _reent, + arg2: *mut wchar_t, + arg3: *const ::std::os::raw::c_char, + arg4: usize, + arg5: *mut _mbstate_t, + ) -> ::std::os::raw::c_int; } -#[doc = " @addtogroup ets_timer_apis"] -#[doc = " @{"] -pub type ETSTimerFunc = - ::core::option::Option; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _ETSTIMER_ { - #[doc = "< timer linker"] - pub timer_next: *mut _ETSTIMER_, - #[doc = "< abstruct time when timer expire"] - pub timer_expire: u32, - #[doc = "< timer period, 0 means timer is not periodic repeated"] - pub timer_period: u32, - #[doc = "< timer handler"] - pub timer_func: ETSTimerFunc, - #[doc = "< timer handler argument"] - pub timer_arg: *mut ::std::os::raw::c_void, +extern "C" { + pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int; } -pub type ETSTimer = _ETSTIMER_; extern "C" { - #[doc = " @brief Init ets timer, this timer range is 640 us to 429496 ms"] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_timer_init(); + pub fn _wctomb_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: wchar_t, + arg4: *mut _mbstate_t, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_timer_deinit(); + pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, arg3: usize) -> usize; } extern "C" { - #[doc = " @brief Arm an ets timer, this timer range is 640 us to 429496 ms."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param ETSTimer *timer : Timer struct pointer."] - #[doc = ""] - #[doc = " @param uint32_t tmout : Timer value in ms, range is 1 to 429496."] - #[doc = ""] - #[doc = " @param bool repeat : Timer is periodic repeated."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_timer_arm(timer: *mut ETSTimer, tmout: u32, repeat: bool); + pub fn _mbstowcs_r( + arg1: *mut _reent, + arg2: *mut wchar_t, + arg3: *const ::std::os::raw::c_char, + arg4: usize, + arg5: *mut _mbstate_t, + ) -> usize; } extern "C" { - #[doc = " @brief Arm an ets timer, this timer range is 640 us to 429496 ms."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param ETSTimer *timer : Timer struct pointer."] - #[doc = ""] - #[doc = " @param uint32_t tmout : Timer value in us, range is 1 to 429496729."] - #[doc = ""] - #[doc = " @param bool repeat : Timer is periodic repeated."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_timer_arm_us(ptimer: *mut ETSTimer, us: u32, repeat: bool); + pub fn wcstombs(arg1: *mut ::std::os::raw::c_char, arg2: *const wchar_t, arg3: usize) -> usize; } extern "C" { - #[doc = " @brief Disarm an ets timer."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param ETSTimer *timer : Timer struct pointer."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_timer_disarm(timer: *mut ETSTimer); + pub fn _wcstombs_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: *const wchar_t, + arg4: usize, + arg5: *mut _mbstate_t, + ) -> usize; } extern "C" { - #[doc = " @brief Set timer callback and argument."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param ETSTimer *timer : Timer struct pointer."] - #[doc = ""] - #[doc = " @param ETSTimerFunc *pfunction : Timer callback."] - #[doc = ""] - #[doc = " @param void *parg : Timer callback argument."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_timer_setfn( - ptimer: *mut ETSTimer, - pfunction: ETSTimerFunc, - parg: *mut ::std::os::raw::c_void, - ); + pub fn mkdtemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Unset timer callback and argument to NULL."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param ETSTimer *timer : Timer struct pointer."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_timer_done(ptimer: *mut ETSTimer); + pub fn mkostemp( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief CPU do while loop for some time."] - #[doc = " In FreeRTOS task, please call FreeRTOS apis."] - #[doc = ""] - #[doc = " @param uint32_t us : Delay time in us."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_delay_us(us: u32); + pub fn mkostemps( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Set the real CPU ticks per us to the ets, so that ets_delay_us will be accurate."] - #[doc = " Call this function when CPU frequency is changed."] - #[doc = ""] - #[doc = " @param uint32_t ticks_per_us : CPU ticks per us."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_update_cpu_frequency(ticks_per_us: u32); + pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Set the real CPU ticks per us to the ets, so that ets_delay_us will be accurate."] - #[doc = ""] - #[doc = " @note This function only sets the tick rate for the current CPU. It is located in ROM,"] - #[doc = " so the deep sleep stub can use it even if IRAM is not initialized yet."] - #[doc = ""] - #[doc = " @param uint32_t ticks_per_us : CPU ticks per us."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_update_cpu_frequency_rom(ticks_per_us: u32); + pub fn mkstemps( + arg1: *mut ::std::os::raw::c_char, + arg2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Get the real CPU ticks per us to the ets."] - #[doc = " This function do not return real CPU ticks per us, just the record in ets. It can be used to check with the real CPU frequency."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return uint32_t : CPU ticks per us record in ets."] - pub fn ets_get_cpu_frequency() -> u32; + pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Get xtal_freq/analog_8M*256 value calibrated in rtc module."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return uint32_t : xtal_freq/analog_8M*256."] - pub fn ets_get_xtal_scale() -> u32; + pub fn _mkdtemp_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Get xtal_freq value, If value not stored in RTC_STORE5, than store."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return uint32_t : if rtc store the value (RTC_STORE5 high 16 bits and low 16 bits with same value), read from rtc register."] - #[doc = " clock = (REG_READ(RTC_STORE5) & 0xffff) << 12;"] - #[doc = " else if analog_8M in efuse"] - #[doc = " clock = ets_get_xtal_scale() * 15625 * ets_efuse_get_8M_clock() / 40;"] - #[doc = " else clock = 26M."] - pub fn ets_get_detected_xtal_freq() -> u32; + pub fn _mkostemp_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } -#[doc = " @addtogroup ets_intr_apis"] -#[doc = " @{"] -pub type ets_isr_t = - ::core::option::Option; extern "C" { - #[doc = " @brief Attach a interrupt handler to a CPU interrupt number."] - #[doc = " This function equals to _xtos_set_interrupt_handler_arg(i, func, arg)."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param int i : CPU interrupt number."] - #[doc = ""] - #[doc = " @param ets_isr_t func : Interrupt handler."] - #[doc = ""] - #[doc = " @param void *arg : argument of the handler."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_isr_attach( - i: ::std::os::raw::c_int, - func: ets_isr_t, - arg: *mut ::std::os::raw::c_void, - ); + pub fn _mkostemps_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + arg4: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Mask the interrupts which show in mask bits."] - #[doc = " This function equals to _xtos_ints_off(mask)."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param uint32_t mask : BIT(i) means mask CPU interrupt number i."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_isr_mask(mask: u32); + pub fn _mkstemp_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Unmask the interrupts which show in mask bits."] - #[doc = " This function equals to _xtos_ints_on(mask)."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param uint32_t mask : BIT(i) means mask CPU interrupt number i."] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_isr_unmask(unmask: u32); + pub fn _mkstemps_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Lock the interrupt to level 2."] - #[doc = " This function direct set the CPU registers."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_intr_lock(); + pub fn _mktemp_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Unlock the interrupt to level 0."] - #[doc = " This function direct set the CPU registers."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_intr_unlock(); + pub fn qsort( + __base: *mut ::std::os::raw::c_void, + __nmemb: usize, + __size: usize, + _compar: __compar_fn_t, + ); } extern "C" { - #[doc = " @brief Unlock the interrupt to level 0, and CPU will go into power save mode(wait interrupt)."] - #[doc = " This function direct set the CPU registers."] - #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] - #[doc = ""] - #[doc = " @param None"] - #[doc = ""] - #[doc = " @return None"] - pub fn ets_waiti0(); + pub fn rand() -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Attach an CPU interrupt to a hardware source."] - #[doc = " We have 4 steps to use an interrupt:"] - #[doc = " 1.Attach hardware interrupt source to CPU. intr_matrix_set(0, ETS_WIFI_MAC_INTR_SOURCE, ETS_WMAC_INUM);"] - #[doc = " 2.Set interrupt handler. xt_set_interrupt_handler(ETS_WMAC_INUM, func, NULL);"] - #[doc = " 3.Enable interrupt for CPU. xt_ints_on(1 << ETS_WMAC_INUM);"] - #[doc = " 4.Enable interrupt in the module."] - #[doc = ""] - #[doc = " @param int cpu_no : The CPU which the interrupt number belongs."] - #[doc = ""] - #[doc = " @param uint32_t model_num : The interrupt hardware source number, please see the interrupt hardware source table."] - #[doc = ""] - #[doc = " @param uint32_t intr_num : The interrupt number CPU, please see the interrupt cpu using table."] - #[doc = ""] - #[doc = " @return None"] - pub fn intr_matrix_set(cpu_no: ::std::os::raw::c_int, model_num: u32, intr_num: u32); + pub fn realloc( + __r: *mut ::std::os::raw::c_void, + __size: ::std::os::raw::c_uint, + ) -> *mut ::std::os::raw::c_void; } -pub const STATUS_OK: STATUS = 0; -pub const STATUS_FAIL: STATUS = 1; -pub const STATUS_PENDING: STATUS = 2; -pub const STATUS_BUSY: STATUS = 3; -pub const STATUS_CANCEL: STATUS = 4; -pub type STATUS = u32; -pub type TaskFunction_t = - ::core::option::Option; extern "C" { - #[doc = " Initialize the crosscore interrupt system for this CPU."] - #[doc = " This needs to be called once on every CPU that is used"] - #[doc = " by FreeRTOS."] - #[doc = ""] - #[doc = " If multicore FreeRTOS support is enabled, this will be"] - #[doc = " called automatically by the startup code and should not"] - #[doc = " be called manually."] - pub fn esp_crosscore_int_init(); + pub fn reallocf(__r: *mut ::std::os::raw::c_void, __size: usize) + -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " Send an interrupt to a CPU indicating it should yield its"] - #[doc = " currently running task in favour of a higher-priority task"] - #[doc = " that presumably just woke up."] - #[doc = ""] - #[doc = " This is used internally by FreeRTOS in multicore mode"] - #[doc = " and should not be called by the user."] - #[doc = ""] - #[doc = " @param core_id Core that should do the yielding"] - pub fn esp_crosscore_int_send_yield(core_id: ::std::os::raw::c_int); + pub fn realpath( + path: *const ::std::os::raw::c_char, + resolved_path: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " Send an interrupt to a CPU indicating it should update its"] - #[doc = " CCOMPARE1 value due to a frequency switch."] - #[doc = ""] - #[doc = " This is used internally when dynamic frequency switching is"] - #[doc = " enabled, and should not be called from application code."] - #[doc = ""] - #[doc = " @param core_id Core that should update its CCOMPARE1 value"] - pub fn esp_crosscore_int_send_freq_switch(core_id: ::std::os::raw::c_int); + pub fn srand(__seed: ::std::os::raw::c_uint); } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct esp_timer { - _unused: [u8; 0], +extern "C" { + pub fn strtod( + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + ) -> f64; } -#[doc = " @brief Opaque type representing a single esp_timer"] -pub type esp_timer_handle_t = *mut esp_timer; -#[doc = " @brief Timer callback function type"] -#[doc = " @param arg pointer to opaque user-specific data"] -pub type esp_timer_cb_t = - ::core::option::Option; -#[doc = "!< Callback is called from timer task"] -pub const esp_timer_dispatch_t_ESP_TIMER_TASK: esp_timer_dispatch_t = 0; -#[doc = " @brief Method for dispatching timer callback"] -pub type esp_timer_dispatch_t = u32; -#[doc = " @brief Timer configuration passed to esp_timer_create"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct esp_timer_create_args_t { - #[doc = "!< Function to call when timer expires"] - pub callback: esp_timer_cb_t, - #[doc = "!< Argument to pass to the callback"] - pub arg: *mut ::std::os::raw::c_void, - #[doc = "!< Call the callback from task or from ISR"] - pub dispatch_method: esp_timer_dispatch_t, - #[doc = "!< Timer name, used in esp_timer_dump function"] - pub name: *const ::std::os::raw::c_char, +extern "C" { + pub fn _strtod_r( + arg1: *mut _reent, + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + ) -> f64; } extern "C" { - #[doc = " @brief Initialize esp_timer library"] - #[doc = ""] - #[doc = " @note This function is called from startup code. Applications do not need"] - #[doc = " to call this function before using other esp_timer APIs."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_NO_MEM if allocation has failed"] - #[doc = " - ESP_ERR_INVALID_STATE if already initialized"] - #[doc = " - other errors from interrupt allocator"] - pub fn esp_timer_init() -> esp_err_t; + pub fn strtof( + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + ) -> f32; } extern "C" { - #[doc = " @brief De-initialize esp_timer library"] - #[doc = ""] - #[doc = " @note Normally this function should not be called from applications"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if not yet initialized"] - pub fn esp_timer_deinit() -> esp_err_t; + pub fn strtol( + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Create an esp_timer instance"] - #[doc = ""] - #[doc = " @note When done using the timer, delete it with esp_timer_delete function."] - #[doc = ""] - #[doc = " @param create_args Pointer to a structure with timer creation arguments."] - #[doc = " Not saved by the library, can be allocated on the stack."] - #[doc = " @param[out] out_handle Output, pointer to esp_timer_handle_t variable which"] - #[doc = " will hold the created timer handle."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if some of the create_args are not valid"] - #[doc = " - ESP_ERR_INVALID_STATE if esp_timer library is not initialized yet"] - #[doc = " - ESP_ERR_NO_MEM if memory allocation fails"] - pub fn esp_timer_create( - create_args: *const esp_timer_create_args_t, - out_handle: *mut esp_timer_handle_t, - ) -> esp_err_t; + pub fn _strtol_r( + arg1: *mut _reent, + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Start one-shot timer"] - #[doc = ""] - #[doc = " Timer should not be running when this function is called."] - #[doc = ""] - #[doc = " @param timer timer handle created using esp_timer_create"] - #[doc = " @param timeout_us timer timeout, in microseconds relative to the current moment"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if the handle is invalid"] - #[doc = " - ESP_ERR_INVALID_STATE if the timer is already running"] - pub fn esp_timer_start_once(timer: esp_timer_handle_t, timeout_us: u64) -> esp_err_t; + pub fn strtoul( + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; } extern "C" { - #[doc = " @brief Start a periodic timer"] - #[doc = ""] - #[doc = " Timer should not be running when this function is called. This function will"] - #[doc = " start the timer which will trigger every \'period\' microseconds."] - #[doc = ""] - #[doc = " @param timer timer handle created using esp_timer_create"] - #[doc = " @param period timer period, in microseconds"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if the handle is invalid"] - #[doc = " - ESP_ERR_INVALID_STATE if the timer is already running"] - pub fn esp_timer_start_periodic(timer: esp_timer_handle_t, period: u64) -> esp_err_t; + pub fn _strtoul_r( + arg1: *mut _reent, + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; } extern "C" { - #[doc = " @brief Stop the timer"] - #[doc = ""] - #[doc = " This function stops the timer previously started using esp_timer_start_once"] - #[doc = " or esp_timer_start_periodic."] - #[doc = ""] - #[doc = " @param timer timer handle created using esp_timer_create"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if the timer is not running"] - pub fn esp_timer_stop(timer: esp_timer_handle_t) -> esp_err_t; + pub fn system(__string: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Delete an esp_timer instance"] - #[doc = ""] - #[doc = " The timer must be stopped before deleting. A one-shot timer which has expired"] - #[doc = " does not need to be stopped."] - #[doc = ""] - #[doc = " @param timer timer handle allocated using esp_timer_create"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if the timer is not running"] - pub fn esp_timer_delete(timer: esp_timer_handle_t) -> esp_err_t; + pub fn a64l(__input: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Get time in microseconds since boot"] - #[doc = " @return number of microseconds since esp_timer_init was called (this normally"] - #[doc = " happens early during application startup)."] - pub fn esp_timer_get_time() -> i64; + pub fn l64a(__input: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Get the timestamp when the next timeout is expected to occur"] - #[doc = " @return Timestamp of the nearest timer event, in microseconds."] - #[doc = " The timebase is the same as for the values returned by esp_timer_get_time."] - pub fn esp_timer_get_next_alarm() -> i64; + pub fn _l64a_r( + arg1: *mut _reent, + __input: ::std::os::raw::c_long, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Dump the list of timers to a stream"] - #[doc = ""] - #[doc = " If CONFIG_ESP_TIMER_PROFILING option is enabled, this prints the list of all"] - #[doc = " the existing timers. Otherwise, only the list active timers is printed."] - #[doc = ""] - #[doc = " The format is:"] - #[doc = ""] - #[doc = " name period alarm times_armed times_triggered total_callback_run_time"] - #[doc = ""] - #[doc = " where:"] - #[doc = ""] - #[doc = " name \u{2014} timer name (if CONFIG_ESP_TIMER_PROFILING is defined), or timer pointer"] - #[doc = " period \u{2014} period of timer, in microseconds, or 0 for one-shot timer"] - #[doc = " alarm - time of the next alarm, in microseconds since boot, or 0 if the timer"] - #[doc = " is not started"] - #[doc = ""] - #[doc = " The following fields are printed if CONFIG_ESP_TIMER_PROFILING is defined:"] - #[doc = ""] - #[doc = " times_armed \u{2014} number of times the timer was armed via esp_timer_start_X"] - #[doc = " times_triggered - number of times the callback was called"] - #[doc = " total_callback_run_time - total time taken by callback to execute, across all calls"] - #[doc = ""] - #[doc = " @param stream stream (such as stdout) to dump the information to"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_NO_MEM if can not allocate temporary buffer for the output"] - pub fn esp_timer_dump(stream: *mut FILE) -> esp_err_t; + pub fn on_exit( + __func: ::core::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: *mut ::std::os::raw::c_void), + >, + __arg: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct multi_heap_info { - _unused: [u8; 0], +extern "C" { + pub fn _Exit(__status: ::std::os::raw::c_int); } -#[doc = " @brief Opaque handle to a registered heap"] -pub type multi_heap_handle_t = *mut multi_heap_info; extern "C" { - #[doc = " @brief malloc() a buffer in a given heap"] - #[doc = ""] - #[doc = " Semantics are the same as standard malloc(), only the returned buffer will be allocated in the specified heap."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @param size Size of desired buffer."] - #[doc = ""] - #[doc = " @return Pointer to new memory, or NULL if allocation fails."] - pub fn multi_heap_malloc(heap: multi_heap_handle_t, size: usize) - -> *mut ::std::os::raw::c_void; + pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief free() a buffer in a given heap."] - #[doc = ""] - #[doc = " Semantics are the same as standard free(), only the argument \'p\' must be NULL or have been allocated in the specified heap."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @param p NULL, or a pointer previously returned from multi_heap_malloc() or multi_heap_realloc() for the same heap."] - pub fn multi_heap_free(heap: multi_heap_handle_t, p: *mut ::std::os::raw::c_void); + pub fn _putenv_r( + arg1: *mut _reent, + __string: *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief realloc() a buffer in a given heap."] - #[doc = ""] - #[doc = " Semantics are the same as standard realloc(), only the argument \'p\' must be NULL or have been allocated in the specified heap."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @param p NULL, or a pointer previously returned from multi_heap_malloc() or multi_heap_realloc() for the same heap."] - #[doc = " @param size Desired new size for buffer."] - #[doc = ""] - #[doc = " @return New buffer of \'size\' containing contents of \'p\', or NULL if reallocation failed."] - pub fn multi_heap_realloc( - heap: multi_heap_handle_t, - p: *mut ::std::os::raw::c_void, - size: usize, + pub fn _reallocf_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + arg3: usize, ) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " @brief Return the size that a particular pointer was allocated with."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @param p Pointer, must have been previously returned from multi_heap_malloc() or multi_heap_realloc() for the same heap."] - #[doc = ""] - #[doc = " @return Size of the memory allocated at this block. May be more than the original size argument, due"] - #[doc = " to padding and minimum block sizes."] - pub fn multi_heap_get_allocated_size( - heap: multi_heap_handle_t, - p: *mut ::std::os::raw::c_void, - ) -> usize; + pub fn setenv( + __string: *const ::std::os::raw::c_char, + __value: *const ::std::os::raw::c_char, + __overwrite: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Register a new heap for use"] - #[doc = ""] - #[doc = " This function initialises a heap at the specified address, and returns a handle for future heap operations."] - #[doc = ""] - #[doc = " There is no equivalent function for deregistering a heap - if all blocks in the heap are free, you can immediately start using the memory for other purposes."] - #[doc = ""] - #[doc = " @param start Start address of the memory to use for a new heap."] - #[doc = " @param size Size (in bytes) of the new heap."] - #[doc = ""] - #[doc = " @return Handle of a new heap ready for use, or NULL if the heap region was too small to be initialised."] - pub fn multi_heap_register( - start: *mut ::std::os::raw::c_void, - size: usize, - ) -> multi_heap_handle_t; + pub fn _setenv_r( + arg1: *mut _reent, + __string: *const ::std::os::raw::c_char, + __value: *const ::std::os::raw::c_char, + __overwrite: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Associate a private lock pointer with a heap"] - #[doc = ""] - #[doc = " The lock argument is supplied to the MULTI_HEAP_LOCK() and MULTI_HEAP_UNLOCK() macros, defined in multi_heap_platform.h."] - #[doc = ""] - #[doc = " The lock in question must be recursive."] - #[doc = ""] - #[doc = " When the heap is first registered, the associated lock is NULL."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @param lock Optional pointer to a locking structure to associate with this heap."] - pub fn multi_heap_set_lock(heap: multi_heap_handle_t, lock: *mut ::std::os::raw::c_void); + pub fn gcvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Dump heap information to stdout"] - #[doc = ""] - #[doc = " For debugging purposes, this function dumps information about every block in the heap to stdout."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - pub fn multi_heap_dump(heap: multi_heap_handle_t); + pub fn gcvtf( + arg1: f32, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Check heap integrity"] - #[doc = ""] - #[doc = " Walks the heap and checks all heap data structures are valid. If any errors are detected, an error-specific message"] - #[doc = " can be optionally printed to stderr. Print behaviour can be overriden at compile time by defining"] - #[doc = " MULTI_CHECK_FAIL_PRINTF in multi_heap_platform.h."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @param print_errors If true, errors will be printed to stderr."] - #[doc = " @return true if heap is valid, false otherwise."] - pub fn multi_heap_check(heap: multi_heap_handle_t, print_errors: bool) -> bool; + pub fn fcvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Return free heap size"] - #[doc = ""] - #[doc = " Returns the number of bytes available in the heap."] - #[doc = ""] - #[doc = " Equivalent to the total_free_bytes member returned by multi_heap_get_heap_info()."] - #[doc = ""] - #[doc = " Note that the heap may be fragmented, so the actual maximum size for a single malloc() may be lower. To know this"] - #[doc = " size, see the largest_free_block member returned by multi_heap_get_heap_info()."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @return Number of free bytes."] - pub fn multi_heap_free_size(heap: multi_heap_handle_t) -> usize; + pub fn fcvtf( + arg1: f32, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Return the lifetime minimum free heap size"] - #[doc = ""] - #[doc = " Equivalent to the minimum_free_bytes member returned by multi_heap_get_info()."] - #[doc = ""] - #[doc = " Returns the lifetime \"low water mark\" of possible values returned from multi_free_heap_size(), for the specified"] - #[doc = " heap."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @return Number of free bytes."] - pub fn multi_heap_minimum_free_size(heap: multi_heap_handle_t) -> usize; + pub fn ecvt( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; } -#[doc = " @brief Structure to access heap metadata via multi_heap_get_info"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct multi_heap_info_t { - #[doc = "< Total free bytes in the heap. Equivalent to multi_free_heap_size()."] - pub total_free_bytes: usize, - #[doc = "< Total bytes allocated to data in the heap."] - pub total_allocated_bytes: usize, - #[doc = "< Size of largest free block in the heap. This is the largest malloc-able size."] - pub largest_free_block: usize, - #[doc = "< Lifetime minimum free heap size. Equivalent to multi_minimum_free_heap_size()."] - pub minimum_free_bytes: usize, - #[doc = "< Number of (variable size) blocks allocated in the heap."] - pub allocated_blocks: usize, - #[doc = "< Number of (variable size) free blocks in the heap."] - pub free_blocks: usize, - #[doc = "< Total number of (variable size) blocks in the heap."] - pub total_blocks: usize, +extern "C" { + pub fn ecvtbuf( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + arg5: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Return metadata about a given heap"] - #[doc = ""] - #[doc = " Fills a multi_heap_info_t structure with information about the specified heap."] - #[doc = ""] - #[doc = " @param heap Handle to a registered heap."] - #[doc = " @param info Pointer to a structure to fill with heap metadata."] - pub fn multi_heap_get_info(heap: multi_heap_handle_t, info: *mut multi_heap_info_t); + pub fn fcvtbuf( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + arg5: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Allocate a chunk of memory which has the given capabilities"] - #[doc = ""] - #[doc = " Equivalent semantics to libc malloc(), for capability-aware memory."] - #[doc = ""] - #[doc = " In IDF, ``malloc(p)`` is equivalent to ``heap_caps_malloc(p, MALLOC_CAP_8BIT)``."] - #[doc = ""] - #[doc = " @param size Size, in bytes, of the amount of memory to allocate"] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory to be returned"] - #[doc = ""] - #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] - pub fn heap_caps_malloc(size: usize, caps: u32) -> *mut ::std::os::raw::c_void; + pub fn ecvtf( + arg1: f32, + arg2: ::std::os::raw::c_int, + arg3: *mut ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn dtoa( + arg1: f64, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: *mut ::std::os::raw::c_int, + arg5: *mut ::std::os::raw::c_int, + arg6: *mut *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __itoa( + arg1: ::std::os::raw::c_int, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __utoa( + arg1: ::std::os::raw::c_uint, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn itoa( + arg1: ::std::os::raw::c_int, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn utoa( + arg1: ::std::os::raw::c_uint, + arg2: *mut ::std::os::raw::c_char, + arg3: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Free memory previously allocated via heap_caps_malloc() or heap_caps_realloc()."] - #[doc = ""] - #[doc = " Equivalent semantics to libc free(), for capability-aware memory."] - #[doc = ""] - #[doc = " In IDF, ``free(p)`` is equivalent to ``heap_caps_free(p)``."] - #[doc = ""] - #[doc = " @param ptr Pointer to memory previously returned from heap_caps_malloc() or heap_caps_realloc(). Can be NULL."] - pub fn heap_caps_free(ptr: *mut ::std::os::raw::c_void); + pub fn drand48() -> f64; } extern "C" { - #[doc = " @brief Reallocate memory previously allocated via heap_caps_malloc() or heap_caps_realloc()."] - #[doc = ""] - #[doc = " Equivalent semantics to libc realloc(), for capability-aware memory."] - #[doc = ""] - #[doc = " In IDF, ``realloc(p, s)`` is equivalent to ``heap_caps_realloc(p, s, MALLOC_CAP_8BIT)``."] - #[doc = ""] - #[doc = " \'caps\' parameter can be different to the capabilities that any original \'ptr\' was allocated with. In this way,"] - #[doc = " realloc can be used to \"move\" a buffer if necessary to ensure it meets a new set of capabilities."] - #[doc = ""] - #[doc = " @param ptr Pointer to previously allocated memory, or NULL for a new allocation."] - #[doc = " @param size Size of the new buffer requested, or 0 to free the buffer."] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory desired for the new allocation."] - #[doc = ""] - #[doc = " @return Pointer to a new buffer of size \'size\' with capabilities \'caps\', or NULL if allocation failed."] - pub fn heap_caps_realloc( - ptr: *mut ::std::os::raw::c_void, - size: usize, - caps: ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_void; + pub fn _drand48_r(arg1: *mut _reent) -> f64; } extern "C" { - #[doc = " @brief Allocate a chunk of memory which has the given capabilities. The initialized value in the memory is set to zero."] - #[doc = ""] - #[doc = " Equivalent semantics to libc calloc(), for capability-aware memory."] - #[doc = ""] - #[doc = " In IDF, ``calloc(p)`` is equivalent to ``heap_caps_calloc(p, MALLOC_CAP_8BIT)``."] - #[doc = ""] - #[doc = " @param n Number of continuing chunks of memory to allocate"] - #[doc = " @param size Size, in bytes, of a chunk of memory to allocate"] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory to be returned"] - #[doc = ""] - #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] - pub fn heap_caps_calloc(n: usize, size: usize, caps: u32) -> *mut ::std::os::raw::c_void; + pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64; } extern "C" { - #[doc = " @brief Get the total free size of all the regions that have the given capabilities"] - #[doc = ""] - #[doc = " This function takes all regions capable of having the given capabilities allocated in them"] - #[doc = " and adds up the free space they have."] - #[doc = ""] - #[doc = " Note that because of heap fragmentation it is probably not possible to allocate a single block of memory"] - #[doc = " of this size. Use heap_caps_get_largest_free_block() for this purpose."] - #[doc = ""] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory"] - #[doc = ""] - #[doc = " @return Amount of free bytes in the regions"] - pub fn heap_caps_get_free_size(caps: u32) -> usize; + pub fn _erand48_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_ushort) -> f64; } extern "C" { - #[doc = " @brief Get the total minimum free memory of all regions with the given capabilities"] - #[doc = ""] - #[doc = " This adds all the low water marks of the regions capable of delivering the memory"] - #[doc = " with the given capabilities."] - #[doc = ""] - #[doc = " Note the result may be less than the global all-time minimum available heap of this kind, as \"low water marks\" are"] - #[doc = " tracked per-region. Individual regions\' heaps may have reached their \"low water marks\" at different points in time. However"] - #[doc = " this result still gives a \"worst case\" indication for all-time minimum free heap."] - #[doc = ""] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory"] - #[doc = ""] - #[doc = " @return Amount of free bytes in the regions"] - pub fn heap_caps_get_minimum_free_size(caps: u32) -> usize; + pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Get the largest free block of memory able to be allocated with the given capabilities."] - #[doc = ""] - #[doc = " Returns the largest value of ``s`` for which ``heap_caps_malloc(s, caps)`` will succeed."] - #[doc = ""] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory"] - #[doc = ""] - #[doc = " @return Size of largest free block in bytes."] - pub fn heap_caps_get_largest_free_block(caps: u32) -> usize; + pub fn _jrand48_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_ushort, + ) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Get heap info for all regions with the given capabilities."] - #[doc = ""] - #[doc = " Calls multi_heap_info() on all heaps which share the given capabilities. The information returned is an aggregate"] - #[doc = " across all matching heaps. The meanings of fields are the same as defined for multi_heap_info_t, except that"] - #[doc = " ``minimum_free_bytes`` has the same caveats described in heap_caps_get_minimum_free_size()."] - #[doc = ""] - #[doc = " @param info Pointer to a structure which will be filled with relevant"] - #[doc = " heap metadata."] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory"] - #[doc = ""] - pub fn heap_caps_get_info(info: *mut multi_heap_info_t, caps: u32); + pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort); } extern "C" { - #[doc = " @brief Print a summary of all memory with the given capabilities."] - #[doc = ""] - #[doc = " Calls multi_heap_info on all heaps which share the given capabilities, and"] - #[doc = " prints a two-line summary for each, then a total summary."] - #[doc = ""] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory"] - #[doc = ""] - pub fn heap_caps_print_heap_info(caps: u32); + pub fn _lcong48_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_ushort); } extern "C" { - #[doc = " @brief Check integrity of all heap memory in the system."] - #[doc = ""] - #[doc = " Calls multi_heap_check on all heaps. Optionally print errors if heaps are corrupt."] - #[doc = ""] - #[doc = " Calling this function is equivalent to calling heap_caps_check_integrity"] - #[doc = " with the caps argument set to MALLOC_CAP_INVALID."] - #[doc = ""] - #[doc = " @param print_errors Print specific errors if heap corruption is found."] - #[doc = ""] - #[doc = " @return True if all heaps are valid, False if at least one heap is corrupt."] - pub fn heap_caps_check_integrity_all(print_errors: bool) -> bool; + pub fn lrand48() -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Check integrity of all heaps with the given capabilities."] - #[doc = ""] - #[doc = " Calls multi_heap_check on all heaps which share the given capabilities. Optionally"] - #[doc = " print errors if the heaps are corrupt."] - #[doc = ""] - #[doc = " See also heap_caps_check_integrity_all to check all heap memory"] - #[doc = " in the system and heap_caps_check_integrity_addr to check memory"] - #[doc = " around a single address."] - #[doc = ""] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory"] - #[doc = " @param print_errors Print specific errors if heap corruption is found."] - #[doc = ""] - #[doc = " @return True if all heaps are valid, False if at least one heap is corrupt."] - pub fn heap_caps_check_integrity(caps: u32, print_errors: bool) -> bool; + pub fn _lrand48_r(arg1: *mut _reent) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Check integrity of heap memory around a given address."] - #[doc = ""] - #[doc = " This function can be used to check the integrity of a single region of heap memory,"] - #[doc = " which contains the given address."] - #[doc = ""] - #[doc = " This can be useful if debugging heap integrity for corruption at a known address,"] - #[doc = " as it has a lower overhead than checking all heap regions. Note that if the corrupt"] - #[doc = " address moves around between runs (due to timing or other factors) then this approach"] - #[doc = " won\'t work and you should call heap_caps_check_integrity or"] - #[doc = " heap_caps_check_integrity_all instead."] - #[doc = ""] - #[doc = " @note The entire heap region around the address is checked, not only the adjacent"] - #[doc = " heap blocks."] - #[doc = ""] - #[doc = " @param addr Address in memory. Check for corruption in region containing this address."] - #[doc = " @param print_errors Print specific errors if heap corruption is found."] - #[doc = ""] - #[doc = " @return True if the heap containing the specified address is valid,"] - #[doc = " False if at least one heap is corrupt or the address doesn\'t belong to a heap region."] - pub fn heap_caps_check_integrity_addr(addr: isize, print_errors: bool) -> bool; + pub fn mrand48() -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Enable malloc() in external memory and set limit below which"] - #[doc = " malloc() attempts are placed in internal memory."] - #[doc = ""] - #[doc = " When external memory is in use, the allocation strategy is to initially try to"] - #[doc = " satisfy smaller allocation requests with internal memory and larger requests"] - #[doc = " with external memory. This sets the limit between the two, as well as generally"] - #[doc = " enabling allocation in external memory."] - #[doc = ""] - #[doc = " @param limit Limit, in bytes."] - pub fn heap_caps_malloc_extmem_enable(limit: usize); + pub fn _mrand48_r(arg1: *mut _reent) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Allocate a chunk of memory as preference in decreasing order."] - #[doc = ""] - #[doc = " @attention The variable parameters are bitwise OR of MALLOC_CAP_* flags indicating the type of memory."] - #[doc = " This API prefers to allocate memory with the first parameter. If failed, allocate memory with"] - #[doc = " the next parameter. It will try in this order until allocating a chunk of memory successfully"] - #[doc = " or fail to allocate memories with any of the parameters."] - #[doc = ""] - #[doc = " @param size Size, in bytes, of the amount of memory to allocate"] - #[doc = " @param num Number of variable paramters"] - #[doc = ""] - #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] - pub fn heap_caps_malloc_prefer(size: usize, num: usize, ...) -> *mut ::std::os::raw::c_void; + pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Allocate a chunk of memory as preference in decreasing order."] - #[doc = ""] - #[doc = " @param ptr Pointer to previously allocated memory, or NULL for a new allocation."] - #[doc = " @param size Size of the new buffer requested, or 0 to free the buffer."] - #[doc = " @param num Number of variable paramters"] - #[doc = ""] - #[doc = " @return Pointer to a new buffer of size \'size\', or NULL if allocation failed."] - pub fn heap_caps_realloc_prefer( - ptr: *mut ::std::os::raw::c_void, - size: usize, - num: usize, - ... - ) -> *mut ::std::os::raw::c_void; + pub fn _nrand48_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_ushort, + ) -> ::std::os::raw::c_long; } extern "C" { - #[doc = " @brief Allocate a chunk of memory as preference in decreasing order."] - #[doc = ""] - #[doc = " @param n Number of continuing chunks of memory to allocate"] - #[doc = " @param size Size, in bytes, of a chunk of memory to allocate"] - #[doc = " @param num Number of variable paramters"] - #[doc = ""] - #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] - pub fn heap_caps_calloc_prefer( - n: usize, - size: usize, - num: usize, - ... - ) -> *mut ::std::os::raw::c_void; + pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; } extern "C" { - #[doc = " @brief Dump the full structure of all heaps with matching capabilities."] - #[doc = ""] - #[doc = " Prints a large amount of output to serial (because of locking limitations,"] - #[doc = " the output bypasses stdout/stderr). For each (variable sized) block"] - #[doc = " in each matching heap, the following output is printed on a single line:"] - #[doc = ""] - #[doc = " - Block address (the data buffer returned by malloc is 4 bytes after this"] - #[doc = " if heap debugging is set to Basic, or 8 bytes otherwise)."] - #[doc = " - Data size (the data size may be larger than the size requested by malloc,"] - #[doc = " either due to heap fragmentation or because of heap debugging level)."] - #[doc = " - Address of next block in the heap."] - #[doc = " - If the block is free, the address of the next free block is also printed."] - #[doc = ""] - #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] - #[doc = " of memory"] - pub fn heap_caps_dump(caps: u32); + pub fn _seed48_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_ushort, + ) -> *mut ::std::os::raw::c_ushort; } extern "C" { - #[doc = " @brief Dump the full structure of all heaps."] - #[doc = ""] - #[doc = " Covers all registered heaps. Prints a large amount of output to serial."] - #[doc = ""] - #[doc = " Output is the same as for heap_caps_dump."] - #[doc = ""] - pub fn heap_caps_dump_all(); + pub fn srand48(arg1: ::std::os::raw::c_long); } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct soc_memory_type_desc_t { - #[doc = "< Name of this memory type"] - pub name: *const ::std::os::raw::c_char, - #[doc = "< Capabilities for this memory type (as a prioritised set)"] - pub caps: [u32; 3usize], - #[doc = "< If true, this is data memory that is is also mapped in IRAM"] - pub aliased_iram: bool, - #[doc = "< If true, memory of this type is used for ROM stack during startup"] - pub startup_stack: bool, +extern "C" { + pub fn _srand48_r(arg1: *mut _reent, arg2: ::std::os::raw::c_long); } extern "C" { - #[link_name = "\u{1}soc_memory_types"] - pub static mut soc_memory_types: [soc_memory_type_desc_t; 0usize]; + pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; } extern "C" { - #[link_name = "\u{1}soc_memory_type_count"] - pub static soc_memory_type_count: usize; + pub fn _atoll_r( + arg1: *mut _reent, + __nptr: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_longlong; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct soc_memory_region_t { - #[doc = "< Start address of the region"] - pub start: isize, - #[doc = "< Size of the region in bytes"] - pub size: usize, - #[doc = "< Type of the region (index into soc_memory_types array)"] - pub type_: usize, - #[doc = "< If non-zero, is equivalent address in IRAM"] - pub iram_address: isize, +extern "C" { + pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; } extern "C" { - #[link_name = "\u{1}soc_memory_regions"] - pub static mut soc_memory_regions: [soc_memory_region_t; 0usize]; + pub fn lldiv( + __numer: ::std::os::raw::c_longlong, + __denom: ::std::os::raw::c_longlong, + ) -> lldiv_t; } extern "C" { - #[link_name = "\u{1}soc_memory_region_count"] - pub static soc_memory_region_count: usize; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct soc_reserved_region_t { - pub start: isize, - pub end: isize, + pub fn strtoll( + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn soc_get_available_memory_regions(regions: *mut soc_memory_region_t) -> usize; + pub fn _strtoll_r( + arg1: *mut _reent, + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; } extern "C" { - pub fn soc_get_available_memory_region_max_count() -> usize; -} -pub type StackType_t = u8; -pub type BaseType_t = ::std::os::raw::c_int; -pub type UBaseType_t = ::std::os::raw::c_uint; -pub type TickType_t = u32; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct portMUX_TYPE { - pub owner: u32, - pub count: u32, + pub fn strtoull( + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; } extern "C" { - pub fn vPortAssertIfInISR(); + pub fn _strtoull_r( + arg1: *mut _reent, + __n: *const ::std::os::raw::c_char, + __end_PTR: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; } extern "C" { - pub fn vPortCPUInitializeMutex(mux: *mut portMUX_TYPE); + pub fn cfree(arg1: *mut ::std::os::raw::c_void); } extern "C" { - pub fn vTaskExitCritical(mux: *mut portMUX_TYPE); + pub fn unsetenv(__string: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn vTaskEnterCritical(mux: *mut portMUX_TYPE); + pub fn _unsetenv_r( + arg1: *mut _reent, + __string: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn vPortCPUAcquireMutex(mux: *mut portMUX_TYPE); + pub fn _dtoa_r( + arg1: *mut _reent, + arg2: f64, + arg3: ::std::os::raw::c_int, + arg4: ::std::os::raw::c_int, + arg5: *mut ::std::os::raw::c_int, + arg6: *mut ::std::os::raw::c_int, + arg7: *mut *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - #[doc = " @brief Acquire a portmux spinlock with a timeout"] - #[doc = ""] - #[doc = " @param mux Pointer to portmux to acquire."] - #[doc = " @param timeout_cycles Timeout to spin, in CPU cycles. Pass portMUX_NO_TIMEOUT to wait forever,"] - #[doc = " portMUX_TRY_LOCK to try a single time to acquire the lock."] - #[doc = ""] - #[doc = " @return true if mutex is successfully acquired, false on timeout."] - pub fn vPortCPUAcquireMutexTimeout( - mux: *mut portMUX_TYPE, - timeout_cycles: ::std::os::raw::c_int, - ) -> bool; + pub fn _malloc_r(arg1: *mut _reent, arg2: usize) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn vPortCPUReleaseMutex(mux: *mut portMUX_TYPE); + pub fn _calloc_r(arg1: *mut _reent, arg2: usize, arg3: usize) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn vPortYield(); + pub fn _free_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_void); } extern "C" { - pub fn _frxt_setup_switch(); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xMPU_SETTINGS { - pub coproc_area: *mut StackType_t, + pub fn _realloc_r( + arg1: *mut _reent, + arg2: *mut ::std::os::raw::c_void, + arg3: usize, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn esp_vApplicationIdleHook(); + pub fn _mstats_r(arg1: *mut _reent, arg2: *mut ::std::os::raw::c_char); } extern "C" { - pub fn esp_vApplicationTickHook(); + pub fn _system_r( + arg1: *mut _reent, + arg2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn _xt_coproc_release(coproc_sa_base: *mut ::std::os::raw::c_void); + pub fn __eprintf( + arg1: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + arg3: ::std::os::raw::c_uint, + arg4: *const ::std::os::raw::c_char, + ); } extern "C" { - pub fn vApplicationSleep(xExpectedIdleTime: TickType_t); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct _bindgen_ty_2 { - pub bt_select: u32, - pub out: u32, - pub out_w1ts: u32, - pub out_w1tc: u32, - pub out1: _bindgen_ty_2__bindgen_ty_1, - pub out1_w1ts: _bindgen_ty_2__bindgen_ty_2, - pub out1_w1tc: _bindgen_ty_2__bindgen_ty_3, - pub sdio_select: _bindgen_ty_2__bindgen_ty_4, - pub enable: u32, - pub enable_w1ts: u32, - pub enable_w1tc: u32, - pub enable1: _bindgen_ty_2__bindgen_ty_5, - pub enable1_w1ts: _bindgen_ty_2__bindgen_ty_6, - pub enable1_w1tc: _bindgen_ty_2__bindgen_ty_7, - pub strap: _bindgen_ty_2__bindgen_ty_8, - pub in_: u32, - pub in1: _bindgen_ty_2__bindgen_ty_9, - pub status: u32, - pub status_w1ts: u32, - pub status_w1tc: u32, - pub status1: _bindgen_ty_2__bindgen_ty_10, - pub status1_w1ts: _bindgen_ty_2__bindgen_ty_11, - pub status1_w1tc: _bindgen_ty_2__bindgen_ty_12, - pub reserved_5c: u32, - pub acpu_int: u32, - pub acpu_nmi_int: u32, - pub pcpu_int: u32, - pub pcpu_nmi_int: u32, - pub cpusdio_int: u32, - pub acpu_int1: _bindgen_ty_2__bindgen_ty_13, - pub acpu_nmi_int1: _bindgen_ty_2__bindgen_ty_14, - pub pcpu_int1: _bindgen_ty_2__bindgen_ty_15, - pub pcpu_nmi_int1: _bindgen_ty_2__bindgen_ty_16, - pub cpusdio_int1: _bindgen_ty_2__bindgen_ty_17, - pub pin: [_bindgen_ty_2__bindgen_ty_18; 40usize], - pub cali_conf: _bindgen_ty_2__bindgen_ty_19, - pub cali_data: _bindgen_ty_2__bindgen_ty_20, - pub func_in_sel_cfg: [_bindgen_ty_2__bindgen_ty_21; 256usize], - pub func_out_sel_cfg: [_bindgen_ty_2__bindgen_ty_22; 40usize], -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_1 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, + pub fn strtold( + arg1: *const ::std::os::raw::c_char, + arg2: *mut *mut ::std::os::raw::c_char, + ) -> f64; } +#[doc = "< return successful in ets"] +pub const ETS_STATUS_ETS_OK: ETS_STATUS = 0; +#[doc = "< return failed in ets"] +pub const ETS_STATUS_ETS_FAILED: ETS_STATUS = 1; +#[doc = " @addtogroup ets_apis"] +#[doc = " @{"] +pub type ETS_STATUS = u32; +pub type ETSSignal = u32; +pub type ETSParam = u32; +pub type ETSEvent = ETSEventTag; #[repr(C)] -#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, -} -impl _bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_data(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +pub struct ETSEventTag { + #[doc = "< Event signal, in same task, different Event with different signal"] + pub sig: ETSSignal, + #[doc = "< Event parameter, sometimes without usage, then will be set as 0"] + pub par: ETSParam, } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_2 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_2__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +pub type ETSTask = ::core::option::Option; +pub type ets_idle_cb_t = + ::core::option::Option; +extern "C" { + #[doc = " @brief Start the Espressif Task Scheduler, which is an infinit loop. Please do not add code after it."] + #[doc = ""] + #[doc = " @param none"] + #[doc = ""] + #[doc = " @return none"] + pub fn ets_run(); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_2__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + #[doc = " @brief Set the Idle callback, when Tasks are processed, will call the callback before CPU goto sleep."] + #[doc = ""] + #[doc = " @param ets_idle_cb_t func : The callback function."] + #[doc = ""] + #[doc = " @param void *arg : Argument of the callback."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_set_idle_cb(func: ets_idle_cb_t, arg: *mut ::std::os::raw::c_void); } -impl _bindgen_ty_2__bindgen_ty_2__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_data(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Init a task with processer, priority, queue to receive Event, queue length."] + #[doc = ""] + #[doc = " @param ETSTask task : The task processer."] + #[doc = ""] + #[doc = " @param uint8_t prio : Task priority, 0-31, bigger num with high priority, one priority with one task."] + #[doc = ""] + #[doc = " @param ETSEvent *queue : Queue belongs to the task, task always receives Events, Queue is circular used."] + #[doc = ""] + #[doc = " @param uint8_t qlen : Queue length."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_task(task: ETSTask, prio: u8, queue: *mut ETSEvent, qlen: u8); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_3 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_3__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Post an event to an Task."] + #[doc = ""] + #[doc = " @param uint8_t prio : Priority of the Task."] + #[doc = ""] + #[doc = " @param ETSSignal sig : Event signal."] + #[doc = ""] + #[doc = " @param ETSParam par : Event parameter"] + #[doc = ""] + #[doc = " @return ETS_OK : post successful"] + #[doc = " @return ETS_FAILED : post failed"] + pub fn ets_post(prio: u8, sig: ETSSignal, par: ETSParam) -> ETS_STATUS; } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_3__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + pub static mut exc_cause_table: [*const ::std::os::raw::c_char; 40usize]; } -impl _bindgen_ty_2__bindgen_ty_3__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_data(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Set Pro cpu Entry code, code can be called in PRO CPU when booting is not completed."] + #[doc = " When Pro CPU booting is completed, Pro CPU will call the Entry code if not NULL."] + #[doc = ""] + #[doc = " @param uint32_t start : the PRO Entry code address value in uint32_t"] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_set_user_start(start: u32); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_4 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_4__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Set Pro cpu Startup code, code can be called when booting is not completed, or in Entry code."] + #[doc = " When Entry code completed, CPU will call the Startup code if not NULL, else call ets_run."] + #[doc = ""] + #[doc = " @param uint32_t callback : the Startup code address value in uint32_t"] + #[doc = ""] + #[doc = " @return None : post successful"] + pub fn ets_set_startup_callback(callback: u32); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_4__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + #[doc = " @brief Set App cpu Entry code, code can be called in PRO CPU."] + #[doc = " When APP booting is completed, APP CPU will call the Entry code if not NULL."] + #[doc = ""] + #[doc = " @param uint32_t start : the APP Entry code address value in uint32_t, stored in register APPCPU_CTRL_REG_D."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_set_appcpu_boot_addr(start: u32); } -impl _bindgen_ty_2__bindgen_ty_4__bindgen_ty_1 { - #[inline] - pub fn sel(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_sel(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(sel: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let sel: u32 = unsafe { ::core::mem::transmute(sel) }; - sel as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief unpack the image in flash to iram and dram, no using cache."] + #[doc = ""] + #[doc = " @param uint32_t pos : Flash physical address."] + #[doc = ""] + #[doc = " @param uint32_t *entry_addr: the pointer of an variable that can store Entry code address."] + #[doc = ""] + #[doc = " @param bool jump : Jump into the code in the function or not."] + #[doc = ""] + #[doc = " @param bool config : Config the flash when unpacking the image, config should be done only once."] + #[doc = ""] + #[doc = " @return ETS_OK : unpack successful"] + #[doc = " @return ETS_FAILED : unpack failed"] + pub fn ets_unpack_flash_code_legacy( + pos: u32, + entry_addr: *mut u32, + jump: bool, + config: bool, + ) -> ETS_STATUS; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_5 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_5__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief unpack the image in flash to iram and dram, using cache, maybe decrypting."] + #[doc = ""] + #[doc = " @param uint32_t pos : Flash physical address."] + #[doc = ""] + #[doc = " @param uint32_t *entry_addr: the pointer of an variable that can store Entry code address."] + #[doc = ""] + #[doc = " @param bool jump : Jump into the code in the function or not."] + #[doc = ""] + #[doc = " @param bool sb_need_check : Do security boot check or not."] + #[doc = ""] + #[doc = " @param bool config : Config the flash when unpacking the image, config should be done only once."] + #[doc = ""] + #[doc = " @return ETS_OK : unpack successful"] + #[doc = " @return ETS_FAILED : unpack failed"] + pub fn ets_unpack_flash_code( + pos: u32, + entry_addr: *mut u32, + jump: bool, + sb_need_check: bool, + config: bool, + ) -> ETS_STATUS; } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_5__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + #[doc = " @brief Printf the strings to uart or other devices, similar with printf, simple than printf."] + #[doc = " Can not print float point data format, or longlong data format."] + #[doc = " So we maybe only use this in ROM."] + #[doc = ""] + #[doc = " @param const char *fmt : See printf."] + #[doc = ""] + #[doc = " @param ... : See printf."] + #[doc = ""] + #[doc = " @return int : the length printed to the output device."] + pub fn ets_printf(fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } -impl _bindgen_ty_2__bindgen_ty_5__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_data(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Output a char to uart, which uart to output(which is in uart module in ROM) is not in scope of the function."] + #[doc = " Can not print float point data format, or longlong data format"] + #[doc = ""] + #[doc = " @param char c : char to output."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_write_char_uart(c: ::std::os::raw::c_char); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_6 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_6__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Ets_printf have two output functions\u{ff1a} putc1 and putc2, both of which will be called if need ouput."] + #[doc = " To install putc1, which is defaulted installed as ets_write_char_uart in none silent boot mode, as NULL in silent mode."] + #[doc = ""] + #[doc = " @param void (*)(char) p: Output function to install."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_install_putc1( + p: ::core::option::Option, + ); +} +extern "C" { + #[doc = " @brief Ets_printf have two output functions\u{ff1a} putc1 and putc2, both of which will be called if need ouput."] + #[doc = " To install putc2, which is defaulted installed as NULL."] + #[doc = ""] + #[doc = " @param void (*)(char) p: Output function to install."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_install_putc2( + p: ::core::option::Option, + ); +} +extern "C" { + #[doc = " @brief Install putc1 as ets_write_char_uart."] + #[doc = " In silent boot mode(to void interfere the UART attached MCU), we can call this function, after booting ok."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_install_uart_printf(); } +#[doc = " @addtogroup ets_timer_apis"] +#[doc = " @{"] +pub type ETSTimerFunc = + ::core::option::Option; #[repr(C)] -#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_6__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct _ETSTIMER_ { + #[doc = "< timer linker"] + pub timer_next: *mut _ETSTIMER_, + #[doc = "< abstruct time when timer expire"] + pub timer_expire: u32, + #[doc = "< timer period, 0 means timer is not periodic repeated"] + pub timer_period: u32, + #[doc = "< timer handler"] + pub timer_func: ETSTimerFunc, + #[doc = "< timer handler argument"] + pub timer_arg: *mut ::std::os::raw::c_void, } -impl _bindgen_ty_2__bindgen_ty_6__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_data(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +pub type ETSTimer = _ETSTIMER_; +extern "C" { + #[doc = " @brief Init ets timer, this timer range is 640 us to 429496 ms"] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_timer_init(); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_7 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_7__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_timer_deinit(); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_7__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + #[doc = " @brief Arm an ets timer, this timer range is 640 us to 429496 ms."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param ETSTimer *timer : Timer struct pointer."] + #[doc = ""] + #[doc = " @param uint32_t tmout : Timer value in ms, range is 1 to 429496."] + #[doc = ""] + #[doc = " @param bool repeat : Timer is periodic repeated."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_timer_arm(timer: *mut ETSTimer, tmout: u32, repeat: bool); } -impl _bindgen_ty_2__bindgen_ty_7__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_data(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Arm an ets timer, this timer range is 640 us to 429496 ms."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param ETSTimer *timer : Timer struct pointer."] + #[doc = ""] + #[doc = " @param uint32_t tmout : Timer value in us, range is 1 to 429496729."] + #[doc = ""] + #[doc = " @param bool repeat : Timer is periodic repeated."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_timer_arm_us(ptimer: *mut ETSTimer, us: u32, repeat: bool); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_8 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_8__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Disarm an ets timer."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param ETSTimer *timer : Timer struct pointer."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_timer_disarm(timer: *mut ETSTimer); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_8__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, +extern "C" { + #[doc = " @brief Set timer callback and argument."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param ETSTimer *timer : Timer struct pointer."] + #[doc = ""] + #[doc = " @param ETSTimerFunc *pfunction : Timer callback."] + #[doc = ""] + #[doc = " @param void *parg : Timer callback argument."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_timer_setfn( + ptimer: *mut ETSTimer, + pfunction: ETSTimerFunc, + parg: *mut ::std::os::raw::c_void, + ); } -impl _bindgen_ty_2__bindgen_ty_8__bindgen_ty_1 { - #[inline] - pub fn strapping(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } - } - #[inline] - pub fn set_strapping(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 16u8, val as u64) - } - } - #[inline] - pub fn reserved16(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } - } - #[inline] - pub fn set_reserved16(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(16usize, 16u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - strapping: u32, - reserved16: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 16u8, { - let strapping: u32 = unsafe { ::core::mem::transmute(strapping) }; - strapping as u64 - }); - __bindgen_bitfield_unit.set(16usize, 16u8, { - let reserved16: u32 = unsafe { ::core::mem::transmute(reserved16) }; - reserved16 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Unset timer callback and argument to NULL."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param ETSTimer *timer : Timer struct pointer."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_timer_done(ptimer: *mut ETSTimer); +} +extern "C" { + #[doc = " @brief CPU do while loop for some time."] + #[doc = " In FreeRTOS task, please call FreeRTOS apis."] + #[doc = ""] + #[doc = " @param uint32_t us : Delay time in us."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_delay_us(us: u32); +} +extern "C" { + #[doc = " @brief Set the real CPU ticks per us to the ets, so that ets_delay_us will be accurate."] + #[doc = " Call this function when CPU frequency is changed."] + #[doc = ""] + #[doc = " @param uint32_t ticks_per_us : CPU ticks per us."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_update_cpu_frequency(ticks_per_us: u32); +} +extern "C" { + #[doc = " @brief Set the real CPU ticks per us to the ets, so that ets_delay_us will be accurate."] + #[doc = ""] + #[doc = " @note This function only sets the tick rate for the current CPU. It is located in ROM,"] + #[doc = " so the deep sleep stub can use it even if IRAM is not initialized yet."] + #[doc = ""] + #[doc = " @param uint32_t ticks_per_us : CPU ticks per us."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_update_cpu_frequency_rom(ticks_per_us: u32); +} +extern "C" { + #[doc = " @brief Get the real CPU ticks per us to the ets."] + #[doc = " This function do not return real CPU ticks per us, just the record in ets. It can be used to check with the real CPU frequency."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return uint32_t : CPU ticks per us record in ets."] + pub fn ets_get_cpu_frequency() -> u32; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_9 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_9__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Get xtal_freq/analog_8M*256 value calibrated in rtc module."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return uint32_t : xtal_freq/analog_8M*256."] + pub fn ets_get_xtal_scale() -> u32; } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_9__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + #[doc = " @brief Get xtal_freq value, If value not stored in RTC_STORE5, than store."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return uint32_t : if rtc store the value (RTC_STORE5 high 16 bits and low 16 bits with same value), read from rtc register."] + #[doc = " clock = (REG_READ(RTC_STORE5) & 0xffff) << 12;"] + #[doc = " else if analog_8M in efuse"] + #[doc = " clock = ets_get_xtal_scale() * 15625 * ets_efuse_get_8M_clock() / 40;"] + #[doc = " else clock = 26M."] + pub fn ets_get_detected_xtal_freq() -> u32; } -impl _bindgen_ty_2__bindgen_ty_9__bindgen_ty_1 { - #[inline] - pub fn data(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_data(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let data: u32 = unsafe { ::core::mem::transmute(data) }; - data as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +#[doc = " @addtogroup ets_intr_apis"] +#[doc = " @{"] +pub type ets_isr_t = + ::core::option::Option; +extern "C" { + #[doc = " @brief Attach a interrupt handler to a CPU interrupt number."] + #[doc = " This function equals to _xtos_set_interrupt_handler_arg(i, func, arg)."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param int i : CPU interrupt number."] + #[doc = ""] + #[doc = " @param ets_isr_t func : Interrupt handler."] + #[doc = ""] + #[doc = " @param void *arg : argument of the handler."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_isr_attach( + i: ::std::os::raw::c_int, + func: ets_isr_t, + arg: *mut ::std::os::raw::c_void, + ); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_10 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_10__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Mask the interrupts which show in mask bits."] + #[doc = " This function equals to _xtos_ints_off(mask)."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param uint32_t mask : BIT(i) means mask CPU interrupt number i."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_isr_mask(mask: u32); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_10__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + #[doc = " @brief Unmask the interrupts which show in mask bits."] + #[doc = " This function equals to _xtos_ints_on(mask)."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param uint32_t mask : BIT(i) means mask CPU interrupt number i."] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_isr_unmask(unmask: u32); } -impl _bindgen_ty_2__bindgen_ty_10__bindgen_ty_1 { - #[inline] - pub fn intr_st(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr_st(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - intr_st: u32, - reserved8: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr_st: u32 = unsafe { ::core::mem::transmute(intr_st) }; - intr_st as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Lock the interrupt to level 2."] + #[doc = " This function direct set the CPU registers."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_intr_lock(); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_11 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_11__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Unlock the interrupt to level 0."] + #[doc = " This function direct set the CPU registers."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_intr_unlock(); +} +extern "C" { + #[doc = " @brief Unlock the interrupt to level 0, and CPU will go into power save mode(wait interrupt)."] + #[doc = " This function direct set the CPU registers."] + #[doc = " In FreeRTOS, please call FreeRTOS apis, never call this api."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return None"] + pub fn ets_waiti0(); +} +extern "C" { + #[doc = " @brief Attach an CPU interrupt to a hardware source."] + #[doc = " We have 4 steps to use an interrupt:"] + #[doc = " 1.Attach hardware interrupt source to CPU. intr_matrix_set(0, ETS_WIFI_MAC_INTR_SOURCE, ETS_WMAC_INUM);"] + #[doc = " 2.Set interrupt handler. xt_set_interrupt_handler(ETS_WMAC_INUM, func, NULL);"] + #[doc = " 3.Enable interrupt for CPU. xt_ints_on(1 << ETS_WMAC_INUM);"] + #[doc = " 4.Enable interrupt in the module."] + #[doc = ""] + #[doc = " @param int cpu_no : The CPU which the interrupt number belongs."] + #[doc = ""] + #[doc = " @param uint32_t model_num : The interrupt hardware source number, please see the interrupt hardware source table."] + #[doc = ""] + #[doc = " @param uint32_t intr_num : The interrupt number CPU, please see the interrupt cpu using table."] + #[doc = ""] + #[doc = " @return None"] + pub fn intr_matrix_set(cpu_no: ::std::os::raw::c_int, model_num: u32, intr_num: u32); } +pub const STATUS_OK: STATUS = 0; +pub const STATUS_FAIL: STATUS = 1; +pub const STATUS_PENDING: STATUS = 2; +pub const STATUS_BUSY: STATUS = 3; +pub const STATUS_CANCEL: STATUS = 4; +pub type STATUS = u32; +pub type TaskFunction_t = + ::core::option::Option; #[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_11__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct XtosCoreState { + pub signature: ::std::os::raw::c_long, + pub restore_label: ::std::os::raw::c_long, + pub aftersave_label: ::std::os::raw::c_long, + pub areg: [::std::os::raw::c_long; 64usize], + pub caller_regs: [::std::os::raw::c_long; 16usize], + pub caller_regs_saved: ::std::os::raw::c_long, + pub windowbase: ::std::os::raw::c_long, + pub windowstart: ::std::os::raw::c_long, + pub sar: ::std::os::raw::c_long, + pub epc1: ::std::os::raw::c_long, + pub ps: ::std::os::raw::c_long, + pub excsave1: ::std::os::raw::c_long, + pub depc: ::std::os::raw::c_long, + pub epc: [::std::os::raw::c_long; 6usize], + pub eps: [::std::os::raw::c_long; 6usize], + pub excsave: [::std::os::raw::c_long; 6usize], + pub lcount: ::std::os::raw::c_long, + pub lbeg: ::std::os::raw::c_long, + pub lend: ::std::os::raw::c_long, + pub vecbase: ::std::os::raw::c_long, + pub atomctl: ::std::os::raw::c_long, + pub memctl: ::std::os::raw::c_long, + pub ccount: ::std::os::raw::c_long, + pub ccompare: [::std::os::raw::c_long; 3usize], + pub intenable: ::std::os::raw::c_long, + pub interrupt: ::std::os::raw::c_long, + pub icount: ::std::os::raw::c_long, + pub icountlevel: ::std::os::raw::c_long, + pub debugcause: ::std::os::raw::c_long, + pub dbreakc: [::std::os::raw::c_long; 2usize], + pub dbreaka: [::std::os::raw::c_long; 2usize], + pub ibreaka: [::std::os::raw::c_long; 2usize], + pub ibreakenable: ::std::os::raw::c_long, + pub misc: [::std::os::raw::c_long; 4usize], + pub cpenable: ::std::os::raw::c_long, + pub tlbs: [::std::os::raw::c_long; 16usize], + pub ncp: [::std::os::raw::c_char; 48usize], + pub cp0: [::std::os::raw::c_char; 72usize], + pub cp1: __IncompleteArrayField<::std::os::raw::c_char>, + pub cp2: __IncompleteArrayField<::std::os::raw::c_char>, + pub cp3: __IncompleteArrayField<::std::os::raw::c_char>, + pub cp4: __IncompleteArrayField<::std::os::raw::c_char>, + pub cp5: __IncompleteArrayField<::std::os::raw::c_char>, + pub cp6: __IncompleteArrayField<::std::os::raw::c_char>, + pub cp7: __IncompleteArrayField<::std::os::raw::c_char>, } -impl _bindgen_ty_2__bindgen_ty_11__bindgen_ty_1 { - #[inline] - pub fn intr_st(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr_st(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - intr_st: u32, - reserved8: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr_st: u32 = unsafe { ::core::mem::transmute(intr_st) }; - intr_st as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +pub type _xtos_handler_func = ::core::option::Option; +pub type _xtos_handler = _xtos_handler_func; +extern "C" { + pub fn _xtos_ints_off(mask: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_12 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_12__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + pub fn _xtos_ints_on(mask: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_12__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + pub fn _xtos_set_intlevel(intlevel: ::std::os::raw::c_int) -> ::std::os::raw::c_uint; } -impl _bindgen_ty_2__bindgen_ty_12__bindgen_ty_1 { - #[inline] - pub fn intr_st(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr_st(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - intr_st: u32, - reserved8: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr_st: u32 = unsafe { ::core::mem::transmute(intr_st) }; - intr_st as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + pub fn _xtos_set_min_intlevel(intlevel: ::std::os::raw::c_int) -> ::std::os::raw::c_uint; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_13 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_13__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + pub fn _xtos_restore_intlevel(restoreval: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_13__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + pub fn _xtos_restore_just_intlevel( + restoreval: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_uint; } -impl _bindgen_ty_2__bindgen_ty_13__bindgen_ty_1 { - #[inline] - pub fn intr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr: u32 = unsafe { ::core::mem::transmute(intr) }; - intr as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + pub fn _xtos_set_interrupt_handler(n: ::std::os::raw::c_int, f: _xtos_handler) + -> _xtos_handler; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_14 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_14__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + pub fn _xtos_set_interrupt_handler_arg( + n: ::std::os::raw::c_int, + f: _xtos_handler, + arg: *mut ::std::os::raw::c_void, + ) -> _xtos_handler; } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_14__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + pub fn _xtos_set_exception_handler(n: ::std::os::raw::c_int, f: _xtos_handler) + -> _xtos_handler; } -impl _bindgen_ty_2__bindgen_ty_14__bindgen_ty_1 { - #[inline] - pub fn intr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr: u32 = unsafe { ::core::mem::transmute(intr) }; - intr as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + pub fn _xtos_memep_initrams(); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_15 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_15__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + pub fn _xtos_memep_enable(flags: ::std::os::raw::c_int); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_15__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + pub fn _xtos_dispatch_level1_interrupts(); } -impl _bindgen_ty_2__bindgen_ty_15__bindgen_ty_1 { - #[inline] - pub fn intr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr: u32 = unsafe { ::core::mem::transmute(intr) }; - intr as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + pub fn _xtos_dispatch_level2_interrupts(); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_16 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_16__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + pub fn _xtos_dispatch_level3_interrupts(); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_16__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + pub fn _xtos_dispatch_level4_interrupts(); } -impl _bindgen_ty_2__bindgen_ty_16__bindgen_ty_1 { - #[inline] - pub fn intr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr: u32 = unsafe { ::core::mem::transmute(intr) }; - intr as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + pub fn _xtos_dispatch_level5_interrupts(); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_17 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_17__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + pub fn _xtos_dispatch_level6_interrupts(); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_17__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + pub fn _xtos_read_ints() -> ::std::os::raw::c_uint; } -impl _bindgen_ty_2__bindgen_ty_17__bindgen_ty_1 { - #[inline] - pub fn intr(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } - } - #[inline] - pub fn set_intr(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 8u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 8u8, { - let intr: u32 = unsafe { ::core::mem::transmute(intr) }; - intr as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + pub fn _xtos_clear_ints(mask: ::std::os::raw::c_uint); } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_18 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_18__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + pub fn _xtos_core_shutoff(flags: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_18__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, +extern "C" { + pub fn _xtos_core_save( + flags: ::std::os::raw::c_uint, + savearea: *mut XtosCoreState, + code: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; } -impl _bindgen_ty_2__bindgen_ty_18__bindgen_ty_1 { - #[inline] - pub fn reserved0(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } - } - #[inline] - pub fn set_reserved0(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 2u8, val as u64) - } - } - #[inline] - pub fn pad_driver(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } - } - #[inline] - pub fn set_pad_driver(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(2usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved3(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 4u8) as u32) } - } - #[inline] - pub fn set_reserved3(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(3usize, 4u8, val as u64) - } - } - #[inline] - pub fn int_type(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 3u8) as u32) } - } - #[inline] - pub fn set_int_type(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 3u8, val as u64) - } - } - #[inline] - pub fn wakeup_enable(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } - } - #[inline] - pub fn set_wakeup_enable(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 1u8, val as u64) - } - } - #[inline] - pub fn config(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 2u8) as u32) } - } - #[inline] - pub fn set_config(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 2u8, val as u64) - } - } - #[inline] - pub fn int_ena(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 5u8) as u32) } - } - #[inline] - pub fn set_int_ena(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(13usize, 5u8, val as u64) - } - } - #[inline] - pub fn reserved18(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 14u8) as u32) } - } - #[inline] - pub fn set_reserved18(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(18usize, 14u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - reserved0: u32, - pad_driver: u32, - reserved3: u32, - int_type: u32, - wakeup_enable: u32, - config: u32, - int_ena: u32, - reserved18: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 2u8, { - let reserved0: u32 = unsafe { ::core::mem::transmute(reserved0) }; - reserved0 as u64 - }); - __bindgen_bitfield_unit.set(2usize, 1u8, { - let pad_driver: u32 = unsafe { ::core::mem::transmute(pad_driver) }; - pad_driver as u64 - }); - __bindgen_bitfield_unit.set(3usize, 4u8, { - let reserved3: u32 = unsafe { ::core::mem::transmute(reserved3) }; - reserved3 as u64 - }); - __bindgen_bitfield_unit.set(7usize, 3u8, { - let int_type: u32 = unsafe { ::core::mem::transmute(int_type) }; - int_type as u64 - }); - __bindgen_bitfield_unit.set(10usize, 1u8, { - let wakeup_enable: u32 = unsafe { ::core::mem::transmute(wakeup_enable) }; - wakeup_enable as u64 - }); - __bindgen_bitfield_unit.set(11usize, 2u8, { - let config: u32 = unsafe { ::core::mem::transmute(config) }; - config as u64 - }); - __bindgen_bitfield_unit.set(13usize, 5u8, { - let int_ena: u32 = unsafe { ::core::mem::transmute(int_ena) }; - int_ena as u64 - }); - __bindgen_bitfield_unit.set(18usize, 14u8, { - let reserved18: u32 = unsafe { ::core::mem::transmute(reserved18) }; - reserved18 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + pub fn _xtos_core_restore(retvalue: ::std::os::raw::c_uint, savearea: *mut XtosCoreState); +} +extern "C" { + pub fn _xtos_timer_0_delta(cycles: ::std::os::raw::c_int); +} +extern "C" { + pub fn _xtos_timer_1_delta(cycles: ::std::os::raw::c_int); +} +extern "C" { + pub fn _xtos_timer_2_delta(cycles: ::std::os::raw::c_int); +} +extern "C" { + #[doc = " Initialize the crosscore interrupt system for this CPU."] + #[doc = " This needs to be called once on every CPU that is used"] + #[doc = " by FreeRTOS."] + #[doc = ""] + #[doc = " If multicore FreeRTOS support is enabled, this will be"] + #[doc = " called automatically by the startup code and should not"] + #[doc = " be called manually."] + pub fn esp_crosscore_int_init(); +} +extern "C" { + #[doc = " Send an interrupt to a CPU indicating it should yield its"] + #[doc = " currently running task in favour of a higher-priority task"] + #[doc = " that presumably just woke up."] + #[doc = ""] + #[doc = " This is used internally by FreeRTOS in multicore mode"] + #[doc = " and should not be called by the user."] + #[doc = ""] + #[doc = " @param core_id Core that should do the yielding"] + pub fn esp_crosscore_int_send_yield(core_id: ::std::os::raw::c_int); +} +extern "C" { + #[doc = " Send an interrupt to a CPU indicating it should update its"] + #[doc = " CCOMPARE1 value due to a frequency switch."] + #[doc = ""] + #[doc = " This is used internally when dynamic frequency switching is"] + #[doc = " enabled, and should not be called from application code."] + #[doc = ""] + #[doc = " @param core_id Core that should update its CCOMPARE1 value"] + pub fn esp_crosscore_int_send_freq_switch(core_id: ::std::os::raw::c_int); } #[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_19 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_19__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +#[derive(Debug, Copy, Clone)] +pub struct esp_timer { + _unused: [u8; 0], } +#[doc = " @brief Opaque type representing a single esp_timer"] +pub type esp_timer_handle_t = *mut esp_timer; +#[doc = " @brief Timer callback function type"] +#[doc = " @param arg pointer to opaque user-specific data"] +pub type esp_timer_cb_t = + ::core::option::Option; +#[doc = "!< Callback is called from timer task"] +pub const esp_timer_dispatch_t_ESP_TIMER_TASK: esp_timer_dispatch_t = 0; +#[doc = " @brief Method for dispatching timer callback"] +pub type esp_timer_dispatch_t = u32; +#[doc = " @brief Timer configuration passed to esp_timer_create"] #[repr(C)] -#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_19__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct esp_timer_create_args_t { + #[doc = "!< Function to call when timer expires"] + pub callback: esp_timer_cb_t, + #[doc = "!< Argument to pass to the callback"] + pub arg: *mut ::std::os::raw::c_void, + #[doc = "!< Call the callback from task or from ISR"] + pub dispatch_method: esp_timer_dispatch_t, + #[doc = "!< Timer name, used in esp_timer_dump function"] + pub name: *const ::std::os::raw::c_char, } -impl _bindgen_ty_2__bindgen_ty_19__bindgen_ty_1 { - #[inline] - pub fn rtc_max(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } - } - #[inline] - pub fn set_rtc_max(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 10u8, val as u64) - } - } - #[inline] - pub fn reserved10(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 21u8) as u32) } - } - #[inline] - pub fn set_reserved10(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 21u8, val as u64) - } - } - #[inline] - pub fn start(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } - } - #[inline] - pub fn set_start(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(31usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - rtc_max: u32, - reserved10: u32, - start: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 10u8, { - let rtc_max: u32 = unsafe { ::core::mem::transmute(rtc_max) }; - rtc_max as u64 - }); - __bindgen_bitfield_unit.set(10usize, 21u8, { - let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; - reserved10 as u64 - }); - __bindgen_bitfield_unit.set(31usize, 1u8, { - let start: u32 = unsafe { ::core::mem::transmute(start) }; - start as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Initialize esp_timer library"] + #[doc = ""] + #[doc = " @note This function is called from startup code. Applications do not need"] + #[doc = " to call this function before using other esp_timer APIs."] + #[doc = ""] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_NO_MEM if allocation has failed"] + #[doc = " - ESP_ERR_INVALID_STATE if already initialized"] + #[doc = " - other errors from interrupt allocator"] + pub fn esp_timer_init() -> esp_err_t; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_20 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_20__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief De-initialize esp_timer library"] + #[doc = ""] + #[doc = " @note Normally this function should not be called from applications"] + #[doc = ""] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_STATE if not yet initialized"] + pub fn esp_timer_deinit() -> esp_err_t; +} +extern "C" { + #[doc = " @brief Create an esp_timer instance"] + #[doc = ""] + #[doc = " @note When done using the timer, delete it with esp_timer_delete function."] + #[doc = ""] + #[doc = " @param create_args Pointer to a structure with timer creation arguments."] + #[doc = " Not saved by the library, can be allocated on the stack."] + #[doc = " @param[out] out_handle Output, pointer to esp_timer_handle_t variable which"] + #[doc = " will hold the created timer handle."] + #[doc = ""] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_ARG if some of the create_args are not valid"] + #[doc = " - ESP_ERR_INVALID_STATE if esp_timer library is not initialized yet"] + #[doc = " - ESP_ERR_NO_MEM if memory allocation fails"] + pub fn esp_timer_create( + create_args: *const esp_timer_create_args_t, + out_handle: *mut esp_timer_handle_t, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Start one-shot timer"] + #[doc = ""] + #[doc = " Timer should not be running when this function is called."] + #[doc = ""] + #[doc = " @param timer timer handle created using esp_timer_create"] + #[doc = " @param timeout_us timer timeout, in microseconds relative to the current moment"] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_ARG if the handle is invalid"] + #[doc = " - ESP_ERR_INVALID_STATE if the timer is already running"] + pub fn esp_timer_start_once(timer: esp_timer_handle_t, timeout_us: u64) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Start a periodic timer"] + #[doc = ""] + #[doc = " Timer should not be running when this function is called. This function will"] + #[doc = " start the timer which will trigger every 'period' microseconds."] + #[doc = ""] + #[doc = " @param timer timer handle created using esp_timer_create"] + #[doc = " @param period timer period, in microseconds"] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_ARG if the handle is invalid"] + #[doc = " - ESP_ERR_INVALID_STATE if the timer is already running"] + pub fn esp_timer_start_periodic(timer: esp_timer_handle_t, period: u64) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Stop the timer"] + #[doc = ""] + #[doc = " This function stops the timer previously started using esp_timer_start_once"] + #[doc = " or esp_timer_start_periodic."] + #[doc = ""] + #[doc = " @param timer timer handle created using esp_timer_create"] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_STATE if the timer is not running"] + pub fn esp_timer_stop(timer: esp_timer_handle_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Delete an esp_timer instance"] + #[doc = ""] + #[doc = " The timer must be stopped before deleting. A one-shot timer which has expired"] + #[doc = " does not need to be stopped."] + #[doc = ""] + #[doc = " @param timer timer handle allocated using esp_timer_create"] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_STATE if the timer is not running"] + pub fn esp_timer_delete(timer: esp_timer_handle_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Get time in microseconds since boot"] + #[doc = " @return number of microseconds since esp_timer_init was called (this normally"] + #[doc = " happens early during application startup)."] + pub fn esp_timer_get_time() -> i64; +} +extern "C" { + #[doc = " @brief Get the timestamp when the next timeout is expected to occur"] + #[doc = " @return Timestamp of the nearest timer event, in microseconds."] + #[doc = " The timebase is the same as for the values returned by esp_timer_get_time."] + pub fn esp_timer_get_next_alarm() -> i64; +} +extern "C" { + #[doc = " @brief Dump the list of timers to a stream"] + #[doc = ""] + #[doc = " If CONFIG_ESP_TIMER_PROFILING option is enabled, this prints the list of all"] + #[doc = " the existing timers. Otherwise, only the list active timers is printed."] + #[doc = ""] + #[doc = " The format is:"] + #[doc = ""] + #[doc = " name period alarm times_armed times_triggered total_callback_run_time"] + #[doc = ""] + #[doc = " where:"] + #[doc = ""] + #[doc = " name \u{2014} timer name (if CONFIG_ESP_TIMER_PROFILING is defined), or timer pointer"] + #[doc = " period \u{2014} period of timer, in microseconds, or 0 for one-shot timer"] + #[doc = " alarm - time of the next alarm, in microseconds since boot, or 0 if the timer"] + #[doc = " is not started"] + #[doc = ""] + #[doc = " The following fields are printed if CONFIG_ESP_TIMER_PROFILING is defined:"] + #[doc = ""] + #[doc = " times_armed \u{2014} number of times the timer was armed via esp_timer_start_X"] + #[doc = " times_triggered - number of times the callback was called"] + #[doc = " total_callback_run_time - total time taken by callback to execute, across all calls"] + #[doc = ""] + #[doc = " @param stream stream (such as stdout) to dump the information to"] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_NO_MEM if can not allocate temporary buffer for the output"] + pub fn esp_timer_dump(stream: *mut FILE) -> esp_err_t; } #[repr(C)] -#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_20__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct multi_heap_info { + _unused: [u8; 0], } -impl _bindgen_ty_2__bindgen_ty_20__bindgen_ty_1 { - #[inline] - pub fn value_sync2(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } - } - #[inline] - pub fn set_value_sync2(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 20u8, val as u64) - } - } - #[inline] - pub fn reserved20(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 10u8) as u32) } - } - #[inline] - pub fn set_reserved20(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(20usize, 10u8, val as u64) - } - } - #[inline] - pub fn rdy_real(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) } - } - #[inline] - pub fn set_rdy_real(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(30usize, 1u8, val as u64) - } - } - #[inline] - pub fn rdy_sync2(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } - } - #[inline] - pub fn set_rdy_sync2(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(31usize, 1u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - value_sync2: u32, - reserved20: u32, - rdy_real: u32, - rdy_sync2: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 20u8, { - let value_sync2: u32 = unsafe { ::core::mem::transmute(value_sync2) }; - value_sync2 as u64 - }); - __bindgen_bitfield_unit.set(20usize, 10u8, { - let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; - reserved20 as u64 - }); - __bindgen_bitfield_unit.set(30usize, 1u8, { - let rdy_real: u32 = unsafe { ::core::mem::transmute(rdy_real) }; - rdy_real as u64 - }); - __bindgen_bitfield_unit.set(31usize, 1u8, { - let rdy_sync2: u32 = unsafe { ::core::mem::transmute(rdy_sync2) }; - rdy_sync2 as u64 - }); - __bindgen_bitfield_unit - } +#[doc = " @brief Opaque handle to a registered heap"] +pub type multi_heap_handle_t = *mut multi_heap_info; +extern "C" { + #[doc = " @brief malloc() a buffer in a given heap"] + #[doc = ""] + #[doc = " Semantics are the same as standard malloc(), only the returned buffer will be allocated in the specified heap."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @param size Size of desired buffer."] + #[doc = ""] + #[doc = " @return Pointer to new memory, or NULL if allocation fails."] + pub fn multi_heap_malloc(heap: multi_heap_handle_t, size: usize) + -> *mut ::std::os::raw::c_void; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_21 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_21__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief free() a buffer in a given heap."] + #[doc = ""] + #[doc = " Semantics are the same as standard free(), only the argument 'p' must be NULL or have been allocated in the specified heap."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @param p NULL, or a pointer previously returned from multi_heap_malloc() or multi_heap_realloc() for the same heap."] + pub fn multi_heap_free(heap: multi_heap_handle_t, p: *mut ::std::os::raw::c_void); } -#[repr(C)] -#[repr(align(4))] -#[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_21__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +extern "C" { + #[doc = " @brief realloc() a buffer in a given heap."] + #[doc = ""] + #[doc = " Semantics are the same as standard realloc(), only the argument 'p' must be NULL or have been allocated in the specified heap."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @param p NULL, or a pointer previously returned from multi_heap_malloc() or multi_heap_realloc() for the same heap."] + #[doc = " @param size Desired new size for buffer."] + #[doc = ""] + #[doc = " @return New buffer of 'size' containing contents of 'p', or NULL if reallocation failed."] + pub fn multi_heap_realloc( + heap: multi_heap_handle_t, + p: *mut ::std::os::raw::c_void, + size: usize, + ) -> *mut ::std::os::raw::c_void; } -impl _bindgen_ty_2__bindgen_ty_21__bindgen_ty_1 { - #[inline] - pub fn func_sel(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 6u8) as u32) } - } - #[inline] - pub fn set_func_sel(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 6u8, val as u64) - } - } - #[inline] - pub fn sig_in_inv(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } - } - #[inline] - pub fn set_sig_in_inv(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(6usize, 1u8, val as u64) - } - } - #[inline] - pub fn sig_in_sel(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } - } - #[inline] - pub fn set_sig_in_sel(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(7usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved8(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } - } - #[inline] - pub fn set_reserved8(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(8usize, 24u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - func_sel: u32, - sig_in_inv: u32, - sig_in_sel: u32, - reserved8: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 6u8, { - let func_sel: u32 = unsafe { ::core::mem::transmute(func_sel) }; - func_sel as u64 - }); - __bindgen_bitfield_unit.set(6usize, 1u8, { - let sig_in_inv: u32 = unsafe { ::core::mem::transmute(sig_in_inv) }; - sig_in_inv as u64 - }); - __bindgen_bitfield_unit.set(7usize, 1u8, { - let sig_in_sel: u32 = unsafe { ::core::mem::transmute(sig_in_sel) }; - sig_in_sel as u64 - }); - __bindgen_bitfield_unit.set(8usize, 24u8, { - let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; - reserved8 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Return the size that a particular pointer was allocated with."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @param p Pointer, must have been previously returned from multi_heap_malloc() or multi_heap_realloc() for the same heap."] + #[doc = ""] + #[doc = " @return Size of the memory allocated at this block. May be more than the original size argument, due"] + #[doc = " to padding and minimum block sizes."] + pub fn multi_heap_get_allocated_size( + heap: multi_heap_handle_t, + p: *mut ::std::os::raw::c_void, + ) -> usize; +} +extern "C" { + #[doc = " @brief Register a new heap for use"] + #[doc = ""] + #[doc = " This function initialises a heap at the specified address, and returns a handle for future heap operations."] + #[doc = ""] + #[doc = " There is no equivalent function for deregistering a heap - if all blocks in the heap are free, you can immediately start using the memory for other purposes."] + #[doc = ""] + #[doc = " @param start Start address of the memory to use for a new heap."] + #[doc = " @param size Size (in bytes) of the new heap."] + #[doc = ""] + #[doc = " @return Handle of a new heap ready for use, or NULL if the heap region was too small to be initialised."] + pub fn multi_heap_register( + start: *mut ::std::os::raw::c_void, + size: usize, + ) -> multi_heap_handle_t; +} +extern "C" { + #[doc = " @brief Associate a private lock pointer with a heap"] + #[doc = ""] + #[doc = " The lock argument is supplied to the MULTI_HEAP_LOCK() and MULTI_HEAP_UNLOCK() macros, defined in multi_heap_platform.h."] + #[doc = ""] + #[doc = " The lock in question must be recursive."] + #[doc = ""] + #[doc = " When the heap is first registered, the associated lock is NULL."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @param lock Optional pointer to a locking structure to associate with this heap."] + pub fn multi_heap_set_lock(heap: multi_heap_handle_t, lock: *mut ::std::os::raw::c_void); +} +extern "C" { + #[doc = " @brief Dump heap information to stdout"] + #[doc = ""] + #[doc = " For debugging purposes, this function dumps information about every block in the heap to stdout."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + pub fn multi_heap_dump(heap: multi_heap_handle_t); +} +extern "C" { + #[doc = " @brief Check heap integrity"] + #[doc = ""] + #[doc = " Walks the heap and checks all heap data structures are valid. If any errors are detected, an error-specific message"] + #[doc = " can be optionally printed to stderr. Print behaviour can be overriden at compile time by defining"] + #[doc = " MULTI_CHECK_FAIL_PRINTF in multi_heap_platform.h."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @param print_errors If true, errors will be printed to stderr."] + #[doc = " @return true if heap is valid, false otherwise."] + pub fn multi_heap_check(heap: multi_heap_handle_t, print_errors: bool) -> bool; +} +extern "C" { + #[doc = " @brief Return free heap size"] + #[doc = ""] + #[doc = " Returns the number of bytes available in the heap."] + #[doc = ""] + #[doc = " Equivalent to the total_free_bytes member returned by multi_heap_get_heap_info()."] + #[doc = ""] + #[doc = " Note that the heap may be fragmented, so the actual maximum size for a single malloc() may be lower. To know this"] + #[doc = " size, see the largest_free_block member returned by multi_heap_get_heap_info()."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @return Number of free bytes."] + pub fn multi_heap_free_size(heap: multi_heap_handle_t) -> usize; } -#[repr(C)] -#[derive(Copy, Clone)] -pub union _bindgen_ty_2__bindgen_ty_22 { - pub __bindgen_anon_1: _bindgen_ty_2__bindgen_ty_22__bindgen_ty_1, - pub val: u32, - _bindgen_union_align: u32, +extern "C" { + #[doc = " @brief Return the lifetime minimum free heap size"] + #[doc = ""] + #[doc = " Equivalent to the minimum_free_bytes member returned by multi_heap_get_info()."] + #[doc = ""] + #[doc = " Returns the lifetime \"low water mark\" of possible values returned from multi_free_heap_size(), for the specified"] + #[doc = " heap."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @return Number of free bytes."] + pub fn multi_heap_minimum_free_size(heap: multi_heap_handle_t) -> usize; } +#[doc = " @brief Structure to access heap metadata via multi_heap_get_info"] #[repr(C)] -#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct _bindgen_ty_2__bindgen_ty_22__bindgen_ty_1 { - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +pub struct multi_heap_info_t { + #[doc = "< Total free bytes in the heap. Equivalent to multi_free_heap_size()."] + pub total_free_bytes: usize, + #[doc = "< Total bytes allocated to data in the heap."] + pub total_allocated_bytes: usize, + #[doc = "< Size of largest free block in the heap. This is the largest malloc-able size."] + pub largest_free_block: usize, + #[doc = "< Lifetime minimum free heap size. Equivalent to multi_minimum_free_heap_size()."] + pub minimum_free_bytes: usize, + #[doc = "< Number of (variable size) blocks allocated in the heap."] + pub allocated_blocks: usize, + #[doc = "< Number of (variable size) free blocks in the heap."] + pub free_blocks: usize, + #[doc = "< Total number of (variable size) blocks in the heap."] + pub total_blocks: usize, } -impl _bindgen_ty_2__bindgen_ty_22__bindgen_ty_1 { - #[inline] - pub fn func_sel(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 9u8) as u32) } - } - #[inline] - pub fn set_func_sel(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 9u8, val as u64) - } - } - #[inline] - pub fn inv_sel(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } - } - #[inline] - pub fn set_inv_sel(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(9usize, 1u8, val as u64) - } - } - #[inline] - pub fn oen_sel(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } - } - #[inline] - pub fn set_oen_sel(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(10usize, 1u8, val as u64) - } - } - #[inline] - pub fn oen_inv_sel(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } - } - #[inline] - pub fn set_oen_inv_sel(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(11usize, 1u8, val as u64) - } - } - #[inline] - pub fn reserved12(&self) -> u32 { - unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) } - } - #[inline] - pub fn set_reserved12(&mut self, val: u32) { - unsafe { - let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(12usize, 20u8, val as u64) - } - } - #[inline] - pub fn new_bitfield_1( - func_sel: u32, - inv_sel: u32, - oen_sel: u32, - oen_inv_sel: u32, - reserved12: u32, - ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = - Default::default(); - __bindgen_bitfield_unit.set(0usize, 9u8, { - let func_sel: u32 = unsafe { ::core::mem::transmute(func_sel) }; - func_sel as u64 - }); - __bindgen_bitfield_unit.set(9usize, 1u8, { - let inv_sel: u32 = unsafe { ::core::mem::transmute(inv_sel) }; - inv_sel as u64 - }); - __bindgen_bitfield_unit.set(10usize, 1u8, { - let oen_sel: u32 = unsafe { ::core::mem::transmute(oen_sel) }; - oen_sel as u64 - }); - __bindgen_bitfield_unit.set(11usize, 1u8, { - let oen_inv_sel: u32 = unsafe { ::core::mem::transmute(oen_inv_sel) }; - oen_inv_sel as u64 - }); - __bindgen_bitfield_unit.set(12usize, 20u8, { - let reserved12: u32 = unsafe { ::core::mem::transmute(reserved12) }; - reserved12 as u64 - }); - __bindgen_bitfield_unit - } +extern "C" { + #[doc = " @brief Return metadata about a given heap"] + #[doc = ""] + #[doc = " Fills a multi_heap_info_t structure with information about the specified heap."] + #[doc = ""] + #[doc = " @param heap Handle to a registered heap."] + #[doc = " @param info Pointer to a structure to fill with heap metadata."] + pub fn multi_heap_get_info(heap: multi_heap_handle_t, info: *mut multi_heap_info_t); } -pub type gpio_dev_t = _bindgen_ty_2; extern "C" { - #[link_name = "\u{1}GPIO"] - pub static mut GPIO: gpio_dev_t; + #[doc = " @brief Allocate a chunk of memory which has the given capabilities"] + #[doc = ""] + #[doc = " Equivalent semantics to libc malloc(), for capability-aware memory."] + #[doc = ""] + #[doc = " In IDF, ``malloc(p)`` is equivalent to ``heap_caps_malloc(p, MALLOC_CAP_8BIT)``."] + #[doc = ""] + #[doc = " @param size Size, in bytes, of the amount of memory to allocate"] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory to be returned"] + #[doc = ""] + #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] + pub fn heap_caps_malloc(size: usize, caps: u32) -> *mut ::std::os::raw::c_void; } -pub const GPIO_INT_TYPE_GPIO_PIN_INTR_DISABLE: GPIO_INT_TYPE = 0; -pub const GPIO_INT_TYPE_GPIO_PIN_INTR_POSEDGE: GPIO_INT_TYPE = 1; -pub const GPIO_INT_TYPE_GPIO_PIN_INTR_NEGEDGE: GPIO_INT_TYPE = 2; -pub const GPIO_INT_TYPE_GPIO_PIN_INTR_ANYEDGE: GPIO_INT_TYPE = 3; -pub const GPIO_INT_TYPE_GPIO_PIN_INTR_LOLEVEL: GPIO_INT_TYPE = 4; -pub const GPIO_INT_TYPE_GPIO_PIN_INTR_HILEVEL: GPIO_INT_TYPE = 5; -pub type GPIO_INT_TYPE = u32; -pub type gpio_intr_handler_fn_t = ::core::option::Option< - unsafe extern "C" fn(intr_mask: u32, high: bool, arg: *mut ::std::os::raw::c_void), ->; extern "C" { - #[doc = " @brief Initialize GPIO. This includes reading the GPIO Configuration DataSet"] - #[doc = " to initialize \"output enables\" and pin configurations for each gpio pin."] - #[doc = " Please do not call this function in SDK."] + #[doc = " @brief Free memory previously allocated via heap_caps_malloc() or heap_caps_realloc()."] #[doc = ""] - #[doc = " @param None"] + #[doc = " Equivalent semantics to libc free(), for capability-aware memory."] + #[doc = ""] + #[doc = " In IDF, ``free(p)`` is equivalent to ``heap_caps_free(p)``."] + #[doc = ""] + #[doc = " @param ptr Pointer to memory previously returned from heap_caps_malloc() or heap_caps_realloc(). Can be NULL."] + pub fn heap_caps_free(ptr: *mut ::std::os::raw::c_void); +} +extern "C" { + #[doc = " @brief Reallocate memory previously allocated via heap_caps_malloc() or heap_caps_realloc()."] + #[doc = ""] + #[doc = " Equivalent semantics to libc realloc(), for capability-aware memory."] + #[doc = ""] + #[doc = " In IDF, ``realloc(p, s)`` is equivalent to ``heap_caps_realloc(p, s, MALLOC_CAP_8BIT)``."] + #[doc = ""] + #[doc = " 'caps' parameter can be different to the capabilities that any original 'ptr' was allocated with. In this way,"] + #[doc = " realloc can be used to \"move\" a buffer if necessary to ensure it meets a new set of capabilities."] + #[doc = ""] + #[doc = " @param ptr Pointer to previously allocated memory, or NULL for a new allocation."] + #[doc = " @param size Size of the new buffer requested, or 0 to free the buffer."] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory desired for the new allocation."] + #[doc = ""] + #[doc = " @return Pointer to a new buffer of size 'size' with capabilities 'caps', or NULL if allocation failed."] + pub fn heap_caps_realloc( + ptr: *mut ::std::os::raw::c_void, + size: usize, + caps: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + #[doc = " @brief Allocate a chunk of memory which has the given capabilities. The initialized value in the memory is set to zero."] + #[doc = ""] + #[doc = " Equivalent semantics to libc calloc(), for capability-aware memory."] + #[doc = ""] + #[doc = " In IDF, ``calloc(p)`` is equivalent to ``heap_caps_calloc(p, MALLOC_CAP_8BIT)``."] + #[doc = ""] + #[doc = " @param n Number of continuing chunks of memory to allocate"] + #[doc = " @param size Size, in bytes, of a chunk of memory to allocate"] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory to be returned"] + #[doc = ""] + #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] + pub fn heap_caps_calloc(n: usize, size: usize, caps: u32) -> *mut ::std::os::raw::c_void; +} +extern "C" { + #[doc = " @brief Get the total free size of all the regions that have the given capabilities"] + #[doc = ""] + #[doc = " This function takes all regions capable of having the given capabilities allocated in them"] + #[doc = " and adds up the free space they have."] + #[doc = ""] + #[doc = " Note that because of heap fragmentation it is probably not possible to allocate a single block of memory"] + #[doc = " of this size. Use heap_caps_get_largest_free_block() for this purpose."] + #[doc = ""] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory"] + #[doc = ""] + #[doc = " @return Amount of free bytes in the regions"] + pub fn heap_caps_get_free_size(caps: u32) -> usize; +} +extern "C" { + #[doc = " @brief Get the total minimum free memory of all regions with the given capabilities"] + #[doc = ""] + #[doc = " This adds all the low water marks of the regions capable of delivering the memory"] + #[doc = " with the given capabilities."] + #[doc = ""] + #[doc = " Note the result may be less than the global all-time minimum available heap of this kind, as \"low water marks\" are"] + #[doc = " tracked per-region. Individual regions' heaps may have reached their \"low water marks\" at different points in time. However"] + #[doc = " this result still gives a \"worst case\" indication for all-time minimum free heap."] + #[doc = ""] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory"] + #[doc = ""] + #[doc = " @return Amount of free bytes in the regions"] + pub fn heap_caps_get_minimum_free_size(caps: u32) -> usize; +} +extern "C" { + #[doc = " @brief Get the largest free block of memory able to be allocated with the given capabilities."] + #[doc = ""] + #[doc = " Returns the largest value of ``s`` for which ``heap_caps_malloc(s, caps)`` will succeed."] + #[doc = ""] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory"] + #[doc = ""] + #[doc = " @return Size of largest free block in bytes."] + pub fn heap_caps_get_largest_free_block(caps: u32) -> usize; +} +extern "C" { + #[doc = " @brief Get heap info for all regions with the given capabilities."] + #[doc = ""] + #[doc = " Calls multi_heap_info() on all heaps which share the given capabilities. The information returned is an aggregate"] + #[doc = " across all matching heaps. The meanings of fields are the same as defined for multi_heap_info_t, except that"] + #[doc = " ``minimum_free_bytes`` has the same caveats described in heap_caps_get_minimum_free_size()."] + #[doc = ""] + #[doc = " @param info Pointer to a structure which will be filled with relevant"] + #[doc = " heap metadata."] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory"] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_init(); + pub fn heap_caps_get_info(info: *mut multi_heap_info_t, caps: u32); } extern "C" { - #[doc = " @brief Change GPIO(0-31) pin output by setting, clearing, or disabling pins, GPIO0<->BIT(0)."] - #[doc = " There is no particular ordering guaranteed; so if the order of writes is significant,"] - #[doc = " calling code should divide a single call into multiple calls."] + #[doc = " @brief Print a summary of all memory with the given capabilities."] #[doc = ""] - #[doc = " @param uint32_t set_mask : the gpios that need high level."] + #[doc = " Calls multi_heap_info on all heaps which share the given capabilities, and"] + #[doc = " prints a two-line summary for each, then a total summary."] #[doc = ""] - #[doc = " @param uint32_t clear_mask : the gpios that need low level."] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory"] #[doc = ""] - #[doc = " @param uint32_t enable_mask : the gpios that need be changed."] + pub fn heap_caps_print_heap_info(caps: u32); +} +extern "C" { + #[doc = " @brief Check integrity of all heap memory in the system."] #[doc = ""] - #[doc = " @param uint32_t disable_mask : the gpios that need diable output."] + #[doc = " Calls multi_heap_check on all heaps. Optionally print errors if heaps are corrupt."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_output_set(set_mask: u32, clear_mask: u32, enable_mask: u32, disable_mask: u32); + #[doc = " Calling this function is equivalent to calling heap_caps_check_integrity"] + #[doc = " with the caps argument set to MALLOC_CAP_INVALID."] + #[doc = ""] + #[doc = " @param print_errors Print specific errors if heap corruption is found."] + #[doc = ""] + #[doc = " @return True if all heaps are valid, False if at least one heap is corrupt."] + pub fn heap_caps_check_integrity_all(print_errors: bool) -> bool; } extern "C" { - #[doc = " @brief Change GPIO(32-39) pin output by setting, clearing, or disabling pins, GPIO32<->BIT(0)."] - #[doc = " There is no particular ordering guaranteed; so if the order of writes is significant,"] - #[doc = " calling code should divide a single call into multiple calls."] - #[doc = ""] - #[doc = " @param uint32_t set_mask : the gpios that need high level."] + #[doc = " @brief Check integrity of all heaps with the given capabilities."] #[doc = ""] - #[doc = " @param uint32_t clear_mask : the gpios that need low level."] + #[doc = " Calls multi_heap_check on all heaps which share the given capabilities. Optionally"] + #[doc = " print errors if the heaps are corrupt."] #[doc = ""] - #[doc = " @param uint32_t enable_mask : the gpios that need be changed."] + #[doc = " See also heap_caps_check_integrity_all to check all heap memory"] + #[doc = " in the system and heap_caps_check_integrity_addr to check memory"] + #[doc = " around a single address."] #[doc = ""] - #[doc = " @param uint32_t disable_mask : the gpios that need diable output."] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory"] + #[doc = " @param print_errors Print specific errors if heap corruption is found."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_output_set_high( - set_mask: u32, - clear_mask: u32, - enable_mask: u32, - disable_mask: u32, - ); + #[doc = " @return True if all heaps are valid, False if at least one heap is corrupt."] + pub fn heap_caps_check_integrity(caps: u32, print_errors: bool) -> bool; } extern "C" { - #[doc = " @brief Sample the value of GPIO input pins(0-31) and returns a bitmask."] + #[doc = " @brief Check integrity of heap memory around a given address."] #[doc = ""] - #[doc = " @param None"] + #[doc = " This function can be used to check the integrity of a single region of heap memory,"] + #[doc = " which contains the given address."] #[doc = ""] - #[doc = " @return uint32_t : bitmask for GPIO input pins, BIT(0) for GPIO0."] - pub fn gpio_input_get() -> u32; + #[doc = " This can be useful if debugging heap integrity for corruption at a known address,"] + #[doc = " as it has a lower overhead than checking all heap regions. Note that if the corrupt"] + #[doc = " address moves around between runs (due to timing or other factors) then this approach"] + #[doc = " won't work and you should call heap_caps_check_integrity or"] + #[doc = " heap_caps_check_integrity_all instead."] + #[doc = ""] + #[doc = " @note The entire heap region around the address is checked, not only the adjacent"] + #[doc = " heap blocks."] + #[doc = ""] + #[doc = " @param addr Address in memory. Check for corruption in region containing this address."] + #[doc = " @param print_errors Print specific errors if heap corruption is found."] + #[doc = ""] + #[doc = " @return True if the heap containing the specified address is valid,"] + #[doc = " False if at least one heap is corrupt or the address doesn't belong to a heap region."] + pub fn heap_caps_check_integrity_addr(addr: isize, print_errors: bool) -> bool; } extern "C" { - #[doc = " @brief Sample the value of GPIO input pins(32-39) and returns a bitmask."] + #[doc = " @brief Enable malloc() in external memory and set limit below which"] + #[doc = " malloc() attempts are placed in internal memory."] #[doc = ""] - #[doc = " @param None"] + #[doc = " When external memory is in use, the allocation strategy is to initially try to"] + #[doc = " satisfy smaller allocation requests with internal memory and larger requests"] + #[doc = " with external memory. This sets the limit between the two, as well as generally"] + #[doc = " enabling allocation in external memory."] #[doc = ""] - #[doc = " @return uint32_t : bitmask for GPIO input pins, BIT(0) for GPIO32."] - pub fn gpio_input_get_high() -> u32; + #[doc = " @param limit Limit, in bytes."] + pub fn heap_caps_malloc_extmem_enable(limit: usize); } extern "C" { - #[doc = " @brief Register an application-specific interrupt handler for GPIO pin interrupts."] - #[doc = " Once the interrupt handler is called, it will not be called again until after a call to gpio_intr_ack."] - #[doc = " Please do not call this function in SDK."] + #[doc = " @brief Allocate a chunk of memory as preference in decreasing order."] #[doc = ""] - #[doc = " @param gpio_intr_handler_fn_t fn : gpio application-specific interrupt handler"] + #[doc = " @attention The variable parameters are bitwise OR of MALLOC_CAP_* flags indicating the type of memory."] + #[doc = " This API prefers to allocate memory with the first parameter. If failed, allocate memory with"] + #[doc = " the next parameter. It will try in this order until allocating a chunk of memory successfully"] + #[doc = " or fail to allocate memories with any of the parameters."] #[doc = ""] - #[doc = " @param void *arg : gpio application-specific interrupt handler argument."] + #[doc = " @param size Size, in bytes, of the amount of memory to allocate"] + #[doc = " @param num Number of variable paramters"] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_intr_handler_register( - fn_: gpio_intr_handler_fn_t, - arg: *mut ::std::os::raw::c_void, - ); + #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] + pub fn heap_caps_malloc_prefer(size: usize, num: usize, ...) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " @brief Get gpio interrupts which happens but not processed."] - #[doc = " Please do not call this function in SDK."] + #[doc = " @brief Allocate a chunk of memory as preference in decreasing order."] #[doc = ""] - #[doc = " @param None"] + #[doc = " @param ptr Pointer to previously allocated memory, or NULL for a new allocation."] + #[doc = " @param size Size of the new buffer requested, or 0 to free the buffer."] + #[doc = " @param num Number of variable paramters"] #[doc = ""] - #[doc = " @return uint32_t : bitmask for GPIO pending interrupts, BIT(0) for GPIO0."] - pub fn gpio_intr_pending() -> u32; + #[doc = " @return Pointer to a new buffer of size 'size', or NULL if allocation failed."] + pub fn heap_caps_realloc_prefer( + ptr: *mut ::std::os::raw::c_void, + size: usize, + num: usize, + ... + ) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " @brief Get gpio interrupts which happens but not processed."] - #[doc = " Please do not call this function in SDK."] + #[doc = " @brief Allocate a chunk of memory as preference in decreasing order."] #[doc = ""] - #[doc = " @param None"] + #[doc = " @param n Number of continuing chunks of memory to allocate"] + #[doc = " @param size Size, in bytes, of a chunk of memory to allocate"] + #[doc = " @param num Number of variable paramters"] #[doc = ""] - #[doc = " @return uint32_t : bitmask for GPIO pending interrupts, BIT(0) for GPIO32."] - pub fn gpio_intr_pending_high() -> u32; + #[doc = " @return A pointer to the memory allocated on success, NULL on failure"] + pub fn heap_caps_calloc_prefer( + n: usize, + size: usize, + num: usize, + ... + ) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " @brief Ack gpio interrupts to process pending interrupts."] - #[doc = " Please do not call this function in SDK."] + #[doc = " @brief Dump the full structure of all heaps with matching capabilities."] #[doc = ""] - #[doc = " @param uint32_t ack_mask: bitmask for GPIO ack interrupts, BIT(0) for GPIO0."] + #[doc = " Prints a large amount of output to serial (because of locking limitations,"] + #[doc = " the output bypasses stdout/stderr). For each (variable sized) block"] + #[doc = " in each matching heap, the following output is printed on a single line:"] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_intr_ack(ack_mask: u32); + #[doc = " - Block address (the data buffer returned by malloc is 4 bytes after this"] + #[doc = " if heap debugging is set to Basic, or 8 bytes otherwise)."] + #[doc = " - Data size (the data size may be larger than the size requested by malloc,"] + #[doc = " either due to heap fragmentation or because of heap debugging level)."] + #[doc = " - Address of next block in the heap."] + #[doc = " - If the block is free, the address of the next free block is also printed."] + #[doc = ""] + #[doc = " @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type"] + #[doc = " of memory"] + pub fn heap_caps_dump(caps: u32); } extern "C" { - #[doc = " @brief Ack gpio interrupts to process pending interrupts."] - #[doc = " Please do not call this function in SDK."] + #[doc = " @brief Dump the full structure of all heaps."] #[doc = ""] - #[doc = " @param uint32_t ack_mask: bitmask for GPIO ack interrupts, BIT(0) for GPIO32."] + #[doc = " Covers all registered heaps. Prints a large amount of output to serial."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_intr_ack_high(ack_mask: u32); + #[doc = " Output is the same as for heap_caps_dump."] + #[doc = ""] + pub fn heap_caps_dump_all(); +} +pub type StackType_t = u8; +pub type BaseType_t = ::std::os::raw::c_int; +pub type UBaseType_t = ::std::os::raw::c_uint; +pub type TickType_t = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct portMUX_TYPE { + pub owner: u32, + pub count: u32, } extern "C" { - #[doc = " @brief Set GPIO to wakeup the ESP32."] - #[doc = " Please do not call this function in SDK."] - #[doc = ""] - #[doc = " @param uint32_t i: gpio number."] + pub fn vPortAssertIfInISR(); +} +extern "C" { + pub fn vPortCPUInitializeMutex(mux: *mut portMUX_TYPE); +} +extern "C" { + pub fn vTaskExitCritical(mux: *mut portMUX_TYPE); +} +extern "C" { + pub fn vTaskEnterCritical(mux: *mut portMUX_TYPE); +} +extern "C" { + pub fn vPortCPUAcquireMutex(mux: *mut portMUX_TYPE); +} +extern "C" { + #[doc = " @brief Acquire a portmux spinlock with a timeout"] #[doc = ""] - #[doc = " @param GPIO_INT_TYPE intr_state : only GPIO_PIN_INTR_LOLEVEL\\GPIO_PIN_INTR_HILEVEL can be used"] + #[doc = " @param mux Pointer to portmux to acquire."] + #[doc = " @param timeout_cycles Timeout to spin, in CPU cycles. Pass portMUX_NO_TIMEOUT to wait forever,"] + #[doc = " portMUX_TRY_LOCK to try a single time to acquire the lock."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pin_wakeup_enable(i: u32, intr_state: GPIO_INT_TYPE); + #[doc = " @return true if mutex is successfully acquired, false on timeout."] + pub fn vPortCPUAcquireMutexTimeout( + mux: *mut portMUX_TYPE, + timeout_cycles: ::std::os::raw::c_int, + ) -> bool; } extern "C" { - #[doc = " @brief disable GPIOs to wakeup the ESP32."] - #[doc = " Please do not call this function in SDK."] + pub fn vPortCPUReleaseMutex(mux: *mut portMUX_TYPE); +} +extern "C" { + pub fn vPortYield(); +} +extern "C" { + pub fn _frxt_setup_switch(); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xMPU_SETTINGS { + pub coproc_area: *mut StackType_t, +} +extern "C" { + pub fn esp_vApplicationIdleHook(); +} +extern "C" { + pub fn esp_vApplicationTickHook(); +} +extern "C" { + pub fn _xt_coproc_release(coproc_sa_base: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn vApplicationSleep(xExpectedIdleTime: TickType_t); +} +extern "C" { + #[doc = " Return full IDF version string, same as 'git describe' output."] #[doc = ""] - #[doc = " @param None"] + #[doc = " @note If you are printing the ESP-IDF version in a log file or other information,"] + #[doc = " this function provides more information than using the numerical version macros."] + #[doc = " For example, numerical version macros don't differentiate between development,"] + #[doc = " pre-release and release versions, but the output of this function does."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pin_wakeup_disable(); + #[doc = " @return constant string from IDF_VER"] + pub fn esp_get_idf_version() -> *const ::std::os::raw::c_char; } +pub const esp_mac_type_t_ESP_MAC_WIFI_STA: esp_mac_type_t = 0; +pub const esp_mac_type_t_ESP_MAC_WIFI_SOFTAP: esp_mac_type_t = 1; +pub const esp_mac_type_t_ESP_MAC_BT: esp_mac_type_t = 2; +pub const esp_mac_type_t_ESP_MAC_ETH: esp_mac_type_t = 3; +pub type esp_mac_type_t = u32; +#[doc = "!< Reset reason can not be determined"] +pub const esp_reset_reason_t_ESP_RST_UNKNOWN: esp_reset_reason_t = 0; +#[doc = "!< Reset due to power-on event"] +pub const esp_reset_reason_t_ESP_RST_POWERON: esp_reset_reason_t = 1; +#[doc = "!< Reset by external pin (not applicable for ESP32)"] +pub const esp_reset_reason_t_ESP_RST_EXT: esp_reset_reason_t = 2; +#[doc = "!< Software reset via esp_restart"] +pub const esp_reset_reason_t_ESP_RST_SW: esp_reset_reason_t = 3; +#[doc = "!< Software reset due to exception/panic"] +pub const esp_reset_reason_t_ESP_RST_PANIC: esp_reset_reason_t = 4; +#[doc = "!< Reset (software or hardware) due to interrupt watchdog"] +pub const esp_reset_reason_t_ESP_RST_INT_WDT: esp_reset_reason_t = 5; +#[doc = "!< Reset due to task watchdog"] +pub const esp_reset_reason_t_ESP_RST_TASK_WDT: esp_reset_reason_t = 6; +#[doc = "!< Reset due to other watchdogs"] +pub const esp_reset_reason_t_ESP_RST_WDT: esp_reset_reason_t = 7; +#[doc = "!< Reset after exiting deep sleep mode"] +pub const esp_reset_reason_t_ESP_RST_DEEPSLEEP: esp_reset_reason_t = 8; +#[doc = "!< Brownout reset (software or hardware)"] +pub const esp_reset_reason_t_ESP_RST_BROWNOUT: esp_reset_reason_t = 9; +#[doc = "!< Reset over SDIO"] +pub const esp_reset_reason_t_ESP_RST_SDIO: esp_reset_reason_t = 10; +#[doc = " @brief Reset reasons"] +pub type esp_reset_reason_t = u32; +#[doc = " Shutdown handler type"] +pub type shutdown_handler_t = ::core::option::Option; extern "C" { - #[doc = " @brief set gpio input to a signal, one gpio can input to several signals."] - #[doc = ""] - #[doc = " @param uint32_t gpio : gpio number, 0~0x27"] - #[doc = " gpio == 0x30, input 0 to signal"] - #[doc = " gpio == 0x34, ???"] - #[doc = " gpio == 0x38, input 1 to signal"] - #[doc = ""] - #[doc = " @param uint32_t signal_idx : signal index."] - #[doc = ""] - #[doc = " @param bool inv : the signal is inv or not"] + #[doc = " @brief Register shutdown handler"] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_matrix_in(gpio: u32, signal_idx: u32, inv: bool); + #[doc = " This function allows you to register a handler that gets invoked before"] + #[doc = " the application is restarted using esp_restart function."] + #[doc = " @param handle function to execute on restart"] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_STATE if the handler has already been registered"] + #[doc = " - ESP_ERR_NO_MEM if no more shutdown handler slots are available"] + pub fn esp_register_shutdown_handler(handle: shutdown_handler_t) -> esp_err_t; } extern "C" { - #[doc = " @brief set signal output to gpio, one signal can output to several gpios."] - #[doc = ""] - #[doc = " @param uint32_t gpio : gpio number, 0~0x27"] - #[doc = ""] - #[doc = " @param uint32_t signal_idx : signal index."] - #[doc = " signal_idx == 0x100, cancel output put to the gpio"] - #[doc = ""] - #[doc = " @param bool out_inv : the signal output is inv or not"] + #[doc = " @brief Unregister shutdown handler"] #[doc = ""] - #[doc = " @param bool oen_inv : the signal output enable is inv or not"] - #[doc = ""] - #[doc = " @return None"] - pub fn gpio_matrix_out(gpio: u32, signal_idx: u32, out_inv: bool, oen_inv: bool); + #[doc = " This function allows you to unregister a handler which was previously"] + #[doc = " registered using esp_register_shutdown_handler function."] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_STATE if the given handler hasn't been registered before"] + pub fn esp_unregister_shutdown_handler(handle: shutdown_handler_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Select pad as a gpio function from IOMUX."] - #[doc = ""] - #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = " @brief Restart PRO and APP CPUs."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pad_select_gpio(gpio_num: u8); + #[doc = " This function can be called both from PRO and APP CPUs."] + #[doc = " After successful restart, CPU reset reason will be SW_CPU_RESET."] + #[doc = " Peripherals (except for WiFi, BT, UART0, SPI1, and legacy timers) are not reset."] + #[doc = " This function does not return."] + pub fn esp_restart(); } extern "C" { - #[doc = " @brief Set pad driver capability."] - #[doc = ""] - #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] - #[doc = ""] - #[doc = " @param uint8_t drv : 0-3"] - #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pad_set_drv(gpio_num: u8, drv: u8); + #[doc = " @brief Get reason of last reset"] + #[doc = " @return See description of esp_reset_reason_t for explanation of each value."] + pub fn esp_reset_reason() -> esp_reset_reason_t; } extern "C" { - #[doc = " @brief Pull up the pad from gpio number."] + #[doc = " @brief Get the size of available heap."] #[doc = ""] - #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = " Note that the returned value may be larger than the maximum contiguous block"] + #[doc = " which can be allocated."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pad_pullup(gpio_num: u8); + #[doc = " @return Available heap size, in bytes."] + pub fn esp_get_free_heap_size() -> u32; } extern "C" { - #[doc = " @brief Pull down the pad from gpio number."] - #[doc = ""] - #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = " @brief Get the minimum heap that has ever been available"] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pad_pulldown(gpio_num: u8); + #[doc = " @return Minimum free heap ever available"] + pub fn esp_get_minimum_free_heap_size() -> u32; } extern "C" { - #[doc = " @brief Unhold the pad from gpio number."] + #[doc = " @brief Get one random 32-bit word from hardware RNG"] #[doc = ""] - #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = " The hardware RNG is fully functional whenever an RF subsystem is running (ie Bluetooth or WiFi is enabled). For"] + #[doc = " random values, call this function after WiFi or Bluetooth are started."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pad_unhold(gpio_num: u8); -} -extern "C" { - #[doc = " @brief Hold the pad from gpio number."] + #[doc = " If the RF subsystem is not used by the program, the function bootloader_random_enable() can be called to enable an"] + #[doc = " entropy source. bootloader_random_disable() must be called before RF subsystem or I2S peripheral are used. See these functions'"] + #[doc = " documentation for more details."] #[doc = ""] - #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = " Any time the app is running without an RF subsystem (or bootloader_random) enabled, RNG hardware should be"] + #[doc = " considered a PRNG. A very small amount of entropy is available due to pre-seeding while the IDF"] + #[doc = " bootloader is running, but this should not be relied upon for any use."] #[doc = ""] - #[doc = " @return None"] - pub fn gpio_pad_hold(gpio_num: u8); -} -extern "C" { - #[link_name = "\u{1}GPIO_PIN_MUX_REG"] - pub static mut GPIO_PIN_MUX_REG: [u32; 40usize]; -} -#[doc = "< GPIO0, input and output"] -pub const gpio_num_t_GPIO_NUM_0: gpio_num_t = 0; -#[doc = "< GPIO1, input and output"] -pub const gpio_num_t_GPIO_NUM_1: gpio_num_t = 1; -#[doc = "< GPIO2, input and output"] -#[doc = "@note There are more enumerations like that"] -#[doc = "up to GPIO39, excluding GPIO20, GPIO24 and GPIO28..31."] -#[doc = "They are not shown here to reduce redundant information."] -#[doc = "@note GPIO34..39 are input mode only."] -pub const gpio_num_t_GPIO_NUM_2: gpio_num_t = 2; -#[doc = "< GPIO3, input and output"] -pub const gpio_num_t_GPIO_NUM_3: gpio_num_t = 3; -#[doc = "< GPIO4, input and output"] -pub const gpio_num_t_GPIO_NUM_4: gpio_num_t = 4; -#[doc = "< GPIO5, input and output"] -pub const gpio_num_t_GPIO_NUM_5: gpio_num_t = 5; -#[doc = "< GPIO6, input and output"] -pub const gpio_num_t_GPIO_NUM_6: gpio_num_t = 6; -#[doc = "< GPIO7, input and output"] -pub const gpio_num_t_GPIO_NUM_7: gpio_num_t = 7; -#[doc = "< GPIO8, input and output"] -pub const gpio_num_t_GPIO_NUM_8: gpio_num_t = 8; -#[doc = "< GPIO9, input and output"] -pub const gpio_num_t_GPIO_NUM_9: gpio_num_t = 9; -#[doc = "< GPIO10, input and output"] -pub const gpio_num_t_GPIO_NUM_10: gpio_num_t = 10; -#[doc = "< GPIO11, input and output"] -pub const gpio_num_t_GPIO_NUM_11: gpio_num_t = 11; -#[doc = "< GPIO12, input and output"] -pub const gpio_num_t_GPIO_NUM_12: gpio_num_t = 12; -#[doc = "< GPIO13, input and output"] -pub const gpio_num_t_GPIO_NUM_13: gpio_num_t = 13; -#[doc = "< GPIO14, input and output"] -pub const gpio_num_t_GPIO_NUM_14: gpio_num_t = 14; -#[doc = "< GPIO15, input and output"] -pub const gpio_num_t_GPIO_NUM_15: gpio_num_t = 15; -#[doc = "< GPIO16, input and output"] -pub const gpio_num_t_GPIO_NUM_16: gpio_num_t = 16; -#[doc = "< GPIO17, input and output"] -pub const gpio_num_t_GPIO_NUM_17: gpio_num_t = 17; -#[doc = "< GPIO18, input and output"] -pub const gpio_num_t_GPIO_NUM_18: gpio_num_t = 18; -#[doc = "< GPIO19, input and output"] -pub const gpio_num_t_GPIO_NUM_19: gpio_num_t = 19; -#[doc = "< GPIO21, input and output"] -pub const gpio_num_t_GPIO_NUM_21: gpio_num_t = 21; -#[doc = "< GPIO22, input and output"] -pub const gpio_num_t_GPIO_NUM_22: gpio_num_t = 22; -#[doc = "< GPIO23, input and output"] -pub const gpio_num_t_GPIO_NUM_23: gpio_num_t = 23; -#[doc = "< GPIO25, input and output"] -pub const gpio_num_t_GPIO_NUM_25: gpio_num_t = 25; -#[doc = "< GPIO26, input and output"] -pub const gpio_num_t_GPIO_NUM_26: gpio_num_t = 26; -#[doc = "< GPIO27, input and output"] -pub const gpio_num_t_GPIO_NUM_27: gpio_num_t = 27; -#[doc = "< GPIO32, input and output"] -pub const gpio_num_t_GPIO_NUM_32: gpio_num_t = 32; -#[doc = "< GPIO33, input and output"] -pub const gpio_num_t_GPIO_NUM_33: gpio_num_t = 33; -#[doc = "< GPIO34, input mode only"] -pub const gpio_num_t_GPIO_NUM_34: gpio_num_t = 34; -#[doc = "< GPIO35, input mode only"] -pub const gpio_num_t_GPIO_NUM_35: gpio_num_t = 35; -#[doc = "< GPIO36, input mode only"] -pub const gpio_num_t_GPIO_NUM_36: gpio_num_t = 36; -#[doc = "< GPIO37, input mode only"] -pub const gpio_num_t_GPIO_NUM_37: gpio_num_t = 37; -#[doc = "< GPIO38, input mode only"] -pub const gpio_num_t_GPIO_NUM_38: gpio_num_t = 38; -#[doc = "< GPIO39, input mode only"] -pub const gpio_num_t_GPIO_NUM_39: gpio_num_t = 39; -pub const gpio_num_t_GPIO_NUM_MAX: gpio_num_t = 40; -pub type gpio_num_t = u32; -#[doc = "< Disable GPIO interrupt"] -pub const gpio_int_type_t_GPIO_INTR_DISABLE: gpio_int_type_t = 0; -#[doc = "< GPIO interrupt type : rising edge"] -pub const gpio_int_type_t_GPIO_INTR_POSEDGE: gpio_int_type_t = 1; -#[doc = "< GPIO interrupt type : falling edge"] -pub const gpio_int_type_t_GPIO_INTR_NEGEDGE: gpio_int_type_t = 2; -#[doc = "< GPIO interrupt type : both rising and falling edge"] -pub const gpio_int_type_t_GPIO_INTR_ANYEDGE: gpio_int_type_t = 3; -#[doc = "< GPIO interrupt type : input low level trigger"] -pub const gpio_int_type_t_GPIO_INTR_LOW_LEVEL: gpio_int_type_t = 4; -#[doc = "< GPIO interrupt type : input high level trigger"] -pub const gpio_int_type_t_GPIO_INTR_HIGH_LEVEL: gpio_int_type_t = 5; -pub const gpio_int_type_t_GPIO_INTR_MAX: gpio_int_type_t = 6; -pub type gpio_int_type_t = u32; -#[doc = "< GPIO mode : disable input and output"] -pub const gpio_mode_t_GPIO_MODE_DISABLE: gpio_mode_t = 0; -#[doc = "< GPIO mode : input only"] -pub const gpio_mode_t_GPIO_MODE_INPUT: gpio_mode_t = 1; -#[doc = "< GPIO mode : output only mode"] -pub const gpio_mode_t_GPIO_MODE_OUTPUT: gpio_mode_t = 2; -#[doc = "< GPIO mode : output only with open-drain mode"] -pub const gpio_mode_t_GPIO_MODE_OUTPUT_OD: gpio_mode_t = 6; -#[doc = "< GPIO mode : output and input with open-drain mode"] -pub const gpio_mode_t_GPIO_MODE_INPUT_OUTPUT_OD: gpio_mode_t = 7; -#[doc = "< GPIO mode : output and input mode"] -pub const gpio_mode_t_GPIO_MODE_INPUT_OUTPUT: gpio_mode_t = 3; -pub type gpio_mode_t = u32; -#[doc = "< Disable GPIO pull-up resistor"] -pub const gpio_pullup_t_GPIO_PULLUP_DISABLE: gpio_pullup_t = 0; -#[doc = "< Enable GPIO pull-up resistor"] -pub const gpio_pullup_t_GPIO_PULLUP_ENABLE: gpio_pullup_t = 1; -pub type gpio_pullup_t = u32; -#[doc = "< Disable GPIO pull-down resistor"] -pub const gpio_pulldown_t_GPIO_PULLDOWN_DISABLE: gpio_pulldown_t = 0; -#[doc = "< Enable GPIO pull-down resistor"] -pub const gpio_pulldown_t_GPIO_PULLDOWN_ENABLE: gpio_pulldown_t = 1; -pub type gpio_pulldown_t = u32; -#[doc = " @brief Configuration parameters of GPIO pad for gpio_config function"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct gpio_config_t { - #[doc = "< GPIO pin: set with bit mask, each bit maps to a GPIO"] - pub pin_bit_mask: u64, - #[doc = "< GPIO mode: set input/output mode"] - pub mode: gpio_mode_t, - #[doc = "< GPIO pull-up"] - pub pull_up_en: gpio_pullup_t, - #[doc = "< GPIO pull-down"] - pub pull_down_en: gpio_pulldown_t, - #[doc = "< GPIO interrupt type"] - pub intr_type: gpio_int_type_t, -} -#[doc = "< Pad pull up"] -pub const gpio_pull_mode_t_GPIO_PULLUP_ONLY: gpio_pull_mode_t = 0; -#[doc = "< Pad pull down"] -pub const gpio_pull_mode_t_GPIO_PULLDOWN_ONLY: gpio_pull_mode_t = 1; -#[doc = "< Pad pull up + pull down"] -pub const gpio_pull_mode_t_GPIO_PULLUP_PULLDOWN: gpio_pull_mode_t = 2; -#[doc = "< Pad floating"] -pub const gpio_pull_mode_t_GPIO_FLOATING: gpio_pull_mode_t = 3; -pub type gpio_pull_mode_t = u32; -#[doc = "< Pad drive capability: weak"] -pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_0: gpio_drive_cap_t = 0; -#[doc = "< Pad drive capability: stronger"] -pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_1: gpio_drive_cap_t = 1; -#[doc = "< Pad drive capability: default value"] -pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_2: gpio_drive_cap_t = 2; -#[doc = "< Pad drive capability: default value"] -pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_DEFAULT: gpio_drive_cap_t = 2; -#[doc = "< Pad drive capability: strongest"] -pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_3: gpio_drive_cap_t = 3; -pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_MAX: gpio_drive_cap_t = 4; -pub type gpio_drive_cap_t = u32; -pub type gpio_isr_t = - ::core::option::Option; -pub type gpio_isr_handle_t = intr_handle_t; + #[doc = " @return Random value between 0 and UINT32_MAX"] + pub fn esp_random() -> u32; +} extern "C" { - #[doc = " @brief GPIO common configuration"] + #[doc = " @brief Fill a buffer with random bytes from hardware RNG"] #[doc = ""] - #[doc = " Configure GPIO\'s Mode,pull-up,PullDown,IntrType"] + #[doc = " @note This function has the same restrictions regarding available entropy as esp_random()"] #[doc = ""] - #[doc = " @param pGPIOConfig Pointer to GPIO configure struct"] + #[doc = " @param buf Pointer to buffer to fill with random numbers."] + #[doc = " @param len Length of buffer in bytes"] + pub fn esp_fill_random(buf: *mut ::std::os::raw::c_void, len: usize); +} +extern "C" { + #[doc = " @brief Set base MAC address with the MAC address which is stored in BLK3 of EFUSE or"] + #[doc = " external storage e.g. flash and EEPROM."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = " Base MAC address is used to generate the MAC addresses used by the networking interfaces."] + #[doc = " If using base MAC address stored in BLK3 of EFUSE or external storage, call this API to set base MAC"] + #[doc = " address with the MAC address which is stored in BLK3 of EFUSE or external storage before initializing"] + #[doc = " WiFi/BT/Ethernet."] #[doc = ""] - pub fn gpio_config(pGPIOConfig: *const gpio_config_t) -> esp_err_t; + #[doc = " @param mac base MAC address, length: 6 bytes."] + #[doc = ""] + #[doc = " @return ESP_OK on success"] + pub fn esp_base_mac_addr_set(mac: *mut u8) -> esp_err_t; } extern "C" { - #[doc = " @brief Reset an gpio to default state (select gpio function, enable pullup and disable input and output)."] - #[doc = ""] - #[doc = " @param gpio_num GPIO number."] + #[doc = " @brief Return base MAC address which is set using esp_base_mac_addr_set."] #[doc = ""] - #[doc = " @note This function also configures the IOMUX for this pin to the GPIO"] - #[doc = " function, and disconnects any other peripheral output configured via GPIO"] - #[doc = " Matrix."] + #[doc = " @param mac base MAC address, length: 6 bytes."] #[doc = ""] - #[doc = " @return Always return ESP_OK."] - pub fn gpio_reset_pin(gpio_num: gpio_num_t) -> esp_err_t; + #[doc = " @return ESP_OK on success"] + #[doc = " ESP_ERR_INVALID_MAC base MAC address has not been set"] + pub fn esp_base_mac_addr_get(mac: *mut u8) -> esp_err_t; } extern "C" { - #[doc = " @brief GPIO set interrupt trigger type"] + #[doc = " @brief Return base MAC address which was previously written to BLK3 of EFUSE."] #[doc = ""] - #[doc = " @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16);"] - #[doc = " @param intr_type Interrupt type, select from gpio_int_type_t"] + #[doc = " Base MAC address is used to generate the MAC addresses used by the networking interfaces."] + #[doc = " This API returns the custom base MAC address which was previously written to BLK3 of EFUSE."] + #[doc = " Writing this EFUSE allows setting of a different (non-Espressif) base MAC address. It is also"] + #[doc = " possible to store a custom base MAC address elsewhere, see esp_base_mac_addr_set() for details."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = " @param mac base MAC address, length: 6 bytes."] #[doc = ""] - pub fn gpio_set_intr_type(gpio_num: gpio_num_t, intr_type: gpio_int_type_t) -> esp_err_t; + #[doc = " @return ESP_OK on success"] + #[doc = " ESP_ERR_INVALID_VERSION An invalid MAC version field was read from BLK3 of EFUSE"] + #[doc = " ESP_ERR_INVALID_CRC An invalid MAC CRC was read from BLK3 of EFUSE"] + pub fn esp_efuse_mac_get_custom(mac: *mut u8) -> esp_err_t; } extern "C" { - #[doc = " @brief Enable GPIO module interrupt signal"] + #[doc = " @brief Return base MAC address which is factory-programmed by Espressif in BLK0 of EFUSE."] #[doc = ""] - #[doc = " @note Please do not use the interrupt of GPIO36 and GPIO39 when using ADC."] - #[doc = " Please refer to the comments of `adc1_get_raw`."] - #[doc = " Please refer to section 3.11 of \'ECO_and_Workarounds_for_Bugs_in_ESP32\' for the description of this issue."] + #[doc = " @param mac base MAC address, length: 6 bytes."] #[doc = ""] - #[doc = " @param gpio_num GPIO number. If you want to enable an interrupt on e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] + #[doc = " @return ESP_OK on success"] + pub fn esp_efuse_mac_get_default(mac: *mut u8) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Read base MAC address and set MAC address of the interface."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = " This function first get base MAC address using esp_base_mac_addr_get or reads base MAC address"] + #[doc = " from BLK0 of EFUSE. Then set the MAC address of the interface including wifi station, wifi softap,"] + #[doc = " bluetooth and ethernet."] #[doc = ""] - pub fn gpio_intr_enable(gpio_num: gpio_num_t) -> esp_err_t; + #[doc = " @param mac MAC address of the interface, length: 6 bytes."] + #[doc = " @param type type of MAC address, 0:wifi station, 1:wifi softap, 2:bluetooth, 3:ethernet."] + #[doc = ""] + #[doc = " @return ESP_OK on success"] + pub fn esp_read_mac(mac: *mut u8, type_: esp_mac_type_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Disable GPIO module interrupt signal"] + #[doc = " @brief Derive local MAC address from universal MAC address."] + #[doc = ""] + #[doc = " This function derives a local MAC address from an universal MAC address."] + #[doc = " A `definition of local vs universal MAC address can be found on Wikipedia"] + #[doc = " `."] + #[doc = " In ESP32, universal MAC address is generated from base MAC address in EFUSE or other external storage."] + #[doc = " Local MAC address is derived from the universal MAC address."] + #[doc = ""] + #[doc = " @param local_mac Derived local MAC address, length: 6 bytes."] + #[doc = " @param universal_mac Source universal MAC address, length: 6 bytes."] + #[doc = ""] + #[doc = " @return ESP_OK on success"] + pub fn esp_derive_local_mac(local_mac: *mut u8, universal_mac: *const u8) -> esp_err_t; +} +#[doc = "!< ESP32"] +pub const esp_chip_model_t_CHIP_ESP32: esp_chip_model_t = 1; +#[doc = " @brief Chip models"] +pub type esp_chip_model_t = u32; +#[doc = " @brief The structure represents information about the chip"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct esp_chip_info_t { + #[doc = "!< chip model, one of esp_chip_model_t"] + pub model: esp_chip_model_t, + #[doc = "!< bit mask of CHIP_FEATURE_x feature flags"] + pub features: u32, + #[doc = "!< number of CPU cores"] + pub cores: u8, + #[doc = "!< chip revision number"] + pub revision: u8, +} +extern "C" { + #[doc = " @brief Fill an esp_chip_info_t structure with information about the chip"] + #[doc = " @param[out] out_info structure to be filled"] + pub fn esp_chip_info(out_info: *mut esp_chip_info_t); +} +extern "C" { + pub fn pxPortInitialiseStack( + pxTopOfStack: *mut StackType_t, + pxCode: TaskFunction_t, + pvParameters: *mut ::std::os::raw::c_void, + xRunPrivileged: BaseType_t, + ) -> *mut StackType_t; +} +extern "C" { + pub fn xPortStartScheduler() -> BaseType_t; +} +extern "C" { + pub fn vPortEndScheduler(); +} +extern "C" { + pub fn vPortYieldOtherCore(coreid: BaseType_t); +} +extern "C" { + pub fn vPortSetStackWatchpoint(pxStackStart: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn xPortInIsrContext() -> BaseType_t; +} +extern "C" { + pub fn xPortInterruptedFromISRContext() -> BaseType_t; +} +extern "C" { + pub fn vPortStoreTaskMPUSettings( + xMPUSettings: *mut xMPU_SETTINGS, + xRegions: *const xMEMORY_REGION, + pxBottomOfStack: *mut StackType_t, + usStackDepth: u32, + ); +} +extern "C" { + pub fn vPortReleaseTaskMPUSettings(xMPUSettings: *mut xMPU_SETTINGS); +} +extern "C" { + pub fn xPortGetTickRateHz() -> u32; +} +extern "C" { + pub fn uxPortCompareSetExtram(addr: *mut u32, compare: u32, set: *mut u32); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xSTATIC_LIST_ITEM { + pub xDummy1: TickType_t, + pub pvDummy2: [*mut ::std::os::raw::c_void; 4usize], +} +pub type StaticListItem_t = xSTATIC_LIST_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xSTATIC_MINI_LIST_ITEM { + pub xDummy1: TickType_t, + pub pvDummy2: [*mut ::std::os::raw::c_void; 2usize], +} +pub type StaticMiniListItem_t = xSTATIC_MINI_LIST_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xSTATIC_LIST { + pub uxDummy1: UBaseType_t, + pub pvDummy2: *mut ::std::os::raw::c_void, + pub xDummy3: StaticMiniListItem_t, +} +pub type StaticList_t = xSTATIC_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xSTATIC_TCB { + pub pxDummy1: *mut ::std::os::raw::c_void, + pub xDummy2: xMPU_SETTINGS, + pub xDummy3: [StaticListItem_t; 2usize], + pub uxDummy5: UBaseType_t, + pub pxDummy6: *mut ::std::os::raw::c_void, + pub ucDummy7: [u8; 16usize], + pub uxDummyCoreId: UBaseType_t, + pub pxDummy8: *mut ::std::os::raw::c_void, + pub uxDummy9: UBaseType_t, + pub OldInterruptState: u32, + pub uxDummy12: [UBaseType_t; 2usize], + pub pvDummy15: [*mut ::std::os::raw::c_void; 1usize], + pub pvDummyLocalStorageCallBack: [*mut ::std::os::raw::c_void; 1usize], + pub xDummy17: _reent, + pub ulDummy18: u32, + pub ucDummy19: u32, + pub uxDummy20: u8, +} +pub type StaticTask_t = xSTATIC_TCB; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xSTATIC_QUEUE { + pub pvDummy1: [*mut ::std::os::raw::c_void; 3usize], + pub u: xSTATIC_QUEUE__bindgen_ty_1, + pub xDummy3: [StaticList_t; 2usize], + pub uxDummy4: [UBaseType_t; 3usize], + pub pvDummy7: *mut ::std::os::raw::c_void, + pub muxDummy: portMUX_TYPE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union xSTATIC_QUEUE__bindgen_ty_1 { + pub pvDummy2: *mut ::std::os::raw::c_void, + pub uxDummy2: UBaseType_t, + _bindgen_union_align: u32, +} +pub type StaticQueue_t = xSTATIC_QUEUE; +pub type StaticSemaphore_t = StaticQueue_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xSTATIC_EVENT_GROUP { + pub xDummy1: TickType_t, + pub xDummy2: StaticList_t, + pub muxDummy: portMUX_TYPE, +} +pub type StaticEventGroup_t = xSTATIC_EVENT_GROUP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xSTATIC_TIMER { + pub pvDummy1: *mut ::std::os::raw::c_void, + pub xDummy2: StaticListItem_t, + pub xDummy3: TickType_t, + pub uxDummy4: UBaseType_t, + pub pvDummy5: [*mut ::std::os::raw::c_void; 2usize], +} +pub type StaticTimer_t = xSTATIC_TIMER; +#[doc = " Type by which queues are referenced. For example, a call to xQueueCreate()"] +#[doc = " returns an QueueHandle_t variable that can then be used as a parameter to"] +#[doc = " xQueueSend(), xQueueReceive(), etc."] +pub type QueueHandle_t = *mut ::std::os::raw::c_void; +#[doc = " Type by which queue sets are referenced. For example, a call to"] +#[doc = " xQueueCreateSet() returns an xQueueSet variable that can then be used as a"] +#[doc = " parameter to xQueueSelectFromSet(), xQueueAddToSet(), etc."] +pub type QueueSetHandle_t = *mut ::std::os::raw::c_void; +#[doc = " Queue sets can contain both queues and semaphores, so the"] +#[doc = " QueueSetMemberHandle_t is defined as a type to be used where a parameter or"] +#[doc = " return value can be either an QueueHandle_t or an SemaphoreHandle_t."] +pub type QueueSetMemberHandle_t = *mut ::std::os::raw::c_void; +extern "C" { + #[doc = " It is preferred that the macros xQueueSend(), xQueueSendToFront() and"] + #[doc = " xQueueSendToBack() are used in place of calling this function directly."] + #[doc = ""] + #[doc = " Post an item on a queue. The item is queued by copy, not by reference."] + #[doc = " This function must not be called from an interrupt service routine."] + #[doc = " See xQueueSendFromISR () for an alternative which may be used in an ISR."] #[doc = ""] - #[doc = " @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] + #[doc = " @param xQueue The handle to the queue on which the item is to be posted."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = " @param pvItemToQueue A pointer to the item that is to be placed on the"] + #[doc = " queue. The size of the items the queue will hold was defined when the"] + #[doc = " queue was created, so this many bytes will be copied from pvItemToQueue"] + #[doc = " into the queue storage area."] #[doc = ""] - pub fn gpio_intr_disable(gpio_num: gpio_num_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief GPIO set output level"] + #[doc = " @param xTicksToWait The maximum amount of time the task should block"] + #[doc = " waiting for space to become available on the queue, should it already"] + #[doc = " be full. The call will return immediately if this is set to 0 and the"] + #[doc = " queue is full. The time is defined in tick periods so the constant"] + #[doc = " portTICK_PERIOD_MS should be used to convert to real time if this is required."] #[doc = ""] - #[doc = " @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] - #[doc = " @param level Output level. 0: low ; 1: high"] + #[doc = " @param xCopyPosition Can take the value queueSEND_TO_BACK to place the"] + #[doc = " item at the back of the queue, or queueSEND_TO_FRONT to place the item"] + #[doc = " at the front of the queue (for high priority messages)."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG GPIO number error"] + #[doc = " @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL."] #[doc = ""] - pub fn gpio_set_level(gpio_num: gpio_num_t, level: u32) -> esp_err_t; -} -extern "C" { - #[doc = " @brief GPIO get input level"] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " struct AMessage"] + #[doc = " {"] + #[doc = " char ucMessageID;"] + #[doc = " char ucData[ 20 ];"] + #[doc = " } xMessage;"] #[doc = ""] - #[doc = " @warning If the pad is not configured for input (or input and output) the returned value is always 0."] + #[doc = " uint32_t ulVar = 10UL;"] #[doc = ""] - #[doc = " @param gpio_num GPIO number. If you want to get the logic level of e.g. pin GPIO16, gpio_num should be GPIO_NUM_16 (16);"] + #[doc = " void vATask( void *pvParameters )"] + #[doc = " {"] + #[doc = " QueueHandle_t xQueue1, xQueue2;"] + #[doc = " struct AMessage *pxMessage;"] #[doc = ""] - #[doc = " @return"] - #[doc = " - 0 the GPIO input level is 0"] - #[doc = " - 1 the GPIO input level is 1"] + #[doc = " // Create a queue capable of containing 10 uint32_t values."] + #[doc = " xQueue1 = xQueueCreate( 10, sizeof( uint32_t ) );"] #[doc = ""] - pub fn gpio_get_level(gpio_num: gpio_num_t) -> ::std::os::raw::c_int; -} -extern "C" { - #[doc = " @brief\t GPIO set direction"] + #[doc = " // Create a queue capable of containing 10 pointers to AMessage structures."] + #[doc = " // These should be passed by pointer as they contain a lot of data."] + #[doc = " xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) );"] #[doc = ""] - #[doc = " Configure GPIO direction,such as output_only,input_only,output_and_input"] + #[doc = " // ..."] #[doc = ""] - #[doc = " @param gpio_num Configure GPIO pins number, it should be GPIO number. If you want to set direction of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] - #[doc = " @param mode GPIO direction"] + #[doc = " if( xQueue1 != 0 )"] + #[doc = " {"] + #[doc = " // Send an uint32_t. Wait for 10 ticks for space to become"] + #[doc = " // available if necessary."] + #[doc = " if( xQueueGenericSend( xQueue1, ( void * ) &ulVar, ( TickType_t ) 10, queueSEND_TO_BACK ) != pdPASS )"] + #[doc = " {"] + #[doc = " // Failed to post the message, even after 10 ticks."] + #[doc = " }"] + #[doc = " }"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] + #[doc = " if( xQueue2 != 0 )"] + #[doc = " {"] + #[doc = " // Send a pointer to a struct AMessage object. Don't block if the"] + #[doc = " // queue is already full."] + #[doc = " pxMessage = & xMessage;"] + #[doc = " xQueueGenericSend( xQueue2, ( void * ) &pxMessage, ( TickType_t ) 0, queueSEND_TO_BACK );"] + #[doc = " }"] #[doc = ""] - pub fn gpio_set_direction(gpio_num: gpio_num_t, mode: gpio_mode_t) -> esp_err_t; + #[doc = " // ... Rest of task code."] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup QueueManagement"] + pub fn xQueueGenericSend( + xQueue: QueueHandle_t, + pvItemToQueue: *const ::std::os::raw::c_void, + xTicksToWait: TickType_t, + xCopyPosition: BaseType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Configure GPIO pull-up/pull-down resistors"] + #[doc = " A version of xQueuePeek() that can be called from an interrupt service"] + #[doc = " routine (ISR)."] #[doc = ""] - #[doc = " Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not."] + #[doc = " Receive an item from a queue without removing the item from the queue."] + #[doc = " The item is received by copy so a buffer of adequate size must be"] + #[doc = " provided. The number of bytes copied into the buffer was defined when"] + #[doc = " the queue was created."] #[doc = ""] - #[doc = " @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] - #[doc = " @param pull GPIO pull up/down mode."] + #[doc = " Successfully received items remain on the queue so will be returned again"] + #[doc = " by the next call, or a call to xQueueReceive()."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG : Parameter error"] + #[doc = " @param xQueue The handle to the queue from which the item is to be"] + #[doc = " received."] #[doc = ""] - pub fn gpio_set_pull_mode(gpio_num: gpio_num_t, pull: gpio_pull_mode_t) -> esp_err_t; + #[doc = " @param pvBuffer Pointer to the buffer into which the received item will"] + #[doc = " be copied."] + #[doc = ""] + #[doc = " @return pdTRUE if an item was successfully received from the queue,"] + #[doc = " otherwise pdFALSE."] + #[doc = ""] + #[doc = " \\ingroup QueueManagement"] + pub fn xQueuePeekFromISR( + xQueue: QueueHandle_t, + pvBuffer: *mut ::std::os::raw::c_void, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Enable GPIO wake-up function."] + #[doc = " It is preferred that the macro xQueueReceive() be used rather than calling"] + #[doc = " this function directly."] #[doc = ""] - #[doc = " @param gpio_num GPIO number."] + #[doc = " Receive an item from a queue. The item is received by copy so a buffer of"] + #[doc = " adequate size must be provided. The number of bytes copied into the buffer"] + #[doc = " was defined when the queue was created."] #[doc = ""] - #[doc = " @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used."] + #[doc = " This function must not be used in an interrupt service routine. See"] + #[doc = " xQueueReceiveFromISR for an alternative that can."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_wakeup_enable(gpio_num: gpio_num_t, intr_type: gpio_int_type_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Disable GPIO wake-up function."] + #[doc = " @param xQueue The handle to the queue from which the item is to be"] + #[doc = " received."] #[doc = ""] - #[doc = " @param gpio_num GPIO number"] + #[doc = " @param pvBuffer Pointer to the buffer into which the received item will"] + #[doc = " be copied."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_wakeup_disable(gpio_num: gpio_num_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Register GPIO interrupt handler, the handler is an ISR."] - #[doc = " The handler will be attached to the same CPU core that this function is running on."] + #[doc = " @param xTicksToWait The maximum amount of time the task should block"] + #[doc = " waiting for an item to receive should the queue be empty at the time"] + #[doc = " of the call.\t The time is defined in tick periods so the constant"] + #[doc = " portTICK_PERIOD_MS should be used to convert to real time if this is required."] + #[doc = " xQueueGenericReceive() will return immediately if the queue is empty and"] + #[doc = " xTicksToWait is 0."] #[doc = ""] - #[doc = " This ISR function is called whenever any GPIO interrupt occurs. See"] - #[doc = " the alternative gpio_install_isr_service() and"] - #[doc = " gpio_isr_handler_add() API in order to have the driver support"] - #[doc = " per-GPIO ISRs."] + #[doc = " @param xJustPeek When set to true, the item received from the queue is not"] + #[doc = " actually removed from the queue - meaning a subsequent call to"] + #[doc = " xQueueReceive() will return the same item. When set to false, the item"] + #[doc = " being received from the queue is also removed from the queue."] #[doc = ""] - #[doc = " @param fn Interrupt handler function."] - #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] - #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info."] - #[doc = " @param arg Parameter for handler function"] - #[doc = " @param handle Pointer to return handle. If non-NULL, a handle for the interrupt will be returned here."] + #[doc = " @return pdTRUE if an item was successfully received from the queue,"] + #[doc = " otherwise pdFALSE."] #[doc = ""] - #[doc = " \\verbatim embed:rst:leading-asterisk"] - #[doc = " To disable or remove the ISR, pass the returned handle to the :doc:`interrupt allocation functions `."] - #[doc = " \\endverbatim"] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " struct AMessage"] + #[doc = " {"] + #[doc = " \tchar ucMessageID;"] + #[doc = " \tchar ucData[ 20 ];"] + #[doc = " } xMessage;"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success ;"] - #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] - #[doc = " - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] - pub fn gpio_isr_register( - fn_: ::core::option::Option, - arg: *mut ::std::os::raw::c_void, - intr_alloc_flags: ::std::os::raw::c_int, - handle: *mut gpio_isr_handle_t, - ) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Enable pull-up on GPIO."] + #[doc = " QueueHandle_t xQueue;"] #[doc = ""] - #[doc = " @param gpio_num GPIO number"] + #[doc = " // Task to create a queue and post a value."] + #[doc = " void vATask( void *pvParameters )"] + #[doc = " {"] + #[doc = " struct AMessage *pxMessage;"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_pullup_en(gpio_num: gpio_num_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Disable pull-up on GPIO."] + #[doc = " \t// Create a queue capable of containing 10 pointers to AMessage structures."] + #[doc = " \t// These should be passed by pointer as they contain a lot of data."] + #[doc = " \txQueue = xQueueCreate( 10, sizeof( struct AMessage * ) );"] + #[doc = " \tif( xQueue == 0 )"] + #[doc = " \t{"] + #[doc = " \t\t// Failed to create the queue."] + #[doc = " \t}"] #[doc = ""] - #[doc = " @param gpio_num GPIO number"] + #[doc = " \t// ..."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_pullup_dis(gpio_num: gpio_num_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Enable pull-down on GPIO."] + #[doc = " \t// Send a pointer to a struct AMessage object. Don't block if the"] + #[doc = " \t// queue is already full."] + #[doc = " \tpxMessage = & xMessage;"] + #[doc = " \txQueueSend( xQueue, ( void * ) &pxMessage, ( TickType_t ) 0 );"] #[doc = ""] - #[doc = " @param gpio_num GPIO number"] + #[doc = " \t// ... Rest of task code."] + #[doc = " }"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_pulldown_en(gpio_num: gpio_num_t) -> esp_err_t; + #[doc = " // Task to receive from the queue."] + #[doc = " void vADifferentTask( void *pvParameters )"] + #[doc = " {"] + #[doc = " struct AMessage *pxRxedMessage;"] + #[doc = ""] + #[doc = " \tif( xQueue != 0 )"] + #[doc = " \t{"] + #[doc = " \t\t// Receive a message on the created queue. Block for 10 ticks if a"] + #[doc = " \t\t// message is not immediately available."] + #[doc = " \t\tif( xQueueGenericReceive( xQueue, &( pxRxedMessage ), ( TickType_t ) 10 ) )"] + #[doc = " \t\t{"] + #[doc = " \t\t\t// pcRxedMessage now points to the struct AMessage variable posted"] + #[doc = " \t\t\t// by vATask."] + #[doc = " \t\t}"] + #[doc = " \t}"] + #[doc = ""] + #[doc = " \t// ... Rest of task code."] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup QueueManagement"] + pub fn xQueueGenericReceive( + xQueue: QueueHandle_t, + pvBuffer: *mut ::std::os::raw::c_void, + xTicksToWait: TickType_t, + xJustPeek: BaseType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Disable pull-down on GPIO."] + #[doc = " Return the number of messages stored in a queue."] #[doc = ""] - #[doc = " @param gpio_num GPIO number"] + #[doc = " @param xQueue A handle to the queue being queried."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_pulldown_dis(gpio_num: gpio_num_t) -> esp_err_t; + #[doc = " @return The number of messages available in the queue."] + #[doc = ""] + #[doc = " \\ingroup QueueManagement"] + pub fn uxQueueMessagesWaiting(xQueue: QueueHandle_t) -> UBaseType_t; } extern "C" { - #[doc = " @brief Install the driver\'s GPIO ISR handler service, which allows per-pin GPIO interrupt handlers."] + #[doc = " Return the number of free spaces available in a queue. This is equal to the"] + #[doc = " number of items that can be sent to the queue before the queue becomes full"] + #[doc = " if no items are removed."] #[doc = ""] - #[doc = " This function is incompatible with gpio_isr_register() - if that function is used, a single global ISR is registered for all GPIO interrupts. If this function is used, the ISR service provides a global GPIO ISR and individual pin handlers are registered via the gpio_isr_handler_add() function."] + #[doc = " @param xQueue A handle to the queue being queried."] #[doc = ""] - #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] - #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info."] + #[doc = " @return The number of spaces available in the queue."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_NO_MEM No memory to install this service"] - #[doc = " - ESP_ERR_INVALID_STATE ISR service already installed."] - #[doc = " - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] - #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] - pub fn gpio_install_isr_service(intr_alloc_flags: ::std::os::raw::c_int) -> esp_err_t; + #[doc = " \\ingroup QueueManagement"] + pub fn uxQueueSpacesAvailable(xQueue: QueueHandle_t) -> UBaseType_t; } extern "C" { - #[doc = " @brief Uninstall the driver\'s GPIO ISR service, freeing related resources."] - pub fn gpio_uninstall_isr_service(); + #[doc = " Delete a queue - freeing all the memory allocated for storing of items"] + #[doc = " placed on the queue."] + #[doc = ""] + #[doc = " @param xQueue A handle to the queue to be deleted."] + #[doc = ""] + #[doc = " \\ingroup QueueManagement"] + pub fn vQueueDelete(xQueue: QueueHandle_t); } extern "C" { - #[doc = " @brief Add ISR handler for the corresponding GPIO pin."] + #[doc = "@{*/"] + #[doc = " It is preferred that the macros xQueueSendFromISR(),"] + #[doc = " xQueueSendToFrontFromISR() and xQueueSendToBackFromISR() be used in place"] + #[doc = " of calling this function directly. xQueueGiveFromISR() is an"] + #[doc = " equivalent for use by semaphores that don't actually copy any data."] #[doc = ""] - #[doc = " Call this function after using gpio_install_isr_service() to"] - #[doc = " install the driver\'s GPIO ISR handler service."] + #[doc = " Post an item on a queue. It is safe to use this function from within an"] + #[doc = " interrupt service routine."] #[doc = ""] - #[doc = " The pin ISR handlers no longer need to be declared with IRAM_ATTR,"] - #[doc = " unless you pass the ESP_INTR_FLAG_IRAM flag when allocating the"] - #[doc = " ISR in gpio_install_isr_service()."] + #[doc = " Items are queued by copy not reference so it is preferable to only"] + #[doc = " queue small items, especially when called from an ISR. In most cases"] + #[doc = " it would be preferable to store a pointer to the item being queued."] #[doc = ""] - #[doc = " This ISR handler will be called from an ISR. So there is a stack"] - #[doc = " size limit (configurable as \"ISR stack size\" in menuconfig). This"] - #[doc = " limit is smaller compared to a global GPIO interrupt handler due"] - #[doc = " to the additional level of indirection."] + #[doc = " @param xQueue The handle to the queue on which the item is to be posted."] #[doc = ""] - #[doc = " @param gpio_num GPIO number"] - #[doc = " @param isr_handler ISR handler function for the corresponding GPIO number."] - #[doc = " @param args parameter for ISR handler."] + #[doc = " @param pvItemToQueue A pointer to the item that is to be placed on the"] + #[doc = " queue. The size of the items the queue will hold was defined when the"] + #[doc = " queue was created, so this many bytes will be copied from pvItemToQueue"] + #[doc = " into the queue storage area."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_STATE Wrong state, the ISR service has not been initialized."] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_isr_handler_add( - gpio_num: gpio_num_t, - isr_handler: gpio_isr_t, - args: *mut ::std::os::raw::c_void, - ) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Remove ISR handler for the corresponding GPIO pin."] + #[doc = " @param[out] pxHigherPriorityTaskWoken xQueueGenericSendFromISR() will set"] + #[doc = " *pxHigherPriorityTaskWoken to pdTRUE if sending to the queue caused a task"] + #[doc = " to unblock, and the unblocked task has a priority higher than the currently"] + #[doc = " running task. If xQueueGenericSendFromISR() sets this value to pdTRUE then"] + #[doc = " a context switch should be requested before the interrupt is exited."] #[doc = ""] - #[doc = " @param gpio_num GPIO number"] + #[doc = " @param xCopyPosition Can take the value queueSEND_TO_BACK to place the"] + #[doc = " item at the back of the queue, or queueSEND_TO_FRONT to place the item"] + #[doc = " at the front of the queue (for high priority messages)."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_STATE Wrong state, the ISR service has not been initialized."] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_isr_handler_remove(gpio_num: gpio_num_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Set GPIO pad drive capability"] + #[doc = " @return pdTRUE if the data was successfully sent to the queue, otherwise"] + #[doc = " errQUEUE_FULL."] #[doc = ""] - #[doc = " @param gpio_num GPIO number, only support output GPIOs"] - #[doc = " @param strength Drive capability of the pad"] + #[doc = " Example usage for buffered IO (where the ISR can obtain more than one value"] + #[doc = " per call):"] + #[doc = " @code{c}"] + #[doc = " void vBufferISR( void )"] + #[doc = " {"] + #[doc = " char cIn;"] + #[doc = " BaseType_t xHigherPriorityTaskWokenByPost;"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_set_drive_capability(gpio_num: gpio_num_t, strength: gpio_drive_cap_t) - -> esp_err_t; -} -extern "C" { - #[doc = " @brief Get GPIO pad drive capability"] + #[doc = " \t// We have not woken a task at the start of the ISR."] + #[doc = " \txHigherPriorityTaskWokenByPost = pdFALSE;"] #[doc = ""] - #[doc = " @param gpio_num GPIO number, only support output GPIOs"] - #[doc = " @param strength Pointer to accept drive capability of the pad"] + #[doc = " \t// Loop until the buffer is empty."] + #[doc = " \tdo"] + #[doc = " \t{"] + #[doc = " \t\t// Obtain a byte from the buffer."] + #[doc = " \t\tcIn = portINPUT_BYTE( RX_REGISTER_ADDRESS );"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn gpio_get_drive_capability( - gpio_num: gpio_num_t, - strength: *mut gpio_drive_cap_t, - ) -> esp_err_t; + #[doc = " \t\t// Post each byte."] + #[doc = " \t\txQueueGenericSendFromISR( xRxQueue, &cIn, &xHigherPriorityTaskWokenByPost, queueSEND_TO_BACK );"] + #[doc = ""] + #[doc = " \t} while( portINPUT_BYTE( BUFFER_COUNT ) );"] + #[doc = ""] + #[doc = " \t// Now the buffer is empty we can switch context if necessary. Note that the"] + #[doc = " \t// name of the yield function required is port specific."] + #[doc = " \tif( xHigherPriorityTaskWokenByPost )"] + #[doc = " \t{"] + #[doc = " \t\ttaskYIELD_YIELD_FROM_ISR();"] + #[doc = " \t}"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup QueueManagement"] + pub fn xQueueGenericSendFromISR( + xQueue: QueueHandle_t, + pvItemToQueue: *const ::std::os::raw::c_void, + pxHigherPriorityTaskWoken: *mut BaseType_t, + xCopyPosition: BaseType_t, + ) -> BaseType_t; +} +extern "C" { + pub fn xQueueGiveFromISR( + xQueue: QueueHandle_t, + pxHigherPriorityTaskWoken: *mut BaseType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Set gpio pad hold function."] + #[doc = " Receive an item from a queue. It is safe to use this function from within an"] + #[doc = " interrupt service routine."] #[doc = ""] - #[doc = " The gpio pad hold function works in both input and output modes, but must be output-capable gpios."] - #[doc = " If pad hold enabled:"] - #[doc = " in output mode: the output level of the pad will be force locked and can not be changed."] - #[doc = " in input mode: the input value read will not change, regardless the changes of input signal."] + #[doc = " @param xQueue The handle to the queue from which the item is to be"] + #[doc = " received."] #[doc = ""] - #[doc = " Power down or call gpio_hold_dis will disable this function."] + #[doc = " @param pvBuffer Pointer to the buffer into which the received item will"] + #[doc = " be copied."] #[doc = ""] - #[doc = " @param gpio_num GPIO number, only support output-capable GPIOs"] + #[doc = " @param[out] pxHigherPriorityTaskWoken A task may be blocked waiting for space to become"] + #[doc = " available on the queue. If xQueueReceiveFromISR causes such a task to"] + #[doc = " unblock *pxTaskWoken will get set to pdTRUE, otherwise *pxTaskWoken will"] + #[doc = " remain unchanged."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_NOT_SUPPORTED Not support pad hold function"] - pub fn gpio_hold_en(gpio_num: gpio_num_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Unset gpio pad hold function."] + #[doc = " @return pdTRUE if an item was successfully received from the queue,"] + #[doc = " otherwise pdFALSE."] #[doc = ""] - #[doc = " @param gpio_num GPIO number, only support output-capable GPIOs"] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " QueueHandle_t xQueue;"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_NOT_SUPPORTED Not support pad hold function"] - pub fn gpio_hold_dis(gpio_num: gpio_num_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Set pad input to a peripheral signal through the IOMUX."] - #[doc = " @param gpio_num GPIO number of the pad."] - #[doc = " @param signal_idx Peripheral signal id to input. One of the ``*_IN_IDX`` signals in ``soc/gpio_sig_map.h``."] - pub fn gpio_iomux_in(gpio_num: u32, signal_idx: u32); -} -extern "C" { - #[doc = " @brief Set peripheral output to an GPIO pad through the IOMUX."] - #[doc = " @param gpio_num gpio_num GPIO number of the pad."] - #[doc = " @param func The function number of the peripheral pin to output pin."] - #[doc = " One of the ``FUNC_X_*`` of specified pin (X) in ``soc/io_mux_reg.h``."] - #[doc = " @param oen_inv True if the output enable needs to be inversed, otherwise False."] - pub fn gpio_iomux_out(gpio_num: u8, func: ::std::os::raw::c_int, oen_inv: bool); + #[doc = " // Function to create a queue and post some values."] + #[doc = " void vAFunction( void *pvParameters )"] + #[doc = " {"] + #[doc = " char cValueToPost;"] + #[doc = " const TickType_t xTicksToWait = ( TickType_t )0xff;"] + #[doc = ""] + #[doc = " \t// Create a queue capable of containing 10 characters."] + #[doc = " \txQueue = xQueueCreate( 10, sizeof( char ) );"] + #[doc = " \tif( xQueue == 0 )"] + #[doc = " \t{"] + #[doc = " \t\t// Failed to create the queue."] + #[doc = " \t}"] + #[doc = ""] + #[doc = " \t// ..."] + #[doc = ""] + #[doc = " \t// Post some characters that will be used within an ISR. If the queue"] + #[doc = " \t// is full then this task will block for xTicksToWait ticks."] + #[doc = " \tcValueToPost = 'a';"] + #[doc = " \txQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait );"] + #[doc = " \tcValueToPost = 'b';"] + #[doc = " \txQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait );"] + #[doc = ""] + #[doc = " \t// ... keep posting characters ... this task may block when the queue"] + #[doc = " \t// becomes full."] + #[doc = ""] + #[doc = " \tcValueToPost = 'c';"] + #[doc = " \txQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait );"] + #[doc = " }"] + #[doc = ""] + #[doc = " // ISR that outputs all the characters received on the queue."] + #[doc = " void vISR_Routine( void )"] + #[doc = " {"] + #[doc = " BaseType_t xTaskWokenByReceive = pdFALSE;"] + #[doc = " char cRxedChar;"] + #[doc = ""] + #[doc = " \twhile( xQueueReceiveFromISR( xQueue, ( void * ) &cRxedChar, &xTaskWokenByReceive) )"] + #[doc = " \t{"] + #[doc = " \t\t// A character was received. Output the character now."] + #[doc = " \t\tvOutputCharacter( cRxedChar );"] + #[doc = ""] + #[doc = " \t\t// If removing the character from the queue woke the task that was"] + #[doc = " \t\t// posting onto the queue cTaskWokenByReceive will have been set to"] + #[doc = " \t\t// pdTRUE. No matter how many times this loop iterates only one"] + #[doc = " \t\t// task will be woken."] + #[doc = " \t}"] + #[doc = ""] + #[doc = " \tif( cTaskWokenByPost != ( char ) pdFALSE;"] + #[doc = " \t{"] + #[doc = " \t\ttaskYIELD ();"] + #[doc = " \t}"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup QueueManagement"] + pub fn xQueueReceiveFromISR( + xQueue: QueueHandle_t, + pvBuffer: *mut ::std::os::raw::c_void, + pxHigherPriorityTaskWoken: *mut BaseType_t, + ) -> BaseType_t; } -pub type xt_handler = - ::core::option::Option; -pub type xt_exc_handler = ::core::option::Option; extern "C" { - pub fn xt_set_exception_handler(n: ::std::os::raw::c_int, f: xt_exc_handler) -> xt_exc_handler; + #[doc = "@{*/"] + #[doc = " Utilities to query queues that are safe to use from an ISR. These utilities"] + #[doc = " should be used only from witin an ISR, or within a critical section."] + pub fn xQueueIsQueueEmptyFromISR(xQueue: QueueHandle_t) -> BaseType_t; } extern "C" { - pub fn xt_set_interrupt_handler( - n: ::std::os::raw::c_int, - f: xt_handler, - arg: *mut ::std::os::raw::c_void, - ) -> xt_handler; + pub fn xQueueIsQueueFullFromISR(xQueue: QueueHandle_t) -> BaseType_t; } extern "C" { - pub fn xt_ints_on(mask: ::std::os::raw::c_uint); + pub fn uxQueueMessagesWaitingFromISR(xQueue: QueueHandle_t) -> UBaseType_t; } extern "C" { - pub fn xt_ints_off(mask: ::std::os::raw::c_uint); + #[doc = " @cond */"] + #[doc = " xQueueAltGenericSend() is an alternative version of xQueueGenericSend()."] + #[doc = " Likewise xQueueAltGenericReceive() is an alternative version of"] + #[doc = " xQueueGenericReceive()."] + #[doc = ""] + #[doc = " The source code that implements the alternative (Alt) API is much"] + #[doc = " simpler\tbecause it executes everything from within a critical section."] + #[doc = " This is\tthe approach taken by many other RTOSes, but FreeRTOS.org has the"] + #[doc = " preferred fully featured API too. The fully featured API has more"] + #[doc = " complex\tcode that takes longer to execute, but makes much less use of"] + #[doc = " critical sections. Therefore the alternative API sacrifices interrupt"] + #[doc = " responsiveness to gain execution speed, whereas the fully featured API"] + #[doc = " sacrifices execution speed to ensure better interrupt responsiveness."] + pub fn xQueueAltGenericSend( + xQueue: QueueHandle_t, + pvItemToQueue: *const ::std::os::raw::c_void, + xTicksToWait: TickType_t, + xCopyPosition: BaseType_t, + ) -> BaseType_t; } extern "C" { - pub fn xt_get_interrupt_handler_arg(n: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void; -} -#[doc = "< Touch pad channel 0 is GPIO4"] -pub const touch_pad_t_TOUCH_PAD_NUM0: touch_pad_t = 0; -#[doc = "< Touch pad channel 1 is GPIO0"] -pub const touch_pad_t_TOUCH_PAD_NUM1: touch_pad_t = 1; -#[doc = "< Touch pad channel 2 is GPIO2"] -pub const touch_pad_t_TOUCH_PAD_NUM2: touch_pad_t = 2; -#[doc = "< Touch pad channel 3 is GPIO15"] -pub const touch_pad_t_TOUCH_PAD_NUM3: touch_pad_t = 3; -#[doc = "< Touch pad channel 4 is GPIO13"] -pub const touch_pad_t_TOUCH_PAD_NUM4: touch_pad_t = 4; -#[doc = "< Touch pad channel 5 is GPIO12"] -pub const touch_pad_t_TOUCH_PAD_NUM5: touch_pad_t = 5; -#[doc = "< Touch pad channel 6 is GPIO14"] -pub const touch_pad_t_TOUCH_PAD_NUM6: touch_pad_t = 6; -#[doc = "< Touch pad channel 7 is GPIO27"] -pub const touch_pad_t_TOUCH_PAD_NUM7: touch_pad_t = 7; -#[doc = "< Touch pad channel 8 is GPIO33"] -pub const touch_pad_t_TOUCH_PAD_NUM8: touch_pad_t = 8; -#[doc = "< Touch pad channel 9 is GPIO32"] -pub const touch_pad_t_TOUCH_PAD_NUM9: touch_pad_t = 9; -pub const touch_pad_t_TOUCH_PAD_MAX: touch_pad_t = 10; -pub type touch_pad_t = u32; -#[doc = " esp_err_t; + pub fn xQueueAltGenericReceive( + xQueue: QueueHandle_t, + pvBuffer: *mut ::std::os::raw::c_void, + xTicksToWait: TickType_t, + xJustPeeking: BaseType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Un-install touch pad driver."] - #[doc = " @note After this function is called, other touch functions are prohibited from being called."] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Touch pad driver not initialized"] - pub fn touch_pad_deinit() -> esp_err_t; + pub fn xQueueCRSendFromISR( + xQueue: QueueHandle_t, + pvItemToQueue: *const ::std::os::raw::c_void, + xCoRoutinePreviouslyWoken: BaseType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Configure touch pad interrupt threshold."] - #[doc = ""] - #[doc = " @note If FSM mode is set to TOUCH_FSM_MODE_TIMER, this function will be blocked for one measurement cycle and wait for data to be valid."] - #[doc = ""] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param threshold interrupt threshold,"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument wrong"] - #[doc = " - ESP_FAIL if touch pad not initialized"] - pub fn touch_pad_config(touch_num: touch_pad_t, threshold: u16) -> esp_err_t; + pub fn xQueueCRReceiveFromISR( + xQueue: QueueHandle_t, + pvBuffer: *mut ::std::os::raw::c_void, + pxTaskWoken: *mut BaseType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief get touch sensor counter value."] - #[doc = " Each touch sensor has a counter to count the number of charge/discharge cycles."] - #[doc = " When the pad is not \'touched\', we can get a number of the counter."] - #[doc = " When the pad is \'touched\', the value in counter will get smaller because of the larger equivalent capacitance."] - #[doc = ""] - #[doc = " @note This API requests hardware measurement once. If IIR filter mode is enabled,"] - #[doc = " please use \'touch_pad_read_raw_data\' interface instead."] - #[doc = ""] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param touch_value pointer to accept touch sensor value"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Touch pad parameter error"] - #[doc = " - ESP_ERR_INVALID_STATE This touch pad hardware connection is error, the value of \"touch_value\" is 0."] - #[doc = " - ESP_FAIL Touch pad not initialized"] - pub fn touch_pad_read(touch_num: touch_pad_t, touch_value: *mut u16) -> esp_err_t; + pub fn xQueueCRSend( + xQueue: QueueHandle_t, + pvItemToQueue: *const ::std::os::raw::c_void, + xTicksToWait: TickType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief get filtered touch sensor counter value by IIR filter."] - #[doc = ""] - #[doc = " @note touch_pad_filter_start has to be called before calling touch_pad_read_filtered."] - #[doc = " This function can be called from ISR"] - #[doc = ""] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param touch_value pointer to accept touch sensor value"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Touch pad parameter error"] - #[doc = " - ESP_ERR_INVALID_STATE This touch pad hardware connection is error, the value of \"touch_value\" is 0."] - #[doc = " - ESP_FAIL Touch pad not initialized"] - pub fn touch_pad_read_filtered(touch_num: touch_pad_t, touch_value: *mut u16) -> esp_err_t; + pub fn xQueueCRReceive( + xQueue: QueueHandle_t, + pvBuffer: *mut ::std::os::raw::c_void, + xTicksToWait: TickType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief get raw data (touch sensor counter value) from IIR filter process."] - #[doc = " Need not request hardware measurements."] - #[doc = ""] - #[doc = " @note touch_pad_filter_start has to be called before calling touch_pad_read_raw_data."] - #[doc = " This function can be called from ISR"] - #[doc = ""] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param touch_value pointer to accept touch sensor value"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Touch pad parameter error"] - #[doc = " - ESP_ERR_INVALID_STATE This touch pad hardware connection is error, the value of \"touch_value\" is 0."] - #[doc = " - ESP_FAIL Touch pad not initialized"] - pub fn touch_pad_read_raw_data(touch_num: touch_pad_t, touch_value: *mut u16) -> esp_err_t; -} -#[doc = " @brief Callback function that is called after each IIR filter calculation."] -#[doc = " @note This callback is called in timer task in each filtering cycle."] -#[doc = " @note This callback should not be blocked."] -#[doc = " @param raw_value The latest raw data(touch sensor counter value) that"] -#[doc = " points to all channels(raw_value[0..TOUCH_PAD_MAX-1])."] -#[doc = " @param filtered_value The latest IIR filtered data(calculated from raw data) that"] -#[doc = " points to all channels(filtered_value[0..TOUCH_PAD_MAX-1])."] -#[doc = ""] -pub type filter_cb_t = - ::core::option::Option; + pub fn xQueueCreateMutex(ucQueueType: u8) -> QueueHandle_t; +} extern "C" { - #[doc = " @brief Register the callback function that is called after each IIR filter calculation."] - #[doc = " @note The \'read_cb\' callback is called in timer task in each filtering cycle."] - #[doc = " @param read_cb Pointer to filtered callback function."] - #[doc = " If the argument passed in is NULL, the callback will stop."] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG set error"] - pub fn touch_pad_set_filter_read_cb(read_cb: filter_cb_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Register touch-pad ISR,"] - #[doc = " @note Deprecated function, users should replace this with touch_pad_isr_register,"] - #[doc = " because RTC modules share a same interrupt index."] - #[doc = " @param fn Pointer to ISR handler"] - #[doc = " @param arg Parameter for ISR"] - #[doc = " @param unused Reserved, not used"] - #[doc = " @param handle_unused Reserved, not used"] - #[doc = " @return"] - #[doc = " - ESP_OK Success ;"] - #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] - #[doc = " - ESP_ERR_NO_MEM No memory"] - pub fn touch_pad_isr_handler_register( - fn_: ::core::option::Option, - arg: *mut ::std::os::raw::c_void, - unused: ::std::os::raw::c_int, - handle_unused: *mut intr_handle_t, - ) -> esp_err_t; + pub fn xQueueCreateMutexStatic( + ucQueueType: u8, + pxStaticQueue: *mut StaticQueue_t, + ) -> QueueHandle_t; } extern "C" { - #[doc = " @brief Register touch-pad ISR."] - #[doc = " The handler will be attached to the same CPU core that this function is running on."] - #[doc = " @param fn Pointer to ISR handler"] - #[doc = " @param arg Parameter for ISR"] - #[doc = " @return"] - #[doc = " - ESP_OK Success ;"] - #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] - #[doc = " - ESP_ERR_NO_MEM No memory"] - pub fn touch_pad_isr_register( - fn_: intr_handler_t, - arg: *mut ::std::os::raw::c_void, - ) -> esp_err_t; + pub fn xQueueCreateCountingSemaphore( + uxMaxCount: UBaseType_t, + uxInitialCount: UBaseType_t, + ) -> QueueHandle_t; } extern "C" { - #[doc = " @brief Deregister the handler previously registered using touch_pad_isr_handler_register"] - #[doc = " @param fn handler function to call (as passed to touch_pad_isr_handler_register)"] - #[doc = " @param arg argument of the handler (as passed to touch_pad_isr_handler_register)"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if a handler matching both fn and"] - #[doc = " arg isn\'t registered"] - pub fn touch_pad_isr_deregister( - fn_: ::core::option::Option, - arg: *mut ::std::os::raw::c_void, - ) -> esp_err_t; + pub fn xQueueCreateCountingSemaphoreStatic( + uxMaxCount: UBaseType_t, + uxInitialCount: UBaseType_t, + pxStaticQueue: *mut StaticQueue_t, + ) -> QueueHandle_t; } extern "C" { - #[doc = " @brief Set touch sensor measurement and sleep time"] - #[doc = " @param sleep_cycle The touch sensor will sleep after each measurement."] - #[doc = " sleep_cycle decide the interval between each measurement."] - #[doc = " t_sleep = sleep_cycle / (RTC_SLOW_CLK frequency)."] - #[doc = " The approximate frequency value of RTC_SLOW_CLK can be obtained using rtc_clk_slow_freq_get_hz function."] - #[doc = " @param meas_cycle The duration of the touch sensor measurement."] - #[doc = " t_meas = meas_cycle / 8M, the maximum measure time is 0xffff / 8M = 8.19 ms"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_set_meas_time(sleep_cycle: u16, meas_cycle: u16) -> esp_err_t; + pub fn xQueueGetMutexHolder(xSemaphore: QueueHandle_t) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " @brief Get touch sensor measurement and sleep time"] - #[doc = " @param sleep_cycle Pointer to accept sleep cycle number"] - #[doc = " @param meas_cycle Pointer to accept measurement cycle count."] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_get_meas_time(sleep_cycle: *mut u16, meas_cycle: *mut u16) -> esp_err_t; + pub fn xQueueTakeMutexRecursive(xMutex: QueueHandle_t, xTicksToWait: TickType_t) -> BaseType_t; } extern "C" { - #[doc = " @brief Set touch sensor reference voltage, if the voltage gap between high and low reference voltage get less,"] - #[doc = " the charging and discharging time would be faster, accordingly, the counter value would be larger."] - #[doc = " In the case of detecting very slight change of capacitance, we can narrow down the gap so as to increase"] - #[doc = " the sensitivity. On the other hand, narrow voltage gap would also introduce more noise, but we can use a"] - #[doc = " software filter to pre-process the counter value."] - #[doc = " @param refh the value of DREFH"] - #[doc = " @param refl the value of DREFL"] - #[doc = " @param atten the attenuation on DREFH"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_set_voltage( - refh: touch_high_volt_t, - refl: touch_low_volt_t, - atten: touch_volt_atten_t, - ) -> esp_err_t; + pub fn xQueueGiveMutexRecursive(pxMutex: QueueHandle_t) -> BaseType_t; } extern "C" { - #[doc = " @brief Get touch sensor reference voltage,"] - #[doc = " @param refh pointer to accept DREFH value"] - #[doc = " @param refl pointer to accept DREFL value"] - #[doc = " @param atten pointer to accept the attenuation on DREFH"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_get_voltage( - refh: *mut touch_high_volt_t, - refl: *mut touch_low_volt_t, - atten: *mut touch_volt_atten_t, - ) -> esp_err_t; + pub fn xQueueGenericCreate( + uxQueueLength: UBaseType_t, + uxItemSize: UBaseType_t, + ucQueueType: u8, + ) -> QueueHandle_t; } extern "C" { - #[doc = " @brief Set touch sensor charge/discharge speed for each pad."] - #[doc = " If the slope is 0, the counter would always be zero."] - #[doc = " If the slope is 1, the charging and discharging would be slow, accordingly, the counter value would be small."] - #[doc = " If the slope is set 7, which is the maximum value, the charging and discharging would be fast, accordingly, the"] - #[doc = " counter value would be larger."] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param slope touch pad charge/discharge speed"] - #[doc = " @param opt the initial voltage"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_set_cnt_mode( - touch_num: touch_pad_t, - slope: touch_cnt_slope_t, - opt: touch_tie_opt_t, - ) -> esp_err_t; + #[doc = " Queue sets provide a mechanism to allow a task to block (pend) on a read"] + #[doc = " operation from multiple queues or semaphores simultaneously."] + #[doc = ""] + #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] + #[doc = " function."] + #[doc = ""] + #[doc = " A queue set must be explicitly created using a call to xQueueCreateSet()"] + #[doc = " before it can be used. Once created, standard FreeRTOS queues and semaphores"] + #[doc = " can be added to the set using calls to xQueueAddToSet()."] + #[doc = " xQueueSelectFromSet() is then used to determine which, if any, of the queues"] + #[doc = " or semaphores contained in the set is in a state where a queue read or"] + #[doc = " semaphore take operation would be successful."] + #[doc = ""] + #[doc = " Note 1: See the documentation on http://wwwFreeRTOS.org/RTOS-queue-sets.html"] + #[doc = " for reasons why queue sets are very rarely needed in practice as there are"] + #[doc = " simpler methods of blocking on multiple objects."] + #[doc = ""] + #[doc = " Note 2: Blocking on a queue set that contains a mutex will not cause the"] + #[doc = " mutex holder to inherit the priority of the blocked task."] + #[doc = ""] + #[doc = " Note 3: An additional 4 bytes of RAM is required for each space in a every"] + #[doc = " queue added to a queue set. Therefore counting semaphores that have a high"] + #[doc = " maximum count value should not be added to a queue set."] + #[doc = ""] + #[doc = " Note 4: A receive (in the case of a queue) or take (in the case of a"] + #[doc = " semaphore) operation must not be performed on a member of a queue set unless"] + #[doc = " a call to xQueueSelectFromSet() has first returned a handle to that set member."] + #[doc = ""] + #[doc = " @param uxEventQueueLength Queue sets store events that occur on"] + #[doc = " the queues and semaphores contained in the set. uxEventQueueLength specifies"] + #[doc = " the maximum number of events that can be queued at once. To be absolutely"] + #[doc = " certain that events are not lost uxEventQueueLength should be set to the"] + #[doc = " total sum of the length of the queues added to the set, where binary"] + #[doc = " semaphores and mutexes have a length of 1, and counting semaphores have a"] + #[doc = " length set by their maximum count value. Examples:"] + #[doc = " + If a queue set is to hold a queue of length 5, another queue of length 12,"] + #[doc = " and a binary semaphore, then uxEventQueueLength should be set to"] + #[doc = " (5 + 12 + 1), or 18."] + #[doc = " + If a queue set is to hold three binary semaphores then uxEventQueueLength"] + #[doc = " should be set to (1 + 1 + 1 ), or 3."] + #[doc = " + If a queue set is to hold a counting semaphore that has a maximum count of"] + #[doc = " 5, and a counting semaphore that has a maximum count of 3, then"] + #[doc = " uxEventQueueLength should be set to (5 + 3), or 8."] + #[doc = ""] + #[doc = " @return If the queue set is created successfully then a handle to the created"] + #[doc = " queue set is returned. Otherwise NULL is returned."] + pub fn xQueueCreateSet(uxEventQueueLength: UBaseType_t) -> QueueSetHandle_t; } extern "C" { - #[doc = " @brief Get touch sensor charge/discharge speed for each pad"] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param slope pointer to accept touch pad charge/discharge slope"] - #[doc = " @param opt pointer to accept the initial voltage"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_get_cnt_mode( - touch_num: touch_pad_t, - slope: *mut touch_cnt_slope_t, - opt: *mut touch_tie_opt_t, - ) -> esp_err_t; + #[doc = " Adds a queue or semaphore to a queue set that was previously created by a"] + #[doc = " call to xQueueCreateSet()."] + #[doc = ""] + #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] + #[doc = " function."] + #[doc = ""] + #[doc = " Note 1: A receive (in the case of a queue) or take (in the case of a"] + #[doc = " semaphore) operation must not be performed on a member of a queue set unless"] + #[doc = " a call to xQueueSelectFromSet() has first returned a handle to that set member."] + #[doc = ""] + #[doc = " @param xQueueOrSemaphore The handle of the queue or semaphore being added to"] + #[doc = " the queue set (cast to an QueueSetMemberHandle_t type)."] + #[doc = ""] + #[doc = " @param xQueueSet The handle of the queue set to which the queue or semaphore"] + #[doc = " is being added."] + #[doc = ""] + #[doc = " @return If the queue or semaphore was successfully added to the queue set"] + #[doc = " then pdPASS is returned. If the queue could not be successfully added to the"] + #[doc = " queue set because it is already a member of a different queue set then pdFAIL"] + #[doc = " is returned."] + pub fn xQueueAddToSet( + xQueueOrSemaphore: QueueSetMemberHandle_t, + xQueueSet: QueueSetHandle_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Initialize touch pad GPIO"] - #[doc = " @param touch_num touch pad index"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_io_init(touch_num: touch_pad_t) -> esp_err_t; + #[doc = " Removes a queue or semaphore from a queue set. A queue or semaphore can only"] + #[doc = " be removed from a set if the queue or semaphore is empty."] + #[doc = ""] + #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] + #[doc = " function."] + #[doc = ""] + #[doc = " @param xQueueOrSemaphore The handle of the queue or semaphore being removed"] + #[doc = " from the queue set (cast to an QueueSetMemberHandle_t type)."] + #[doc = ""] + #[doc = " @param xQueueSet The handle of the queue set in which the queue or semaphore"] + #[doc = " is included."] + #[doc = ""] + #[doc = " @return If the queue or semaphore was successfully removed from the queue set"] + #[doc = " then pdPASS is returned. If the queue was not in the queue set, or the"] + #[doc = " queue (or semaphore) was not empty, then pdFAIL is returned."] + pub fn xQueueRemoveFromSet( + xQueueOrSemaphore: QueueSetMemberHandle_t, + xQueueSet: QueueSetHandle_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Set touch sensor FSM mode, the test action can be triggered by the timer,"] - #[doc = " as well as by the software."] - #[doc = " @param mode FSM mode"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_set_fsm_mode(mode: touch_fsm_mode_t) -> esp_err_t; + #[doc = " xQueueSelectFromSet() selects from the members of a queue set a queue or"] + #[doc = " semaphore that either contains data (in the case of a queue) or is available"] + #[doc = " to take (in the case of a semaphore). xQueueSelectFromSet() effectively"] + #[doc = " allows a task to block (pend) on a read operation on all the queues and"] + #[doc = " semaphores in a queue set simultaneously."] + #[doc = ""] + #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] + #[doc = " function."] + #[doc = ""] + #[doc = " Note 1: See the documentation on http://wwwFreeRTOS.org/RTOS-queue-sets.html"] + #[doc = " for reasons why queue sets are very rarely needed in practice as there are"] + #[doc = " simpler methods of blocking on multiple objects."] + #[doc = ""] + #[doc = " Note 2: Blocking on a queue set that contains a mutex will not cause the"] + #[doc = " mutex holder to inherit the priority of the blocked task."] + #[doc = ""] + #[doc = " Note 3: A receive (in the case of a queue) or take (in the case of a"] + #[doc = " semaphore) operation must not be performed on a member of a queue set unless"] + #[doc = " a call to xQueueSelectFromSet() has first returned a handle to that set member."] + #[doc = ""] + #[doc = " @param xQueueSet The queue set on which the task will (potentially) block."] + #[doc = ""] + #[doc = " @param xTicksToWait The maximum time, in ticks, that the calling task will"] + #[doc = " remain in the Blocked state (with other tasks executing) to wait for a member"] + #[doc = " of the queue set to be ready for a successful queue read or semaphore take"] + #[doc = " operation."] + #[doc = ""] + #[doc = " @return xQueueSelectFromSet() will return the handle of a queue (cast to"] + #[doc = " a QueueSetMemberHandle_t type) contained in the queue set that contains data,"] + #[doc = " or the handle of a semaphore (cast to a QueueSetMemberHandle_t type) contained"] + #[doc = " in the queue set that is available, or NULL if no such queue or semaphore"] + #[doc = " exists before before the specified block time expires."] + pub fn xQueueSelectFromSet( + xQueueSet: QueueSetHandle_t, + xTicksToWait: TickType_t, + ) -> QueueSetMemberHandle_t; } extern "C" { - #[doc = " @brief Get touch sensor FSM mode"] - #[doc = " @param mode pointer to accept FSM mode"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_get_fsm_mode(mode: *mut touch_fsm_mode_t) -> esp_err_t; + #[doc = " A version of xQueueSelectFromSet() that can be used from an ISR."] + pub fn xQueueSelectFromSetFromISR(xQueueSet: QueueSetHandle_t) -> QueueSetMemberHandle_t; } extern "C" { - #[doc = " @brief Trigger a touch sensor measurement, only support in SW mode of FSM"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_sw_start() -> esp_err_t; + #[doc = " @cond"] + pub fn vQueueWaitForMessageRestricted(xQueue: QueueHandle_t, xTicksToWait: TickType_t); } extern "C" { - #[doc = " @brief Set touch sensor interrupt threshold"] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param threshold threshold of touchpad count, refer to touch_pad_set_trigger_mode to see how to set trigger mode."] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_set_thresh(touch_num: touch_pad_t, threshold: u16) -> esp_err_t; + pub fn xQueueGenericReset(xQueue: QueueHandle_t, xNewQueue: BaseType_t) -> BaseType_t; } extern "C" { - #[doc = " @brief Get touch sensor interrupt threshold"] - #[doc = " @param touch_num touch pad index"] - #[doc = " @param threshold pointer to accept threshold"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_get_thresh(touch_num: touch_pad_t, threshold: *mut u16) -> esp_err_t; + pub fn vQueueSetQueueNumber(xQueue: QueueHandle_t, uxQueueNumber: UBaseType_t); } extern "C" { - #[doc = " @brief Set touch sensor interrupt trigger mode."] - #[doc = " Interrupt can be triggered either when counter result is less than"] - #[doc = " threshold or when counter result is more than threshold."] - #[doc = " @param mode touch sensor interrupt trigger mode"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_set_trigger_mode(mode: touch_trigger_mode_t) -> esp_err_t; + pub fn uxQueueGetQueueNumber(xQueue: QueueHandle_t) -> UBaseType_t; } extern "C" { - #[doc = " @brief Get touch sensor interrupt trigger mode"] - #[doc = " @param mode pointer to accept touch sensor interrupt trigger mode"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_get_trigger_mode(mode: *mut touch_trigger_mode_t) -> esp_err_t; + pub fn ucQueueGetQueueType(xQueue: QueueHandle_t) -> u8; } -extern "C" { - #[doc = " @brief Set touch sensor interrupt trigger source. There are two sets of touch signals."] - #[doc = " Set1 and set2 can be mapped to several touch signals. Either set will be triggered"] - #[doc = " if at least one of its touch signal is \'touched\'. The interrupt can be configured to be generated"] - #[doc = " if set1 is triggered, or only if both sets are triggered."] - #[doc = " @param src touch sensor interrupt trigger source"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_set_trigger_source(src: touch_trigger_src_t) -> esp_err_t; +pub type SemaphoreHandle_t = QueueHandle_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xLIST_ITEM { + pub xItemValue: TickType_t, + pub pxNext: *mut xLIST_ITEM, + pub pxPrevious: *mut xLIST_ITEM, + pub pvOwner: *mut ::std::os::raw::c_void, + pub pvContainer: *mut ::std::os::raw::c_void, } -extern "C" { - #[doc = " @brief Get touch sensor interrupt trigger source"] - #[doc = " @param src pointer to accept touch sensor interrupt trigger source"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_get_trigger_source(src: *mut touch_trigger_src_t) -> esp_err_t; +pub type ListItem_t = xLIST_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xMINI_LIST_ITEM { + pub xItemValue: TickType_t, + pub pxNext: *mut xLIST_ITEM, + pub pxPrevious: *mut xLIST_ITEM, } -extern "C" { - #[doc = " @brief Set touch sensor group mask."] - #[doc = " Touch pad module has two sets of signals, \'Touched\' signal is triggered only if"] - #[doc = " at least one of touch pad in this group is \"touched\"."] - #[doc = " This function will set the register bits according to the given bitmask."] - #[doc = " @param set1_mask bitmask of touch sensor signal group1, it\'s a 10-bit value"] - #[doc = " @param set2_mask bitmask of touch sensor signal group2, it\'s a 10-bit value"] - #[doc = " @param en_mask bitmask of touch sensor work enable, it\'s a 10-bit value"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_set_group_mask(set1_mask: u16, set2_mask: u16, en_mask: u16) -> esp_err_t; +pub type MiniListItem_t = xMINI_LIST_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xLIST { + pub uxNumberOfItems: UBaseType_t, + pub pxIndex: *mut ListItem_t, + pub xListEnd: MiniListItem_t, } +pub type List_t = xLIST; extern "C" { - #[doc = " @brief Get touch sensor group mask."] - #[doc = " @param set1_mask pointer to accept bitmask of touch sensor signal group1, it\'s a 10-bit value"] - #[doc = " @param set2_mask pointer to accept bitmask of touch sensor signal group2, it\'s a 10-bit value"] - #[doc = " @param en_mask pointer to accept bitmask of touch sensor work enable, it\'s a 10-bit value"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_get_group_mask( - set1_mask: *mut u16, - set2_mask: *mut u16, - en_mask: *mut u16, - ) -> esp_err_t; + pub fn vListInitialise(pxList: *mut List_t); } extern "C" { - #[doc = " @brief Clear touch sensor group mask."] - #[doc = " Touch pad module has two sets of signals, Interrupt is triggered only if"] - #[doc = " at least one of touch pad in this group is \"touched\"."] - #[doc = " This function will clear the register bits according to the given bitmask."] - #[doc = " @param set1_mask bitmask touch sensor signal group1, it\'s a 10-bit value"] - #[doc = " @param set2_mask bitmask touch sensor signal group2, it\'s a 10-bit value"] - #[doc = " @param en_mask bitmask of touch sensor work enable, it\'s a 10-bit value"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if argument is wrong"] - pub fn touch_pad_clear_group_mask(set1_mask: u16, set2_mask: u16, en_mask: u16) -> esp_err_t; + pub fn vListInitialiseItem(pxItem: *mut ListItem_t); } extern "C" { - #[doc = " @brief To clear the touch status register, usually use this function in touch ISR to clear status."] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_clear_status() -> esp_err_t; + pub fn vListInsert(pxList: *mut List_t, pxNewListItem: *mut ListItem_t); } extern "C" { - #[doc = " @brief Get the touch sensor status, usually used in ISR to decide which pads are \'touched\'."] - #[doc = " @return"] - #[doc = " - touch status"] - pub fn touch_pad_get_status() -> u32; + pub fn vListInsertEnd(pxList: *mut List_t, pxNewListItem: *mut ListItem_t); } extern "C" { - #[doc = " @brief To enable touch pad interrupt"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_intr_enable() -> esp_err_t; + pub fn uxListRemove(pxItemToRemove: *mut ListItem_t) -> UBaseType_t; } -extern "C" { - #[doc = " @brief To disable touch pad interrupt"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - pub fn touch_pad_intr_disable() -> esp_err_t; +#[doc = " task. h"] +#[doc = ""] +#[doc = " Type by which tasks are referenced. For example, a call to xTaskCreate"] +#[doc = " returns (via a pointer parameter) an TaskHandle_t variable that can then"] +#[doc = " be used as a parameter to vTaskDelete to delete the task."] +#[doc = ""] +#[doc = " \\ingroup Tasks"] +pub type TaskHandle_t = *mut ::std::os::raw::c_void; +#[doc = " Defines the prototype to which the application task hook function must"] +#[doc = " conform."] +pub type TaskHookFunction_t = + ::core::option::Option BaseType_t>; +#[doc = "< A task is querying the state of itself, so must be running."] +pub const eTaskState_eRunning: eTaskState = 0; +#[doc = "< The task being queried is in a read or pending ready list."] +pub const eTaskState_eReady: eTaskState = 1; +#[doc = "< The task being queried is in the Blocked state."] +pub const eTaskState_eBlocked: eTaskState = 2; +#[doc = "< The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out."] +pub const eTaskState_eSuspended: eTaskState = 3; +#[doc = "< The task being queried has been deleted, but its TCB has not yet been freed."] +pub const eTaskState_eDeleted: eTaskState = 4; +#[doc = " Task states returned by eTaskGetState."] +pub type eTaskState = u32; +#[doc = "< Notify the task without updating its notify value."] +pub const eNotifyAction_eNoAction: eNotifyAction = 0; +#[doc = "< Set bits in the task's notification value."] +pub const eNotifyAction_eSetBits: eNotifyAction = 1; +#[doc = "< Increment the task's notification value."] +pub const eNotifyAction_eIncrement: eNotifyAction = 2; +#[doc = "< Set the task's notification value to a specific value even if the previous value has not yet been read by the task."] +pub const eNotifyAction_eSetValueWithOverwrite: eNotifyAction = 3; +#[doc = "< Set the task's notification value if the previous value has been read by the task."] +pub const eNotifyAction_eSetValueWithoutOverwrite: eNotifyAction = 4; +#[doc = " Actions that can be performed when vTaskNotify() is called."] +pub type eNotifyAction = u32; +#[doc = " @cond */"] +#[doc = " Used internally only."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xTIME_OUT { + pub xOverflowCount: BaseType_t, + pub xTimeOnEntering: TickType_t, } -extern "C" { - #[doc = " @brief set touch pad filter calibration period, in ms."] - #[doc = " Need to call touch_pad_filter_start before all touch filter APIs"] - #[doc = " @param new_period_ms filter period, in ms"] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_STATE driver state error"] - #[doc = " - ESP_ERR_INVALID_ARG parameter error"] - pub fn touch_pad_set_filter_period(new_period_ms: u32) -> esp_err_t; +pub type TimeOut_t = xTIME_OUT; +#[doc = " Defines the memory ranges allocated to the task when an MPU is used."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xMEMORY_REGION { + pub pvBaseAddress: *mut ::std::os::raw::c_void, + pub ulLengthInBytes: u32, + pub ulParameters: u32, } -extern "C" { - #[doc = " @brief get touch pad filter calibration period, in ms"] - #[doc = " Need to call touch_pad_filter_start before all touch filter APIs"] - #[doc = " @param p_period_ms pointer to accept period"] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_STATE driver state error"] - #[doc = " - ESP_ERR_INVALID_ARG parameter error"] - pub fn touch_pad_get_filter_period(p_period_ms: *mut u32) -> esp_err_t; -} -extern "C" { - #[doc = " @brief start touch pad filter function"] - #[doc = " This API will start a filter to process the noise in order to prevent false triggering"] - #[doc = " when detecting slight change of capacitance."] - #[doc = " Need to call touch_pad_filter_start before all touch filter APIs"] - #[doc = ""] - #[doc = " @note This filter uses FreeRTOS timer, which is dispatched from a task with"] - #[doc = " priority 1 by default on CPU 0. So if some application task with higher priority"] - #[doc = " takes a lot of CPU0 time, then the quality of data obtained from this filter will be affected."] - #[doc = " You can adjust FreeRTOS timer task priority in menuconfig."] - #[doc = " @param filter_period_ms filter calibration period, in ms"] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG parameter error"] - #[doc = " - ESP_ERR_NO_MEM No memory for driver"] - #[doc = " - ESP_ERR_INVALID_STATE driver state error"] - pub fn touch_pad_filter_start(filter_period_ms: u32) -> esp_err_t; +pub type MemoryRegion_t = xMEMORY_REGION; +#[doc = " Parameters required to create an MPU protected task."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xTASK_PARAMETERS { + pub pvTaskCode: TaskFunction_t, + pub pcName: *const ::std::os::raw::c_char, + pub usStackDepth: u32, + pub pvParameters: *mut ::std::os::raw::c_void, + pub uxPriority: UBaseType_t, + pub puxStackBuffer: *mut StackType_t, + pub xRegions: [MemoryRegion_t; 1usize], } -extern "C" { - #[doc = " @brief stop touch pad filter function"] - #[doc = " Need to call touch_pad_filter_start before all touch filter APIs"] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_STATE driver state error"] - pub fn touch_pad_filter_stop() -> esp_err_t; +pub type TaskParameters_t = xTASK_PARAMETERS; +#[doc = " Used with the uxTaskGetSystemState() function to return the state of each task in the system."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xTASK_STATUS { + #[doc = "< The handle of the task to which the rest of the information in the structure relates."] + pub xHandle: TaskHandle_t, + #[doc = "< A pointer to the task's name. This value will be invalid if the task was deleted since the structure was populated!"] + pub pcTaskName: *const ::std::os::raw::c_char, + #[doc = "< A number unique to the task."] + pub xTaskNumber: UBaseType_t, + #[doc = "< The state in which the task existed when the structure was populated."] + pub eCurrentState: eTaskState, + #[doc = "< The priority at which the task was running (may be inherited) when the structure was populated."] + pub uxCurrentPriority: UBaseType_t, + #[doc = "< The priority to which the task will return if the task's current priority has been inherited to avoid unbounded priority inversion when obtaining a mutex. Only valid if configUSE_MUTEXES is defined as 1 in FreeRTOSConfig.h."] + pub uxBasePriority: UBaseType_t, + #[doc = "< The total run time allocated to the task so far, as defined by the run time stats clock. See http://www.freertos.org/rtos-run-time-stats.html. Only valid when configGENERATE_RUN_TIME_STATS is defined as 1 in FreeRTOSConfig.h."] + pub ulRunTimeCounter: u32, + #[doc = "< Points to the lowest address of the task's stack area."] + pub pxStackBase: *mut StackType_t, + #[doc = "< The minimum amount of stack space that has remained for the task since the task was created. The closer this value is to zero the closer the task has come to overflowing its stack."] + pub usStackHighWaterMark: u32, } -extern "C" { - #[doc = " @brief delete touch pad filter driver and release the memory"] - #[doc = " Need to call touch_pad_filter_start before all touch filter APIs"] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_STATE driver state error"] - pub fn touch_pad_filter_delete() -> esp_err_t; +pub type TaskStatus_t = xTASK_STATUS; +#[doc = " Used with the uxTaskGetSnapshotAll() function to save memory snapshot of each task in the system."] +#[doc = " We need this struct because TCB_t is defined (hidden) in tasks.c."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xTASK_SNAPSHOT { + #[doc = "< Address of task control block."] + pub pxTCB: *mut ::std::os::raw::c_void, + #[doc = "< Points to the location of the last item placed on the tasks stack."] + pub pxTopOfStack: *mut StackType_t, + #[doc = "< Points to the end of the stack. pxTopOfStack < pxEndOfStack, stack grows hi2lo"] + #[doc = "pxTopOfStack > pxEndOfStack, stack grows lo2hi"] + pub pxEndOfStack: *mut StackType_t, } +pub type TaskSnapshot_t = xTASK_SNAPSHOT; +#[doc = "< A task has been made ready or a context switch pended since portSUPPORESS_TICKS_AND_SLEEP() was called - abort entering a sleep mode."] +pub const eSleepModeStatus_eAbortSleep: eSleepModeStatus = 0; +#[doc = "< Enter a sleep mode that will not last any longer than the expected idle time."] +pub const eSleepModeStatus_eStandardSleep: eSleepModeStatus = 1; +#[doc = "< No tasks are waiting for a timeout so it is safe to enter a sleep mode that can only be exited by an external interrupt."] +pub const eSleepModeStatus_eNoTasksWaitingTimeout: eSleepModeStatus = 2; +#[doc = " Possible return values for eTaskConfirmSleepModeStatus()."] +pub type eSleepModeStatus = u32; extern "C" { - #[doc = " @brief Get the touch pad which caused wakeup from sleep"] - #[doc = " @param pad_num pointer to touch pad which caused wakeup"] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL get status err"] - pub fn touch_pad_get_wakeup_status(pad_num: *mut touch_pad_t) -> esp_err_t; -} -#[doc = "!< Wake the chip when all selected GPIOs go low"] -pub const esp_sleep_ext1_wakeup_mode_t_ESP_EXT1_WAKEUP_ALL_LOW: esp_sleep_ext1_wakeup_mode_t = 0; -#[doc = "!< Wake the chip when any of the selected GPIOs go high"] -pub const esp_sleep_ext1_wakeup_mode_t_ESP_EXT1_WAKEUP_ANY_HIGH: esp_sleep_ext1_wakeup_mode_t = 1; -#[doc = " @brief Logic function used for EXT1 wakeup mode."] -pub type esp_sleep_ext1_wakeup_mode_t = u32; -#[doc = "!< RTC IO, sensors and ULP co-processor"] -pub const esp_sleep_pd_domain_t_ESP_PD_DOMAIN_RTC_PERIPH: esp_sleep_pd_domain_t = 0; -#[doc = "!< RTC slow memory"] -pub const esp_sleep_pd_domain_t_ESP_PD_DOMAIN_RTC_SLOW_MEM: esp_sleep_pd_domain_t = 1; -#[doc = "!< RTC fast memory"] -pub const esp_sleep_pd_domain_t_ESP_PD_DOMAIN_RTC_FAST_MEM: esp_sleep_pd_domain_t = 2; -#[doc = "!< XTAL oscillator"] -pub const esp_sleep_pd_domain_t_ESP_PD_DOMAIN_XTAL: esp_sleep_pd_domain_t = 3; -#[doc = "!< Number of domains"] -pub const esp_sleep_pd_domain_t_ESP_PD_DOMAIN_MAX: esp_sleep_pd_domain_t = 4; -#[doc = " @brief Power domains which can be powered down in sleep mode"] -pub type esp_sleep_pd_domain_t = u32; -#[doc = "!< Power down the power domain in sleep mode"] -pub const esp_sleep_pd_option_t_ESP_PD_OPTION_OFF: esp_sleep_pd_option_t = 0; -#[doc = "!< Keep power domain enabled during sleep mode"] -pub const esp_sleep_pd_option_t_ESP_PD_OPTION_ON: esp_sleep_pd_option_t = 1; -#[doc = "!< Keep power domain enabled in sleep mode, if it is needed by one of the wakeup options. Otherwise power it down."] -pub const esp_sleep_pd_option_t_ESP_PD_OPTION_AUTO: esp_sleep_pd_option_t = 2; -#[doc = " @brief Power down options"] -pub type esp_sleep_pd_option_t = u32; -#[doc = "!< In case of deep sleep, reset was not caused by exit from deep sleep"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_UNDEFINED: esp_sleep_source_t = 0; -#[doc = "!< Not a wakeup cause, used to disable all wakeup sources with esp_sleep_disable_wakeup_source"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_ALL: esp_sleep_source_t = 1; -#[doc = "!< Wakeup caused by external signal using RTC_IO"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_EXT0: esp_sleep_source_t = 2; -#[doc = "!< Wakeup caused by external signal using RTC_CNTL"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_EXT1: esp_sleep_source_t = 3; -#[doc = "!< Wakeup caused by timer"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_TIMER: esp_sleep_source_t = 4; -#[doc = "!< Wakeup caused by touchpad"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_TOUCHPAD: esp_sleep_source_t = 5; -#[doc = "!< Wakeup caused by ULP program"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_ULP: esp_sleep_source_t = 6; -#[doc = "!< Wakeup caused by GPIO (light sleep only)"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_GPIO: esp_sleep_source_t = 7; -#[doc = "!< Wakeup caused by UART (light sleep only)"] -pub const esp_sleep_source_t_ESP_SLEEP_WAKEUP_UART: esp_sleep_source_t = 8; -#[doc = " @brief Sleep wakeup cause"] -pub type esp_sleep_source_t = u32; -pub use self::esp_sleep_source_t as esp_sleep_wakeup_cause_t; -extern "C" { - #[doc = " @brief Disable wakeup source"] - #[doc = ""] - #[doc = " This function is used to deactivate wake up trigger for source"] - #[doc = " defined as parameter of the function."] - #[doc = ""] - #[doc = " @note This function does not modify wake up configuration in RTC."] - #[doc = " It will be performed in esp_sleep_start function."] - #[doc = ""] - #[doc = " See docs/sleep-modes.rst for details."] - #[doc = ""] - #[doc = " @param source - number of source to disable of type esp_sleep_source_t"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if trigger was not active"] - pub fn esp_sleep_disable_wakeup_source(source: esp_sleep_source_t) -> esp_err_t; + pub fn xTaskCreatePinnedToCore( + pvTaskCode: TaskFunction_t, + pcName: *const ::std::os::raw::c_char, + usStackDepth: u32, + pvParameters: *mut ::std::os::raw::c_void, + uxPriority: UBaseType_t, + pvCreatedTask: *mut TaskHandle_t, + xCoreID: BaseType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Enable wakeup by ULP coprocessor"] - #[doc = " @note In revisions 0 and 1 of the ESP32, ULP wakeup source"] - #[doc = " can not be used when RTC_PERIPH power domain is forced"] - #[doc = " to be powered on (ESP_PD_OPTION_ON) or when ext0 wakeup"] - #[doc = " source is used."] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if ULP co-processor is not enabled or if wakeup triggers conflict"] - pub fn esp_sleep_enable_ulp_wakeup() -> esp_err_t; + pub fn xTaskCreateRestricted( + pxTaskDefinition: *const TaskParameters_t, + pxCreatedTask: *mut TaskHandle_t, + ) -> BaseType_t; } extern "C" { - #[doc = " @brief Enable wakeup by timer"] - #[doc = " @param time_in_us time before wakeup, in microseconds"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if value is out of range (TBD)"] - pub fn esp_sleep_enable_timer_wakeup(time_in_us: u64) -> esp_err_t; + #[doc = " Memory regions are assigned to a restricted task when the task is created by"] + #[doc = " a call to xTaskCreateRestricted(). These regions can be redefined using"] + #[doc = " vTaskAllocateMPURegions()."] + #[doc = ""] + #[doc = " @param xTask The handle of the task being updated."] + #[doc = ""] + #[doc = " @param xRegions A pointer to an MemoryRegion_t structure that contains the"] + #[doc = " new memory region definitions."] + #[doc = ""] + #[doc = " Example usage:"] + #[doc = ""] + #[doc = " @code{c}"] + #[doc = " // Define an array of MemoryRegion_t structures that configures an MPU region"] + #[doc = " // allowing read/write access for 1024 bytes starting at the beginning of the"] + #[doc = " // ucOneKByte array. The other two of the maximum 3 definable regions are"] + #[doc = " // unused so set to zero."] + #[doc = " static const MemoryRegion_t xAltRegions[ portNUM_CONFIGURABLE_REGIONS ] ="] + #[doc = " {"] + #[doc = " \t// Base address\t\tLength\t\tParameters"] + #[doc = " \t{ ucOneKByte,\t\t1024,\t\tportMPU_REGION_READ_WRITE },"] + #[doc = " \t{ 0,\t\t\t\t0,\t\t\t0 },"] + #[doc = " \t{ 0,\t\t\t\t0,\t\t\t0 }"] + #[doc = " };"] + #[doc = ""] + #[doc = " void vATask( void *pvParameters )"] + #[doc = " {"] + #[doc = " \t// This task was created such that it has access to certain regions of"] + #[doc = " \t// memory as defined by the MPU configuration. At some point it is"] + #[doc = " \t// desired that these MPU regions are replaced with that defined in the"] + #[doc = " \t// xAltRegions const struct above. Use a call to vTaskAllocateMPURegions()"] + #[doc = " \t// for this purpose. NULL is used as the task handle to indicate that this"] + #[doc = " \t// function should modify the MPU regions of the calling task."] + #[doc = " \tvTaskAllocateMPURegions( NULL, xAltRegions );"] + #[doc = ""] + #[doc = " \t// Now the task can continue its function, but from this point on can only"] + #[doc = " \t// access its stack and the ucOneKByte array (unless any other statically"] + #[doc = " \t// defined or shared regions have been declared elsewhere)."] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup Tasks"] + pub fn vTaskAllocateMPURegions(xTask: TaskHandle_t, pxRegions: *const MemoryRegion_t); } extern "C" { - #[doc = " @brief Enable wakeup by touch sensor"] + #[doc = " Remove a task from the RTOS real time kernel's management."] #[doc = ""] - #[doc = " @note In revisions 0 and 1 of the ESP32, touch wakeup source"] - #[doc = " can not be used when RTC_PERIPH power domain is forced"] - #[doc = " to be powered on (ESP_PD_OPTION_ON) or when ext0 wakeup"] - #[doc = " source is used."] + #[doc = " The task being deleted will be removed from all ready, blocked, suspended"] + #[doc = " and event lists."] #[doc = ""] - #[doc = " @note The FSM mode of the touch button should be configured"] - #[doc = " as the timer trigger mode."] + #[doc = " INCLUDE_vTaskDelete must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if wakeup triggers conflict"] - pub fn esp_sleep_enable_touchpad_wakeup() -> esp_err_t; -} -extern "C" { - #[doc = " @brief Get the touch pad which caused wakeup"] + #[doc = " @note The idle task is responsible for freeing the kernel allocated"] + #[doc = " memory from tasks that have been deleted. It is therefore important that"] + #[doc = " the idle task is not starved of microcontroller processing time if your"] + #[doc = " application makes any calls to vTaskDelete (). Memory allocated by the"] + #[doc = " task code is not automatically freed, and should be freed before the task"] + #[doc = " is deleted."] + #[doc = ""] + #[doc = " See the demo application file death.c for sample code that utilises"] + #[doc = " vTaskDelete ()."] + #[doc = ""] + #[doc = " @param xTaskToDelete The handle of the task to be deleted. Passing NULL will"] + #[doc = " cause the calling task to be deleted."] #[doc = ""] - #[doc = " If wakeup was caused by another source, this function will return TOUCH_PAD_MAX;"] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vOtherFunction( void )"] + #[doc = " {"] + #[doc = " TaskHandle_t xHandle;"] + #[doc = ""] + #[doc = " \t // Create the task, storing the handle."] + #[doc = " \t xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] #[doc = ""] - #[doc = " @return touch pad which caused wakeup"] - pub fn esp_sleep_get_touchpad_wakeup_status() -> touch_pad_t; + #[doc = " \t // Use the handle to delete the task."] + #[doc = " \t vTaskDelete( xHandle );"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup Tasks"] + pub fn vTaskDelete(xTaskToDelete: TaskHandle_t); } extern "C" { - #[doc = " @brief Enable wakeup using a pin"] + #[doc = " Delay a task for a given number of ticks."] #[doc = ""] - #[doc = " This function uses external wakeup feature of RTC_IO peripheral."] - #[doc = " It will work only if RTC peripherals are kept on during sleep."] + #[doc = " The actual time that the task remains blocked depends on the tick rate."] + #[doc = " The constant portTICK_PERIOD_MS can be used to calculate real time from"] + #[doc = " the tick rate - with the resolution of one tick period."] #[doc = ""] - #[doc = " This feature can monitor any pin which is an RTC IO. Once the pin transitions"] - #[doc = " into the state given by level argument, the chip will be woken up."] + #[doc = " INCLUDE_vTaskDelay must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] #[doc = ""] - #[doc = " @note This function does not modify pin configuration. The pin is"] - #[doc = " configured in esp_sleep_start, immediately before entering sleep mode."] + #[doc = " vTaskDelay() specifies a time at which the task wishes to unblock relative to"] + #[doc = " the time at which vTaskDelay() is called. For example, specifying a block"] + #[doc = " period of 100 ticks will cause the task to unblock 100 ticks after"] + #[doc = " vTaskDelay() is called. vTaskDelay() does not therefore provide a good method"] + #[doc = " of controlling the frequency of a periodic task as the path taken through the"] + #[doc = " code, as well as other task and interrupt activity, will effect the frequency"] + #[doc = " at which vTaskDelay() gets called and therefore the time at which the task"] + #[doc = " next executes. See vTaskDelayUntil() for an alternative API function designed"] + #[doc = " to facilitate fixed frequency execution. It does this by specifying an"] + #[doc = " absolute time (rather than a relative time) at which the calling task should"] + #[doc = " unblock."] #[doc = ""] - #[doc = " @note In revisions 0 and 1 of the ESP32, ext0 wakeup source"] - #[doc = " can not be used together with touch or ULP wakeup sources."] + #[doc = " @param xTicksToDelay The amount of time, in tick periods, that"] + #[doc = " the calling task should block."] #[doc = ""] - #[doc = " @param gpio_num GPIO number used as wakeup source. Only GPIOs which are have RTC"] - #[doc = " functionality can be used: 0,2,4,12-15,25-27,32-39."] - #[doc = " @param level input level which will trigger wakeup (0=low, 1=high)"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if the selected GPIO is not an RTC GPIO,"] - #[doc = " or the mode is invalid"] - #[doc = " - ESP_ERR_INVALID_STATE if wakeup triggers conflict"] - pub fn esp_sleep_enable_ext0_wakeup( - gpio_num: gpio_num_t, - level: ::std::os::raw::c_int, - ) -> esp_err_t; + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vTaskFunction( void * pvParameters )"] + #[doc = " {"] + #[doc = " // Block for 500ms."] + #[doc = " const TickType_t xDelay = 500 / portTICK_PERIOD_MS;"] + #[doc = ""] + #[doc = " \t for( ;; )"] + #[doc = " \t {"] + #[doc = " \t\t // Simply toggle the LED every 500ms, blocking between each toggle."] + #[doc = " \t\t vToggleLED();"] + #[doc = " \t\t vTaskDelay( xDelay );"] + #[doc = " \t }"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup TaskCtrl"] + pub fn vTaskDelay(xTicksToDelay: TickType_t); } extern "C" { - #[doc = " @brief Enable wakeup using multiple pins"] + #[doc = " Delay a task until a specified time."] #[doc = ""] - #[doc = " This function uses external wakeup feature of RTC controller."] - #[doc = " It will work even if RTC peripherals are shut down during sleep."] + #[doc = " INCLUDE_vTaskDelayUntil must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] #[doc = ""] - #[doc = " This feature can monitor any number of pins which are in RTC IOs."] - #[doc = " Once any of the selected pins goes into the state given by mode argument,"] - #[doc = " the chip will be woken up."] + #[doc = " This function can be used by periodic tasks to ensure a constant execution frequency."] #[doc = ""] - #[doc = " @note This function does not modify pin configuration. The pins are"] - #[doc = " configured in esp_sleep_start, immediately before"] - #[doc = " entering sleep mode."] + #[doc = " This function differs from vTaskDelay () in one important aspect: vTaskDelay () will"] + #[doc = " cause a task to block for the specified number of ticks from the time vTaskDelay () is"] + #[doc = " called. It is therefore difficult to use vTaskDelay () by itself to generate a fixed"] + #[doc = " execution frequency as the time between a task starting to execute and that task"] + #[doc = " calling vTaskDelay () may not be fixed [the task may take a different path though the"] + #[doc = " code between calls, or may get interrupted or preempted a different number of times"] + #[doc = " each time it executes]."] #[doc = ""] - #[doc = " @note internal pullups and pulldowns don\'t work when RTC peripherals are"] - #[doc = " shut down. In this case, external resistors need to be added."] - #[doc = " Alternatively, RTC peripherals (and pullups/pulldowns) may be"] - #[doc = " kept enabled using esp_sleep_pd_config function."] + #[doc = " Whereas vTaskDelay () specifies a wake time relative to the time at which the function"] + #[doc = " is called, vTaskDelayUntil () specifies the absolute (exact) time at which it wishes to"] + #[doc = " unblock."] #[doc = ""] - #[doc = " @param mask bit mask of GPIO numbers which will cause wakeup. Only GPIOs"] - #[doc = " which are have RTC functionality can be used in this bit map:"] - #[doc = " 0,2,4,12-15,25-27,32-39."] - #[doc = " @param mode select logic function used to determine wakeup condition:"] - #[doc = " - ESP_EXT1_WAKEUP_ALL_LOW: wake up when all selected GPIOs are low"] - #[doc = " - ESP_EXT1_WAKEUP_ANY_HIGH: wake up when any of the selected GPIOs is high"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if any of the selected GPIOs is not an RTC GPIO,"] - #[doc = " or mode is invalid"] - pub fn esp_sleep_enable_ext1_wakeup(mask: u64, mode: esp_sleep_ext1_wakeup_mode_t) - -> esp_err_t; + #[doc = " The constant portTICK_PERIOD_MS can be used to calculate real time from the tick"] + #[doc = " rate - with the resolution of one tick period."] + #[doc = ""] + #[doc = " @param pxPreviousWakeTime Pointer to a variable that holds the time at which the"] + #[doc = " task was last unblocked. The variable must be initialised with the current time"] + #[doc = " prior to its first use (see the example below). Following this the variable is"] + #[doc = " automatically updated within vTaskDelayUntil ()."] + #[doc = ""] + #[doc = " @param xTimeIncrement The cycle time period. The task will be unblocked at"] + #[doc = " time *pxPreviousWakeTime + xTimeIncrement. Calling vTaskDelayUntil with the"] + #[doc = " same xTimeIncrement parameter value will cause the task to execute with"] + #[doc = " a fixed interface period."] + #[doc = ""] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " // Perform an action every 10 ticks."] + #[doc = " void vTaskFunction( void * pvParameters )"] + #[doc = " {"] + #[doc = " TickType_t xLastWakeTime;"] + #[doc = " const TickType_t xFrequency = 10;"] + #[doc = ""] + #[doc = " \t // Initialise the xLastWakeTime variable with the current time."] + #[doc = " \t xLastWakeTime = xTaskGetTickCount ();"] + #[doc = " \t for( ;; )"] + #[doc = " \t {"] + #[doc = " \t\t // Wait for the next cycle."] + #[doc = " \t\t vTaskDelayUntil( &xLastWakeTime, xFrequency );"] + #[doc = ""] + #[doc = " \t\t // Perform action here."] + #[doc = " \t }"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup TaskCtrl"] + pub fn vTaskDelayUntil(pxPreviousWakeTime: *mut TickType_t, xTimeIncrement: TickType_t); } extern "C" { - #[doc = " @brief Enable wakeup from light sleep using GPIOs"] + #[doc = " Obtain the priority of any task."] #[doc = ""] - #[doc = " Each GPIO supports wakeup function, which can be triggered on either low level"] - #[doc = " or high level. Unlike EXT0 and EXT1 wakeup sources, this method can be used"] - #[doc = " both for all IOs: RTC IOs and digital IOs. It can only be used to wakeup from"] - #[doc = " light sleep though."] + #[doc = " INCLUDE_uxTaskPriorityGet must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] #[doc = ""] - #[doc = " To enable wakeup, first call gpio_wakeup_enable, specifying gpio number and"] - #[doc = " wakeup level, for each GPIO which is used for wakeup."] - #[doc = " Then call this function to enable wakeup feature."] + #[doc = " @param xTask Handle of the task to be queried. Passing a NULL"] + #[doc = " handle results in the priority of the calling task being returned."] #[doc = ""] - #[doc = " @note In revisions 0 and 1 of the ESP32, GPIO wakeup source"] - #[doc = " can not be used together with touch or ULP wakeup sources."] + #[doc = " @return The priority of xTask."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_STATE if wakeup triggers conflict"] - pub fn esp_sleep_enable_gpio_wakeup() -> esp_err_t; + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vAFunction( void )"] + #[doc = " {"] + #[doc = " TaskHandle_t xHandle;"] + #[doc = ""] + #[doc = " // Create a task, storing the handle."] + #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = ""] + #[doc = " // ..."] + #[doc = ""] + #[doc = " // Use the handle to obtain the priority of the created task."] + #[doc = " // It was created with tskIDLE_PRIORITY, but may have changed"] + #[doc = " // it itself."] + #[doc = " if( uxTaskPriorityGet( xHandle ) != tskIDLE_PRIORITY )"] + #[doc = " {"] + #[doc = " // The task has changed it's priority."] + #[doc = " }"] + #[doc = ""] + #[doc = " // ..."] + #[doc = ""] + #[doc = " // Is our priority higher than the created task?"] + #[doc = " if( uxTaskPriorityGet( xHandle ) < uxTaskPriorityGet( NULL ) )"] + #[doc = " {"] + #[doc = " // Our priority (obtained using NULL handle) is higher."] + #[doc = " }"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup TaskCtrl"] + pub fn uxTaskPriorityGet(xTask: TaskHandle_t) -> UBaseType_t; } extern "C" { - #[doc = " @brief Enable wakeup from light sleep using UART"] - #[doc = ""] - #[doc = " Use uart_set_wakeup_threshold function to configure UART wakeup threshold."] + #[doc = " A version of uxTaskPriorityGet() that can be used from an ISR."] #[doc = ""] - #[doc = " Wakeup from light sleep takes some time, so not every character sent"] - #[doc = " to the UART can be received by the application."] + #[doc = " @param xTask Handle of the task to be queried. Passing a NULL"] + #[doc = " handle results in the priority of the calling task being returned."] #[doc = ""] - #[doc = " @note ESP32 does not support wakeup from UART2."] + #[doc = " @return The priority of xTask."] #[doc = ""] - #[doc = " @param uart_num UART port to wake up from"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if wakeup from given UART is not supported"] - pub fn esp_sleep_enable_uart_wakeup(uart_num: ::std::os::raw::c_int) -> esp_err_t; + pub fn uxTaskPriorityGetFromISR(xTask: TaskHandle_t) -> UBaseType_t; } extern "C" { - #[doc = " @brief Get the bit mask of GPIOs which caused wakeup (ext1)"] + #[doc = " Obtain the state of any task."] + #[doc = ""] + #[doc = " States are encoded by the eTaskState enumerated type."] + #[doc = ""] + #[doc = " INCLUDE_eTaskGetState must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] #[doc = ""] - #[doc = " If wakeup was caused by another source, this function will return 0."] + #[doc = " @param xTask Handle of the task to be queried."] #[doc = ""] - #[doc = " @return bit mask, if GPIOn caused wakeup, BIT(n) will be set"] - pub fn esp_sleep_get_ext1_wakeup_status() -> u64; + #[doc = " @return The state of xTask at the time the function was called. Note the"] + #[doc = " state of the task might change between the function being called, and the"] + #[doc = " functions return value being tested by the calling task."] + pub fn eTaskGetState(xTask: TaskHandle_t) -> eTaskState; } extern "C" { - #[doc = " @brief Set power down mode for an RTC power domain in sleep mode"] + #[doc = " Set the priority of any task."] #[doc = ""] - #[doc = " If not set set using this API, all power domains default to ESP_PD_OPTION_AUTO."] + #[doc = " INCLUDE_vTaskPrioritySet must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] #[doc = ""] - #[doc = " @param domain power domain to configure"] - #[doc = " @param option power down option (ESP_PD_OPTION_OFF, ESP_PD_OPTION_ON, or ESP_PD_OPTION_AUTO)"] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if either of the arguments is out of range"] - pub fn esp_sleep_pd_config( - domain: esp_sleep_pd_domain_t, - option: esp_sleep_pd_option_t, - ) -> esp_err_t; + #[doc = " A context switch will occur before the function returns if the priority"] + #[doc = " being set is higher than the currently executing task."] + #[doc = ""] + #[doc = " @param xTask Handle to the task for which the priority is being set."] + #[doc = " Passing a NULL handle results in the priority of the calling task being set."] + #[doc = ""] + #[doc = " @param uxNewPriority The priority to which the task will be set."] + #[doc = ""] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vAFunction( void )"] + #[doc = " {"] + #[doc = " TaskHandle_t xHandle;"] + #[doc = ""] + #[doc = " // Create a task, storing the handle."] + #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = ""] + #[doc = " // ..."] + #[doc = ""] + #[doc = " // Use the handle to raise the priority of the created task."] + #[doc = " vTaskPrioritySet( xHandle, tskIDLE_PRIORITY + 1 );"] + #[doc = ""] + #[doc = " // ..."] + #[doc = ""] + #[doc = " // Use a NULL handle to raise our priority to the same value."] + #[doc = " vTaskPrioritySet( NULL, tskIDLE_PRIORITY + 1 );"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup TaskCtrl"] + pub fn vTaskPrioritySet(xTask: TaskHandle_t, uxNewPriority: UBaseType_t); } extern "C" { - #[doc = " @brief Enter deep sleep with the configured wakeup options"] + #[doc = " Suspend a task."] + #[doc = ""] + #[doc = " INCLUDE_vTaskSuspend must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] + #[doc = ""] + #[doc = " When suspended, a task will never get any microcontroller processing time,"] + #[doc = " no matter what its priority."] + #[doc = ""] + #[doc = " Calls to vTaskSuspend are not accumulative -"] + #[doc = " i.e. calling vTaskSuspend () twice on the same task still only requires one"] + #[doc = " call to vTaskResume () to ready the suspended task."] + #[doc = ""] + #[doc = " @param xTaskToSuspend Handle to the task being suspended. Passing a NULL"] + #[doc = " handle will cause the calling task to be suspended."] + #[doc = ""] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vAFunction( void )"] + #[doc = " {"] + #[doc = " TaskHandle_t xHandle;"] + #[doc = ""] + #[doc = " // Create a task, storing the handle."] + #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = ""] + #[doc = " // ..."] + #[doc = ""] + #[doc = " // Use the handle to suspend the created task."] + #[doc = " vTaskSuspend( xHandle );"] + #[doc = ""] + #[doc = " // ..."] + #[doc = ""] + #[doc = " // The created task will not run during this period, unless"] + #[doc = " // another task calls vTaskResume( xHandle )."] + #[doc = ""] + #[doc = " //..."] #[doc = ""] - #[doc = " This function does not return."] - pub fn esp_deep_sleep_start(); -} -extern "C" { - #[doc = " @brief Enter light sleep with the configured wakeup options"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK on success (returned after wakeup)"] - #[doc = " - ESP_ERR_INVALID_STATE if WiFi or BT is not stopped"] - pub fn esp_light_sleep_start() -> esp_err_t; + #[doc = " // Suspend ourselves."] + #[doc = " vTaskSuspend( NULL );"] + #[doc = ""] + #[doc = " // We cannot get here unless another task calls vTaskResume"] + #[doc = " // with our handle as the parameter."] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup TaskCtrl"] + pub fn vTaskSuspend(xTaskToSuspend: TaskHandle_t); } extern "C" { - #[doc = " @brief Enter deep-sleep mode"] + #[doc = " Resumes a suspended task."] #[doc = ""] - #[doc = " The device will automatically wake up after the deep-sleep time"] - #[doc = " Upon waking up, the device calls deep sleep wake stub, and then proceeds"] - #[doc = " to load application."] + #[doc = " INCLUDE_vTaskSuspend must be defined as 1 for this function to be available."] + #[doc = " See the configuration section for more information."] #[doc = ""] - #[doc = " Call to this function is equivalent to a call to esp_deep_sleep_enable_timer_wakeup"] - #[doc = " followed by a call to esp_deep_sleep_start."] + #[doc = " A task that has been suspended by one or more calls to vTaskSuspend ()"] + #[doc = " will be made available for running again by a single call to"] + #[doc = " vTaskResume ()."] #[doc = ""] - #[doc = " esp_deep_sleep does not shut down WiFi, BT, and higher level protocol"] - #[doc = " connections gracefully."] - #[doc = " Make sure relevant WiFi and BT stack functions are called to close any"] - #[doc = " connections and deinitialize the peripherals. These include:"] - #[doc = " - esp_bluedroid_disable"] - #[doc = " - esp_bt_controller_disable"] - #[doc = " - esp_wifi_stop"] + #[doc = " @param xTaskToResume Handle to the task being readied."] #[doc = ""] - #[doc = " This function does not return."] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vAFunction( void )"] + #[doc = " {"] + #[doc = " TaskHandle_t xHandle;"] #[doc = ""] - #[doc = " @param time_in_us deep-sleep time, unit: microsecond"] - pub fn esp_deep_sleep(time_in_us: u64); -} -extern "C" { - #[doc = " @brief Enter deep-sleep mode"] + #[doc = " // Create a task, storing the handle."] + #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] #[doc = ""] - #[doc = " Function has been renamed to esp_deep_sleep."] - #[doc = " This name is deprecated and will be removed in a future version."] + #[doc = " // ..."] #[doc = ""] - #[doc = " @param time_in_us deep-sleep time, unit: microsecond"] - pub fn system_deep_sleep(time_in_us: u64); -} -extern "C" { - #[doc = " @brief Get the wakeup source which caused wakeup from sleep"] + #[doc = " // Use the handle to suspend the created task."] + #[doc = " vTaskSuspend( xHandle );"] #[doc = ""] - #[doc = " @return cause of wake up from last sleep (deep sleep or light sleep)"] - pub fn esp_sleep_get_wakeup_cause() -> esp_sleep_wakeup_cause_t; -} -extern "C" { - #[doc = " @brief Default stub to run on wake from deep sleep."] + #[doc = " // ..."] #[doc = ""] - #[doc = " Allows for executing code immediately on wake from sleep, before"] - #[doc = " the software bootloader or ESP-IDF app has started up."] + #[doc = " // The created task will not run during this period, unless"] + #[doc = " // another task calls vTaskResume( xHandle )."] #[doc = ""] - #[doc = " This function is weak-linked, so you can implement your own version"] - #[doc = " to run code immediately when the chip wakes from"] - #[doc = " sleep."] + #[doc = " //..."] #[doc = ""] - #[doc = " See docs/deep-sleep-stub.rst for details."] - pub fn esp_wake_deep_sleep(); -} -#[doc = " @brief Function type for stub to run on wake from sleep."] -#[doc = ""] -pub type esp_deep_sleep_wake_stub_fn_t = ::core::option::Option; -extern "C" { - #[doc = " @brief Install a new stub at runtime to run on wake from deep sleep"] #[doc = ""] - #[doc = " If implementing esp_wake_deep_sleep() then it is not necessary to"] - #[doc = " call this function."] + #[doc = " // Resume the suspended task ourselves."] + #[doc = " vTaskResume( xHandle );"] #[doc = ""] - #[doc = " However, it is possible to call this function to substitute a"] - #[doc = " different deep sleep stub. Any function used as a deep sleep stub"] - #[doc = " must be marked RTC_IRAM_ATTR, and must obey the same rules given"] - #[doc = " for esp_wake_deep_sleep()."] - pub fn esp_set_deep_sleep_wake_stub(new_stub: esp_deep_sleep_wake_stub_fn_t); -} -extern "C" { - #[doc = " @brief Get current wake from deep sleep stub"] - #[doc = " @return Return current wake from deep sleep stub, or NULL if"] - #[doc = " no stub is installed."] - pub fn esp_get_deep_sleep_wake_stub() -> esp_deep_sleep_wake_stub_fn_t; + #[doc = " // The created task will once again get microcontroller processing"] + #[doc = " // time in accordance with its priority within the system."] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup TaskCtrl"] + pub fn vTaskResume(xTaskToResume: TaskHandle_t); } extern "C" { - #[doc = " @brief The default esp-idf-provided esp_wake_deep_sleep() stub."] + #[doc = " An implementation of vTaskResume() that can be called from within an ISR."] #[doc = ""] - #[doc = " See docs/deep-sleep-stub.rst for details."] - pub fn esp_default_wake_deep_sleep(); -} -extern "C" { - #[doc = " @brief Disable logging from the ROM code after deep sleep."] + #[doc = " INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be"] + #[doc = " available. See the configuration section for more information."] #[doc = ""] - #[doc = " Using LSB of RTC_STORE4."] - pub fn esp_deep_sleep_disable_rom_logging(); -} -pub const esp_mac_type_t_ESP_MAC_WIFI_STA: esp_mac_type_t = 0; -pub const esp_mac_type_t_ESP_MAC_WIFI_SOFTAP: esp_mac_type_t = 1; -pub const esp_mac_type_t_ESP_MAC_BT: esp_mac_type_t = 2; -pub const esp_mac_type_t_ESP_MAC_ETH: esp_mac_type_t = 3; -pub type esp_mac_type_t = u32; -#[doc = "!< Reset reason can not be determined"] -pub const esp_reset_reason_t_ESP_RST_UNKNOWN: esp_reset_reason_t = 0; -#[doc = "!< Reset due to power-on event"] -pub const esp_reset_reason_t_ESP_RST_POWERON: esp_reset_reason_t = 1; -#[doc = "!< Reset by external pin (not applicable for ESP32)"] -pub const esp_reset_reason_t_ESP_RST_EXT: esp_reset_reason_t = 2; -#[doc = "!< Software reset via esp_restart"] -pub const esp_reset_reason_t_ESP_RST_SW: esp_reset_reason_t = 3; -#[doc = "!< Software reset due to exception/panic"] -pub const esp_reset_reason_t_ESP_RST_PANIC: esp_reset_reason_t = 4; -#[doc = "!< Reset (software or hardware) due to interrupt watchdog"] -pub const esp_reset_reason_t_ESP_RST_INT_WDT: esp_reset_reason_t = 5; -#[doc = "!< Reset due to task watchdog"] -pub const esp_reset_reason_t_ESP_RST_TASK_WDT: esp_reset_reason_t = 6; -#[doc = "!< Reset due to other watchdogs"] -pub const esp_reset_reason_t_ESP_RST_WDT: esp_reset_reason_t = 7; -#[doc = "!< Reset after exiting deep sleep mode"] -pub const esp_reset_reason_t_ESP_RST_DEEPSLEEP: esp_reset_reason_t = 8; -#[doc = "!< Brownout reset (software or hardware)"] -pub const esp_reset_reason_t_ESP_RST_BROWNOUT: esp_reset_reason_t = 9; -#[doc = "!< Reset over SDIO"] -pub const esp_reset_reason_t_ESP_RST_SDIO: esp_reset_reason_t = 10; -#[doc = " @brief Reset reasons"] -pub type esp_reset_reason_t = u32; -extern "C" { - #[doc = " @cond */"] - #[doc = " @attention Applications don\'t need to call this function anymore. It does nothing and will"] - #[doc = " be removed in future version."] - pub fn system_init(); -} -extern "C" { - #[doc = " @brief Reset to default settings."] + #[doc = " A task that has been suspended by one or more calls to vTaskSuspend ()"] + #[doc = " will be made available for running again by a single call to"] + #[doc = " xTaskResumeFromISR ()."] #[doc = ""] - #[doc = " Function has been deprecated, please use esp_wifi_restore instead."] - #[doc = " This name will be removed in a future release."] - pub fn system_restore(); -} -#[doc = " Shutdown handler type"] -pub type shutdown_handler_t = ::core::option::Option; -extern "C" { - #[doc = " @brief Register shutdown handler"] + #[doc = " xTaskResumeFromISR() should not be used to synchronise a task with an"] + #[doc = " interrupt if there is a chance that the interrupt could arrive prior to the"] + #[doc = " task being suspended - as this can lead to interrupts being missed. Use of a"] + #[doc = " semaphore as a synchronisation mechanism would avoid this eventuality."] #[doc = ""] - #[doc = " This function allows you to register a handler that gets invoked before"] - #[doc = " the application is restarted using esp_restart function."] - pub fn esp_register_shutdown_handler(handle: shutdown_handler_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Restart PRO and APP CPUs."] + #[doc = " @param xTaskToResume Handle to the task being readied."] #[doc = ""] - #[doc = " This function can be called both from PRO and APP CPUs."] - #[doc = " After successful restart, CPU reset reason will be SW_CPU_RESET."] - #[doc = " Peripherals (except for WiFi, BT, UART0, SPI1, and legacy timers) are not reset."] - #[doc = " This function does not return."] - pub fn esp_restart(); -} -extern "C" { - #[doc = " @cond */"] - #[doc = " @brief Restart system."] + #[doc = " @return pdTRUE if resuming the task should result in a context switch,"] + #[doc = " otherwise pdFALSE. This is used by the ISR to determine if a context switch"] + #[doc = " may be required following the ISR."] #[doc = ""] - #[doc = " Function has been renamed to esp_restart."] - #[doc = " This name will be removed in a future release."] - pub fn system_restart(); -} -extern "C" { - #[doc = " @brief Get reason of last reset"] - #[doc = " @return See description of esp_reset_reason_t for explanation of each value."] - pub fn esp_reset_reason() -> esp_reset_reason_t; + #[doc = " \\ingroup TaskCtrl"] + pub fn xTaskResumeFromISR(xTaskToResume: TaskHandle_t) -> BaseType_t; } extern "C" { #[doc = " @cond */"] - #[doc = " @brief Get system time, unit: microsecond."] + #[doc = " Starts the real time kernel tick processing."] #[doc = ""] - #[doc = " This function is deprecated. Use \'gettimeofday\' function for 64-bit precision."] - #[doc = " This definition will be removed in a future release."] - pub fn system_get_time() -> u32; -} -extern "C" { - #[doc = " @brief Get the size of available heap."] + #[doc = " After calling the kernel has control over which tasks are executed and when."] #[doc = ""] - #[doc = " Note that the returned value may be larger than the maximum contiguous block"] - #[doc = " which can be allocated."] + #[doc = " See the demo application file main.c for an example of creating"] + #[doc = " tasks and starting the kernel."] #[doc = ""] - #[doc = " @return Available heap size, in bytes."] - pub fn esp_get_free_heap_size() -> u32; -} -extern "C" { - #[doc = " @cond */"] - #[doc = " @brief Get the size of available heap."] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vAFunction( void )"] + #[doc = " {"] + #[doc = " // Create at least one task before starting the kernel."] + #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );"] #[doc = ""] - #[doc = " Function has been renamed to esp_get_free_heap_size."] - #[doc = " This name will be removed in a future release."] + #[doc = " // Start the real time kernel with preemption."] + #[doc = " vTaskStartScheduler ();"] #[doc = ""] - #[doc = " @return Available heap size, in bytes."] - pub fn system_get_free_heap_size() -> u32; -} -extern "C" { - #[doc = " @brief Get the minimum heap that has ever been available"] + #[doc = " // Will not get here unless a task calls vTaskEndScheduler ()"] + #[doc = " }"] + #[doc = " @endcode"] #[doc = ""] - #[doc = " @return Minimum free heap ever available"] - pub fn esp_get_minimum_free_heap_size() -> u32; + #[doc = " \\ingroup SchedulerControl"] + pub fn vTaskStartScheduler(); } extern "C" { - #[doc = " @brief Get one random 32-bit word from hardware RNG"] - #[doc = ""] - #[doc = " The hardware RNG is fully functional whenever an RF subsystem is running (ie Bluetooth or WiFi is enabled). For"] - #[doc = " random values, call this function after WiFi or Bluetooth are started."] + #[doc = " Stops the real time kernel tick."] #[doc = ""] - #[doc = " If the RF subsystem is not used by the program, the function bootloader_random_enable() can be called to enable an"] - #[doc = " entropy source. bootloader_random_disable() must be called before RF subsystem or I2S peripheral are used. See these functions\'"] - #[doc = " documentation for more details."] + #[doc = " @note At the time of writing only the x86 real mode port, which runs on a PC"] + #[doc = " in place of DOS, implements this function."] #[doc = ""] - #[doc = " Any time the app is running without an RF subsystem (or bootloader_random) enabled, RNG hardware should be"] - #[doc = " considered a PRNG. A very small amount of entropy is available due to pre-seeding while the IDF"] - #[doc = " bootloader is running, but this should not be relied upon for any use."] + #[doc = " All created tasks will be automatically deleted and multitasking"] + #[doc = " (either preemptive or cooperative) will stop."] + #[doc = " Execution then resumes from the point where vTaskStartScheduler ()"] + #[doc = " was called, as if vTaskStartScheduler () had just returned."] #[doc = ""] - #[doc = " @return Random value between 0 and UINT32_MAX"] - pub fn esp_random() -> u32; -} -extern "C" { - #[doc = " @brief Fill a buffer with random bytes from hardware RNG"] + #[doc = " See the demo application file main. c in the demo/PC directory for an"] + #[doc = " example that uses vTaskEndScheduler ()."] #[doc = ""] - #[doc = " @note This function has the same restrictions regarding available entropy as esp_random()"] + #[doc = " vTaskEndScheduler () requires an exit function to be defined within the"] + #[doc = " portable layer (see vPortEndScheduler () in port. c for the PC port). This"] + #[doc = " performs hardware specific operations such as stopping the kernel tick."] #[doc = ""] - #[doc = " @param buf Pointer to buffer to fill with random numbers."] - #[doc = " @param len Length of buffer in bytes"] - pub fn esp_fill_random(buf: *mut ::std::os::raw::c_void, len: usize); -} -extern "C" { - #[doc = " @brief Set base MAC address with the MAC address which is stored in BLK3 of EFUSE or"] - #[doc = " external storage e.g. flash and EEPROM."] + #[doc = " vTaskEndScheduler () will cause all of the resources allocated by the"] + #[doc = " kernel to be freed - but will not free resources allocated by application"] + #[doc = " tasks."] #[doc = ""] - #[doc = " Base MAC address is used to generate the MAC addresses used by the networking interfaces."] - #[doc = " If using base MAC address stored in BLK3 of EFUSE or external storage, call this API to set base MAC"] - #[doc = " address with the MAC address which is stored in BLK3 of EFUSE or external storage before initializing"] - #[doc = " WiFi/BT/Ethernet."] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vTaskCode( void * pvParameters )"] + #[doc = " {"] + #[doc = " for( ;; )"] + #[doc = " {"] + #[doc = " // Task code goes here."] #[doc = ""] - #[doc = " @param mac base MAC address, length: 6 bytes."] + #[doc = " // At some point we want to end the real time kernel processing"] + #[doc = " // so call ..."] + #[doc = " vTaskEndScheduler ();"] + #[doc = " }"] + #[doc = " }"] #[doc = ""] - #[doc = " @return ESP_OK on success"] - pub fn esp_base_mac_addr_set(mac: *mut u8) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Return base MAC address which is set using esp_base_mac_addr_set."] + #[doc = " void vAFunction( void )"] + #[doc = " {"] + #[doc = " // Create at least one task before starting the kernel."] + #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );"] #[doc = ""] - #[doc = " @param mac base MAC address, length: 6 bytes."] + #[doc = " // Start the real time kernel with preemption."] + #[doc = " vTaskStartScheduler ();"] #[doc = ""] - #[doc = " @return ESP_OK on success"] - #[doc = " ESP_ERR_INVALID_MAC base MAC address has not been set"] - pub fn esp_base_mac_addr_get(mac: *mut u8) -> esp_err_t; + #[doc = " // Will only get here when the vTaskCode () task has called"] + #[doc = " // vTaskEndScheduler (). When we get here we are back to single task"] + #[doc = " // execution."] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup SchedulerControl"] + pub fn vTaskEndScheduler(); } extern "C" { - #[doc = " @brief Return base MAC address which was previously written to BLK3 of EFUSE."] - #[doc = ""] - #[doc = " Base MAC address is used to generate the MAC addresses used by the networking interfaces."] - #[doc = " This API returns the custom base MAC address which was previously written to BLK3 of EFUSE."] - #[doc = " Writing this EFUSE allows setting of a different (non-Espressif) base MAC address. It is also"] - #[doc = " possible to store a custom base MAC address elsewhere, see esp_base_mac_addr_set() for details."] + #[doc = " Suspends the scheduler without disabling interrupts."] #[doc = ""] - #[doc = " @param mac base MAC address, length: 6 bytes."] + #[doc = " Context switches will not occur while the scheduler is suspended."] #[doc = ""] - #[doc = " @return ESP_OK on success"] - #[doc = " ESP_ERR_INVALID_VERSION An invalid MAC version field was read from BLK3 of EFUSE"] - #[doc = " ESP_ERR_INVALID_CRC An invalid MAC CRC was read from BLK3 of EFUSE"] - pub fn esp_efuse_mac_get_custom(mac: *mut u8) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Return base MAC address which is factory-programmed by Espressif in BLK0 of EFUSE."] + #[doc = " After calling vTaskSuspendAll () the calling task will continue to execute"] + #[doc = " without risk of being swapped out until a call to xTaskResumeAll () has been"] + #[doc = " made."] #[doc = ""] - #[doc = " @param mac base MAC address, length: 6 bytes."] + #[doc = " API functions that have the potential to cause a context switch (for example,"] + #[doc = " vTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler"] + #[doc = " is suspended."] #[doc = ""] - #[doc = " @return ESP_OK on success"] - pub fn esp_efuse_mac_get_default(mac: *mut u8) -> esp_err_t; -} -extern "C" { - #[doc = " @cond */"] - #[doc = " @brief Read hardware MAC address from efuse."] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vTask1( void * pvParameters )"] + #[doc = " {"] + #[doc = " for( ;; )"] + #[doc = " {"] + #[doc = " // Task code goes here."] + #[doc = ""] + #[doc = " // ..."] #[doc = ""] - #[doc = " Function has been renamed to esp_efuse_mac_get_default."] - #[doc = " This name will be removed in a future release."] + #[doc = " // At some point the task wants to perform a long operation during"] + #[doc = " // which it does not want to get swapped out. It cannot use"] + #[doc = " // taskENTER_CRITICAL ()/taskEXIT_CRITICAL () as the length of the"] + #[doc = " // operation may cause interrupts to be missed - including the"] + #[doc = " // ticks."] #[doc = ""] - #[doc = " @param mac hardware MAC address, length: 6 bytes."] + #[doc = " // Prevent the real time kernel swapping out the task."] + #[doc = " vTaskSuspendAll ();"] #[doc = ""] - #[doc = " @return ESP_OK on success"] - pub fn esp_efuse_read_mac(mac: *mut u8) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Read hardware MAC address."] + #[doc = " // Perform the operation here. There is no need to use critical"] + #[doc = " // sections as we have all the microcontroller processing time."] + #[doc = " // During this time interrupts will still operate and the kernel"] + #[doc = " // tick count will be maintained."] #[doc = ""] - #[doc = " Function has been renamed to esp_efuse_mac_get_default."] - #[doc = " This name will be removed in a future release."] + #[doc = " // ..."] #[doc = ""] - #[doc = " @param mac hardware MAC address, length: 6 bytes."] - #[doc = " @return ESP_OK on success"] - pub fn system_efuse_read_mac(mac: *mut u8) -> esp_err_t; + #[doc = " // The operation is complete. Restart the kernel."] + #[doc = " xTaskResumeAll ();"] + #[doc = " }"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup SchedulerControl"] + pub fn vTaskSuspendAll(); } extern "C" { - #[doc = " @brief Read base MAC address and set MAC address of the interface."] + #[doc = " Resumes scheduler activity after it was suspended by a call to"] + #[doc = " vTaskSuspendAll()."] #[doc = ""] - #[doc = " This function first get base MAC address using esp_base_mac_addr_get or reads base MAC address"] - #[doc = " from BLK0 of EFUSE. Then set the MAC address of the interface including wifi station, wifi softap,"] - #[doc = " bluetooth and ethernet."] + #[doc = " xTaskResumeAll() only resumes the scheduler. It does not unsuspend tasks"] + #[doc = " that were previously suspended by a call to vTaskSuspend()."] #[doc = ""] - #[doc = " @param mac MAC address of the interface, length: 6 bytes."] - #[doc = " @param type type of MAC address, 0:wifi station, 1:wifi softap, 2:bluetooth, 3:ethernet."] + #[doc = " @return If resuming the scheduler caused a context switch then pdTRUE is"] + #[doc = "\t\t returned, otherwise pdFALSE is returned."] #[doc = ""] - #[doc = " @return ESP_OK on success"] - pub fn esp_read_mac(mac: *mut u8, type_: esp_mac_type_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Derive local MAC address from universal MAC address."] + #[doc = " Example usage:"] + #[doc = " @code{c}"] + #[doc = " void vTask1( void * pvParameters )"] + #[doc = " {"] + #[doc = " for( ;; )"] + #[doc = " {"] + #[doc = " // Task code goes here."] #[doc = ""] - #[doc = " This function derives a local MAC address from an universal MAC address."] - #[doc = " A `definition of local vs universal MAC address can be found on Wikipedia"] - #[doc = " `."] - #[doc = " In ESP32, universal MAC address is generated from base MAC address in EFUSE or other external storage."] - #[doc = " Local MAC address is derived from the universal MAC address."] + #[doc = " // ..."] #[doc = ""] - #[doc = " @param local_mac Derived local MAC address, length: 6 bytes."] - #[doc = " @param universal_mac Source universal MAC address, length: 6 bytes."] + #[doc = " // At some point the task wants to perform a long operation during"] + #[doc = " // which it does not want to get swapped out. It cannot use"] + #[doc = " // taskENTER_CRITICAL ()/taskEXIT_CRITICAL () as the length of the"] + #[doc = " // operation may cause interrupts to be missed - including the"] + #[doc = " // ticks."] #[doc = ""] - #[doc = " @return ESP_OK on success"] - pub fn esp_derive_local_mac(local_mac: *mut u8, universal_mac: *const u8) -> esp_err_t; -} -extern "C" { - #[doc = " @cond */"] - #[doc = " Get SDK version"] + #[doc = " // Prevent the real time kernel swapping out the task."] + #[doc = " vTaskSuspendAll ();"] #[doc = ""] - #[doc = " This function is deprecated and will be removed in a future release."] + #[doc = " // Perform the operation here. There is no need to use critical"] + #[doc = " // sections as we have all the microcontroller processing time."] + #[doc = " // During this time interrupts will still operate and the real"] + #[doc = " // time kernel tick count will be maintained."] #[doc = ""] - #[doc = " @return constant string \"master\""] - pub fn system_get_sdk_version() -> *const ::std::os::raw::c_char; -} -extern "C" { - #[doc = " Get IDF version"] + #[doc = " // ..."] #[doc = ""] - #[doc = " @return constant string from IDF_VER"] - pub fn esp_get_idf_version() -> *const ::std::os::raw::c_char; -} -#[doc = "!< ESP32"] -pub const esp_chip_model_t_CHIP_ESP32: esp_chip_model_t = 1; -#[doc = " @brief Chip models"] -pub type esp_chip_model_t = u32; -#[doc = " @brief The structure represents information about the chip"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct esp_chip_info_t { - #[doc = "!< chip model, one of esp_chip_model_t"] - pub model: esp_chip_model_t, - #[doc = "!< bit mask of CHIP_FEATURE_x feature flags"] - pub features: u32, - #[doc = "!< number of CPU cores"] - pub cores: u8, - #[doc = "!< chip revision number"] - pub revision: u8, -} -extern "C" { - #[doc = " @brief Fill an esp_chip_info_t structure with information about the chip"] - #[doc = " @param[out] out_info structure to be filled"] - pub fn esp_chip_info(out_info: *mut esp_chip_info_t); -} -extern "C" { - pub fn pxPortInitialiseStack( - pxTopOfStack: *mut StackType_t, - pxCode: TaskFunction_t, - pvParameters: *mut ::std::os::raw::c_void, - xRunPrivileged: BaseType_t, - ) -> *mut StackType_t; -} -extern "C" { - pub fn xPortStartScheduler() -> BaseType_t; -} -extern "C" { - pub fn vPortEndScheduler(); -} -extern "C" { - pub fn vPortYieldOtherCore(coreid: BaseType_t); -} -extern "C" { - pub fn vPortSetStackWatchpoint(pxStackStart: *mut ::std::os::raw::c_void); -} -extern "C" { - pub fn xPortInIsrContext() -> BaseType_t; -} -extern "C" { - pub fn xPortInterruptedFromISRContext() -> BaseType_t; -} -extern "C" { - pub fn vPortStoreTaskMPUSettings( - xMPUSettings: *mut xMPU_SETTINGS, - xRegions: *const xMEMORY_REGION, - pxBottomOfStack: *mut StackType_t, - usStackDepth: u32, - ); -} -extern "C" { - pub fn vPortReleaseTaskMPUSettings(xMPUSettings: *mut xMPU_SETTINGS); -} -extern "C" { - pub fn xPortGetTickRateHz() -> u32; + #[doc = " // The operation is complete. Restart the kernel. We want to force"] + #[doc = " // a context switch - but there is no point if resuming the scheduler"] + #[doc = " // caused a context switch already."] + #[doc = " if( !xTaskResumeAll () )"] + #[doc = " {"] + #[doc = " taskYIELD ();"] + #[doc = " }"] + #[doc = " }"] + #[doc = " }"] + #[doc = " @endcode"] + #[doc = " \\ingroup SchedulerControl"] + pub fn xTaskResumeAll() -> BaseType_t; } extern "C" { - pub fn uxPortCompareSetExtram(addr: *mut u32, compare: u32, set: *mut u32); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xSTATIC_LIST_ITEM { - pub xDummy1: TickType_t, - pub pvDummy2: [*mut ::std::os::raw::c_void; 4usize], -} -pub type StaticListItem_t = xSTATIC_LIST_ITEM; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xSTATIC_MINI_LIST_ITEM { - pub xDummy1: TickType_t, - pub pvDummy2: [*mut ::std::os::raw::c_void; 2usize], -} -pub type StaticMiniListItem_t = xSTATIC_MINI_LIST_ITEM; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xSTATIC_LIST { - pub uxDummy1: UBaseType_t, - pub pvDummy2: *mut ::std::os::raw::c_void, - pub xDummy3: StaticMiniListItem_t, -} -pub type StaticList_t = xSTATIC_LIST; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xSTATIC_TCB { - pub pxDummy1: *mut ::std::os::raw::c_void, - pub xDummy2: xMPU_SETTINGS, - pub xDummy3: [StaticListItem_t; 2usize], - pub uxDummy5: UBaseType_t, - pub pxDummy6: *mut ::std::os::raw::c_void, - pub ucDummy7: [u8; 16usize], - pub uxDummyCoreId: UBaseType_t, - pub pxDummy8: *mut ::std::os::raw::c_void, - pub uxDummy9: UBaseType_t, - pub OldInterruptState: u32, - pub uxDummy12: [UBaseType_t; 2usize], - pub pvDummy15: [*mut ::std::os::raw::c_void; 1usize], - pub pvDummyLocalStorageCallBack: [*mut ::std::os::raw::c_void; 1usize], - pub xDummy17: _reent, - pub ulDummy18: u32, - pub ucDummy19: u32, - pub uxDummy20: u8, -} -pub type StaticTask_t = xSTATIC_TCB; -#[repr(C)] -#[derive(Copy, Clone)] -pub struct xSTATIC_QUEUE { - pub pvDummy1: [*mut ::std::os::raw::c_void; 3usize], - pub u: xSTATIC_QUEUE__bindgen_ty_1, - pub xDummy3: [StaticList_t; 2usize], - pub uxDummy4: [UBaseType_t; 3usize], - pub pvDummy7: *mut ::std::os::raw::c_void, - pub muxDummy: portMUX_TYPE, -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union xSTATIC_QUEUE__bindgen_ty_1 { - pub pvDummy2: *mut ::std::os::raw::c_void, - pub uxDummy2: UBaseType_t, - _bindgen_union_align: u32, -} -pub type StaticQueue_t = xSTATIC_QUEUE; -pub type StaticSemaphore_t = StaticQueue_t; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xSTATIC_EVENT_GROUP { - pub xDummy1: TickType_t, - pub xDummy2: StaticList_t, - pub muxDummy: portMUX_TYPE, -} -pub type StaticEventGroup_t = xSTATIC_EVENT_GROUP; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xSTATIC_TIMER { - pub pvDummy1: *mut ::std::os::raw::c_void, - pub xDummy2: StaticListItem_t, - pub xDummy3: TickType_t, - pub uxDummy4: UBaseType_t, - pub pvDummy5: [*mut ::std::os::raw::c_void; 2usize], + #[doc = " Get tick count"] + #[doc = ""] + #[doc = " @return The count of ticks since vTaskStartScheduler was called."] + #[doc = ""] + #[doc = " \\ingroup TaskUtils"] + pub fn xTaskGetTickCount() -> TickType_t; } -pub type StaticTimer_t = xSTATIC_TIMER; -#[doc = " Type by which queues are referenced. For example, a call to xQueueCreate()"] -#[doc = " returns an QueueHandle_t variable that can then be used as a parameter to"] -#[doc = " xQueueSend(), xQueueReceive(), etc."] -pub type QueueHandle_t = *mut ::std::os::raw::c_void; -#[doc = " Type by which queue sets are referenced. For example, a call to"] -#[doc = " xQueueCreateSet() returns an xQueueSet variable that can then be used as a"] -#[doc = " parameter to xQueueSelectFromSet(), xQueueAddToSet(), etc."] -pub type QueueSetHandle_t = *mut ::std::os::raw::c_void; -#[doc = " Queue sets can contain both queues and semaphores, so the"] -#[doc = " QueueSetMemberHandle_t is defined as a type to be used where a parameter or"] -#[doc = " return value can be either an QueueHandle_t or an SemaphoreHandle_t."] -pub type QueueSetMemberHandle_t = *mut ::std::os::raw::c_void; extern "C" { - #[doc = " It is preferred that the macros xQueueSend(), xQueueSendToFront() and"] - #[doc = " xQueueSendToBack() are used in place of calling this function directly."] + #[doc = " Get tick count from ISR"] #[doc = ""] - #[doc = " Post an item on a queue. The item is queued by copy, not by reference."] - #[doc = " This function must not be called from an interrupt service routine."] - #[doc = " See xQueueSendFromISR () for an alternative which may be used in an ISR."] + #[doc = " @return The count of ticks since vTaskStartScheduler was called."] #[doc = ""] - #[doc = " @param xQueue The handle to the queue on which the item is to be posted."] + #[doc = " This is a version of xTaskGetTickCount() that is safe to be called from an"] + #[doc = " ISR - provided that TickType_t is the natural word size of the"] + #[doc = " microcontroller being used or interrupt nesting is either not supported or"] + #[doc = " not being used."] #[doc = ""] - #[doc = " @param pvItemToQueue A pointer to the item that is to be placed on the"] - #[doc = " queue. The size of the items the queue will hold was defined when the"] - #[doc = " queue was created, so this many bytes will be copied from pvItemToQueue"] - #[doc = " into the queue storage area."] + #[doc = " \\ingroup TaskUtils"] + pub fn xTaskGetTickCountFromISR() -> TickType_t; +} +extern "C" { + #[doc = " Get current number of tasks"] #[doc = ""] - #[doc = " @param xTicksToWait The maximum amount of time the task should block"] - #[doc = " waiting for space to become available on the queue, should it already"] - #[doc = " be full. The call will return immediately if this is set to 0 and the"] - #[doc = " queue is full. The time is defined in tick periods so the constant"] - #[doc = " portTICK_PERIOD_MS should be used to convert to real time if this is required."] + #[doc = " @return The number of tasks that the real time kernel is currently managing."] + #[doc = " This includes all ready, blocked and suspended tasks. A task that"] + #[doc = " has been deleted but not yet freed by the idle task will also be"] + #[doc = " included in the count."] #[doc = ""] - #[doc = " @param xCopyPosition Can take the value queueSEND_TO_BACK to place the"] - #[doc = " item at the back of the queue, or queueSEND_TO_FRONT to place the item"] - #[doc = " at the front of the queue (for high priority messages)."] + #[doc = " \\ingroup TaskUtils"] + pub fn uxTaskGetNumberOfTasks() -> UBaseType_t; +} +extern "C" { + #[doc = " Get task name"] #[doc = ""] - #[doc = " @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL."] + #[doc = " @return The text (human readable) name of the task referenced by the handle"] + #[doc = " xTaskToQuery. A task can query its own name by either passing in its own"] + #[doc = " handle, or by setting xTaskToQuery to NULL. INCLUDE_pcTaskGetTaskName must be"] + #[doc = " set to 1 in FreeRTOSConfig.h for pcTaskGetTaskName() to be available."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " struct AMessage"] - #[doc = " {"] - #[doc = " char ucMessageID;"] - #[doc = " char ucData[ 20 ];"] - #[doc = " } xMessage;"] + #[doc = " \\ingroup TaskUtils"] + pub fn pcTaskGetTaskName(xTaskToQuery: TaskHandle_t) -> *mut ::std::os::raw::c_char; +} +extern "C" { + #[doc = " Returns the high water mark of the stack associated with xTask."] #[doc = ""] - #[doc = " uint32_t ulVar = 10UL;"] + #[doc = " INCLUDE_uxTaskGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for"] + #[doc = " this function to be available."] #[doc = ""] - #[doc = " void vATask( void *pvParameters )"] - #[doc = " {"] - #[doc = " QueueHandle_t xQueue1, xQueue2;"] - #[doc = " struct AMessage *pxMessage;"] + #[doc = " High water mark is the minimum free stack space there has been (in bytes"] + #[doc = " rather than words as found in vanilla FreeRTOS) since the task started."] + #[doc = " The smaller the returned number the closer the task has come to overflowing its stack."] #[doc = ""] - #[doc = " // Create a queue capable of containing 10 uint32_t values."] - #[doc = " xQueue1 = xQueueCreate( 10, sizeof( uint32_t ) );"] + #[doc = " @param xTask Handle of the task associated with the stack to be checked."] + #[doc = " Set xTask to NULL to check the stack of the calling task."] #[doc = ""] - #[doc = " // Create a queue capable of containing 10 pointers to AMessage structures."] - #[doc = " // These should be passed by pointer as they contain a lot of data."] - #[doc = " xQueue2 = xQueueCreate( 10, sizeof( struct AMessage * ) );"] + #[doc = " @return The smallest amount of free stack space there has been (in bytes"] + #[doc = " rather than words as found in vanilla FreeRTOS) since the task referenced by"] + #[doc = " xTask was created."] + pub fn uxTaskGetStackHighWaterMark(xTask: TaskHandle_t) -> UBaseType_t; +} +extern "C" { + #[doc = " Returns the start of the stack associated with xTask."] #[doc = ""] - #[doc = " // ..."] + #[doc = " INCLUDE_pxTaskGetStackStart must be set to 1 in FreeRTOSConfig.h for"] + #[doc = " this function to be available."] #[doc = ""] - #[doc = " if( xQueue1 != 0 )"] - #[doc = " {"] - #[doc = " // Send an uint32_t. Wait for 10 ticks for space to become"] - #[doc = " // available if necessary."] - #[doc = " if( xQueueGenericSend( xQueue1, ( void * ) &ulVar, ( TickType_t ) 10, queueSEND_TO_BACK ) != pdPASS )"] - #[doc = " {"] - #[doc = " // Failed to post the message, even after 10 ticks."] - #[doc = " }"] - #[doc = " }"] + #[doc = " Returns the highest stack memory address on architectures where the stack grows down"] + #[doc = " from high memory, and the lowest memory address on architectures where the"] + #[doc = " stack grows up from low memory."] #[doc = ""] - #[doc = " if( xQueue2 != 0 )"] - #[doc = " {"] - #[doc = " // Send a pointer to a struct AMessage object. Don\'t block if the"] - #[doc = " // queue is already full."] - #[doc = " pxMessage = & xMessage;"] - #[doc = " xQueueGenericSend( xQueue2, ( void * ) &pxMessage, ( TickType_t ) 0, queueSEND_TO_BACK );"] - #[doc = " }"] + #[doc = " @param xTask Handle of the task associated with the stack returned."] + #[doc = " Set xTask to NULL to return the stack of the calling task."] #[doc = ""] - #[doc = " // ... Rest of task code."] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup QueueManagement"] - pub fn xQueueGenericSend( - xQueue: QueueHandle_t, - pvItemToQueue: *const ::std::os::raw::c_void, - xTicksToWait: TickType_t, - xCopyPosition: BaseType_t, - ) -> BaseType_t; + #[doc = " @return A pointer to the start of the stack."] + pub fn pxTaskGetStackStart(xTask: TaskHandle_t) -> *mut u8; } extern "C" { - #[doc = " A version of xQueuePeek() that can be called from an interrupt service"] - #[doc = " routine (ISR)."] + #[doc = " Set local storage pointer specific to the given task."] #[doc = ""] - #[doc = " Receive an item from a queue without removing the item from the queue."] - #[doc = " The item is received by copy so a buffer of adequate size must be"] - #[doc = " provided. The number of bytes copied into the buffer was defined when"] - #[doc = " the queue was created."] + #[doc = " Each task contains an array of pointers that is dimensioned by the"] + #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h."] + #[doc = " The kernel does not use the pointers itself, so the application writer"] + #[doc = " can use the pointers for any purpose they wish."] #[doc = ""] - #[doc = " Successfully received items remain on the queue so will be returned again"] - #[doc = " by the next call, or a call to xQueueReceive()."] + #[doc = " @param xTaskToSet Task to set thread local storage pointer for"] + #[doc = " @param xIndex The index of the pointer to set, from 0 to"] + #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS - 1."] + #[doc = " @param pvValue Pointer value to set."] + pub fn vTaskSetThreadLocalStoragePointer( + xTaskToSet: TaskHandle_t, + xIndex: BaseType_t, + pvValue: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + #[doc = " Get local storage pointer specific to the given task."] #[doc = ""] - #[doc = " @param xQueue The handle to the queue from which the item is to be"] - #[doc = " received."] + #[doc = " Each task contains an array of pointers that is dimensioned by the"] + #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h."] + #[doc = " The kernel does not use the pointers itself, so the application writer"] + #[doc = " can use the pointers for any purpose they wish."] #[doc = ""] - #[doc = " @param pvBuffer Pointer to the buffer into which the received item will"] - #[doc = " be copied."] + #[doc = " @param xTaskToQuery Task to get thread local storage pointer for"] + #[doc = " @param xIndex The index of the pointer to get, from 0 to"] + #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS - 1."] + #[doc = " @return Pointer value"] + pub fn pvTaskGetThreadLocalStoragePointer( + xTaskToQuery: TaskHandle_t, + xIndex: BaseType_t, + ) -> *mut ::std::os::raw::c_void; +} +#[doc = " Prototype of local storage pointer deletion callback."] +pub type TlsDeleteCallbackFunction_t = ::core::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: *mut ::std::os::raw::c_void), +>; +extern "C" { + #[doc = " Set local storage pointer and deletion callback."] #[doc = ""] - #[doc = " @return pdTRUE if an item was successfully received from the queue,"] - #[doc = " otherwise pdFALSE."] + #[doc = " Each task contains an array of pointers that is dimensioned by the"] + #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h."] + #[doc = " The kernel does not use the pointers itself, so the application writer"] + #[doc = " can use the pointers for any purpose they wish."] #[doc = ""] - #[doc = " \\ingroup QueueManagement"] - pub fn xQueuePeekFromISR( - xQueue: QueueHandle_t, - pvBuffer: *mut ::std::os::raw::c_void, + #[doc = " Local storage pointers set for a task can reference dynamically"] + #[doc = " allocated resources. This function is similar to"] + #[doc = " vTaskSetThreadLocalStoragePointer, but provides a way to release"] + #[doc = " these resources when the task gets deleted. For each pointer,"] + #[doc = " a callback function can be set. This function will be called"] + #[doc = " when task is deleted, with the local storage pointer index"] + #[doc = " and value as arguments."] + #[doc = ""] + #[doc = " @param xTaskToSet Task to set thread local storage pointer for"] + #[doc = " @param xIndex The index of the pointer to set, from 0 to"] + #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS - 1."] + #[doc = " @param pvValue Pointer value to set."] + #[doc = " @param pvDelCallback Function to call to dispose of the local"] + #[doc = " storage pointer when the task is deleted."] + pub fn vTaskSetThreadLocalStoragePointerAndDelCallback( + xTaskToSet: TaskHandle_t, + xIndex: BaseType_t, + pvValue: *mut ::std::os::raw::c_void, + pvDelCallback: TlsDeleteCallbackFunction_t, + ); +} +extern "C" { + #[doc = " Calls the hook function associated with xTask. Passing xTask as NULL has"] + #[doc = " the effect of calling the Running tasks (the calling task) hook function."] + #[doc = ""] + #[doc = " @param xTask Handle of the task to call the hook for."] + #[doc = " @param pvParameter Parameter passed to the hook function for the task to interpret as it"] + #[doc = " wants. The return value is the value returned by the task hook function"] + #[doc = " registered by the user."] + pub fn xTaskCallApplicationTaskHook( + xTask: TaskHandle_t, + pvParameter: *mut ::std::os::raw::c_void, ) -> BaseType_t; } extern "C" { - #[doc = " It is preferred that the macro xQueueReceive() be used rather than calling"] - #[doc = " this function directly."] + #[doc = " Get the handle of idle task for the current CPU."] #[doc = ""] - #[doc = " Receive an item from a queue. The item is received by copy so a buffer of"] - #[doc = " adequate size must be provided. The number of bytes copied into the buffer"] - #[doc = " was defined when the queue was created."] + #[doc = " xTaskGetIdleTaskHandle() is only available if"] + #[doc = " INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h."] #[doc = ""] - #[doc = " This function must not be used in an interrupt service routine. See"] - #[doc = " xQueueReceiveFromISR for an alternative that can."] + #[doc = " @return The handle of the idle task. It is not valid to call"] + #[doc = " xTaskGetIdleTaskHandle() before the scheduler has been started."] + pub fn xTaskGetIdleTaskHandle() -> TaskHandle_t; +} +extern "C" { + #[doc = " Get the handle of idle task for the given CPU."] + #[doc = ""] + #[doc = " xTaskGetIdleTaskHandleForCPU() is only available if"] + #[doc = " INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h."] + #[doc = ""] + #[doc = " @param cpuid The CPU to get the handle for"] + #[doc = ""] + #[doc = " @return Idle task handle of a given cpu. It is not valid to call"] + #[doc = " xTaskGetIdleTaskHandleForCPU() before the scheduler has been started."] + pub fn xTaskGetIdleTaskHandleForCPU(cpuid: UBaseType_t) -> TaskHandle_t; +} +extern "C" { + #[doc = " Get the state of tasks in the system."] + #[doc = ""] + #[doc = " configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for"] + #[doc = " uxTaskGetSystemState() to be available."] + #[doc = ""] + #[doc = " uxTaskGetSystemState() populates an TaskStatus_t structure for each task in"] + #[doc = " the system. TaskStatus_t structures contain, among other things, members"] + #[doc = " for the task handle, task name, task priority, task state, and total amount"] + #[doc = " of run time consumed by the task. See the TaskStatus_t structure"] + #[doc = " definition in this file for the full member list."] #[doc = ""] - #[doc = " @param xQueue The handle to the queue from which the item is to be"] - #[doc = " received."] + #[doc = " @note This function is intended for debugging use only as its use results in"] + #[doc = " the scheduler remaining suspended for an extended period."] #[doc = ""] - #[doc = " @param pvBuffer Pointer to the buffer into which the received item will"] - #[doc = " be copied."] + #[doc = " @param pxTaskStatusArray A pointer to an array of TaskStatus_t structures."] + #[doc = " The array must contain at least one TaskStatus_t structure for each task"] + #[doc = " that is under the control of the RTOS. The number of tasks under the control"] + #[doc = " of the RTOS can be determined using the uxTaskGetNumberOfTasks() API function."] #[doc = ""] - #[doc = " @param xTicksToWait The maximum amount of time the task should block"] - #[doc = " waiting for an item to receive should the queue be empty at the time"] - #[doc = " of the call.\t The time is defined in tick periods so the constant"] - #[doc = " portTICK_PERIOD_MS should be used to convert to real time if this is required."] - #[doc = " xQueueGenericReceive() will return immediately if the queue is empty and"] - #[doc = " xTicksToWait is 0."] + #[doc = " @param uxArraySize The size of the array pointed to by the pxTaskStatusArray"] + #[doc = " parameter. The size is specified as the number of indexes in the array, or"] + #[doc = " the number of TaskStatus_t structures contained in the array, not by the"] + #[doc = " number of bytes in the array."] #[doc = ""] - #[doc = " @param xJustPeek When set to true, the item received from the queue is not"] - #[doc = " actually removed from the queue - meaning a subsequent call to"] - #[doc = " xQueueReceive() will return the same item. When set to false, the item"] - #[doc = " being received from the queue is also removed from the queue."] + #[doc = " @param pulTotalRunTime If configGENERATE_RUN_TIME_STATS is set to 1 in"] + #[doc = " FreeRTOSConfig.h then *pulTotalRunTime is set by uxTaskGetSystemState() to the"] + #[doc = " total run time (as defined by the run time stats clock, see"] + #[doc = " http://www.freertos.org/rtos-run-time-stats.html) since the target booted."] + #[doc = " pulTotalRunTime can be set to NULL to omit the total run time information."] #[doc = ""] - #[doc = " @return pdTRUE if an item was successfully received from the queue,"] - #[doc = " otherwise pdFALSE."] + #[doc = " @return The number of TaskStatus_t structures that were populated by"] + #[doc = " uxTaskGetSystemState(). This should equal the number returned by the"] + #[doc = " uxTaskGetNumberOfTasks() API function, but will be zero if the value passed"] + #[doc = " in the uxArraySize parameter was too small."] #[doc = ""] #[doc = " Example usage:"] #[doc = " @code{c}"] - #[doc = " struct AMessage"] - #[doc = " {"] - #[doc = " \tchar ucMessageID;"] - #[doc = " \tchar ucData[ 20 ];"] - #[doc = " } xMessage;"] + #[doc = " // This example demonstrates how a human readable table of run time stats"] + #[doc = " // information is generated from raw data provided by uxTaskGetSystemState()."] + #[doc = " // The human readable table is written to pcWriteBuffer"] + #[doc = " void vTaskGetRunTimeStats( char *pcWriteBuffer )"] + #[doc = " {"] + #[doc = " TaskStatus_t *pxTaskStatusArray;"] + #[doc = " volatile UBaseType_t uxArraySize, x;"] + #[doc = " uint32_t ulTotalRunTime, ulStatsAsPercentage;"] #[doc = ""] - #[doc = " QueueHandle_t xQueue;"] + #[doc = " // Make sure the write buffer does not contain a string."] + #[doc = " *pcWriteBuffer = 0x00;"] #[doc = ""] - #[doc = " // Task to create a queue and post a value."] - #[doc = " void vATask( void *pvParameters )"] - #[doc = " {"] - #[doc = " struct AMessage *pxMessage;"] + #[doc = " // Take a snapshot of the number of tasks in case it changes while this"] + #[doc = " // function is executing."] + #[doc = " uxArraySize = uxTaskGetNumberOfTasks();"] #[doc = ""] - #[doc = " \t// Create a queue capable of containing 10 pointers to AMessage structures."] - #[doc = " \t// These should be passed by pointer as they contain a lot of data."] - #[doc = " \txQueue = xQueueCreate( 10, sizeof( struct AMessage * ) );"] - #[doc = " \tif( xQueue == 0 )"] - #[doc = " \t{"] - #[doc = " \t\t// Failed to create the queue."] - #[doc = " \t}"] + #[doc = " // Allocate a TaskStatus_t structure for each task. An array could be"] + #[doc = " // allocated statically at compile time."] + #[doc = " pxTaskStatusArray = pvPortMalloc( uxArraySize * sizeof( TaskStatus_t ) );"] #[doc = ""] - #[doc = " \t// ..."] + #[doc = " if( pxTaskStatusArray != NULL )"] + #[doc = " {"] + #[doc = " // Generate raw status information about each task."] + #[doc = " uxArraySize = uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, &ulTotalRunTime );"] #[doc = ""] - #[doc = " \t// Send a pointer to a struct AMessage object. Don\'t block if the"] - #[doc = " \t// queue is already full."] - #[doc = " \tpxMessage = & xMessage;"] - #[doc = " \txQueueSend( xQueue, ( void * ) &pxMessage, ( TickType_t ) 0 );"] + #[doc = " // For percentage calculations."] + #[doc = " ulTotalRunTime /= 100UL;"] #[doc = ""] - #[doc = " \t// ... Rest of task code."] - #[doc = " }"] + #[doc = " // Avoid divide by zero errors."] + #[doc = " if( ulTotalRunTime > 0 )"] + #[doc = " {"] + #[doc = " // For each populated position in the pxTaskStatusArray array,"] + #[doc = " // format the raw data as human readable ASCII data"] + #[doc = " for( x = 0; x < uxArraySize; x++ )"] + #[doc = " {"] + #[doc = " // What percentage of the total run time has the task used?"] + #[doc = " // This will always be rounded down to the nearest integer."] + #[doc = " // ulTotalRunTimeDiv100 has already been divided by 100."] + #[doc = " ulStatsAsPercentage = pxTaskStatusArray[ x ].ulRunTimeCounter / ulTotalRunTime;"] #[doc = ""] - #[doc = " // Task to receive from the queue."] - #[doc = " void vADifferentTask( void *pvParameters )"] - #[doc = " {"] - #[doc = " struct AMessage *pxRxedMessage;"] + #[doc = " if( ulStatsAsPercentage > 0UL )"] + #[doc = " {"] + #[doc = " sprintf( pcWriteBuffer, \"%s\\t\\t%lu\\t\\t%lu%%\\r\\n\", pxTaskStatusArray[ x ].pcTaskName, pxTaskStatusArray[ x ].ulRunTimeCounter, ulStatsAsPercentage );"] + #[doc = " }"] + #[doc = " else"] + #[doc = " {"] + #[doc = " // If the percentage is zero here then the task has"] + #[doc = " // consumed less than 1% of the total run time."] + #[doc = " sprintf( pcWriteBuffer, \"%s\\t\\t%lu\\t\\t<1%%\\r\\n\", pxTaskStatusArray[ x ].pcTaskName, pxTaskStatusArray[ x ].ulRunTimeCounter );"] + #[doc = " }"] #[doc = ""] - #[doc = " \tif( xQueue != 0 )"] - #[doc = " \t{"] - #[doc = " \t\t// Receive a message on the created queue. Block for 10 ticks if a"] - #[doc = " \t\t// message is not immediately available."] - #[doc = " \t\tif( xQueueGenericReceive( xQueue, &( pxRxedMessage ), ( TickType_t ) 10 ) )"] - #[doc = " \t\t{"] - #[doc = " \t\t\t// pcRxedMessage now points to the struct AMessage variable posted"] - #[doc = " \t\t\t// by vATask."] - #[doc = " \t\t}"] - #[doc = " \t}"] + #[doc = " pcWriteBuffer += strlen( ( char * ) pcWriteBuffer );"] + #[doc = " }"] + #[doc = " }"] #[doc = ""] - #[doc = " \t// ... Rest of task code."] + #[doc = " // The array is no longer needed, free the memory it consumes."] + #[doc = " vPortFree( pxTaskStatusArray );"] #[doc = " }"] + #[doc = " }"] #[doc = " @endcode"] - #[doc = " \\ingroup QueueManagement"] - pub fn xQueueGenericReceive( - xQueue: QueueHandle_t, - pvBuffer: *mut ::std::os::raw::c_void, - xTicksToWait: TickType_t, - xJustPeek: BaseType_t, - ) -> BaseType_t; + pub fn uxTaskGetSystemState( + pxTaskStatusArray: *mut TaskStatus_t, + uxArraySize: UBaseType_t, + pulTotalRunTime: *mut u32, + ) -> UBaseType_t; } extern "C" { - #[doc = " Return the number of messages stored in a queue."] + #[doc = " List all the current tasks."] #[doc = ""] - #[doc = " @param xQueue A handle to the queue being queried."] + #[doc = " configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must"] + #[doc = " both be defined as 1 for this function to be available. See the"] + #[doc = " configuration section of the FreeRTOS.org website for more information."] #[doc = ""] - #[doc = " @return The number of messages available in the queue."] + #[doc = " @note This function will disable interrupts for its duration. It is"] + #[doc = " not intended for normal application runtime use but as a debug aid."] #[doc = ""] - #[doc = " \\ingroup QueueManagement"] - pub fn uxQueueMessagesWaiting(xQueue: QueueHandle_t) -> UBaseType_t; -} -extern "C" { - #[doc = " Return the number of free spaces available in a queue. This is equal to the"] - #[doc = " number of items that can be sent to the queue before the queue becomes full"] - #[doc = " if no items are removed."] + #[doc = " Lists all the current tasks, along with their current state and stack"] + #[doc = " usage high water mark."] #[doc = ""] - #[doc = " @param xQueue A handle to the queue being queried."] + #[doc = " Tasks are reported as blocked ('B'), ready ('R'), deleted ('D') or"] + #[doc = " suspended ('S')."] #[doc = ""] - #[doc = " @return The number of spaces available in the queue."] + #[doc = " @note This function is provided for convenience only, and is used by many of the"] + #[doc = " demo applications. Do not consider it to be part of the scheduler."] #[doc = ""] - #[doc = " \\ingroup QueueManagement"] - pub fn uxQueueSpacesAvailable(xQueue: QueueHandle_t) -> UBaseType_t; + #[doc = " vTaskList() calls uxTaskGetSystemState(), then formats part of the"] + #[doc = " uxTaskGetSystemState() output into a human readable table that displays task"] + #[doc = " names, states and stack usage."] + #[doc = ""] + #[doc = " vTaskList() has a dependency on the sprintf() C library function that might"] + #[doc = " bloat the code size, use a lot of stack, and provide different results on"] + #[doc = " different platforms. An alternative, tiny, third party, and limited"] + #[doc = " functionality implementation of sprintf() is provided in many of the"] + #[doc = " FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note"] + #[doc = " printf-stdarg.c does not provide a full snprintf() implementation!)."] + #[doc = ""] + #[doc = " It is recommended that production systems call uxTaskGetSystemState()"] + #[doc = " directly to get access to raw stats data, rather than indirectly through a"] + #[doc = " call to vTaskList()."] + #[doc = ""] + #[doc = " @param pcWriteBuffer A buffer into which the above mentioned details"] + #[doc = " will be written, in ASCII form. This buffer is assumed to be large"] + #[doc = " enough to contain the generated report. Approximately 40 bytes per"] + #[doc = " task should be sufficient."] + #[doc = ""] + #[doc = " \\ingroup TaskUtils"] + pub fn vTaskList(pcWriteBuffer: *mut ::std::os::raw::c_char); } extern "C" { - #[doc = " Delete a queue - freeing all the memory allocated for storing of items"] - #[doc = " placed on the queue."] + #[doc = " Get the state of running tasks as a string"] #[doc = ""] - #[doc = " @param xQueue A handle to the queue to be deleted."] + #[doc = " configGENERATE_RUN_TIME_STATS and configUSE_STATS_FORMATTING_FUNCTIONS"] + #[doc = " must both be defined as 1 for this function to be available. The application"] + #[doc = " must also then provide definitions for"] + #[doc = " portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE()"] + #[doc = " to configure a peripheral timer/counter and return the timers current count"] + #[doc = " value respectively. The counter should be at least 10 times the frequency of"] + #[doc = " the tick count."] #[doc = ""] - #[doc = " \\ingroup QueueManagement"] - pub fn vQueueDelete(xQueue: QueueHandle_t); + #[doc = " @note This function will disable interrupts for its duration. It is"] + #[doc = " not intended for normal application runtime use but as a debug aid."] + #[doc = ""] + #[doc = " Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total"] + #[doc = " accumulated execution time being stored for each task. The resolution"] + #[doc = " of the accumulated time value depends on the frequency of the timer"] + #[doc = " configured by the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() macro."] + #[doc = " Calling vTaskGetRunTimeStats() writes the total execution time of each"] + #[doc = " task into a buffer, both as an absolute count value and as a percentage"] + #[doc = " of the total system execution time."] + #[doc = ""] + #[doc = " @note This function is provided for convenience only, and is used by many of the"] + #[doc = " demo applications. Do not consider it to be part of the scheduler."] + #[doc = ""] + #[doc = " vTaskGetRunTimeStats() calls uxTaskGetSystemState(), then formats part of the"] + #[doc = " uxTaskGetSystemState() output into a human readable table that displays the"] + #[doc = " amount of time each task has spent in the Running state in both absolute and"] + #[doc = " percentage terms."] + #[doc = ""] + #[doc = " vTaskGetRunTimeStats() has a dependency on the sprintf() C library function"] + #[doc = " that might bloat the code size, use a lot of stack, and provide different"] + #[doc = " results on different platforms. An alternative, tiny, third party, and"] + #[doc = " limited functionality implementation of sprintf() is provided in many of the"] + #[doc = " FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note"] + #[doc = " printf-stdarg.c does not provide a full snprintf() implementation!)."] + #[doc = ""] + #[doc = " It is recommended that production systems call uxTaskGetSystemState() directly"] + #[doc = " to get access to raw stats data, rather than indirectly through a call to"] + #[doc = " vTaskGetRunTimeStats()."] + #[doc = ""] + #[doc = " @param pcWriteBuffer A buffer into which the execution times will be"] + #[doc = " written, in ASCII form. This buffer is assumed to be large enough to"] + #[doc = " contain the generated report. Approximately 40 bytes per task should"] + #[doc = " be sufficient."] + #[doc = ""] + #[doc = " \\ingroup TaskUtils"] + pub fn vTaskGetRunTimeStats(pcWriteBuffer: *mut ::std::os::raw::c_char); } extern "C" { - #[doc = "@{*/"] - #[doc = " It is preferred that the macros xQueueSendFromISR(),"] - #[doc = " xQueueSendToFrontFromISR() and xQueueSendToBackFromISR() be used in place"] - #[doc = " of calling this function directly. xQueueGiveFromISR() is an"] - #[doc = " equivalent for use by semaphores that don\'t actually copy any data."] + #[doc = " Send task notification."] #[doc = ""] - #[doc = " Post an item on a queue. It is safe to use this function from within an"] - #[doc = " interrupt service routine."] + #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] + #[doc = " function to be available."] #[doc = ""] - #[doc = " Items are queued by copy not reference so it is preferable to only"] - #[doc = " queue small items, especially when called from an ISR. In most cases"] - #[doc = " it would be preferable to store a pointer to the item being queued."] + #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] + #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] + #[doc = ""] + #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] + #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] + #[doc = " are a method of sending an event directly to a task without the need for such"] + #[doc = " an intermediary object."] + #[doc = ""] + #[doc = " A notification sent to a task can optionally perform an action, such as"] + #[doc = " update, overwrite or increment the task's notification value. In that way"] + #[doc = " task notifications can be used to send data to a task, or be used as light"] + #[doc = " weight and fast binary or counting semaphores."] + #[doc = ""] + #[doc = " A notification sent to a task will remain pending until it is cleared by the"] + #[doc = " task calling xTaskNotifyWait() or ulTaskNotifyTake(). If the task was"] + #[doc = " already in the Blocked state to wait for a notification when the notification"] + #[doc = " arrives then the task will automatically be removed from the Blocked state"] + #[doc = " (unblocked) and the notification cleared."] #[doc = ""] - #[doc = " @param xQueue The handle to the queue on which the item is to be posted."] + #[doc = " A task can use xTaskNotifyWait() to [optionally] block to wait for a"] + #[doc = " notification to be pending, or ulTaskNotifyTake() to [optionally] block"] + #[doc = " to wait for its notification value to have a non-zero value. The task does"] + #[doc = " not consume any CPU time while it is in the Blocked state."] #[doc = ""] - #[doc = " @param pvItemToQueue A pointer to the item that is to be placed on the"] - #[doc = " queue. The size of the items the queue will hold was defined when the"] - #[doc = " queue was created, so this many bytes will be copied from pvItemToQueue"] - #[doc = " into the queue storage area."] + #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] #[doc = ""] - #[doc = " @param[out] pxHigherPriorityTaskWoken xQueueGenericSendFromISR() will set"] - #[doc = " *pxHigherPriorityTaskWoken to pdTRUE if sending to the queue caused a task"] - #[doc = " to unblock, and the unblocked task has a priority higher than the currently"] - #[doc = " running task. If xQueueGenericSendFromISR() sets this value to pdTRUE then"] - #[doc = " a context switch should be requested before the interrupt is exited."] + #[doc = " @param xTaskToNotify The handle of the task being notified. The handle to a"] + #[doc = " task can be returned from the xTaskCreate() API function used to create the"] + #[doc = " task, and the handle of the currently running task can be obtained by calling"] + #[doc = " xTaskGetCurrentTaskHandle()."] #[doc = ""] - #[doc = " @param xCopyPosition Can take the value queueSEND_TO_BACK to place the"] - #[doc = " item at the back of the queue, or queueSEND_TO_FRONT to place the item"] - #[doc = " at the front of the queue (for high priority messages)."] + #[doc = " @param ulValue Data that can be sent with the notification. How the data is"] + #[doc = " used depends on the value of the eAction parameter."] #[doc = ""] - #[doc = " @return pdTRUE if the data was successfully sent to the queue, otherwise"] - #[doc = " errQUEUE_FULL."] + #[doc = " @param eAction Specifies how the notification updates the task's notification"] + #[doc = " value, if at all. Valid values for eAction are as follows:"] + #[doc = "\t- eSetBits:"] + #[doc = "\t The task's notification value is bitwise ORed with ulValue. xTaskNofify()"] + #[doc = " \t always returns pdPASS in this case."] #[doc = ""] - #[doc = " Example usage for buffered IO (where the ISR can obtain more than one value"] - #[doc = " per call):"] - #[doc = " @code{c}"] - #[doc = " void vBufferISR( void )"] - #[doc = " {"] - #[doc = " char cIn;"] - #[doc = " BaseType_t xHigherPriorityTaskWokenByPost;"] + #[doc = "\t- eIncrement:"] + #[doc = "\t The task's notification value is incremented. ulValue is not used and"] + #[doc = "\t xTaskNotify() always returns pdPASS in this case."] #[doc = ""] - #[doc = " \t// We have not woken a task at the start of the ISR."] - #[doc = " \txHigherPriorityTaskWokenByPost = pdFALSE;"] + #[doc = "\t- eSetValueWithOverwrite:"] + #[doc = "\t The task's notification value is set to the value of ulValue, even if the"] + #[doc = "\t task being notified had not yet processed the previous notification (the"] + #[doc = "\t task already had a notification pending). xTaskNotify() always returns"] + #[doc = "\t pdPASS in this case."] #[doc = ""] - #[doc = " \t// Loop until the buffer is empty."] - #[doc = " \tdo"] - #[doc = " \t{"] - #[doc = " \t\t// Obtain a byte from the buffer."] - #[doc = " \t\tcIn = portINPUT_BYTE( RX_REGISTER_ADDRESS );"] + #[doc = "\t- eSetValueWithoutOverwrite:"] + #[doc = "\t If the task being notified did not already have a notification pending then"] + #[doc = "\t the task's notification value is set to ulValue and xTaskNotify() will"] + #[doc = "\t return pdPASS. If the task being notified already had a notification"] + #[doc = "\t pending then no action is performed and pdFAIL is returned."] #[doc = ""] - #[doc = " \t\t// Post each byte."] - #[doc = " \t\txQueueGenericSendFromISR( xRxQueue, &cIn, &xHigherPriorityTaskWokenByPost, queueSEND_TO_BACK );"] + #[doc = "\t- eNoAction:"] + #[doc = "\t The task receives a notification without its notification value being"] + #[doc = "\t\u{a0}\u{a0}updated. ulValue is not used and xTaskNotify() always returns pdPASS in"] + #[doc = "\t this case."] #[doc = ""] - #[doc = " \t} while( portINPUT_BYTE( BUFFER_COUNT ) );"] + #[doc = " @return Dependent on the value of eAction. See the description of the"] + #[doc = " eAction parameter."] #[doc = ""] - #[doc = " \t// Now the buffer is empty we can switch context if necessary. Note that the"] - #[doc = " \t// name of the yield function required is port specific."] - #[doc = " \tif( xHigherPriorityTaskWokenByPost )"] - #[doc = " \t{"] - #[doc = " \t\ttaskYIELD_YIELD_FROM_ISR();"] - #[doc = " \t}"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup QueueManagement"] - pub fn xQueueGenericSendFromISR( - xQueue: QueueHandle_t, - pvItemToQueue: *const ::std::os::raw::c_void, - pxHigherPriorityTaskWoken: *mut BaseType_t, - xCopyPosition: BaseType_t, - ) -> BaseType_t; -} -extern "C" { - pub fn xQueueGiveFromISR( - xQueue: QueueHandle_t, - pxHigherPriorityTaskWoken: *mut BaseType_t, + #[doc = " \\ingroup TaskNotifications"] + pub fn xTaskNotify( + xTaskToNotify: TaskHandle_t, + ulValue: u32, + eAction: eNotifyAction, ) -> BaseType_t; } extern "C" { - #[doc = " Receive an item from a queue. It is safe to use this function from within an"] - #[doc = " interrupt service routine."] - #[doc = ""] - #[doc = " @param xQueue The handle to the queue from which the item is to be"] - #[doc = " received."] - #[doc = ""] - #[doc = " @param pvBuffer Pointer to the buffer into which the received item will"] - #[doc = " be copied."] - #[doc = ""] - #[doc = " @param[out] pxHigherPriorityTaskWoken A task may be blocked waiting for space to become"] - #[doc = " available on the queue. If xQueueReceiveFromISR causes such a task to"] - #[doc = " unblock *pxTaskWoken will get set to pdTRUE, otherwise *pxTaskWoken will"] - #[doc = " remain unchanged."] + #[doc = " Send task notification from an ISR."] #[doc = ""] - #[doc = " @return pdTRUE if an item was successfully received from the queue,"] - #[doc = " otherwise pdFALSE."] + #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] + #[doc = " function to be available."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " QueueHandle_t xQueue;"] + #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] + #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] #[doc = ""] - #[doc = " // Function to create a queue and post some values."] - #[doc = " void vAFunction( void *pvParameters )"] - #[doc = " {"] - #[doc = " char cValueToPost;"] - #[doc = " const TickType_t xTicksToWait = ( TickType_t )0xff;"] + #[doc = " A version of xTaskNotify() that can be used from an interrupt service routine"] + #[doc = " (ISR)."] #[doc = ""] - #[doc = " \t// Create a queue capable of containing 10 characters."] - #[doc = " \txQueue = xQueueCreate( 10, sizeof( char ) );"] - #[doc = " \tif( xQueue == 0 )"] - #[doc = " \t{"] - #[doc = " \t\t// Failed to create the queue."] - #[doc = " \t}"] + #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] + #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] + #[doc = " are a method of sending an event directly to a task without the need for such"] + #[doc = " an intermediary object."] #[doc = ""] - #[doc = " \t// ..."] + #[doc = " A notification sent to a task can optionally perform an action, such as"] + #[doc = " update, overwrite or increment the task's notification value. In that way"] + #[doc = " task notifications can be used to send data to a task, or be used as light"] + #[doc = " weight and fast binary or counting semaphores."] #[doc = ""] - #[doc = " \t// Post some characters that will be used within an ISR. If the queue"] - #[doc = " \t// is full then this task will block for xTicksToWait ticks."] - #[doc = " \tcValueToPost = \'a\';"] - #[doc = " \txQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait );"] - #[doc = " \tcValueToPost = \'b\';"] - #[doc = " \txQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait );"] + #[doc = " A notification sent to a task will remain pending until it is cleared by the"] + #[doc = " task calling xTaskNotifyWait() or ulTaskNotifyTake(). If the task was"] + #[doc = " already in the Blocked state to wait for a notification when the notification"] + #[doc = " arrives then the task will automatically be removed from the Blocked state"] + #[doc = " (unblocked) and the notification cleared."] #[doc = ""] - #[doc = " \t// ... keep posting characters ... this task may block when the queue"] - #[doc = " \t// becomes full."] + #[doc = " A task can use xTaskNotifyWait() to [optionally] block to wait for a"] + #[doc = " notification to be pending, or ulTaskNotifyTake() to [optionally] block"] + #[doc = " to wait for its notification value to have a non-zero value. The task does"] + #[doc = " not consume any CPU time while it is in the Blocked state."] #[doc = ""] - #[doc = " \tcValueToPost = \'c\';"] - #[doc = " \txQueueSend( xQueue, ( void * ) &cValueToPost, xTicksToWait );"] - #[doc = " }"] + #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] #[doc = ""] - #[doc = " // ISR that outputs all the characters received on the queue."] - #[doc = " void vISR_Routine( void )"] - #[doc = " {"] - #[doc = " BaseType_t xTaskWokenByReceive = pdFALSE;"] - #[doc = " char cRxedChar;"] + #[doc = " @param xTaskToNotify The handle of the task being notified. The handle to a"] + #[doc = " task can be returned from the xTaskCreate() API function used to create the"] + #[doc = " task, and the handle of the currently running task can be obtained by calling"] + #[doc = " xTaskGetCurrentTaskHandle()."] #[doc = ""] - #[doc = " \twhile( xQueueReceiveFromISR( xQueue, ( void * ) &cRxedChar, &xTaskWokenByReceive) )"] - #[doc = " \t{"] - #[doc = " \t\t// A character was received. Output the character now."] - #[doc = " \t\tvOutputCharacter( cRxedChar );"] + #[doc = " @param ulValue Data that can be sent with the notification. How the data is"] + #[doc = " used depends on the value of the eAction parameter."] #[doc = ""] - #[doc = " \t\t// If removing the character from the queue woke the task that was"] - #[doc = " \t\t// posting onto the queue cTaskWokenByReceive will have been set to"] - #[doc = " \t\t// pdTRUE. No matter how many times this loop iterates only one"] - #[doc = " \t\t// task will be woken."] - #[doc = " \t}"] + #[doc = " @param eAction Specifies how the notification updates the task's notification"] + #[doc = " value, if at all. Valid values for eAction are as follows:"] + #[doc = "\t- eSetBits:"] + #[doc = "\t The task's notification value is bitwise ORed with ulValue. xTaskNofify()"] + #[doc = " \t always returns pdPASS in this case."] #[doc = ""] - #[doc = " \tif( cTaskWokenByPost != ( char ) pdFALSE;"] - #[doc = " \t{"] - #[doc = " \t\ttaskYIELD ();"] - #[doc = " \t}"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup QueueManagement"] - pub fn xQueueReceiveFromISR( - xQueue: QueueHandle_t, - pvBuffer: *mut ::std::os::raw::c_void, - pxHigherPriorityTaskWoken: *mut BaseType_t, - ) -> BaseType_t; -} -extern "C" { - #[doc = "@{*/"] - #[doc = " Utilities to query queues that are safe to use from an ISR. These utilities"] - #[doc = " should be used only from witin an ISR, or within a critical section."] - pub fn xQueueIsQueueEmptyFromISR(xQueue: QueueHandle_t) -> BaseType_t; -} -extern "C" { - pub fn xQueueIsQueueFullFromISR(xQueue: QueueHandle_t) -> BaseType_t; -} -extern "C" { - pub fn uxQueueMessagesWaitingFromISR(xQueue: QueueHandle_t) -> UBaseType_t; -} -extern "C" { - #[doc = " @cond */"] - #[doc = " xQueueAltGenericSend() is an alternative version of xQueueGenericSend()."] - #[doc = " Likewise xQueueAltGenericReceive() is an alternative version of"] - #[doc = " xQueueGenericReceive()."] + #[doc = "\t- eIncrement:"] + #[doc = "\t The task's notification value is incremented. ulValue is not used and"] + #[doc = "\t xTaskNotify() always returns pdPASS in this case."] #[doc = ""] - #[doc = " The source code that implements the alternative (Alt) API is much"] - #[doc = " simpler\tbecause it executes everything from within a critical section."] - #[doc = " This is\tthe approach taken by many other RTOSes, but FreeRTOS.org has the"] - #[doc = " preferred fully featured API too. The fully featured API has more"] - #[doc = " complex\tcode that takes longer to execute, but makes much less use of"] - #[doc = " critical sections. Therefore the alternative API sacrifices interrupt"] - #[doc = " responsiveness to gain execution speed, whereas the fully featured API"] - #[doc = " sacrifices execution speed to ensure better interrupt responsiveness."] - pub fn xQueueAltGenericSend( - xQueue: QueueHandle_t, - pvItemToQueue: *const ::std::os::raw::c_void, - xTicksToWait: TickType_t, - xCopyPosition: BaseType_t, - ) -> BaseType_t; -} -extern "C" { - pub fn xQueueAltGenericReceive( - xQueue: QueueHandle_t, - pvBuffer: *mut ::std::os::raw::c_void, - xTicksToWait: TickType_t, - xJustPeeking: BaseType_t, - ) -> BaseType_t; -} -extern "C" { - pub fn xQueueCRSendFromISR( - xQueue: QueueHandle_t, - pvItemToQueue: *const ::std::os::raw::c_void, - xCoRoutinePreviouslyWoken: BaseType_t, - ) -> BaseType_t; -} -extern "C" { - pub fn xQueueCRReceiveFromISR( - xQueue: QueueHandle_t, - pvBuffer: *mut ::std::os::raw::c_void, - pxTaskWoken: *mut BaseType_t, - ) -> BaseType_t; -} -extern "C" { - pub fn xQueueCRSend( - xQueue: QueueHandle_t, - pvItemToQueue: *const ::std::os::raw::c_void, - xTicksToWait: TickType_t, - ) -> BaseType_t; -} -extern "C" { - pub fn xQueueCRReceive( - xQueue: QueueHandle_t, - pvBuffer: *mut ::std::os::raw::c_void, - xTicksToWait: TickType_t, + #[doc = "\t- eSetValueWithOverwrite:"] + #[doc = "\t The task's notification value is set to the value of ulValue, even if the"] + #[doc = "\t task being notified had not yet processed the previous notification (the"] + #[doc = "\t task already had a notification pending). xTaskNotify() always returns"] + #[doc = "\t pdPASS in this case."] + #[doc = ""] + #[doc = "\t- eSetValueWithoutOverwrite:"] + #[doc = "\t If the task being notified did not already have a notification pending then"] + #[doc = "\t the task's notification value is set to ulValue and xTaskNotify() will"] + #[doc = "\t return pdPASS. If the task being notified already had a notification"] + #[doc = "\t pending then no action is performed and pdFAIL is returned."] + #[doc = ""] + #[doc = "\t- eNoAction:"] + #[doc = "\t The task receives a notification without its notification value being"] + #[doc = "\t updated. ulValue is not used and xTaskNotify() always returns pdPASS in"] + #[doc = "\t this case."] + #[doc = ""] + #[doc = " @param pxHigherPriorityTaskWoken xTaskNotifyFromISR() will set"] + #[doc = " *pxHigherPriorityTaskWoken to pdTRUE if sending the notification caused the"] + #[doc = " task to which the notification was sent to leave the Blocked state, and the"] + #[doc = " unblocked task has a priority higher than the currently running task. If"] + #[doc = " xTaskNotifyFromISR() sets this value to pdTRUE then a context switch should"] + #[doc = " be requested before the interrupt is exited. How a context switch is"] + #[doc = " requested from an ISR is dependent on the port - see the documentation page"] + #[doc = " for the port in use."] + #[doc = ""] + #[doc = " @return Dependent on the value of eAction. See the description of the"] + #[doc = " eAction parameter."] + #[doc = ""] + #[doc = " \\ingroup TaskNotifications"] + pub fn xTaskNotifyFromISR( + xTaskToNotify: TaskHandle_t, + ulValue: u32, + eAction: eNotifyAction, + pxHigherPriorityTaskWoken: *mut BaseType_t, ) -> BaseType_t; } extern "C" { - pub fn xQueueCreateMutex(ucQueueType: u8) -> QueueHandle_t; -} -extern "C" { - pub fn xQueueCreateMutexStatic( - ucQueueType: u8, - pxStaticQueue: *mut StaticQueue_t, - ) -> QueueHandle_t; -} -extern "C" { - pub fn xQueueCreateCountingSemaphore( - uxMaxCount: UBaseType_t, - uxInitialCount: UBaseType_t, - ) -> QueueHandle_t; -} -extern "C" { - pub fn xQueueCreateCountingSemaphoreStatic( - uxMaxCount: UBaseType_t, - uxInitialCount: UBaseType_t, - pxStaticQueue: *mut StaticQueue_t, - ) -> QueueHandle_t; -} -extern "C" { - pub fn xQueueGetMutexHolder(xSemaphore: QueueHandle_t) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn xQueueTakeMutexRecursive(xMutex: QueueHandle_t, xTicksToWait: TickType_t) -> BaseType_t; -} -extern "C" { - pub fn xQueueGiveMutexRecursive(pxMutex: QueueHandle_t) -> BaseType_t; -} -extern "C" { - pub fn xQueueGenericCreate( - uxQueueLength: UBaseType_t, - uxItemSize: UBaseType_t, - ucQueueType: u8, - ) -> QueueHandle_t; -} -extern "C" { - #[doc = " Queue sets provide a mechanism to allow a task to block (pend) on a read"] - #[doc = " operation from multiple queues or semaphores simultaneously."] + #[doc = " Wait for task notification"] #[doc = ""] - #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] - #[doc = " function."] + #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] + #[doc = " function to be available."] #[doc = ""] - #[doc = " A queue set must be explicitly created using a call to xQueueCreateSet()"] - #[doc = " before it can be used. Once created, standard FreeRTOS queues and semaphores"] - #[doc = " can be added to the set using calls to xQueueAddToSet()."] - #[doc = " xQueueSelectFromSet() is then used to determine which, if any, of the queues"] - #[doc = " or semaphores contained in the set is in a state where a queue read or"] - #[doc = " semaphore take operation would be successful."] + #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] + #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] #[doc = ""] - #[doc = " Note 1: See the documentation on http://wwwFreeRTOS.org/RTOS-queue-sets.html"] - #[doc = " for reasons why queue sets are very rarely needed in practice as there are"] - #[doc = " simpler methods of blocking on multiple objects."] + #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] + #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] + #[doc = " are a method of sending an event directly to a task without the need for such"] + #[doc = " an intermediary object."] #[doc = ""] - #[doc = " Note 2: Blocking on a queue set that contains a mutex will not cause the"] - #[doc = " mutex holder to inherit the priority of the blocked task."] + #[doc = " A notification sent to a task can optionally perform an action, such as"] + #[doc = " update, overwrite or increment the task's notification value. In that way"] + #[doc = " task notifications can be used to send data to a task, or be used as light"] + #[doc = " weight and fast binary or counting semaphores."] #[doc = ""] - #[doc = " Note 3: An additional 4 bytes of RAM is required for each space in a every"] - #[doc = " queue added to a queue set. Therefore counting semaphores that have a high"] - #[doc = " maximum count value should not be added to a queue set."] + #[doc = " A notification sent to a task will remain pending until it is cleared by the"] + #[doc = " task calling xTaskNotifyWait() or ulTaskNotifyTake(). If the task was"] + #[doc = " already in the Blocked state to wait for a notification when the notification"] + #[doc = " arrives then the task will automatically be removed from the Blocked state"] + #[doc = " (unblocked) and the notification cleared."] #[doc = ""] - #[doc = " Note 4: A receive (in the case of a queue) or take (in the case of a"] - #[doc = " semaphore) operation must not be performed on a member of a queue set unless"] - #[doc = " a call to xQueueSelectFromSet() has first returned a handle to that set member."] + #[doc = " A task can use xTaskNotifyWait() to [optionally] block to wait for a"] + #[doc = " notification to be pending, or ulTaskNotifyTake() to [optionally] block"] + #[doc = " to wait for its notification value to have a non-zero value. The task does"] + #[doc = " not consume any CPU time while it is in the Blocked state."] #[doc = ""] - #[doc = " @param uxEventQueueLength Queue sets store events that occur on"] - #[doc = " the queues and semaphores contained in the set. uxEventQueueLength specifies"] - #[doc = " the maximum number of events that can be queued at once. To be absolutely"] - #[doc = " certain that events are not lost uxEventQueueLength should be set to the"] - #[doc = " total sum of the length of the queues added to the set, where binary"] - #[doc = " semaphores and mutexes have a length of 1, and counting semaphores have a"] - #[doc = " length set by their maximum count value. Examples:"] - #[doc = " + If a queue set is to hold a queue of length 5, another queue of length 12,"] - #[doc = " and a binary semaphore, then uxEventQueueLength should be set to"] - #[doc = " (5 + 12 + 1), or 18."] - #[doc = " + If a queue set is to hold three binary semaphores then uxEventQueueLength"] - #[doc = " should be set to (1 + 1 + 1 ), or 3."] - #[doc = " + If a queue set is to hold a counting semaphore that has a maximum count of"] - #[doc = " 5, and a counting semaphore that has a maximum count of 3, then"] - #[doc = " uxEventQueueLength should be set to (5 + 3), or 8."] + #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] #[doc = ""] - #[doc = " @return If the queue set is created successfully then a handle to the created"] - #[doc = " queue set is returned. Otherwise NULL is returned."] - pub fn xQueueCreateSet(uxEventQueueLength: UBaseType_t) -> QueueSetHandle_t; + #[doc = " @param ulBitsToClearOnEntry Bits that are set in ulBitsToClearOnEntry value"] + #[doc = " will be cleared in the calling task's notification value before the task"] + #[doc = " checks to see if any notifications are pending, and optionally blocks if no"] + #[doc = " notifications are pending. Setting ulBitsToClearOnEntry to ULONG_MAX (if"] + #[doc = " limits.h is included) or 0xffffffffUL (if limits.h is not included) will have"] + #[doc = " the effect of resetting the task's notification value to 0. Setting"] + #[doc = " ulBitsToClearOnEntry to 0 will leave the task's notification value unchanged."] + #[doc = ""] + #[doc = " @param ulBitsToClearOnExit If a notification is pending or received before"] + #[doc = " the calling task exits the xTaskNotifyWait() function then the task's"] + #[doc = " notification value (see the xTaskNotify() API function) is passed out using"] + #[doc = " the pulNotificationValue parameter. Then any bits that are set in"] + #[doc = " ulBitsToClearOnExit will be cleared in the task's notification value (note"] + #[doc = " *pulNotificationValue is set before any bits are cleared). Setting"] + #[doc = " ulBitsToClearOnExit to ULONG_MAX (if limits.h is included) or 0xffffffffUL"] + #[doc = " (if limits.h is not included) will have the effect of resetting the task's"] + #[doc = " notification value to 0 before the function exits. Setting"] + #[doc = " ulBitsToClearOnExit to 0 will leave the task's notification value unchanged"] + #[doc = " when the function exits (in which case the value passed out in"] + #[doc = " pulNotificationValue will match the task's notification value)."] + #[doc = ""] + #[doc = " @param pulNotificationValue Used to pass the task's notification value out"] + #[doc = " of the function. Note the value passed out will not be effected by the"] + #[doc = " clearing of any bits caused by ulBitsToClearOnExit being non-zero."] + #[doc = ""] + #[doc = " @param xTicksToWait The maximum amount of time that the task should wait in"] + #[doc = " the Blocked state for a notification to be received, should a notification"] + #[doc = " not already be pending when xTaskNotifyWait() was called. The task"] + #[doc = " will not consume any processing time while it is in the Blocked state. This"] + #[doc = " is specified in kernel ticks, the macro pdMS_TO_TICSK( value_in_ms ) can be"] + #[doc = " used to convert a time specified in milliseconds to a time specified in"] + #[doc = " ticks."] + #[doc = ""] + #[doc = " @return If a notification was received (including notifications that were"] + #[doc = " already pending when xTaskNotifyWait was called) then pdPASS is"] + #[doc = " returned. Otherwise pdFAIL is returned."] + #[doc = ""] + #[doc = " \\ingroup TaskNotifications"] + pub fn xTaskNotifyWait( + ulBitsToClearOnEntry: u32, + ulBitsToClearOnExit: u32, + pulNotificationValue: *mut u32, + xTicksToWait: TickType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " Adds a queue or semaphore to a queue set that was previously created by a"] - #[doc = " call to xQueueCreateSet()."] + #[doc = " Simplified macro for sending task notification from ISR."] #[doc = ""] - #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] - #[doc = " function."] + #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this macro"] + #[doc = " to be available."] #[doc = ""] - #[doc = " Note 1: A receive (in the case of a queue) or take (in the case of a"] - #[doc = " semaphore) operation must not be performed on a member of a queue set unless"] - #[doc = " a call to xQueueSelectFromSet() has first returned a handle to that set member."] + #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] + #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] #[doc = ""] - #[doc = " @param xQueueOrSemaphore The handle of the queue or semaphore being added to"] - #[doc = " the queue set (cast to an QueueSetMemberHandle_t type)."] + #[doc = " A version of xTaskNotifyGive() that can be called from an interrupt service"] + #[doc = " routine (ISR)."] #[doc = ""] - #[doc = " @param xQueueSet The handle of the queue set to which the queue or semaphore"] - #[doc = " is being added."] + #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] + #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] + #[doc = " are a method of sending an event directly to a task without the need for such"] + #[doc = " an intermediary object."] #[doc = ""] - #[doc = " @return If the queue or semaphore was successfully added to the queue set"] - #[doc = " then pdPASS is returned. If the queue could not be successfully added to the"] - #[doc = " queue set because it is already a member of a different queue set then pdFAIL"] - #[doc = " is returned."] - pub fn xQueueAddToSet( - xQueueOrSemaphore: QueueSetMemberHandle_t, - xQueueSet: QueueSetHandle_t, - ) -> BaseType_t; + #[doc = " A notification sent to a task can optionally perform an action, such as"] + #[doc = " update, overwrite or increment the task's notification value. In that way"] + #[doc = " task notifications can be used to send data to a task, or be used as light"] + #[doc = " weight and fast binary or counting semaphores."] + #[doc = ""] + #[doc = " vTaskNotifyGiveFromISR() is intended for use when task notifications are"] + #[doc = " used as light weight and faster binary or counting semaphore equivalents."] + #[doc = " Actual FreeRTOS semaphores are given from an ISR using the"] + #[doc = " xSemaphoreGiveFromISR() API function, the equivalent action that instead uses"] + #[doc = " a task notification is vTaskNotifyGiveFromISR()."] + #[doc = ""] + #[doc = " When task notifications are being used as a binary or counting semaphore"] + #[doc = " equivalent then the task being notified should wait for the notification"] + #[doc = " using the ulTaskNotificationTake() API function rather than the"] + #[doc = " xTaskNotifyWait() API function."] + #[doc = ""] + #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for more details."] + #[doc = ""] + #[doc = " @param xTaskToNotify The handle of the task being notified. The handle to a"] + #[doc = " task can be returned from the xTaskCreate() API function used to create the"] + #[doc = " task, and the handle of the currently running task can be obtained by calling"] + #[doc = " xTaskGetCurrentTaskHandle()."] + #[doc = ""] + #[doc = " @param pxHigherPriorityTaskWoken vTaskNotifyGiveFromISR() will set"] + #[doc = " *pxHigherPriorityTaskWoken to pdTRUE if sending the notification caused the"] + #[doc = " task to which the notification was sent to leave the Blocked state, and the"] + #[doc = " unblocked task has a priority higher than the currently running task. If"] + #[doc = " vTaskNotifyGiveFromISR() sets this value to pdTRUE then a context switch"] + #[doc = " should be requested before the interrupt is exited. How a context switch is"] + #[doc = " requested from an ISR is dependent on the port - see the documentation page"] + #[doc = " for the port in use."] + #[doc = ""] + #[doc = " \\ingroup TaskNotifications"] + pub fn vTaskNotifyGiveFromISR( + xTaskToNotify: TaskHandle_t, + pxHigherPriorityTaskWoken: *mut BaseType_t, + ); } extern "C" { - #[doc = " Removes a queue or semaphore from a queue set. A queue or semaphore can only"] - #[doc = " be removed from a set if the queue or semaphore is empty."] + #[doc = " Simplified macro for receiving task notification."] #[doc = ""] - #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] - #[doc = " function."] + #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] + #[doc = " function to be available."] #[doc = ""] - #[doc = " @param xQueueOrSemaphore The handle of the queue or semaphore being removed"] - #[doc = " from the queue set (cast to an QueueSetMemberHandle_t type)."] + #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] + #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] + #[doc = ""] + #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] + #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] + #[doc = " are a method of sending an event directly to a task without the need for such"] + #[doc = " an intermediary object."] + #[doc = ""] + #[doc = " A notification sent to a task can optionally perform an action, such as"] + #[doc = " update, overwrite or increment the task's notification value. In that way"] + #[doc = " task notifications can be used to send data to a task, or be used as light"] + #[doc = " weight and fast binary or counting semaphores."] + #[doc = ""] + #[doc = " ulTaskNotifyTake() is intended for use when a task notification is used as a"] + #[doc = " faster and lighter weight binary or counting semaphore alternative. Actual"] + #[doc = " FreeRTOS semaphores are taken using the xSemaphoreTake() API function, the"] + #[doc = " equivalent action that instead uses a task notification is"] + #[doc = " ulTaskNotifyTake()."] #[doc = ""] - #[doc = " @param xQueueSet The handle of the queue set in which the queue or semaphore"] - #[doc = " is included."] + #[doc = " When a task is using its notification value as a binary or counting semaphore"] + #[doc = " other tasks should send notifications to it using the xTaskNotifyGive()"] + #[doc = " macro, or xTaskNotify() function with the eAction parameter set to"] + #[doc = " eIncrement."] #[doc = ""] - #[doc = " @return If the queue or semaphore was successfully removed from the queue set"] - #[doc = " then pdPASS is returned. If the queue was not in the queue set, or the"] - #[doc = " queue (or semaphore) was not empty, then pdFAIL is returned."] - pub fn xQueueRemoveFromSet( - xQueueOrSemaphore: QueueSetMemberHandle_t, - xQueueSet: QueueSetHandle_t, - ) -> BaseType_t; -} -extern "C" { - #[doc = " xQueueSelectFromSet() selects from the members of a queue set a queue or"] - #[doc = " semaphore that either contains data (in the case of a queue) or is available"] - #[doc = " to take (in the case of a semaphore). xQueueSelectFromSet() effectively"] - #[doc = " allows a task to block (pend) on a read operation on all the queues and"] - #[doc = " semaphores in a queue set simultaneously."] + #[doc = " ulTaskNotifyTake() can either clear the task's notification value to"] + #[doc = " zero on exit, in which case the notification value acts like a binary"] + #[doc = " semaphore, or decrement the task's notification value on exit, in which case"] + #[doc = " the notification value acts like a counting semaphore."] #[doc = ""] - #[doc = " See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this"] - #[doc = " function."] + #[doc = " A task can use ulTaskNotifyTake() to [optionally] block to wait for a"] + #[doc = " the task's notification value to be non-zero. The task does not consume any"] + #[doc = " CPU time while it is in the Blocked state."] #[doc = ""] - #[doc = " Note 1: See the documentation on http://wwwFreeRTOS.org/RTOS-queue-sets.html"] - #[doc = " for reasons why queue sets are very rarely needed in practice as there are"] - #[doc = " simpler methods of blocking on multiple objects."] + #[doc = " Where as xTaskNotifyWait() will return when a notification is pending,"] + #[doc = " ulTaskNotifyTake() will return when the task's notification value is"] + #[doc = " not zero."] #[doc = ""] - #[doc = " Note 2: Blocking on a queue set that contains a mutex will not cause the"] - #[doc = " mutex holder to inherit the priority of the blocked task."] + #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] #[doc = ""] - #[doc = " Note 3: A receive (in the case of a queue) or take (in the case of a"] - #[doc = " semaphore) operation must not be performed on a member of a queue set unless"] - #[doc = " a call to xQueueSelectFromSet() has first returned a handle to that set member."] + #[doc = " @param xClearCountOnExit if xClearCountOnExit is pdFALSE then the task's"] + #[doc = " notification value is decremented when the function exits. In this way the"] + #[doc = " notification value acts like a counting semaphore. If xClearCountOnExit is"] + #[doc = " not pdFALSE then the task's notification value is cleared to zero when the"] + #[doc = " function exits. In this way the notification value acts like a binary"] + #[doc = " semaphore."] #[doc = ""] - #[doc = " @param xQueueSet The queue set on which the task will (potentially) block."] + #[doc = " @param xTicksToWait The maximum amount of time that the task should wait in"] + #[doc = " the Blocked state for the task's notification value to be greater than zero,"] + #[doc = " should the count not already be greater than zero when"] + #[doc = " ulTaskNotifyTake() was called. The task will not consume any processing"] + #[doc = " time while it is in the Blocked state. This is specified in kernel ticks,"] + #[doc = " the macro pdMS_TO_TICSK( value_in_ms ) can be used to convert a time"] + #[doc = " specified in milliseconds to a time specified in ticks."] #[doc = ""] - #[doc = " @param xTicksToWait The maximum time, in ticks, that the calling task will"] - #[doc = " remain in the Blocked state (with other tasks executing) to wait for a member"] - #[doc = " of the queue set to be ready for a successful queue read or semaphore take"] - #[doc = " operation."] + #[doc = " @return The task's notification count before it is either cleared to zero or"] + #[doc = " decremented (see the xClearCountOnExit parameter)."] #[doc = ""] - #[doc = " @return xQueueSelectFromSet() will return the handle of a queue (cast to"] - #[doc = " a QueueSetMemberHandle_t type) contained in the queue set that contains data,"] - #[doc = " or the handle of a semaphore (cast to a QueueSetMemberHandle_t type) contained"] - #[doc = " in the queue set that is available, or NULL if no such queue or semaphore"] - #[doc = " exists before before the specified block time expires."] - pub fn xQueueSelectFromSet( - xQueueSet: QueueSetHandle_t, - xTicksToWait: TickType_t, - ) -> QueueSetMemberHandle_t; + #[doc = " \\ingroup TaskNotifications"] + pub fn ulTaskNotifyTake(xClearCountOnExit: BaseType_t, xTicksToWait: TickType_t) -> u32; } extern "C" { - #[doc = " A version of xQueueSelectFromSet() that can be used from an ISR."] - pub fn xQueueSelectFromSetFromISR(xQueueSet: QueueSetHandle_t) -> QueueSetMemberHandle_t; + #[doc = " @cond"] + pub fn xTaskIncrementTick() -> BaseType_t; } extern "C" { - #[doc = " @cond"] - pub fn vQueueWaitForMessageRestricted(xQueue: QueueHandle_t, xTicksToWait: TickType_t); + pub fn vTaskPlaceOnEventList(pxEventList: *mut List_t, xTicksToWait: TickType_t); } extern "C" { - pub fn xQueueGenericReset(xQueue: QueueHandle_t, xNewQueue: BaseType_t) -> BaseType_t; + pub fn vTaskPlaceOnUnorderedEventList( + pxEventList: *mut List_t, + xItemValue: TickType_t, + xTicksToWait: TickType_t, + ); } extern "C" { - pub fn vQueueSetQueueNumber(xQueue: QueueHandle_t, uxQueueNumber: UBaseType_t); + pub fn vTaskPlaceOnEventListRestricted(pxEventList: *mut List_t, xTicksToWait: TickType_t); } extern "C" { - pub fn uxQueueGetQueueNumber(xQueue: QueueHandle_t) -> UBaseType_t; + pub fn xTaskRemoveFromEventList(pxEventList: *const List_t) -> BaseType_t; } extern "C" { - pub fn ucQueueGetQueueType(xQueue: QueueHandle_t) -> u8; + pub fn xTaskRemoveFromUnorderedEventList( + pxEventListItem: *mut ListItem_t, + xItemValue: TickType_t, + ) -> BaseType_t; } -pub type SemaphoreHandle_t = QueueHandle_t; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xLIST_ITEM { - pub xItemValue: TickType_t, - pub pxNext: *mut xLIST_ITEM, - pub pxPrevious: *mut xLIST_ITEM, - pub pvOwner: *mut ::std::os::raw::c_void, - pub pvContainer: *mut ::std::os::raw::c_void, +extern "C" { + pub fn vTaskSwitchContext(); } -pub type ListItem_t = xLIST_ITEM; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xMINI_LIST_ITEM { - pub xItemValue: TickType_t, - pub pxNext: *mut xLIST_ITEM, - pub pxPrevious: *mut xLIST_ITEM, +extern "C" { + pub fn uxTaskResetEventItemValue() -> TickType_t; } -pub type MiniListItem_t = xMINI_LIST_ITEM; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xLIST { - pub uxNumberOfItems: UBaseType_t, - pub pxIndex: *mut ListItem_t, - pub xListEnd: MiniListItem_t, +extern "C" { + pub fn xTaskGetCurrentTaskHandle() -> TaskHandle_t; } -pub type List_t = xLIST; extern "C" { - pub fn vListInitialise(pxList: *mut List_t); + pub fn xTaskGetCurrentTaskHandleForCPU(cpuid: BaseType_t) -> TaskHandle_t; } extern "C" { - pub fn vListInitialiseItem(pxItem: *mut ListItem_t); + pub fn vTaskSetTimeOutState(pxTimeOut: *mut TimeOut_t); } extern "C" { - pub fn vListInsert(pxList: *mut List_t, pxNewListItem: *mut ListItem_t); + pub fn xTaskCheckForTimeOut( + pxTimeOut: *mut TimeOut_t, + pxTicksToWait: *mut TickType_t, + ) -> BaseType_t; } extern "C" { - pub fn vListInsertEnd(pxList: *mut List_t, pxNewListItem: *mut ListItem_t); + pub fn vTaskMissedYield(); } extern "C" { - pub fn uxListRemove(pxItemToRemove: *mut ListItem_t) -> UBaseType_t; + pub fn xTaskGetSchedulerState() -> BaseType_t; } -#[doc = " task. h"] -#[doc = ""] -#[doc = " Type by which tasks are referenced. For example, a call to xTaskCreate"] -#[doc = " returns (via a pointer parameter) an TaskHandle_t variable that can then"] -#[doc = " be used as a parameter to vTaskDelete to delete the task."] -#[doc = ""] -#[doc = " \\ingroup Tasks"] -pub type TaskHandle_t = *mut ::std::os::raw::c_void; -#[doc = " Defines the prototype to which the application task hook function must"] -#[doc = " conform."] -pub type TaskHookFunction_t = - ::core::option::Option BaseType_t>; -#[doc = "< A task is querying the state of itself, so must be running."] -pub const eTaskState_eRunning: eTaskState = 0; -#[doc = "< The task being queried is in a read or pending ready list."] -pub const eTaskState_eReady: eTaskState = 1; -#[doc = "< The task being queried is in the Blocked state."] -pub const eTaskState_eBlocked: eTaskState = 2; -#[doc = "< The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out."] -pub const eTaskState_eSuspended: eTaskState = 3; -#[doc = "< The task being queried has been deleted, but its TCB has not yet been freed."] -pub const eTaskState_eDeleted: eTaskState = 4; -#[doc = " Task states returned by eTaskGetState."] -pub type eTaskState = u32; -#[doc = "< Notify the task without updating its notify value."] -pub const eNotifyAction_eNoAction: eNotifyAction = 0; -#[doc = "< Set bits in the task\'s notification value."] -pub const eNotifyAction_eSetBits: eNotifyAction = 1; -#[doc = "< Increment the task\'s notification value."] -pub const eNotifyAction_eIncrement: eNotifyAction = 2; -#[doc = "< Set the task\'s notification value to a specific value even if the previous value has not yet been read by the task."] -pub const eNotifyAction_eSetValueWithOverwrite: eNotifyAction = 3; -#[doc = "< Set the task\'s notification value if the previous value has been read by the task."] -pub const eNotifyAction_eSetValueWithoutOverwrite: eNotifyAction = 4; -#[doc = " Actions that can be performed when vTaskNotify() is called."] -pub type eNotifyAction = u32; -#[doc = " @cond */"] -#[doc = " Used internally only."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xTIME_OUT { - pub xOverflowCount: BaseType_t, - pub xTimeOnEntering: TickType_t, +extern "C" { + pub fn vTaskPriorityInherit(pxMutexHolder: TaskHandle_t); } -pub type TimeOut_t = xTIME_OUT; -#[doc = " Defines the memory ranges allocated to the task when an MPU is used."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xMEMORY_REGION { - pub pvBaseAddress: *mut ::std::os::raw::c_void, - pub ulLengthInBytes: u32, - pub ulParameters: u32, +extern "C" { + pub fn xTaskPriorityDisinherit(pxMutexHolder: TaskHandle_t) -> BaseType_t; } -pub type MemoryRegion_t = xMEMORY_REGION; -#[doc = " Parameters required to create an MPU protected task."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xTASK_PARAMETERS { - pub pvTaskCode: TaskFunction_t, - pub pcName: *const ::std::os::raw::c_char, - pub usStackDepth: u32, - pub pvParameters: *mut ::std::os::raw::c_void, - pub uxPriority: UBaseType_t, - pub puxStackBuffer: *mut StackType_t, - pub xRegions: [MemoryRegion_t; 1usize], +extern "C" { + pub fn uxTaskGetTaskNumber(xTask: TaskHandle_t) -> UBaseType_t; } -pub type TaskParameters_t = xTASK_PARAMETERS; -#[doc = " Used with the uxTaskGetSystemState() function to return the state of each task in the system."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xTASK_STATUS { - #[doc = "< The handle of the task to which the rest of the information in the structure relates."] - pub xHandle: TaskHandle_t, - #[doc = "< A pointer to the task\'s name. This value will be invalid if the task was deleted since the structure was populated!"] - pub pcTaskName: *const ::std::os::raw::c_char, - #[doc = "< A number unique to the task."] - pub xTaskNumber: UBaseType_t, - #[doc = "< The state in which the task existed when the structure was populated."] - pub eCurrentState: eTaskState, - #[doc = "< The priority at which the task was running (may be inherited) when the structure was populated."] - pub uxCurrentPriority: UBaseType_t, - #[doc = "< The priority to which the task will return if the task\'s current priority has been inherited to avoid unbounded priority inversion when obtaining a mutex. Only valid if configUSE_MUTEXES is defined as 1 in FreeRTOSConfig.h."] - pub uxBasePriority: UBaseType_t, - #[doc = "< The total run time allocated to the task so far, as defined by the run time stats clock. See http://www.freertos.org/rtos-run-time-stats.html. Only valid when configGENERATE_RUN_TIME_STATS is defined as 1 in FreeRTOSConfig.h."] - pub ulRunTimeCounter: u32, - #[doc = "< Points to the lowest address of the task\'s stack area."] - pub pxStackBase: *mut StackType_t, - #[doc = "< The minimum amount of stack space that has remained for the task since the task was created. The closer this value is to zero the closer the task has come to overflowing its stack."] - pub usStackHighWaterMark: u32, +extern "C" { + pub fn xTaskGetAffinity(xTask: TaskHandle_t) -> BaseType_t; } -pub type TaskStatus_t = xTASK_STATUS; -#[doc = " Used with the uxTaskGetSnapshotAll() function to save memory snapshot of each task in the system."] -#[doc = " We need this struct because TCB_t is defined (hidden) in tasks.c."] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct xTASK_SNAPSHOT { - #[doc = "< Address of task control block."] - pub pxTCB: *mut ::std::os::raw::c_void, - #[doc = "< Points to the location of the last item placed on the tasks stack."] - pub pxTopOfStack: *mut StackType_t, - #[doc = "< Points to the end of the stack. pxTopOfStack < pxEndOfStack, stack grows hi2lo"] - #[doc = "pxTopOfStack > pxEndOfStack, stack grows lo2hi"] - pub pxEndOfStack: *mut StackType_t, +extern "C" { + pub fn vTaskSetTaskNumber(xTask: TaskHandle_t, uxHandle: UBaseType_t); } -pub type TaskSnapshot_t = xTASK_SNAPSHOT; -#[doc = "< A task has been made ready or a context switch pended since portSUPPORESS_TICKS_AND_SLEEP() was called - abort entering a sleep mode."] -pub const eSleepModeStatus_eAbortSleep: eSleepModeStatus = 0; -#[doc = "< Enter a sleep mode that will not last any longer than the expected idle time."] -pub const eSleepModeStatus_eStandardSleep: eSleepModeStatus = 1; -#[doc = "< No tasks are waiting for a timeout so it is safe to enter a sleep mode that can only be exited by an external interrupt."] -pub const eSleepModeStatus_eNoTasksWaitingTimeout: eSleepModeStatus = 2; -#[doc = " Possible return values for eTaskConfirmSleepModeStatus()."] -pub type eSleepModeStatus = u32; extern "C" { - pub fn xTaskCreatePinnedToCore( - pvTaskCode: TaskFunction_t, - pcName: *const ::std::os::raw::c_char, - usStackDepth: u32, - pvParameters: *mut ::std::os::raw::c_void, - uxPriority: UBaseType_t, - pvCreatedTask: *mut TaskHandle_t, - xCoreID: BaseType_t, - ) -> BaseType_t; + pub fn vTaskStepTick(xTicksToJump: TickType_t); +} +extern "C" { + pub fn eTaskConfirmSleepModeStatus() -> eSleepModeStatus; } extern "C" { - pub fn xTaskCreateRestricted( - pxTaskDefinition: *const TaskParameters_t, - pxCreatedTask: *mut TaskHandle_t, - ) -> BaseType_t; + pub fn pvTaskIncrementMutexHeldCount() -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " Memory regions are assigned to a restricted task when the task is created by"] - #[doc = " a call to xTaskCreateRestricted(). These regions can be redefined using"] - #[doc = " vTaskAllocateMPURegions()."] - #[doc = ""] - #[doc = " @param xTask The handle of the task being updated."] - #[doc = ""] - #[doc = " @param xRegions A pointer to an MemoryRegion_t structure that contains the"] - #[doc = " new memory region definitions."] - #[doc = ""] - #[doc = " Example usage:"] - #[doc = ""] - #[doc = " @code{c}"] - #[doc = " // Define an array of MemoryRegion_t structures that configures an MPU region"] - #[doc = " // allowing read/write access for 1024 bytes starting at the beginning of the"] - #[doc = " // ucOneKByte array. The other two of the maximum 3 definable regions are"] - #[doc = " // unused so set to zero."] - #[doc = " static const MemoryRegion_t xAltRegions[ portNUM_CONFIGURABLE_REGIONS ] ="] - #[doc = " {"] - #[doc = " \t// Base address\t\tLength\t\tParameters"] - #[doc = " \t{ ucOneKByte,\t\t1024,\t\tportMPU_REGION_READ_WRITE },"] - #[doc = " \t{ 0,\t\t\t\t0,\t\t\t0 },"] - #[doc = " \t{ 0,\t\t\t\t0,\t\t\t0 }"] - #[doc = " };"] - #[doc = ""] - #[doc = " void vATask( void *pvParameters )"] - #[doc = " {"] - #[doc = " \t// This task was created such that it has access to certain regions of"] - #[doc = " \t// memory as defined by the MPU configuration. At some point it is"] - #[doc = " \t// desired that these MPU regions are replaced with that defined in the"] - #[doc = " \t// xAltRegions const struct above. Use a call to vTaskAllocateMPURegions()"] - #[doc = " \t// for this purpose. NULL is used as the task handle to indicate that this"] - #[doc = " \t// function should modify the MPU regions of the calling task."] - #[doc = " \tvTaskAllocateMPURegions( NULL, xAltRegions );"] - #[doc = ""] - #[doc = " \t// Now the task can continue its function, but from this point on can only"] - #[doc = " \t// access its stack and the ucOneKByte array (unless any other statically"] - #[doc = " \t// defined or shared regions have been declared elsewhere)."] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup Tasks"] - pub fn vTaskAllocateMPURegions(xTask: TaskHandle_t, pxRegions: *const MemoryRegion_t); + pub fn uxTaskGetSnapshotAll( + pxTaskSnapshotArray: *mut TaskSnapshot_t, + uxArraySize: UBaseType_t, + pxTcbSz: *mut UBaseType_t, + ) -> UBaseType_t; } +#[doc = " Type by which ring buffers are referenced. For example, a call to xRingbufferCreate()"] +#[doc = " returns a RingbufHandle_t variable that can then be used as a parameter to"] +#[doc = " xRingbufferSend(), xRingbufferReceive(), etc."] +pub type RingbufHandle_t = *mut ::std::os::raw::c_void; +#[doc = " No-split buffers will only store an item in contiguous memory and will"] +#[doc = " never split an item. Each item requires an 8 byte overhead for a header"] +#[doc = " and will always internally occupy a 32-bit aligned size of space."] +pub const RingbufferType_t_RINGBUF_TYPE_NOSPLIT: RingbufferType_t = 0; +#[doc = " Allow-split buffers will split an item into two parts if necessary in"] +#[doc = " order to store it. Each item requires an 8 byte overhead for a header,"] +#[doc = " splitting incurs an extra header. Each item will always internally occupy"] +#[doc = " a 32-bit aligned size of space."] +pub const RingbufferType_t_RINGBUF_TYPE_ALLOWSPLIT: RingbufferType_t = 1; +#[doc = " Byte buffers store data as a sequence of bytes and do not maintain separate"] +#[doc = " items, therefore byte buffers have no overhead. All data is stored as a"] +#[doc = " sequence of byte and any number of bytes can be sent or retrieved each"] +#[doc = " time."] +pub const RingbufferType_t_RINGBUF_TYPE_BYTEBUF: RingbufferType_t = 2; +#[doc = " Byte buffers store data as a sequence of bytes and do not maintain separate"] +#[doc = " items, therefore byte buffers have no overhead. All data is stored as a"] +#[doc = " sequence of byte and any number of bytes can be sent or retrieved each"] +#[doc = " time."] +pub const RingbufferType_t_RINGBUF_TYPE_MAX: RingbufferType_t = 3; +pub type RingbufferType_t = u32; extern "C" { - #[doc = " Remove a task from the RTOS real time kernel\'s management."] - #[doc = ""] - #[doc = " The task being deleted will be removed from all ready, blocked, suspended"] - #[doc = " and event lists."] - #[doc = ""] - #[doc = " INCLUDE_vTaskDelete must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] - #[doc = ""] - #[doc = " @note The idle task is responsible for freeing the kernel allocated"] - #[doc = " memory from tasks that have been deleted. It is therefore important that"] - #[doc = " the idle task is not starved of microcontroller processing time if your"] - #[doc = " application makes any calls to vTaskDelete (). Memory allocated by the"] - #[doc = " task code is not automatically freed, and should be freed before the task"] - #[doc = " is deleted."] - #[doc = ""] - #[doc = " See the demo application file death.c for sample code that utilises"] - #[doc = " vTaskDelete ()."] - #[doc = ""] - #[doc = " @param xTaskToDelete The handle of the task to be deleted. Passing NULL will"] - #[doc = " cause the calling task to be deleted."] + #[doc = " @brief Create a ring buffer"] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vOtherFunction( void )"] - #[doc = " {"] - #[doc = " TaskHandle_t xHandle;"] + #[doc = " @param[in] xBufferSize Size of the buffer in bytes. Note that items require"] + #[doc = " space for overhead in no-split/allow-split buffers"] + #[doc = " @param[in] xBufferType Type of ring buffer, see documentation."] #[doc = ""] - #[doc = " \t // Create the task, storing the handle."] - #[doc = " \t xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = " @note xBufferSize of no-split/allow-split buffers will be rounded up to the nearest 32-bit aligned size."] #[doc = ""] - #[doc = " \t // Use the handle to delete the task."] - #[doc = " \t vTaskDelete( xHandle );"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup Tasks"] - pub fn vTaskDelete(xTaskToDelete: TaskHandle_t); + #[doc = " @return A handle to the created ring buffer, or NULL in case of error."] + pub fn xRingbufferCreate(xBufferSize: usize, xBufferType: RingbufferType_t) -> RingbufHandle_t; } extern "C" { - #[doc = " Delay a task for a given number of ticks."] - #[doc = ""] - #[doc = " The actual time that the task remains blocked depends on the tick rate."] - #[doc = " The constant portTICK_PERIOD_MS can be used to calculate real time from"] - #[doc = " the tick rate - with the resolution of one tick period."] - #[doc = ""] - #[doc = " INCLUDE_vTaskDelay must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] - #[doc = ""] - #[doc = " vTaskDelay() specifies a time at which the task wishes to unblock relative to"] - #[doc = " the time at which vTaskDelay() is called. For example, specifying a block"] - #[doc = " period of 100 ticks will cause the task to unblock 100 ticks after"] - #[doc = " vTaskDelay() is called. vTaskDelay() does not therefore provide a good method"] - #[doc = " of controlling the frequency of a periodic task as the path taken through the"] - #[doc = " code, as well as other task and interrupt activity, will effect the frequency"] - #[doc = " at which vTaskDelay() gets called and therefore the time at which the task"] - #[doc = " next executes. See vTaskDelayUntil() for an alternative API function designed"] - #[doc = " to facilitate fixed frequency execution. It does this by specifying an"] - #[doc = " absolute time (rather than a relative time) at which the calling task should"] - #[doc = " unblock."] + #[doc = " @brief Create a ring buffer of type RINGBUF_TYPE_NOSPLIT for a fixed item_size"] #[doc = ""] - #[doc = " @param xTicksToDelay The amount of time, in tick periods, that"] - #[doc = " the calling task should block."] + #[doc = " This API is similar to xRingbufferCreate(), but it will internally allocate"] + #[doc = " additional space for the headers."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vTaskFunction( void * pvParameters )"] - #[doc = " {"] - #[doc = " // Block for 500ms."] - #[doc = " const TickType_t xDelay = 500 / portTICK_PERIOD_MS;"] + #[doc = " @param[in] xItemSize Size of each item to be put into the ring buffer"] + #[doc = " @param[in] xItemNum Maximum number of items the buffer needs to hold simultaneously"] #[doc = ""] - #[doc = " \t for( ;; )"] - #[doc = " \t {"] - #[doc = " \t\t // Simply toggle the LED every 500ms, blocking between each toggle."] - #[doc = " \t\t vToggleLED();"] - #[doc = " \t\t vTaskDelay( xDelay );"] - #[doc = " \t }"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup TaskCtrl"] - pub fn vTaskDelay(xTicksToDelay: TickType_t); + #[doc = " @return A RingbufHandle_t handle to the created ring buffer, or NULL in case of error."] + pub fn xRingbufferCreateNoSplit(xItemSize: usize, xItemNum: usize) -> RingbufHandle_t; } extern "C" { - #[doc = " Delay a task until a specified time."] - #[doc = ""] - #[doc = " INCLUDE_vTaskDelayUntil must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] - #[doc = ""] - #[doc = " This function can be used by periodic tasks to ensure a constant execution frequency."] - #[doc = ""] - #[doc = " This function differs from vTaskDelay () in one important aspect: vTaskDelay () will"] - #[doc = " cause a task to block for the specified number of ticks from the time vTaskDelay () is"] - #[doc = " called. It is therefore difficult to use vTaskDelay () by itself to generate a fixed"] - #[doc = " execution frequency as the time between a task starting to execute and that task"] - #[doc = " calling vTaskDelay () may not be fixed [the task may take a different path though the"] - #[doc = " code between calls, or may get interrupted or preempted a different number of times"] - #[doc = " each time it executes]."] - #[doc = ""] - #[doc = " Whereas vTaskDelay () specifies a wake time relative to the time at which the function"] - #[doc = " is called, vTaskDelayUntil () specifies the absolute (exact) time at which it wishes to"] - #[doc = " unblock."] - #[doc = ""] - #[doc = " The constant portTICK_PERIOD_MS can be used to calculate real time from the tick"] - #[doc = " rate - with the resolution of one tick period."] - #[doc = ""] - #[doc = " @param pxPreviousWakeTime Pointer to a variable that holds the time at which the"] - #[doc = " task was last unblocked. The variable must be initialised with the current time"] - #[doc = " prior to its first use (see the example below). Following this the variable is"] - #[doc = " automatically updated within vTaskDelayUntil ()."] + #[doc = " @brief Insert an item into the ring buffer"] #[doc = ""] - #[doc = " @param xTimeIncrement The cycle time period. The task will be unblocked at"] - #[doc = " time *pxPreviousWakeTime + xTimeIncrement. Calling vTaskDelayUntil with the"] - #[doc = " same xTimeIncrement parameter value will cause the task to execute with"] - #[doc = " a fixed interface period."] + #[doc = " Attempt to insert an item into the ring buffer. This function will block until"] + #[doc = " enough free space is available or until it times out."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " // Perform an action every 10 ticks."] - #[doc = " void vTaskFunction( void * pvParameters )"] - #[doc = " {"] - #[doc = " TickType_t xLastWakeTime;"] - #[doc = " const TickType_t xFrequency = 10;"] + #[doc = " @param[in] xRingbuffer Ring buffer to insert the item into"] + #[doc = " @param[in] pvItem Pointer to data to insert. NULL is allowed if xItemSize is 0."] + #[doc = " @param[in] xItemSize Size of data to insert."] + #[doc = " @param[in] xTicksToWait Ticks to wait for room in the ring buffer."] #[doc = ""] - #[doc = " \t // Initialise the xLastWakeTime variable with the current time."] - #[doc = " \t xLastWakeTime = xTaskGetTickCount ();"] - #[doc = " \t for( ;; )"] - #[doc = " \t {"] - #[doc = " \t\t // Wait for the next cycle."] - #[doc = " \t\t vTaskDelayUntil( &xLastWakeTime, xFrequency );"] + #[doc = " @note For no-split/allow-split ring buffers, the actual size of memory that"] + #[doc = " the item will occupy will be rounded up to the nearest 32-bit aligned"] + #[doc = " size. This is done to ensure all items are always stored in 32-bit"] + #[doc = " aligned fashion."] #[doc = ""] - #[doc = " \t\t // Perform action here."] - #[doc = " \t }"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup TaskCtrl"] - pub fn vTaskDelayUntil(pxPreviousWakeTime: *mut TickType_t, xTimeIncrement: TickType_t); + #[doc = " @return"] + #[doc = " - pdTRUE if succeeded"] + #[doc = " - pdFALSE on time-out or when the data is larger than the maximum permissible size of the buffer"] + pub fn xRingbufferSend( + xRingbuffer: RingbufHandle_t, + pvItem: *const ::std::os::raw::c_void, + xItemSize: usize, + xTicksToWait: TickType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " Obtain the priority of any task."] + #[doc = " @brief Insert an item into the ring buffer in an ISR"] #[doc = ""] - #[doc = " INCLUDE_uxTaskPriorityGet must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] + #[doc = " Attempt to insert an item into the ring buffer from an ISR. This function"] + #[doc = " will return immediately if there is insufficient free space in the buffer."] #[doc = ""] - #[doc = " @param xTask Handle of the task to be queried. Passing a NULL"] - #[doc = " handle results in the priority of the calling task being returned."] + #[doc = " @param[in] xRingbuffer Ring buffer to insert the item into"] + #[doc = " @param[in] pvItem Pointer to data to insert. NULL is allowed if xItemSize is 0."] + #[doc = " @param[in] xItemSize Size of data to insert."] + #[doc = " @param[out] pxHigherPriorityTaskWoken Value pointed to will be set to pdTRUE if the function woke up a higher priority task."] #[doc = ""] - #[doc = " @return The priority of xTask."] + #[doc = " @note For no-split/allow-split ring buffers, the actual size of memory that"] + #[doc = " the item will occupy will be rounded up to the nearest 32-bit aligned"] + #[doc = " size. This is done to ensure all items are always stored in 32-bit"] + #[doc = " aligned fashion."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vAFunction( void )"] - #[doc = " {"] - #[doc = " TaskHandle_t xHandle;"] + #[doc = " @return"] + #[doc = " - pdTRUE if succeeded"] + #[doc = " - pdFALSE when the ring buffer does not have space."] + pub fn xRingbufferSendFromISR( + xRingbuffer: RingbufHandle_t, + pvItem: *const ::std::os::raw::c_void, + xItemSize: usize, + pxHigherPriorityTaskWoken: *mut BaseType_t, + ) -> BaseType_t; +} +extern "C" { + #[doc = " @brief Acquire memory from the ring buffer to be written to by an external"] + #[doc = " source and to be sent later."] #[doc = ""] - #[doc = " // Create a task, storing the handle."] - #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = " Attempt to allocate buffer for an item to be sent into the ring buffer. This"] + #[doc = " function will block until enough free space is available or until it"] + #[doc = " timesout."] #[doc = ""] - #[doc = " // ..."] + #[doc = " The item, as well as the following items ``SendAcquire`` or ``Send`` after it,"] + #[doc = " will not be able to be read from the ring buffer until this item is actually"] + #[doc = " sent into the ring buffer."] #[doc = ""] - #[doc = " // Use the handle to obtain the priority of the created task."] - #[doc = " // It was created with tskIDLE_PRIORITY, but may have changed"] - #[doc = " // it itself."] - #[doc = " if( uxTaskPriorityGet( xHandle ) != tskIDLE_PRIORITY )"] - #[doc = " {"] - #[doc = " // The task has changed it\'s priority."] - #[doc = " }"] + #[doc = " @param[in] xRingbuffer Ring buffer to allocate the memory"] + #[doc = " @param[out] ppvItem Double pointer to memory acquired (set to NULL if no memory were retrieved)"] + #[doc = " @param[in] xItemSize Size of item to acquire."] + #[doc = " @param[in] xTicksToWait Ticks to wait for room in the ring buffer."] #[doc = ""] - #[doc = " // ..."] + #[doc = " @note Only applicable for no-split ring buffers now, the actual size of"] + #[doc = " memory that the item will occupy will be rounded up to the nearest 32-bit"] + #[doc = " aligned size. This is done to ensure all items are always stored in 32-bit"] + #[doc = " aligned fashion."] #[doc = ""] - #[doc = " // Is our priority higher than the created task?"] - #[doc = " if( uxTaskPriorityGet( xHandle ) < uxTaskPriorityGet( NULL ) )"] - #[doc = " {"] - #[doc = " // Our priority (obtained using NULL handle) is higher."] - #[doc = " }"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup TaskCtrl"] - pub fn uxTaskPriorityGet(xTask: TaskHandle_t) -> UBaseType_t; + #[doc = " @return"] + #[doc = " - pdTRUE if succeeded"] + #[doc = " - pdFALSE on time-out or when the data is larger than the maximum permissible size of the buffer"] + pub fn xRingbufferSendAcquire( + xRingbuffer: RingbufHandle_t, + ppvItem: *mut *mut ::std::os::raw::c_void, + xItemSize: usize, + xTicksToWait: TickType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " A version of uxTaskPriorityGet() that can be used from an ISR."] + #[doc = " @brief Actually send an item into the ring buffer allocated before by"] + #[doc = " ``xRingbufferSendAcquire``."] #[doc = ""] - #[doc = " @param xTask Handle of the task to be queried. Passing a NULL"] - #[doc = " handle results in the priority of the calling task being returned."] + #[doc = " @param[in] xRingbuffer Ring buffer to insert the item into"] + #[doc = " @param[in] pvItem Pointer to item in allocated memory to insert."] #[doc = ""] - #[doc = " @return The priority of xTask."] + #[doc = " @note Only applicable for no-split ring buffers. Only call for items"] + #[doc = " allocated by ``xRingbufferSendAcquire``."] #[doc = ""] - pub fn uxTaskPriorityGetFromISR(xTask: TaskHandle_t) -> UBaseType_t; + #[doc = " @return"] + #[doc = " - pdTRUE if succeeded"] + #[doc = " - pdFALSE if fail for some reason."] + pub fn xRingbufferSendComplete( + xRingbuffer: RingbufHandle_t, + pvItem: *mut ::std::os::raw::c_void, + ) -> BaseType_t; } extern "C" { - #[doc = " Obtain the state of any task."] + #[doc = " @brief Retrieve an item from the ring buffer"] #[doc = ""] - #[doc = " States are encoded by the eTaskState enumerated type."] + #[doc = " Attempt to retrieve an item from the ring buffer. This function will block"] + #[doc = " until an item is available or until it times out."] #[doc = ""] - #[doc = " INCLUDE_eTaskGetState must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] + #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] + #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the retrieved item will be written."] + #[doc = " @param[in] xTicksToWait Ticks to wait for items in the ring buffer."] #[doc = ""] - #[doc = " @param xTask Handle of the task to be queried."] + #[doc = " @note A call to vRingbufferReturnItem() is required after this to free the item retrieved."] #[doc = ""] - #[doc = " @return The state of xTask at the time the function was called. Note the"] - #[doc = " state of the task might change between the function being called, and the"] - #[doc = " functions return value being tested by the calling task."] - pub fn eTaskGetState(xTask: TaskHandle_t) -> eTaskState; + #[doc = " @return"] + #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with the length of the item."] + #[doc = " - NULL on timeout, *pxItemSize is untouched in that case."] + pub fn xRingbufferReceive( + xRingbuffer: RingbufHandle_t, + pxItemSize: *mut usize, + xTicksToWait: TickType_t, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " Set the priority of any task."] - #[doc = ""] - #[doc = " INCLUDE_vTaskPrioritySet must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] - #[doc = ""] - #[doc = " A context switch will occur before the function returns if the priority"] - #[doc = " being set is higher than the currently executing task."] + #[doc = " @brief Retrieve an item from the ring buffer in an ISR"] #[doc = ""] - #[doc = " @param xTask Handle to the task for which the priority is being set."] - #[doc = " Passing a NULL handle results in the priority of the calling task being set."] + #[doc = " Attempt to retrieve an item from the ring buffer. This function returns immediately"] + #[doc = " if there are no items available for retrieval"] #[doc = ""] - #[doc = " @param uxNewPriority The priority to which the task will be set."] + #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] + #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the"] + #[doc = " retrieved item will be written."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vAFunction( void )"] - #[doc = " {"] - #[doc = " TaskHandle_t xHandle;"] + #[doc = " @note A call to vRingbufferReturnItemFromISR() is required after this to free the item retrieved."] + #[doc = " @note Byte buffers do not allow multiple retrievals before returning an item"] #[doc = ""] - #[doc = " // Create a task, storing the handle."] - #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = " @return"] + #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with the length of the item."] + #[doc = " - NULL when the ring buffer is empty, *pxItemSize is untouched in that case."] + pub fn xRingbufferReceiveFromISR( + xRingbuffer: RingbufHandle_t, + pxItemSize: *mut usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + #[doc = " @brief Retrieve a split item from an allow-split ring buffer"] #[doc = ""] - #[doc = " // ..."] + #[doc = " Attempt to retrieve a split item from an allow-split ring buffer. If the item"] + #[doc = " is not split, only a single item is retried. If the item is split, both parts"] + #[doc = " will be retrieved. This function will block until an item is available or"] + #[doc = " until it times out."] #[doc = ""] - #[doc = " // Use the handle to raise the priority of the created task."] - #[doc = " vTaskPrioritySet( xHandle, tskIDLE_PRIORITY + 1 );"] + #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] + #[doc = " @param[out] ppvHeadItem Double pointer to first part (set to NULL if no items were retrieved)"] + #[doc = " @param[out] ppvTailItem Double pointer to second part (set to NULL if item is not split)"] + #[doc = " @param[out] pxHeadItemSize Pointer to size of first part (unmodified if no items were retrieved)"] + #[doc = " @param[out] pxTailItemSize Pointer to size of second part (unmodified if item is not split)"] + #[doc = " @param[in] xTicksToWait Ticks to wait for items in the ring buffer."] #[doc = ""] - #[doc = " // ..."] + #[doc = " @note Call(s) to vRingbufferReturnItem() is required after this to free up the item(s) retrieved."] + #[doc = " @note This function should only be called on allow-split buffers"] #[doc = ""] - #[doc = " // Use a NULL handle to raise our priority to the same value."] - #[doc = " vTaskPrioritySet( NULL, tskIDLE_PRIORITY + 1 );"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup TaskCtrl"] - pub fn vTaskPrioritySet(xTask: TaskHandle_t, uxNewPriority: UBaseType_t); + #[doc = " @return"] + #[doc = " - pdTRUE if an item (split or unsplit) was retrieved"] + #[doc = " - pdFALSE when no item was retrieved"] + pub fn xRingbufferReceiveSplit( + xRingbuffer: RingbufHandle_t, + ppvHeadItem: *mut *mut ::std::os::raw::c_void, + ppvTailItem: *mut *mut ::std::os::raw::c_void, + pxHeadItemSize: *mut usize, + pxTailItemSize: *mut usize, + xTicksToWait: TickType_t, + ) -> BaseType_t; } extern "C" { - #[doc = " Suspend a task."] - #[doc = ""] - #[doc = " INCLUDE_vTaskSuspend must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] - #[doc = ""] - #[doc = " When suspended, a task will never get any microcontroller processing time,"] - #[doc = " no matter what its priority."] + #[doc = " @brief Retrieve a split item from an allow-split ring buffer in an ISR"] #[doc = ""] - #[doc = " Calls to vTaskSuspend are not accumulative -"] - #[doc = " i.e. calling vTaskSuspend () twice on the same task still only requires one"] - #[doc = " call to vTaskResume () to ready the suspended task."] + #[doc = " Attempt to retrieve a split item from an allow-split ring buffer. If the item"] + #[doc = " is not split, only a single item is retried. If the item is split, both parts"] + #[doc = " will be retrieved. This function returns immediately if there are no items"] + #[doc = " available for retrieval"] #[doc = ""] - #[doc = " @param xTaskToSuspend Handle to the task being suspended. Passing a NULL"] - #[doc = " handle will cause the calling task to be suspended."] + #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] + #[doc = " @param[out] ppvHeadItem Double pointer to first part (set to NULL if no items were retrieved)"] + #[doc = " @param[out] ppvTailItem Double pointer to second part (set to NULL if item is not split)"] + #[doc = " @param[out] pxHeadItemSize Pointer to size of first part (unmodified if no items were retrieved)"] + #[doc = " @param[out] pxTailItemSize Pointer to size of second part (unmodified if item is not split)"] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vAFunction( void )"] - #[doc = " {"] - #[doc = " TaskHandle_t xHandle;"] + #[doc = " @note Calls to vRingbufferReturnItemFromISR() is required after this to free up the item(s) retrieved."] + #[doc = " @note This function should only be called on allow-split buffers"] #[doc = ""] - #[doc = " // Create a task, storing the handle."] - #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = " @return"] + #[doc = " - pdTRUE if an item (split or unsplit) was retrieved"] + #[doc = " - pdFALSE when no item was retrieved"] + pub fn xRingbufferReceiveSplitFromISR( + xRingbuffer: RingbufHandle_t, + ppvHeadItem: *mut *mut ::std::os::raw::c_void, + ppvTailItem: *mut *mut ::std::os::raw::c_void, + pxHeadItemSize: *mut usize, + pxTailItemSize: *mut usize, + ) -> BaseType_t; +} +extern "C" { + #[doc = " @brief Retrieve bytes from a byte buffer, specifying the maximum amount of bytes to retrieve"] #[doc = ""] - #[doc = " // ..."] + #[doc = " Attempt to retrieve data from a byte buffer whilst specifying a maximum number"] + #[doc = " of bytes to retrieve. This function will block until there is data available"] + #[doc = " for retrieval or until it times out."] #[doc = ""] - #[doc = " // Use the handle to suspend the created task."] - #[doc = " vTaskSuspend( xHandle );"] + #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] + #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the retrieved item will be written."] + #[doc = " @param[in] xTicksToWait Ticks to wait for items in the ring buffer."] + #[doc = " @param[in] xMaxSize Maximum number of bytes to return."] #[doc = ""] - #[doc = " // ..."] + #[doc = " @note A call to vRingbufferReturnItem() is required after this to free up the data retrieved."] + #[doc = " @note This function should only be called on byte buffers"] + #[doc = " @note Byte buffers do not allow multiple retrievals before returning an item"] #[doc = ""] - #[doc = " // The created task will not run during this period, unless"] - #[doc = " // another task calls vTaskResume( xHandle )."] + #[doc = " @return"] + #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with"] + #[doc = " the length of the item."] + #[doc = " - NULL on timeout, *pxItemSize is untouched in that case."] + pub fn xRingbufferReceiveUpTo( + xRingbuffer: RingbufHandle_t, + pxItemSize: *mut usize, + xTicksToWait: TickType_t, + xMaxSize: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + #[doc = " @brief Retrieve bytes from a byte buffer, specifying the maximum amount of"] + #[doc = " bytes to retrieve. Call this from an ISR."] #[doc = ""] - #[doc = " //..."] + #[doc = " Attempt to retrieve bytes from a byte buffer whilst specifying a maximum number"] + #[doc = " of bytes to retrieve. This function will return immediately if there is no data"] + #[doc = " available for retrieval."] #[doc = ""] + #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] + #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the retrieved item will be written."] + #[doc = " @param[in] xMaxSize Maximum number of bytes to return."] #[doc = ""] - #[doc = " // Suspend ourselves."] - #[doc = " vTaskSuspend( NULL );"] + #[doc = " @note A call to vRingbufferReturnItemFromISR() is required after this to free up the data received."] + #[doc = " @note This function should only be called on byte buffers"] + #[doc = " @note Byte buffers do not allow multiple retrievals before returning an item"] #[doc = ""] - #[doc = " // We cannot get here unless another task calls vTaskResume"] - #[doc = " // with our handle as the parameter."] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup TaskCtrl"] - pub fn vTaskSuspend(xTaskToSuspend: TaskHandle_t); + #[doc = " @return"] + #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with"] + #[doc = " the length of the item."] + #[doc = " - NULL when the ring buffer is empty, *pxItemSize is untouched in that case."] + pub fn xRingbufferReceiveUpToFromISR( + xRingbuffer: RingbufHandle_t, + pxItemSize: *mut usize, + xMaxSize: usize, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - #[doc = " Resumes a suspended task."] - #[doc = ""] - #[doc = " INCLUDE_vTaskSuspend must be defined as 1 for this function to be available."] - #[doc = " See the configuration section for more information."] - #[doc = ""] - #[doc = " A task that has been suspended by one or more calls to vTaskSuspend ()"] - #[doc = " will be made available for running again by a single call to"] - #[doc = " vTaskResume ()."] - #[doc = ""] - #[doc = " @param xTaskToResume Handle to the task being readied."] + #[doc = " @brief Return a previously-retrieved item to the ring buffer"] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vAFunction( void )"] - #[doc = " {"] - #[doc = " TaskHandle_t xHandle;"] + #[doc = " @param[in] xRingbuffer Ring buffer the item was retrieved from"] + #[doc = " @param[in] pvItem Item that was received earlier"] #[doc = ""] - #[doc = " // Create a task, storing the handle."] - #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );"] + #[doc = " @note If a split item is retrieved, both parts should be returned by calling this function twice"] + pub fn vRingbufferReturnItem(xRingbuffer: RingbufHandle_t, pvItem: *mut ::std::os::raw::c_void); +} +extern "C" { + #[doc = " @brief Return a previously-retrieved item to the ring buffer from an ISR"] #[doc = ""] - #[doc = " // ..."] + #[doc = " @param[in] xRingbuffer Ring buffer the item was retrieved from"] + #[doc = " @param[in] pvItem Item that was received earlier"] + #[doc = " @param[out] pxHigherPriorityTaskWoken Value pointed to will be set to pdTRUE"] + #[doc = " if the function woke up a higher priority task."] #[doc = ""] - #[doc = " // Use the handle to suspend the created task."] - #[doc = " vTaskSuspend( xHandle );"] + #[doc = " @note If a split item is retrieved, both parts should be returned by calling this function twice"] + pub fn vRingbufferReturnItemFromISR( + xRingbuffer: RingbufHandle_t, + pvItem: *mut ::std::os::raw::c_void, + pxHigherPriorityTaskWoken: *mut BaseType_t, + ); +} +extern "C" { + #[doc = " @brief Delete a ring buffer"] #[doc = ""] - #[doc = " // ..."] + #[doc = " @param[in] xRingbuffer Ring buffer to delete"] #[doc = ""] - #[doc = " // The created task will not run during this period, unless"] - #[doc = " // another task calls vTaskResume( xHandle )."] + #[doc = " @note This function will not deallocate any memory if the ring buffer was"] + #[doc = " created using xRingbufferCreateStatic(). Deallocation must be done"] + #[doc = " manually be the user."] + pub fn vRingbufferDelete(xRingbuffer: RingbufHandle_t); +} +extern "C" { + #[doc = " @brief Get maximum size of an item that can be placed in the ring buffer"] #[doc = ""] - #[doc = " //..."] + #[doc = " This function returns the maximum size an item can have if it was placed in"] + #[doc = " an empty ring buffer."] #[doc = ""] + #[doc = " @param[in] xRingbuffer Ring buffer to query"] #[doc = ""] - #[doc = " // Resume the suspended task ourselves."] - #[doc = " vTaskResume( xHandle );"] + #[doc = " @note The max item size for a no-split buffer is limited to"] + #[doc = " ((buffer_size/2)-header_size). This limit is imposed so that an item"] + #[doc = " of max item size can always be sent to the an empty no-split buffer"] + #[doc = " regardless of the internal positions of the buffer's read/write/free"] + #[doc = " pointers."] #[doc = ""] - #[doc = " // The created task will once again get microcontroller processing"] - #[doc = " // time in accordance with its priority within the system."] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup TaskCtrl"] - pub fn vTaskResume(xTaskToResume: TaskHandle_t); + #[doc = " @return Maximum size, in bytes, of an item that can be placed in a ring buffer."] + pub fn xRingbufferGetMaxItemSize(xRingbuffer: RingbufHandle_t) -> usize; } extern "C" { - #[doc = " An implementation of vTaskResume() that can be called from within an ISR."] - #[doc = ""] - #[doc = " INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be"] - #[doc = " available. See the configuration section for more information."] + #[doc = " @brief Get current free size available for an item/data in the buffer"] #[doc = ""] - #[doc = " A task that has been suspended by one or more calls to vTaskSuspend ()"] - #[doc = " will be made available for running again by a single call to"] - #[doc = " xTaskResumeFromISR ()."] + #[doc = " This gives the real time free space available for an item/data in the ring"] + #[doc = " buffer. This represents the maximum size an item/data can have if it was"] + #[doc = " currently sent to the ring buffer."] #[doc = ""] - #[doc = " xTaskResumeFromISR() should not be used to synchronise a task with an"] - #[doc = " interrupt if there is a chance that the interrupt could arrive prior to the"] - #[doc = " task being suspended - as this can lead to interrupts being missed. Use of a"] - #[doc = " semaphore as a synchronisation mechanism would avoid this eventuality."] + #[doc = " @warning This API is not thread safe. So, if multiple threads are accessing"] + #[doc = " the same ring buffer, it is the application's responsibility to"] + #[doc = " ensure atomic access to this API and the subsequent Send"] #[doc = ""] - #[doc = " @param xTaskToResume Handle to the task being readied."] + #[doc = " @note An empty no-split buffer has a max current free size for an item"] + #[doc = " that is limited to ((buffer_size/2)-header_size). See API reference"] + #[doc = " for xRingbufferGetMaxItemSize()."] #[doc = ""] - #[doc = " @return pdTRUE if resuming the task should result in a context switch,"] - #[doc = " otherwise pdFALSE. This is used by the ISR to determine if a context switch"] - #[doc = " may be required following the ISR."] + #[doc = " @param[in] xRingbuffer Ring buffer to query"] #[doc = ""] - #[doc = " \\ingroup TaskCtrl"] - pub fn xTaskResumeFromISR(xTaskToResume: TaskHandle_t) -> BaseType_t; + #[doc = " @return Current free size, in bytes, available for an entry"] + pub fn xRingbufferGetCurFreeSize(xRingbuffer: RingbufHandle_t) -> usize; } extern "C" { - #[doc = " @cond */"] - #[doc = " Starts the real time kernel tick processing."] - #[doc = ""] - #[doc = " After calling the kernel has control over which tasks are executed and when."] - #[doc = ""] - #[doc = " See the demo application file main.c for an example of creating"] - #[doc = " tasks and starting the kernel."] - #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vAFunction( void )"] - #[doc = " {"] - #[doc = " // Create at least one task before starting the kernel."] - #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );"] + #[doc = " @brief Add the ring buffer's read semaphore to a queue set."] #[doc = ""] - #[doc = " // Start the real time kernel with preemption."] - #[doc = " vTaskStartScheduler ();"] + #[doc = " The ring buffer's read semaphore indicates that data has been written"] + #[doc = " to the ring buffer. This function adds the ring buffer's read semaphore to"] + #[doc = " a queue set."] #[doc = ""] - #[doc = " // Will not get here unless a task calls vTaskEndScheduler ()"] - #[doc = " }"] - #[doc = " @endcode"] + #[doc = " @param[in] xRingbuffer Ring buffer to add to the queue set"] + #[doc = " @param[in] xQueueSet Queue set to add the ring buffer's read semaphore to"] #[doc = ""] - #[doc = " \\ingroup SchedulerControl"] - pub fn vTaskStartScheduler(); + #[doc = " @return"] + #[doc = " - pdTRUE on success, pdFALSE otherwise"] + pub fn xRingbufferAddToQueueSetRead( + xRingbuffer: RingbufHandle_t, + xQueueSet: QueueSetHandle_t, + ) -> BaseType_t; } extern "C" { - #[doc = " Stops the real time kernel tick."] - #[doc = ""] - #[doc = " @note At the time of writing only the x86 real mode port, which runs on a PC"] - #[doc = " in place of DOS, implements this function."] + #[doc = " @brief Check if the selected queue set member is the ring buffer's read semaphore"] #[doc = ""] - #[doc = " All created tasks will be automatically deleted and multitasking"] - #[doc = " (either preemptive or cooperative) will stop."] - #[doc = " Execution then resumes from the point where vTaskStartScheduler ()"] - #[doc = " was called, as if vTaskStartScheduler () had just returned."] + #[doc = " This API checks if queue set member returned from xQueueSelectFromSet()"] + #[doc = " is the read semaphore of this ring buffer. If so, this indicates the ring buffer"] + #[doc = " has items waiting to be retrieved."] #[doc = ""] - #[doc = " See the demo application file main. c in the demo/PC directory for an"] - #[doc = " example that uses vTaskEndScheduler ()."] + #[doc = " @param[in] xRingbuffer Ring buffer which should be checked"] + #[doc = " @param[in] xMember Member returned from xQueueSelectFromSet"] #[doc = ""] - #[doc = " vTaskEndScheduler () requires an exit function to be defined within the"] - #[doc = " portable layer (see vPortEndScheduler () in port. c for the PC port). This"] - #[doc = " performs hardware specific operations such as stopping the kernel tick."] + #[doc = " @return"] + #[doc = " - pdTRUE when semaphore belongs to ring buffer"] + #[doc = " - pdFALSE otherwise."] + pub fn xRingbufferCanRead( + xRingbuffer: RingbufHandle_t, + xMember: QueueSetMemberHandle_t, + ) -> BaseType_t; +} +extern "C" { + #[doc = " @brief Remove the ring buffer's read semaphore from a queue set."] #[doc = ""] - #[doc = " vTaskEndScheduler () will cause all of the resources allocated by the"] - #[doc = " kernel to be freed - but will not free resources allocated by application"] - #[doc = " tasks."] + #[doc = " This specifically removes a ring buffer's read semaphore from a queue set. The"] + #[doc = " read semaphore is used to indicate when data has been written to the ring buffer"] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vTaskCode( void * pvParameters )"] - #[doc = " {"] - #[doc = " for( ;; )"] - #[doc = " {"] - #[doc = " // Task code goes here."] + #[doc = " @param[in] xRingbuffer Ring buffer to remove from the queue set"] + #[doc = " @param[in] xQueueSet Queue set to remove the ring buffer's read semaphore from"] #[doc = ""] - #[doc = " // At some point we want to end the real time kernel processing"] - #[doc = " // so call ..."] - #[doc = " vTaskEndScheduler ();"] - #[doc = " }"] - #[doc = " }"] + #[doc = " @return"] + #[doc = " - pdTRUE on success"] + #[doc = " - pdFALSE otherwise"] + pub fn xRingbufferRemoveFromQueueSetRead( + xRingbuffer: RingbufHandle_t, + xQueueSet: QueueSetHandle_t, + ) -> BaseType_t; +} +extern "C" { + #[doc = " @brief Get information about ring buffer status"] #[doc = ""] - #[doc = " void vAFunction( void )"] - #[doc = " {"] - #[doc = " // Create at least one task before starting the kernel."] - #[doc = " xTaskCreate( vTaskCode, \"NAME\", STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );"] + #[doc = " Get information of the a ring buffer's current status such as"] + #[doc = " free/read/write pointer positions, and number of items waiting to be retrieved."] + #[doc = " Arguments can be set to NULL if they are not required."] #[doc = ""] - #[doc = " // Start the real time kernel with preemption."] - #[doc = " vTaskStartScheduler ();"] + #[doc = " @param[in] xRingbuffer Ring buffer to remove from the queue set"] + #[doc = " @param[out] uxFree Pointer use to store free pointer position"] + #[doc = " @param[out] uxRead Pointer use to store read pointer position"] + #[doc = " @param[out] uxWrite Pointer use to store write pointer position"] + #[doc = " @param[out] uxAcquire Pointer use to store acquire pointer position"] + #[doc = " @param[out] uxItemsWaiting Pointer use to store number of items (bytes for byte buffer) waiting to be retrieved"] + pub fn vRingbufferGetInfo( + xRingbuffer: RingbufHandle_t, + uxFree: *mut UBaseType_t, + uxRead: *mut UBaseType_t, + uxWrite: *mut UBaseType_t, + uxAcquire: *mut UBaseType_t, + uxItemsWaiting: *mut UBaseType_t, + ); +} +extern "C" { + #[doc = " @brief Debugging function to print the internal pointers in the ring buffer"] #[doc = ""] - #[doc = " // Will only get here when the vTaskCode () task has called"] - #[doc = " // vTaskEndScheduler (). When we get here we are back to single task"] - #[doc = " // execution."] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup SchedulerControl"] - pub fn vTaskEndScheduler(); + #[doc = " @param xRingbuffer Ring buffer to show"] + pub fn xRingbufferPrintInfo(xRingbuffer: RingbufHandle_t); +} +#[doc = "< mode: regular UART mode"] +pub const uart_mode_t_UART_MODE_UART: uart_mode_t = 0; +#[doc = "< mode: half duplex RS485 UART mode control by RTS pin"] +pub const uart_mode_t_UART_MODE_RS485_HALF_DUPLEX: uart_mode_t = 1; +#[doc = "< mode: IRDA UART mode"] +pub const uart_mode_t_UART_MODE_IRDA: uart_mode_t = 2; +#[doc = "< mode: RS485 collision detection UART mode (used for test purposes)"] +pub const uart_mode_t_UART_MODE_RS485_COLLISION_DETECT: uart_mode_t = 3; +#[doc = "< mode: application control RS485 UART mode (used for test purposes)"] +pub const uart_mode_t_UART_MODE_RS485_APP_CTRL: uart_mode_t = 4; +#[doc = " @brief UART mode selection"] +pub type uart_mode_t = u32; +#[doc = "< word length: 5bits"] +pub const uart_word_length_t_UART_DATA_5_BITS: uart_word_length_t = 0; +#[doc = "< word length: 6bits"] +pub const uart_word_length_t_UART_DATA_6_BITS: uart_word_length_t = 1; +#[doc = "< word length: 7bits"] +pub const uart_word_length_t_UART_DATA_7_BITS: uart_word_length_t = 2; +#[doc = "< word length: 8bits"] +pub const uart_word_length_t_UART_DATA_8_BITS: uart_word_length_t = 3; +pub const uart_word_length_t_UART_DATA_BITS_MAX: uart_word_length_t = 4; +#[doc = " @brief UART word length constants"] +pub type uart_word_length_t = u32; +#[doc = "< stop bit: 1bit"] +pub const uart_stop_bits_t_UART_STOP_BITS_1: uart_stop_bits_t = 1; +#[doc = "< stop bit: 1.5bits"] +pub const uart_stop_bits_t_UART_STOP_BITS_1_5: uart_stop_bits_t = 2; +#[doc = "< stop bit: 2bits"] +pub const uart_stop_bits_t_UART_STOP_BITS_2: uart_stop_bits_t = 3; +pub const uart_stop_bits_t_UART_STOP_BITS_MAX: uart_stop_bits_t = 4; +#[doc = " @brief UART stop bits number"] +pub type uart_stop_bits_t = u32; +#[doc = "< UART base address 0x3ff40000"] +pub const uart_port_t_UART_NUM_0: uart_port_t = 0; +#[doc = "< UART base address 0x3ff50000"] +pub const uart_port_t_UART_NUM_1: uart_port_t = 1; +#[doc = "< UART base address 0x3ff6e000"] +pub const uart_port_t_UART_NUM_2: uart_port_t = 2; +pub const uart_port_t_UART_NUM_MAX: uart_port_t = 3; +#[doc = " @brief UART peripheral number"] +pub type uart_port_t = u32; +#[doc = "< Disable UART parity"] +pub const uart_parity_t_UART_PARITY_DISABLE: uart_parity_t = 0; +#[doc = "< Enable UART even parity"] +pub const uart_parity_t_UART_PARITY_EVEN: uart_parity_t = 2; +#[doc = "< Enable UART odd parity"] +pub const uart_parity_t_UART_PARITY_ODD: uart_parity_t = 3; +#[doc = " @brief UART parity constants"] +pub type uart_parity_t = u32; +#[doc = "< disable hardware flow control"] +pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_DISABLE: uart_hw_flowcontrol_t = 0; +#[doc = "< enable RX hardware flow control (rts)"] +pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_RTS: uart_hw_flowcontrol_t = 1; +#[doc = "< enable TX hardware flow control (cts)"] +pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_CTS: uart_hw_flowcontrol_t = 2; +#[doc = "< enable hardware flow control"] +pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_CTS_RTS: uart_hw_flowcontrol_t = 3; +pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_MAX: uart_hw_flowcontrol_t = 4; +#[doc = " @brief UART hardware flow control modes"] +pub type uart_hw_flowcontrol_t = u32; +#[doc = " @brief UART configuration parameters for uart_param_config function"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uart_config_t { + #[doc = "< UART baud rate"] + pub baud_rate: ::std::os::raw::c_int, + #[doc = "< UART byte size"] + pub data_bits: uart_word_length_t, + #[doc = "< UART parity mode"] + pub parity: uart_parity_t, + #[doc = "< UART stop bits"] + pub stop_bits: uart_stop_bits_t, + #[doc = "< UART HW flow control mode (cts/rts)"] + pub flow_ctrl: uart_hw_flowcontrol_t, + #[doc = "< UART HW RTS threshold"] + pub rx_flow_ctrl_thresh: u8, + #[doc = "< Set to true if UART should be clocked from REF_TICK"] + pub use_ref_tick: bool, +} +#[doc = " @brief UART interrupt configuration parameters for uart_intr_config function"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uart_intr_config_t { + #[doc = "< UART interrupt enable mask, choose from UART_XXXX_INT_ENA_M under UART_INT_ENA_REG(i), connect with bit-or operator"] + pub intr_enable_mask: u32, + #[doc = "< UART timeout interrupt threshold (unit: time of sending one byte)"] + pub rx_timeout_thresh: u8, + #[doc = "< UART TX empty interrupt threshold."] + pub txfifo_empty_intr_thresh: u8, + #[doc = "< UART RX full interrupt threshold."] + pub rxfifo_full_thresh: u8, +} +#[doc = "< UART data event"] +pub const uart_event_type_t_UART_DATA: uart_event_type_t = 0; +#[doc = "< UART break event"] +pub const uart_event_type_t_UART_BREAK: uart_event_type_t = 1; +#[doc = "< UART RX buffer full event"] +pub const uart_event_type_t_UART_BUFFER_FULL: uart_event_type_t = 2; +#[doc = "< UART FIFO overflow event"] +pub const uart_event_type_t_UART_FIFO_OVF: uart_event_type_t = 3; +#[doc = "< UART RX frame error event"] +pub const uart_event_type_t_UART_FRAME_ERR: uart_event_type_t = 4; +#[doc = "< UART RX parity event"] +pub const uart_event_type_t_UART_PARITY_ERR: uart_event_type_t = 5; +#[doc = "< UART TX data and break event"] +pub const uart_event_type_t_UART_DATA_BREAK: uart_event_type_t = 6; +#[doc = "< UART pattern detected"] +pub const uart_event_type_t_UART_PATTERN_DET: uart_event_type_t = 7; +#[doc = "< UART event max index"] +pub const uart_event_type_t_UART_EVENT_MAX: uart_event_type_t = 8; +#[doc = " @brief UART event types used in the ring buffer"] +pub type uart_event_type_t = u32; +#[doc = " @brief Event structure used in UART event queue"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uart_event_t { + #[doc = "< UART event type"] + pub type_: uart_event_type_t, + #[doc = "< UART data size for UART_DATA event"] + pub size: usize, } +pub type uart_isr_handle_t = intr_handle_t; extern "C" { - #[doc = " Suspends the scheduler without disabling interrupts."] - #[doc = ""] - #[doc = " Context switches will not occur while the scheduler is suspended."] - #[doc = ""] - #[doc = " After calling vTaskSuspendAll () the calling task will continue to execute"] - #[doc = " without risk of being swapped out until a call to xTaskResumeAll () has been"] - #[doc = " made."] - #[doc = ""] - #[doc = " API functions that have the potential to cause a context switch (for example,"] - #[doc = " vTaskDelayUntil(), xQueueSend(), etc.) must not be called while the scheduler"] - #[doc = " is suspended."] - #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vTask1( void * pvParameters )"] - #[doc = " {"] - #[doc = " for( ;; )"] - #[doc = " {"] - #[doc = " // Task code goes here."] - #[doc = ""] - #[doc = " // ..."] - #[doc = ""] - #[doc = " // At some point the task wants to perform a long operation during"] - #[doc = " // which it does not want to get swapped out. It cannot use"] - #[doc = " // taskENTER_CRITICAL ()/taskEXIT_CRITICAL () as the length of the"] - #[doc = " // operation may cause interrupts to be missed - including the"] - #[doc = " // ticks."] + #[doc = " @brief Set UART data bits."] #[doc = ""] - #[doc = " // Prevent the real time kernel swapping out the task."] - #[doc = " vTaskSuspendAll ();"] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param data_bit UART data bits"] #[doc = ""] - #[doc = " // Perform the operation here. There is no need to use critical"] - #[doc = " // sections as we have all the microcontroller processing time."] - #[doc = " // During this time interrupts will still operate and the kernel"] - #[doc = " // tick count will be maintained."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_word_length(uart_num: uart_port_t, data_bit: uart_word_length_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Get UART data bits."] #[doc = ""] - #[doc = " // ..."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param data_bit Pointer to accept value of UART data bits."] #[doc = ""] - #[doc = " // The operation is complete. Restart the kernel."] - #[doc = " xTaskResumeAll ();"] - #[doc = " }"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup SchedulerControl"] - pub fn vTaskSuspendAll(); + #[doc = " @return"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success, result will be put in (*data_bit)"] + pub fn uart_get_word_length( + uart_num: uart_port_t, + data_bit: *mut uart_word_length_t, + ) -> esp_err_t; } extern "C" { - #[doc = " Resumes scheduler activity after it was suspended by a call to"] - #[doc = " vTaskSuspendAll()."] + #[doc = " @brief Set UART stop bits."] #[doc = ""] - #[doc = " xTaskResumeAll() only resumes the scheduler. It does not unsuspend tasks"] - #[doc = " that were previously suspended by a call to vTaskSuspend()."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param stop_bits UART stop bits"] #[doc = ""] - #[doc = " @return If resuming the scheduler caused a context switch then pdTRUE is"] - #[doc = "\t\t returned, otherwise pdFALSE is returned."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Fail"] + pub fn uart_set_stop_bits(uart_num: uart_port_t, stop_bits: uart_stop_bits_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Get UART stop bits."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " void vTask1( void * pvParameters )"] - #[doc = " {"] - #[doc = " for( ;; )"] - #[doc = " {"] - #[doc = " // Task code goes here."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param stop_bits Pointer to accept value of UART stop bits."] #[doc = ""] - #[doc = " // ..."] + #[doc = " @return"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success, result will be put in (*stop_bit)"] + pub fn uart_get_stop_bits(uart_num: uart_port_t, stop_bits: *mut uart_stop_bits_t) + -> esp_err_t; +} +extern "C" { + #[doc = " @brief Set UART parity mode."] #[doc = ""] - #[doc = " // At some point the task wants to perform a long operation during"] - #[doc = " // which it does not want to get swapped out. It cannot use"] - #[doc = " // taskENTER_CRITICAL ()/taskEXIT_CRITICAL () as the length of the"] - #[doc = " // operation may cause interrupts to be missed - including the"] - #[doc = " // ticks."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param parity_mode the enum of uart parity configuration"] #[doc = ""] - #[doc = " // Prevent the real time kernel swapping out the task."] - #[doc = " vTaskSuspendAll ();"] + #[doc = " @return"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success"] + pub fn uart_set_parity(uart_num: uart_port_t, parity_mode: uart_parity_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Get UART parity mode."] #[doc = ""] - #[doc = " // Perform the operation here. There is no need to use critical"] - #[doc = " // sections as we have all the microcontroller processing time."] - #[doc = " // During this time interrupts will still operate and the real"] - #[doc = " // time kernel tick count will be maintained."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param parity_mode Pointer to accept value of UART parity mode."] #[doc = ""] - #[doc = " // ..."] + #[doc = " @return"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success, result will be put in (*parity_mode)"] #[doc = ""] - #[doc = " // The operation is complete. Restart the kernel. We want to force"] - #[doc = " // a context switch - but there is no point if resuming the scheduler"] - #[doc = " // caused a context switch already."] - #[doc = " if( !xTaskResumeAll () )"] - #[doc = " {"] - #[doc = " taskYIELD ();"] - #[doc = " }"] - #[doc = " }"] - #[doc = " }"] - #[doc = " @endcode"] - #[doc = " \\ingroup SchedulerControl"] - pub fn xTaskResumeAll() -> BaseType_t; + pub fn uart_get_parity(uart_num: uart_port_t, parity_mode: *mut uart_parity_t) -> esp_err_t; } extern "C" { - #[doc = " Get tick count"] + #[doc = " @brief Set UART baud rate."] #[doc = ""] - #[doc = " @return The count of ticks since vTaskStartScheduler was called."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param baudrate UART baud rate."] #[doc = ""] - #[doc = " \\ingroup TaskUtils"] - pub fn xTaskGetTickCount() -> TickType_t; + #[doc = " @return"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success"] + pub fn uart_set_baudrate(uart_num: uart_port_t, baudrate: u32) -> esp_err_t; } extern "C" { - #[doc = " Get tick count from ISR"] + #[doc = " @brief Get UART baud rate."] #[doc = ""] - #[doc = " @return The count of ticks since vTaskStartScheduler was called."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param baudrate Pointer to accept value of UART baud rate"] #[doc = ""] - #[doc = " This is a version of xTaskGetTickCount() that is safe to be called from an"] - #[doc = " ISR - provided that TickType_t is the natural word size of the"] - #[doc = " microcontroller being used or interrupt nesting is either not supported or"] - #[doc = " not being used."] + #[doc = " @return"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success, result will be put in (*baudrate)"] #[doc = ""] - #[doc = " \\ingroup TaskUtils"] - pub fn xTaskGetTickCountFromISR() -> TickType_t; + pub fn uart_get_baudrate(uart_num: uart_port_t, baudrate: *mut u32) -> esp_err_t; } extern "C" { - #[doc = " Get current number of tasks"] + #[doc = " @brief Set UART line inverse mode"] #[doc = ""] - #[doc = " @return The number of tasks that the real time kernel is currently managing."] - #[doc = " This includes all ready, blocked and suspended tasks. A task that"] - #[doc = " has been deleted but not yet freed by the idle task will also be"] - #[doc = " included in the count."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param inverse_mask Choose the wires that need to be inverted."] + #[doc = " Inverse_mask should be chosen from"] + #[doc = " UART_INVERSE_RXD / UART_INVERSE_TXD / UART_INVERSE_RTS / UART_INVERSE_CTS,"] + #[doc = " combined with OR operation."] #[doc = ""] - #[doc = " \\ingroup TaskUtils"] - pub fn uxTaskGetNumberOfTasks() -> UBaseType_t; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_line_inverse(uart_num: uart_port_t, inverse_mask: u32) -> esp_err_t; } extern "C" { - #[doc = " Get task name"] + #[doc = " @brief Set hardware flow control."] #[doc = ""] - #[doc = " @return The text (human readable) name of the task referenced by the handle"] - #[doc = " xTaskToQuery. A task can query its own name by either passing in its own"] - #[doc = " handle, or by setting xTaskToQuery to NULL. INCLUDE_pcTaskGetTaskName must be"] - #[doc = " set to 1 in FreeRTOSConfig.h for pcTaskGetTaskName() to be available."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param flow_ctrl Hardware flow control mode"] + #[doc = " @param rx_thresh Threshold of Hardware RX flow control (0 ~ UART_FIFO_LEN)."] + #[doc = " Only when UART_HW_FLOWCTRL_RTS is set, will the rx_thresh value be set."] #[doc = ""] - #[doc = " \\ingroup TaskUtils"] - pub fn pcTaskGetTaskName(xTaskToQuery: TaskHandle_t) -> *mut ::std::os::raw::c_char; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_hw_flow_ctrl( + uart_num: uart_port_t, + flow_ctrl: uart_hw_flowcontrol_t, + rx_thresh: u8, + ) -> esp_err_t; } extern "C" { - #[doc = " Returns the high water mark of the stack associated with xTask."] - #[doc = ""] - #[doc = " INCLUDE_uxTaskGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for"] - #[doc = " this function to be available."] - #[doc = ""] - #[doc = " High water mark is the minimum free stack space there has been (in bytes"] - #[doc = " rather than words as found in vanilla FreeRTOS) since the task started."] - #[doc = " The smaller the returned number the closer the task has come to overflowing its stack."] + #[doc = " @brief Set software flow control."] #[doc = ""] - #[doc = " @param xTask Handle of the task associated with the stack to be checked."] - #[doc = " Set xTask to NULL to check the stack of the calling task."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param enable switch on or off"] + #[doc = " @param rx_thresh_xon low water mark"] + #[doc = " @param rx_thresh_xoff high water mark"] #[doc = ""] - #[doc = " @return The smallest amount of free stack space there has been (in bytes"] - #[doc = " rather than words as found in vanilla FreeRTOS) since the task referenced by"] - #[doc = " xTask was created."] - pub fn uxTaskGetStackHighWaterMark(xTask: TaskHandle_t) -> UBaseType_t; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_sw_flow_ctrl( + uart_num: uart_port_t, + enable: bool, + rx_thresh_xon: u8, + rx_thresh_xoff: u8, + ) -> esp_err_t; } extern "C" { - #[doc = " Returns the start of the stack associated with xTask."] + #[doc = " @brief Get hardware flow control mode"] #[doc = ""] - #[doc = " INCLUDE_pxTaskGetStackStart must be set to 1 in FreeRTOSConfig.h for"] - #[doc = " this function to be available."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param flow_ctrl Option for different flow control mode."] #[doc = ""] - #[doc = " Returns the highest stack memory address on architectures where the stack grows down"] - #[doc = " from high memory, and the lowest memory address on architectures where the"] - #[doc = " stack grows up from low memory."] + #[doc = " @return"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success, result will be put in (*flow_ctrl)"] + pub fn uart_get_hw_flow_ctrl( + uart_num: uart_port_t, + flow_ctrl: *mut uart_hw_flowcontrol_t, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Clear UART interrupt status"] #[doc = ""] - #[doc = " @param xTask Handle of the task associated with the stack returned."] - #[doc = " Set xTask to NULL to return the stack of the calling task."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param clr_mask Bit mask of the interrupt status to be cleared."] + #[doc = " The bit mask should be composed from the fields of register UART_INT_CLR_REG."] #[doc = ""] - #[doc = " @return A pointer to the start of the stack."] - pub fn pxTaskGetStackStart(xTask: TaskHandle_t) -> *mut u8; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_clear_intr_status(uart_num: uart_port_t, clr_mask: u32) -> esp_err_t; } extern "C" { - #[doc = " Set local storage pointer specific to the given task."] + #[doc = " @brief Set UART interrupt enable"] #[doc = ""] - #[doc = " Each task contains an array of pointers that is dimensioned by the"] - #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h."] - #[doc = " The kernel does not use the pointers itself, so the application writer"] - #[doc = " can use the pointers for any purpose they wish."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param enable_mask Bit mask of the enable bits."] + #[doc = " The bit mask should be composed from the fields of register UART_INT_ENA_REG."] #[doc = ""] - #[doc = " @param xTaskToSet Task to set thread local storage pointer for"] - #[doc = " @param xIndex The index of the pointer to set, from 0 to"] - #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS - 1."] - #[doc = " @param pvValue Pointer value to set."] - pub fn vTaskSetThreadLocalStoragePointer( - xTaskToSet: TaskHandle_t, - xIndex: BaseType_t, - pvValue: *mut ::std::os::raw::c_void, - ); + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_enable_intr_mask(uart_num: uart_port_t, enable_mask: u32) -> esp_err_t; } extern "C" { - #[doc = " Get local storage pointer specific to the given task."] + #[doc = " @brief Clear UART interrupt enable bits"] #[doc = ""] - #[doc = " Each task contains an array of pointers that is dimensioned by the"] - #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h."] - #[doc = " The kernel does not use the pointers itself, so the application writer"] - #[doc = " can use the pointers for any purpose they wish."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param disable_mask Bit mask of the disable bits."] + #[doc = " The bit mask should be composed from the fields of register UART_INT_ENA_REG."] #[doc = ""] - #[doc = " @param xTaskToQuery Task to get thread local storage pointer for"] - #[doc = " @param xIndex The index of the pointer to get, from 0 to"] - #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS - 1."] - #[doc = " @return Pointer value"] - pub fn pvTaskGetThreadLocalStoragePointer( - xTaskToQuery: TaskHandle_t, - xIndex: BaseType_t, - ) -> *mut ::std::os::raw::c_void; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_disable_intr_mask(uart_num: uart_port_t, disable_mask: u32) -> esp_err_t; } -#[doc = " Prototype of local storage pointer deletion callback."] -pub type TlsDeleteCallbackFunction_t = ::core::option::Option< - unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: *mut ::std::os::raw::c_void), ->; extern "C" { - #[doc = " Set local storage pointer and deletion callback."] - #[doc = ""] - #[doc = " Each task contains an array of pointers that is dimensioned by the"] - #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h."] - #[doc = " The kernel does not use the pointers itself, so the application writer"] - #[doc = " can use the pointers for any purpose they wish."] + #[doc = " @brief Enable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)"] #[doc = ""] - #[doc = " Local storage pointers set for a task can reference dynamically"] - #[doc = " allocated resources. This function is similar to"] - #[doc = " vTaskSetThreadLocalStoragePointer, but provides a way to release"] - #[doc = " these resources when the task gets deleted. For each pointer,"] - #[doc = " a callback function can be set. This function will be called"] - #[doc = " when task is deleted, with the local storage pointer index"] - #[doc = " and value as arguments."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] #[doc = ""] - #[doc = " @param xTaskToSet Task to set thread local storage pointer for"] - #[doc = " @param xIndex The index of the pointer to set, from 0 to"] - #[doc = " configNUM_THREAD_LOCAL_STORAGE_POINTERS - 1."] - #[doc = " @param pvValue Pointer value to set."] - #[doc = " @param pvDelCallback Function to call to dispose of the local"] - #[doc = " storage pointer when the task is deleted."] - pub fn vTaskSetThreadLocalStoragePointerAndDelCallback( - xTaskToSet: TaskHandle_t, - xIndex: BaseType_t, - pvValue: *mut ::std::os::raw::c_void, - pvDelCallback: TlsDeleteCallbackFunction_t, - ); + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_enable_rx_intr(uart_num: uart_port_t) -> esp_err_t; } extern "C" { - #[doc = " Calls the hook function associated with xTask. Passing xTask as NULL has"] - #[doc = " the effect of calling the Running tasks (the calling task) hook function."] + #[doc = " @brief Disable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)"] #[doc = ""] - #[doc = " @param xTask Handle of the task to call the hook for."] - #[doc = " @param pvParameter Parameter passed to the hook function for the task to interpret as it"] - #[doc = " wants. The return value is the value returned by the task hook function"] - #[doc = " registered by the user."] - pub fn xTaskCallApplicationTaskHook( - xTask: TaskHandle_t, - pvParameter: *mut ::std::os::raw::c_void, - ) -> BaseType_t; + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = ""] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_disable_rx_intr(uart_num: uart_port_t) -> esp_err_t; } extern "C" { - #[doc = " Get the handle of idle task for the current CPU."] + #[doc = " @brief Disable UART TX interrupt (TX_FULL & TX_TIMEOUT INTERRUPT)"] #[doc = ""] - #[doc = " xTaskGetIdleTaskHandle() is only available if"] - #[doc = " INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] #[doc = ""] - #[doc = " @return The handle of the idle task. It is not valid to call"] - #[doc = " xTaskGetIdleTaskHandle() before the scheduler has been started."] - pub fn xTaskGetIdleTaskHandle() -> TaskHandle_t; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_disable_tx_intr(uart_num: uart_port_t) -> esp_err_t; } extern "C" { - #[doc = " Get the handle of idle task for the given CPU."] - #[doc = ""] - #[doc = " xTaskGetIdleTaskHandleForCPU() is only available if"] - #[doc = " INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h."] + #[doc = " @brief Enable UART TX interrupt (TX_FULL & TX_TIMEOUT INTERRUPT)"] #[doc = ""] - #[doc = " @param cpuid The CPU to get the handle for"] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param enable 1: enable; 0: disable"] + #[doc = " @param thresh Threshold of TX interrupt, 0 ~ UART_FIFO_LEN"] #[doc = ""] - #[doc = " @return Idle task handle of a given cpu. It is not valid to call"] - #[doc = " xTaskGetIdleTaskHandleForCPU() before the scheduler has been started."] - pub fn xTaskGetIdleTaskHandleForCPU(cpuid: UBaseType_t) -> TaskHandle_t; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_enable_tx_intr( + uart_num: uart_port_t, + enable: ::std::os::raw::c_int, + thresh: ::std::os::raw::c_int, + ) -> esp_err_t; } extern "C" { - #[doc = " Get the state of tasks in the system."] + #[doc = " @brief Register UART interrupt handler (ISR)."] #[doc = ""] - #[doc = " configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for"] - #[doc = " uxTaskGetSystemState() to be available."] + #[doc = " @note UART ISR handler will be attached to the same CPU core that this function is running on."] #[doc = ""] - #[doc = " uxTaskGetSystemState() populates an TaskStatus_t structure for each task in"] - #[doc = " the system. TaskStatus_t structures contain, among other things, members"] - #[doc = " for the task handle, task name, task priority, task state, and total amount"] - #[doc = " of run time consumed by the task. See the TaskStatus_t structure"] - #[doc = " definition in this file for the full member list."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param fn Interrupt handler function."] + #[doc = " @param arg parameter for handler function"] + #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] + #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info."] + #[doc = " @param handle Pointer to return handle. If non-NULL, a handle for the interrupt will"] + #[doc = " be returned here."] #[doc = ""] - #[doc = " @note This function is intended for debugging use only as its use results in"] - #[doc = " the scheduler remaining suspended for an extended period."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_isr_register( + uart_num: uart_port_t, + fn_: ::core::option::Option, + arg: *mut ::std::os::raw::c_void, + intr_alloc_flags: ::std::os::raw::c_int, + handle: *mut uart_isr_handle_t, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Free UART interrupt handler registered by uart_isr_register. Must be called on the same core as"] + #[doc = " uart_isr_register was called."] #[doc = ""] - #[doc = " @param pxTaskStatusArray A pointer to an array of TaskStatus_t structures."] - #[doc = " The array must contain at least one TaskStatus_t structure for each task"] - #[doc = " that is under the control of the RTOS. The number of tasks under the control"] - #[doc = " of the RTOS can be determined using the uxTaskGetNumberOfTasks() API function."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] #[doc = ""] - #[doc = " @param uxArraySize The size of the array pointed to by the pxTaskStatusArray"] - #[doc = " parameter. The size is specified as the number of indexes in the array, or"] - #[doc = " the number of TaskStatus_t structures contained in the array, not by the"] - #[doc = " number of bytes in the array."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_isr_free(uart_num: uart_port_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Set UART pin number"] #[doc = ""] - #[doc = " @param pulTotalRunTime If configGENERATE_RUN_TIME_STATS is set to 1 in"] - #[doc = " FreeRTOSConfig.h then *pulTotalRunTime is set by uxTaskGetSystemState() to the"] - #[doc = " total run time (as defined by the run time stats clock, see"] - #[doc = " http://www.freertos.org/rtos-run-time-stats.html) since the target booted."] - #[doc = " pulTotalRunTime can be set to NULL to omit the total run time information."] + #[doc = " @note Internal signal can be output to multiple GPIO pads."] + #[doc = " Only one GPIO pad can connect with input signal."] #[doc = ""] - #[doc = " @return The number of TaskStatus_t structures that were populated by"] - #[doc = " uxTaskGetSystemState(). This should equal the number returned by the"] - #[doc = " uxTaskGetNumberOfTasks() API function, but will be zero if the value passed"] - #[doc = " in the uxArraySize parameter was too small."] + #[doc = " @note Instead of GPIO number a macro 'UART_PIN_NO_CHANGE' may be provided"] + #[doc = "to keep the currently allocated pin."] #[doc = ""] - #[doc = " Example usage:"] - #[doc = " @code{c}"] - #[doc = " // This example demonstrates how a human readable table of run time stats"] - #[doc = " // information is generated from raw data provided by uxTaskGetSystemState()."] - #[doc = " // The human readable table is written to pcWriteBuffer"] - #[doc = " void vTaskGetRunTimeStats( char *pcWriteBuffer )"] - #[doc = " {"] - #[doc = " TaskStatus_t *pxTaskStatusArray;"] - #[doc = " volatile UBaseType_t uxArraySize, x;"] - #[doc = " uint32_t ulTotalRunTime, ulStatsAsPercentage;"] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param tx_io_num UART TX pin GPIO number."] + #[doc = " @param rx_io_num UART RX pin GPIO number."] + #[doc = " @param rts_io_num UART RTS pin GPIO number."] + #[doc = " @param cts_io_num UART CTS pin GPIO number."] #[doc = ""] - #[doc = " // Make sure the write buffer does not contain a string."] - #[doc = " *pcWriteBuffer = 0x00;"] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_pin( + uart_num: uart_port_t, + tx_io_num: ::std::os::raw::c_int, + rx_io_num: ::std::os::raw::c_int, + rts_io_num: ::std::os::raw::c_int, + cts_io_num: ::std::os::raw::c_int, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Manually set the UART RTS pin level."] + #[doc = " @note UART must be configured with hardware flow control disabled."] #[doc = ""] - #[doc = " // Take a snapshot of the number of tasks in case it changes while this"] - #[doc = " // function is executing."] - #[doc = " uxArraySize = uxTaskGetNumberOfTasks();"] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param level 1: RTS output low (active); 0: RTS output high (block)"] #[doc = ""] - #[doc = " // Allocate a TaskStatus_t structure for each task. An array could be"] - #[doc = " // allocated statically at compile time."] - #[doc = " pxTaskStatusArray = pvPortMalloc( uxArraySize * sizeof( TaskStatus_t ) );"] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_rts(uart_num: uart_port_t, level: ::std::os::raw::c_int) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Manually set the UART DTR pin level."] #[doc = ""] - #[doc = " if( pxTaskStatusArray != NULL )"] - #[doc = " {"] - #[doc = " // Generate raw status information about each task."] - #[doc = " uxArraySize = uxTaskGetSystemState( pxTaskStatusArray, uxArraySize, &ulTotalRunTime );"] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param level 1: DTR output low; 0: DTR output high"] #[doc = ""] - #[doc = " // For percentage calculations."] - #[doc = " ulTotalRunTime /= 100UL;"] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_dtr(uart_num: uart_port_t, level: ::std::os::raw::c_int) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Set UART idle interval after tx FIFO is empty"] #[doc = ""] - #[doc = " // Avoid divide by zero errors."] - #[doc = " if( ulTotalRunTime > 0 )"] - #[doc = " {"] - #[doc = " // For each populated position in the pxTaskStatusArray array,"] - #[doc = " // format the raw data as human readable ASCII data"] - #[doc = " for( x = 0; x < uxArraySize; x++ )"] - #[doc = " {"] - #[doc = " // What percentage of the total run time has the task used?"] - #[doc = " // This will always be rounded down to the nearest integer."] - #[doc = " // ulTotalRunTimeDiv100 has already been divided by 100."] - #[doc = " ulStatsAsPercentage = pxTaskStatusArray[ x ].ulRunTimeCounter / ulTotalRunTime;"] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param idle_num idle interval after tx FIFO is empty(unit: the time it takes to send one bit"] + #[doc = " under current baudrate)"] #[doc = ""] - #[doc = " if( ulStatsAsPercentage > 0UL )"] - #[doc = " {"] - #[doc = " sprintf( pcWriteBuffer, \"%s\\t\\t%lu\\t\\t%lu%%\\r\\n\", pxTaskStatusArray[ x ].pcTaskName, pxTaskStatusArray[ x ].ulRunTimeCounter, ulStatsAsPercentage );"] - #[doc = " }"] - #[doc = " else"] - #[doc = " {"] - #[doc = " // If the percentage is zero here then the task has"] - #[doc = " // consumed less than 1% of the total run time."] - #[doc = " sprintf( pcWriteBuffer, \"%s\\t\\t%lu\\t\\t<1%%\\r\\n\", pxTaskStatusArray[ x ].pcTaskName, pxTaskStatusArray[ x ].ulRunTimeCounter );"] - #[doc = " }"] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_set_tx_idle_num(uart_num: uart_port_t, idle_num: u16) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Set UART configuration parameters."] #[doc = ""] - #[doc = " pcWriteBuffer += strlen( ( char * ) pcWriteBuffer );"] - #[doc = " }"] - #[doc = " }"] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param uart_config UART parameter settings"] #[doc = ""] - #[doc = " // The array is no longer needed, free the memory it consumes."] - #[doc = " vPortFree( pxTaskStatusArray );"] - #[doc = " }"] - #[doc = " }"] - #[doc = " @endcode"] - pub fn uxTaskGetSystemState( - pxTaskStatusArray: *mut TaskStatus_t, - uxArraySize: UBaseType_t, - pulTotalRunTime: *mut u32, - ) -> UBaseType_t; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_param_config(uart_num: uart_port_t, uart_config: *const uart_config_t) + -> esp_err_t; } extern "C" { - #[doc = " List all the current tasks."] + #[doc = " @brief Configure UART interrupts."] #[doc = ""] - #[doc = " configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must"] - #[doc = " both be defined as 1 for this function to be available. See the"] - #[doc = " configuration section of the FreeRTOS.org website for more information."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param intr_conf UART interrupt settings"] #[doc = ""] - #[doc = " @note This function will disable interrupts for its duration. It is"] - #[doc = " not intended for normal application runtime use but as a debug aid."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_intr_config( + uart_num: uart_port_t, + intr_conf: *const uart_intr_config_t, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Install UART driver."] #[doc = ""] - #[doc = " Lists all the current tasks, along with their current state and stack"] - #[doc = " usage high water mark."] + #[doc = " UART ISR handler will be attached to the same CPU core that this function is running on."] #[doc = ""] - #[doc = " Tasks are reported as blocked (\'B\'), ready (\'R\'), deleted (\'D\') or"] - #[doc = " suspended (\'S\')."] + #[doc = " @note Rx_buffer_size should be greater than UART_FIFO_LEN. Tx_buffer_size should be either zero or greater than UART_FIFO_LEN."] #[doc = ""] - #[doc = " @note This function is provided for convenience only, and is used by many of the"] - #[doc = " demo applications. Do not consider it to be part of the scheduler."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param rx_buffer_size UART RX ring buffer size."] + #[doc = " @param tx_buffer_size UART TX ring buffer size."] + #[doc = " If set to zero, driver will not use TX buffer, TX function will block task until all data have been sent out."] + #[doc = " @param queue_size UART event queue size/depth."] + #[doc = " @param uart_queue UART event queue handle (out param). On success, a new queue handle is written here to provide"] + #[doc = " access to UART events. If set to NULL, driver will not use an event queue."] + #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] + #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info. Do not set ESP_INTR_FLAG_IRAM here"] + #[doc = " (the driver's ISR handler is not located in IRAM)"] #[doc = ""] - #[doc = " vTaskList() calls uxTaskGetSystemState(), then formats part of the"] - #[doc = " uxTaskGetSystemState() output into a human readable table that displays task"] - #[doc = " names, states and stack usage."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_driver_install( + uart_num: uart_port_t, + rx_buffer_size: ::std::os::raw::c_int, + tx_buffer_size: ::std::os::raw::c_int, + queue_size: ::std::os::raw::c_int, + uart_queue: *mut QueueHandle_t, + intr_alloc_flags: ::std::os::raw::c_int, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Uninstall UART driver."] #[doc = ""] - #[doc = " vTaskList() has a dependency on the sprintf() C library function that might"] - #[doc = " bloat the code size, use a lot of stack, and provide different results on"] - #[doc = " different platforms. An alternative, tiny, third party, and limited"] - #[doc = " functionality implementation of sprintf() is provided in many of the"] - #[doc = " FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note"] - #[doc = " printf-stdarg.c does not provide a full snprintf() implementation!)."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] #[doc = ""] - #[doc = " It is recommended that production systems call uxTaskGetSystemState()"] - #[doc = " directly to get access to raw stats data, rather than indirectly through a"] - #[doc = " call to vTaskList()."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_driver_delete(uart_num: uart_port_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Wait until UART TX FIFO is empty."] #[doc = ""] - #[doc = " @param pcWriteBuffer A buffer into which the above mentioned details"] - #[doc = " will be written, in ASCII form. This buffer is assumed to be large"] - #[doc = " enough to contain the generated report. Approximately 40 bytes per"] - #[doc = " task should be sufficient."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param ticks_to_wait Timeout, count in RTOS ticks"] #[doc = ""] - #[doc = " \\ingroup TaskUtils"] - pub fn vTaskList(pcWriteBuffer: *mut ::std::os::raw::c_char); + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_ERR_TIMEOUT Timeout"] + pub fn uart_wait_tx_done(uart_num: uart_port_t, ticks_to_wait: TickType_t) -> esp_err_t; } extern "C" { - #[doc = " Get the state of running tasks as a string"] + #[doc = " @brief Send data to the UART port from a given buffer and length."] #[doc = ""] - #[doc = " configGENERATE_RUN_TIME_STATS and configUSE_STATS_FORMATTING_FUNCTIONS"] - #[doc = " must both be defined as 1 for this function to be available. The application"] - #[doc = " must also then provide definitions for"] - #[doc = " portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE()"] - #[doc = " to configure a peripheral timer/counter and return the timers current count"] - #[doc = " value respectively. The counter should be at least 10 times the frequency of"] - #[doc = " the tick count."] + #[doc = " This function will not wait for enough space in TX FIFO. It will just fill the available TX FIFO and return when the FIFO is full."] + #[doc = " @note This function should only be used when UART TX buffer is not enabled."] #[doc = ""] - #[doc = " @note This function will disable interrupts for its duration. It is"] - #[doc = " not intended for normal application runtime use but as a debug aid."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param buffer data buffer address"] + #[doc = " @param len data length to send"] #[doc = ""] - #[doc = " Setting configGENERATE_RUN_TIME_STATS to 1 will result in a total"] - #[doc = " accumulated execution time being stored for each task. The resolution"] - #[doc = " of the accumulated time value depends on the frequency of the timer"] - #[doc = " configured by the portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() macro."] - #[doc = " Calling vTaskGetRunTimeStats() writes the total execution time of each"] - #[doc = " task into a buffer, both as an absolute count value and as a percentage"] - #[doc = " of the total system execution time."] + #[doc = " @return"] + #[doc = " - (-1) Parameter error"] + #[doc = " - OTHERS (>=0) The number of bytes pushed to the TX FIFO"] + pub fn uart_tx_chars( + uart_num: uart_port_t, + buffer: *const ::std::os::raw::c_char, + len: u32, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " @brief Send data to the UART port from a given buffer and length,"] #[doc = ""] - #[doc = " @note This function is provided for convenience only, and is used by many of the"] - #[doc = " demo applications. Do not consider it to be part of the scheduler."] + #[doc = " If the UART driver's parameter 'tx_buffer_size' is set to zero:"] + #[doc = " This function will not return until all the data have been sent out, or at least pushed into TX FIFO."] #[doc = ""] - #[doc = " vTaskGetRunTimeStats() calls uxTaskGetSystemState(), then formats part of the"] - #[doc = " uxTaskGetSystemState() output into a human readable table that displays the"] - #[doc = " amount of time each task has spent in the Running state in both absolute and"] - #[doc = " percentage terms."] + #[doc = " Otherwise, if the 'tx_buffer_size' > 0, this function will return after copying all the data to tx ring buffer,"] + #[doc = " UART ISR will then move data from the ring buffer to TX FIFO gradually."] #[doc = ""] - #[doc = " vTaskGetRunTimeStats() has a dependency on the sprintf() C library function"] - #[doc = " that might bloat the code size, use a lot of stack, and provide different"] - #[doc = " results on different platforms. An alternative, tiny, third party, and"] - #[doc = " limited functionality implementation of sprintf() is provided in many of the"] - #[doc = " FreeRTOS/Demo sub-directories in a file called printf-stdarg.c (note"] - #[doc = " printf-stdarg.c does not provide a full snprintf() implementation!)."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param src data buffer address"] + #[doc = " @param size data length to send"] #[doc = ""] - #[doc = " It is recommended that production systems call uxTaskGetSystemState() directly"] - #[doc = " to get access to raw stats data, rather than indirectly through a call to"] - #[doc = " vTaskGetRunTimeStats()."] + #[doc = " @return"] + #[doc = " - (-1) Parameter error"] + #[doc = " - OTHERS (>=0) The number of bytes pushed to the TX FIFO"] + pub fn uart_write_bytes( + uart_num: uart_port_t, + src: *const ::std::os::raw::c_char, + size: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " @brief Send data to the UART port from a given buffer and length,"] #[doc = ""] - #[doc = " @param pcWriteBuffer A buffer into which the execution times will be"] - #[doc = " written, in ASCII form. This buffer is assumed to be large enough to"] - #[doc = " contain the generated report. Approximately 40 bytes per task should"] - #[doc = " be sufficient."] + #[doc = " If the UART driver's parameter 'tx_buffer_size' is set to zero:"] + #[doc = " This function will not return until all the data and the break signal have been sent out."] + #[doc = " After all data is sent out, send a break signal."] #[doc = ""] - #[doc = " \\ingroup TaskUtils"] - pub fn vTaskGetRunTimeStats(pcWriteBuffer: *mut ::std::os::raw::c_char); + #[doc = " Otherwise, if the 'tx_buffer_size' > 0, this function will return after copying all the data to tx ring buffer,"] + #[doc = " UART ISR will then move data from the ring buffer to TX FIFO gradually."] + #[doc = " After all data sent out, send a break signal."] + #[doc = ""] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param src data buffer address"] + #[doc = " @param size data length to send"] + #[doc = " @param brk_len break signal duration(unit: the time it takes to send one bit at current baudrate)"] + #[doc = ""] + #[doc = " @return"] + #[doc = " - (-1) Parameter error"] + #[doc = " - OTHERS (>=0) The number of bytes pushed to the TX FIFO"] + pub fn uart_write_bytes_with_break( + uart_num: uart_port_t, + src: *const ::std::os::raw::c_char, + size: usize, + brk_len: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " Send task notification."] - #[doc = ""] - #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] - #[doc = " function to be available."] + #[doc = " @brief UART read bytes from UART buffer"] #[doc = ""] - #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] - #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @param buf pointer to the buffer."] + #[doc = " @param length data length"] + #[doc = " @param ticks_to_wait sTimeout, count in RTOS ticks"] #[doc = ""] - #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] - #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] - #[doc = " are a method of sending an event directly to a task without the need for such"] - #[doc = " an intermediary object."] + #[doc = " @return"] + #[doc = " - (-1) Error"] + #[doc = " - OTHERS (>=0) The number of bytes read from UART FIFO"] + pub fn uart_read_bytes( + uart_num: uart_port_t, + buf: *mut u8, + length: u32, + ticks_to_wait: TickType_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " @brief Alias of uart_flush_input."] + #[doc = " UART ring buffer flush. This will discard all data in the UART RX buffer."] + #[doc = " @note Instead of waiting the data sent out, this function will clear UART rx buffer."] + #[doc = " In order to send all the data in tx FIFO, we can use uart_wait_tx_done function."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] #[doc = ""] - #[doc = " A notification sent to a task can optionally perform an action, such as"] - #[doc = " update, overwrite or increment the task\'s notification value. In that way"] - #[doc = " task notifications can be used to send data to a task, or be used as light"] - #[doc = " weight and fast binary or counting semaphores."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_flush(uart_num: uart_port_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Clear input buffer, discard all the data is in the ring-buffer."] + #[doc = " @note In order to send all the data in tx FIFO, we can use uart_wait_tx_done function."] + #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] #[doc = ""] - #[doc = " A notification sent to a task will remain pending until it is cleared by the"] - #[doc = " task calling xTaskNotifyWait() or ulTaskNotifyTake(). If the task was"] - #[doc = " already in the Blocked state to wait for a notification when the notification"] - #[doc = " arrives then the task will automatically be removed from the Blocked state"] - #[doc = " (unblocked) and the notification cleared."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_flush_input(uart_num: uart_port_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief UART get RX ring buffer cached data length"] #[doc = ""] - #[doc = " A task can use xTaskNotifyWait() to [optionally] block to wait for a"] - #[doc = " notification to be pending, or ulTaskNotifyTake() to [optionally] block"] - #[doc = " to wait for its notification value to have a non-zero value. The task does"] - #[doc = " not consume any CPU time while it is in the Blocked state."] + #[doc = " @param uart_num UART port number."] + #[doc = " @param size Pointer of size_t to accept cached data length"] #[doc = ""] - #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_get_buffered_data_len(uart_num: uart_port_t, size: *mut usize) -> esp_err_t; +} +extern "C" { + #[doc = " @brief UART disable pattern detect function."] + #[doc = " Designed for applications like 'AT commands'."] + #[doc = " When the hardware detects a series of one same character, the interrupt will be triggered."] #[doc = ""] - #[doc = " @param xTaskToNotify The handle of the task being notified. The handle to a"] - #[doc = " task can be returned from the xTaskCreate() API function used to create the"] - #[doc = " task, and the handle of the currently running task can be obtained by calling"] - #[doc = " xTaskGetCurrentTaskHandle()."] + #[doc = " @param uart_num UART port number."] #[doc = ""] - #[doc = " @param ulValue Data that can be sent with the notification. How the data is"] - #[doc = " used depends on the value of the eAction parameter."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_disable_pattern_det_intr(uart_num: uart_port_t) -> esp_err_t; +} +extern "C" { + #[doc = " @brief UART enable pattern detect function."] + #[doc = " Designed for applications like 'AT commands'."] + #[doc = " When the hardware detect a series of one same character, the interrupt will be triggered."] #[doc = ""] - #[doc = " @param eAction Specifies how the notification updates the task\'s notification"] - #[doc = " value, if at all. Valid values for eAction are as follows:"] - #[doc = "\t- eSetBits:"] - #[doc = "\t The task\'s notification value is bitwise ORed with ulValue. xTaskNofify()"] - #[doc = " \t always returns pdPASS in this case."] + #[doc = " @param uart_num UART port number."] + #[doc = " @param pattern_chr character of the pattern"] + #[doc = " @param chr_num number of the character, 8bit value."] + #[doc = " @param chr_tout timeout of the interval between each pattern characters, 24bit value, unit is APB (80Mhz) clock cycle."] + #[doc = " When the duration is less than this value, it will not take this data as at_cmd char"] + #[doc = " @param post_idle idle time after the last pattern character, 24bit value, unit is APB (80Mhz) clock cycle."] + #[doc = " When the duration is less than this value, it will not take the previous data as the last at_cmd char"] + #[doc = " @param pre_idle idle time before the first pattern character, 24bit value, unit is APB (80Mhz) clock cycle."] + #[doc = " When the duration is less than this value, it will not take this data as the first at_cmd char"] #[doc = ""] - #[doc = "\t- eIncrement:"] - #[doc = "\t The task\'s notification value is incremented. ulValue is not used and"] - #[doc = "\t xTaskNotify() always returns pdPASS in this case."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_FAIL Parameter error"] + pub fn uart_enable_pattern_det_intr( + uart_num: uart_port_t, + pattern_chr: ::std::os::raw::c_char, + chr_num: u8, + chr_tout: ::std::os::raw::c_int, + post_idle: ::std::os::raw::c_int, + pre_idle: ::std::os::raw::c_int, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Return the nearest detected pattern position in buffer."] + #[doc = " The positions of the detected pattern are saved in a queue,"] + #[doc = " this function will dequeue the first pattern position and move the pointer to next pattern position."] + #[doc = " @note If the RX buffer is full and flow control is not enabled,"] + #[doc = " the detected pattern may not be found in the rx buffer due to overflow."] #[doc = ""] - #[doc = "\t- eSetValueWithOverwrite:"] - #[doc = "\t The task\'s notification value is set to the value of ulValue, even if the"] - #[doc = "\t task being notified had not yet processed the previous notification (the"] - #[doc = "\t task already had a notification pending). xTaskNotify() always returns"] - #[doc = "\t pdPASS in this case."] + #[doc = " The following APIs will modify the pattern position info:"] + #[doc = " uart_flush_input, uart_read_bytes, uart_driver_delete, uart_pop_pattern_pos"] + #[doc = " It is the application's responsibility to ensure atomic access to the pattern queue and the rx data buffer"] + #[doc = " when using pattern detect feature."] #[doc = ""] - #[doc = "\t- eSetValueWithoutOverwrite:"] - #[doc = "\t If the task being notified did not already have a notification pending then"] - #[doc = "\t the task\'s notification value is set to ulValue and xTaskNotify() will"] - #[doc = "\t return pdPASS. If the task being notified already had a notification"] - #[doc = "\t pending then no action is performed and pdFAIL is returned."] + #[doc = " @param uart_num UART port number"] + #[doc = " @return"] + #[doc = " - (-1) No pattern found for current index or parameter error"] + #[doc = " - others the pattern position in rx buffer."] + pub fn uart_pattern_pop_pos(uart_num: uart_port_t) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " @brief Return the nearest detected pattern position in buffer."] + #[doc = " The positions of the detected pattern are saved in a queue,"] + #[doc = " This function do nothing to the queue."] + #[doc = " @note If the RX buffer is full and flow control is not enabled,"] + #[doc = " the detected pattern may not be found in the rx buffer due to overflow."] #[doc = ""] - #[doc = "\t- eNoAction:"] - #[doc = "\t The task receives a notification without its notification value being"] - #[doc = "\t\u{a0}\u{a0}updated. ulValue is not used and xTaskNotify() always returns pdPASS in"] - #[doc = "\t this case."] + #[doc = " The following APIs will modify the pattern position info:"] + #[doc = " uart_flush_input, uart_read_bytes, uart_driver_delete, uart_pop_pattern_pos"] + #[doc = " It is the application's responsibility to ensure atomic access to the pattern queue and the rx data buffer"] + #[doc = " when using pattern detect feature."] #[doc = ""] - #[doc = " @return Dependent on the value of eAction. See the description of the"] - #[doc = " eAction parameter."] + #[doc = " @param uart_num UART port number"] + #[doc = " @return"] + #[doc = " - (-1) No pattern found for current index or parameter error"] + #[doc = " - others the pattern position in rx buffer."] + pub fn uart_pattern_get_pos(uart_num: uart_port_t) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " @brief Allocate a new memory with the given length to save record the detected pattern position in rx buffer."] + #[doc = " @param uart_num UART port number"] + #[doc = " @param queue_length Max queue length for the detected pattern."] + #[doc = " If the queue length is not large enough, some pattern positions might be lost."] + #[doc = " Set this value to the maximum number of patterns that could be saved in data buffer at the same time."] + #[doc = " @return"] + #[doc = " - ESP_ERR_NO_MEM No enough memory"] + #[doc = " - ESP_ERR_INVALID_STATE Driver not installed"] + #[doc = " - ESP_FAIL Parameter error"] + #[doc = " - ESP_OK Success"] + pub fn uart_pattern_queue_reset( + uart_num: uart_port_t, + queue_length: ::std::os::raw::c_int, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief UART set communication mode"] + #[doc = " @note This function must be executed after uart_driver_install(), when the driver object is initialized."] + #[doc = " @param uart_num Uart number to configure"] + #[doc = " @param mode UART UART mode to set"] #[doc = ""] - #[doc = " \\ingroup TaskNotifications"] - pub fn xTaskNotify( - xTaskToNotify: TaskHandle_t, - ulValue: u32, - eAction: eNotifyAction, - ) -> BaseType_t; + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn uart_set_mode(uart_num: uart_port_t, mode: uart_mode_t) -> esp_err_t; } extern "C" { - #[doc = " Send task notification from an ISR."] + #[doc = " @brief UART set threshold timeout for TOUT feature"] #[doc = ""] - #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] - #[doc = " function to be available."] + #[doc = " @param uart_num Uart number to configure"] + #[doc = " @param tout_thresh This parameter defines timeout threshold in uart symbol periods. The maximum value of threshold is 126."] + #[doc = " tout_thresh = 1, defines TOUT interrupt timeout equal to transmission time of one symbol (~11 bit) on current baudrate."] + #[doc = " If the time is expired the UART_RXFIFO_TOUT_INT interrupt is triggered. If tout_thresh == 0,"] + #[doc = " the TOUT feature is disabled."] #[doc = ""] - #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] - #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = " - ESP_ERR_INVALID_STATE Driver is not installed"] + pub fn uart_set_rx_timeout(uart_num: uart_port_t, tout_thresh: u8) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Returns collision detection flag for RS485 mode"] + #[doc = " Function returns the collision detection flag into variable pointed by collision_flag."] + #[doc = " *collision_flag = true, if collision detected else it is equal to false."] + #[doc = " This function should be executed when actual transmission is completed (after uart_write_bytes())."] #[doc = ""] - #[doc = " A version of xTaskNotify() that can be used from an interrupt service routine"] - #[doc = " (ISR)."] + #[doc = " @param uart_num Uart number to configure"] + #[doc = " @param collision_flag Pointer to variable of type bool to return collision flag."] #[doc = ""] - #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] - #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] - #[doc = " are a method of sending an event directly to a task without the need for such"] - #[doc = " an intermediary object."] + #[doc = " @return"] + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn uart_get_collision_flag(uart_num: uart_port_t, collision_flag: *mut bool) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Set the number of RX pin signal edges for light sleep wakeup"] #[doc = ""] - #[doc = " A notification sent to a task can optionally perform an action, such as"] - #[doc = " update, overwrite or increment the task\'s notification value. In that way"] - #[doc = " task notifications can be used to send data to a task, or be used as light"] - #[doc = " weight and fast binary or counting semaphores."] + #[doc = " UART can be used to wake up the system from light sleep. This feature works"] + #[doc = " by counting the number of positive edges on RX pin and comparing the count to"] + #[doc = " the threshold. When the count exceeds the threshold, system is woken up from"] + #[doc = " light sleep. This function allows setting the threshold value."] #[doc = ""] - #[doc = " A notification sent to a task will remain pending until it is cleared by the"] - #[doc = " task calling xTaskNotifyWait() or ulTaskNotifyTake(). If the task was"] - #[doc = " already in the Blocked state to wait for a notification when the notification"] - #[doc = " arrives then the task will automatically be removed from the Blocked state"] - #[doc = " (unblocked) and the notification cleared."] + #[doc = " Stop bit and parity bits (if enabled) also contribute to the number of edges."] + #[doc = " For example, letter 'a' with ASCII code 97 is encoded as 0100001101 on the wire"] + #[doc = " (with 8n1 configuration), start and stop bits included. This sequence has 3"] + #[doc = " positive edges (transitions from 0 to 1). Therefore, to wake up the system"] + #[doc = " when 'a' is sent, set wakeup_threshold=3."] #[doc = ""] - #[doc = " A task can use xTaskNotifyWait() to [optionally] block to wait for a"] - #[doc = " notification to be pending, or ulTaskNotifyTake() to [optionally] block"] - #[doc = " to wait for its notification value to have a non-zero value. The task does"] - #[doc = " not consume any CPU time while it is in the Blocked state."] + #[doc = " The character that triggers wakeup is not received by UART (i.e. it can not"] + #[doc = " be obtained from UART FIFO). Depending on the baud rate, a few characters"] + #[doc = " after that will also not be received. Note that when the chip enters and exits"] + #[doc = " light sleep mode, APB frequency will be changing. To make sure that UART has"] + #[doc = " correct baud rate all the time, select REF_TICK as UART clock source,"] + #[doc = " by setting use_ref_tick field in uart_config_t to true."] #[doc = ""] - #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] + #[doc = " @note in ESP32, the wakeup signal can only be input via IO_MUX (i.e."] + #[doc = " GPIO3 should be configured as function_1 to wake up UART0,"] + #[doc = " GPIO9 should be configured as function_5 to wake up UART1), UART2"] + #[doc = " does not support light sleep wakeup feature."] #[doc = ""] - #[doc = " @param xTaskToNotify The handle of the task being notified. The handle to a"] - #[doc = " task can be returned from the xTaskCreate() API function used to create the"] - #[doc = " task, and the handle of the currently running task can be obtained by calling"] - #[doc = " xTaskGetCurrentTaskHandle()."] + #[doc = " @param uart_num UART number"] + #[doc = " @param wakeup_threshold number of RX edges for light sleep wakeup, value is 3 .. 0x3ff."] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_ARG if uart_num is incorrect or wakeup_threshold is"] + #[doc = " outside of [3, 0x3ff] range."] + pub fn uart_set_wakeup_threshold( + uart_num: uart_port_t, + wakeup_threshold: ::std::os::raw::c_int, + ) -> esp_err_t; +} +extern "C" { + #[doc = " @brief Get the number of RX pin signal edges for light sleep wakeup."] #[doc = ""] - #[doc = " @param ulValue Data that can be sent with the notification. How the data is"] - #[doc = " used depends on the value of the eAction parameter."] + #[doc = " See description of uart_set_wakeup_threshold for the explanation of UART"] + #[doc = " wakeup feature."] #[doc = ""] - #[doc = " @param eAction Specifies how the notification updates the task\'s notification"] - #[doc = " value, if at all. Valid values for eAction are as follows:"] - #[doc = "\t- eSetBits:"] - #[doc = "\t The task\'s notification value is bitwise ORed with ulValue. xTaskNofify()"] - #[doc = " \t always returns pdPASS in this case."] + #[doc = " @param uart_num UART number"] + #[doc = " @param[out] out_wakeup_threshold output, set to the current value of wakeup"] + #[doc = " threshold for the given UART."] + #[doc = " @return"] + #[doc = " - ESP_OK on success"] + #[doc = " - ESP_ERR_INVALID_ARG if out_wakeup_threshold is NULL"] + pub fn uart_get_wakeup_threshold( + uart_num: uart_port_t, + out_wakeup_threshold: *mut ::std::os::raw::c_int, + ) -> esp_err_t; +} +pub const GPIO_INT_TYPE_GPIO_PIN_INTR_DISABLE: GPIO_INT_TYPE = 0; +pub const GPIO_INT_TYPE_GPIO_PIN_INTR_POSEDGE: GPIO_INT_TYPE = 1; +pub const GPIO_INT_TYPE_GPIO_PIN_INTR_NEGEDGE: GPIO_INT_TYPE = 2; +pub const GPIO_INT_TYPE_GPIO_PIN_INTR_ANYEDGE: GPIO_INT_TYPE = 3; +pub const GPIO_INT_TYPE_GPIO_PIN_INTR_LOLEVEL: GPIO_INT_TYPE = 4; +pub const GPIO_INT_TYPE_GPIO_PIN_INTR_HILEVEL: GPIO_INT_TYPE = 5; +pub type GPIO_INT_TYPE = u32; +pub type gpio_intr_handler_fn_t = ::core::option::Option< + unsafe extern "C" fn(intr_mask: u32, high: bool, arg: *mut ::std::os::raw::c_void), +>; +extern "C" { + #[doc = " @brief Initialize GPIO. This includes reading the GPIO Configuration DataSet"] + #[doc = " to initialize \"output enables\" and pin configurations for each gpio pin."] + #[doc = " Please do not call this function in SDK."] #[doc = ""] - #[doc = "\t- eIncrement:"] - #[doc = "\t The task\'s notification value is incremented. ulValue is not used and"] - #[doc = "\t xTaskNotify() always returns pdPASS in this case."] + #[doc = " @param None"] #[doc = ""] - #[doc = "\t- eSetValueWithOverwrite:"] - #[doc = "\t The task\'s notification value is set to the value of ulValue, even if the"] - #[doc = "\t task being notified had not yet processed the previous notification (the"] - #[doc = "\t task already had a notification pending). xTaskNotify() always returns"] - #[doc = "\t pdPASS in this case."] + #[doc = " @return None"] + pub fn gpio_init(); +} +extern "C" { + #[doc = " @brief Change GPIO(0-31) pin output by setting, clearing, or disabling pins, GPIO0<->BIT(0)."] + #[doc = " There is no particular ordering guaranteed; so if the order of writes is significant,"] + #[doc = " calling code should divide a single call into multiple calls."] #[doc = ""] - #[doc = "\t- eSetValueWithoutOverwrite:"] - #[doc = "\t If the task being notified did not already have a notification pending then"] - #[doc = "\t the task\'s notification value is set to ulValue and xTaskNotify() will"] - #[doc = "\t return pdPASS. If the task being notified already had a notification"] - #[doc = "\t pending then no action is performed and pdFAIL is returned."] + #[doc = " @param uint32_t set_mask : the gpios that need high level."] #[doc = ""] - #[doc = "\t- eNoAction:"] - #[doc = "\t The task receives a notification without its notification value being"] - #[doc = "\t updated. ulValue is not used and xTaskNotify() always returns pdPASS in"] - #[doc = "\t this case."] + #[doc = " @param uint32_t clear_mask : the gpios that need low level."] #[doc = ""] - #[doc = " @param pxHigherPriorityTaskWoken xTaskNotifyFromISR() will set"] - #[doc = " *pxHigherPriorityTaskWoken to pdTRUE if sending the notification caused the"] - #[doc = " task to which the notification was sent to leave the Blocked state, and the"] - #[doc = " unblocked task has a priority higher than the currently running task. If"] - #[doc = " xTaskNotifyFromISR() sets this value to pdTRUE then a context switch should"] - #[doc = " be requested before the interrupt is exited. How a context switch is"] - #[doc = " requested from an ISR is dependent on the port - see the documentation page"] - #[doc = " for the port in use."] + #[doc = " @param uint32_t enable_mask : the gpios that need be changed."] #[doc = ""] - #[doc = " @return Dependent on the value of eAction. See the description of the"] - #[doc = " eAction parameter."] + #[doc = " @param uint32_t disable_mask : the gpios that need diable output."] #[doc = ""] - #[doc = " \\ingroup TaskNotifications"] - pub fn xTaskNotifyFromISR( - xTaskToNotify: TaskHandle_t, - ulValue: u32, - eAction: eNotifyAction, - pxHigherPriorityTaskWoken: *mut BaseType_t, - ) -> BaseType_t; + #[doc = " @return None"] + pub fn gpio_output_set(set_mask: u32, clear_mask: u32, enable_mask: u32, disable_mask: u32); } extern "C" { - #[doc = " Wait for task notification"] - #[doc = ""] - #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] - #[doc = " function to be available."] + #[doc = " @brief Change GPIO(32-39) pin output by setting, clearing, or disabling pins, GPIO32<->BIT(0)."] + #[doc = " There is no particular ordering guaranteed; so if the order of writes is significant,"] + #[doc = " calling code should divide a single call into multiple calls."] #[doc = ""] - #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] - #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] + #[doc = " @param uint32_t set_mask : the gpios that need high level."] #[doc = ""] - #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] - #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] - #[doc = " are a method of sending an event directly to a task without the need for such"] - #[doc = " an intermediary object."] + #[doc = " @param uint32_t clear_mask : the gpios that need low level."] #[doc = ""] - #[doc = " A notification sent to a task can optionally perform an action, such as"] - #[doc = " update, overwrite or increment the task\'s notification value. In that way"] - #[doc = " task notifications can be used to send data to a task, or be used as light"] - #[doc = " weight and fast binary or counting semaphores."] + #[doc = " @param uint32_t enable_mask : the gpios that need be changed."] #[doc = ""] - #[doc = " A notification sent to a task will remain pending until it is cleared by the"] - #[doc = " task calling xTaskNotifyWait() or ulTaskNotifyTake(). If the task was"] - #[doc = " already in the Blocked state to wait for a notification when the notification"] - #[doc = " arrives then the task will automatically be removed from the Blocked state"] - #[doc = " (unblocked) and the notification cleared."] + #[doc = " @param uint32_t disable_mask : the gpios that need diable output."] #[doc = ""] - #[doc = " A task can use xTaskNotifyWait() to [optionally] block to wait for a"] - #[doc = " notification to be pending, or ulTaskNotifyTake() to [optionally] block"] - #[doc = " to wait for its notification value to have a non-zero value. The task does"] - #[doc = " not consume any CPU time while it is in the Blocked state."] + #[doc = " @return None"] + pub fn gpio_output_set_high( + set_mask: u32, + clear_mask: u32, + enable_mask: u32, + disable_mask: u32, + ); +} +extern "C" { + #[doc = " @brief Sample the value of GPIO input pins(0-31) and returns a bitmask."] #[doc = ""] - #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] + #[doc = " @param None"] #[doc = ""] - #[doc = " @param ulBitsToClearOnEntry Bits that are set in ulBitsToClearOnEntry value"] - #[doc = " will be cleared in the calling task\'s notification value before the task"] - #[doc = " checks to see if any notifications are pending, and optionally blocks if no"] - #[doc = " notifications are pending. Setting ulBitsToClearOnEntry to ULONG_MAX (if"] - #[doc = " limits.h is included) or 0xffffffffUL (if limits.h is not included) will have"] - #[doc = " the effect of resetting the task\'s notification value to 0. Setting"] - #[doc = " ulBitsToClearOnEntry to 0 will leave the task\'s notification value unchanged."] + #[doc = " @return uint32_t : bitmask for GPIO input pins, BIT(0) for GPIO0."] + pub fn gpio_input_get() -> u32; +} +extern "C" { + #[doc = " @brief Sample the value of GPIO input pins(32-39) and returns a bitmask."] #[doc = ""] - #[doc = " @param ulBitsToClearOnExit If a notification is pending or received before"] - #[doc = " the calling task exits the xTaskNotifyWait() function then the task\'s"] - #[doc = " notification value (see the xTaskNotify() API function) is passed out using"] - #[doc = " the pulNotificationValue parameter. Then any bits that are set in"] - #[doc = " ulBitsToClearOnExit will be cleared in the task\'s notification value (note"] - #[doc = " *pulNotificationValue is set before any bits are cleared). Setting"] - #[doc = " ulBitsToClearOnExit to ULONG_MAX (if limits.h is included) or 0xffffffffUL"] - #[doc = " (if limits.h is not included) will have the effect of resetting the task\'s"] - #[doc = " notification value to 0 before the function exits. Setting"] - #[doc = " ulBitsToClearOnExit to 0 will leave the task\'s notification value unchanged"] - #[doc = " when the function exits (in which case the value passed out in"] - #[doc = " pulNotificationValue will match the task\'s notification value)."] + #[doc = " @param None"] #[doc = ""] - #[doc = " @param pulNotificationValue Used to pass the task\'s notification value out"] - #[doc = " of the function. Note the value passed out will not be effected by the"] - #[doc = " clearing of any bits caused by ulBitsToClearOnExit being non-zero."] + #[doc = " @return uint32_t : bitmask for GPIO input pins, BIT(0) for GPIO32."] + pub fn gpio_input_get_high() -> u32; +} +extern "C" { + #[doc = " @brief Register an application-specific interrupt handler for GPIO pin interrupts."] + #[doc = " Once the interrupt handler is called, it will not be called again until after a call to gpio_intr_ack."] + #[doc = " Please do not call this function in SDK."] #[doc = ""] - #[doc = " @param xTicksToWait The maximum amount of time that the task should wait in"] - #[doc = " the Blocked state for a notification to be received, should a notification"] - #[doc = " not already be pending when xTaskNotifyWait() was called. The task"] - #[doc = " will not consume any processing time while it is in the Blocked state. This"] - #[doc = " is specified in kernel ticks, the macro pdMS_TO_TICSK( value_in_ms ) can be"] - #[doc = " used to convert a time specified in milliseconds to a time specified in"] - #[doc = " ticks."] + #[doc = " @param gpio_intr_handler_fn_t fn : gpio application-specific interrupt handler"] #[doc = ""] - #[doc = " @return If a notification was received (including notifications that were"] - #[doc = " already pending when xTaskNotifyWait was called) then pdPASS is"] - #[doc = " returned. Otherwise pdFAIL is returned."] + #[doc = " @param void *arg : gpio application-specific interrupt handler argument."] #[doc = ""] - #[doc = " \\ingroup TaskNotifications"] - pub fn xTaskNotifyWait( - ulBitsToClearOnEntry: u32, - ulBitsToClearOnExit: u32, - pulNotificationValue: *mut u32, - xTicksToWait: TickType_t, - ) -> BaseType_t; + #[doc = " @return None"] + pub fn gpio_intr_handler_register( + fn_: gpio_intr_handler_fn_t, + arg: *mut ::std::os::raw::c_void, + ); } extern "C" { - #[doc = " Simplified macro for sending task notification from ISR."] + #[doc = " @brief Get gpio interrupts which happens but not processed."] + #[doc = " Please do not call this function in SDK."] #[doc = ""] - #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this macro"] - #[doc = " to be available."] + #[doc = " @param None"] #[doc = ""] - #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] - #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] + #[doc = " @return uint32_t : bitmask for GPIO pending interrupts, BIT(0) for GPIO0."] + pub fn gpio_intr_pending() -> u32; +} +extern "C" { + #[doc = " @brief Get gpio interrupts which happens but not processed."] + #[doc = " Please do not call this function in SDK."] #[doc = ""] - #[doc = " A version of xTaskNotifyGive() that can be called from an interrupt service"] - #[doc = " routine (ISR)."] + #[doc = " @param None"] #[doc = ""] - #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] - #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] - #[doc = " are a method of sending an event directly to a task without the need for such"] - #[doc = " an intermediary object."] + #[doc = " @return uint32_t : bitmask for GPIO pending interrupts, BIT(0) for GPIO32."] + pub fn gpio_intr_pending_high() -> u32; +} +extern "C" { + #[doc = " @brief Ack gpio interrupts to process pending interrupts."] + #[doc = " Please do not call this function in SDK."] #[doc = ""] - #[doc = " A notification sent to a task can optionally perform an action, such as"] - #[doc = " update, overwrite or increment the task\'s notification value. In that way"] - #[doc = " task notifications can be used to send data to a task, or be used as light"] - #[doc = " weight and fast binary or counting semaphores."] + #[doc = " @param uint32_t ack_mask: bitmask for GPIO ack interrupts, BIT(0) for GPIO0."] #[doc = ""] - #[doc = " vTaskNotifyGiveFromISR() is intended for use when task notifications are"] - #[doc = " used as light weight and faster binary or counting semaphore equivalents."] - #[doc = " Actual FreeRTOS semaphores are given from an ISR using the"] - #[doc = " xSemaphoreGiveFromISR() API function, the equivalent action that instead uses"] - #[doc = " a task notification is vTaskNotifyGiveFromISR()."] + #[doc = " @return None"] + pub fn gpio_intr_ack(ack_mask: u32); +} +extern "C" { + #[doc = " @brief Ack gpio interrupts to process pending interrupts."] + #[doc = " Please do not call this function in SDK."] #[doc = ""] - #[doc = " When task notifications are being used as a binary or counting semaphore"] - #[doc = " equivalent then the task being notified should wait for the notification"] - #[doc = " using the ulTaskNotificationTake() API function rather than the"] - #[doc = " xTaskNotifyWait() API function."] + #[doc = " @param uint32_t ack_mask: bitmask for GPIO ack interrupts, BIT(0) for GPIO32."] #[doc = ""] - #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for more details."] + #[doc = " @return None"] + pub fn gpio_intr_ack_high(ack_mask: u32); +} +extern "C" { + #[doc = " @brief Set GPIO to wakeup the ESP32."] + #[doc = " Please do not call this function in SDK."] #[doc = ""] - #[doc = " @param xTaskToNotify The handle of the task being notified. The handle to a"] - #[doc = " task can be returned from the xTaskCreate() API function used to create the"] - #[doc = " task, and the handle of the currently running task can be obtained by calling"] - #[doc = " xTaskGetCurrentTaskHandle()."] + #[doc = " @param uint32_t i: gpio number."] #[doc = ""] - #[doc = " @param pxHigherPriorityTaskWoken vTaskNotifyGiveFromISR() will set"] - #[doc = " *pxHigherPriorityTaskWoken to pdTRUE if sending the notification caused the"] - #[doc = " task to which the notification was sent to leave the Blocked state, and the"] - #[doc = " unblocked task has a priority higher than the currently running task. If"] - #[doc = " vTaskNotifyGiveFromISR() sets this value to pdTRUE then a context switch"] - #[doc = " should be requested before the interrupt is exited. How a context switch is"] - #[doc = " requested from an ISR is dependent on the port - see the documentation page"] - #[doc = " for the port in use."] + #[doc = " @param GPIO_INT_TYPE intr_state : only GPIO_PIN_INTR_LOLEVEL\\GPIO_PIN_INTR_HILEVEL can be used"] #[doc = ""] - #[doc = " \\ingroup TaskNotifications"] - pub fn vTaskNotifyGiveFromISR( - xTaskToNotify: TaskHandle_t, - pxHigherPriorityTaskWoken: *mut BaseType_t, - ); + #[doc = " @return None"] + pub fn gpio_pin_wakeup_enable(i: u32, intr_state: GPIO_INT_TYPE); +} +extern "C" { + #[doc = " @brief disable GPIOs to wakeup the ESP32."] + #[doc = " Please do not call this function in SDK."] + #[doc = ""] + #[doc = " @param None"] + #[doc = ""] + #[doc = " @return None"] + pub fn gpio_pin_wakeup_disable(); } extern "C" { - #[doc = " Simplified macro for receiving task notification."] + #[doc = " @brief set gpio input to a signal, one gpio can input to several signals."] #[doc = ""] - #[doc = " configUSE_TASK_NOTIFICATIONS must be undefined or defined as 1 for this"] - #[doc = " function to be available."] + #[doc = " @param uint32_t gpio : gpio number, 0~0x27"] + #[doc = " gpio == 0x30, input 0 to signal"] + #[doc = " gpio == 0x34, ???"] + #[doc = " gpio == 0x38, input 1 to signal"] #[doc = ""] - #[doc = " When configUSE_TASK_NOTIFICATIONS is set to one each task has its own private"] - #[doc = " \"notification value\", which is a 32-bit unsigned integer (uint32_t)."] + #[doc = " @param uint32_t signal_idx : signal index."] #[doc = ""] - #[doc = " Events can be sent to a task using an intermediary object. Examples of such"] - #[doc = " objects are queues, semaphores, mutexes and event groups. Task notifications"] - #[doc = " are a method of sending an event directly to a task without the need for such"] - #[doc = " an intermediary object."] + #[doc = " @param bool inv : the signal is inv or not"] #[doc = ""] - #[doc = " A notification sent to a task can optionally perform an action, such as"] - #[doc = " update, overwrite or increment the task\'s notification value. In that way"] - #[doc = " task notifications can be used to send data to a task, or be used as light"] - #[doc = " weight and fast binary or counting semaphores."] + #[doc = " @return None"] + pub fn gpio_matrix_in(gpio: u32, signal_idx: u32, inv: bool); +} +extern "C" { + #[doc = " @brief set signal output to gpio, one signal can output to several gpios."] #[doc = ""] - #[doc = " ulTaskNotifyTake() is intended for use when a task notification is used as a"] - #[doc = " faster and lighter weight binary or counting semaphore alternative. Actual"] - #[doc = " FreeRTOS semaphores are taken using the xSemaphoreTake() API function, the"] - #[doc = " equivalent action that instead uses a task notification is"] - #[doc = " ulTaskNotifyTake()."] + #[doc = " @param uint32_t gpio : gpio number, 0~0x27"] #[doc = ""] - #[doc = " When a task is using its notification value as a binary or counting semaphore"] - #[doc = " other tasks should send notifications to it using the xTaskNotifyGive()"] - #[doc = " macro, or xTaskNotify() function with the eAction parameter set to"] - #[doc = " eIncrement."] + #[doc = " @param uint32_t signal_idx : signal index."] + #[doc = " signal_idx == 0x100, cancel output put to the gpio"] #[doc = ""] - #[doc = " ulTaskNotifyTake() can either clear the task\'s notification value to"] - #[doc = " zero on exit, in which case the notification value acts like a binary"] - #[doc = " semaphore, or decrement the task\'s notification value on exit, in which case"] - #[doc = " the notification value acts like a counting semaphore."] + #[doc = " @param bool out_inv : the signal output is inv or not"] #[doc = ""] - #[doc = " A task can use ulTaskNotifyTake() to [optionally] block to wait for a"] - #[doc = " the task\'s notification value to be non-zero. The task does not consume any"] - #[doc = " CPU time while it is in the Blocked state."] + #[doc = " @param bool oen_inv : the signal output enable is inv or not"] #[doc = ""] - #[doc = " Where as xTaskNotifyWait() will return when a notification is pending,"] - #[doc = " ulTaskNotifyTake() will return when the task\'s notification value is"] - #[doc = " not zero."] + #[doc = " @return None"] + pub fn gpio_matrix_out(gpio: u32, signal_idx: u32, out_inv: bool, oen_inv: bool); +} +extern "C" { + #[doc = " @brief Select pad as a gpio function from IOMUX."] #[doc = ""] - #[doc = " See http://www.FreeRTOS.org/RTOS-task-notifications.html for details."] + #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] #[doc = ""] - #[doc = " @param xClearCountOnExit if xClearCountOnExit is pdFALSE then the task\'s"] - #[doc = " notification value is decremented when the function exits. In this way the"] - #[doc = " notification value acts like a counting semaphore. If xClearCountOnExit is"] - #[doc = " not pdFALSE then the task\'s notification value is cleared to zero when the"] - #[doc = " function exits. In this way the notification value acts like a binary"] - #[doc = " semaphore."] + #[doc = " @return None"] + pub fn gpio_pad_select_gpio(gpio_num: u8); +} +extern "C" { + #[doc = " @brief Set pad driver capability."] #[doc = ""] - #[doc = " @param xTicksToWait The maximum amount of time that the task should wait in"] - #[doc = " the Blocked state for the task\'s notification value to be greater than zero,"] - #[doc = " should the count not already be greater than zero when"] - #[doc = " ulTaskNotifyTake() was called. The task will not consume any processing"] - #[doc = " time while it is in the Blocked state. This is specified in kernel ticks,"] - #[doc = " the macro pdMS_TO_TICSK( value_in_ms ) can be used to convert a time"] - #[doc = " specified in milliseconds to a time specified in ticks."] + #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] #[doc = ""] - #[doc = " @return The task\'s notification count before it is either cleared to zero or"] - #[doc = " decremented (see the xClearCountOnExit parameter)."] + #[doc = " @param uint8_t drv : 0-3"] #[doc = ""] - #[doc = " \\ingroup TaskNotifications"] - pub fn ulTaskNotifyTake(xClearCountOnExit: BaseType_t, xTicksToWait: TickType_t) -> u32; + #[doc = " @return None"] + pub fn gpio_pad_set_drv(gpio_num: u8, drv: u8); } extern "C" { - #[doc = " @cond"] - pub fn xTaskIncrementTick() -> BaseType_t; + #[doc = " @brief Pull up the pad from gpio number."] + #[doc = ""] + #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = ""] + #[doc = " @return None"] + pub fn gpio_pad_pullup(gpio_num: u8); } extern "C" { - pub fn vTaskPlaceOnEventList(pxEventList: *mut List_t, xTicksToWait: TickType_t); + #[doc = " @brief Pull down the pad from gpio number."] + #[doc = ""] + #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = ""] + #[doc = " @return None"] + pub fn gpio_pad_pulldown(gpio_num: u8); } extern "C" { - pub fn vTaskPlaceOnUnorderedEventList( - pxEventList: *mut List_t, - xItemValue: TickType_t, - xTicksToWait: TickType_t, - ); + #[doc = " @brief Unhold the pad from gpio number."] + #[doc = ""] + #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = ""] + #[doc = " @return None"] + pub fn gpio_pad_unhold(gpio_num: u8); } extern "C" { - pub fn vTaskPlaceOnEventListRestricted(pxEventList: *mut List_t, xTicksToWait: TickType_t); + #[doc = " @brief Hold the pad from gpio number."] + #[doc = ""] + #[doc = " @param uint32_t gpio_num : gpio number, 0~0x27"] + #[doc = ""] + #[doc = " @return None"] + pub fn gpio_pad_hold(gpio_num: u8); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct gpio_dev_s { + pub bt_select: u32, + pub out: u32, + pub out_w1ts: u32, + pub out_w1tc: u32, + pub out1: gpio_dev_s__bindgen_ty_1, + pub out1_w1ts: gpio_dev_s__bindgen_ty_2, + pub out1_w1tc: gpio_dev_s__bindgen_ty_3, + pub sdio_select: gpio_dev_s__bindgen_ty_4, + pub enable: u32, + pub enable_w1ts: u32, + pub enable_w1tc: u32, + pub enable1: gpio_dev_s__bindgen_ty_5, + pub enable1_w1ts: gpio_dev_s__bindgen_ty_6, + pub enable1_w1tc: gpio_dev_s__bindgen_ty_7, + pub strap: gpio_dev_s__bindgen_ty_8, + pub in_: u32, + pub in1: gpio_dev_s__bindgen_ty_9, + pub status: u32, + pub status_w1ts: u32, + pub status_w1tc: u32, + pub status1: gpio_dev_s__bindgen_ty_10, + pub status1_w1ts: gpio_dev_s__bindgen_ty_11, + pub status1_w1tc: gpio_dev_s__bindgen_ty_12, + pub reserved_5c: u32, + pub acpu_int: u32, + pub acpu_nmi_int: u32, + pub pcpu_int: u32, + pub pcpu_nmi_int: u32, + pub cpusdio_int: u32, + pub acpu_int1: gpio_dev_s__bindgen_ty_13, + pub acpu_nmi_int1: gpio_dev_s__bindgen_ty_14, + pub pcpu_int1: gpio_dev_s__bindgen_ty_15, + pub pcpu_nmi_int1: gpio_dev_s__bindgen_ty_16, + pub cpusdio_int1: gpio_dev_s__bindgen_ty_17, + pub pin: [gpio_dev_s__bindgen_ty_18; 40usize], + pub cali_conf: gpio_dev_s__bindgen_ty_19, + pub cali_data: gpio_dev_s__bindgen_ty_20, + pub func_in_sel_cfg: [gpio_dev_s__bindgen_ty_21; 256usize], + pub func_out_sel_cfg: [gpio_dev_s__bindgen_ty_22; 40usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_1 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_1__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +} +impl gpio_dev_s__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_2 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_2__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_2__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +} +impl gpio_dev_s__bindgen_ty_2__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_3 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_3__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_3__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +} +impl gpio_dev_s__bindgen_ty_3__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn xTaskRemoveFromEventList(pxEventList: *const List_t) -> BaseType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_4 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_4__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn xTaskRemoveFromUnorderedEventList( - pxEventListItem: *mut ListItem_t, - xItemValue: TickType_t, - ) -> BaseType_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_4__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn vTaskSwitchContext(); +impl gpio_dev_s__bindgen_ty_4__bindgen_ty_1 { + #[inline] + pub fn sel(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_sel(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(sel: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let sel: u32 = unsafe { ::core::mem::transmute(sel) }; + sel as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn uxTaskResetEventItemValue() -> TickType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_5 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_5__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn xTaskGetCurrentTaskHandle() -> TaskHandle_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_5__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn xTaskGetCurrentTaskHandleForCPU(cpuid: BaseType_t) -> TaskHandle_t; +impl gpio_dev_s__bindgen_ty_5__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn vTaskSetTimeOutState(pxTimeOut: *mut TimeOut_t); +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_6 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_6__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn xTaskCheckForTimeOut( - pxTimeOut: *mut TimeOut_t, - pxTicksToWait: *mut TickType_t, - ) -> BaseType_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_6__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn vTaskMissedYield(); +impl gpio_dev_s__bindgen_ty_6__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn xTaskGetSchedulerState() -> BaseType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_7 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_7__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn vTaskPriorityInherit(pxMutexHolder: TaskHandle_t); +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_7__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn xTaskPriorityDisinherit(pxMutexHolder: TaskHandle_t) -> BaseType_t; +impl gpio_dev_s__bindgen_ty_7__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn uxTaskGetTaskNumber(xTask: TaskHandle_t) -> UBaseType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_8 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_8__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn xTaskGetAffinity(xTask: TaskHandle_t) -> BaseType_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_8__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, } -extern "C" { - pub fn vTaskSetTaskNumber(xTask: TaskHandle_t, uxHandle: UBaseType_t); +impl gpio_dev_s__bindgen_ty_8__bindgen_ty_1 { + #[inline] + pub fn strapping(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_strapping(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn reserved16(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_reserved16(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + strapping: u32, + reserved16: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let strapping: u32 = unsafe { ::core::mem::transmute(strapping) }; + strapping as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let reserved16: u32 = unsafe { ::core::mem::transmute(reserved16) }; + reserved16 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn vTaskStepTick(xTicksToJump: TickType_t); +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_9 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_9__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn eTaskConfirmSleepModeStatus() -> eSleepModeStatus; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_9__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - pub fn pvTaskIncrementMutexHeldCount() -> *mut ::std::os::raw::c_void; +impl gpio_dev_s__bindgen_ty_9__bindgen_ty_1 { + #[inline] + pub fn data(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_data(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(data: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let data: u32 = unsafe { ::core::mem::transmute(data) }; + data as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn uxTaskGetSnapshotAll( - pxTaskSnapshotArray: *mut TaskSnapshot_t, - uxArraySize: UBaseType_t, - pxTcbSz: *mut UBaseType_t, - ) -> UBaseType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_10 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_10__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -#[doc = " Type by which ring buffers are referenced. For example, a call to xRingbufferCreate()"] -#[doc = " returns a RingbufHandle_t variable that can then be used as a parameter to"] -#[doc = " xRingbufferSend(), xRingbufferReceive(), etc."] -pub type RingbufHandle_t = *mut ::std::os::raw::c_void; -#[doc = " No-split buffers will only store an item in contiguous memory and will"] -#[doc = " never split an item. Each item requires an 8 byte overhead for a header"] -#[doc = " and will always internally occupy a 32-bit aligned size of space."] -pub const ringbuf_type_t_RINGBUF_TYPE_NOSPLIT: ringbuf_type_t = 0; -#[doc = " Allow-split buffers will split an item into two parts if necessary in"] -#[doc = " order to store it. Each item requires an 8 byte overhead for a header,"] -#[doc = " splitting incurs an extra header. Each item will always internally occupy"] -#[doc = " a 32-bit aligned size of space."] -pub const ringbuf_type_t_RINGBUF_TYPE_ALLOWSPLIT: ringbuf_type_t = 1; -#[doc = " Byte buffers store data as a sequence of bytes and do not maintain separate"] -#[doc = " items, therefore byte buffers have no overhead. All data is stored as a"] -#[doc = " sequence of byte and any number of bytes can be sent or retrieved each"] -#[doc = " time."] -pub const ringbuf_type_t_RINGBUF_TYPE_BYTEBUF: ringbuf_type_t = 2; -pub type ringbuf_type_t = u32; -extern "C" { - #[doc = " @brief Create a ring buffer"] - #[doc = ""] - #[doc = " @param[in] xBufferSize Size of the buffer in bytes. Note that items require"] - #[doc = " space for overhead in no-split/allow-split buffers"] - #[doc = " @param[in] xBufferType Type of ring buffer, see documentation."] - #[doc = ""] - #[doc = " @note xBufferSize of no-split/allow-split buffers will be rounded up to the nearest 32-bit aligned size."] - #[doc = ""] - #[doc = " @return A handle to the created ring buffer, or NULL in case of error."] - pub fn xRingbufferCreate(xBufferSize: usize, xBufferType: ringbuf_type_t) -> RingbufHandle_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_10__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Create a ring buffer of type RINGBUF_TYPE_NOSPLIT for a fixed item_size"] - #[doc = ""] - #[doc = " This API is similar to xRingbufferCreate(), but it will internally allocate"] - #[doc = " additional space for the headers."] - #[doc = ""] - #[doc = " @param[in] xItemSize Size of each item to be put into the ring buffer"] - #[doc = " @param[in] xItemNum Maximum number of items the buffer needs to hold simultaneously"] - #[doc = ""] - #[doc = " @return A RingbufHandle_t handle to the created ring buffer, or NULL in case of error."] - pub fn xRingbufferCreateNoSplit(xItemSize: usize, xItemNum: usize) -> RingbufHandle_t; +impl gpio_dev_s__bindgen_ty_10__bindgen_ty_1 { + #[inline] + pub fn intr_st(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr_st(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + intr_st: u32, + reserved8: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr_st: u32 = unsafe { ::core::mem::transmute(intr_st) }; + intr_st as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Insert an item into the ring buffer"] - #[doc = ""] - #[doc = " Attempt to insert an item into the ring buffer. This function will block until"] - #[doc = " enough free space is available or until it timesout."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to insert the item into"] - #[doc = " @param[in] pvItem Pointer to data to insert. NULL is allowed if xItemSize is 0."] - #[doc = " @param[in] xItemSize Size of data to insert."] - #[doc = " @param[in] xTicksToWait Ticks to wait for room in the ring buffer."] - #[doc = ""] - #[doc = " @note For no-split/allow-split ring buffers, the actual size of memory that"] - #[doc = " the item will occupy will be rounded up to the nearest 32-bit aligned"] - #[doc = " size. This is done to ensure all items are always stored in 32-bit"] - #[doc = " aligned fashion."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - pdTRUE if succeeded"] - #[doc = " - pdFALSE on time-out or when the data is larger than the maximum permissible size of the buffer"] - pub fn xRingbufferSend( - xRingbuffer: RingbufHandle_t, - pvItem: *const ::std::os::raw::c_void, - xItemSize: usize, - xTicksToWait: TickType_t, - ) -> BaseType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_11 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_11__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Insert an item into the ring buffer in an ISR"] - #[doc = ""] - #[doc = " Attempt to insert an item into the ring buffer from an ISR. This function"] - #[doc = " will return immediately if there is insufficient free space in the buffer."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to insert the item into"] - #[doc = " @param[in] pvItem Pointer to data to insert. NULL is allowed if xItemSize is 0."] - #[doc = " @param[in] xItemSize Size of data to insert."] - #[doc = " @param[out] pxHigherPriorityTaskWoken Value pointed to will be set to pdTRUE if the function woke up a higher priority task."] - #[doc = ""] - #[doc = " @note For no-split/allow-split ring buffers, the actual size of memory that"] - #[doc = " the item will occupy will be rounded up to the nearest 32-bit aligned"] - #[doc = " size. This is done to ensure all items are always stored in 32-bit"] - #[doc = " aligned fashion."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - pdTRUE if succeeded"] - #[doc = " - pdFALSE when the ring buffer does not have space."] - pub fn xRingbufferSendFromISR( - xRingbuffer: RingbufHandle_t, - pvItem: *const ::std::os::raw::c_void, - xItemSize: usize, - pxHigherPriorityTaskWoken: *mut BaseType_t, - ) -> BaseType_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_11__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Retrieve an item from the ring buffer"] - #[doc = ""] - #[doc = " Attempt to retrieve an item from the ring buffer. This function will block"] - #[doc = " until an item is available or until it timesout."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] - #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the retrieved item will be written."] - #[doc = " @param[in] xTicksToWait Ticks to wait for items in the ring buffer."] - #[doc = ""] - #[doc = " @note A call to vRingbufferReturnItem() is required after this to free the item retrieved."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with the length of the item."] - #[doc = " - NULL on timeout, *pxItemSize is untouched in that case."] - pub fn xRingbufferReceive( - xRingbuffer: RingbufHandle_t, - pxItemSize: *mut usize, - xTicksToWait: TickType_t, - ) -> *mut ::std::os::raw::c_void; +impl gpio_dev_s__bindgen_ty_11__bindgen_ty_1 { + #[inline] + pub fn intr_st(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr_st(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + intr_st: u32, + reserved8: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr_st: u32 = unsafe { ::core::mem::transmute(intr_st) }; + intr_st as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Retrieve an item from the ring buffer in an ISR"] - #[doc = ""] - #[doc = " Attempt to retrieve an item from the ring buffer. This function returns immediately"] - #[doc = " if there are no items available for retrieval"] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] - #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the"] - #[doc = " retrieved item will be written."] - #[doc = ""] - #[doc = " @note A call to vRingbufferReturnItemFromISR() is required after this to free the item retrieved."] - #[doc = " @note Byte buffers do not allow multiple retrievals before returning an item"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with the length of the item."] - #[doc = " - NULL when the ring buffer is empty, *pxItemSize is untouched in that case."] - pub fn xRingbufferReceiveFromISR( - xRingbuffer: RingbufHandle_t, - pxItemSize: *mut usize, - ) -> *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_12 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_12__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Retrieve a split item from an allow-split ring buffer"] - #[doc = ""] - #[doc = " Attempt to retrieve a split item from an allow-split ring buffer. If the item"] - #[doc = " is not split, only a single item is retried. If the item is split, both parts"] - #[doc = " will be retrieved. This function will block until an item is available or"] - #[doc = " until it timesout."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] - #[doc = " @param[out] ppvHeadItem Double pointer to first part (set to NULL if no items were retrieved)"] - #[doc = " @param[out] ppvTailItem Double pointer to second part (set to NULL if item is not split)"] - #[doc = " @param[out] pxHeadItemSize Pointer to size of first part (unmodified if no items were retrieved)"] - #[doc = " @param[out] pxTailItemSize Pointer to size of second part (unmodified if item is not split)"] - #[doc = " @param[in] xTicksToWait Ticks to wait for items in the ring buffer."] - #[doc = ""] - #[doc = " @note Call(s) to vRingbufferReturnItem() is required after this to free up the item(s) retrieved."] - #[doc = " @note This function should only be called on allow-split buffers"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - pdTRUE if an item (split or unsplit) was retrieved"] - #[doc = " - pdFALSE when no item was retrieved"] - pub fn xRingbufferReceiveSplit( - xRingbuffer: RingbufHandle_t, - ppvHeadItem: *mut *mut ::std::os::raw::c_void, - ppvTailItem: *mut *mut ::std::os::raw::c_void, - pxHeadItemSize: *mut usize, - pxTailItemSize: *mut usize, - xTicksToWait: TickType_t, - ) -> BaseType_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_12__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Retrieve a split item from an allow-split ring buffer in an ISR"] - #[doc = ""] - #[doc = " Attempt to retrieve a split item from an allow-split ring buffer. If the item"] - #[doc = " is not split, only a single item is retried. If the item is split, both parts"] - #[doc = " will be retrieved. This function returns immediately if there are no items"] - #[doc = " available for retrieval"] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] - #[doc = " @param[out] ppvHeadItem Double pointer to first part (set to NULL if no items were retrieved)"] - #[doc = " @param[out] ppvTailItem Double pointer to second part (set to NULL if item is not split)"] - #[doc = " @param[out] pxHeadItemSize Pointer to size of first part (unmodified if no items were retrieved)"] - #[doc = " @param[out] pxTailItemSize Pointer to size of second part (unmodified if item is not split)"] - #[doc = ""] - #[doc = " @note Calls to vRingbufferReturnItemFromISR() is required after this to free up the item(s) retrieved."] - #[doc = " @note This function should only be called on allow-split buffers"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - pdTRUE if an item (split or unsplit) was retrieved"] - #[doc = " - pdFALSE when no item was retrieved"] - pub fn xRingbufferReceiveSplitFromISR( - xRingbuffer: RingbufHandle_t, - ppvHeadItem: *mut *mut ::std::os::raw::c_void, - ppvTailItem: *mut *mut ::std::os::raw::c_void, - pxHeadItemSize: *mut usize, - pxTailItemSize: *mut usize, - ) -> BaseType_t; +impl gpio_dev_s__bindgen_ty_12__bindgen_ty_1 { + #[inline] + pub fn intr_st(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr_st(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + intr_st: u32, + reserved8: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr_st: u32 = unsafe { ::core::mem::transmute(intr_st) }; + intr_st as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Retrieve bytes from a byte buffer, specifying the maximum amount of bytes to retrieve"] - #[doc = ""] - #[doc = " Attempt to retrieve data from a byte buffer whilst specifying a maximum number"] - #[doc = " of bytes to retrieve. This function will block until there is data available"] - #[doc = " for retrieval or until it timesout."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] - #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the retrieved item will be written."] - #[doc = " @param[in] xTicksToWait Ticks to wait for items in the ring buffer."] - #[doc = " @param[in] xMaxSize Maximum number of bytes to return."] - #[doc = ""] - #[doc = " @note A call to vRingbufferReturnItem() is required after this to free up the data retrieved."] - #[doc = " @note This function should only be called on byte buffers"] - #[doc = " @note Byte buffers do not allow multiple retrievals before returning an item"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with"] - #[doc = " the length of the item."] - #[doc = " - NULL on timeout, *pxItemSize is untouched in that case."] - pub fn xRingbufferReceiveUpTo( - xRingbuffer: RingbufHandle_t, - pxItemSize: *mut usize, - xTicksToWait: TickType_t, - xMaxSize: usize, - ) -> *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_13 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_13__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Retrieve bytes from a byte buffer, specifying the maximum amount of"] - #[doc = " bytes to retrieve. Call this from an ISR."] - #[doc = ""] - #[doc = " Attempt to retrieve bytes from a byte buffer whilst specifying a maximum number"] - #[doc = " of bytes to retrieve. This function will return immediately if there is no data"] - #[doc = " available for retrieval."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to retrieve the item from"] - #[doc = " @param[out] pxItemSize Pointer to a variable to which the size of the retrieved item will be written."] - #[doc = " @param[in] xMaxSize Maximum number of bytes to return."] - #[doc = ""] - #[doc = " @note A call to vRingbufferReturnItemFromISR() is required after this to free up the data received."] - #[doc = " @note This function should only be called on byte buffers"] - #[doc = " @note Byte buffers do not allow multiple retrievals before returning an item"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - Pointer to the retrieved item on success; *pxItemSize filled with"] - #[doc = " the length of the item."] - #[doc = " - NULL when the ring buffer is empty, *pxItemSize is untouched in that case."] - pub fn xRingbufferReceiveUpToFromISR( - xRingbuffer: RingbufHandle_t, - pxItemSize: *mut usize, - xMaxSize: usize, - ) -> *mut ::std::os::raw::c_void; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_13__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Return a previously-retrieved item to the ring buffer"] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer the item was retrieved from"] - #[doc = " @param[in] pvItem Item that was received earlier"] - #[doc = ""] - #[doc = " @note If a split item is retrieved, both parts should be returned by calling this function twice"] - pub fn vRingbufferReturnItem(xRingbuffer: RingbufHandle_t, pvItem: *mut ::std::os::raw::c_void); +impl gpio_dev_s__bindgen_ty_13__bindgen_ty_1 { + #[inline] + pub fn intr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr: u32 = unsafe { ::core::mem::transmute(intr) }; + intr as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Return a previously-retrieved item to the ring buffer from an ISR"] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer the item was retrieved from"] - #[doc = " @param[in] pvItem Item that was received earlier"] - #[doc = " @param[out] pxHigherPriorityTaskWoken Value pointed to will be set to pdTRUE"] - #[doc = " if the function woke up a higher priority task."] - #[doc = ""] - #[doc = " @note If a split item is retrieved, both parts should be returned by calling this function twice"] - pub fn vRingbufferReturnItemFromISR( - xRingbuffer: RingbufHandle_t, - pvItem: *mut ::std::os::raw::c_void, - pxHigherPriorityTaskWoken: *mut BaseType_t, - ); +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_14 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_14__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Delete a ring buffer"] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to delete"] - pub fn vRingbufferDelete(xRingbuffer: RingbufHandle_t); +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_14__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Get maximum size of an item that can be placed in the ring buffer"] - #[doc = ""] - #[doc = " This function returns the maximum size an item can have if it was placed in"] - #[doc = " an empty ring buffer."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to query"] - #[doc = ""] - #[doc = " @return Maximum size, in bytes, of an item that can be placed in a ring buffer."] - pub fn xRingbufferGetMaxItemSize(xRingbuffer: RingbufHandle_t) -> usize; +impl gpio_dev_s__bindgen_ty_14__bindgen_ty_1 { + #[inline] + pub fn intr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr: u32 = unsafe { ::core::mem::transmute(intr) }; + intr as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Get current free size available for an item/data in the buffer"] - #[doc = ""] - #[doc = " This gives the real time free space available for an item/data in the ring"] - #[doc = " buffer. This represents the maximum size an item/data can have if it was"] - #[doc = " currently sent to the ring buffer."] - #[doc = ""] - #[doc = " @warning This API is not thread safe. So, if multiple threads are accessing"] - #[doc = " the same ring buffer, it is the application\'s responsibility to"] - #[doc = " ensure atomic access to this API and the subsequent Send"] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to query"] - #[doc = ""] - #[doc = " @return Current free size, in bytes, available for an entry"] - pub fn xRingbufferGetCurFreeSize(xRingbuffer: RingbufHandle_t) -> usize; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_15 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_15__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Add the ring buffer\'s read semaphore to a queue set."] - #[doc = ""] - #[doc = " The ring buffer\'s read semaphore indicates that data has been written"] - #[doc = " to the ring buffer. This function adds the ring buffer\'s read semaphore to"] - #[doc = " a queue set."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to add to the queue set"] - #[doc = " @param[in] xQueueSet Queue set to add the ring buffer\'s read semaphore to"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - pdTRUE on success, pdFALSE otherwise"] - pub fn xRingbufferAddToQueueSetRead( - xRingbuffer: RingbufHandle_t, - xQueueSet: QueueSetHandle_t, - ) -> BaseType_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_15__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Check if the selected queue set member is the ring buffer\'s read semaphore"] - #[doc = ""] - #[doc = " This API checks if queue set member returned from xQueueSelectFromSet()"] - #[doc = " is the read semaphore of this ring buffer. If so, this indicates the ring buffer"] - #[doc = " has items waiting to be retrieved."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer which should be checked"] - #[doc = " @param[in] xMember Member returned from xQueueSelectFromSet"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - pdTRUE when semaphore belongs to ring buffer"] - #[doc = " - pdFALSE otherwise."] - pub fn xRingbufferCanRead( - xRingbuffer: RingbufHandle_t, - xMember: QueueSetMemberHandle_t, - ) -> BaseType_t; +impl gpio_dev_s__bindgen_ty_15__bindgen_ty_1 { + #[inline] + pub fn intr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr: u32 = unsafe { ::core::mem::transmute(intr) }; + intr as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Remove the ring buffer\'s read semaphore from a queue set."] - #[doc = ""] - #[doc = " This specifically removes a ring buffer\'s read semaphore from a queue set. The"] - #[doc = " read semaphore is used to indicate when data has been written to the ring buffer"] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to remove from the queue set"] - #[doc = " @param[in] xQueueSet Queue set to remove the ring buffer\'s read semaphore from"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - pdTRUE on success"] - #[doc = " - pdFALSE otherwise"] - pub fn xRingbufferRemoveFromQueueSetRead( - xRingbuffer: RingbufHandle_t, - xQueueSet: QueueSetHandle_t, - ) -> BaseType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_16 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_16__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Get information about ring buffer status"] - #[doc = ""] - #[doc = " Get information of the a ring buffer\'s current status such as"] - #[doc = " free/read/write pointer positions, and number of items waiting to be retrieved."] - #[doc = " Arguments can be set to NULL if they are not required."] - #[doc = ""] - #[doc = " @param[in] xRingbuffer Ring buffer to remove from the queue set"] - #[doc = " @param[out] uxFree Pointer use to store free pointer position"] - #[doc = " @param[out] uxRead Pointer use to store read pointer position"] - #[doc = " @param[out] uxWrite Pointer use to store write pointer position"] - #[doc = " @param[out] uxItemsWaiting Pointer use to store number of items (bytes for byte buffer) waiting to be retrieved"] - pub fn vRingbufferGetInfo( - xRingbuffer: RingbufHandle_t, - uxFree: *mut UBaseType_t, - uxRead: *mut UBaseType_t, - uxWrite: *mut UBaseType_t, - uxItemsWaiting: *mut UBaseType_t, - ); +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_16__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Debugging function to print the internal pointers in the ring buffer"] - #[doc = ""] - #[doc = " @param xRingbuffer Ring buffer to show"] - pub fn xRingbufferPrintInfo(xRingbuffer: RingbufHandle_t); +impl gpio_dev_s__bindgen_ty_16__bindgen_ty_1 { + #[inline] + pub fn intr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr: u32 = unsafe { ::core::mem::transmute(intr) }; + intr as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @cond"] - pub fn xRingbufferIsNextItemWrapped(xRingbuffer: RingbufHandle_t) -> bool; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_17 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_17__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - pub fn xRingbufferAddToQueueSetWrite( - xRingbuffer: RingbufHandle_t, - xQueueSet: QueueSetHandle_t, - ) -> BaseType_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_17__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +} +impl gpio_dev_s__bindgen_ty_17__bindgen_ty_1 { + #[inline] + pub fn intr(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_intr(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(intr: u32, reserved8: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let intr: u32 = unsafe { ::core::mem::transmute(intr) }; + intr as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - pub fn xRingbufferRemoveFromQueueSetWrite( - xRingbuffer: RingbufHandle_t, - xQueueSet: QueueSetHandle_t, - ) -> BaseType_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_18 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_18__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -#[doc = "< mode: regular UART mode"] -pub const uart_mode_t_UART_MODE_UART: uart_mode_t = 0; -#[doc = "< mode: half duplex RS485 UART mode control by RTS pin"] -pub const uart_mode_t_UART_MODE_RS485_HALF_DUPLEX: uart_mode_t = 1; -#[doc = "< mode: IRDA UART mode"] -pub const uart_mode_t_UART_MODE_IRDA: uart_mode_t = 2; -#[doc = "< mode: RS485 collision detection UART mode (used for test purposes)"] -pub const uart_mode_t_UART_MODE_RS485_COLLISION_DETECT: uart_mode_t = 3; -#[doc = "< mode: application control RS485 UART mode (used for test purposes)"] -pub const uart_mode_t_UART_MODE_RS485_APP_CTRL: uart_mode_t = 4; -#[doc = " @brief UART mode selection"] -pub type uart_mode_t = u32; -#[doc = "< word length: 5bits"] -pub const uart_word_length_t_UART_DATA_5_BITS: uart_word_length_t = 0; -#[doc = "< word length: 6bits"] -pub const uart_word_length_t_UART_DATA_6_BITS: uart_word_length_t = 1; -#[doc = "< word length: 7bits"] -pub const uart_word_length_t_UART_DATA_7_BITS: uart_word_length_t = 2; -#[doc = "< word length: 8bits"] -pub const uart_word_length_t_UART_DATA_8_BITS: uart_word_length_t = 3; -pub const uart_word_length_t_UART_DATA_BITS_MAX: uart_word_length_t = 4; -#[doc = " @brief UART word length constants"] -pub type uart_word_length_t = u32; -#[doc = "< stop bit: 1bit"] -pub const uart_stop_bits_t_UART_STOP_BITS_1: uart_stop_bits_t = 1; -#[doc = "< stop bit: 1.5bits"] -pub const uart_stop_bits_t_UART_STOP_BITS_1_5: uart_stop_bits_t = 2; -#[doc = "< stop bit: 2bits"] -pub const uart_stop_bits_t_UART_STOP_BITS_2: uart_stop_bits_t = 3; -pub const uart_stop_bits_t_UART_STOP_BITS_MAX: uart_stop_bits_t = 4; -#[doc = " @brief UART stop bits number"] -pub type uart_stop_bits_t = u32; -#[doc = "< UART base address 0x3ff40000"] -pub const uart_port_t_UART_NUM_0: uart_port_t = 0; -#[doc = "< UART base address 0x3ff50000"] -pub const uart_port_t_UART_NUM_1: uart_port_t = 1; -#[doc = "< UART base address 0x3ff6e000"] -pub const uart_port_t_UART_NUM_2: uart_port_t = 2; -pub const uart_port_t_UART_NUM_MAX: uart_port_t = 3; -#[doc = " @brief UART peripheral number"] -pub type uart_port_t = u32; -#[doc = "< Disable UART parity"] -pub const uart_parity_t_UART_PARITY_DISABLE: uart_parity_t = 0; -#[doc = "< Enable UART even parity"] -pub const uart_parity_t_UART_PARITY_EVEN: uart_parity_t = 2; -#[doc = "< Enable UART odd parity"] -pub const uart_parity_t_UART_PARITY_ODD: uart_parity_t = 3; -#[doc = " @brief UART parity constants"] -pub type uart_parity_t = u32; -#[doc = "< disable hardware flow control"] -pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_DISABLE: uart_hw_flowcontrol_t = 0; -#[doc = "< enable RX hardware flow control (rts)"] -pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_RTS: uart_hw_flowcontrol_t = 1; -#[doc = "< enable TX hardware flow control (cts)"] -pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_CTS: uart_hw_flowcontrol_t = 2; -#[doc = "< enable hardware flow control"] -pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_CTS_RTS: uart_hw_flowcontrol_t = 3; -pub const uart_hw_flowcontrol_t_UART_HW_FLOWCTRL_MAX: uart_hw_flowcontrol_t = 4; -#[doc = " @brief UART hardware flow control modes"] -pub type uart_hw_flowcontrol_t = u32; -#[doc = " @brief UART configuration parameters for uart_param_config function"] #[repr(C)] +#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct uart_config_t { - #[doc = "< UART baud rate"] - pub baud_rate: ::std::os::raw::c_int, - #[doc = "< UART byte size"] - pub data_bits: uart_word_length_t, - #[doc = "< UART parity mode"] - pub parity: uart_parity_t, - #[doc = "< UART stop bits"] - pub stop_bits: uart_stop_bits_t, - #[doc = "< UART HW flow control mode (cts/rts)"] - pub flow_ctrl: uart_hw_flowcontrol_t, - #[doc = "< UART HW RTS threshold"] - pub rx_flow_ctrl_thresh: u8, - #[doc = "< Set to true if UART should be clocked from REF_TICK"] - pub use_ref_tick: bool, +pub struct gpio_dev_s__bindgen_ty_18__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, +} +impl gpio_dev_s__bindgen_ty_18__bindgen_ty_1 { + #[inline] + pub fn reserved0(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_reserved0(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn pad_driver(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_pad_driver(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved3(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 4u8) as u32) } + } + #[inline] + pub fn set_reserved3(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 4u8, val as u64) + } + } + #[inline] + pub fn int_type(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 3u8) as u32) } + } + #[inline] + pub fn set_int_type(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 3u8, val as u64) + } + } + #[inline] + pub fn wakeup_enable(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_wakeup_enable(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn config(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 2u8) as u32) } + } + #[inline] + pub fn set_config(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 2u8, val as u64) + } + } + #[inline] + pub fn int_ena(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 5u8) as u32) } + } + #[inline] + pub fn set_int_ena(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 5u8, val as u64) + } + } + #[inline] + pub fn reserved18(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 14u8) as u32) } + } + #[inline] + pub fn set_reserved18(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 14u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + reserved0: u32, + pad_driver: u32, + reserved3: u32, + int_type: u32, + wakeup_enable: u32, + config: u32, + int_ena: u32, + reserved18: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let reserved0: u32 = unsafe { ::core::mem::transmute(reserved0) }; + reserved0 as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let pad_driver: u32 = unsafe { ::core::mem::transmute(pad_driver) }; + pad_driver as u64 + }); + __bindgen_bitfield_unit.set(3usize, 4u8, { + let reserved3: u32 = unsafe { ::core::mem::transmute(reserved3) }; + reserved3 as u64 + }); + __bindgen_bitfield_unit.set(7usize, 3u8, { + let int_type: u32 = unsafe { ::core::mem::transmute(int_type) }; + int_type as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let wakeup_enable: u32 = unsafe { ::core::mem::transmute(wakeup_enable) }; + wakeup_enable as u64 + }); + __bindgen_bitfield_unit.set(11usize, 2u8, { + let config: u32 = unsafe { ::core::mem::transmute(config) }; + config as u64 + }); + __bindgen_bitfield_unit.set(13usize, 5u8, { + let int_ena: u32 = unsafe { ::core::mem::transmute(int_ena) }; + int_ena as u64 + }); + __bindgen_bitfield_unit.set(18usize, 14u8, { + let reserved18: u32 = unsafe { ::core::mem::transmute(reserved18) }; + reserved18 as u64 + }); + __bindgen_bitfield_unit + } } -#[doc = " @brief UART interrupt configuration parameters for uart_intr_config function"] #[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct uart_intr_config_t { - #[doc = "< UART interrupt enable mask, choose from UART_XXXX_INT_ENA_M under UART_INT_ENA_REG(i), connect with bit-or operator"] - pub intr_enable_mask: u32, - #[doc = "< UART timeout interrupt threshold (unit: time of sending one byte)"] - pub rx_timeout_thresh: u8, - #[doc = "< UART TX empty interrupt threshold."] - pub txfifo_empty_intr_thresh: u8, - #[doc = "< UART RX full interrupt threshold."] - pub rxfifo_full_thresh: u8, +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_19 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_19__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -#[doc = "< UART data event"] -pub const uart_event_type_t_UART_DATA: uart_event_type_t = 0; -#[doc = "< UART break event"] -pub const uart_event_type_t_UART_BREAK: uart_event_type_t = 1; -#[doc = "< UART RX buffer full event"] -pub const uart_event_type_t_UART_BUFFER_FULL: uart_event_type_t = 2; -#[doc = "< UART FIFO overflow event"] -pub const uart_event_type_t_UART_FIFO_OVF: uart_event_type_t = 3; -#[doc = "< UART RX frame error event"] -pub const uart_event_type_t_UART_FRAME_ERR: uart_event_type_t = 4; -#[doc = "< UART RX parity event"] -pub const uart_event_type_t_UART_PARITY_ERR: uart_event_type_t = 5; -#[doc = "< UART TX data and break event"] -pub const uart_event_type_t_UART_DATA_BREAK: uart_event_type_t = 6; -#[doc = "< UART pattern detected"] -pub const uart_event_type_t_UART_PATTERN_DET: uart_event_type_t = 7; -#[doc = "< UART event max index"] -pub const uart_event_type_t_UART_EVENT_MAX: uart_event_type_t = 8; -#[doc = " @brief UART event types used in the ring buffer"] -pub type uart_event_type_t = u32; -#[doc = " @brief Event structure used in UART event queue"] #[repr(C)] +#[repr(align(4))] #[derive(Debug, Copy, Clone)] -pub struct uart_event_t { - #[doc = "< UART event type"] - pub type_: uart_event_type_t, - #[doc = "< UART data size for UART_DATA event"] - pub size: usize, -} -pub type uart_isr_handle_t = intr_handle_t; -extern "C" { - #[doc = " @brief Set UART data bits."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param data_bit UART data bits"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_word_length(uart_num: uart_port_t, data_bit: uart_word_length_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Get UART data bits."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param data_bit Pointer to accept value of UART data bits."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_OK Success, result will be put in (*data_bit)"] - pub fn uart_get_word_length( - uart_num: uart_port_t, - data_bit: *mut uart_word_length_t, - ) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Set UART stop bits."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param stop_bits UART stop bits"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Fail"] - pub fn uart_set_stop_bits(uart_num: uart_port_t, stop_bits: uart_stop_bits_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Get UART stop bits."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param stop_bits Pointer to accept value of UART stop bits."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_OK Success, result will be put in (*stop_bit)"] - pub fn uart_get_stop_bits(uart_num: uart_port_t, stop_bits: *mut uart_stop_bits_t) - -> esp_err_t; -} -extern "C" { - #[doc = " @brief Set UART parity mode."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param parity_mode the enum of uart parity configuration"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_OK Success"] - pub fn uart_set_parity(uart_num: uart_port_t, parity_mode: uart_parity_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Get UART parity mode."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param parity_mode Pointer to accept value of UART parity mode."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_OK Success, result will be put in (*parity_mode)"] - #[doc = ""] - pub fn uart_get_parity(uart_num: uart_port_t, parity_mode: *mut uart_parity_t) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Set UART baud rate."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param baudrate UART baud rate."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_OK Success"] - pub fn uart_set_baudrate(uart_num: uart_port_t, baudrate: u32) -> esp_err_t; -} -extern "C" { - #[doc = " @brief Get UART baud rate."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param baudrate Pointer to accept value of UART baud rate"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_OK Success, result will be put in (*baudrate)"] - #[doc = ""] - pub fn uart_get_baudrate(uart_num: uart_port_t, baudrate: *mut u32) -> esp_err_t; +pub struct gpio_dev_s__bindgen_ty_19__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Set UART line inverse mode"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param inverse_mask Choose the wires that need to be inverted."] - #[doc = " Inverse_mask should be chosen from"] - #[doc = " UART_INVERSE_RXD / UART_INVERSE_TXD / UART_INVERSE_RTS / UART_INVERSE_CTS,"] - #[doc = " combined with OR operation."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_line_inverse(uart_num: uart_port_t, inverse_mask: u32) -> esp_err_t; +impl gpio_dev_s__bindgen_ty_19__bindgen_ty_1 { + #[inline] + pub fn rtc_max(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) } + } + #[inline] + pub fn set_rtc_max(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 10u8, val as u64) + } + } + #[inline] + pub fn reserved10(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 21u8) as u32) } + } + #[inline] + pub fn set_reserved10(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 21u8, val as u64) + } + } + #[inline] + pub fn start(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_start(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + rtc_max: u32, + reserved10: u32, + start: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 10u8, { + let rtc_max: u32 = unsafe { ::core::mem::transmute(rtc_max) }; + rtc_max as u64 + }); + __bindgen_bitfield_unit.set(10usize, 21u8, { + let reserved10: u32 = unsafe { ::core::mem::transmute(reserved10) }; + reserved10 as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let start: u32 = unsafe { ::core::mem::transmute(start) }; + start as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Set hardware flow control."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param flow_ctrl Hardware flow control mode"] - #[doc = " @param rx_thresh Threshold of Hardware RX flow control (0 ~ UART_FIFO_LEN)."] - #[doc = " Only when UART_HW_FLOWCTRL_RTS is set, will the rx_thresh value be set."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_hw_flow_ctrl( - uart_num: uart_port_t, - flow_ctrl: uart_hw_flowcontrol_t, - rx_thresh: u8, - ) -> esp_err_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_20 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_20__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Set software flow control."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param enable switch on or off"] - #[doc = " @param rx_thresh_xon low water mark"] - #[doc = " @param rx_thresh_xoff high water mark"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_sw_flow_ctrl( - uart_num: uart_port_t, - enable: bool, - rx_thresh_xon: u8, - rx_thresh_xoff: u8, - ) -> esp_err_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_20__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Get hardware flow control mode"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param flow_ctrl Option for different flow control mode."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_OK Success, result will be put in (*flow_ctrl)"] - pub fn uart_get_hw_flow_ctrl( - uart_num: uart_port_t, - flow_ctrl: *mut uart_hw_flowcontrol_t, - ) -> esp_err_t; +impl gpio_dev_s__bindgen_ty_20__bindgen_ty_1 { + #[inline] + pub fn value_sync2(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_value_sync2(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn reserved20(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 10u8) as u32) } + } + #[inline] + pub fn set_reserved20(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 10u8, val as u64) + } + } + #[inline] + pub fn rdy_real(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) } + } + #[inline] + pub fn set_rdy_real(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(30usize, 1u8, val as u64) + } + } + #[inline] + pub fn rdy_sync2(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_rdy_sync2(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + value_sync2: u32, + reserved20: u32, + rdy_real: u32, + rdy_sync2: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let value_sync2: u32 = unsafe { ::core::mem::transmute(value_sync2) }; + value_sync2 as u64 + }); + __bindgen_bitfield_unit.set(20usize, 10u8, { + let reserved20: u32 = unsafe { ::core::mem::transmute(reserved20) }; + reserved20 as u64 + }); + __bindgen_bitfield_unit.set(30usize, 1u8, { + let rdy_real: u32 = unsafe { ::core::mem::transmute(rdy_real) }; + rdy_real as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let rdy_sync2: u32 = unsafe { ::core::mem::transmute(rdy_sync2) }; + rdy_sync2 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Clear UART interrupt status"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param clr_mask Bit mask of the interrupt status to be cleared."] - #[doc = " The bit mask should be composed from the fields of register UART_INT_CLR_REG."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_clear_intr_status(uart_num: uart_port_t, clr_mask: u32) -> esp_err_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_21 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_21__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Set UART interrupt enable"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param enable_mask Bit mask of the enable bits."] - #[doc = " The bit mask should be composed from the fields of register UART_INT_ENA_REG."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_enable_intr_mask(uart_num: uart_port_t, enable_mask: u32) -> esp_err_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_21__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Clear UART interrupt enable bits"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param disable_mask Bit mask of the disable bits."] - #[doc = " The bit mask should be composed from the fields of register UART_INT_ENA_REG."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_disable_intr_mask(uart_num: uart_port_t, disable_mask: u32) -> esp_err_t; +impl gpio_dev_s__bindgen_ty_21__bindgen_ty_1 { + #[inline] + pub fn func_sel(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 6u8) as u32) } + } + #[inline] + pub fn set_func_sel(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 6u8, val as u64) + } + } + #[inline] + pub fn sig_in_inv(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_sig_in_inv(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn sig_in_sel(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_sig_in_sel(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved8(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_reserved8(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + func_sel: u32, + sig_in_inv: u32, + sig_in_sel: u32, + reserved8: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 6u8, { + let func_sel: u32 = unsafe { ::core::mem::transmute(func_sel) }; + func_sel as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let sig_in_inv: u32 = unsafe { ::core::mem::transmute(sig_in_inv) }; + sig_in_inv as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let sig_in_sel: u32 = unsafe { ::core::mem::transmute(sig_in_sel) }; + sig_in_sel as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let reserved8: u32 = unsafe { ::core::mem::transmute(reserved8) }; + reserved8 as u64 + }); + __bindgen_bitfield_unit + } } -extern "C" { - #[doc = " @brief Enable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_enable_rx_intr(uart_num: uart_port_t) -> esp_err_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_dev_s__bindgen_ty_22 { + pub __bindgen_anon_1: gpio_dev_s__bindgen_ty_22__bindgen_ty_1, + pub val: u32, + _bindgen_union_align: u32, } -extern "C" { - #[doc = " @brief Disable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_disable_rx_intr(uart_num: uart_port_t) -> esp_err_t; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct gpio_dev_s__bindgen_ty_22__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } -extern "C" { - #[doc = " @brief Disable UART TX interrupt (TX_FULL & TX_TIMEOUT INTERRUPT)"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_disable_tx_intr(uart_num: uart_port_t) -> esp_err_t; +impl gpio_dev_s__bindgen_ty_22__bindgen_ty_1 { + #[inline] + pub fn func_sel(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 9u8) as u32) } + } + #[inline] + pub fn set_func_sel(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 9u8, val as u64) + } + } + #[inline] + pub fn inv_sel(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_inv_sel(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn oen_sel(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_oen_sel(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn oen_inv_sel(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_oen_inv_sel(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved12(&self) -> u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) } + } + #[inline] + pub fn set_reserved12(&mut self, val: u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 20u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + func_sel: u32, + inv_sel: u32, + oen_sel: u32, + oen_inv_sel: u32, + reserved12: u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 9u8, { + let func_sel: u32 = unsafe { ::core::mem::transmute(func_sel) }; + func_sel as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let inv_sel: u32 = unsafe { ::core::mem::transmute(inv_sel) }; + inv_sel as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let oen_sel: u32 = unsafe { ::core::mem::transmute(oen_sel) }; + oen_sel as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let oen_inv_sel: u32 = unsafe { ::core::mem::transmute(oen_inv_sel) }; + oen_inv_sel as u64 + }); + __bindgen_bitfield_unit.set(12usize, 20u8, { + let reserved12: u32 = unsafe { ::core::mem::transmute(reserved12) }; + reserved12 as u64 + }); + __bindgen_bitfield_unit + } } +pub type gpio_dev_t = gpio_dev_s; extern "C" { - #[doc = " @brief Enable UART TX interrupt (TX_FULL & TX_TIMEOUT INTERRUPT)"] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param enable 1: enable; 0: disable"] - #[doc = " @param thresh Threshold of TX interrupt, 0 ~ UART_FIFO_LEN"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_enable_tx_intr( - uart_num: uart_port_t, - enable: ::std::os::raw::c_int, - thresh: ::std::os::raw::c_int, - ) -> esp_err_t; + pub static mut GPIO: gpio_dev_t; } extern "C" { - #[doc = " @brief Register UART interrupt handler (ISR)."] - #[doc = ""] - #[doc = " @note UART ISR handler will be attached to the same CPU core that this function is running on."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param fn Interrupt handler function."] - #[doc = " @param arg parameter for handler function"] - #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] - #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info."] - #[doc = " @param handle Pointer to return handle. If non-NULL, a handle for the interrupt will"] - #[doc = " be returned here."] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_isr_register( - uart_num: uart_port_t, - fn_: ::core::option::Option, - arg: *mut ::std::os::raw::c_void, - intr_alloc_flags: ::std::os::raw::c_int, - handle: *mut uart_isr_handle_t, - ) -> esp_err_t; + pub static mut GPIO_PIN_MUX_REG: [u32; 40usize]; } -extern "C" { - #[doc = " @brief Free UART interrupt handler registered by uart_isr_register. Must be called on the same core as"] - #[doc = " uart_isr_register was called."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_isr_free(uart_num: uart_port_t) -> esp_err_t; +#[doc = "< Use to signal not connected to S/W"] +pub const gpio_num_t_GPIO_NUM_NC: gpio_num_t = -1; +#[doc = "< GPIO0, input and output"] +pub const gpio_num_t_GPIO_NUM_0: gpio_num_t = 0; +#[doc = "< GPIO1, input and output"] +pub const gpio_num_t_GPIO_NUM_1: gpio_num_t = 1; +#[doc = "< GPIO2, input and output"] +#[doc = "@note There are more enumerations like that"] +#[doc = "up to GPIO39, excluding GPIO20, GPIO24 and GPIO28..31."] +#[doc = "They are not shown here to reduce redundant information."] +#[doc = "@note GPIO34..39 are input mode only."] +pub const gpio_num_t_GPIO_NUM_2: gpio_num_t = 2; +#[doc = "< GPIO3, input and output"] +pub const gpio_num_t_GPIO_NUM_3: gpio_num_t = 3; +#[doc = "< GPIO4, input and output"] +pub const gpio_num_t_GPIO_NUM_4: gpio_num_t = 4; +#[doc = "< GPIO5, input and output"] +pub const gpio_num_t_GPIO_NUM_5: gpio_num_t = 5; +#[doc = "< GPIO6, input and output"] +pub const gpio_num_t_GPIO_NUM_6: gpio_num_t = 6; +#[doc = "< GPIO7, input and output"] +pub const gpio_num_t_GPIO_NUM_7: gpio_num_t = 7; +#[doc = "< GPIO8, input and output"] +pub const gpio_num_t_GPIO_NUM_8: gpio_num_t = 8; +#[doc = "< GPIO9, input and output"] +pub const gpio_num_t_GPIO_NUM_9: gpio_num_t = 9; +#[doc = "< GPIO10, input and output"] +pub const gpio_num_t_GPIO_NUM_10: gpio_num_t = 10; +#[doc = "< GPIO11, input and output"] +pub const gpio_num_t_GPIO_NUM_11: gpio_num_t = 11; +#[doc = "< GPIO12, input and output"] +pub const gpio_num_t_GPIO_NUM_12: gpio_num_t = 12; +#[doc = "< GPIO13, input and output"] +pub const gpio_num_t_GPIO_NUM_13: gpio_num_t = 13; +#[doc = "< GPIO14, input and output"] +pub const gpio_num_t_GPIO_NUM_14: gpio_num_t = 14; +#[doc = "< GPIO15, input and output"] +pub const gpio_num_t_GPIO_NUM_15: gpio_num_t = 15; +#[doc = "< GPIO16, input and output"] +pub const gpio_num_t_GPIO_NUM_16: gpio_num_t = 16; +#[doc = "< GPIO17, input and output"] +pub const gpio_num_t_GPIO_NUM_17: gpio_num_t = 17; +#[doc = "< GPIO18, input and output"] +pub const gpio_num_t_GPIO_NUM_18: gpio_num_t = 18; +#[doc = "< GPIO19, input and output"] +pub const gpio_num_t_GPIO_NUM_19: gpio_num_t = 19; +#[doc = "< GPIO21, input and output"] +pub const gpio_num_t_GPIO_NUM_21: gpio_num_t = 21; +#[doc = "< GPIO22, input and output"] +pub const gpio_num_t_GPIO_NUM_22: gpio_num_t = 22; +#[doc = "< GPIO23, input and output"] +pub const gpio_num_t_GPIO_NUM_23: gpio_num_t = 23; +#[doc = "< GPIO25, input and output"] +pub const gpio_num_t_GPIO_NUM_25: gpio_num_t = 25; +#[doc = "< GPIO26, input and output"] +pub const gpio_num_t_GPIO_NUM_26: gpio_num_t = 26; +#[doc = "< GPIO27, input and output"] +pub const gpio_num_t_GPIO_NUM_27: gpio_num_t = 27; +#[doc = "< GPIO32, input and output"] +pub const gpio_num_t_GPIO_NUM_32: gpio_num_t = 32; +#[doc = "< GPIO33, input and output"] +pub const gpio_num_t_GPIO_NUM_33: gpio_num_t = 33; +#[doc = "< GPIO34, input mode only"] +pub const gpio_num_t_GPIO_NUM_34: gpio_num_t = 34; +#[doc = "< GPIO35, input mode only"] +pub const gpio_num_t_GPIO_NUM_35: gpio_num_t = 35; +#[doc = "< GPIO36, input mode only"] +pub const gpio_num_t_GPIO_NUM_36: gpio_num_t = 36; +#[doc = "< GPIO37, input mode only"] +pub const gpio_num_t_GPIO_NUM_37: gpio_num_t = 37; +#[doc = "< GPIO38, input mode only"] +pub const gpio_num_t_GPIO_NUM_38: gpio_num_t = 38; +#[doc = "< GPIO39, input mode only"] +pub const gpio_num_t_GPIO_NUM_39: gpio_num_t = 39; +pub const gpio_num_t_GPIO_NUM_MAX: gpio_num_t = 40; +pub type gpio_num_t = i32; +#[doc = "< Disable GPIO interrupt"] +pub const gpio_int_type_t_GPIO_INTR_DISABLE: gpio_int_type_t = 0; +#[doc = "< GPIO interrupt type : rising edge"] +pub const gpio_int_type_t_GPIO_INTR_POSEDGE: gpio_int_type_t = 1; +#[doc = "< GPIO interrupt type : falling edge"] +pub const gpio_int_type_t_GPIO_INTR_NEGEDGE: gpio_int_type_t = 2; +#[doc = "< GPIO interrupt type : both rising and falling edge"] +pub const gpio_int_type_t_GPIO_INTR_ANYEDGE: gpio_int_type_t = 3; +#[doc = "< GPIO interrupt type : input low level trigger"] +pub const gpio_int_type_t_GPIO_INTR_LOW_LEVEL: gpio_int_type_t = 4; +#[doc = "< GPIO interrupt type : input high level trigger"] +pub const gpio_int_type_t_GPIO_INTR_HIGH_LEVEL: gpio_int_type_t = 5; +pub const gpio_int_type_t_GPIO_INTR_MAX: gpio_int_type_t = 6; +pub type gpio_int_type_t = u32; +#[doc = "< GPIO mode : disable input and output"] +pub const gpio_mode_t_GPIO_MODE_DISABLE: gpio_mode_t = 0; +#[doc = "< GPIO mode : input only"] +pub const gpio_mode_t_GPIO_MODE_INPUT: gpio_mode_t = 1; +#[doc = "< GPIO mode : output only mode"] +pub const gpio_mode_t_GPIO_MODE_OUTPUT: gpio_mode_t = 2; +#[doc = "< GPIO mode : output only with open-drain mode"] +pub const gpio_mode_t_GPIO_MODE_OUTPUT_OD: gpio_mode_t = 6; +#[doc = "< GPIO mode : output and input with open-drain mode"] +pub const gpio_mode_t_GPIO_MODE_INPUT_OUTPUT_OD: gpio_mode_t = 7; +#[doc = "< GPIO mode : output and input mode"] +pub const gpio_mode_t_GPIO_MODE_INPUT_OUTPUT: gpio_mode_t = 3; +pub type gpio_mode_t = u32; +#[doc = "< Disable GPIO pull-up resistor"] +pub const gpio_pullup_t_GPIO_PULLUP_DISABLE: gpio_pullup_t = 0; +#[doc = "< Enable GPIO pull-up resistor"] +pub const gpio_pullup_t_GPIO_PULLUP_ENABLE: gpio_pullup_t = 1; +pub type gpio_pullup_t = u32; +#[doc = "< Disable GPIO pull-down resistor"] +pub const gpio_pulldown_t_GPIO_PULLDOWN_DISABLE: gpio_pulldown_t = 0; +#[doc = "< Enable GPIO pull-down resistor"] +pub const gpio_pulldown_t_GPIO_PULLDOWN_ENABLE: gpio_pulldown_t = 1; +pub type gpio_pulldown_t = u32; +#[doc = " @brief Configuration parameters of GPIO pad for gpio_config function"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gpio_config_t { + #[doc = "< GPIO pin: set with bit mask, each bit maps to a GPIO"] + pub pin_bit_mask: u64, + #[doc = "< GPIO mode: set input/output mode"] + pub mode: gpio_mode_t, + #[doc = "< GPIO pull-up"] + pub pull_up_en: gpio_pullup_t, + #[doc = "< GPIO pull-down"] + pub pull_down_en: gpio_pulldown_t, + #[doc = "< GPIO interrupt type"] + pub intr_type: gpio_int_type_t, } +#[doc = "< Pad pull up"] +pub const gpio_pull_mode_t_GPIO_PULLUP_ONLY: gpio_pull_mode_t = 0; +#[doc = "< Pad pull down"] +pub const gpio_pull_mode_t_GPIO_PULLDOWN_ONLY: gpio_pull_mode_t = 1; +#[doc = "< Pad pull up + pull down"] +pub const gpio_pull_mode_t_GPIO_PULLUP_PULLDOWN: gpio_pull_mode_t = 2; +#[doc = "< Pad floating"] +pub const gpio_pull_mode_t_GPIO_FLOATING: gpio_pull_mode_t = 3; +pub type gpio_pull_mode_t = u32; +#[doc = "< Pad drive capability: weak"] +pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_0: gpio_drive_cap_t = 0; +#[doc = "< Pad drive capability: stronger"] +pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_1: gpio_drive_cap_t = 1; +#[doc = "< Pad drive capability: default value"] +pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_2: gpio_drive_cap_t = 2; +#[doc = "< Pad drive capability: default value"] +pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_DEFAULT: gpio_drive_cap_t = 2; +#[doc = "< Pad drive capability: strongest"] +pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_3: gpio_drive_cap_t = 3; +pub const gpio_drive_cap_t_GPIO_DRIVE_CAP_MAX: gpio_drive_cap_t = 4; +pub type gpio_drive_cap_t = u32; +pub type gpio_isr_t = + ::core::option::Option; +pub type gpio_isr_handle_t = intr_handle_t; extern "C" { - #[doc = " @brief Set UART pin number"] - #[doc = ""] - #[doc = " @note Internal signal can be output to multiple GPIO pads."] - #[doc = " Only one GPIO pad can connect with input signal."] - #[doc = ""] - #[doc = " @note Instead of GPIO number a macro \'UART_PIN_NO_CHANGE\' may be provided"] - #[doc = "to keep the currently allocated pin."] - #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param tx_io_num UART TX pin GPIO number."] - #[doc = " @param rx_io_num UART RX pin GPIO number."] - #[doc = " @param rts_io_num UART RTS pin GPIO number."] - #[doc = " @param cts_io_num UART CTS pin GPIO number."] + #[doc = " @brief GPIO common configuration"] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_pin( - uart_num: uart_port_t, - tx_io_num: ::std::os::raw::c_int, - rx_io_num: ::std::os::raw::c_int, - rts_io_num: ::std::os::raw::c_int, - cts_io_num: ::std::os::raw::c_int, - ) -> esp_err_t; + #[doc = " Configure GPIO's Mode,pull-up,PullDown,IntrType"] + #[doc = ""] + #[doc = " @param pGPIOConfig Pointer to GPIO configure struct"] + #[doc = ""] + #[doc = " @return"] + #[doc = " - ESP_OK success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = ""] + pub fn gpio_config(pGPIOConfig: *const gpio_config_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Manually set the UART RTS pin level."] - #[doc = " @note UART must be configured with hardware flow control disabled."] + #[doc = " @brief Reset an gpio to default state (select gpio function, enable pullup and disable input and output)."] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param level 1: RTS output low (active); 0: RTS output high (block)"] + #[doc = " @param gpio_num GPIO number."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_rts(uart_num: uart_port_t, level: ::std::os::raw::c_int) -> esp_err_t; + #[doc = " @note This function also configures the IOMUX for this pin to the GPIO"] + #[doc = " function, and disconnects any other peripheral output configured via GPIO"] + #[doc = " Matrix."] + #[doc = ""] + #[doc = " @return Always return ESP_OK."] + pub fn gpio_reset_pin(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Manually set the UART DTR pin level."] + #[doc = " @brief GPIO set interrupt trigger type"] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param level 1: DTR output low; 0: DTR output high"] + #[doc = " @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16);"] + #[doc = " @param intr_type Interrupt type, select from gpio_int_type_t"] #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_dtr(uart_num: uart_port_t, level: ::std::os::raw::c_int) -> esp_err_t; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = ""] + pub fn gpio_set_intr_type(gpio_num: gpio_num_t, intr_type: gpio_int_type_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Set UART idle interval after tx FIFO is empty"] + #[doc = " @brief Enable GPIO module interrupt signal"] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param idle_num idle interval after tx FIFO is empty(unit: the time it takes to send one bit"] - #[doc = " under current baudrate)"] + #[doc = " @note Please do not use the interrupt of GPIO36 and GPIO39 when using ADC."] + #[doc = " Please refer to the comments of `adc1_get_raw`."] + #[doc = " Please refer to section 3.11 of 'ECO_and_Workarounds_for_Bugs_in_ESP32' for the description of this issue."] + #[doc = ""] + #[doc = " @param gpio_num GPIO number. If you want to enable an interrupt on e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_set_tx_idle_num(uart_num: uart_port_t, idle_num: u16) -> esp_err_t; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = ""] + pub fn gpio_intr_enable(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Set UART configuration parameters."] + #[doc = " @brief Disable GPIO module interrupt signal"] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param uart_config UART parameter settings"] + #[doc = " @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_param_config(uart_num: uart_port_t, uart_config: *const uart_config_t) - -> esp_err_t; + #[doc = " - ESP_OK success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + #[doc = ""] + pub fn gpio_intr_disable(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Configure UART interrupts."] + #[doc = " @brief GPIO set output level"] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param intr_conf UART interrupt settings"] + #[doc = " @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] + #[doc = " @param level Output level. 0: low ; 1: high"] #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_intr_config( - uart_num: uart_port_t, - intr_conf: *const uart_intr_config_t, - ) -> esp_err_t; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG GPIO number error"] + #[doc = ""] + pub fn gpio_set_level(gpio_num: gpio_num_t, level: u32) -> esp_err_t; } extern "C" { - #[doc = " @brief Install UART driver."] - #[doc = ""] - #[doc = " UART ISR handler will be attached to the same CPU core that this function is running on."] + #[doc = " @brief GPIO get input level"] #[doc = ""] - #[doc = " @note Rx_buffer_size should be greater than UART_FIFO_LEN. Tx_buffer_size should be either zero or greater than UART_FIFO_LEN."] + #[doc = " @warning If the pad is not configured for input (or input and output) the returned value is always 0."] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param rx_buffer_size UART RX ring buffer size."] - #[doc = " @param tx_buffer_size UART TX ring buffer size."] - #[doc = " If set to zero, driver will not use TX buffer, TX function will block task until all data have been sent out."] - #[doc = " @param queue_size UART event queue size/depth."] - #[doc = " @param uart_queue UART event queue handle (out param). On success, a new queue handle is written here to provide"] - #[doc = " access to UART events. If set to NULL, driver will not use an event queue."] - #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] - #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info. Do not set ESP_INTR_FLAG_IRAM here"] - #[doc = " (the driver\'s ISR handler is not located in IRAM)"] + #[doc = " @param gpio_num GPIO number. If you want to get the logic level of e.g. pin GPIO16, gpio_num should be GPIO_NUM_16 (16);"] #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_driver_install( - uart_num: uart_port_t, - rx_buffer_size: ::std::os::raw::c_int, - tx_buffer_size: ::std::os::raw::c_int, - queue_size: ::std::os::raw::c_int, - uart_queue: *mut QueueHandle_t, - intr_alloc_flags: ::std::os::raw::c_int, - ) -> esp_err_t; + #[doc = " - 0 the GPIO input level is 0"] + #[doc = " - 1 the GPIO input level is 1"] + #[doc = ""] + pub fn gpio_get_level(gpio_num: gpio_num_t) -> ::std::os::raw::c_int; } extern "C" { - #[doc = " @brief Uninstall UART driver."] + #[doc = " @brief\t GPIO set direction"] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " Configure GPIO direction,such as output_only,input_only,output_and_input"] + #[doc = ""] + #[doc = " @param gpio_num Configure GPIO pins number, it should be GPIO number. If you want to set direction of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] + #[doc = " @param mode GPIO direction"] #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_driver_delete(uart_num: uart_port_t) -> esp_err_t; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] + #[doc = ""] + pub fn gpio_set_direction(gpio_num: gpio_num_t, mode: gpio_mode_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Wait until UART TX FIFO is empty."] + #[doc = " @brief Configure GPIO pull-up/pull-down resistors"] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param ticks_to_wait Timeout, count in RTOS ticks"] + #[doc = " Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not."] + #[doc = ""] + #[doc = " @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16);"] + #[doc = " @param pull GPIO pull up/down mode."] #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - #[doc = " - ESP_ERR_TIMEOUT Timeout"] - pub fn uart_wait_tx_done(uart_num: uart_port_t, ticks_to_wait: TickType_t) -> esp_err_t; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG : Parameter error"] + #[doc = ""] + pub fn gpio_set_pull_mode(gpio_num: gpio_num_t, pull: gpio_pull_mode_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Send data to the UART port from a given buffer and length."] + #[doc = " @brief Enable GPIO wake-up function."] #[doc = ""] - #[doc = " This function will not wait for enough space in TX FIFO. It will just fill the available TX FIFO and return when the FIFO is full."] - #[doc = " @note This function should only be used when UART TX buffer is not enabled."] + #[doc = " @param gpio_num GPIO number."] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param buffer data buffer address"] - #[doc = " @param len data length to send"] + #[doc = " @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used."] #[doc = ""] #[doc = " @return"] - #[doc = " - (-1) Parameter error"] - #[doc = " - OTHERS (>=0) The number of bytes pushed to the TX FIFO"] - pub fn uart_tx_chars( - uart_num: uart_port_t, - buffer: *const ::std::os::raw::c_char, - len: u32, - ) -> ::std::os::raw::c_int; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_wakeup_enable(gpio_num: gpio_num_t, intr_type: gpio_int_type_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Send data to the UART port from a given buffer and length,"] - #[doc = ""] - #[doc = " If the UART driver\'s parameter \'tx_buffer_size\' is set to zero:"] - #[doc = " This function will not return until all the data have been sent out, or at least pushed into TX FIFO."] - #[doc = ""] - #[doc = " Otherwise, if the \'tx_buffer_size\' > 0, this function will return after copying all the data to tx ring buffer,"] - #[doc = " UART ISR will then move data from the ring buffer to TX FIFO gradually."] + #[doc = " @brief Disable GPIO wake-up function."] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param src data buffer address"] - #[doc = " @param size data length to send"] + #[doc = " @param gpio_num GPIO number"] #[doc = ""] #[doc = " @return"] - #[doc = " - (-1) Parameter error"] - #[doc = " - OTHERS (>=0) The number of bytes pushed to the TX FIFO"] - pub fn uart_write_bytes( - uart_num: uart_port_t, - src: *const ::std::os::raw::c_char, - size: usize, - ) -> ::std::os::raw::c_int; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_wakeup_disable(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Send data to the UART port from a given buffer and length,"] + #[doc = " @brief Register GPIO interrupt handler, the handler is an ISR."] + #[doc = " The handler will be attached to the same CPU core that this function is running on."] #[doc = ""] - #[doc = " If the UART driver\'s parameter \'tx_buffer_size\' is set to zero:"] - #[doc = " This function will not return until all the data and the break signal have been sent out."] - #[doc = " After all data is sent out, send a break signal."] + #[doc = " This ISR function is called whenever any GPIO interrupt occurs. See"] + #[doc = " the alternative gpio_install_isr_service() and"] + #[doc = " gpio_isr_handler_add() API in order to have the driver support"] + #[doc = " per-GPIO ISRs."] #[doc = ""] - #[doc = " Otherwise, if the \'tx_buffer_size\' > 0, this function will return after copying all the data to tx ring buffer,"] - #[doc = " UART ISR will then move data from the ring buffer to TX FIFO gradually."] - #[doc = " After all data sent out, send a break signal."] + #[doc = " @param fn Interrupt handler function."] + #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] + #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info."] + #[doc = " @param arg Parameter for handler function"] + #[doc = " @param handle Pointer to return handle. If non-NULL, a handle for the interrupt will be returned here."] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param src data buffer address"] - #[doc = " @param size data length to send"] - #[doc = " @param brk_len break signal duration(unit: the time it takes to send one bit at current baudrate)"] + #[doc = " \\verbatim embed:rst:leading-asterisk"] + #[doc = " To disable or remove the ISR, pass the returned handle to the :doc:`interrupt allocation functions `."] + #[doc = " \\endverbatim"] #[doc = ""] #[doc = " @return"] - #[doc = " - (-1) Parameter error"] - #[doc = " - OTHERS (>=0) The number of bytes pushed to the TX FIFO"] - pub fn uart_write_bytes_with_break( - uart_num: uart_port_t, - src: *const ::std::os::raw::c_char, - size: usize, - brk_len: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + #[doc = " - ESP_OK Success ;"] + #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] + #[doc = " - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] + pub fn gpio_isr_register( + fn_: ::core::option::Option, + arg: *mut ::std::os::raw::c_void, + intr_alloc_flags: ::std::os::raw::c_int, + handle: *mut gpio_isr_handle_t, + ) -> esp_err_t; } extern "C" { - #[doc = " @brief UART read bytes from UART buffer"] + #[doc = " @brief Enable pull-up on GPIO."] #[doc = ""] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] - #[doc = " @param buf pointer to the buffer."] - #[doc = " @param length data length"] - #[doc = " @param ticks_to_wait sTimeout, count in RTOS ticks"] + #[doc = " @param gpio_num GPIO number"] #[doc = ""] #[doc = " @return"] - #[doc = " - (-1) Error"] - #[doc = " - OTHERS (>=0) The number of bytes read from UART FIFO"] - pub fn uart_read_bytes( - uart_num: uart_port_t, - buf: *mut u8, - length: u32, - ticks_to_wait: TickType_t, - ) -> ::std::os::raw::c_int; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_pullup_en(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Alias of uart_flush_input."] - #[doc = " UART ring buffer flush. This will discard all data in the UART RX buffer."] - #[doc = " @note Instead of waiting the data sent out, this function will clear UART rx buffer."] - #[doc = " In order to send all the data in tx FIFO, we can use uart_wait_tx_done function."] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @brief Disable pull-up on GPIO."] + #[doc = ""] + #[doc = " @param gpio_num GPIO number"] #[doc = ""] #[doc = " @return"] #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_flush(uart_num: uart_port_t) -> esp_err_t; + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_pullup_dis(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Clear input buffer, discard all the data is in the ring-buffer."] - #[doc = " @note In order to send all the data in tx FIFO, we can use uart_wait_tx_done function."] - #[doc = " @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2"] + #[doc = " @brief Enable pull-down on GPIO."] + #[doc = ""] + #[doc = " @param gpio_num GPIO number"] #[doc = ""] #[doc = " @return"] #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_flush_input(uart_num: uart_port_t) -> esp_err_t; + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_pulldown_en(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief UART get RX ring buffer cached data length"] + #[doc = " @brief Disable pull-down on GPIO."] #[doc = ""] - #[doc = " @param uart_num UART port number."] - #[doc = " @param size Pointer of size_t to accept cached data length"] + #[doc = " @param gpio_num GPIO number"] #[doc = ""] #[doc = " @return"] #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_get_buffered_data_len(uart_num: uart_port_t, size: *mut usize) -> esp_err_t; + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_pulldown_dis(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief UART disable pattern detect function."] - #[doc = " Designed for applications like \'AT commands\'."] - #[doc = " When the hardware detects a series of one same character, the interrupt will be triggered."] + #[doc = " @brief Install the driver's GPIO ISR handler service, which allows per-pin GPIO interrupt handlers."] #[doc = ""] - #[doc = " @param uart_num UART port number."] + #[doc = " This function is incompatible with gpio_isr_register() - if that function is used, a single global ISR is registered for all GPIO interrupts. If this function is used, the ISR service provides a global GPIO ISR and individual pin handlers are registered via the gpio_isr_handler_add() function."] + #[doc = ""] + #[doc = " @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)"] + #[doc = " ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info."] #[doc = ""] #[doc = " @return"] #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_disable_pattern_det_intr(uart_num: uart_port_t) -> esp_err_t; + #[doc = " - ESP_ERR_NO_MEM No memory to install this service"] + #[doc = " - ESP_ERR_INVALID_STATE ISR service already installed."] + #[doc = " - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags"] + #[doc = " - ESP_ERR_INVALID_ARG GPIO error"] + pub fn gpio_install_isr_service(intr_alloc_flags: ::std::os::raw::c_int) -> esp_err_t; } extern "C" { - #[doc = " @brief UART enable pattern detect function."] - #[doc = " Designed for applications like \'AT commands\'."] - #[doc = " When the hardware detect a series of one same character, the interrupt will be triggered."] + #[doc = " @brief Uninstall the driver's GPIO ISR service, freeing related resources."] + pub fn gpio_uninstall_isr_service(); +} +extern "C" { + #[doc = " @brief Add ISR handler for the corresponding GPIO pin."] #[doc = ""] - #[doc = " @param uart_num UART port number."] - #[doc = " @param pattern_chr character of the pattern"] - #[doc = " @param chr_num number of the character, 8bit value."] - #[doc = " @param chr_tout timeout of the interval between each pattern characters, 24bit value, unit is APB (80Mhz) clock cycle."] - #[doc = " When the duration is less than this value, it will not take this data as at_cmd char"] - #[doc = " @param post_idle idle time after the last pattern character, 24bit value, unit is APB (80Mhz) clock cycle."] - #[doc = " When the duration is less than this value, it will not take the previous data as the last at_cmd char"] - #[doc = " @param pre_idle idle time before the first pattern character, 24bit value, unit is APB (80Mhz) clock cycle."] - #[doc = " When the duration is less than this value, it will not take this data as the first at_cmd char"] + #[doc = " Call this function after using gpio_install_isr_service() to"] + #[doc = " install the driver's GPIO ISR handler service."] + #[doc = ""] + #[doc = " The pin ISR handlers no longer need to be declared with IRAM_ATTR,"] + #[doc = " unless you pass the ESP_INTR_FLAG_IRAM flag when allocating the"] + #[doc = " ISR in gpio_install_isr_service()."] + #[doc = ""] + #[doc = " This ISR handler will be called from an ISR. So there is a stack"] + #[doc = " size limit (configurable as \"ISR stack size\" in menuconfig). This"] + #[doc = " limit is smaller compared to a global GPIO interrupt handler due"] + #[doc = " to the additional level of indirection."] + #[doc = ""] + #[doc = " @param gpio_num GPIO number"] + #[doc = " @param isr_handler ISR handler function for the corresponding GPIO number."] + #[doc = " @param args parameter for ISR handler."] #[doc = ""] #[doc = " @return"] #[doc = " - ESP_OK Success"] - #[doc = " - ESP_FAIL Parameter error"] - pub fn uart_enable_pattern_det_intr( - uart_num: uart_port_t, - pattern_chr: ::std::os::raw::c_char, - chr_num: u8, - chr_tout: ::std::os::raw::c_int, - post_idle: ::std::os::raw::c_int, - pre_idle: ::std::os::raw::c_int, + #[doc = " - ESP_ERR_INVALID_STATE Wrong state, the ISR service has not been initialized."] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_isr_handler_add( + gpio_num: gpio_num_t, + isr_handler: gpio_isr_t, + args: *mut ::std::os::raw::c_void, ) -> esp_err_t; } extern "C" { - #[doc = " @brief Return the nearest detected pattern position in buffer."] - #[doc = " The positions of the detected pattern are saved in a queue,"] - #[doc = " this function will dequeue the first pattern position and move the pointer to next pattern position."] - #[doc = " @note If the RX buffer is full and flow control is not enabled,"] - #[doc = " the detected pattern may not be found in the rx buffer due to overflow."] + #[doc = " @brief Remove ISR handler for the corresponding GPIO pin."] #[doc = ""] - #[doc = " The following APIs will modify the pattern position info:"] - #[doc = " uart_flush_input, uart_read_bytes, uart_driver_delete, uart_pop_pattern_pos"] - #[doc = " It is the application\'s responsibility to ensure atomic access to the pattern queue and the rx data buffer"] - #[doc = " when using pattern detect feature."] + #[doc = " @param gpio_num GPIO number"] #[doc = ""] - #[doc = " @param uart_num UART port number"] #[doc = " @return"] - #[doc = " - (-1) No pattern found for current index or parameter error"] - #[doc = " - others the pattern position in rx buffer."] - pub fn uart_pattern_pop_pos(uart_num: uart_port_t) -> ::std::os::raw::c_int; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_STATE Wrong state, the ISR service has not been initialized."] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_isr_handler_remove(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Return the nearest detected pattern position in buffer."] - #[doc = " The positions of the detected pattern are saved in a queue,"] - #[doc = " This function do nothing to the queue."] - #[doc = " @note If the RX buffer is full and flow control is not enabled,"] - #[doc = " the detected pattern may not be found in the rx buffer due to overflow."] + #[doc = " @brief Set GPIO pad drive capability"] #[doc = ""] - #[doc = " The following APIs will modify the pattern position info:"] - #[doc = " uart_flush_input, uart_read_bytes, uart_driver_delete, uart_pop_pattern_pos"] - #[doc = " It is the application\'s responsibility to ensure atomic access to the pattern queue and the rx data buffer"] - #[doc = " when using pattern detect feature."] + #[doc = " @param gpio_num GPIO number, only support output GPIOs"] + #[doc = " @param strength Drive capability of the pad"] #[doc = ""] - #[doc = " @param uart_num UART port number"] #[doc = " @return"] - #[doc = " - (-1) No pattern found for current index or parameter error"] - #[doc = " - others the pattern position in rx buffer."] - pub fn uart_pattern_get_pos(uart_num: uart_port_t) -> ::std::os::raw::c_int; + #[doc = " - ESP_OK Success"] + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_set_drive_capability(gpio_num: gpio_num_t, strength: gpio_drive_cap_t) + -> esp_err_t; } extern "C" { - #[doc = " @brief Allocate a new memory with the given length to save record the detected pattern position in rx buffer."] - #[doc = " @param uart_num UART port number"] - #[doc = " @param queue_length Max queue length for the detected pattern."] - #[doc = " If the queue length is not large enough, some pattern positions might be lost."] - #[doc = " Set this value to the maximum number of patterns that could be saved in data buffer at the same time."] + #[doc = " @brief Get GPIO pad drive capability"] + #[doc = ""] + #[doc = " @param gpio_num GPIO number, only support output GPIOs"] + #[doc = " @param strength Pointer to accept drive capability of the pad"] + #[doc = ""] #[doc = " @return"] - #[doc = " - ESP_ERR_NO_MEM No enough memory"] - #[doc = " - ESP_ERR_INVALID_STATE Driver not installed"] - #[doc = " - ESP_FAIL Parameter error"] #[doc = " - ESP_OK Success"] - pub fn uart_pattern_queue_reset( - uart_num: uart_port_t, - queue_length: ::std::os::raw::c_int, + #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] + pub fn gpio_get_drive_capability( + gpio_num: gpio_num_t, + strength: *mut gpio_drive_cap_t, ) -> esp_err_t; } extern "C" { - #[doc = " @brief UART set communication mode"] - #[doc = " @note This function must be executed after uart_driver_install(), when the driver object is initialized."] - #[doc = " @param uart_num Uart number to configure"] - #[doc = " @param mode UART UART mode to set"] + #[doc = " @brief Enable gpio pad hold function."] + #[doc = ""] + #[doc = " The gpio pad hold function works in both input and output modes, but must be output-capable gpios."] + #[doc = " If pad hold enabled:"] + #[doc = " in output mode: the output level of the pad will be force locked and can not be changed."] + #[doc = " in input mode: the input value read will not change, regardless the changes of input signal."] + #[doc = ""] + #[doc = " The state of digital gpio cannot be held during Deep-sleep, and it will resume the hold function"] + #[doc = " when the chip wakes up from Deep-sleep. If the digital gpio also needs to be held during Deep-sleep,"] + #[doc = " `gpio_deep_sleep_hold_en` should also be called."] + #[doc = ""] + #[doc = " Power down or call gpio_hold_dis will disable this function."] + #[doc = ""] + #[doc = " @param gpio_num GPIO number, only support output-capable GPIOs"] #[doc = ""] #[doc = " @return"] #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn uart_set_mode(uart_num: uart_port_t, mode: uart_mode_t) -> esp_err_t; + #[doc = " - ESP_ERR_NOT_SUPPORTED Not support pad hold function"] + pub fn gpio_hold_en(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief UART set threshold timeout for TOUT feature"] + #[doc = " @brief Disable gpio pad hold function."] #[doc = ""] - #[doc = " @param uart_num Uart number to configure"] - #[doc = " @param tout_thresh This parameter defines timeout threshold in uart symbol periods. The maximum value of threshold is 126."] - #[doc = " tout_thresh = 1, defines TOUT interrupt timeout equal to transmission time of one symbol (~11 bit) on current baudrate."] - #[doc = " If the time is expired the UART_RXFIFO_TOUT_INT interrupt is triggered. If tout_thresh == 0,"] - #[doc = " the TOUT feature is disabled."] + #[doc = " When the chip is woken up from Deep-sleep, the gpio will be set to the default mode, so, the gpio will output"] + #[doc = " the default level if this function is called. If you dont't want the level changes, the gpio should be configured to"] + #[doc = " a known state before this function is called."] + #[doc = " e.g."] + #[doc = " If you hold gpio18 high during Deep-sleep, after the chip is woken up and `gpio_hold_dis` is called,"] + #[doc = " gpio18 will output low level(because gpio18 is input mode by default). If you don't want this behavior,"] + #[doc = " you should configure gpio18 as output mode and set it to hight level before calling `gpio_hold_dis`."] + #[doc = ""] + #[doc = " @param gpio_num GPIO number, only support output-capable GPIOs"] #[doc = ""] #[doc = " @return"] #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - #[doc = " - ESP_ERR_INVALID_STATE Driver is not installed"] - pub fn uart_set_rx_timeout(uart_num: uart_port_t, tout_thresh: u8) -> esp_err_t; + #[doc = " - ESP_ERR_NOT_SUPPORTED Not support pad hold function"] + pub fn gpio_hold_dis(gpio_num: gpio_num_t) -> esp_err_t; } extern "C" { - #[doc = " @brief Returns collision detection flag for RS485 mode"] - #[doc = " Function returns the collision detection flag into variable pointed by collision_flag."] - #[doc = " *collision_flag = true, if collision detected else it is equal to false."] - #[doc = " This function should be executed when actual transmission is completed (after uart_write_bytes())."] + #[doc = " @brief Enable all digital gpio pad hold function during Deep-sleep."] #[doc = ""] - #[doc = " @param uart_num Uart number to configure"] - #[doc = " @param collision_flag Pointer to variable of type bool to return collision flag."] + #[doc = " When the chip is in Deep-sleep mode, all digital gpio will hold the state before sleep, and when the chip is woken up,"] + #[doc = " the status of digital gpio will not be held. Note that the pad hold feature only works when the chip is in Deep-sleep mode,"] + #[doc = " when not in sleep mode, the digital gpio state can be changed even you have called this function."] #[doc = ""] - #[doc = " @return"] - #[doc = " - ESP_OK Success"] - #[doc = " - ESP_ERR_INVALID_ARG Parameter error"] - pub fn uart_get_collision_flag(uart_num: uart_port_t, collision_flag: *mut bool) -> esp_err_t; + #[doc = " Power down or call gpio_hold_dis will disable this function, otherwise, the digital gpio hold feature works as long as the chip enter Deep-sleep."] + pub fn gpio_deep_sleep_hold_en(); } extern "C" { - #[doc = " @brief Set the number of RX pin signal edges for light sleep wakeup"] + #[doc = " @brief Disable all digital gpio pad hold function during Deep-sleep."] #[doc = ""] - #[doc = " UART can be used to wake up the system from light sleep. This feature works"] - #[doc = " by counting the number of positive edges on RX pin and comparing the count to"] - #[doc = " the threshold. When the count exceeds the threshold, system is woken up from"] - #[doc = " light sleep. This function allows setting the threshold value."] + pub fn gpio_deep_sleep_hold_dis(); +} +extern "C" { + #[doc = " @brief Set pad input to a peripheral signal through the IOMUX."] + #[doc = " @param gpio_num GPIO number of the pad."] + #[doc = " @param signal_idx Peripheral signal id to input. One of the ``*_IN_IDX`` signals in ``soc/gpio_sig_map.h``."] + pub fn gpio_iomux_in(gpio_num: u32, signal_idx: u32); +} +extern "C" { + #[doc = " @brief Set peripheral output to an GPIO pad through the IOMUX."] + #[doc = " @param gpio_num gpio_num GPIO number of the pad."] + #[doc = " @param func The function number of the peripheral pin to output pin."] + #[doc = " One of the ``FUNC_X_*`` of specified pin (X) in ``soc/io_mux_reg.h``."] + #[doc = " @param oen_inv True if the output enable needs to be inversed, otherwise False."] + pub fn gpio_iomux_out(gpio_num: u8, func: ::std::os::raw::c_int, oen_inv: bool); +} +#[doc = "< No log output"] +pub const esp_log_level_t_ESP_LOG_NONE: esp_log_level_t = 0; +#[doc = "< Critical errors, software module can not recover on its own"] +pub const esp_log_level_t_ESP_LOG_ERROR: esp_log_level_t = 1; +#[doc = "< Error conditions from which recovery measures have been taken"] +pub const esp_log_level_t_ESP_LOG_WARN: esp_log_level_t = 2; +#[doc = "< Information messages which describe normal flow of events"] +pub const esp_log_level_t_ESP_LOG_INFO: esp_log_level_t = 3; +#[doc = "< Extra information which is not necessary for normal use (values, pointers, sizes, etc)."] +pub const esp_log_level_t_ESP_LOG_DEBUG: esp_log_level_t = 4; +#[doc = "< Bigger chunks of debugging information, or frequent messages which can potentially flood the output."] +pub const esp_log_level_t_ESP_LOG_VERBOSE: esp_log_level_t = 5; +#[doc = " @brief Log level"] +#[doc = ""] +pub type esp_log_level_t = u32; +pub type vprintf_like_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_char, + arg2: va_list, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + #[doc = " @brief Set log level for given tag"] #[doc = ""] - #[doc = " Stop bit and parity bits (if enabled) also contribute to the number of edges."] - #[doc = " For example, letter \'a\' with ASCII code 97 is encoded as 0100001101 on the wire"] - #[doc = " (with 8n1 configuration), start and stop bits included. This sequence has 3"] - #[doc = " positive edges (transitions from 0 to 1). Therefore, to wake up the system"] - #[doc = " when \'a\' is sent, set wakeup_threshold=3."] + #[doc = " If logging for given component has already been enabled, changes previous setting."] #[doc = ""] - #[doc = " The character that triggers wakeup is not received by UART (i.e. it can not"] - #[doc = " be obtained from UART FIFO). Depending on the baud rate, a few characters"] - #[doc = " after that will also not be received. Note that when the chip enters and exits"] - #[doc = " light sleep mode, APB frequency will be changing. To make sure that UART has"] - #[doc = " correct baud rate all the time, select REF_TICK as UART clock source,"] - #[doc = " by setting use_ref_tick field in uart_config_t to true."] + #[doc = " Note that this function can not raise log level above the level set using"] + #[doc = " CONFIG_LOG_DEFAULT_LEVEL setting in menuconfig."] #[doc = ""] - #[doc = " @note in ESP32, the wakeup signal can only be input via IO_MUX (i.e."] - #[doc = " GPIO3 should be configured as function_1 to wake up UART0,"] - #[doc = " GPIO9 should be configured as function_5 to wake up UART1), UART2"] - #[doc = " does not support light sleep wakeup feature."] + #[doc = " To raise log level above the default one for a given file, define"] + #[doc = " LOG_LOCAL_LEVEL to one of the ESP_LOG_* values, before including"] + #[doc = " esp_log.h in this file."] #[doc = ""] - #[doc = " @param uart_num UART number"] - #[doc = " @param wakeup_threshold number of RX edges for light sleep wakeup, value is 3 .. 0x3ff."] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if uart_num is incorrect or wakeup_threshold is"] - #[doc = " outside of [3, 0x3ff] range."] - pub fn uart_set_wakeup_threshold( - uart_num: uart_port_t, - wakeup_threshold: ::std::os::raw::c_int, - ) -> esp_err_t; + #[doc = " @param tag Tag of the log entries to enable. Must be a non-NULL zero terminated string."] + #[doc = " Value \"*\" resets log level for all tags to the given value."] + #[doc = ""] + #[doc = " @param level Selects log level to enable. Only logs at this and lower verbosity"] + #[doc = " levels will be shown."] + pub fn esp_log_level_set(tag: *const ::std::os::raw::c_char, level: esp_log_level_t); } extern "C" { - #[doc = " @brief Get the number of RX pin signal edges for light sleep wakeup."] + #[doc = " @brief Set function used to output log entries"] #[doc = ""] - #[doc = " See description of uart_set_wakeup_threshold for the explanation of UART"] - #[doc = " wakeup feature."] + #[doc = " By default, log output goes to UART0. This function can be used to redirect log"] + #[doc = " output to some other destination, such as file or network. Returns the original"] + #[doc = " log handler, which may be necessary to return output to the previous destination."] #[doc = ""] - #[doc = " @param uart_num UART number"] - #[doc = " @param[out] out_wakeup_threshold output, set to the current value of wakeup"] - #[doc = " threshold for the given UART."] - #[doc = " @return"] - #[doc = " - ESP_OK on success"] - #[doc = " - ESP_ERR_INVALID_ARG if out_wakeup_threshold is NULL"] - pub fn uart_get_wakeup_threshold( - uart_num: uart_port_t, - out_wakeup_threshold: *mut ::std::os::raw::c_int, - ) -> esp_err_t; + #[doc = " @param func new Function used for output. Must have same signature as vprintf."] + #[doc = ""] + #[doc = " @return func old Function used for output."] + pub fn esp_log_set_vprintf(func: vprintf_like_t) -> vprintf_like_t; +} +extern "C" { + #[doc = " @brief Function which returns timestamp to be used in log output"] + #[doc = ""] + #[doc = " This function is used in expansion of ESP_LOGx macros."] + #[doc = " In the 2nd stage bootloader, and at early application startup stage"] + #[doc = " this function uses CPU cycle counter as time source. Later when"] + #[doc = " FreeRTOS scheduler start running, it switches to FreeRTOS tick count."] + #[doc = ""] + #[doc = " For now, we ignore millisecond counter overflow."] + #[doc = ""] + #[doc = " @return timestamp, in milliseconds"] + pub fn esp_log_timestamp() -> u32; +} +extern "C" { + #[doc = " @brief Function which returns timestamp to be used in log output"] + #[doc = ""] + #[doc = " This function uses HW cycle counter and does not depend on OS,"] + #[doc = " so it can be safely used after application crash."] + #[doc = ""] + #[doc = " @return timestamp, in milliseconds"] + pub fn esp_log_early_timestamp() -> u32; +} +extern "C" { + #[doc = " @brief Write message into the log"] + #[doc = ""] + #[doc = " This function is not intended to be used directly. Instead, use one of"] + #[doc = " ESP_LOGE, ESP_LOGW, ESP_LOGI, ESP_LOGD, ESP_LOGV macros."] + #[doc = ""] + #[doc = " This function or these macros should not be used from an interrupt."] + pub fn esp_log_write( + level: esp_log_level_t, + tag: *const ::std::os::raw::c_char, + format: *const ::std::os::raw::c_char, + ... + ); +} +extern "C" { + pub fn esp_log_buffer_hex_internal( + tag: *const ::std::os::raw::c_char, + buffer: *const ::std::os::raw::c_void, + buff_len: u16, + level: esp_log_level_t, + ); +} +extern "C" { + pub fn esp_log_buffer_char_internal( + tag: *const ::std::os::raw::c_char, + buffer: *const ::std::os::raw::c_void, + buff_len: u16, + level: esp_log_level_t, + ); +} +extern "C" { + pub fn esp_log_buffer_hexdump_internal( + tag: *const ::std::os::raw::c_char, + buffer: *const ::std::os::raw::c_void, + buff_len: u16, + log_level: esp_log_level_t, + ); } pub type __builtin_va_list = __va_list_tag; #[repr(C)] diff --git a/flash_and_console.sh b/flash_and_console.sh new file mode 100755 index 0000000..285ed2a --- /dev/null +++ b/flash_and_console.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +source setenv.sh + +python \ +/home/matt/workspace/esp32/espressif/esp-idf/components/esptool_py/esptool/esptool.py \ + --chip esp32 --port $1 --baud 115200 --before default_reset \ + --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m \ + --flash_size detect 0x10000 \ + $TARGET_DIR/esp32-hello.bin && \ +picocom -b 115200 $1 diff --git a/main/hello_world_main.c b/main/hello_world_main.c index 36b5510..a932451 100644 --- a/main/hello_world_main.c +++ b/main/hello_world_main.c @@ -1 +1,7 @@ -void app_main() {} +#include "esp_log.h" + +void app_main() { + ESP_LOGI("C Main", + "You should not get here. Eiher the linker is broken,\n" + "or you flashed the wrong code.."); +} diff --git a/sdkconfig b/sdkconfig index 0fb816b..84c35b8 100644 --- a/sdkconfig +++ b/sdkconfig @@ -1,539 +1,418 @@ # -# Automatically generated file; DO NOT EDIT. -# Espressif IoT Development Framework Configuration +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) Project Configuration # +CONFIG_IDF_TARGET_ESP32=y CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 # # SDK tool configuration # -CONFIG_TOOLPREFIX="xtensa-esp32-elf-" -CONFIG_PYTHON="python" -CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y - -# -# Application manager -# +CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" +CONFIG_SDK_PYTHON="python" +CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES=y CONFIG_APP_COMPILE_TIME_DATE=y -CONFIG_APP_EXCLUDE_PROJECT_VER_VAR= -CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR= - -# -# Bootloader config -# -CONFIG_LOG_BOOTLOADER_LEVEL_NONE= -CONFIG_LOG_BOOTLOADER_LEVEL_ERROR= -CONFIG_LOG_BOOTLOADER_LEVEL_WARN= -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG= -CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE= -CONFIG_LOG_BOOTLOADER_LEVEL=3 -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V= +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 +# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y -CONFIG_BOOTLOADER_FACTORY_RESET= -CONFIG_BOOTLOADER_APP_TEST= +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set CONFIG_BOOTLOADER_WDT_ENABLE=y -CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE= +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set CONFIG_BOOTLOADER_WDT_TIME_MS=9000 -CONFIG_APP_ROLLBACK_ENABLE= - -# -# Security features -# -CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT= -CONFIG_SECURE_BOOT_ENABLED= -CONFIG_FLASH_ENCRYPTION_ENABLED= - -# -# Serial flasher config -# +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT_ENABLED is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set CONFIG_ESPTOOLPY_PORT="/dev/ttyUSB0" CONFIG_ESPTOOLPY_BAUD_115200B=y -CONFIG_ESPTOOLPY_BAUD_230400B= -CONFIG_ESPTOOLPY_BAUD_921600B= -CONFIG_ESPTOOLPY_BAUD_2MB= -CONFIG_ESPTOOLPY_BAUD_OTHER= +# CONFIG_ESPTOOLPY_BAUD_230400B is not set +# CONFIG_ESPTOOLPY_BAUD_921600B is not set +# CONFIG_ESPTOOLPY_BAUD_2MB is not set +# CONFIG_ESPTOOLPY_BAUD_OTHER is not set CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 CONFIG_ESPTOOLPY_BAUD=115200 CONFIG_ESPTOOLPY_COMPRESSED=y -CONFIG_FLASHMODE_QIO= -CONFIG_FLASHMODE_QOUT= -CONFIG_FLASHMODE_DIO=y -CONFIG_FLASHMODE_DOUT= +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASHMODE="dio" -CONFIG_ESPTOOLPY_FLASHFREQ_80M= +# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set CONFIG_ESPTOOLPY_FLASHFREQ_40M=y -CONFIG_ESPTOOLPY_FLASHFREQ_26M= -CONFIG_ESPTOOLPY_FLASHFREQ_20M= +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set CONFIG_ESPTOOLPY_FLASHFREQ="40m" -CONFIG_ESPTOOLPY_FLASHSIZE_1MB= +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -CONFIG_ESPTOOLPY_FLASHSIZE_4MB= -CONFIG_ESPTOOLPY_FLASHSIZE_8MB= -CONFIG_ESPTOOLPY_FLASHSIZE_16MB= +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set CONFIG_ESPTOOLPY_FLASHSIZE="2MB" CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y CONFIG_ESPTOOLPY_BEFORE_RESET=y -CONFIG_ESPTOOLPY_BEFORE_NORESET= +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set CONFIG_ESPTOOLPY_BEFORE="default_reset" CONFIG_ESPTOOLPY_AFTER_RESET=y -CONFIG_ESPTOOLPY_AFTER_NORESET= +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set CONFIG_ESPTOOLPY_AFTER="hard_reset" -CONFIG_MONITOR_BAUD_9600B= -CONFIG_MONITOR_BAUD_57600B= -CONFIG_MONITOR_BAUD_115200B=y -CONFIG_MONITOR_BAUD_230400B= -CONFIG_MONITOR_BAUD_921600B= -CONFIG_MONITOR_BAUD_2MB= -CONFIG_MONITOR_BAUD_OTHER= -CONFIG_MONITOR_BAUD_OTHER_VAL=115200 -CONFIG_MONITOR_BAUD=115200 - -# -# Partition Table -# +# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set +# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set +CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 CONFIG_PARTITION_TABLE_SINGLE_APP=y -CONFIG_PARTITION_TABLE_TWO_OTA= -CONFIG_PARTITION_TABLE_CUSTOM= +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# CONFIG_PARTITION_TABLE_CUSTOM is not set CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y - -# -# Compiler options -# -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_OPTIMIZATION_LEVEL_RELEASE= -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= -CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= -CONFIG_CXX_EXCEPTIONS= -CONFIG_STACK_CHECK_NONE=y -CONFIG_STACK_CHECK_NORM= -CONFIG_STACK_CHECK_STRONG= -CONFIG_STACK_CHECK_ALL= -CONFIG_STACK_CHECK= -CONFIG_WARN_WRITE_STRINGS= -CONFIG_DISABLE_GCC8_WARNINGS= - -# -# Component config -# - -# -# Application Level Tracing -# -CONFIG_ESP32_APPTRACE_DEST_TRAX= +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_STACK_CHECK is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_ENABLE= +# CONFIG_ESP32_APPTRACE_ENABLE is not set CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -CONFIG_AWS_IOT_SDK= - -# -# Bluetooth -# -CONFIG_BT_ENABLED= -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +# CONFIG_BT_ENABLED is not set +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 CONFIG_BT_RESERVE_DRAM=0 - -# -# Driver configurations -# - -# -# ADC configuration -# -CONFIG_ADC_FORCE_XPD_FSM= -CONFIG_ADC2_DISABLE_DAC=y - -# -# SPI configuration -# -CONFIG_SPI_MASTER_IN_IRAM= +# CONFIG_ADC_FORCE_XPD_FSM is not set +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y -CONFIG_SPI_SLAVE_IN_IRAM= +# CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y - -# -# eFuse Bit Manager -# -CONFIG_EFUSE_CUSTOM_TABLE= -CONFIG_EFUSE_VIRTUAL= -CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE= +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT= +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set CONFIG_EFUSE_MAX_BLK_LEN=192 - -# -# ESP32-specific -# -CONFIG_IDF_TARGET_ESP32=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_80= +# CONFIG_ESP_TLS_SERVER is not set +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_DPORT_WORKAROUND=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_240= +# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_SPIRAM_SUPPORT= -CONFIG_MEMMAP_TRACEMEM= -CONFIG_MEMMAP_TRACEMEM_TWOBANKS= -CONFIG_ESP32_TRAX= -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -CONFIG_TWO_UNIVERSAL_MAC_ADDRESS= -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -CONFIG_IPC_TASK_STACK_SIZE=1024 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF= -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR= -CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF= -CONFIG_NEWLIB_STDIN_LINE_ENDING_LF= -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -CONFIG_NEWLIB_NANO_FORMAT= -CONFIG_CONSOLE_UART_DEFAULT=y -CONFIG_CONSOLE_UART_CUSTOM= -CONFIG_CONSOLE_UART_NONE= -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ULP_COPROC_ENABLED= -CONFIG_ULP_COPROC_RESERVE_MEM=0 -CONFIG_ESP32_PANIC_PRINT_HALT= +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM is not set +# CONFIG_ESP32_MEMMAP_TRACEMEM_TWOBANKS is not set +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set CONFIG_ESP32_PANIC_PRINT_REBOOT=y -CONFIG_ESP32_PANIC_SILENT_REBOOT= -CONFIG_ESP32_PANIC_GDBSTUB= +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set CONFIG_ESP32_DEBUG_OCDAWARE=y CONFIG_ESP32_DEBUG_STUBS_ENABLE=y -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_TASK_WDT_PANIC= -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -CONFIG_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_0=y -CONFIG_BROWNOUT_DET_LVL_SEL_1= -CONFIG_BROWNOUT_DET_LVL_SEL_2= -CONFIG_BROWNOUT_DET_LVL_SEL_3= -CONFIG_BROWNOUT_DET_LVL_SEL_4= -CONFIG_BROWNOUT_DET_LVL_SEL_5= -CONFIG_BROWNOUT_DET_LVL_SEL_6= -CONFIG_BROWNOUT_DET_LVL_SEL_7= -CONFIG_BROWNOUT_DET_LVL=0 -CONFIG_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_ESP32_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_REDUCE_PHY_TX_POWER=y CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC= -CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= -CONFIG_ESP32_TIME_SYSCALL_USE_NONE= -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL= -CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC= -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256= +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 CONFIG_ESP32_XTAL_FREQ_40=y -CONFIG_ESP32_XTAL_FREQ_26= -CONFIG_ESP32_XTAL_FREQ_AUTO= +# CONFIG_ESP32_XTAL_FREQ_26 is not set +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set CONFIG_ESP32_XTAL_FREQ=40 -CONFIG_DISABLE_BASIC_ROM_CONSOLE= -CONFIG_NO_BLOBS= -CONFIG_ESP_TIMER_PROFILING= -CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS= +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 +# CONFIG_PM_ENABLE is not set +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ESP_TIMER_PROFILING is not set CONFIG_ESP_ERR_TO_NAME_LOOKUP=y - -# -# Wi-Fi -# +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +# CONFIG_ETH_PHY_INTERFACE_MII is not set +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_SMI_MDC_GPIO=23 +CONFIG_ETH_SMI_MDIO_GPIO=18 +CONFIG_ETH_PHY_USE_RST=y +CONFIG_ETH_PHY_RST_GPIO=5 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +CONFIG_ETH_USE_SPI_ETHERNET=y +CONFIG_ETH_SPI_ETHERNET_DM9051=y +CONFIG_ETH_DM9051_INT_GPIO=4 +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER= +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_CSI_ENABLED= +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1= +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE= +# CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set CONFIG_ESP32_WIFI_IRAM_OPT=y - -# -# PHY -# CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION= +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP32_PHY_MAX_TX_POWER=20 - -# -# Power Management -# -CONFIG_PM_ENABLE= - -# -# ADC-Calibration -# -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y - -# -# Event Loop Library -# -CONFIG_EVENT_LOOP_PROFILING= - -# -# ESP HTTP client -# -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y - -# -# HTTP Server -# -CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 -CONFIG_HTTPD_MAX_URI_LEN=512 -CONFIG_HTTPD_ERR_RESP_NO_DELAY=y - -# -# ESP HTTPS OTA -# -CONFIG_OTA_ALLOW_HTTP= - -# -# Core dump -# -CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH= -CONFIG_ESP32_ENABLE_COREDUMP_TO_UART= +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_ESP32_ENABLE_COREDUMP= - -# -# Ethernet -# -CONFIG_DMA_RX_BUF_NUM=10 -CONFIG_DMA_TX_BUF_NUM=10 -CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE=y -CONFIG_EMAC_CHECK_LINK_PERIOD_MS=2000 -CONFIG_EMAC_TASK_PRIORITY=20 -CONFIG_EMAC_TASK_STACK_SIZE=3072 - -# -# FAT Filesystem support -# -CONFIG_FATFS_CODEPAGE_DYNAMIC= +# CONFIG_ESP32_ENABLE_COREDUMP is not set +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set CONFIG_FATFS_CODEPAGE_437=y -CONFIG_FATFS_CODEPAGE_720= -CONFIG_FATFS_CODEPAGE_737= -CONFIG_FATFS_CODEPAGE_771= -CONFIG_FATFS_CODEPAGE_775= -CONFIG_FATFS_CODEPAGE_850= -CONFIG_FATFS_CODEPAGE_852= -CONFIG_FATFS_CODEPAGE_855= -CONFIG_FATFS_CODEPAGE_857= -CONFIG_FATFS_CODEPAGE_860= -CONFIG_FATFS_CODEPAGE_861= -CONFIG_FATFS_CODEPAGE_862= -CONFIG_FATFS_CODEPAGE_863= -CONFIG_FATFS_CODEPAGE_864= -CONFIG_FATFS_CODEPAGE_865= -CONFIG_FATFS_CODEPAGE_866= -CONFIG_FATFS_CODEPAGE_869= -CONFIG_FATFS_CODEPAGE_932= -CONFIG_FATFS_CODEPAGE_936= -CONFIG_FATFS_CODEPAGE_949= -CONFIG_FATFS_CODEPAGE_950= +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set CONFIG_FATFS_CODEPAGE=437 CONFIG_FATFS_LFN_NONE=y -CONFIG_FATFS_LFN_HEAP= -CONFIG_FATFS_LFN_STACK= +# CONFIG_FATFS_LFN_HEAP is not set +# CONFIG_FATFS_LFN_STACK is not set CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y - -# -# Modbus configuration -# -CONFIG_MB_QUEUE_LENGTH=20 -CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 -CONFIG_MB_SERIAL_BUF_SIZE=256 -CONFIG_MB_SERIAL_TASK_PRIO=10 -CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT= -CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 -CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -CONFIG_MB_CONTROLLER_STACK_SIZE=4096 -CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 -CONFIG_MB_TIMER_PORT_ENABLED=y -CONFIG_MB_TIMER_GROUP=0 -CONFIG_MB_TIMER_INDEX=0 - -# -# FreeRTOS -# -CONFIG_FREERTOS_UNICORE= +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150 +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_FMB_QUEUE_LENGTH=20 +CONFIG_FMB_SERIAL_TASK_STACK_SIZE=2048 +CONFIG_FMB_SERIAL_BUF_SIZE=256 +CONFIG_FMB_SERIAL_TASK_PRIO=10 +# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_FMB_TIMER_PORT_ENABLED=y +CONFIG_FMB_TIMER_GROUP=0 +CONFIG_FMB_TIMER_INDEX=0 +# CONFIG_FREERTOS_UNICORE is not set CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF CONFIG_FREERTOS_CORETIMER_0=y -CONFIG_FREERTOS_CORETIMER_1= +# CONFIG_FREERTOS_CORETIMER_1 is not set CONFIG_FREERTOS_HZ=100 CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE= -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL= +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK= +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y -CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE= -CONFIG_FREERTOS_ASSERT_DISABLE= +# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set +# CONFIG_FREERTOS_ASSERT_DISABLE is not set CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 CONFIG_FREERTOS_ISR_STACKSIZE=1536 -CONFIG_FREERTOS_LEGACY_HOOKS= +# CONFIG_FREERTOS_LEGACY_HOOKS is not set CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -CONFIG_SUPPORT_STATIC_ALLOCATION= -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION is not set +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -CONFIG_FREERTOS_USE_TRACE_FACILITY= -CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= -CONFIG_FREERTOS_DEBUG_INTERNALS= +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_DEBUG_INTERNALS is not set CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y - -# -# Heap memory debugging -# +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set CONFIG_HEAP_POISONING_DISABLED=y -CONFIG_HEAP_POISONING_LIGHT= -CONFIG_HEAP_POISONING_COMPREHENSIVE= -CONFIG_HEAP_TRACING= - -# -# libsodium -# +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_TRACING is not set CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y - -# -# Log output -# -CONFIG_LOG_DEFAULT_LEVEL_NONE= -CONFIG_LOG_DEFAULT_LEVEL_ERROR= -CONFIG_LOG_DEFAULT_LEVEL_WARN= +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set CONFIG_LOG_DEFAULT_LEVEL_INFO=y -CONFIG_LOG_DEFAULT_LEVEL_DEBUG= -CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set CONFIG_LOG_DEFAULT_LEVEL=3 CONFIG_LOG_COLORS=y - -# -# LWIP -# -CONFIG_L2_TO_L3_COPY= -CONFIG_LWIP_IRAM_OPTIMIZATION= +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y CONFIG_LWIP_MAX_SOCKETS=10 -CONFIG_USE_ONLY_LWIP_SELECT= +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set CONFIG_LWIP_SO_REUSE=y CONFIG_LWIP_SO_REUSE_RXTOALL=y -CONFIG_LWIP_SO_RCVBUF= -CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 -CONFIG_LWIP_IP_FRAG= -CONFIG_LWIP_IP_REASSEMBLY= -CONFIG_LWIP_STATS= -CONFIG_LWIP_ETHARP_TRUST_IP_MAC= -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_IP_FRAG is not set +# CONFIG_LWIP_IP_REASSEMBLY is not set +# CONFIG_LWIP_STATS is not set +# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y -CONFIG_LWIP_DHCP_RESTORE_LAST_IP= - -# -# DHCP server -# +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set CONFIG_LWIP_DHCPS_LEASE_UNIT=60 CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -CONFIG_LWIP_AUTOIP= +# CONFIG_LWIP_AUTOIP is not set CONFIG_LWIP_NETIF_LOOPBACK=y CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# CONFIG_LWIP_MAX_ACTIVE_TCP=16 CONFIG_LWIP_MAX_LISTENING_TCP=16 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=6 -CONFIG_TCP_MSS=1436 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5744 -CONFIG_TCP_WND_DEFAULT=5744 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES= -CONFIG_TCP_OVERSIZE_MSS=y -CONFIG_TCP_OVERSIZE_QUARTER_MSS= -CONFIG_TCP_OVERSIZE_DISABLE= - -# -# UDP -# +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=6 +CONFIG_LWIP_TCP_MSS=1436 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 +CONFIG_LWIP_TCP_WND_DEFAULT=5744 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set CONFIG_LWIP_MAX_UDP_PCBS=16 -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -CONFIG_TCPIP_TASK_AFFINITY_CPU0= -CONFIG_TCPIP_TASK_AFFINITY_CPU1= -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -CONFIG_PPP_SUPPORT= - -# -# ICMP -# -CONFIG_LWIP_MULTICAST_PING= -CONFIG_LWIP_BROADCAST_PING= - -# -# LWIP RAW API -# +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set CONFIG_LWIP_MAX_RAW_PCBS=16 - -# -# mbedTLS -# +CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC= -CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC= +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 -CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN= -CONFIG_MBEDTLS_DEBUG= +# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set +# CONFIG_MBEDTLS_DEBUG is not set +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# CONFIG_MBEDTLS_CMAC_C is not set CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_HARDWARE_MPI= -CONFIG_MBEDTLS_HARDWARE_SHA= +# CONFIG_MBEDTLS_HARDWARE_MPI is not set +# CONFIG_MBEDTLS_HARDWARE_SHA is not set CONFIG_MBEDTLS_HAVE_TIME=y -CONFIG_MBEDTLS_HAVE_TIME_DATE= +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -CONFIG_MBEDTLS_TLS_SERVER_ONLY= -CONFIG_MBEDTLS_TLS_CLIENT_ONLY= -CONFIG_MBEDTLS_TLS_DISABLED= +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set CONFIG_MBEDTLS_TLS_SERVER=y CONFIG_MBEDTLS_TLS_CLIENT=y CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# TLS Key Exchange Methods -# -CONFIG_MBEDTLS_PSK_MODES= +# CONFIG_MBEDTLS_PSK_MODES is not set CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y @@ -542,32 +421,25 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y CONFIG_MBEDTLS_SSL_RENEGOTIATION=y -CONFIG_MBEDTLS_SSL_PROTO_SSL3= +# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set CONFIG_MBEDTLS_SSL_PROTO_TLS1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -CONFIG_MBEDTLS_SSL_PROTO_DTLS= +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set CONFIG_MBEDTLS_SSL_ALPN=y -CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y - -# -# Symmetric Ciphers -# +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y CONFIG_MBEDTLS_AES_C=y -CONFIG_MBEDTLS_CAMELLIA_C= -CONFIG_MBEDTLS_DES_C= +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set CONFIG_MBEDTLS_RC4_DISABLED=y -CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT= -CONFIG_MBEDTLS_RC4_ENABLED= -CONFIG_MBEDTLS_BLOWFISH_C= -CONFIG_MBEDTLS_XTEA_C= +# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set +# CONFIG_MBEDTLS_RC4_ENABLED is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set CONFIG_MBEDTLS_CCM_C=y CONFIG_MBEDTLS_GCM_C=y -CONFIG_MBEDTLS_RIPEMD160_C= - -# -# Certificates -# +# CONFIG_MBEDTLS_RIPEMD160_C is not set CONFIG_MBEDTLS_PEM_PARSE_C=y CONFIG_MBEDTLS_PEM_WRITE_C=y CONFIG_MBEDTLS_X509_CRL_PARSE_C=y @@ -588,108 +460,224 @@ CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y CONFIG_MBEDTLS_ECP_NIST_OPTIM=y - -# -# mDNS -# CONFIG_MDNS_MAX_SERVICES=10 - -# -# ESP-MQTT Configurations -# CONFIG_MQTT_PROTOCOL_311=y CONFIG_MQTT_TRANSPORT_SSL=y CONFIG_MQTT_TRANSPORT_WEBSOCKET=y CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y -CONFIG_MQTT_USE_CUSTOM_CONFIG= -CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED= -CONFIG_MQTT_CUSTOM_OUTBOX= - -# -# NVS -# - -# -# OpenSSL -# -CONFIG_OPENSSL_DEBUG= +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +# CONFIG_OPENSSL_DEBUG is not set CONFIG_OPENSSL_ASSERT_DO_NOTHING=y -CONFIG_OPENSSL_ASSERT_EXIT= - -# -# PThreads -# -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# CONFIG_OPENSSL_ASSERT_EXIT is not set +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0= -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1= -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" - -# -# SPI Flash driver -# -CONFIG_SPI_FLASH_VERIFY_WRITE= -CONFIG_SPI_FLASH_ENABLE_COUNTERS= +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y - -# -# SPIFFS Configuration -# +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y CONFIG_SPIFFS_MAX_PARTITIONS=3 - -# -# SPIFFS Cache Configuration -# CONFIG_SPIFFS_CACHE=y CONFIG_SPIFFS_CACHE_WR=y -CONFIG_SPIFFS_CACHE_STATS= +# CONFIG_SPIFFS_CACHE_STATS is not set CONFIG_SPIFFS_PAGE_CHECK=y CONFIG_SPIFFS_GC_MAX_RUNS=10 -CONFIG_SPIFFS_GC_STATS= +# CONFIG_SPIFFS_GC_STATS is not set CONFIG_SPIFFS_PAGE_SIZE=256 CONFIG_SPIFFS_OBJ_NAME_LEN=32 CONFIG_SPIFFS_USE_MAGIC=y CONFIG_SPIFFS_USE_MAGIC_LENGTH=y CONFIG_SPIFFS_META_LENGTH=4 CONFIG_SPIFFS_USE_MTIME=y - -# -# Debug Configuration -# -CONFIG_SPIFFS_DBG= -CONFIG_SPIFFS_API_DBG= -CONFIG_SPIFFS_GC_DBG= -CONFIG_SPIFFS_CACHE_DBG= -CONFIG_SPIFFS_CHECK_DBG= -CONFIG_SPIFFS_TEST_VISUALISATION= - -# -# TCP/IP Adapter -# -CONFIG_IP_LOST_TIMER_INTERVAL=120 +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +CONFIG_NETIF_IP_LOST_TIMER_INTERVAL=120 CONFIG_TCPIP_LWIP=y - -# -# Unity unit testing library -# CONFIG_UNITY_ENABLE_FLOAT=y CONFIG_UNITY_ENABLE_DOUBLE=y -CONFIG_UNITY_ENABLE_COLOR= +# CONFIG_UNITY_ENABLE_COLOR is not set CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y -CONFIG_UNITY_ENABLE_FIXTURE= +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WPA_MBEDTLS_CRYPTO=y +# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set -# -# Virtual file system -# +# Deprecated options for backward compatibility +CONFIG_TOOLPREFIX="xtensa-esp32-elf-" +CONFIG_PYTHON="python" +CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +# CONFIG_MONITOR_BAUD_9600B is not set +# CONFIG_MONITOR_BAUD_57600B is not set +CONFIG_MONITOR_BAUD_115200B=y +# CONFIG_MONITOR_BAUD_230400B is not set +# CONFIG_MONITOR_BAUD_921600B is not set +# CONFIG_MONITOR_BAUD_2MB is not set +# CONFIG_MONITOR_BAUD_OTHER is not set +CONFIG_MONITOR_BAUD_OTHER_VAL=115200 +CONFIG_MONITOR_BAUD=115200 +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_STACK_CHECK is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_DISABLE_GCC8_WARNINGS is not set +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_MEMMAP_TRACEMEM is not set +# CONFIG_MEMMAP_TRACEMEM_TWOBANKS is not set +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ULP_COPROC_ENABLED is not set +CONFIG_ULP_COPROC_RESERVE_MEM=0 +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_BROWNOUT_DET_LVL=0 +CONFIG_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +# CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_MB_TIMER_PORT_ENABLED=y +CONFIG_MB_TIMER_GROUP=0 +CONFIG_MB_TIMER_INDEX=0 +# CONFIG_SUPPORT_STATIC_ALLOCATION is not set +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_L2_TO_L3_COPY is not set +# CONFIG_USE_ONLY_LWIP_SELECT is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=6 +CONFIG_TCP_MSS=1436 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5744 +CONFIG_TCP_WND_DEFAULT=5744 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_IP_LOST_TIMER_INTERVAL=120 CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y - -# -# Wear Levelling -# -CONFIG_WL_SECTOR_SIZE_512= -CONFIG_WL_SECTOR_SIZE_4096=y -CONFIG_WL_SECTOR_SIZE=4096 +# End of deprecated options diff --git a/setenv.sh b/setenv.sh index 882dc15..3597cae 100644 --- a/setenv.sh +++ b/setenv.sh @@ -1,5 +1,7 @@ #!/bin/bash export PATH=/opt/gcc-xtensa-esp32-elf-1.22.0-80-g6c4433a-5.2.0/bin:$PATH -export IDF_PATH=$(pwd)/esp-idf +export IDF_PATH=$HOME/git/rust/esp32-hello/esp-idf export TARGET_DIR=target/xtensa-none-elf/release +export LIBCLANG_PATH=$HOME/git/rust/xtensa/llvm_build/lib + diff --git a/src/main.rs b/src/main.rs index c58ea07..a61e8db 100644 --- a/src/main.rs +++ b/src/main.rs @@ -54,17 +54,23 @@ unsafe fn rust_blink_and_write() { /* Blink off (output low) */ gpio_set_level(BLINK_GPIO, 0); - //vTaskDelay(1000 / portTICK_PERIOD_MS); - ets_delay_us(1_000_000); + vTaskDelay(1000 / portTICK_PERIOD_MS); // Write data to UART. let test_str = "This is a test string.\n"; - uart_write_bytes(UART_NUM, test_str.as_ptr() as *const _, test_str.len()); + // uart_write_bytes(UART_NUM, test_str.as_ptr() as *const _, test_str.len()); + let tag = "Rust\0"; + + esp_log_write(esp_log_level_t_ESP_LOG_INFO, + tag.as_ptr() as *const _, + " (%d) %s: %s\n\0".as_ptr() as *const _, + esp_log_timestamp(), + tag.as_ptr() as *const _, + "I, live, again!.\0".as_ptr() as *const _); /* Blink on (output high) */ gpio_set_level(BLINK_GPIO, 1); - // vTaskDelay(1000 / portTICK_PERIOD_MS); - ets_delay_us(1_000_000); + vTaskDelay(1000 / portTICK_PERIOD_MS); } }