add hook for setting default values
Add set_defaults_hook to let application override default values.pull/52/head
parent
55df56821a
commit
236a02bfb4
|
@ -42,6 +42,7 @@ int main (void)
|
|||
.user_arg = NULL,
|
||||
.use_interrupt = 1,
|
||||
.watchdog_cnt = INT32_MAX, /* Use HW SM watchdog instead */
|
||||
.set_defaults_hook = NULL,
|
||||
.pre_state_change_hook = NULL,
|
||||
.post_state_change_hook = NULL,
|
||||
.application_hook = NULL,
|
||||
|
|
|
@ -1158,6 +1158,7 @@ void ESC_config (esc_cfg_t * cfg)
|
|||
ESCvar.mbboot[0] = mbboot0;
|
||||
ESCvar.mbboot[1] = mbboot1;
|
||||
|
||||
ESCvar.set_defaults_hook = cfg->set_defaults_hook;
|
||||
ESCvar.pre_state_change_hook = cfg->pre_state_change_hook;
|
||||
ESCvar.post_state_change_hook = cfg->post_state_change_hook;
|
||||
ESCvar.application_hook = cfg->application_hook;
|
||||
|
|
|
@ -238,6 +238,7 @@ typedef struct esc_cfg
|
|||
void * user_arg;
|
||||
int use_interrupt;
|
||||
int watchdog_cnt;
|
||||
void (*set_defaults_hook) (void);
|
||||
void (*pre_state_change_hook) (uint8_t * as, uint8_t * an);
|
||||
void (*post_state_change_hook) (uint8_t * as, uint8_t * an);
|
||||
void (*application_hook) (void);
|
||||
|
@ -352,6 +353,7 @@ typedef struct
|
|||
int use_interrupt;
|
||||
sm_cfg_t mb[2];
|
||||
sm_cfg_t mbboot[2];
|
||||
void (*set_defaults_hook) (void);
|
||||
void (*pre_state_change_hook) (uint8_t * as, uint8_t * an);
|
||||
void (*post_state_change_hook) (uint8_t * as, uint8_t * an);
|
||||
void (*application_hook) (void);
|
||||
|
|
|
@ -1076,6 +1076,7 @@ void COE_initDefaultValues (void)
|
|||
int n;
|
||||
uint8_t maxsub;
|
||||
|
||||
/* Set default values from object descriptor */
|
||||
for (n = 0; SDOobjects[n].index != 0xffff; n++)
|
||||
{
|
||||
objd = SDOobjects[n].objdesc;
|
||||
|
@ -1092,6 +1093,12 @@ void COE_initDefaultValues (void)
|
|||
}
|
||||
} while (objd[i++].subindex < maxsub);
|
||||
}
|
||||
|
||||
/* Let application override default values */
|
||||
if (ESCvar.set_defaults_hook != NULL)
|
||||
{
|
||||
ESCvar.set_defaults_hook();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue