فهرست منبع

library update

Oliver Fabel 1 سال پیش
والد
کامیت
217c474e91
4فایلهای تغییر یافته به همراه28 افزوده شده و 1 حذف شده
  1. 1 1
      genhdr/mpversion.h
  2. 2 0
      genhdr/qstrdefs.generated.h
  3. 22 0
      mp_flipper_modflipperzero.c
  4. 3 0
      mp_flipper_modflipperzero.h

+ 1 - 1
genhdr/mpversion.h

@@ -1,4 +1,4 @@
 // This file was generated by py/makeversionhdr.py
 #define MICROPY_GIT_TAG "v1.23.0-preview.322.g5114f2c1e"
 #define MICROPY_GIT_HASH "5114f2c1e"
-#define MICROPY_BUILD_DATE "2024-09-04"
+#define MICROPY_BUILD_DATE "2024-09-07"

+ 2 - 0
genhdr/qstrdefs.generated.h

@@ -349,6 +349,8 @@ QDEF0(MP_QSTR___sub__, 33, 7, "__sub__")
 QDEF1(MP_QSTR___traceback__, 79, 13, "__traceback__")
 QDEF1(MP_QSTR__gpio_trigger_handler, 235, 21, "_gpio_trigger_handler")
 QDEF1(MP_QSTR__input_trigger_handler, 108, 22, "_input_trigger_handler")
+QDEF1(MP_QSTR_adc_read_pin_value, 178, 18, "adc_read_pin_value")
+QDEF1(MP_QSTR_adc_read_pin_voltage, 251, 20, "adc_read_pin_voltage")
 QDEF1(MP_QSTR_add, 68, 3, "add")
 QDEF1(MP_QSTR_bin, 224, 3, "bin")
 QDEF1(MP_QSTR_bound_method, 151, 12, "bound_method")

+ 22 - 0
mp_flipper_modflipperzero.c

@@ -520,6 +520,25 @@ static mp_obj_t flipperzero_gpio_trigger_handler(mp_obj_t pin_obj) {
 }
 static MP_DEFINE_CONST_FUN_OBJ_1(flipperzero_gpio_trigger_handler_obj, flipperzero_gpio_trigger_handler);
 
+static mp_obj_t flipperzero_adc_read_pin_value(mp_obj_t pin_obj) {
+    mp_int_t pin = mp_obj_get_int(pin_obj);
+
+    mp_int_t value = mp_flipper_adc_read_pin(pin);
+
+    return mp_obj_new_int(value);
+}
+static MP_DEFINE_CONST_FUN_OBJ_1(flipperzero_adc_read_pin_value_obj, flipperzero_adc_read_pin_value);
+
+static mp_obj_t flipperzero_adc_read_pin_voltage(mp_obj_t pin_obj) {
+    mp_int_t pin = mp_obj_get_int(pin_obj);
+
+    uint16_t value = mp_flipper_adc_read_pin(pin);
+    float voltage = mp_flipper_adc_convert_to_voltage(value);
+
+    return mp_obj_new_float(voltage);
+}
+static MP_DEFINE_CONST_FUN_OBJ_1(flipperzero_adc_read_pin_voltage_obj, flipperzero_adc_read_pin_voltage);
+
 static const mp_rom_map_elem_t flipperzero_module_globals_table[] = {
     // light
     {MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_flipperzero)},
@@ -737,6 +756,9 @@ for octave in range(9):
     {MP_ROM_QSTR(MP_QSTR_gpio_get_pin), MP_ROM_PTR(&flipperzero_gpio_get_pin_obj)},
     {MP_ROM_QSTR(MP_QSTR_on_gpio), MP_ROM_PTR(&flipperzero_on_gpio_obj)},
     {MP_ROM_QSTR(MP_QSTR__gpio_trigger_handler), MP_ROM_PTR(&flipperzero_gpio_trigger_handler_obj)},
+    // adc - functions
+    {MP_ROM_QSTR(MP_QSTR_adc_read_pin_value), MP_ROM_PTR(&flipperzero_adc_read_pin_value_obj)},
+    {MP_ROM_QSTR(MP_QSTR_adc_read_pin_voltage), MP_ROM_PTR(&flipperzero_adc_read_pin_voltage_obj)},
 };
 static MP_DEFINE_CONST_DICT(flipperzero_module_globals, flipperzero_module_globals_table);
 

+ 3 - 0
mp_flipper_modflipperzero.h

@@ -229,3 +229,6 @@ void mp_flipper_gpio_init_pin(uint8_t raw_pin, uint8_t raw_mode, uint8_t raw_pul
 void mp_flipper_gpio_set_pin(uint8_t raw_pin, bool state);
 bool mp_flipper_gpio_get_pin(uint8_t raw_pin);
 void mp_flipper_on_gpio(void* ctx);
+
+uint16_t mp_flipper_adc_read_pin(uint8_t raw_pin);
+float mp_flipper_adc_convert_to_voltage(uint16_t value);