35 #include "hal_assert.h"    47 #define ICALL_SERVICE_CLASS_MASK           0xFFF8    55 #define ICALL_SERVICE_INSTANCE_MASK        0x0007    63 #define ICALL_SERVICE_CLASS_PRIMITIVE      0x0008    68 #define ICALL_SERVICE_CLASS_BLE            0x0010    71 #define ICALL_SERVICE_CLASS_TIMAC          0x0018    74 #define ICALL_SERVICE_CLASS_REMOTI_RTI     0x0020    77 #define ICALL_SERVICE_CLASS_REMOTI_RCN     0x0028    80 #define ICALL_SERVICE_CLASS_ZSTACK         0x0030    83 #define ICALL_SERVICE_CLASS_NPI            0x0038    86 #define ICALL_SERVICE_CLASS_BLE_MSG        0x0050    96 #define ICALL_SERVICE_CLASS_CRYPTO         0x0080   103 #define ICALL_SERVICE_CLASS_BLE_BOARD      0x0088   110 #define ICALL_SERVICE_CLASS_TIMAC_BOARD    0x0090   117 #define ICALL_SERVICE_CLASS_RADIO          0x0098   124 #define ICALL_SERVICE_CLASS_DUMMY          0x0100   132 #define ICALL_SERVICE_CLASS_DUMMY_BOARD    0x0200   137 #define ICALL_INVALID_ENTITY_ID            0xffu   142 #define ICALL_INVALID_TIMER_ID             NULL   152 #define ICALL_UNDEF_DEST_ID                0xffu   156 #define ICALL_ERRNO_SUCCESS                0   159 #define ICALL_ERRNO_TIMEOUT                1   162 #define ICALL_ERRNO_NOMSG                  2   169 #define ICALL_ERRNO_INVALID_SERVICE        -1   175 #define ICALL_ERRNO_INVALID_FUNCTION       -2   178 #define ICALL_ERRNO_INVALID_PARAMETER      -3   181 #define ICALL_ERRNO_NO_RESOURCE            -4   188 #define ICALL_ERRNO_UNKNOWN_THREAD         -5   191 #define ICALL_ERRNO_CORRUPT_MSG            -6   194 #define ICALL_ERRNO_OVERFLOW               -7   197 #define ICALL_ERRNO_UNDERFLOW              -8   200 #define ICALL_MSG_FORMAT_KEEP              0   206 #define ICALL_MSG_FORMAT_1ST_CHAR_TASK_ID  1   212 #define ICALL_MSG_FORMAT_3RD_CHAR_TASK_ID  2   218 #define ICALL_MSG_FORMAT_DIRECT_API_ID     3   223 #define ICALL_LITE_DIRECT_API_DONE_CMD_ID  0x42   230 #define ICALL_TIMEOUT_FOREVER              0xfffffffful   236 #ifndef ICALL_TIMEOUT_PREDEFINE   237 #define ICALL_TIMEOUT_PREDEFINE            5000   243 #define ICALL_SEMAPHORE_MODE_COUNTING      0   248 #define ICALL_SEMAPHORE_MODE_BINARY        1   254 #define ICALL_PRIMITIVE_FUNC_ENROLL                       0   257 #define ICALL_PRIMITIVE_FUNC_REGISTER_APP                 1   260 #define ICALL_PRIMITIVE_FUNC_MSG_ALLOC                    2   263 #define ICALL_PRIMITIVE_FUNC_MSG_FREE                     3   266 #define ICALL_PRIMITIVE_FUNC_MALLOC                       4   269 #define ICALL_PRIMITIVE_FUNC_FREE                         5   272 #define ICALL_PRIMITIVE_FUNC_SEND_MSG                     6   275 #define ICALL_PRIMITIVE_FUNC_FETCH_MSG                    7   278 #define ICALL_PRIMITIVE_FUNC_SEND_SERV_MSG                8   281 #define ICALL_PRIMITIVE_FUNC_FETCH_SERV_MSG               9   284 #define ICALL_PRIMITIVE_FUNC_WAIT                         10   287 #define ICALL_PRIMITIVE_FUNC_SIGNAL                       11   290 #define ICALL_PRIMITIVE_FUNC_ABORT                        12   293 #define ICALL_PRIMITIVE_FUNC_ENABLE_INT                   13   296 #define ICALL_PRIMITIVE_FUNC_DISABLE_INT                  14   299 #define ICALL_PRIMITIVE_FUNC_ENABLE_MINT                  15   302 #define ICALL_PRIMITIVE_FUNC_DISABLE_MINT                 16   305 #define ICALL_PRIMITIVE_FUNC_REGISTER_ISR                 17   308 #define ICALL_PRIMITIVE_FUNC_GET_TICKS                    18   311 #define ICALL_PRIMITIVE_FUNC_SET_TIMER_MSECS              19   314 #define ICALL_PRIMITIVE_FUNC_GET_TICK_PERIOD              20   317 #define ICALL_PRIMITIVE_FUNC_GET_MAX_MILLISECONDS         21   320 #define ICALL_PRIMITIVE_FUNC_ENTITY2SERVICE               22   323 #define ICALL_PRIMITIVE_FUNC_PWR_UPD_ACTIVITY_COUNTER     23   326 #define ICALL_PRIMITIVE_FUNC_PWR_REGISTER_NOTIFY          24   329 #define ICALL_PRIMITIVE_FUNC_WAIT_MATCH                   25   332 #define ICALL_PRIMITIVE_FUNC_GET_ENTITY_ID                26   335 #define ICALL_PRIMITIVE_FUNC_SET_TIMER                    27   338 #define ICALL_PRIMITIVE_FUNC_STOP_TIMER                   28   344 #define ICALL_PRIMITIVE_FUNC_PWR_CONFIG_AC_ACTION         29   347 #define ICALL_PRIMITIVE_FUNC_PWR_REQUIRE                  30   350 #define ICALL_PRIMITIVE_FUNC_PWR_DISPENSE                 31   353 #define ICALL_PRIMITIVE_FUNC_THREAD_SERVES                32   356 #define ICALL_PRIMITIVE_FUNC_PWR_IS_STABLE_XOSC_HF        33   359 #define ICALL_PRIMITIVE_FUNC_PWR_GET_TRANSITION_STATE     34   362 #define ICALL_PRIMITIVE_FUNC_CREATE_TASK                  35   365 #define ICALL_PRIMITIVE_FUNC_CREATE_SEMAPHORE             36   368 #define ICALL_PRIMITIVE_FUNC_WAIT_SEMAPHORE               37   371 #define ICALL_PRIMITIVE_FUNC_SWITCH_XOSC_HF               38   374 #define ICALL_PRIMITIVE_FUNC_PWR_GET_XOSC_STARTUP_TIME    39   377 #define ICALL_PRIMITIVE_FUNC_REGISTER_ISR_EXT             40   381 #define ICALL_PRIMITIVE_FUNC_POST_SEMAPHORE               41   384 #define ICALL_PRIMITIVE_FUNC_CREATE_EVENT                 42   387 #define ICALL_PRIMITIVE_FUNC_WAIT_EVENT                   43   390 #define ICALL_PRIMITIVE_FUNC_POST_EVENT                   44   398 #define ICALL_MSG_FUNC_GET_LOCAL_MSG_ENTITY_ID            0   407 #define ICALL_MSG_EVENT_ID                                Event_Id_31   416 #define ICALL_WAITMATCH_EVENT_ID                          Event_Id_29   457   uint32_t totalFreeSize;
   458   uint32_t largestFreeSize;
   580   void (*isrfunc)(void);      
   588   void              (*isrfunc)(void);  
   667   void (*entryfn)(
size_t arg);   
   673 #ifdef ICALL_RTOS_SEMAPHORE_API   704 #ifdef ICALL_RTOS_EVENTS_API   706 typedef struct _icall_create_event_args_t
   710 } ICall_CreateEventArgs;
   713 typedef struct _icall_post_event_args_t
   718 } ICall_PostEventArgs;
   721 typedef struct _icall_wait_event_args_t
   725   uint_least32_t milliseconds;  
   726 } ICall_WaitEventArgs;
   736 typedef struct _icall_msg_hdr_t
   934 PACKED_TYPEDEF_STRUCT
   936   uint_least32_t    *pointerStack;    
   937   icall_lite_id_t   directAPI;        
   938 } icall_directAPIMsg_t;               
   940 PACKED_TYPEDEF_STRUCT
   943   icall_directAPIMsg_t   msg;       
   951   uint_least32_t        imgTaskPriority;
   952   uint_least32_t        imgTaskStackSize;
   953   void                  *ICall_imgInitParam;
   954 } ICall_RemoteTask_t;
  1054                                       ICall_EntityID dest,
  1055                                       ICall_MSGFormat format,
  1074 ICall_Errno 
