Hi...
I'm attempting to use the SensorController in a CC26xx. My intent is to pass information to the controller via the shared AUX memory, then "manually" start the controller via scifStartTasksNbl(TASK_ID). The initialization code will write the external peripheral, then enable the event monitoring via evhSetupGpioTrigger(0,AUXIO_I_DATA_RDY,1,EVH_GPIO_TRIG_ON_EDGE); The assumption is that the RisingEdge of the specified signal will cause the EventHandling code to be executed.
I have successfully written code for Initialization, EventHandling, and Termination. I assume that the Execution code is not necessary if all activity is event driven. The code "compiles" in Sensor Controller Studio (a couple of strange syntax things, but got it to compile without errors). The produced code compiles along with my application code in CCS.
From the CC2640, I initialize the sensor controller via:
// Initialize the Sensor Controller
scifOsalInit();
//scifOsalRegisterCtrlReadyCallback(scCtrlReadyCallback);
scifOsalRegisterTaskAlertCallback(scTaskAlertCallback);
scifInit(&scifDriverSetup);
// scifStartRtcTicksNow(0x00010000 / 8);
I commented out the ...ReadyCallback since the docs say it is optional and I don't think I need to know when the SensorController is "ready". And I commented out the ...RtcTicksNow since I'm not using schedule-based processing (only event initiated processing).
When I run my code, I don't see any activity on the mapped SPI pins (there should transactions during the initialization code).
Questions:
1. I do not map the IO Pins at the CC2640 level (only in the SensorController code). I assume that the pin mapping in the Sensor Controller is sufficient. Is this correct?
2. Is there other initialization necessary for the scif? I am assuming that scifInit() performs all that is necessary. Is this correct, or am I missing something that is needed to get things going?
Thanks!