cryptnox-sdk-arduino 1.0.0
Arduino library for Cryptnox Hardware Wallet
Loading...
Searching...
No Matches
Arduino concrete adapters

Concrete CW_NfcTransport / CW_CryptoProvider / CW_Logger / CW_Platform implementations for the Arduino UNO R4 (RA4M1). More...

Classes

class  ArduinoCryptoProvider
 CW_CryptoProvider implementation for the Arduino UNO R4 (RA4M1). More...
class  ArduinoLoggerAdapter
 CW_Logger implementation wrapping Arduino's HardwareSerial. More...
class  ArduinoPlatform
 CW_Platform implementation using Arduino's blocking delay(). More...
class  NullLoggerAdapter
 No-op CW_Logger — guarantees nothing reaches the serial port. More...
class  PN532Adapter
 CW_NfcTransport implementation over the Adafruit_PN532 driver. More...

Enumerations

enum class  PN532Interface { PN532Interface::SPI_HARDWARE , PN532Interface::SPI_SOFTWARE , PN532Interface::I2C , PN532Interface::UART }
 Physical wiring used to reach the PN532 reader. More...

Detailed Description

Concrete CW_NfcTransport / CW_CryptoProvider / CW_Logger / CW_Platform implementations for the Arduino UNO R4 (RA4M1).

Each class in this group implements one of the abstract interfaces declared in Adapter interfaces using libraries available through the Arduino Library Manager:

Adapter Interface Backing library / hardware
PN532Adapter CW_NfcTransport Adafruit_PN532 (SPI / I2C / UART)
ArduinoCryptoProvider CW_CryptoProvider AESLib + SHA512/SHA256 + micro-ecc + RA4M1 TRNG
ArduinoLoggerAdapter CW_Logger Arduino HardwareSerial (development builds)
NullLoggerAdapter CW_Logger No-op (production builds — keeps APDU/key material off the UART)
ArduinoPlatform CW_Platform Arduino blocking delay()

Enumeration Type Documentation

◆ PN532Interface

enum class PN532Interface
strong

Physical wiring used to reach the PN532 reader.

Set internally by the constructor matching the wiring the caller used. Exposed for diagnostics — application code does not normally need to read it.

Mode Pros Cons
SPI_HARDWARE Fastest, uses the MCU SPI peripheral. Pins are fixed by the SPI block.
SPI_SOFTWARE Any GPIO; useful when SPI is in use. Slower, more CPU.
I2C 2 wires + IRQ + RESET. Slower than SPI; needs pull-ups.
UART 2 wires + RESET; long traces tolerated. Slowest; consumes a HardwareSerial.
Enumerator
SPI_HARDWARE 

Hardware SPI via an SPIClass instance.

SPI_SOFTWARE 

Bit-banged SPI on four arbitrary GPIOs.

I2C 

I2C via a TwoWire instance.

UART 

UART via a HardwareSerial instance.

Definition at line 47 of file PN532Adapter.h.