ICall_registerApp(ICall_EntityID *entity, ICall_SyncHandle *msgSyncHdl);
  1136                      ICall_ServiceEnum dest,
  1137                      ICall_MSGFormat format, 
void *msg);
  1169                       ICall_EntityID *dest,
  1185 ICall_Errno 
ICall_wait(uint_fast32_t milliseconds);
  1211                     ICall_EntityID *entity,
  1212                     ICall_SyncHandle *msgSyncHdl);
  1248                               ICall_EntityID dest,
  1249                               ICall_MSGFormat format,
  1272                                          ICall_EntityID *dest,
  1295                                                    ICall_ServiceEnum *servId);
  1575                  uint_fast16_t stacksize, 
size_t arg);
  1577 #ifdef ICALL_RTOS_SEMAPHORE_API  1592 #ifdef ICALL_RTOS_SEMAPHORE_API  1604 #ifdef ICALL_RTOS_EVENTS_API  1612 ICall_createEvent(
void);
  1621 ICall_postEvent(ICall_Event event, uint32_t events);
  1636 ICall_waitEvent(ICall_Event event, uint_fast32_t milliseconds);
  1639 #ifdef ICALL_RTOS_SEMAPHORE_API  1686                 ICall_ServiceEnum *src,
  1687                 ICall_EntityID *dest,
  1745                                             ICall_SyncHandle *msgSyncHdl)
  1750   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_REGISTER_APP;
  1770   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_MSG_ALLOC;
  1789   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_MSG_FREE;
  1836                      ICall_ServiceEnum dest,
  1837                      ICall_MSGFormat format, 
void *msg)
  1841   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_SEND_SERV_MSG;
  1879                       ICall_EntityID *dest,
  1885   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_FETCH_SERV_MSG;
  1906 static ICall_Errno 
ICall_wait(uint_fast32_t milliseconds)
  1910   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_WAIT;
  1920 static ICall_Errno 
ICall_signal(ICall_SyncHandle msgSyncHdl)
  1924   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_SIGNAL;
  1948                     ICall_EntityID *entity,
  1949                     ICall_SyncHandle *msgSyncHdl)
  1954   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_ENROLL;
  1976   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_MALLOC;
  1995   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_FREE;
  2014 static ICall_Errno 
ICall_send(ICall_EntityID src,
  2015                                      ICall_EntityID dest,
  2016                                      ICall_MSGFormat format,
  2021   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_SEND_MSG;
  2049                                          ICall_EntityID *dest,
  2055   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_FETCH_MSG;
  2084                                                    ICall_ServiceEnum *servId)
  2089   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_ENTITY2SERVICE;
  2107   HAL_ASSERT( HAL_ASSERT_CAUSE_ICALL_ABORT );
  2111   args.
func = ICALL_PRIMITIVE_FUNC_ABORT;
  2125   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_ENABLE_INT;
  2140   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_DISABLE_INT;
  2154   args.
func = ICALL_PRIMITIVE_FUNC_ENABLE_MINT;
  2167   args.
func = ICALL_PRIMITIVE_FUNC_DISABLE_MINT;
  2184   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_REGISTER_ISR;
  2195   args.
hdr.
func    = ICALL_PRIMITIVE_FUNC_REGISTER_ISR_EXT;
  2206 static uint_fast32_t
  2211   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_GET_TICKS;
  2220 static uint_fast32_t
  2225   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_GET_TICK_PERIOD;
  2236 static uint_fast32_t
  2241   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_GET_MAX_MILLISECONDS;
  2279   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_SET_TIMER_MSECS;
  2322   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_SET_TIMER;
  2343   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_STOP_TIMER;
  2369   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_UPD_ACTIVITY_COUNTER;
  2397   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_CONFIG_AC_ACTION;
  2418   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_REQUIRE;
  2439   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_DISPENSE;
  2457   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_IS_STABLE_XOSC_HF;
  2473   args.
func = ICALL_PRIMITIVE_FUNC_SWITCH_XOSC_HF;
  2487   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_GET_XOSC_STARTUP_TIME;
  2512   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_REGISTER_NOTIFY;
  2531   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_PWR_GET_TRANSITION_STATE;
  2554                  uint_fast16_t stacksize, 
size_t arg)
  2559   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_CREATE_TASK;
  2567 #ifdef ICALL_RTOS_SEMAPHORE_API  2578 static ICall_Semaphore
  2585   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_CREATE_SEMAPHORE;
  2597 #ifdef ICALL_RTOS_SEMAPHORE_API  2611   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_POST_SEMAPHORE;
  2617 #ifdef ICALL_RTOS_EVENTS_API  2625 ICall_createEvent(
void)
  2627   ICall_CreateEventArgs args;
  2631   args.hdr.func = ICALL_PRIMITIVE_FUNC_CREATE_EVENT;
  2648 ICall_postEvent(ICall_Event event, uint32_t events)
  2650   ICall_PostEventArgs args;
  2653   args.hdr.func = ICALL_PRIMITIVE_FUNC_POST_EVENT;
  2655   args.events = events;
  2672 ICall_waitEvent(ICall_Event event, uint_fast32_t milliseconds)
  2674   ICall_WaitEventArgs args;
  2677   args.hdr.func = ICALL_PRIMITIVE_FUNC_WAIT_EVENT;
  2679   args.milliseconds = milliseconds;
  2684 #ifdef ICALL_RTOS_SEMAPHORE_API  2704   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_WAIT_SEMAPHORE;
  2740                 ICall_ServiceEnum *src,
  2741                 ICall_EntityID *dest,
  2747   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_WAIT_MATCH;
  2773 static ICall_EntityID
  2779   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_GET_ENTITY_ID;
  2803   args.
hdr.
func = ICALL_PRIMITIVE_FUNC_THREAD_SERVES;
 uint_fast8_t ICall_threadServes(ICall_ServiceEnum service)
Checks whether the calling thread provides the designated service. 
 
ICall_FuncArgsHdr hdr
common arguments field to store source of the message 
Definition: icall.h:525
 
