[apps/python] Add set_brightness and get_brightness in Ion module (#132)

This commit is contained in:
Yaya-Cout
2022-01-25 18:58:25 +01:00
committed by GitHub
parent 24205a7e03
commit 38614a849f
14 changed files with 56 additions and 4 deletions

View File

@@ -9,7 +9,7 @@
* - "cat build/genhdr/qstrdefs.preprocessed.h|grep '^Q'|uniq". CAUTION: the
* order is important, don't sort.
* - Insert the result below in the MicroPython QSTRs section
* - remove "QSTR(urandom)" as we renamed it to random
* - remove "QSTR(urandom)" as we renamed it to random
* - remove "QSTR(usys)" as we renamed it to sys */
// Global configuration
@@ -346,6 +346,8 @@ Q(keydown)
Q(battery)
Q(battery_level)
Q(battery_ischarging)
Q(set_brightness)
Q(get_brightness)
Q(KEY_LEFT)
Q(KEY_UP)
Q(KEY_DOWN)

View File

@@ -4,6 +4,8 @@ extern "C" {
#include <py/runtime.h>
}
#include <ion.h>
#include "apps/apps_container.h"
#include "apps/global_preferences.h"
#include "port.h"
mp_obj_t modion_keyboard_keydown(mp_obj_t key_o) {
@@ -103,3 +105,17 @@ mp_obj_t modion_get_keys() {
return result;
}
mp_obj_t modion_set_brightness(mp_obj_t brightness_mp){
uint8_t brightness = static_cast<uint8_t>(mp_obj_get_int(brightness_mp));
GlobalPreferences::sharedGlobalPreferences()->setBrightnessLevel(brightness);
Ion::Backlight::setBrightness(brightness);
micropython_port_interrupt_if_needed();
return mp_const_none;
}
mp_obj_t modion_get_brightness(){
uint8_t brightness = GlobalPreferences::sharedGlobalPreferences()->brightnessLevel();
micropython_port_interrupt_if_needed();
return mp_obj_new_int((int)brightness);
}

View File

@@ -5,4 +5,6 @@ mp_obj_t modion_battery();
mp_obj_t modion_battery_level();
mp_obj_t modion_battery_ischarging();
mp_obj_t modion_get_keys();
mp_obj_t modion_set_brightness(mp_obj_t brightness_mp);
mp_obj_t modion_get_brightness();
extern const mp_obj_type_t file_type;

View File

@@ -36,6 +36,16 @@ const mp_obj_fun_builtin_fixed_t modion_battery_ischarging_obj = {
{(mp_fun_0_t)modion_battery_ischarging}
};
const mp_obj_fun_builtin_fixed_t modion_set_brightness_obj = {
{&mp_type_fun_builtin_1},
{(mp_fun_0_t)modion_set_brightness}
};
const mp_obj_fun_builtin_fixed_t modion_get_brightness_obj = {
{&mp_type_fun_builtin_0},
{(mp_fun_0_t)modion_get_brightness}
};
extern "C" const mp_rom_map_elem_t modion_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ion) },
{ MP_ROM_QSTR(MP_QSTR_battery), MP_ROM_PTR(&modion_battery_obj) },
@@ -43,6 +53,8 @@ extern "C" const mp_rom_map_elem_t modion_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_battery_ischarging), MP_ROM_PTR(&modion_battery_ischarging_obj) },
{ MP_ROM_QSTR(MP_QSTR_keydown), MP_ROM_PTR(&modion_keyboard_keydown_obj) },
{ MP_ROM_QSTR(MP_QSTR_get_keys), MP_ROM_PTR(&modion_get_keys_obj) },
{ MP_ROM_QSTR(MP_QSTR_set_brightness), MP_ROM_PTR(&modion_set_brightness_obj) },
{ MP_ROM_QSTR(MP_QSTR_get_brightness), MP_ROM_PTR(&modion_get_brightness_obj) },
{ MP_ROM_QSTR(MP_QSTR_KEY_LEFT), MP_OBJ_NEW_SMALL_INT(Ion::Keyboard::Key::Left) },
{ MP_ROM_QSTR(MP_QSTR_KEY_UP), MP_OBJ_NEW_SMALL_INT(Ion::Keyboard::Key::Up) },
{ MP_ROM_QSTR(MP_QSTR_KEY_DOWN), MP_OBJ_NEW_SMALL_INT(Ion::Keyboard::Key::Down) },