pub struct Efuse;unstable only.Expand description
A struct representing the eFuse functionality of the chip.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Implementations§
Source§impl Efuse
 
impl Efuse
Sourcepub fn flash_encryption() -> bool
 
pub fn flash_encryption() -> bool
Get status of SPI boot encryption.
Sourcepub fn rwdt_multiplier() -> u8
 
pub fn rwdt_multiplier() -> u8
Get the multiplier for the timeout value of the RWDT STAGE 0 register.
Sourcepub fn block_version() -> (u8, u8)
 
pub fn block_version() -> (u8, u8)
Get efuse block version
see https://github.com/espressif/esp-idf/blob/dc016f5987/components/hal/efuse_hal.c#L27-L30
Sourcepub fn rtc_calib_version() -> u8
 
pub fn rtc_calib_version() -> u8
Get version of RTC calibration block
Sourcepub fn rtc_calib_init_code(
    _unit: AdcCalibUnit,
    atten: Attenuation,
) -> Option<u16>
 
pub fn rtc_calib_init_code( _unit: AdcCalibUnit, atten: Attenuation, ) -> Option<u16>
Get ADC initial code for specified attenuation from efuse
Sourcepub fn rtc_calib_cal_mv(_unit: AdcCalibUnit, atten: Attenuation) -> u16
 
pub fn rtc_calib_cal_mv(_unit: AdcCalibUnit, atten: Attenuation) -> u16
Get ADC reference point voltage for specified attenuation in millivolts
Sourcepub fn rtc_calib_cal_code(
    _unit: AdcCalibUnit,
    atten: Attenuation,
) -> Option<u16>
 
pub fn rtc_calib_cal_code( _unit: AdcCalibUnit, atten: Attenuation, ) -> Option<u16>
Get ADC reference point digital code for specified attenuation
Sourcepub fn major_chip_version() -> u8
 
pub fn major_chip_version() -> u8
Returns the major hardware revision
Sourcepub fn minor_chip_version() -> u8
 
pub fn minor_chip_version() -> u8
Returns the minor hardware revision
Source§impl Efuse
 
impl Efuse
Sourcepub fn read_base_mac_address() -> [u8; 6]
 
pub fn read_base_mac_address() -> [u8; 6]
Reads chip’s MAC address from the eFuse storage.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn read_field_le<T: AnyBitPattern>(field: EfuseField) -> T
 
pub fn read_field_le<T: AnyBitPattern>(field: EfuseField) -> T
Read field value in a little-endian order
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn read_bit(field: EfuseField) -> bool
 
pub fn read_bit(field: EfuseField) -> bool
Read bit value.
This function panics if the field’s bit length is not equal to 1.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn set_mac_address(mac: [u8; 6]) -> Result<(), SetMacError>
 
pub fn set_mac_address(mac: [u8; 6]) -> Result<(), SetMacError>
Set the base mac address
The new value will be returned by read_mac_address instead of the one
hard-coded in eFuse. This does not persist across device resets.
Can only be called once. Returns Err(SetMacError::AlreadySet)
otherwise.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn mac_address() -> [u8; 6]
 
pub fn mac_address() -> [u8; 6]
Get base mac address
By default this reads the base mac address from eFuse, but it can be
overridden by set_mac_address.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn chip_revision() -> u16
 
pub fn chip_revision() -> u16
Returns the hardware revision
The chip version is calculated using the following formula: MAJOR * 100 + MINOR. (if the result is 1, then version is v0.1)