ICall_Errno ICall_createTask(void(*entryfn)(size_t arg), uint_fast8_t priority, uint_fast16_t stacksize, size_t arg)
Creates a new RTOS task. 
 
ICall_RemotiCmdEvent_t
RemoTI RNP and Remote Icall Messaging Interface Enumeration. 
Definition: icall.h:915
 
ICall_Semaphore sem
semaphore 
Definition: icall.h:692
 
void * ICall_Event
Event data type. 
Definition: icall.h:445
 
uint32_t ICall_pwrGetXOSCStartupTime(uint_fast32_t timeUntilWakeupInMs)
 
uint_least32_t timeUntilWakeupInMs
field matching timeUntilWakeupInMs argument 
Definition: icall.h:651
 
void * ICall_TimerID
Timer id data type. 
Definition: icall.h:452
 
ICall_Errno ICall_enrollService(ICall_ServiceEnum service, ICall_ServiceFunc fn, ICall_EntityID *entity, ICall_SyncHandle *msgSyncHdl)
Registers a service entity. 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:807
 
void * ICall_SyncHandle
Synchronization object data type. 
Definition: icall.h:438
 
uint_fast8_t ICall_PwrTransition
Power state transition type of the following values: 
Definition: icall.h:756
 
ICall_Errno ICall_pwrDispense(ICall_PwrBitmap_t bitmap)
Releases power constraints and dependencies. 
 
ICall_enrollService arguments 
Definition: icall.h:879
 
bool incFlag
a boolean flag to indicate either increment or decrement 
Definition: icall.h:617
 
ICall_MSGFormat format
Message format. 
Definition: icall.h:518
 
uint_least8_t mode
semaphore mode. Either ICALL_SEMAPHORE_MODE_BINARY or ICALL_SEMAPHORE_MODE_COUNTING ...
Definition: icall.h:683
 
struct _icall_thread_serves_args_t ICall_ThreadServesArgs
ICall_threadServes argument 
 
uint_least8_t localId
local entity ID 
Definition: icall.h:911
 
struct _icall_send_args_t ICall_SendArgs
ICall_sendServiceMsg and ICall_send arguments 
 
ICall_LeaveCS leavecs
leave CS 
Definition: icall.h:854
 
ICall_CSState(* ICall_EnterCS)(void)
Critical section entry function pointer type. 
Definition: icall.h:829
 
int intPriority
interrupt priority 
Definition: icall.h:589
 
void(* ICall_TimerCback)(void *arg)
Prototype of a callback function for timer. 
Definition: icall.h:476
 
int_fast16_t ICall_Errno
Error code data type. 
Definition: icall.h:426
 
ICall_Errno ICall_wait(uint_fast32_t milliseconds)
Waits for a signal to the semaphore associated with the calling thread. 
 
ICall_sendServiceMsg and ICall_send arguments 
Definition: icall.h:509
 
void(* ICall_LeaveCS)(ICall_CSState key)
Critical section exit function pointer type. 
Definition: icall.h:837
 
ICall_pwrRegisterNotify arguments 
Definition: icall.h:786
 
ICall_Errno ICall_pwrRequire(ICall_PwrBitmap_t bitmap)
Sets power constraints and dependencies. 
 
struct _icall_post_semaphore_args_t ICall_PostSemaphoreArgs
ICall_postSemaphore argument 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:650
 
uint_fast32_t ICall_getTickPeriod(void)
Gets the tick period. 
 
uint_least16_t stacksize
task priority as understood by underlying RTOS implementation 
Definition: icall.h:669
 
uint_least8_t priority
task priority as understood by underlying RTOS implementation 
Definition: icall.h:668
 
ICall_Errno ICall_enableInt(int intnum)
Enables interrupt. 
 
ICall_signal arguments 
Definition: icall.h:550
 
uint_least32_t ICall_CSState
Critical section state data type. 
Definition: icall.h:822
 
struct _icall_register_isr_args_t ICall_RegisterISRArgs
ICall_registerISR arguments 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:691
 
struct _icall_set_timer_args_t ICall_SetTimerArgs
ICall_setTimer arguments 
 
bool(* ICall_MsgMatchFn)(ICall_ServiceEnum src, ICall_EntityID dest, const void *msg)
Prototype of a function used to compare a received message for a match. 
Definition: icall.h:469
 
ICall_createTask argument 
Definition: icall.h:664
 
ICall_ServiceEnum servId
service id 
Definition: icall.h:799
 
Event for app RTI->stack RTI module. 
Definition: icall.h:919
 
ICall_EntityID entityId
entity id 
Definition: icall.h:529
 
ICall_signal arguments 
Definition: icall.h:543
 
ICall Lite Command Status. 
Definition: icall.h:929
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:632
 
ICall_stopTimer arguments 
Definition: icall.h:899
 
struct _icall_getuint32_args_t ICall_GetUint32Args
ICall_getTicks , ICall_getTickPeriod and ICall_getMaxMSecs arguments 
 
ICall_ServiceEnum servId
Service ID of destination. 
Definition: icall.h:516
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:698
 
