This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Proper sensor controller startup procedure

Other Parts Discussed in Thread: CC1310

I'm scanning a keypad button matrix with the sensor controller on the CC1310. I have this working now but am confused about the startup procedure.Is it necessary to call scifStartRtcTicksNow() and scifStartTasksNbl()? My impression was that the first function ran the task periodicly and the second function was to run the task once. Thanks for any clarification.

Here is my code.

scifOsalEnableAuxDomainAccess();

	// Initialize the Sensor Controller
	scifOsalRegisterCtrlReadyCallback(ctrlReadyCallback);
	scifOsalRegisterTaskAlertCallback(taskAlertCallback);

	//start sensor controller for key scan
	SCIF_RESULT_T res = scifInit(&scifDriverSetup);
	scifStartRtcTicksNow(2162);

	//enable interupts
	IntMasterEnable();

	//start rtc
	AONRTCEnable();

	scifStartTasksNbl(BV(SCIF_KEYSCAN_TASK_ID));


  • For the header of scifStartTasksNbl:
    * This triggers the initialization code for each task ID specified in \a bvTaskIds. The READY event
    * is generated when the tasks have been started.
    => It runs the initialization code once, not the task. The execution code is run everytime the tick set up by scifStartRtcTicksNow() occures.
  • I just want to comment on Sensor Controller Studio in general. Really great system! Total pleasure to use. I could not believe that I wrote a relativly complex program for it, fixed the syntax errors, generated the code and then connected and tested it on my custom board. No problems first try! Amazing. I have to say that the language syntax is a little funky though. For instance, why use curly brackets and then be so strict about their placement? Anyway thanks for a great product.
  • Good to hear!