Thread-safe façade around se050::Device<HalI2cSe050Comm>.
More...
#include <Se050Handler.h>
Thread-safe façade around se050::Device<HalI2cSe050Comm>.
Typical flow:
BaseI2c& se_i2c = *bus.GetDeviceByAddress(0x48);
if (!se.EnsureInitialized()) { ... }
se050::cmd::VersionInfo v{};
(void)se.
GetDevice().GetVersion(&v, se.Config().apdu_timeout_ms);
Thread-safe façade around se050::Device<HalI2cSe050Comm>.
Definition Se050Handler.h:144
DeviceType & GetDevice() noexcept
Direct access to the full se050::Device API (lock externally if needed).
Definition Se050Handler.h:175
Runtime tuning for one SE050 instance on a BaseI2c device.
Definition Se050Handler.h:117
◆ DeviceType
◆ Se050Handler() [1/3]
- Parameters
-
| i2c | I²C device whose 7-bit address matches the SE050 (usually 0x48). |
| config | Timeouts and T=1 tuning. |
| reset_gpio | Optional SE_RESET / power-style reset line (nullptr if unused). |
| bus_mutex | Optional shared mutex when multiple devices share the bus. |
◆ Se050Handler() [2/3]
◆ Se050Handler() [3/3]
◆ Config()
◆ EnsureInitialized()
| bool Se050Handler::EnsureInitialized |
( |
| ) |
|
|
noexcept |
Initialize I²C, pulse optional reset GPIO, run T=1 warm reset, SELECT applet, and verify with GetVersion.
◆ EnsureInitializedLocked()
| bool Se050Handler::EnsureInitializedLocked |
( |
| ) |
|
|
privatenoexcept |
◆ GetDevice() [1/2]
| const DeviceType & Se050Handler::GetDevice |
( |
| ) |
const |
|
inlinenoexcept |
◆ GetDevice() [2/2]
Direct access to the full se050::Device API (lock externally if needed).
◆ IsPresent()
| bool Se050Handler::IsPresent |
( |
| ) |
const |
|
inlinenoexcept |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ bus_mutex_
| RtosMutex* Se050Handler::bus_mutex_ |
|
private |
◆ comm_
◆ config_
◆ device_
◆ initialized_
| std::atomic<bool> Se050Handler::initialized_ {false} |
|
private |
◆ private_mutex_
| RtosMutex Se050Handler::private_mutex_ {} |
|
private |
The documentation for this class was generated from the following files: