Repository: incubator-mynewt-core Updated Branches: refs/heads/develop 4cd926638 -> 3c8b7f436
spitest; also set the slave baudrate, so that GPIO io speed can be matched. Drop the default baudrate. Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/3c8b7f43 Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/3c8b7f43 Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/3c8b7f43 Branch: refs/heads/develop Commit: 3c8b7f436c9eebb0014d005e5e960f9ee2b63494 Parents: 7534cf9 Author: Marko Kiiskila <ma...@runtime.io> Authored: Mon Oct 17 23:14:05 2016 -0700 Committer: Marko Kiiskila <ma...@runtime.io> Committed: Mon Oct 17 23:15:07 2016 -0700 ---------------------------------------------------------------------- apps/spitest/src/main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/3c8b7f43/apps/spitest/src/main.c ---------------------------------------------------------------------- diff --git a/apps/spitest/src/main.c b/apps/spitest/src/main.c index a7652ef..0059bc5 100755 --- a/apps/spitest/src/main.c +++ b/apps/spitest/src/main.c @@ -60,6 +60,8 @@ struct os_sem g_test_sem; /* For LED toggling */ int g_led_pin; +#define SPI_BAUDRATE 500 + #if MYNEWT_VAL(SPI_MASTER) || MYNEWT_VAL(SPI_0_MASTER) #define SPI_MASTER 1 #endif @@ -147,7 +149,7 @@ sblinky_spi_cfg(int spi_num) my_spi.data_order = HAL_SPI_MSB_FIRST; my_spi.data_mode = HAL_SPI_MODE0; - my_spi.baudrate = 8000; + my_spi.baudrate = SPI_BAUDRATE; my_spi.word_size = HAL_SPI_WORD_SIZE_8BIT; spi_id = 0; hal_spi_config(spi_id, &my_spi); @@ -191,7 +193,7 @@ sblinky_spi_cfg(int spi_num) my_spi.data_order = HAL_SPI_MSB_FIRST; my_spi.data_mode = HAL_SPI_MODE0; - my_spi.baudrate = 0; + my_spi.baudrate = SPI_BAUDRATE; my_spi.word_size = HAL_SPI_WORD_SIZE_8BIT; spi_id = SPI_SLAVE_ID; hal_spi_config(spi_id, &my_spi); @@ -311,6 +313,9 @@ task1_handler(void *arg) #endif #ifdef SPI_SLAVE +int prev_len; +uint8_t prev_buf[32]; + void task1_handler(void *arg) { @@ -347,6 +352,7 @@ task1_handler(void *arg) assert(rc == 0); } else { /* transmit back what we just received */ + memcpy(prev_buf, g_spi_tx_buf, 32); memset(g_spi_tx_buf, 0xaa, 32); memcpy(g_spi_tx_buf, g_spi_rx_buf, spi_cb_obj.txlen); rc = hal_spi_txrx_noblock(SPI_SLAVE_ID, g_spi_tx_buf, g_spi_rx_buf,