Hi! I’m trying to get an example from the CodeLite For RePhone to work, but vm_timer_create_precise() fails. It works on the RePhone device, but when I port it to a LinkIt One, I get the following debugging output on the UART:
Here’s the code from where vm_timer_create_precise is called:
</s><i>
</i>void handle_sysevt( VMINT message, VMINT param )
{
char errSt[100];
my_uart_log( "handle_sysevt: begin\n" );
switch( message ) {
case VM_EVENT_CREATE:
my_uart_log( " VM_EVENT_CREATE\n" );
sys_timer_id = vm_timer_create_precise( 1000, (vm_timer_precise_callback)sys_timer_callback, NULL );
if( sys_timer_id < 0) {
sprintf( errSt, "%s %d\n", "create timer fail:", sys_timer_id );
my_uart_log( errSt );
}
break;
case VM_EVENT_QUIT:
my_uart_log( " VM_EVENT_QUIT\n" );
break;
default:
sprintf( errSt, "%s %d\n", " Other VM_EVENT_ %d\n", message );
my_uart_log( errSt );
}
my_uart_log( "handle_sysevt: end\n" );
}
<e>
I believe I have the latest libraries - from 2014, it appears. Any idea why this fails on the LinkIt One?
Curiously, a similar example using vm_thread_create works. The firmware on the LinkIt One was updated.