uint_fast32_t ICall_getMaxMSecs(void)
Gets the maximum timeout period supported by ICall_setTimerMSecs function. 
 
struct _icall_wait_semaphore_args_t ICall_WaitSemaphoreArgs
ICall_waitSemaphore argument 
 
uint_least32_t value
field to store the retrieved value 
Definition: icall.h:599
 
ICall_ServiceFunc fn
handler function which handles function calls to the service 
Definition: icall.h:883
 
uint_fast8_t ICall_pwrGetTransitionState(void)
Retrieves power transition state. 
 
ICall_EntityID entity
client entity id 
Definition: icall.h:808
 
ICall_FuncID func
function id 
Definition: icall.h:482
 
struct _ICall_LiteCmdStatus_ ICall_LiteCmdStatus
ICall Lite Command Status. 
 
#define ICALL_ERRNO_SUCCESS
ICall function return value for successful operation. 
Definition: icall.h:156
 
ICall_SyncHandle msgSyncHdl
field to store the synchronous object handle associated with the calling thread 
Definition: icall.h:490
 
ICall_PwrNotifyData * obj
data object 
Definition: icall.h:790
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:563
 
void * msg
field to store the starting address of the message body 
Definition: icall.h:801
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:666
 
Power state transition notify function data object type. 
Definition: icall.h:776
 
bool pwrRequired
the result of current activity counter 
Definition: icall.h:618
 
uint_least8_t ICall_MSGFormat
Message conversion format data type. 
Definition: icall.h:432
 
union _icall_send_args_t::@0 dest
union of entity and service ID's 
 
ICall_Errno ICall_registerISR(int intnum, void(*isrfunc)(void))
Registers an interrupt service routine. 
 
uint_least16_t ICall_FuncID
Function id data type. 
Definition: icall.h:435
 
ICall_FuncArgsHdr hdr
Common arguments. 
Definition: icall.h:908
 
struct _icall_pwr_get_transition_state_args_t ICall_PwrGetTransitionStateArgs
ICall_pwrGetTransitionState arguments 
 
struct _icall_pwr_bitmap_args_t ICall_PwrBitmapArgs
ICall_pwrConfigActivityCounterAction , ICall_pwrRequire and ICall_pwrDispense arguments. 
 
ICall_pwrGetTransitionState arguments 
Definition: icall.h:639
 
struct _icall_intnum_args_t ICall_IntNumArgs
ICall_enableInt and ICall_disableInt arguments 
 
ICall_EnterCS entercs
enter CS 
Definition: icall.h:853
 
ICall_Errno ICall_setTimer(uint_fast32_t ticks, ICall_TimerCback cback, void *arg, ICall_TimerID *id)
Set up or restart a timer. Note that the timer setup initially by this function may be restarted usin...
 
ICall_pwrIsStableXOSCHF arguments 
Definition: icall.h:605
 
ICall_freeMsg or ICall_free arguments 
Definition: icall.h:502
 
ICall_postSemaphore argument 
Definition: icall.h:689
 
ICall_Errno ICall_pwrConfigACAction(ICall_PwrBitmap_t bitmap)
Configures power constraint/dependency set/release actions upon activity counter change. 
 
ICall_enableInt and ICall_disableInt arguments 
Definition: icall.h:569
 
ICall_Semaphore ICall_createSemaphore(uint_fast8_t mode, int initcount)
Creates a semaphore. 
 
void * ptr
pointer to the address of a memory block to free 
Definition: icall.h:505
 
ICall_threadServes argument 
Definition: icall.h:656
 
struct _icall_register_isr_args_ext_t ICall_RegisterISRArgs_Ext
ICall_registerISR_Ext arguments. 
 
void ICall_freeMsg(void *msg)
Frees the memory block allocated for a message. 
 
Common service function arguments. 
Definition: icall.h:479
 
ICall_EntityID entityId
Entity ID of destination. 
Definition: icall.h:515
 
ICall_Dispatcher dispatch
ICall dispatcher. 
Definition: icall.h:852
 
ICall_fetchServiceMsg and ICall_fetchMsg arguments 
Definition: icall.h:523
 
bool value
Definition: icall.h:610
 
ICall_EntityID entity
entity id 
Definition: icall.h:910
 
void ICall_createRemoteTasksAtRuntime(ICall_RemoteTask_t *remoteTaskTable, uint8_t nb_elems)
Create remote tasks with parameters define at runtime. 
 
struct _icall_register_app_args_t ICall_RegisterAppArgs
ICall_registerApp arguments 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:901
 
struct _icall_remote_task_arg_t ICall_RemoteTaskArg
Data type of the first argument passed to the entry point of an image which contains a remote task...
 
void ICall_free(void *msg)
Frees an allocated memory block. 
 
size_t arg
argument passed to the task entry function 
Definition: icall.h:670
 
ICall_registerISR_Ext arguments. 
Definition: icall.h:584
 
struct _icall_wait_match_args_t ICall_WaitMatchArgs
ICall_waitMatch arguments 
 
