diff options
Diffstat (limited to 'teensy')
-rw-r--r-- | teensy/modpyb.c | 6 | ||||
-rw-r--r-- | teensy/servo.h | 4 | ||||
-rw-r--r-- | teensy/teensy_hal.h | 10 |
3 files changed, 11 insertions, 9 deletions
diff --git a/teensy/modpyb.c b/teensy/modpyb.c index 0eb2a7b517..9f601e327b 100644 --- a/teensy/modpyb.c +++ b/teensy/modpyb.c @@ -272,9 +272,9 @@ STATIC mp_obj_t pyb_hid_send_report(mp_obj_t arg) { } STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_hid_send_report_obj, pyb_hid_send_report); -MP_DECLARE_CONST_FUN_OBJ(pyb_source_dir_obj); // defined in main.c -MP_DECLARE_CONST_FUN_OBJ(pyb_main_obj); // defined in main.c -MP_DECLARE_CONST_FUN_OBJ(pyb_usb_mode_obj); // defined in main.c +MP_DECLARE_CONST_FUN_OBJ_1(pyb_source_dir_obj); // defined in main.c +MP_DECLARE_CONST_FUN_OBJ_1(pyb_main_obj); // defined in main.c +MP_DECLARE_CONST_FUN_OBJ_1(pyb_usb_mode_obj); // defined in main.c STATIC const mp_map_elem_t pyb_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_pyb) }, diff --git a/teensy/servo.h b/teensy/servo.h index 5dad041138..5f1c87b693 100644 --- a/teensy/servo.h +++ b/teensy/servo.h @@ -2,6 +2,6 @@ void servo_init(void); extern const mp_obj_type_t pyb_servo_type; -MP_DECLARE_CONST_FUN_OBJ(pyb_servo_set_obj); -MP_DECLARE_CONST_FUN_OBJ(pyb_pwm_set_obj); +MP_DECLARE_CONST_FUN_OBJ_2(pyb_servo_set_obj); +MP_DECLARE_CONST_FUN_OBJ_2(pyb_pwm_set_obj); diff --git a/teensy/teensy_hal.h b/teensy/teensy_hal.h index b00b6e4ac6..80f320e0c5 100644 --- a/teensy/teensy_hal.h +++ b/teensy/teensy_hal.h @@ -118,7 +118,9 @@ void mp_hal_gpio_clock_enable(GPIO_TypeDef *gpio); void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *init); -#define GPIO_read_pin(gpio, pin) (((gpio)->PDIR >> (pin)) & 1) -#define GPIO_set_pin(gpio, pin_mask) (((gpio)->PSOR) = (pin_mask)) -#define GPIO_clear_pin(gpio, pin_mask) (((gpio)->PCOR) = (pin_mask)) -#define GPIO_read_output_pin(gpio, pin) (((gpio)->PDOR >> (pin)) & 1) +struct _pin_obj_t; +#define mp_hal_pin_obj_t const struct _pin_obj_t* +#define mp_hal_pin_high(p) (((p)->gpio->PSOR) = (p)->pin_mask) +#define mp_hal_pin_low(p) (((p)->gpio->PCOR) = (p)->pin_mask) +#define mp_hal_pin_read(p) (((p)->gpio->PDIR >> (p)->pin) & 1) +#define mp_hal_pin_write(p, v) do { if (v) { mp_hal_pin_high(p); } else { mp_hal_pin_low(p); } } while (0) |