singleton
A value of which only one can ever exist, such as the one handle to a chip's GPIO8 pin.
In embedded Rust a peripheral singleton is the unique value of a peripheral's type, handed out once by the HAL (esp_hal::init returns Peripherals), so ownership of the value is ownership of the hardware.
Examples
esp_hal::initreturnsPeripheralsonce, and itsGPIO8field is the only handle to the fan pin; a secondinitcall panics.If the heater setup is copy-pasted from the fan's and still names
peripherals.GPIO8, the compiler rejects it because GPIO8 was already moved into the fan.