void * ICall_allocMsg(size_t size)
Allocates memory block for a message. 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:578
 
size_t size
size of the message body in bytes 
Definition: icall.h:497
 
struct _icall_create_task_args_t ICall_CreateTaskArgs
ICall_createTask argument 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:504
 
ICall_SyncHandle msgSyncHdl
field to store the synchronous object handle associated with the calling thread 
Definition: icall.h:885
 
ICall_Errno ICall_waitSemaphore(ICall_Semaphore sem, uint_fast32_t milliseconds)
Waits on a semaphore. 
 
ICall_EntityID entity
field to store the entity id assigned to the application 
Definition: icall.h:489
 
struct _icall_enroll_service_args_t ICall_EnrollServiceArgs
ICall_enrollService arguments 
 
#define ICALL_MSG_FUNC_GET_LOCAL_MSG_ENTITY_ID
Messaging service function id for translating ICall_entityID to locally understandable id...
Definition: icall.h:398
 
ICall_Errno ICall_disableInt(int intnum)
Disables interrupt. 
 
struct _icall_alloc_args_t ICall_AllocArgs
ICall_allocMsg or ICall_malloc arguments 
 
Data type of the first argument passed to the entry point of an image which contains a remote task...
Definition: icall.h:850
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:641
 
ICall_Errno ICall_signal(ICall_SyncHandle msgSyncHdl)
Signals a semaphore. 
 
void * msg
pointer to the message body to send 
Definition: icall.h:519
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:616
 
ICall_ServiceEnum servId
Service ID of destination. 
Definition: icall.h:659
 
ICall_Errno ICall_entityId2ServiceId(ICall_EntityID entityId, ICall_ServiceEnum *servId)
Transforms and entityId into a serviceId. Note that this function is useful in case an application wa...
 
struct _icall_get_local_msg_entity_id_args_t ICall_GetLocalMsgEntityIdArgs
ICall_getLocalMsgEntityId arguments 
 
void * ICall_malloc(uint_least16_t size)
Allocates a memory block. 
 
struct _icall_func_args_hdr_t ICall_FuncArgsHdr
Common service function arguments. 
 
ICall_Errno ICall_disableMInt(void)
Disables master interrupt and context switching. 
 
ICall_SyncHandle syncHandle
handle of a synchronous object to signal 
Definition: icall.h:546
 
struct _icall_pwr_get_xosc_startup_time_args_t ICall_PwrGetXOSCStartupTimeArgs
ICall_pwrGetXOSCStartupTime arguments 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:796
 
void * ptr
pointer to store the start address of the newly allocated memory block 
Definition: icall.h:498
 
ICall_LeaveCS ICall_leaveCriticalSection
Leave critical section function pointer of the current image. 
 
ICall_Errno ICall_abort(void)
Aborts. 
 
void(* ICall_PwrNotifyFn)(ICall_PwrTransition pwrTrans, struct _icall_pwr_notify_data_t *obj)
Definition: icall.h:770
 
#define ICALL_INVALID_ENTITY_ID
Entity ID used to indicate invalid entity. 
Definition: icall.h:137
 
ICall_EntityID dest
field to store the entity id of the destination of the message 
Definition: icall.h:531
 
ICall_getTicks , ICall_getTickPeriod and ICall_getMaxMSecs arguments 
Definition: icall.h:596
 
ICall_Errno(* ICall_ServiceFunc)(ICall_FuncArgsHdr *args)
Call dispatcher service handler function pointer type. 
Definition: icall.h:876
 
ICall_EntityID ICall_searchServiceEntity(ICall_ServiceEnum service)
Search for a service entity entry. 
 
ICall_Errno ICall_sendServiceMsg(ICall_EntityID src, ICall_ServiceEnum dest, ICall_MSGFormat format, void *msg)
Sends a message to a registered server. 
 
struct _icall_free_args_t ICall_FreeArgs
ICall_freeMsg or ICall_free arguments 
 
ICall_SyncHandle syncHandle
handle of a synchronous object to signal 
Definition: icall.h:553
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:496
 
struct _icall_entity2service_args_t ICall_EntityId2ServiceIdArgs
ICall_entityId2ServiceId arguments 
 
ICall_pwrConfigActivityCounterAction , ICall_pwrRequire and ICall_pwrDispense arguments. 
Definition: icall.h:630
 
uint_fast32_t ICall_PwrBitmap_t
Power control bitmap type. 
Definition: icall.h:624
 
ICall_PwrNotifyFn _private
a field for private use. Do not access the field. User data should follow this field. 
Definition: icall.h:782
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:598
 
uint32_t events
events 
Definition: icall.h:554
 
ICall_ServiceEnum service
service id 
Definition: icall.h:481
 
ICall_ServiceEnum servId
field to store the service id 
Definition: icall.h:565
 
ICall_Errno ICall_send(ICall_EntityID src, ICall_EntityID dest, ICall_MSGFormat format, void *msg)
Sends a message to an entity. 
 
ICall_entityId2ServiceId arguments 
Definition: icall.h:561
 
