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.

CC2650: Contiki OS and Censor Controller Studio: how to combine?

Part Number: CC2650
Other Parts Discussed in Thread: UNIFLASH

I use CC2650 to create a Contiki OS Mesh-networks based on 802.15.4 (6lowpan). I would use the Sensor Controller Core for different tasks, such as touch keys, or control the AC zero-cross dimmer.

Please tell me how I can do the following things:

1) Create a program for the Sensor Controller Core is not Sensor Controller Studio. I use MacOS for development and I would like to work with programs for the Sensor Controller Core in MacOS.

2) If I can not write the program is not in Sensor Controller Studio, how can I download binaries to controller using UniFlash or uart-bootloader? I want to flash already prepared firmware to many controllers, how can I do it?

3) Start the Sensor Controller core of Contiki OS. I understand, that the sensor core initially not running/not enable/not power. How can I start controller core it from Contiki OS, using DriverLib/cc26xxware?

4) Create an interrupt to the main core in the Sensor Controller Core. When I press a touch button in the Sensor Controller Core, how can I create an interrupt from Sensor Core to the main core(where running Contiki OS)?


5) How can I create an interrupt handler in the Contiki OS, using calls DriverLib? I would like an example of how I register an interrupt from the sensor core, just as I register interrupt fronts change on the DIO.

6) How do I transfer some data to the Sensor Controller Core from Contiki OS? I want to make AC-dimmer based on Sensor Controller Core, and I need to find a way transfer a few bytes to sensor core, which means the frequency pulses to triac. How can I pass a small amount of data from main core(running Contiki OS) to sensor core?

  • I found INT_AUX_SWEV0, INT_AUX_SWEV1, INT_AUX_COMB in hw_ints.h.

    Thus, I can set the interrupt handler (my question number 5) in the Contiki, using the following code:

    void int_handler()
    {
       printf("aux int!");
    }
    
    IntRegister(INT_AUX_SWEV0, int_handler);
    IntEnable(INT_AUX_SWEV0);

    Tell me, I'm going the right way, or is there an easier way?