Low-power ESP32 + LoRa with deep sleep mode (TTGO LoRa32 OLED Board V1.0)

You'll want to get to get the int ESP32_SPI_API::fSPIbusConfig( ) working, first. Use the return value to detect errors.

You'll be setting:
bus_config.sclk_io_num = spi_CLK_pin; // CLK
bus_config.mosi_io_num = spi_MOSI_pin; // MOSI
bus_config.miso_io_num = spi_MISO_pin; // MISO

with that function. Once the bus has been opened, you'll open the device. You can open several devices on one buss. The device handle will be used to address each device.

The int ESP32_SPI_API::fSPIdeviceConfig( ). I use the return value to detect if there was an error.

The values in the function you want to concern yourself with are:
dev_config.mode = 3;
dev_config.clock_speed_hz = clock_speed;
dev_config.spics_io_num = spi_csPin;
dev_config.queue_size = qSize;

Setting the config mode to 3 allows bidirectional communications. I'd just leave the setting at 3 even if your device does not use bidirectional SPI communication.

The minimum queue size should be 1, which works quite well.

I, not included (yet), have a few more functions that can be useful.

I, highly, recommend you keep this code in the SPI functions:trans_desc = { }; to make sure the memory areas that the array is to use will be cleared prior to use.