Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spi: Add SPI block-write to C++ and HAL for performance #4207

Merged
merged 5 commits into from
Jun 1, 2017

Commits on May 25, 2017

  1. spi: Added block-level SPI writes to the C++ api

        virtual int write(const char *tx_buffer, int tx_length,
                char *rx_buffer, int rx_length);
    
    The main benefit of block-level SPI writes is the performance
    improvement from not acquiring a mutex lock between each byte sent on
    the SPI bus. The block write may also be poked through the hal level for
    additional speed improvements.
    geky committed May 25, 2017
    Configuration menu
    Copy the full SHA
    58491aa View commit details
    Browse the repository at this point in the history
  2. spi: Added block-level SPI writes at the HAL level

    Poking the block-level SPI writes through the HAL level gives more
    freedom to targets to improve SPI transaction speed.
    geky committed May 25, 2017
    Configuration menu
    Copy the full SHA
    31bf0d5 View commit details
    Browse the repository at this point in the history
  3. spi: Added default spi_master_block_write implementation to all targets

    There is an easy default implementation of spi_master_block_write that
    just calls spi_master_write in a loop, so the default implementation
    of spi_master_block_write has been added to all targets.
    geky committed May 25, 2017
    Configuration menu
    Copy the full SHA
    c1de19e View commit details
    Browse the repository at this point in the history
  4. k64f: Added SPI block write using DSPI_MasterTransferBlocking

    performance improvements:
    naive block writes    3.997Mbps
    DSPI block writes    17.809Mbps
    geky committed May 25, 2017
    Configuration menu
    Copy the full SHA
    e352f1b View commit details
    Browse the repository at this point in the history

Commits on May 31, 2017

  1. spi: Added default spi_master_block_write implementation to stm targets

    There is an easy default implementation of spi_master_block_write that
    just calls spi_master_write in a loop, so the default implementation
    of spi_master_block_write has been added to all targets.
    sg- committed May 31, 2017
    Configuration menu
    Copy the full SHA
    e65bb8d View commit details
    Browse the repository at this point in the history