mirror of https://github.com/rusefi/bldc.git
Added app data handler to c-if and check function pointer
This commit is contained in:
parent
3199dd2605
commit
a5ba6b79f1
|
@ -1723,8 +1723,13 @@ disp_pos_mode commands_get_disp_pos_mode(void) {
|
||||||
return display_position_mode;
|
return display_position_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void commands_set_app_data_handler(void(*func)(unsigned char *data, unsigned int len)) {
|
bool commands_set_app_data_handler(void(*func)(unsigned char *data, unsigned int len)) {
|
||||||
|
if (utils_is_func_valid(func)) {
|
||||||
appdata_func = func;
|
appdata_func = func;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void commands_set_hw_data_handler(void(*func)(unsigned char *data, unsigned int len)) {
|
void commands_set_hw_data_handler(void(*func)(unsigned char *data, unsigned int len)) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ void commands_send_rotor_pos(float rotor_pos);
|
||||||
void commands_send_experiment_samples(float *samples, int len);
|
void commands_send_experiment_samples(float *samples, int len);
|
||||||
void commands_fwd_can_frame(int len, unsigned char *data, uint32_t id, bool is_extended);
|
void commands_fwd_can_frame(int len, unsigned char *data, uint32_t id, bool is_extended);
|
||||||
disp_pos_mode commands_get_disp_pos_mode(void);
|
disp_pos_mode commands_get_disp_pos_mode(void);
|
||||||
void commands_set_app_data_handler(void(*func)(unsigned char *data, unsigned int len));
|
bool commands_set_app_data_handler(void(*func)(unsigned char *data, unsigned int len));
|
||||||
void commands_set_hw_data_handler(void(*func)(unsigned char *data, unsigned int len));
|
void commands_set_hw_data_handler(void(*func)(unsigned char *data, unsigned int len));
|
||||||
void commands_send_app_data(unsigned char *data, unsigned int len);
|
void commands_send_app_data(unsigned char *data, unsigned int len);
|
||||||
void commands_send_hw_data(unsigned char *data, unsigned int len);
|
void commands_send_hw_data(unsigned char *data, unsigned int len);
|
||||||
|
|
|
@ -389,6 +389,9 @@ typedef struct {
|
||||||
|
|
||||||
// Settings (TODO: Add more types and also setters)
|
// Settings (TODO: Add more types and also setters)
|
||||||
float (*get_cfg_float)(CFG_PARAM p);
|
float (*get_cfg_float)(CFG_PARAM p);
|
||||||
|
|
||||||
|
// Add handler for received app data
|
||||||
|
bool (*set_app_data_handler)(void(*func)(unsigned char *data, unsigned int len));
|
||||||
} vesc_c_if;
|
} vesc_c_if;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -608,6 +608,9 @@ lbm_value ext_load_native_lib(lbm_value *args, lbm_uint argn) {
|
||||||
// Settings
|
// Settings
|
||||||
cif.cif.get_cfg_float = lib_get_cfg_float;
|
cif.cif.get_cfg_float = lib_get_cfg_float;
|
||||||
|
|
||||||
|
// Add handler for received app data
|
||||||
|
cif.cif.set_app_data_handler = commands_set_app_data_handler;
|
||||||
|
|
||||||
lib_init_done = true;
|
lib_init_done = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue