From f161d5bf10d0f6b10fd0cb4bb23f958871bea2b1 Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Mon, 6 Jun 2016 01:52:42 +0200 Subject: [PATCH] writespi bug found, response still all 0 --- Drivers/DRV8301/drv8301.c | 2 +- Odrive.ioc | 2 +- Src/freertos.c | 2 +- Src/test.c | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Drivers/DRV8301/drv8301.c b/Drivers/DRV8301/drv8301.c index 4fc0bdba..d0e008ca 100644 --- a/Drivers/DRV8301/drv8301.c +++ b/Drivers/DRV8301/drv8301.c @@ -583,7 +583,7 @@ void DRV8301_writeSpi(DRV8301_Handle handle, const DRV8301_RegName_e regName,con osDelay(1); // Do blocking write - uint16_t controlword = (uint16_t)DRV8301_buildCtrlWord(DRV8301_CtrlMode_Write, regName, 0); + uint16_t controlword = (uint16_t)DRV8301_buildCtrlWord(DRV8301_CtrlMode_Write, regName, data); HAL_SPI_Transmit(handle->spiHandle, (uint8_t*)(&controlword), 1, 1000); osDelay(1); diff --git a/Odrive.ioc b/Odrive.ioc index 43385026..fac74fd7 100755 --- a/Odrive.ioc +++ b/Odrive.ioc @@ -77,7 +77,7 @@ CAN1.CalculateTimeQuantum=380.95238095238096 CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit FREERTOS.INCLUDE_vTaskDelayUntil=1 FREERTOS.IPParameters=Tasks01,INCLUDE_vTaskDelayUntil -FREERTOS.Tasks01=defaultTask,-3,128,StartDefaultTask,Default +FREERTOS.Tasks01=defaultTask,-3,256,StartDefaultTask,Default File.Version=6 KeepUserPlacement=false Mcu.Family=STM32F4 diff --git a/Src/freertos.c b/Src/freertos.c index a37b87de..1680754c 100644 --- a/Src/freertos.c +++ b/Src/freertos.c @@ -80,7 +80,7 @@ void MX_FREERTOS_Init(void) { /* Create the thread(s) */ /* definition and creation of defaultTask */ - osThreadDef(defaultTask, StartDefaultTask, osPriorityIdle, 0, 128); + osThreadDef(defaultTask, StartDefaultTask, osPriorityIdle, 0, 256); defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); /* USER CODE BEGIN RTOS_THREADS */ diff --git a/Src/test.c b/Src/test.c index 3d9d29c0..76e98511 100644 --- a/Src/test.c +++ b/Src/test.c @@ -91,10 +91,12 @@ void test_DRV8301_setup() { //The DRV_8301 driver instance //DRV8301_Obj gate_drivers[NUM_MOTORS]; + while(1){ for (int i = 0; i < num_motors; ++i) { DRV8301_enable(&gate_drivers[i]); DRV8301_setupSpi(&gate_drivers[i], &gate_driver_regs[i]); - osDelay(1); + osDelay(1000); + } } }