| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #include "matrix.h"
- #include "i2c_master.h"
- #include "led_matrix.h"
- #include "suspend.h"
- /** \brief Suspend idle
- *
- * FIXME: needs doc
- */
- void suspend_idle(uint8_t time) {
- /* Note: Not used anywhere currently */
- }
- /** \brief Run user level Power down
- *
- * FIXME: needs doc
- */
- __attribute__ ((weak))
- void suspend_power_down_user (void) {
- }
- /** \brief Run keyboard level Power down
- *
- * FIXME: needs doc
- */
- __attribute__ ((weak))
- void suspend_power_down_kb(void) {
- suspend_power_down_user();
- }
- /** \brief Suspend power down
- *
- * FIXME: needs doc
- */
- void suspend_power_down(void)
- {
- #ifdef RGB_MATRIX_ENABLE
- I2C3733_Control_Set(0); //Disable LED driver
- #endif
- suspend_power_down_kb();
- }
- __attribute__ ((weak)) void matrix_power_up(void) {}
- __attribute__ ((weak)) void matrix_power_down(void) {}
- bool suspend_wakeup_condition(void) {
- matrix_power_up();
- matrix_scan();
- matrix_power_down();
- for (uint8_t r = 0; r < MATRIX_ROWS; r++) {
- if (matrix_get_row(r)) return true;
- }
- return false;
- }
- /** \brief run user level code immediately after wakeup
- *
- * FIXME: needs doc
- */
- __attribute__ ((weak))
- void suspend_wakeup_init_user(void) {
- }
- /** \brief run keyboard level code immediately after wakeup
- *
- * FIXME: needs doc
- */
- __attribute__ ((weak))
- void suspend_wakeup_init_kb(void) {
- suspend_wakeup_init_user();
- }
- /** \brief run immediately after wakeup
- *
- * FIXME: needs doc
- */
- void suspend_wakeup_init(void) {
- #ifdef RGB_MATRIX_ENABLE
- #ifdef USE_MASSDROP_CONFIGURATOR
- if (led_enabled) {
- I2C3733_Control_Set(1);
- }
- #else
- I2C3733_Control_Set(1);
- #endif
- #endif
- suspend_wakeup_init_kb();
- }
|