#define ICALL_SERVICE_CLASS_PRIMITIVE
Service class enumerated value for primitive service. 
Definition: icall.h:63
 
void * msg
field to store the starting address of the message body 
Definition: icall.h:532
 
ICall_Errno ICall_postSemaphore(ICall_Semaphore sem)
Post on a semaphore. 
 
uint_least32_t milliseconds
timeout period in milliseconds 
Definition: icall.h:797
 
ICall_Errno(* ICall_Dispatcher)(ICall_FuncArgsHdr *args)
Call dispatcher function pointer type. 
Definition: icall.h:817
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:488
 
struct _icall_get_entity_id_args_t ICall_GetEntityIdArgs
ICall_getEntityId arguments 
 
Event for app RTI->stack RC App. 
Definition: icall.h:917
 
void(* isrfunc)(void)
pointer to the interrupt service function 
Definition: icall.h:580
 
uint_fast8_t state
power transition state 
Definition: icall.h:642
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:658
 
uint_fast8_t ICall_getLocalMsgEntityId(ICall_ServiceEnum service, ICall_EntityID entity)
Retrieves an internal ID understood only by a service entity, corresponding to an ICall entity ID...
 
void ICall_stopTimer(ICall_TimerID id)
Stops a timer. 
 
struct _icall_getbool_args_t ICall_GetBoolArgs
ICall_pwrIsStableXOSCHF arguments 
 
int initcount
semaphore initial count value 
Definition: icall.h:684
 
struct _icall_pwr_notify_data_t ICall_PwrNotifyData
Power state transition notify function data object type. 
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:552
 
struct _icall_stop_timer_args_t ICall_StopTimerArgs
ICall_stopTimer arguments 
 
ICall_getEntityId arguments 
Definition: icall.h:805
 
ICall_allocMsg or ICall_malloc arguments 
Definition: icall.h:494
 
ICall_Errno ICall_registerISR_Ext(int intnum, void(*isrfunc)(void), int intPriority)
ICall Register ISR. 
 
ICall_Errno ICall_pwrSwitchXOSCHF(void)
Switch clock source to HF XOSC. This function must be called after HF XOSC is stable. 
 
ICall_waitMatch arguments 
Definition: icall.h:794
 
ICall_EnterCS ICall_enterCriticalSection
Enter critical section function pointer of the current image. 
 
