micropython 273 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. commit 9fd53bc141006058c2b441602c0b7b254bbf9200
  2. Author: Oliver Fabel <28701799+ofabel@users.noreply.github.com>
  3. Date: Wed Sep 4 06:14:47 2024 +0200
  4. library update
  5. diff --git a/mp_flipper_modflipperzero.c b/mp_flipper_modflipperzero.c
  6. index 4d7e1bea5..4ffaa4e3f 100644
  7. --- a/mp_flipper_modflipperzero.c
  8. +++ b/mp_flipper_modflipperzero.c
  9. @@ -470,18 +470,20 @@ static MP_DEFINE_CONST_FUN_OBJ_0(flipperzero_dialog_message_clear_obj, flipperze
  10. static void* mp_flipper_on_gpio_callback = NULL;
  11. static mp_obj_t flipperzero_gpio_init_pin(size_t n_args, const mp_obj_t* args) {
  12. - if(n_args != 2) {
  13. - return mp_const_none;
  14. + if(n_args < 2) {
  15. + return mp_const_false;
  16. }
  17. mp_int_t pin = mp_obj_get_int(args[0]);
  18. mp_int_t mode = mp_obj_get_int(args[1]);
  19. + mp_int_t pull = n_args > 2 ? mp_obj_get_int(args[2]) : MP_FLIPPER_GPIO_PULL_NO;
  20. + mp_int_t speed = n_args > 3 ? mp_obj_get_int(args[3]) : MP_FLIPPER_GPIO_SPEED_LOW;
  21. - mp_flipper_gpio_init_pin(pin, mode);
  22. + mp_flipper_gpio_init_pin(pin, mode, pull, speed);
  23. - return mp_const_none;
  24. + return mp_const_true;
  25. }
  26. -static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(flipperzero_gpio_init_pin_obj, 2, 2, flipperzero_gpio_init_pin);
  27. +static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(flipperzero_gpio_init_pin_obj, 2, 4, flipperzero_gpio_init_pin);
  28. static mp_obj_t flipperzero_gpio_set_pin(mp_obj_t pin_obj, mp_obj_t state_obj) {
  29. mp_int_t pin = mp_obj_get_int(pin_obj);
  30. diff --git a/mp_flipper_modflipperzero.h b/mp_flipper_modflipperzero.h
  31. index fbce66ede..bd684a226 100644
  32. --- a/mp_flipper_modflipperzero.h
  33. +++ b/mp_flipper_modflipperzero.h
  34. @@ -225,7 +225,7 @@ void mp_flipper_dialog_message_clear();
  35. #define MP_FLIPPER_GPIO_SPEED_HIGH (2)
  36. #define MP_FLIPPER_GPIO_SPEED_VERY_HIGH (3)
  37. -void mp_flipper_gpio_init_pin(uint8_t raw_pin, uint8_t raw_mode);
  38. +void mp_flipper_gpio_init_pin(uint8_t raw_pin, uint8_t raw_mode, uint8_t raw_pull, uint8_t raw_speed);
  39. void mp_flipper_gpio_set_pin(uint8_t raw_pin, bool state);
  40. bool mp_flipper_gpio_get_pin(uint8_t raw_pin);
  41. void mp_flipper_on_gpio(void* ctx);