Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
IARM_Bus_BroadcastEvent(
     IARM_BUS_IRMGR_NAME,	 	/* Owner of the Event */
     IARM_BUS_IRMGR_EVENT_IRKEY,	/* Event ID from this owner */
     (void *) &eventData, 		/* IARM_Bus_IRMgr_EventData_t */
     sizeof(eventData) 			/* Length of the eventData */
 )

...

Code Block
IARM_Bus_IRMgr_SetRepeatInterval_Param_t param;
     param. timeoutNewValue = 200;
     IARM_Bus_Call (
         IARM_BUS_IRMGR_NAME, /* Owner of the Method */
         IARM_BUS_IRMGR_API_SetRepeatInterval,/* Name of Method */
         (void *)&param, / Parameter of Method */
         sizeof(param)); /* Length of the Parameter */ 
)

...

Code Block
IARM_Bus_Call (
     IARM_BUS_IRMGR_NAME, 			/* Owner of the Method */
     IARM_BUS_IRMGR_API_SetRepeatInterval,	/* Name of Method */
     (void *)&param, 				/ Parameter of Method */
     sizeof(param)); 				/* Length of the Parameter */ 
)

...

Code Block
IRMgr_SetRepeatInterval(int newInterval) 
 {
     IARM_Bus_IRMgr_SetRepeatInterval_Param_t param;
     param.timeoutNewValue = 200;
     IARM_Bus_Call (
         IARM_BUS_IRMGR_NAME, /* Owner of the Method */
         IARM_BUS_IRMGR_API_SetRepeatInterval,/* Name of Method */
         (void *)&param, / Parameter of Method */
         sizeof(param)); /* Length of the Parameter */ 
     )
 }

...

Code Block
#define IRMgr_SetRepeatInterval(newInterval) \ 
 do {
     IARM_Bus_IRMgr_SetRepeatInterval_Param_t param;
     param. timeoutNewValue = 200;\
     IARM_Bus_Call (
         IARM_BUS_IRMGR_NAME,\ /* Owner of the Method */
         IARM_BUS_IRMGR_API_SetRepeatInterval,\/* Name of Method */
         (void *)&param,\/ Parameter of Method */
         sizeof(param));\/* Length of the Parameter */ 
     )
 }while(0);

...

Code Block
IRMgr_SetRepeatInterval(int newInterval) 
 {
     IARM_Bus_IRMgr_SetRepeatInterval_Param_t param;
     param. timeoutNewValue = 200;
     IARM_Bus_Call (
         IARM_BUS_IRMGR_NAME, /* Owner of the Method */
         IARM_BUS_IRMGR_API_SetRepeatInterval,/* Name of Method */
         (void *)&param, / Parameter of Method */
         sizeof(param)); /* Length of the Parameter */ 
     )
 }

In the IR Manager's implementation of RPC Method, we have already learned from previous sections that this RPC method is registered with 

Code Block
IARM_Result_t IARM_Bus_RegisterCall(
     _BUS_IRMGR_API_SetRepeatInterval,  /* RPC Method Name */
     _SetRepeatInterval			/* RPC Method Implementation*/ 
 )
Where _SetRepeatInterval changes the actual settings.
 static IARM_Result_t _SetRepeatInterval(void *arg)
 {
     /* First cast the argument to its target type */
     IARM_Bus_IRMgr_SetRepeatInterval_Param_t 
     *param = (IARM_Bus_IRMgr_SetRepeatInterval_Param_t *)arg;
     /* changes actual settings here */
 } 

...

Code Block
IRMgr_SetRepeatInterval(int newInterval) 
 {
     IARM_Bus_IRMgr_SetRepeatInterval_Param_t param;
     param. timeoutNewValue = 200;
     IARM_Bus_Call (
         IARM_BUS_IRMGR_NAME, 			/* Owner of the Method */
         IARM_BUS_IRMGR_API_SetRepeatInterval,	/* Name of Method */
         (void *)&param, 			/* Parameter of Method */
         sizeof(param)); 			/* Length of the Parameter */ 
     )
 } 

...