I Think I figured something out, here is my example code:
[code]#include “vmsystem.h”
#include “vmthread.h”
#include “ResID.h”
#include “vmpwr.h”
#include “vmlog.h”
#include “vmgsm_sim.h”
VM_THREAD_HANDLE main_handle;
VMINT32 main_thread(VM_THREAD_HANDLE thread_handle, void *user_data)
{
vm_thread_sleep(2000);
vm_log_debug("Value: %i, %i", vm_gsm_sim_has_card(), vm_pwr_get_battery_level());
while(1)
{
vm_thread_sleep(1000);
}
return 0;
}
void handle_system_event(VMINT message, VMINT param)
{
switch (message)
{
case VM_EVENT_CREATE:
vm_log_debug(“Value: %i, %i”, vm_gsm_sim_has_card(), vm_pwr_get_battery_level());
main_handle = vm_thread_create(main_thread, NULL, 200);
break;
case VM_EVENT_QUIT:
break;
}
}
void vm_main(void)
{
vm_pmng_register_system_event_callback(handle_system_event);
}
[/code]
So the debug output of the example is in line 29 “Value: 1,100” and in line 15 “Value: 1,100”.
But if I comment out the debug output in line 29 the debug output of line 15 will be: “Value: 0, -103”…
Its little bit strange!?!??!