From f921753b6376b932950442d5b878b17ec842d253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Sun, 1 Oct 2017 23:54:46 +0200 Subject: [PATCH] Call slaveSchedulerCallback() instead of the update callback of the first slave to trigger the slave protocol scheduler. Given that the callback is involved from the start this should result in a more reliable startup state. --- right/src/slave_scheduler.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/right/src/slave_scheduler.c b/right/src/slave_scheduler.c index 5e68357..072f2c6 100644 --- a/right/src/slave_scheduler.c +++ b/right/src/slave_scheduler.c @@ -93,6 +93,6 @@ void InitSlaveScheduler(void) I2C_MasterTransferCreateHandle(I2C_MAIN_BUS_BASEADDR, &I2cMasterHandle, slaveSchedulerCallback, NULL); - // Kickstart the scheduler by triggering the first callback. - Slaves[currentSlaveId].update(Slaves[currentSlaveId].perDriverId); + // Kickstart the scheduler by triggering the first transfer. + slaveSchedulerCallback(I2C_MAIN_BUS_BASEADDR, &I2cMasterHandle, kStatus_Fail, NULL); }