2828#include < type_traits>
2929#include < memory>
3030
31- #if defined(ARDUINO)
31+ #if defined(ARDUINO) || defined(DOXYGEN_PROCESS)
3232class TwoWire ;
3333class HardwareSerial ;
3434class SPIClass ;
@@ -298,19 +298,30 @@ class Component {
298298
299299 // /@name Assign(I2C)
300300 // /@{
301- #if defined(ARDUINO)
301+ #if defined(ARDUINO) || defined(DOXYGEN_PROCESS)
302302 /* !
303303 @brief Assign TwoWire as the communication bus
304304 @param wire TwoWire to be used
305305 @return True if successful
306306 */
307307 virtual bool assign (TwoWire& wire);
308308#endif
309- #if defined(ESP_PLATFORM) && __has_include(<driver/i2c_master.h>)
310- /* ! @brief Assign I2C master bus (ESP-IDF native driver) */
309+ #if defined(DOXYGEN_PROCESS) || (defined(ESP_PLATFORM) && __has_include(<driver/i2c_master.h>))
310+ /* !
311+ @brief Assign I2C master bus (ESP-IDF native driver)
312+ @param bus ESP-IDF I2C master bus handle
313+ @return True if successful
314+ */
311315 virtual bool assign (i2c_master_bus_handle_t bus);
312- #elif defined(ESP_PLATFORM)
313- /* ! @brief Assign I2C (ESP-IDF legacy driver, pre-installed port) */
316+ #endif
317+ #if defined(DOXYGEN_PROCESS) || (defined(ESP_PLATFORM) && !__has_include(<driver/i2c_master.h>))
318+ /* !
319+ @brief Assign I2C (ESP-IDF legacy driver, pre-installed port)
320+ @param port I2C port (the driver must be installed beforehand via i2c_param_config / i2c_driver_install)
321+ @param sda SDA GPIO
322+ @param scl SCL GPIO
323+ @return True if successful
324+ */
314325 virtual bool assign (const i2c_port_t port, const gpio_num_t sda, const gpio_num_t scl);
315326#endif
316327 /* !
@@ -334,32 +345,44 @@ class Component {
334345
335346 // /@name Assign(UART)
336347 // /@{
337- #if defined(ARDUINO)
348+ #if defined(ARDUINO) || defined(DOXYGEN_PROCESS)
338349 /* !
339350 @brief Assign HardwareSerial as the communication bus
340351 @param serial HardwareSerial to be used
341352 @return True if successful
342353 */
343354 virtual bool assign (HardwareSerial& serial);
344355#endif
345- #if defined(ESP_PLATFORM)
346- /* ! @brief Assign UART (ESP-IDF native driver, pre-installed port) */
356+ #if defined(ESP_PLATFORM) || defined(DOXYGEN_PROCESS)
357+ /* !
358+ @brief Assign UART (ESP-IDF native driver, pre-installed port)
359+ @param uart_num UART port number (the driver must be installed beforehand via
360+ uart_driver_install / uart_param_config / uart_set_pin)
361+ @return True if successful
362+ */
347363 virtual bool assign (const uart_port_t uart_num);
348- // ! @brief Assign SPI device handle (ESP-IDF native, borrowed; cs controlled manually)
349- virtual bool assign (spi_device_handle_t handle, const gpio_num_t cs);
350364#endif
351365 // /@}
352366
353367 // /@name Assign(SPI)
354368 // /@{
355- #if defined(ARDUINO)
369+ #if defined(ARDUINO) || defined(DOXYGEN_PROCESS)
356370 /* !
357371 @brief Assign SPIClass as the communication bus
358372 @param spi SPIClass to be used
359373 @param settings SPI settings to be applied
360374 @return True if successful
361375 */
362376 virtual bool assign (SPIClass& spi, const SPISettings& settings);
377+ #endif
378+ #if defined(ESP_PLATFORM) || defined(DOXYGEN_PROCESS)
379+ /* !
380+ @brief Assign SPI device handle (ESP-IDF native driver, borrowed)
381+ @param handle ESP-IDF SPI device handle (create with spics_io_num = -1; init bus with SPI_DMA_DISABLED)
382+ @param cs CS GPIO controlled manually by this library
383+ @return True if successful
384+ */
385+ virtual bool assign (spi_device_handle_t handle, const gpio_num_t cs);
363386#endif
364387 // /@}
365388
0 commit comments