Created basis for QSPI commmunication submodule #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a QSPI (Quad-SPI) abstraction layer designed to facilitate communication with QSPI devices. The abstraction layer includes the following components:
QSPI_Command.hpp: Defines the QSPI_Command struct, which encapsulates the details of a QSPI command, including the instruction, address, address size, transfer size, and data buffer. It also provides a method to convert the command to a HAL-compatible QSPI command structure.
QSPI_DeviceContext.hpp: Defines the QSPI_DeviceContext struct, which encapsulates the context required for QSPI communication, including the chip select (CS) port and pin, and the maximum timeout for operations.
QSPI_Driver.hpp: Defines the QSPI_Driver class, which provides methods to perform read and write operations using QSPI. It encapsulates a QSPI handle and provides methods to interact with QSPI devices.
QSPI_Result.hpp: Defines the QSPI_Result enum, which represents the result of QSPI operations, such as success or various error conditions.