add unblock_unboxed

This commit is contained in:
Joel Svensson 2023-04-13 16:41:25 +02:00
parent 514ed3727d
commit 651af41f12
2 changed files with 35 additions and 0 deletions

View File

@ -592,6 +592,24 @@ typedef struct {
void (*foc_set_openloop_phase)(float current, float phase);
void (*foc_set_openloop_duty)(float dutyCycle, float rpm);
void (*foc_set_openloop_duty_phase)(float dutyCycle, float phase);
// Flat values
bool (*lbm_start_flatten)(lbm_flat_value_t *v, size_t buffer_size);
bool (*lbm_finish_flatten)(lbm_flat_value_t *v);
bool (*f_cons)(lbm_flat_value_t *v);
bool (*f_sym)(lbm_flat_value_t *v, lbm_uint sym);
bool (*f_i)(lbm_flat_value_t *v, lbm_int i);
bool (*f_b)(lbm_flat_value_t *v, uint8_t b);
bool (*f_i32)(lbm_flat_value_t *v, int32_t w);
bool (*f_u32)(lbm_flat_value_t *v, uint32_t w);
bool (*f_float)(lbm_flat_value_t *v, float f);
bool (*f_i64)(lbm_flat_value_t *v, int64_t w);
bool (*f_u64)(lbm_flat_value_t *v, uint64_t w);
bool (*f_lbm_array)(lbm_flat_value_t *v, uint32_t num_elts, lbm_type t, uint8_t *data);
// Unblock unboxed
bool (*lbm_unblock_ctx_unboxed)(lbm_cid cid, lbm_value unboxed);
} vesc_c_if;
typedef struct {

View File

@ -889,6 +889,23 @@ lbm_value ext_load_native_lib(lbm_value *args, lbm_uint argn) {
cif.cif.foc_set_openloop_duty = mcpwm_foc_set_openloop_duty;
cif.cif.foc_set_openloop_duty_phase = mcpwm_foc_set_openloop_duty_phase;
//Flat values
cif.cif.lbm_start_flatten = lbm_start_flatten;
cif.cif.lbm_finish_flatten = lbm_finish_flatten;
cif.cif.f_b = f_b;
cif.cif.f_cons = f_cons;
cif.cif.f_float = f_float;
cif.cif.f_i = f_i;
cif.cif.f_i32 = f_i32;
cif.cif.f_i64 = f_i64;
cif.cif.f_lbm_array = f_lbm_array;
cif.cif.f_sym = f_sym;
cif.cif.f_u32 = f_u32;
cif.cif.f_u64 = f_u64;
//Unblock unboxed
cif.cif.lbm_unblock_ctx_unboxed = lbm_unblock_ctx_unboxed;
lib_init_done = true;
}