Code: Select all
STATIC mp_obj_t init_function(mp_obj_t self_in, mp_hal_pin_obj_t trigger, mp_hal_pin_obj_t echo) {
hcsr04_class_obj_t *self = MP_OBJ_TO_PTR(self_in);
self->trigger=trigger;
self->echo=echo;
mp_hal_pin_config(self->trigger, MP_HAL_PIN_MODE_OUTPUT, MP_HAL_PIN_PULL_NONE, 0);
mp_hal_pin_write(self->trigger, 0);
mp_hal_pin_config(self->echo, MP_HAL_PIN_MODE_OUTPUT, MP_HAL_PIN_PULL_NONE, 0);
return mp_obj_new_float(1);
}
Code: Select all
MP_DEFINE_CONST_FUN_OBJ_3(init_function_obj, init_function);
Code: Select all
../../../modules/ophyra_hcsr04/ophyra_hcsr04.c: At top level:
../../../modules/ophyra_hcsr04/ophyra_hcsr04.c:98:46: error: initialization of 'void * (*)(void *, void *, void *)' from incompatible pointer type 'void * (*)(void *, pin_obj_t, pin_obj_t)' [-Werror=incompatible-pointer-types]
98 | MP_DEFINE_CONST_FUN_OBJ_3(init_function_obj, init_function);
| ^~~~~~~~~~~~~
../../py/obj.h:343:42: note: in definition of macro 'MP_DEFINE_CONST_FUN_OBJ_3'
343 | {{&mp_type_fun_builtin_3}, .fun._3 = fun_name}
| ^~~~~~~~
../../../modules/ophyra_hcsr04/ophyra_hcsr04.c:98:46: note: (near initialization for 'init_function_obj.fun._3')
98 | MP_DEFINE_CONST_FUN_OBJ_3(init_function_obj, init_function);
| ^~~~~~~~~~~~~
../../py/obj.h:343:42: note: in definition of macro 'MP_DEFINE_CONST_FUN_OBJ_3'
343 | {{&mp_type_fun_builtin_3}, .fun._3 = fun_name}
| ^~~~~~~~
cc1.exe: all warnings being treated as errors
make: *** [../../py/mkrules.mk:77: build-OPHYRA/ophyra_hcsr04/ophyra_hcsr04.o] Error 1
make: *** Waiting for unfinished jobs...