I’m trying to set a timer using the ContikiCoreForArduino library. The reason for using this library is because I’m experimenting with protothreads so I’m including that library already anyway.
According to the documentation it should be fairly straightforward, but when I try to set the timer I’m getting a Core panic.
I’m not new to software development, but I did just start tinkering with embedded development, PlatformIO and cpp so forgive me if I’m missing the obvious here. Platform is espressif32, framework is arduino.
This is my code:
#include <Arduino.h>
#include "contiki.h"
static struct timer t;
static struct pt pt1;
static int protothreadFunction(struct pt *pt)
{
static int i = 0;
PT_BEGIN(pt);
while (1)
{
PT_WAIT_UNTIL(pt, timer_expired(&t));
Serial.println(i);
timer_set(&t, 1000);
}
PT_END(pt);
}
void setup()
{
Serial.begin(115200);
Serial.println("Program start, setting timer");
timer_set(&t, 1000);
Serial.println("Timer set");
PT_INIT(&pt1);
}
void loop()
{
protothreadFunction(&pt1);
}
Which results in this:
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:8896
load:0x40080400,len:5828
entry 0x400806ac
Program start, setting timer
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x400e91ef PS : 0x00060130 A0 : 0x800d0cc8 A1 : 0x3ffb1f20
A2 : 0x00000000 A3 : 0x3f4012ce A4 : 0x0000001c A5 : 0x0000ff00
A6 : 0x00ff0000 A7 : 0xff000000 A8 : 0x800d0f3d A9 : 0x3ffb1f00
A10 : 0x00000002 A11 : 0x3f4012ce A12 : 0x00000002 A13 : 0x0000ff00
A14 : 0x00ff0000 A15 : 0xff000000 SAR : 0x0000001f EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xffffffff
Backtrace: 0x400e91ef:0x3ffb1f20 0x400d0cc5:0x3ffb1f40 0x400d0c79:0x3ffb1f60 0x400d0c01:0x3ffb1f80 0x400d1e0b:0x3ffb1fb0 0x40088215:0x3ffb1fd0
Rebooting...
Any help or suggestions are most appreciated, thanks!