bool ICall_pwrIsStableXOSCHF(void)
Checks whether HF XOSC is stable. This function must be called after HF XOSC is turned on (through po...
 
ICall_EntityID dest
field to store the entity id of the destination of the message 
Definition: icall.h:800
 
int_least32_t intnum
interrupt number 
Definition: icall.h:587
 
struct _icall_signal_args_t ICall_SignalArgs
ICall_signal arguments 
 
ICall_Errno ICall_pwrRegisterNotify(ICall_PwrNotifyFn fn, ICall_PwrNotifyData *obj)
Registers a power state transition notify function. 
 
ICall_Errno ICall_setTimerMSecs(uint_fast32_t msecs, ICall_TimerCback cback, void *arg, ICall_TimerID *id)
Set up or restart a timer. Note that the timer setup initially by this function may be restarted usin...
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:881
 
uint_least32_t value
field to store the retrieved value 
Definition: icall.h:652
 
ICall_wait arguments 
Definition: icall.h:536
 
ICall_Errno ICall_sendServiceComplete(ICall_EntityID src, ICall_EntityID dest, ICall_MSGFormat format, void *msg)
function to indicate that servicing an direct API call is done 
 
void ICall_createRemoteTasks(void)
Create remote tasks. 
 
struct _icall_wait_args_t ICall_WaitArgs
ICall_wait arguments 
 
ICall_TimerID timerid
timer ID 
Definition: icall.h:893
 
void * arg
pointer to an argument to be passed to the callback function 
Definition: icall.h:895
 
SYNC message from RNP app -> stack. 
Definition: icall.h:922
 
ICall_ServiceEnum service
service id 
Definition: icall.h:909
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:511
 
ICall_waitSemaphore argument 
Definition: icall.h:696
 
int_least32_t intnum
interrupt number 
Definition: icall.h:572
 
struct _icall_pwr_upd_activity_counter_args_t ICall_PwrUpdActivityCounterArgs
ICall_pwrUpdActivityCounter arguments 
 
uint_least32_t milliseconds
timeout in milliseconds 
Definition: icall.h:700
 
Event for stack RTI->app RTI module. 
Definition: icall.h:920
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:788
 
uint_least8_t cmdId
command id (applicable only to User Profile subgrp) 
Definition: icall.h:931
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:677
 
ICall_registerISR arguments 
Definition: icall.h:576
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:571
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:538
 
ICall_EntityID entityId
entity id 
Definition: icall.h:564
 
void * ICall_Semaphore
Semaphore used for ICall. 
Definition: icall.h:441
 
uint_least32_t icall_lite_id_t
ICall Lite ID. 
Definition: icall.h:926
 
void(* entryfn)(size_t arg)
task entry function 
Definition: icall.h:667
 
uint_least32_t milliseconds
timeout period in milliseconds 
Definition: icall.h:539
 
ICall_EntityID entity
field to store the assigned entity id 
Definition: icall.h:884
 
ICall_MsgMatchFn matchFn
match function 
Definition: icall.h:798
 
ICall_TimerCback cback
callback function 
Definition: icall.h:894
 
void(* isrfunc)(void)
pointer to ISR 
Definition: icall.h:588
 
struct _icall_create_semaphore_args_t ICall_CreateSemaphoreArgs
ICall_createSemaphore argument 
 
ICall_registerApp arguments 
Definition: icall.h:486
 
Event for stack->app RC App. 
Definition: icall.h:918
 
ICall_FuncArgsHdr hdr
Definition: icall.h:608
 
ICall_pwrUpdActivityCounter arguments 
Definition: icall.h:614
 
ICall_Semaphore sem
semaphore 
Definition: icall.h:699
 
uint_fast32_t ICall_getTicks(void)
Gets the current tick counter value. 
 
void ICall_init(void)
Initializes the dispatcher implementation. 
 
ICall_getLocalMsgEntityId arguments 
Definition: icall.h:906
 
ICall_ServiceEnum servId
service id 
Definition: icall.h:528
 
ICall_createSemaphore argument 
Definition: icall.h:675
 
struct _icall_pwr_register_notify_args_t ICall_PwrRegisterNotifyArgs
ICall_pwrRegisterNotify arguments 
 
uint_least8_t ICall_resetReason
Special global variable to set the reset reason by the boot code, before ICall is initialized...
 
ICall_pwrGetXOSCStartupTime arguments 
Definition: icall.h:648
 
uint_least8_t ICall_EntityID
Entity id data type. 
Definition: icall.h:449
 
int_least32_t intnum
interrupt number 
Definition: icall.h:579
 
ASYNC message from RNP app->stack. 
Definition: icall.h:921
 
ICall_Dispatcher ICall_dispatcher
Call dispatcher pointer of the current image. 
 
ICall_EntityID src
Entity id of the sender of the message Destination id. 
Definition: icall.h:512
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:586
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:545
 
struct _icall_fetch_msg_args_t ICall_FetchMsgArgs
ICall_fetchServiceMsg and ICall_fetchMsg arguments 
 
ICall_PwrNotifyFn fn
notify function to handle notification 
Definition: icall.h:789
 
ICall_Errno ICall_fetchMsg(ICall_EntityID *src, ICall_EntityID *dest, void **msg)
Retrieves a message, queued to receive queue of the calling thread. 
 
ICall_setTimer arguments 
Definition: icall.h:889
 
ICall_Errno ICall_fetchServiceMsg(ICall_ServiceEnum *src, ICall_EntityID *dest, void **msg)
Retrieves a message received at the message queue associated with the calling thread. 
 
uint_least32_t timeout
timeout period 
Definition: icall.h:892
 
ICall_ServiceEnum service
service id of the enrolling service 
Definition: icall.h:882
 
ICall_Errno ICall_enableMInt(void)
Enables master interrupt and context switching. 
 
void(* ICall_RemoteTaskEntry)(const ICall_RemoteTaskArg *arg0, void *arg1)
Service entry function prototype. 
Definition: icall.h:867
 
uint_fast8_t result
Result (true or false) 
Definition: icall.h:660
 
ICall_TimerID timerid
timer ID 
Definition: icall.h:902
 
uint_least16_t ICall_ServiceEnum
Service enumeration data type. 
Definition: icall.h:429
 
ICall_Semaphore sem
created semaphore 
Definition: icall.h:685
 
void ICall_getHeapStats(ICall_heapStats_t *stats)
Get Statistic on Heap. 
 
ICall_Errno ICall_waitMatch(uint_least32_t milliseconds, ICall_MsgMatchFn matchFn, ICall_ServiceEnum *src, ICall_EntityID *dest, void **msg)
Waits for and retrieves a message received at the message queue associated with the calling thread...
 
struct _icall_signal_events_args_t ICall_SignalEventsArgs
ICall_signal arguments 
 
uint32_t icall_directAPI(uint8_t service, icall_lite_id_t id,...)
generic variadic function to translate API id to a functional call in the stack context, 
 
union _icall_fetch_msg_args_t::@1 src
union of service and entity id's 
 
ICall_EntityID ICall_getEntityId(void)
Retrieves an entity ID of (arbitrary) one of the entities registered from the calling thread...
 
ICall_FuncArgsHdr hdr
common arguments 
Definition: icall.h:891
 
bool ICall_pwrUpdActivityCounter(bool incFlag)
Increments or decrements power activity counter. 
 
ICall_Errno ICall_registerApp(ICall_EntityID *entity, ICall_SyncHandle *msgSyncHdl)
Registers an application. 
 
ICall_PwrBitmap_t bitmap
power configuration bitmap 
Definition: icall.h:633